summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname450
-rw-r--r--FILES.byname.gzbin2517949 -> 2519341 bytes
-rw-r--r--FILES.last07days415
-rw-r--r--biblio/ctan-bibdata/ctan.bib24
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3660945 -> 3662535 bytes
-rw-r--r--graphics/metapost/contrib/macros/mpchess/LICENSE4
-rw-r--r--graphics/metapost/contrib/macros/mpchess/README.md11
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/ctan.bib77658
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdfbin869585 -> 1001080 bytes
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex417
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdfbin871776 -> 1004454 bytes
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex431
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex165
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/test.fen1
-rw-r--r--graphics/metapost/contrib/macros/mpchess/doc/test.pgn1
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp3
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp54
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp10
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp41
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pieces.mp366
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess-staunty.mp1066
-rw-r--r--graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp48
-rw-r--r--info/context-notes-zh-cn/LICENSE674
-rw-r--r--info/context-notes-zh-cn/README12
-rw-r--r--info/context-notes-zh-cn/README.md1
-rw-r--r--info/context-notes-zh-cn/ctxnotes.pdfbin738337 -> 2002991 bytes
-rw-r--r--info/context-notes-zh-cn/src/01.tex236
-rw-r--r--info/context-notes-zh-cn/src/02.tex255
-rw-r--r--info/context-notes-zh-cn/src/03.tex327
-rw-r--r--info/context-notes-zh-cn/src/04.tex186
-rw-r--r--info/context-notes-zh-cn/src/05.tex146
-rw-r--r--info/context-notes-zh-cn/src/06.tex179
-rw-r--r--info/context-notes-zh-cn/src/07.tex179
-rw-r--r--info/context-notes-zh-cn/src/08.tex281
-rw-r--r--info/context-notes-zh-cn/src/09.tex295
-rw-r--r--info/context-notes-zh-cn/src/10.tex276
-rw-r--r--info/context-notes-zh-cn/src/11.tex810
-rw-r--r--info/context-notes-zh-cn/src/12.tex280
-rw-r--r--info/context-notes-zh-cn/src/13.tex271
-rw-r--r--info/context-notes-zh-cn/src/Makefile22
-rw-r--r--info/context-notes-zh-cn/src/basis.tex246
-rw-r--r--info/context-notes-zh-cn/src/bib-style.tex80
-rw-r--r--info/context-notes-zh-cn/src/bibl-lyr.tex77
-rw-r--r--info/context-notes-zh-cn/src/bibliography.bib53
-rw-r--r--info/context-notes-zh-cn/src/cover.tex78
-rw-r--r--info/context-notes-zh-cn/src/ctxnotes.bib101
-rw-r--r--info/context-notes-zh-cn/src/ctxnotes.tex104
-rw-r--r--info/context-notes-zh-cn/src/doc-env.tex315
-rw-r--r--info/context-notes-zh-cn/src/example/slides.tex28
-rw-r--r--info/context-notes-zh-cn/src/example/style.tex52
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdfbin0 -> 5697 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdfbin0 -> 7465 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdfbin0 -> 49791 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb.pdfbin0 -> 5697 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-metapost.pdfbin0 -> 8520 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-2.pdfbin0 -> 10334 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-3.pdfbin0 -> 8986 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-4.pdfbin0 -> 9125 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-5.pdfbin0 -> 9096 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-6.pdfbin0 -> 9171 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-7.pdfbin0 -> 9535 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-8.pdfbin0 -> 9534 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list.pdfbin0 -> 9536 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-01.pdfbin0 -> 49780 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-02.pdfbin0 -> 10311 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-03.pdfbin0 -> 8190 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-04.pdfbin0 -> 8569 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-05.pdfbin0 -> 9205 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-three-line-table.pdfbin0 -> 9141 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdfbin0 -> 7327 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdfbin0 -> 17332 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdfbin0 -> 18967 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdfbin0 -> 18945 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdfbin0 -> 11612 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-1.pdfbin0 -> 6085 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-2.pdfbin0 -> 6342 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-3.pdfbin0 -> 8381 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-4.pdfbin0 -> 5575 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-watermark.pngbin0 -> 71998 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-layout-1.pdfbin0 -> 9908 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-1.pdfbin0 -> 9421 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-2.pdfbin0 -> 14431 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-3.pdfbin0 -> 12839 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-4.pdfbin0 -> 26414 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/13-bookmarks.pngbin0 -> 91322 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/13-toc-2.pdfbin0 -> 6105 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/13-toc.pdfbin0 -> 6054 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg1235
-rw-r--r--info/context-notes-zh-cn/src/figures/aligned-1.pdfbin0 -> 3333 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/aligned-2.pdfbin0 -> 7408 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/bad-latin.pdfbin0 -> 8311 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-1.pdfbin0 -> 7736 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-2.pdfbin0 -> 7754 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-3.pdfbin0 -> 7793 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-4.pdfbin0 -> 7776 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-5.pdfbin0 -> 13115 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/cmd-window.pngbin0 -> 23633 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/ctxnotes-2.pngbin0 -> 19843 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/ctxnotes.pngbin0 -> 32313 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/defaultfonts.pdfbin0 -> 31097 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/fakewords.pdfbin0 -> 3506 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/fallbacks.pdfbin0 -> 19558 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/fontsize-level.pdfbin0 -> 5056 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/foo.pdfbin0 -> 5906 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hello.pngbin0 -> 6557 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert-1.pdfbin0 -> 23993 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert-2.pdfbin0 -> 23976 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert-3.pdfbin0 -> 24494 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert.pdfbin0 -> 26055 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/indenting-1.pdfbin0 -> 8168 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/indenting-2.pdfbin0 -> 8168 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/letter.pdfbin0 -> 11003 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/lines.pdfbin0 -> 3941 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/linux-terminal-icon.pngbin0 -> 16045 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdfbin0 -> 66096 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/msfonts.pngbin0 -> 62524 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/none-zhfonts.pdfbin0 -> 28173 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pagenumber.pngbin0 -> 22295 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/parindentcolor.pdfbin0 -> 4668 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-2.pdfbin0 -> 4612 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-3.pdfbin0 -> 4671 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-4.pdfbin0 -> 4656 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-5.pdfbin0 -> 4678 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars.pdfbin0 -> 3506 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/qian.pdfbin0 -> 11728 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/search.pngbin0 -> 29154 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/setupbodyfont.pdfbin0 -> 8166 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/slides-finished.pdfbin0 -> 35012 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/slides.pdfbin0 -> 34689 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/starting-area.pdfbin0 -> 5909 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/style-file.pngbin0 -> 114762 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/tex-root.pngbin0 -> 30218 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/true-words.pdfbin0 -> 6128 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/win-r.jpgbin0 -> 150002 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-2.pdfbin0 -> 10503 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-3.pdfbin0 -> 10501 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-4.pdfbin0 -> 13028 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-5.pdfbin0 -> 13022 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu.pdfbin0 -> 10127 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts-01.pdfbin0 -> 9993 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts-02.pdfbin0 -> 9472 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts-03.pdfbin0 -> 14420 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts.pdfbin0 -> 28688 bytes
-rw-r--r--info/context-notes-zh-cn/src/fonts.tex219
-rw-r--r--info/context-notes-zh-cn/src/layout.tex233
-rw-r--r--info/context-notes-zh-cn/src/metafun.tex463
-rw-r--r--info/context-notes-zh-cn/src/postscript.tex13
-rw-r--r--info/context-notes-zh-cn/src/preface.tex23
-rw-r--r--info/context-notes-zh-cn/src/project.tex67
-rw-r--r--info/context-notes-zh-cn/src/references.tex362
-rw-r--r--info/context-notes-zh-cn/src/t-layout.tex411
-rw-r--r--info/context-notes-zh-cn/src/t-zhfonts.lua272
-rw-r--r--info/context-notes-zh-cn/src/t-zhfonts.mkiv37
-rw-r--r--info/context-notes-zh-cn/src/t-zhspuncs.lua178
-rw-r--r--info/context-notes-zh-cn/src/zhfonts.tex153
-rw-r--r--macros/latex/contrib/songproj/Makefile8
-rwxr-xr-xmacros/latex/contrib/songproj/song2tex.py26
-rw-r--r--macros/latex/contrib/songproj/songproj.dtx67
-rw-r--r--macros/latex/contrib/songproj/songproj.pdfbin100783 -> 131017 bytes
-rw-r--r--macros/latex/contrib/wargame/README.md49
-rw-r--r--macros/latex/contrib/wargame/doc/compat.pdfbin432806 -> 432819 bytes
-rw-r--r--macros/latex/contrib/wargame/doc/symbols.pdfbin184493 -> 184525 bytes
-rw-r--r--macros/latex/contrib/wargame/doc/tutorial/Makefile15
-rw-r--r--macros/latex/contrib/wargame/doc/tutorial/export.tex199
-rw-r--r--macros/latex/contrib/wargame/doc/tutorial/game.pdfbin583838 -> 588181 bytes
-rw-r--r--macros/latex/contrib/wargame/doc/tutorial/game.sty42
-rw-r--r--macros/latex/contrib/wargame/doc/tutorial/game.tex27
-rw-r--r--macros/latex/contrib/wargame/doc/tutorial/patch.py50
-rw-r--r--macros/latex/contrib/wargame/doc/wargame.pdfbin1310006 -> 1444437 bytes
-rw-r--r--macros/latex/contrib/wargame/source/Makefile46
-rw-r--r--macros/latex/contrib/wargame/source/chit/battle.dtx77
-rw-r--r--macros/latex/contrib/wargame/source/chit/core.dtx8
-rw-r--r--macros/latex/contrib/wargame/source/chit/dice.dtx286
-rw-r--r--macros/latex/contrib/wargame/source/chit/elements.dtx33
-rw-r--r--macros/latex/contrib/wargame/source/chit/misc.dtx429
-rw-r--r--macros/latex/contrib/wargame/source/chit/modifiers.dtx42
-rw-r--r--macros/latex/contrib/wargame/source/chit/oob.dtx172
-rw-r--r--macros/latex/contrib/wargame/source/chit/shape.dtx220
-rw-r--r--macros/latex/contrib/wargame/source/chit/stack.dtx54
-rw-r--r--macros/latex/contrib/wargame/source/chit/table.dtx176
-rw-r--r--macros/latex/contrib/wargame/source/hex/board.dtx393
-rw-r--r--macros/latex/contrib/wargame/source/hex/coord.dtx39
-rw-r--r--macros/latex/contrib/wargame/source/hex/core.dtx1
-rw-r--r--macros/latex/contrib/wargame/source/hex/extra.dtx2
-rw-r--r--macros/latex/contrib/wargame/source/hex/paths.dtx100
-rw-r--r--macros/latex/contrib/wargame/source/hex/ridges.dtx80
-rw-r--r--macros/latex/contrib/wargame/source/hex/shape.dtx105
-rw-r--r--macros/latex/contrib/wargame/source/hex/split.dtx517
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain.dtx13
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/beach.dtx10
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/city.dtx3
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx4
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx4
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/rough.dtx4
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx4
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/town.dtx4
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/village.dtx4
-rw-r--r--macros/latex/contrib/wargame/source/hex/terrain/woods.dtx4
-rw-r--r--macros/latex/contrib/wargame/source/hex/towns.dtx11
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx24
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/shape.dtx19
-rw-r--r--macros/latex/contrib/wargame/source/util/bb.dtx226
-rw-r--r--macros/latex/contrib/wargame/source/util/compound.dtx242
-rw-r--r--macros/latex/contrib/wargame/source/util/core.dtx1340
-rw-r--r--macros/latex/contrib/wargame/source/util/export.dtx817
-rw-r--r--macros/latex/contrib/wargame/source/util/icons.dtx118
-rw-r--r--macros/latex/contrib/wargame/source/util/misc.dtx145
-rw-r--r--macros/latex/contrib/wargame/source/util/randomid.dtx22
-rw-r--r--macros/latex/contrib/wargame/source/util/tikz.dtx196
-rwxr-xr-xmacros/latex/contrib/wargame/source/utils/wgexport.py14663
-rwxr-xr-xmacros/latex/contrib/wargame/source/utils/wgsvg2tikz.py2
-rw-r--r--macros/latex/contrib/wargame/source/wargame.dtx265
-rw-r--r--macros/latex/contrib/wargame/source/wargame.ins28
-rw-r--r--macros/luatex/generic/luavlna/README.md2
-rw-r--r--macros/luatex/generic/luavlna/luavlna-doc.pdfbin92320 -> 92324 bytes
-rw-r--r--macros/luatex/generic/luavlna/luavlna.lua40
-rw-r--r--macros/luatex/generic/luavlna/luavlna.sty7
-rw-r--r--macros/luatex/generic/luavlna/luavlna.tex5
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb244
-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.xzbin2433496 -> 2433680 bytes
-rw-r--r--timestamp2
225 files changed, 24185 insertions, 87964 deletions
diff --git a/FILES.byname b/FILES.byname
index deafc1f0c2..ef803b2441 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2047,12 +2047,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/03/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/03/29 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/03/28 | 2773326 | biblio/ctan-bibdata/ctan.bib
-2023/03/28 | 3658715 | biblio/ctan-bibdata/ctan.pdf
+2023/03/29 | 2773326 | biblio/ctan-bibdata/ctan.bib
+2023/03/29 | 3660945 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/03/28 | 4056028 | biblio/ctan-bibdata.zip
+2023/03/29 | 4057600 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5408,7 +5408,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/03/28 | 117161 | FILES.last07days
+2023/03/29 | 494526 | 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
@@ -157540,22 +157540,25 @@
2001/06/25 | 3587 | graphics/metapost/contrib/macros/mpattern/README.PL
2001/06/25 | 3781 | graphics/metapost/contrib/macros/mpattern/test.mp
2006/03/19 | 33146 | graphics/metapost/contrib/macros/mpattern.zip
-2023/03/24 | 2769040 | graphics/metapost/contrib/macros/mpchess/doc/ctan.bib
-2023/03/24 | 1309 | graphics/metapost/contrib/macros/mpchess/doc/fond.pdf
-2023/03/24 | 869585 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
-2023/03/24 | 37532 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
-2023/03/24 | 871776 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
-2023/03/24 | 39827 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
-2023/03/24 | 413 | graphics/metapost/contrib/macros/mpchess/LICENSE
-2023/03/24 | 41574 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp
-2023/03/24 | 14344 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
-2023/03/24 | 2112 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp
-2023/03/24 | 33514 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
-2023/03/24 | 8920 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp
-2023/03/24 | 15233 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-skak.mp
-2023/03/24 | 66778 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-staunty.mp
-2023/03/24 | 1649 | graphics/metapost/contrib/macros/mpchess/README.md
-2023/03/25 | 1915865 | graphics/metapost/contrib/macros/mpchess.zip
+2023/03/29 | 3043 | graphics/metapost/contrib/macros/mpchess/doc/ctan.bib
+2023/03/29 | 1309 | graphics/metapost/contrib/macros/mpchess/doc/fond.pdf
+2023/03/29 | 1001080 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
+2023/03/29 | 38629 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
+2023/03/29 | 1004454 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
+2023/03/29 | 41234 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
+2023/03/29 | 5617 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex
+2023/03/29 | 62 | graphics/metapost/contrib/macros/mpchess/doc/test.fen
+2023/03/29 | 42 | graphics/metapost/contrib/macros/mpchess/doc/test.pgn
+2023/03/29 | 415 | graphics/metapost/contrib/macros/mpchess/LICENSE
+2023/03/29 | 41667 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp
+2023/03/29 | 15745 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
+2023/03/29 | 2264 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp
+2023/03/29 | 33813 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
+2023/03/29 | 9746 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp
+2023/03/29 | 22071 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pieces.mp
+2023/03/29 | 15233 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-skak.mp
+2023/03/29 | 1790 | graphics/metapost/contrib/macros/mpchess/README.md
+2023/03/29 | 1641937 | graphics/metapost/contrib/macros/mpchess.zip
2011/07/15 | 466 | graphics/metapost/contrib/macros/mpcolornames/doc/metapost/mpcolornames/CHANGES
2011/07/15 | 405 | graphics/metapost/contrib/macros/mpcolornames/doc/metapost/mpcolornames/expl-array-index.mp
2011/07/15 | 652 | graphics/metapost/contrib/macros/mpcolornames/doc/metapost/mpcolornames/fig-clash-svg-dvips.mp
@@ -166832,28 +166835,131 @@
1992/09/27 | 927 | info/components-of-TeX/README
1992/09/27 | 2102 | info/components-of-TeX/texrep.sty
2006/10/23 | 108528 | info/components-of-TeX.zip
-2011/06/28 | 738337 | info/context-notes-zh-cn/ctxnotes.pdf
-2011/06/28 | 478 | info/context-notes-zh-cn/README
-2011/06/28 | 16108 | info/context-notes-zh-cn/src/basis.tex
-2011/06/28 | 1310 | info/context-notes-zh-cn/src/bibliography.bib
-2011/06/28 | 1767 | info/context-notes-zh-cn/src/bibl-lyr.tex
-2011/06/28 | 2318 | info/context-notes-zh-cn/src/ctxnotes.tex
-2011/06/28 | 4043 | info/context-notes-zh-cn/src/doc-env.tex
-2009/07/06 | 33739 | info/context-notes-zh-cn/src/figures/bookmark.png
-2009/07/06 | 5526 | info/context-notes-zh-cn/src/figures/cow.pdf
-2009/07/06 | 59719 | info/context-notes-zh-cn/src/figures/gardeninglion.jpg
-2009/07/06 | 30981 | info/context-notes-zh-cn/src/figures/header.png
-2011/06/28 | 10744 | info/context-notes-zh-cn/src/fonts.tex
-2011/06/28 | 11280 | info/context-notes-zh-cn/src/layout.tex
-2009/07/06 | 350 | info/context-notes-zh-cn/src/Makefile
-2009/07/06 | 20956 | info/context-notes-zh-cn/src/metafun.tex
-2011/06/28 | 3060 | info/context-notes-zh-cn/src/project.tex
-2011/06/28 | 20231 | info/context-notes-zh-cn/src/references.tex
-2007/06/27 | 12169 | info/context-notes-zh-cn/src/t-layout.tex
-2011/06/28 | 11206 | info/context-notes-zh-cn/src/t-zhfonts.lua
-2011/06/28 | 849 | info/context-notes-zh-cn/src/t-zhfonts.mkiv
-2011/06/28 | 5406 | info/context-notes-zh-cn/src/t-zhspuncs.lua
-2011/06/29 | 876390 | info/context-notes-zh-cn.zip
+2023/03/29 | 2002991 | info/context-notes-zh-cn/ctxnotes.pdf
+2023/03/28 | 35149 | info/context-notes-zh-cn/LICENSE
+2023/03/29 | 434 | info/context-notes-zh-cn/README.md
+2023/03/28 | 14640 | info/context-notes-zh-cn/src/01.tex
+2023/03/28 | 10923 | info/context-notes-zh-cn/src/02.tex
+2023/03/29 | 21406 | info/context-notes-zh-cn/src/03.tex
+2023/03/28 | 10446 | info/context-notes-zh-cn/src/04.tex
+2023/03/28 | 5761 | info/context-notes-zh-cn/src/05.tex
+2023/03/28 | 7211 | info/context-notes-zh-cn/src/06.tex
+2023/03/28 | 5908 | info/context-notes-zh-cn/src/07.tex
+2023/03/28 | 13523 | info/context-notes-zh-cn/src/08.tex
+2023/03/28 | 10785 | info/context-notes-zh-cn/src/09.tex
+2023/03/28 | 12750 | info/context-notes-zh-cn/src/10.tex
+2023/03/28 | 32305 | info/context-notes-zh-cn/src/11.tex
+2023/03/28 | 13190 | info/context-notes-zh-cn/src/12.tex
+2023/03/29 | 10094 | info/context-notes-zh-cn/src/13.tex
+2023/03/28 | 171 | info/context-notes-zh-cn/src/basis.tex
+2023/03/28 | 1870 | info/context-notes-zh-cn/src/bib-style.tex
+2023/03/29 | 2241 | info/context-notes-zh-cn/src/cover.tex
+2023/03/29 | 2241 | info/context-notes-zh-cn/src/ctxnotes.bib
+2023/03/29 | 774 | info/context-notes-zh-cn/src/ctxnotes.tex
+2023/03/29 | 5737 | info/context-notes-zh-cn/src/doc-env.tex
+2023/03/28 | 813 | info/context-notes-zh-cn/src/example/slides.tex
+2023/03/28 | 1919 | info/context-notes-zh-cn/src/example/style.tex
+2023/03/28 | 5697 | info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf
+2023/03/28 | 7465 | info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf
+2023/03/28 | 49791 | info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf
+2023/03/28 | 5697 | info/context-notes-zh-cn/src/figures/05-floatcomb.pdf
+2023/03/28 | 8520 | info/context-notes-zh-cn/src/figures/05-metapost.pdf
+2023/03/28 | 10334 | info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf
+2023/03/28 | 8986 | info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf
+2023/03/28 | 9125 | info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf
+2023/03/28 | 9096 | info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf
+2023/03/28 | 9171 | info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf
+2023/03/28 | 9535 | info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf
+2023/03/28 | 9534 | info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf
+2023/03/28 | 9536 | info/context-notes-zh-cn/src/figures/05-todo-list.pdf
+2023/03/28 | 49780 | info/context-notes-zh-cn/src/figures/06-01.pdf
+2023/03/28 | 10311 | info/context-notes-zh-cn/src/figures/06-02.pdf
+2023/03/28 | 8190 | info/context-notes-zh-cn/src/figures/06-03.pdf
+2023/03/28 | 8569 | info/context-notes-zh-cn/src/figures/06-04.pdf
+2023/03/28 | 9205 | info/context-notes-zh-cn/src/figures/06-05.pdf
+2023/03/28 | 9141 | info/context-notes-zh-cn/src/figures/06-three-line-table.pdf
+2023/03/28 | 7327 | info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf
+2023/03/28 | 17332 | info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf
+2023/03/28 | 18967 | info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf
+2023/03/28 | 18945 | info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf
+2023/03/28 | 11612 | info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf
+2023/03/28 | 6085 | info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf
+2023/03/28 | 6342 | info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf
+2023/03/28 | 8381 | info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf
+2023/03/28 | 5575 | info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf
+2023/03/28 | 71998 | info/context-notes-zh-cn/src/figures/11-watermark.png
+2023/03/28 | 9908 | info/context-notes-zh-cn/src/figures/12-layout-1.pdf
+2023/03/28 | 9421 | info/context-notes-zh-cn/src/figures/12-slides-1.pdf
+2023/03/28 | 14431 | info/context-notes-zh-cn/src/figures/12-slides-2.pdf
+2023/03/28 | 12839 | info/context-notes-zh-cn/src/figures/12-slides-3.pdf
+2023/03/28 | 26414 | info/context-notes-zh-cn/src/figures/12-slides-4.pdf
+2023/03/28 | 91322 | info/context-notes-zh-cn/src/figures/13-bookmarks.png
+2023/03/28 | 6105 | info/context-notes-zh-cn/src/figures/13-toc-2.pdf
+2023/03/28 | 6054 | info/context-notes-zh-cn/src/figures/13-toc.pdf
+2023/03/28 | 3333 | info/context-notes-zh-cn/src/figures/aligned-1.pdf
+2023/03/28 | 7408 | info/context-notes-zh-cn/src/figures/aligned-2.pdf
+2023/03/28 | 8311 | info/context-notes-zh-cn/src/figures/bad-latin.pdf
+2023/03/24 | 33739 | info/context-notes-zh-cn/src/figures/bookmark.png
+2023/03/28 | 7736 | info/context-notes-zh-cn/src/figures/breakinglines-1.pdf
+2023/03/28 | 7754 | info/context-notes-zh-cn/src/figures/breakinglines-2.pdf
+2023/03/28 | 7793 | info/context-notes-zh-cn/src/figures/breakinglines-3.pdf
+2023/03/28 | 7776 | info/context-notes-zh-cn/src/figures/breakinglines-4.pdf
+2023/03/28 | 13115 | info/context-notes-zh-cn/src/figures/breakinglines-5.pdf
+2023/03/28 | 23633 | info/context-notes-zh-cn/src/figures/cmd-window.png
+2023/03/28 | 210831 | info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg
+2023/03/24 | 5526 | info/context-notes-zh-cn/src/figures/cow.pdf
+2023/03/28 | 19843 | info/context-notes-zh-cn/src/figures/ctxnotes-2.png
+2023/03/28 | 32313 | info/context-notes-zh-cn/src/figures/ctxnotes.png
+2023/03/28 | 31097 | info/context-notes-zh-cn/src/figures/defaultfonts.pdf
+2023/03/28 | 3506 | info/context-notes-zh-cn/src/figures/fakewords.pdf
+2023/03/28 | 19558 | info/context-notes-zh-cn/src/figures/fallbacks.pdf
+2023/03/28 | 5056 | info/context-notes-zh-cn/src/figures/fontsize-level.pdf
+2023/03/28 | 5906 | info/context-notes-zh-cn/src/figures/foo.pdf
+2023/03/24 | 59719 | info/context-notes-zh-cn/src/figures/gardeninglion.jpg
+2023/03/24 | 30981 | info/context-notes-zh-cn/src/figures/header.png
+2023/03/28 | 6557 | info/context-notes-zh-cn/src/figures/hello.png
+2023/03/28 | 23993 | info/context-notes-zh-cn/src/figures/hibert-1.pdf
+2023/03/28 | 23976 | info/context-notes-zh-cn/src/figures/hibert-2.pdf
+2023/03/28 | 24494 | info/context-notes-zh-cn/src/figures/hibert-3.pdf
+2023/03/28 | 26055 | info/context-notes-zh-cn/src/figures/hibert.pdf
+2023/03/28 | 8168 | info/context-notes-zh-cn/src/figures/indenting-1.pdf
+2023/03/28 | 8168 | info/context-notes-zh-cn/src/figures/indenting-2.pdf
+2023/03/28 | 11003 | info/context-notes-zh-cn/src/figures/letter.pdf
+2023/03/28 | 3941 | info/context-notes-zh-cn/src/figures/lines.pdf
+2023/03/24 | 16045 | info/context-notes-zh-cn/src/figures/linux-terminal-icon.png
+2023/03/28 | 66096 | info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf
+2023/03/28 | 62524 | info/context-notes-zh-cn/src/figures/msfonts.png
+2023/03/29 | 28173 | info/context-notes-zh-cn/src/figures/none-zhfonts.pdf
+2023/03/28 | 22295 | info/context-notes-zh-cn/src/figures/pagenumber.png
+2023/03/28 | 4668 | info/context-notes-zh-cn/src/figures/parindentcolor.pdf
+2023/03/28 | 4612 | info/context-notes-zh-cn/src/figures/pars-2.pdf
+2023/03/28 | 4671 | info/context-notes-zh-cn/src/figures/pars-3.pdf
+2023/03/28 | 4656 | info/context-notes-zh-cn/src/figures/pars-4.pdf
+2023/03/28 | 4678 | info/context-notes-zh-cn/src/figures/pars-5.pdf
+2023/03/28 | 3506 | info/context-notes-zh-cn/src/figures/pars.pdf
+2023/03/28 | 11728 | info/context-notes-zh-cn/src/figures/qian.pdf
+2023/03/24 | 29154 | info/context-notes-zh-cn/src/figures/search.png
+2023/03/28 | 8166 | info/context-notes-zh-cn/src/figures/setupbodyfont.pdf
+2023/03/28 | 35012 | info/context-notes-zh-cn/src/figures/slides-finished.pdf
+2023/03/28 | 34689 | info/context-notes-zh-cn/src/figures/slides.pdf
+2023/03/28 | 5909 | info/context-notes-zh-cn/src/figures/starting-area.pdf
+2023/03/28 | 114762 | info/context-notes-zh-cn/src/figures/style-file.png
+2023/03/28 | 30218 | info/context-notes-zh-cn/src/figures/tex-root.png
+2023/03/28 | 6128 | info/context-notes-zh-cn/src/figures/true-words.pdf
+2023/03/28 | 150002 | info/context-notes-zh-cn/src/figures/win-r.jpg
+2023/03/28 | 10503 | info/context-notes-zh-cn/src/figures/zaoshu-2.pdf
+2023/03/28 | 10501 | info/context-notes-zh-cn/src/figures/zaoshu-3.pdf
+2023/03/28 | 13028 | info/context-notes-zh-cn/src/figures/zaoshu-4.pdf
+2023/03/28 | 13022 | info/context-notes-zh-cn/src/figures/zaoshu-5.pdf
+2023/03/28 | 10127 | info/context-notes-zh-cn/src/figures/zaoshu.pdf
+2023/03/29 | 9993 | info/context-notes-zh-cn/src/figures/zhfonts-01.pdf
+2023/03/29 | 9472 | info/context-notes-zh-cn/src/figures/zhfonts-02.pdf
+2023/03/29 | 14420 | info/context-notes-zh-cn/src/figures/zhfonts-03.pdf
+2023/03/29 | 28688 | info/context-notes-zh-cn/src/figures/zhfonts.pdf
+2023/03/29 | 420 | info/context-notes-zh-cn/src/postscript.tex
+2023/03/28 | 3806 | info/context-notes-zh-cn/src/preface.tex
+2023/03/29 | 6718 | info/context-notes-zh-cn/src/zhfonts.tex
+2023/03/29 | 3475127 | info/context-notes-zh-cn.zip
2009/07/09 | 338395 | info/context-top-ten/cmds.pdf
2009/07/12 | 1023 | info/context-top-ten/README
2008/04/28 | 1411 | info/context-top-ten/src/apple.pdf
@@ -193631,7 +193737,7 @@
2012/04/13 | 261959 | install/macros/latex/contrib/usebib.tds.zip
2014/05/10 | 440916 | install/macros/latex/contrib/verse.tds.zip
2012/04/18 | 16307 | install/macros/latex/contrib/vpe.tds.zip
-2022/09/26 | 2901441 | install/macros/latex/contrib/wargame.tds.zip
+2023/03/29 | 3148397 | install/macros/latex/contrib/wargame.tds.zip
2020/05/01 | 936344 | install/macros/latex/contrib/xcjk2uni.tds.zip
2016/08/05 | 475695 | install/macros/latex/contrib/xcolor-solarized.tds.zip
2009/02/05 | 111968 | install/macros/latex/contrib/xfor.tds.zip
@@ -235646,13 +235752,13 @@
2012/09/27 | 1570857 | macros/latex/contrib/songbook.zip
2022/09/23 | 1017 | macros/latex/contrib/songproj/examples/clementine.txt
2022/09/23 | 1502 | macros/latex/contrib/songproj/LICENSE
-2022/11/07 | 452 | macros/latex/contrib/songproj/Makefile
+2023/03/29 | 496 | macros/latex/contrib/songproj/Makefile
2022/11/07 | 1863 | macros/latex/contrib/songproj/README.md
-2022/11/07 | 4282 | macros/latex/contrib/songproj/song2tex.py
-2022/11/07 | 35099 | macros/latex/contrib/songproj/songproj.dtx
+2023/03/27 | 4546 | macros/latex/contrib/songproj/song2tex.py
+2023/03/29 | 37337 | macros/latex/contrib/songproj/songproj.dtx
2022/11/07 | 4175 | macros/latex/contrib/songproj/songproj.ins
-2022/11/07 | 100783 | macros/latex/contrib/songproj/songproj.pdf
-2022/11/07 | 110833 | macros/latex/contrib/songproj.zip
+2023/03/29 | 131017 | macros/latex/contrib/songproj/songproj.pdf
+2023/03/29 | 140470 | macros/latex/contrib/songproj.zip
2018/09/12 | 22793 | macros/latex/contrib/songs/history.txt
2017/06/10 | 17990 | macros/latex/contrib/songs/license.txt
2017/06/10 | 564 | macros/latex/contrib/songs/Makefile
@@ -240795,77 +240901,91 @@
2006/04/21 | 15221 | macros/latex/contrib/wallpaper/wallpapermanual.pdf
2006/04/21 | 6919 | macros/latex/contrib/wallpaper/wallpaper.sty
2006/04/21 | 1278934 | macros/latex/contrib/wallpaper.zip
-2022/09/26 | 432806 | macros/latex/contrib/wargame/doc/compat.pdf
-2022/09/26 | 184493 | macros/latex/contrib/wargame/doc/symbols.pdf
-2022/09/26 | 13995 | macros/latex/contrib/wargame/doc/tutorial/export.tex
-2022/09/26 | 583838 | macros/latex/contrib/wargame/doc/tutorial/game.pdf
-2022/09/26 | 66295 | macros/latex/contrib/wargame/doc/tutorial/game.sty
-2022/09/26 | 5683 | macros/latex/contrib/wargame/doc/tutorial/game.tex
-2022/09/26 | 1056 | macros/latex/contrib/wargame/doc/tutorial/Makefile
-2022/09/26 | 821 | macros/latex/contrib/wargame/doc/tutorial/patch.py
-2022/09/26 | 1256 | macros/latex/contrib/wargame/doc/tutorial/README.md
-2022/09/26 | 1310006 | macros/latex/contrib/wargame/doc/wargame.pdf
-2022/09/26 | 10843 | macros/latex/contrib/wargame/README.md
-2022/09/26 | 1191 | macros/latex/contrib/wargame/source/chit/core.dtx
-2022/09/26 | 3022 | macros/latex/contrib/wargame/source/chit/elements.dtx
-2022/09/26 | 12681 | macros/latex/contrib/wargame/source/chit/misc.dtx
-2022/09/26 | 18121 | macros/latex/contrib/wargame/source/chit/shape.dtx
-2022/09/26 | 7889 | macros/latex/contrib/wargame/source/hex/board.dtx
-2022/09/26 | 11607 | macros/latex/contrib/wargame/source/hex/coord.dtx
-2022/09/26 | 2311 | macros/latex/contrib/wargame/source/hex/core.dtx
-2022/09/26 | 2278 | macros/latex/contrib/wargame/source/hex/extra.dtx
-2022/09/26 | 4514 | macros/latex/contrib/wargame/source/hex/labels.dtx
-2022/09/26 | 10124 | macros/latex/contrib/wargame/source/hex/paths.dtx
-2022/09/26 | 3658 | macros/latex/contrib/wargame/source/hex/ridges.dtx
-2022/09/26 | 11934 | macros/latex/contrib/wargame/source/hex/shape.dtx
-2022/09/26 | 37441 | macros/latex/contrib/wargame/source/hex/terrain/beach.dtx
-2022/09/26 | 119307 | macros/latex/contrib/wargame/source/hex/terrain/city.dtx
-2022/09/26 | 8205 | macros/latex/contrib/wargame/source/hex/terrain.dtx
-2022/09/26 | 39588 | macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx
-2022/09/26 | 618 | macros/latex/contrib/wargame/source/hex/terrain/mountain.dtx
-2022/09/26 | 37340 | macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx
-2022/09/26 | 61943 | macros/latex/contrib/wargame/source/hex/terrain/rough.dtx
-2022/09/26 | 9853 | macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx
-2022/09/26 | 24914 | macros/latex/contrib/wargame/source/hex/terrain/town.dtx
-2022/09/26 | 642 | macros/latex/contrib/wargame/source/hex/terrain/tree.dtx
-2022/09/26 | 8296 | macros/latex/contrib/wargame/source/hex/terrain/village.dtx
-2022/09/26 | 46705 | macros/latex/contrib/wargame/source/hex/terrain/woods.dtx
-2022/09/26 | 462 | macros/latex/contrib/wargame/source/hex/tile.dtx
-2022/09/26 | 2450 | macros/latex/contrib/wargame/source/hex/towns.dtx
-2022/09/26 | 8618 | macros/latex/contrib/wargame/source/Makefile
-2022/09/26 | 1359 | macros/latex/contrib/wargame/source/natoapp6c/compat/activity.dtx
-2022/09/26 | 3209 | macros/latex/contrib/wargame/source/natoapp6c/compat/air.dtx
-2022/09/26 | 4715 | macros/latex/contrib/wargame/source/natoapp6c/compat/equipment.dtx
-2022/09/26 | 1653 | macros/latex/contrib/wargame/source/natoapp6c/compat/installation.dtx
-2022/09/26 | 11120 | macros/latex/contrib/wargame/source/natoapp6c/compat/land.dtx
-2022/09/26 | 413 | macros/latex/contrib/wargame/source/natoapp6c/compat/missile.dtx
-2022/09/26 | 742 | macros/latex/contrib/wargame/source/natoapp6c/compat/seamine.dtx
-2022/09/26 | 5228 | macros/latex/contrib/wargame/source/natoapp6c/compat/seasurface.dtx
-2022/09/26 | 2274 | macros/latex/contrib/wargame/source/natoapp6c/compat/space.dtx
-2022/09/26 | 2888 | macros/latex/contrib/wargame/source/natoapp6c/compat/subsurface.dtx
-2022/09/26 | 6573 | macros/latex/contrib/wargame/source/natoapp6c/core.dtx
-2022/09/26 | 2846 | macros/latex/contrib/wargame/source/natoapp6c/echelon.dtx
-2022/09/26 | 2267 | macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx
-2022/09/26 | 15054 | macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
-2022/09/26 | 15937 | macros/latex/contrib/wargame/source/natoapp6c/frames/hostile.dtx
-2022/09/26 | 15175 | macros/latex/contrib/wargame/source/natoapp6c/frames/neutral.dtx
-2022/09/26 | 18195 | macros/latex/contrib/wargame/source/natoapp6c/frames/unknown.dtx
-2022/09/26 | 4491 | macros/latex/contrib/wargame/source/natoapp6c/list.dtx
-2022/09/26 | 20779 | macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
-2022/09/26 | 89859 | macros/latex/contrib/wargame/source/natoapp6c/symbols.dtx
-2022/09/26 | 1807 | macros/latex/contrib/wargame/source/natoapp6c/text.dtx
-2022/09/26 | 1911 | macros/latex/contrib/wargame/source/natoapp6c/util.dtx
-2022/09/26 | 3210 | macros/latex/contrib/wargame/source/natoapp6c/weaponry.dtx
-2022/09/26 | 932 | macros/latex/contrib/wargame/source/package.dtx
-2022/09/26 | 2009 | macros/latex/contrib/wargame/source/tests/chits.dtx
-2022/09/26 | 1944 | macros/latex/contrib/wargame/source/tests/map.dtx
-2022/09/26 | 4405 | macros/latex/contrib/wargame/source/tests/test.tex
-2022/09/26 | 41240 | macros/latex/contrib/wargame/source/util/core.dtx
-2022/09/26 | 133283 | macros/latex/contrib/wargame/source/utils/wgexport.py
-2022/09/26 | 10300 | macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py
-2022/09/26 | 84739 | macros/latex/contrib/wargame/source/wargame.dtx
-2022/09/26 | 7038 | macros/latex/contrib/wargame/source/wargame.ins
-2022/09/26 | 2651836 | macros/latex/contrib/wargame.zip
+2023/03/29 | 432819 | macros/latex/contrib/wargame/doc/compat.pdf
+2023/03/29 | 184525 | macros/latex/contrib/wargame/doc/symbols.pdf
+2023/03/29 | 16376 | macros/latex/contrib/wargame/doc/tutorial/export.tex
+2023/03/29 | 588181 | macros/latex/contrib/wargame/doc/tutorial/game.pdf
+2023/03/29 | 66427 | macros/latex/contrib/wargame/doc/tutorial/game.sty
+2023/03/29 | 5775 | macros/latex/contrib/wargame/doc/tutorial/game.tex
+2023/03/29 | 1091 | macros/latex/contrib/wargame/doc/tutorial/Makefile
+2023/03/29 | 755 | macros/latex/contrib/wargame/doc/tutorial/patch.py
+2023/03/29 | 1256 | macros/latex/contrib/wargame/doc/tutorial/README.md
+2023/03/29 | 1444437 | macros/latex/contrib/wargame/doc/wargame.pdf
+2023/03/29 | 11263 | macros/latex/contrib/wargame/README.md
+2023/03/29 | 1929 | macros/latex/contrib/wargame/source/chit/battle.dtx
+2023/03/29 | 1342 | macros/latex/contrib/wargame/source/chit/core.dtx
+2023/03/29 | 9268 | macros/latex/contrib/wargame/source/chit/dice.dtx
+2023/03/29 | 3568 | macros/latex/contrib/wargame/source/chit/elements.dtx
+2023/03/29 | 2527 | macros/latex/contrib/wargame/source/chit/misc.dtx
+2023/03/29 | 1225 | macros/latex/contrib/wargame/source/chit/modifiers.dtx
+2023/03/29 | 5370 | macros/latex/contrib/wargame/source/chit/oob.dtx
+2023/03/29 | 23273 | macros/latex/contrib/wargame/source/chit/shape.dtx
+2023/03/29 | 1323 | macros/latex/contrib/wargame/source/chit/stack.dtx
+2023/03/29 | 4738 | macros/latex/contrib/wargame/source/chit/table.dtx
+2023/03/29 | 10066 | macros/latex/contrib/wargame/source/hex/board.dtx
+2023/03/29 | 12119 | macros/latex/contrib/wargame/source/hex/coord.dtx
+2023/03/29 | 2335 | macros/latex/contrib/wargame/source/hex/core.dtx
+2023/03/29 | 2284 | macros/latex/contrib/wargame/source/hex/extra.dtx
+2023/03/29 | 4514 | macros/latex/contrib/wargame/source/hex/labels.dtx
+2023/03/29 | 11431 | macros/latex/contrib/wargame/source/hex/paths.dtx
+2023/03/29 | 4906 | macros/latex/contrib/wargame/source/hex/ridges.dtx
+2023/03/29 | 15000 | macros/latex/contrib/wargame/source/hex/shape.dtx
+2023/03/29 | 15564 | macros/latex/contrib/wargame/source/hex/split.dtx
+2023/03/29 | 37519 | macros/latex/contrib/wargame/source/hex/terrain/beach.dtx
+2023/03/29 | 119380 | macros/latex/contrib/wargame/source/hex/terrain/city.dtx
+2023/03/29 | 8470 | macros/latex/contrib/wargame/source/hex/terrain.dtx
+2023/03/29 | 39670 | macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx
+2023/03/29 | 618 | macros/latex/contrib/wargame/source/hex/terrain/mountain.dtx
+2023/03/29 | 37420 | macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx
+2023/03/29 | 62019 | macros/latex/contrib/wargame/source/hex/terrain/rough.dtx
+2023/03/29 | 9929 | macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx
+2023/03/29 | 24989 | macros/latex/contrib/wargame/source/hex/terrain/town.dtx
+2023/03/29 | 642 | macros/latex/contrib/wargame/source/hex/terrain/tree.dtx
+2023/03/29 | 8374 | macros/latex/contrib/wargame/source/hex/terrain/village.dtx
+2023/03/29 | 46781 | macros/latex/contrib/wargame/source/hex/terrain/woods.dtx
+2023/03/29 | 462 | macros/latex/contrib/wargame/source/hex/tile.dtx
+2023/03/29 | 2502 | macros/latex/contrib/wargame/source/hex/towns.dtx
+2023/03/29 | 8906 | macros/latex/contrib/wargame/source/Makefile
+2023/03/29 | 1359 | macros/latex/contrib/wargame/source/natoapp6c/compat/activity.dtx
+2023/03/29 | 3209 | macros/latex/contrib/wargame/source/natoapp6c/compat/air.dtx
+2023/03/29 | 4715 | macros/latex/contrib/wargame/source/natoapp6c/compat/equipment.dtx
+2023/03/29 | 1653 | macros/latex/contrib/wargame/source/natoapp6c/compat/installation.dtx
+2023/03/29 | 11120 | macros/latex/contrib/wargame/source/natoapp6c/compat/land.dtx
+2023/03/29 | 413 | macros/latex/contrib/wargame/source/natoapp6c/compat/missile.dtx
+2023/03/29 | 742 | macros/latex/contrib/wargame/source/natoapp6c/compat/seamine.dtx
+2023/03/29 | 5228 | macros/latex/contrib/wargame/source/natoapp6c/compat/seasurface.dtx
+2023/03/29 | 2274 | macros/latex/contrib/wargame/source/natoapp6c/compat/space.dtx
+2023/03/29 | 2888 | macros/latex/contrib/wargame/source/natoapp6c/compat/subsurface.dtx
+2023/03/29 | 6573 | macros/latex/contrib/wargame/source/natoapp6c/core.dtx
+2023/03/29 | 2846 | macros/latex/contrib/wargame/source/natoapp6c/echelon.dtx
+2023/03/29 | 2267 | macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx
+2023/03/29 | 15911 | macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
+2023/03/29 | 15937 | macros/latex/contrib/wargame/source/natoapp6c/frames/hostile.dtx
+2023/03/29 | 15175 | macros/latex/contrib/wargame/source/natoapp6c/frames/neutral.dtx
+2023/03/29 | 18195 | macros/latex/contrib/wargame/source/natoapp6c/frames/unknown.dtx
+2023/03/29 | 4491 | macros/latex/contrib/wargame/source/natoapp6c/list.dtx
+2023/03/29 | 21092 | macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
+2023/03/29 | 89859 | macros/latex/contrib/wargame/source/natoapp6c/symbols.dtx
+2023/03/29 | 1807 | macros/latex/contrib/wargame/source/natoapp6c/text.dtx
+2023/03/29 | 1911 | macros/latex/contrib/wargame/source/natoapp6c/util.dtx
+2023/03/29 | 3210 | macros/latex/contrib/wargame/source/natoapp6c/weaponry.dtx
+2023/03/29 | 932 | macros/latex/contrib/wargame/source/package.dtx
+2023/03/29 | 2009 | macros/latex/contrib/wargame/source/tests/chits.dtx
+2023/03/29 | 1944 | macros/latex/contrib/wargame/source/tests/map.dtx
+2023/03/29 | 4405 | macros/latex/contrib/wargame/source/tests/test.tex
+2023/03/29 | 6425 | macros/latex/contrib/wargame/source/util/bb.dtx
+2023/03/29 | 5787 | macros/latex/contrib/wargame/source/util/compound.dtx
+2023/03/29 | 512 | macros/latex/contrib/wargame/source/util/core.dtx
+2023/03/29 | 27197 | macros/latex/contrib/wargame/source/util/export.dtx
+2023/03/29 | 3121 | macros/latex/contrib/wargame/source/util/icons.dtx
+2023/03/29 | 4467 | macros/latex/contrib/wargame/source/util/misc.dtx
+2023/03/29 | 499 | macros/latex/contrib/wargame/source/util/randomid.dtx
+2023/03/29 | 441253 | macros/latex/contrib/wargame/source/utils/wgexport.py
+2023/03/29 | 10305 | macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py
+2023/03/29 | 5249 | macros/latex/contrib/wargame/source/util/tikz.dtx
+2023/03/29 | 94846 | macros/latex/contrib/wargame/source/wargame.dtx
+2023/03/29 | 7527 | macros/latex/contrib/wargame/source/wargame.ins
+2023/03/29 | 2846109 | macros/latex/contrib/wargame.zip
2023/03/18 | 2585 | macros/latex/contrib/warning/README
2023/03/18 | 288383 | macros/latex/contrib/warning/warning-doc.pdf
2023/03/18 | 3008 | macros/latex/contrib/warning/warning-doc.tex
@@ -243310,20 +243430,20 @@
2023/01/04 | 7701 | macros/luatex/generic/lua-visual-debug/lua-visual-debug.lua
2023/01/04 | 1000 | macros/luatex/generic/lua-visual-debug/lua-visual-debug.sty
2023/01/04 | 383830 | macros/luatex/generic/lua-visual-debug.zip
-2022/08/17 | 46 | macros/luatex/generic/luavlna/luavlna.4ht
-2022/08/17 | 449 | macros/luatex/generic/luavlna/luavlna-csplain-langs.lua
-2022/08/17 | 92320 | macros/luatex/generic/luavlna/luavlna-doc.pdf
-2022/08/17 | 9661 | macros/luatex/generic/luavlna/luavlna-doc.tex
-2022/08/17 | 3131 | macros/luatex/generic/luavlna/luavlna-langno.lua
-2022/08/17 | 12347 | macros/luatex/generic/luavlna/luavlna.lua
-2022/08/17 | 705 | macros/luatex/generic/luavlna/luavlna-predegrees.lua
-2022/08/17 | 217 | macros/luatex/generic/luavlna/luavlna-presi.lua
-2022/08/17 | 289 | macros/luatex/generic/luavlna/luavlna-si.lua
-2022/08/17 | 1459 | macros/luatex/generic/luavlna/luavlna.sty
-2022/08/17 | 204 | macros/luatex/generic/luavlna/luavlna-sufdegrees.lua
-2022/08/17 | 4289 | macros/luatex/generic/luavlna/luavlna.tex
-2022/08/17 | 3320 | macros/luatex/generic/luavlna/README.md
-2022/08/17 | 104682 | macros/luatex/generic/luavlna.zip
+2023/03/29 | 46 | macros/luatex/generic/luavlna/luavlna.4ht
+2023/03/29 | 449 | macros/luatex/generic/luavlna/luavlna-csplain-langs.lua
+2023/03/29 | 92324 | macros/luatex/generic/luavlna/luavlna-doc.pdf
+2023/03/29 | 9661 | macros/luatex/generic/luavlna/luavlna-doc.tex
+2023/03/29 | 3131 | macros/luatex/generic/luavlna/luavlna-langno.lua
+2023/03/29 | 16015 | macros/luatex/generic/luavlna/luavlna.lua
+2023/03/29 | 705 | macros/luatex/generic/luavlna/luavlna-predegrees.lua
+2023/03/29 | 217 | macros/luatex/generic/luavlna/luavlna-presi.lua
+2023/03/29 | 289 | macros/luatex/generic/luavlna/luavlna-si.lua
+2023/03/29 | 1559 | macros/luatex/generic/luavlna/luavlna.sty
+2023/03/29 | 204 | macros/luatex/generic/luavlna/luavlna-sufdegrees.lua
+2023/03/29 | 4248 | macros/luatex/generic/luavlna/luavlna.tex
+2023/03/29 | 3320 | macros/luatex/generic/luavlna/README.md
+2023/03/29 | 106731 | macros/luatex/generic/luavlna.zip
2022/11/22 | 9482 | macros/luatex/generic/lua-widow-control/CHANGELOG.md
2022/11/22 | 3022 | macros/luatex/generic/lua-widow-control/lua-widow-control-2022-02-22.sty
2022/11/22 | 55946 | macros/luatex/generic/lua-widow-control/lua-widow-control.lua
@@ -246669,7 +246789,7 @@
2022/11/30 | 24512 | macros/texinfo/latest/htmlxref.cnf
2022/11/30 | 58633 | macros/texinfo/latest/texi2dvi
2022/11/30 | 1165 | macros/texinfo/latest/texi2pdf
-2023/03/21 | 380255 | macros/texinfo/latest/texinfo.tex
+2023/03/27 | 380239 | macros/texinfo/latest/texinfo.tex
2022/12/01 | 67 | macros/texinfo/texinfo/ABOUT-NLS
2023/03/26 | 48078 | macros/texinfo/texinfo/aclocal.m4
2022/02/11 | 2201 | macros/texinfo/texinfo/AUTHORS
@@ -283959,7 +284079,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2023/03/27 | 220181 | support/TeX4ht/source/ChangeLog
+2023/03/29 | 220416 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -283990,7 +284110,7 @@
2022/01/20 | 379769 | support/TeX4ht/source/tex4ht-fonts-kpfonts.tex
2022/01/20 | 493935 | support/TeX4ht/source/tex4ht-fonts-libertine.tex
2022/07/16 | 187196 | support/TeX4ht/source/tex4ht-fonts-mnsymbol.tex
-2022/09/27 | 703216 | support/TeX4ht/source/tex4ht-fonts-modern.tex
+2023/03/29 | 703260 | support/TeX4ht/source/tex4ht-fonts-modern.tex
2022/01/20 | 297798 | support/TeX4ht/source/tex4ht-fonts-newtx.tex
2023/03/25 | 1602781 | support/TeX4ht/source/tex4ht-fonts-noncjk.tex
2022/03/20 | 207828 | support/TeX4ht/source/tex4ht-fonts-opensans.tex
@@ -288703,7 +288823,7 @@
2021/02/07 | 136588 | systems/texlive/tlnet/archive/babel-danish.doc.r57642.tar.xz
2021/02/07 | 2488 | systems/texlive/tlnet/archive/babel-danish.r57642.tar.xz
2021/02/07 | 5792 | systems/texlive/tlnet/archive/babel-danish.source.r57642.tar.xz
-2023/02/14 | 906720 | systems/texlive/tlnet/archive/babel.doc.r65823.tar.xz
+2023/03/29 | 897908 | systems/texlive/tlnet/archive/babel.doc.r66698.tar.xz
2021/08/30 | 157392 | systems/texlive/tlnet/archive/babel-dutch.doc.r60362.tar.xz
2021/08/30 | 2920 | systems/texlive/tlnet/archive/babel-dutch.r60362.tar.xz
2021/08/30 | 7968 | systems/texlive/tlnet/archive/babel-dutch.source.r60362.tar.xz
@@ -288792,7 +288912,7 @@
2021/07/10 | 146580 | systems/texlive/tlnet/archive/babel-portuges.doc.r59883.tar.xz
2021/07/10 | 2828 | systems/texlive/tlnet/archive/babel-portuges.r59883.tar.xz
2021/07/10 | 6692 | systems/texlive/tlnet/archive/babel-portuges.source.r59883.tar.xz
-2023/02/14 | 196284 | systems/texlive/tlnet/archive/babel.r65823.tar.xz
+2023/03/29 | 197416 | systems/texlive/tlnet/archive/babel.r66698.tar.xz
2021/04/07 | 113056 | systems/texlive/tlnet/archive/babel-romanian.doc.r58776.tar.xz
2021/04/07 | 2124 | systems/texlive/tlnet/archive/babel-romanian.r58776.tar.xz
2021/04/07 | 4308 | systems/texlive/tlnet/archive/babel-romanian.source.r58776.tar.xz
@@ -288823,7 +288943,7 @@
2021/11/07 | 209804 | systems/texlive/tlnet/archive/babel-sorbian.doc.r60975.tar.xz
2021/11/07 | 3156 | systems/texlive/tlnet/archive/babel-sorbian.r60975.tar.xz
2021/11/07 | 6328 | systems/texlive/tlnet/archive/babel-sorbian.source.r60975.tar.xz
-2023/02/14 | 725832 | systems/texlive/tlnet/archive/babel.source.r65823.tar.xz
+2023/03/29 | 726800 | systems/texlive/tlnet/archive/babel.source.r66698.tar.xz
2021/05/28 | 183140 | systems/texlive/tlnet/archive/babel-spanish.doc.r59367.tar.xz
2021/05/28 | 8876 | systems/texlive/tlnet/archive/babel-spanish.r59367.tar.xz
2021/05/28 | 29800 | systems/texlive/tlnet/archive/babel-spanish.source.r59367.tar.xz
@@ -291944,7 +292064,7 @@
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.amd64-freebsd.r18389.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.amd64-netbsd.r30191.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.armhf-linux.r30015.tar.xz
-2023/03/08 | 30880 | systems/texlive/tlnet/archive/epstopdf.doc.r66461.tar.xz
+2023/03/29 | 30880 | systems/texlive/tlnet/archive/epstopdf.doc.r66695.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.i386-freebsd.r18388.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.i386-linux.r18336.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.i386-netbsd.r30191.tar.xz
@@ -291952,7 +292072,7 @@
2020/01/26 | 354368 | systems/texlive/tlnet/archive/epstopdf-pkg.doc.r53546.tar.xz
2020/01/26 | 4180 | systems/texlive/tlnet/archive/epstopdf-pkg.r53546.tar.xz
2020/01/26 | 11992 | systems/texlive/tlnet/archive/epstopdf-pkg.source.r53546.tar.xz
-2023/03/08 | 12836 | systems/texlive/tlnet/archive/epstopdf.r66461.tar.xz
+2023/03/29 | 12836 | systems/texlive/tlnet/archive/epstopdf.r66695.tar.xz
2021/02/25 | 364 | systems/texlive/tlnet/archive/epstopdf.universal-darwin.r57908.tar.xz
2023/02/20 | 2356 | systems/texlive/tlnet/archive/epstopdf.windows.r65891.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.x86_64-cygwin.r33557.tar.xz
@@ -295776,8 +295896,8 @@
2019/02/28 | 2884 | systems/texlive/tlnet/archive/miller.source.r18789.tar.xz
2019/02/28 | 404068 | systems/texlive/tlnet/archive/milog.doc.r41610.tar.xz
2019/02/28 | 3124 | systems/texlive/tlnet/archive/milog.r41610.tar.xz
-2020/03/17 | 1565768 | systems/texlive/tlnet/archive/milsymb.doc.r54361.tar.xz
-2020/03/17 | 22172 | systems/texlive/tlnet/archive/milsymb.r54361.tar.xz
+2023/03/29 | 1554072 | systems/texlive/tlnet/archive/milsymb.doc.r66697.tar.xz
+2023/03/29 | 22212 | systems/texlive/tlnet/archive/milsymb.r66697.tar.xz
2022/12/11 | 202452 | systems/texlive/tlnet/archive/mindflow.doc.r65236.tar.xz
2022/12/11 | 2536 | systems/texlive/tlnet/archive/mindflow.r65236.tar.xz
2022/12/11 | 6520 | systems/texlive/tlnet/archive/mindflow.source.r65236.tar.xz
@@ -299390,13 +299510,13 @@
2022/02/27 | 108804 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r62206.tar.xz
2023/02/20 | 87356 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r65923.tar.xz
2022/04/21 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r63092.tar.xz
-2023/03/28 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66688.tar.xz
+2023/03/29 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66699.tar.xz
2022/02/27 | 93760 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r62206.tar.xz
2022/02/27 | 91280 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r62210.tar.xz
2023/02/20 | 76164 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r65923.tar.xz
2022/02/27 | 83964 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r62206.tar.xz
-2023/03/28 | 1107236 | systems/texlive/tlnet/archive/tex4ht.r66688.tar.xz
-2023/03/28 | 1449892 | systems/texlive/tlnet/archive/tex4ht.source.r66688.tar.xz
+2023/03/29 | 1133620 | systems/texlive/tlnet/archive/tex4ht.r66699.tar.xz
+2023/03/29 | 1447296 | systems/texlive/tlnet/archive/tex4ht.source.r66699.tar.xz
2023/02/20 | 184636 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r65895.tar.xz
2023/02/20 | 62196 | systems/texlive/tlnet/archive/tex4ht.windows.r65891.tar.xz
2023/03/11 | 58016 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r66544.tar.xz
@@ -299639,7 +299759,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/03/28 | 422736 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66683.tar.xz
+2023/03/29 | 422704 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66693.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
@@ -299661,7 +299781,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/03/28 | 114072 | systems/texlive/tlnet/archive/texlive-scripts.r66683.tar.xz
+2023/03/29 | 114040 | systems/texlive/tlnet/archive/texlive-scripts.r66693.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/03/08 | 60300 | systems/texlive/tlnet/archive/texlive-scripts.windows.r66427.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -301517,16 +301637,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2023/03/12 | 125532 | systems/texlive/tlnet/install-tl
-2023/03/28 | 5737439 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/03/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/03/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/03/29 | 5737439 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/03/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/03/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/02/19 | 5098 | systems/texlive/tlnet/install-tl-windows.bat
-2023/03/28 | 21035615 | systems/texlive/tlnet/install-tl-windows.exe
-2023/03/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/03/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/03/28 | 26024812 | systems/texlive/tlnet/install-tl.zip
-2023/03/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/03/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/03/29 | 21039073 | systems/texlive/tlnet/install-tl-windows.exe
+2023/03/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/03/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/03/29 | 26024767 | systems/texlive/tlnet/install-tl.zip
+2023/03/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/03/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -301536,7 +301656,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/03/26 | 7372 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/03/28 | 7200 | 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
@@ -301578,12 +301698,12 @@
2023/02/21 | 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/03/28 | 17990215 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/03/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/03/29 | 17988686 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/03/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/03/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/03/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/03/28 | 2435008 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/03/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/03/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/03/29 | 2433496 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/02/26 | 42350 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -311970,7 +312090,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/03/29 | 186 | timestamp
+2023/03/30 | 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 381ca1050d..ca0bade002 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index c33723d45b..7268ed04b8 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,52 +1,304 @@
+2023/03/29 | 9993 | info/context-notes-zh-cn/src/figures/zhfonts-01.pdf
+2023/03/29 | 9929 | macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx
+2023/03/29 | 9746 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp
+2023/03/29 | 9661 | macros/luatex/generic/luavlna/luavlna-doc.tex
+2023/03/29 | 94846 | macros/latex/contrib/wargame/source/wargame.dtx
+2023/03/29 | 9472 | info/context-notes-zh-cn/src/figures/zhfonts-02.pdf
+2023/03/29 | 932 | macros/latex/contrib/wargame/source/package.dtx
+2023/03/29 | 9268 | macros/latex/contrib/wargame/source/chit/dice.dtx
+2023/03/29 | 92324 | macros/luatex/generic/luavlna/luavlna-doc.pdf
+2023/03/29 | 89859 | macros/latex/contrib/wargame/source/natoapp6c/symbols.dtx
+2023/03/29 | 897908 | systems/texlive/tlnet/archive/babel.doc.r66698.tar.xz
+2023/03/29 | 8906 | macros/latex/contrib/wargame/source/Makefile
+2023/03/29 | 8470 | macros/latex/contrib/wargame/source/hex/terrain.dtx
+2023/03/29 | 8374 | macros/latex/contrib/wargame/source/hex/terrain/village.dtx
+2023/03/29 | 774 | info/context-notes-zh-cn/src/ctxnotes.tex
+2023/03/29 | 755 | macros/latex/contrib/wargame/doc/tutorial/patch.py
+2023/03/29 | 7527 | macros/latex/contrib/wargame/source/wargame.ins
+2023/03/29 | 742 | macros/latex/contrib/wargame/source/natoapp6c/compat/seamine.dtx
+2023/03/29 | 726800 | systems/texlive/tlnet/archive/babel.source.r66698.tar.xz
+2023/03/29 | 705 | macros/luatex/generic/luavlna/luavlna-predegrees.lua
+2023/03/29 | 703260 | support/TeX4ht/source/tex4ht-fonts-modern.tex
+2023/03/29 | 6718 | info/context-notes-zh-cn/src/zhfonts.tex
+2023/03/29 | 66427 | macros/latex/contrib/wargame/doc/tutorial/game.sty
+2023/03/29 | 6573 | macros/latex/contrib/wargame/source/natoapp6c/core.dtx
+2023/03/29 | 642 | macros/latex/contrib/wargame/source/hex/terrain/tree.dtx
+2023/03/29 | 6425 | macros/latex/contrib/wargame/source/util/bb.dtx
+2023/03/29 | 62 | graphics/metapost/contrib/macros/mpchess/doc/test.fen
+2023/03/29 | 62019 | macros/latex/contrib/wargame/source/hex/terrain/rough.dtx
+2023/03/29 | 618 | macros/latex/contrib/wargame/source/hex/terrain/mountain.dtx
+2023/03/29 | 588181 | macros/latex/contrib/wargame/doc/tutorial/game.pdf
+2023/03/29 | 5787 | macros/latex/contrib/wargame/source/util/compound.dtx
+2023/03/29 | 5775 | macros/latex/contrib/wargame/doc/tutorial/game.tex
+2023/03/29 | 5737 | info/context-notes-zh-cn/src/doc-env.tex
+2023/03/29 | 5737439 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/03/29 | 5617 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex
+2023/03/29 | 5370 | macros/latex/contrib/wargame/source/chit/oob.dtx
+2023/03/29 | 5249 | macros/latex/contrib/wargame/source/util/tikz.dtx
+2023/03/29 | 5228 | macros/latex/contrib/wargame/source/natoapp6c/compat/seasurface.dtx
+2023/03/29 | 512 | macros/latex/contrib/wargame/source/util/core.dtx
+2023/03/29 | 499 | macros/latex/contrib/wargame/source/util/randomid.dtx
+2023/03/29 | 496 | macros/latex/contrib/songproj/Makefile
+2023/03/29 | 4906 | macros/latex/contrib/wargame/source/hex/ridges.dtx
+2023/03/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/03/29 | 4738 | macros/latex/contrib/wargame/source/chit/table.dtx
+2023/03/29 | 4715 | macros/latex/contrib/wargame/source/natoapp6c/compat/equipment.dtx
+2023/03/29 | 46 | macros/luatex/generic/luavlna/luavlna.4ht
+2023/03/29 | 46781 | macros/latex/contrib/wargame/source/hex/terrain/woods.dtx
+2023/03/29 | 462 | macros/latex/contrib/wargame/source/hex/tile.dtx
+2023/03/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/03/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/03/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/03/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/03/29 | 4514 | macros/latex/contrib/wargame/source/hex/labels.dtx
+2023/03/29 | 449 | macros/luatex/generic/luavlna/luavlna-csplain-langs.lua
+2023/03/29 | 4491 | macros/latex/contrib/wargame/source/natoapp6c/list.dtx
+2023/03/29 | 4467 | macros/latex/contrib/wargame/source/util/misc.dtx
+2023/03/29 | 441253 | macros/latex/contrib/wargame/source/utils/wgexport.py
+2023/03/29 | 4405 | macros/latex/contrib/wargame/source/tests/test.tex
+2023/03/29 | 434 | info/context-notes-zh-cn/README.md
+2023/03/29 | 432819 | macros/latex/contrib/wargame/doc/compat.pdf
+2023/03/29 | 42 | graphics/metapost/contrib/macros/mpchess/doc/test.pgn
+2023/03/29 | 4248 | macros/luatex/generic/luavlna/luavlna.tex
+2023/03/29 | 422704 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66693.tar.xz
+2023/03/29 | 420 | info/context-notes-zh-cn/src/postscript.tex
+2023/03/29 | 41667 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp
+2023/03/29 | 415 | graphics/metapost/contrib/macros/mpchess/LICENSE
+2023/03/29 | 413 | macros/latex/contrib/wargame/source/natoapp6c/compat/missile.dtx
+2023/03/29 | 41234 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
+2023/03/29 | 4057600 | biblio/ctan-bibdata.zip
+2023/03/29 | 39670 | macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx
+2023/03/29 | 38629 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
+2023/03/29 | 37519 | macros/latex/contrib/wargame/source/hex/terrain/beach.dtx
+2023/03/29 | 37420 | macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx
+2023/03/29 | 37337 | macros/latex/contrib/songproj/songproj.dtx
+2023/03/29 | 3660945 | biblio/ctan-bibdata/ctan.pdf
+2023/03/29 | 3568 | macros/latex/contrib/wargame/source/chit/elements.dtx
+2023/03/29 | 3475127 | info/context-notes-zh-cn.zip
+2023/03/29 | 33813 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
+2023/03/29 | 3320 | macros/luatex/generic/luavlna/README.md
+2023/03/29 | 3210 | macros/latex/contrib/wargame/source/natoapp6c/weaponry.dtx
+2023/03/29 | 3209 | macros/latex/contrib/wargame/source/natoapp6c/compat/air.dtx
+2023/03/29 | 3148397 | install/macros/latex/contrib/wargame.tds.zip
+2023/03/29 | 3131 | macros/luatex/generic/luavlna/luavlna-langno.lua
+2023/03/29 | 3121 | macros/latex/contrib/wargame/source/util/icons.dtx
+2023/03/29 | 30880 | systems/texlive/tlnet/archive/epstopdf.doc.r66695.tar.xz
+2023/03/29 | 3043 | graphics/metapost/contrib/macros/mpchess/doc/ctan.bib
+2023/03/29 | 289 | macros/luatex/generic/luavlna/luavlna-si.lua
+2023/03/29 | 2888 | macros/latex/contrib/wargame/source/natoapp6c/compat/subsurface.dtx
+2023/03/29 | 28688 | info/context-notes-zh-cn/src/figures/zhfonts.pdf
+2023/03/29 | 2846 | macros/latex/contrib/wargame/source/natoapp6c/echelon.dtx
+2023/03/29 | 2846109 | macros/latex/contrib/wargame.zip
+2023/03/29 | 28173 | info/context-notes-zh-cn/src/figures/none-zhfonts.pdf
+2023/03/29 | 2773326 | biblio/ctan-bibdata/ctan.bib
+2023/03/29 | 27197 | macros/latex/contrib/wargame/source/util/export.dtx
+2023/03/29 | 26024767 | systems/texlive/tlnet/install-tl.zip
+2023/03/29 | 2527 | macros/latex/contrib/wargame/source/chit/misc.dtx
+2023/03/29 | 2502 | macros/latex/contrib/wargame/source/hex/towns.dtx
+2023/03/29 | 24989 | macros/latex/contrib/wargame/source/hex/terrain/town.dtx
+2023/03/29 | 2433496 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/03/29 | 2335 | macros/latex/contrib/wargame/source/hex/core.dtx
+2023/03/29 | 23273 | macros/latex/contrib/wargame/source/chit/shape.dtx
+2023/03/29 | 2284 | macros/latex/contrib/wargame/source/hex/extra.dtx
+2023/03/29 | 2274 | macros/latex/contrib/wargame/source/natoapp6c/compat/space.dtx
+2023/03/29 | 2267 | macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx
+2023/03/29 | 2264 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp
+2023/03/29 | 2241 | info/context-notes-zh-cn/src/ctxnotes.bib
+2023/03/29 | 2241 | info/context-notes-zh-cn/src/cover.tex
+2023/03/29 | 22212 | systems/texlive/tlnet/archive/milsymb.r66697.tar.xz
+2023/03/29 | 22071 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pieces.mp
+2023/03/29 | 220416 | support/TeX4ht/source/ChangeLog
+2023/03/29 | 217 | macros/luatex/generic/luavlna/luavlna-presi.lua
+2023/03/29 | 21406 | info/context-notes-zh-cn/src/03.tex
+2023/03/29 | 21092 | macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
+2023/03/29 | 21039073 | systems/texlive/tlnet/install-tl-windows.exe
+2023/03/29 | 204 | macros/luatex/generic/luavlna/luavlna-sufdegrees.lua
+2023/03/29 | 2009 | macros/latex/contrib/wargame/source/tests/chits.dtx
+2023/03/29 | 2002991 | info/context-notes-zh-cn/ctxnotes.pdf
+2023/03/29 | 197416 | systems/texlive/tlnet/archive/babel.r66698.tar.xz
+2023/03/29 | 1944 | macros/latex/contrib/wargame/source/tests/map.dtx
+2023/03/29 | 1929 | macros/latex/contrib/wargame/source/chit/battle.dtx
+2023/03/29 | 1911 | macros/latex/contrib/wargame/source/natoapp6c/util.dtx
+2023/03/29 | 184525 | macros/latex/contrib/wargame/doc/symbols.pdf
+2023/03/29 | 18195 | macros/latex/contrib/wargame/source/natoapp6c/frames/unknown.dtx
+2023/03/29 | 1807 | macros/latex/contrib/wargame/source/natoapp6c/text.dtx
+2023/03/29 | 17988686 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/03/29 | 1790 | graphics/metapost/contrib/macros/mpchess/README.md
+2023/03/29 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/03/29 | 1653 | macros/latex/contrib/wargame/source/natoapp6c/compat/installation.dtx
+2023/03/29 | 1641937 | graphics/metapost/contrib/macros/mpchess.zip
+2023/03/29 | 16376 | macros/latex/contrib/wargame/doc/tutorial/export.tex
+2023/03/29 | 16015 | macros/luatex/generic/luavlna/luavlna.lua
+2023/03/29 | 15937 | macros/latex/contrib/wargame/source/natoapp6c/frames/hostile.dtx
+2023/03/29 | 15911 | macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
+2023/03/29 | 15745 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
+2023/03/29 | 1559 | macros/luatex/generic/luavlna/luavlna.sty
+2023/03/29 | 15564 | macros/latex/contrib/wargame/source/hex/split.dtx
+2023/03/29 | 1554072 | systems/texlive/tlnet/archive/milsymb.doc.r66697.tar.xz
+2023/03/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/03/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/03/29 | 15233 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-skak.mp
+2023/03/29 | 15175 | macros/latex/contrib/wargame/source/natoapp6c/frames/neutral.dtx
+2023/03/29 | 15000 | macros/latex/contrib/wargame/source/hex/shape.dtx
+2023/03/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/03/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/03/29 | 1447296 | systems/texlive/tlnet/archive/tex4ht.source.r66699.tar.xz
+2023/03/29 | 1444437 | macros/latex/contrib/wargame/doc/wargame.pdf
+2023/03/29 | 14420 | info/context-notes-zh-cn/src/figures/zhfonts-03.pdf
+2023/03/29 | 140470 | macros/latex/contrib/songproj.zip
+2023/03/29 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66699.tar.xz
+2023/03/29 | 1359 | macros/latex/contrib/wargame/source/natoapp6c/compat/activity.dtx
+2023/03/29 | 1342 | macros/latex/contrib/wargame/source/chit/core.dtx
+2023/03/29 | 1323 | macros/latex/contrib/wargame/source/chit/stack.dtx
+2023/03/29 | 131017 | macros/latex/contrib/songproj/songproj.pdf
+2023/03/29 | 1309 | graphics/metapost/contrib/macros/mpchess/doc/fond.pdf
+2023/03/29 | 12836 | systems/texlive/tlnet/archive/epstopdf.r66695.tar.xz
+2023/03/29 | 1256 | macros/latex/contrib/wargame/doc/tutorial/README.md
+2023/03/29 | 1225 | macros/latex/contrib/wargame/source/chit/modifiers.dtx
+2023/03/29 | 12119 | macros/latex/contrib/wargame/source/hex/coord.dtx
+2023/03/29 | 119380 | macros/latex/contrib/wargame/source/hex/terrain/city.dtx
+2023/03/29 | 11431 | macros/latex/contrib/wargame/source/hex/paths.dtx
+2023/03/29 | 114040 | systems/texlive/tlnet/archive/texlive-scripts.r66693.tar.xz
+2023/03/29 | 1133620 | systems/texlive/tlnet/archive/tex4ht.r66699.tar.xz
+2023/03/29 | 11263 | macros/latex/contrib/wargame/README.md
+2023/03/29 | 11120 | macros/latex/contrib/wargame/source/natoapp6c/compat/land.dtx
+2023/03/29 | 1091 | macros/latex/contrib/wargame/doc/tutorial/Makefile
+2023/03/29 | 106731 | macros/luatex/generic/luavlna.zip
+2023/03/29 | 10305 | macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py
+2023/03/29 | 10094 | info/context-notes-zh-cn/src/13.tex
+2023/03/29 | 10066 | macros/latex/contrib/wargame/source/hex/board.dtx
+2023/03/29 | 1004454 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
+2023/03/29 | 1001080 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
2023/03/28 | 9982588 | systems/texlive/tlnet/archive/context.r66691.tar.xz
+2023/03/28 | 9908 | info/context-notes-zh-cn/src/figures/12-layout-1.pdf
+2023/03/28 | 9536 | info/context-notes-zh-cn/src/figures/05-todo-list.pdf
+2023/03/28 | 9535 | info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf
+2023/03/28 | 9534 | info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf
+2023/03/28 | 9421 | info/context-notes-zh-cn/src/figures/12-slides-1.pdf
+2023/03/28 | 9205 | info/context-notes-zh-cn/src/figures/06-05.pdf
+2023/03/28 | 9171 | info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf
+2023/03/28 | 9141 | info/context-notes-zh-cn/src/figures/06-three-line-table.pdf
+2023/03/28 | 91322 | info/context-notes-zh-cn/src/figures/13-bookmarks.png
+2023/03/28 | 9125 | info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf
2023/03/28 | 911845 | macros/latex/required/babel/base/babel.pdf
+2023/03/28 | 9096 | info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf
+2023/03/28 | 8986 | info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf
2023/03/28 | 8898320 | systems/texlive/tlnet/archive/tlgs.windows.r66689.tar.xz
+2023/03/28 | 8569 | info/context-notes-zh-cn/src/figures/06-04.pdf
+2023/03/28 | 8520 | info/context-notes-zh-cn/src/figures/05-metapost.pdf
2023/03/28 | 849307 | macros/latex/required/babel/base/locale.zip
2023/03/28 | 84245980 | systems/texlive/tlnet/archive/context.doc.r66691.tar.xz
+2023/03/28 | 8381 | info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf
+2023/03/28 | 8311 | info/context-notes-zh-cn/src/figures/bad-latin.pdf
+2023/03/28 | 8190 | info/context-notes-zh-cn/src/figures/06-03.pdf
+2023/03/28 | 8168 | info/context-notes-zh-cn/src/figures/indenting-2.pdf
+2023/03/28 | 8168 | info/context-notes-zh-cn/src/figures/indenting-1.pdf
+2023/03/28 | 8166 | info/context-notes-zh-cn/src/figures/setupbodyfont.pdf
+2023/03/28 | 813 | info/context-notes-zh-cn/src/example/slides.tex
2023/03/28 | 7869 | macros/latex/required/babel/base/babel.ins
2023/03/28 | 780 | systems/texlive/tlnet/archive/latex-context-ppchtex.doc.r66687.tar.xz
+2023/03/28 | 7793 | info/context-notes-zh-cn/src/figures/breakinglines-3.pdf
+2023/03/28 | 7776 | info/context-notes-zh-cn/src/figures/breakinglines-4.pdf
+2023/03/28 | 7754 | info/context-notes-zh-cn/src/figures/breakinglines-2.pdf
+2023/03/28 | 7736 | info/context-notes-zh-cn/src/figures/breakinglines-1.pdf
2023/03/28 | 768 | systems/texlive/tlnet/archive/latex-context-ppchtex.r66687.tar.xz
2023/03/28 | 763161 | macros/latex/required/babel/base/babel.dtx
+2023/03/28 | 7465 | info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf
2023/03/28 | 744840 | systems/texlive/tlnet/archive/l3build.doc.r66686.tar.xz
+2023/03/28 | 7408 | info/context-notes-zh-cn/src/figures/aligned-2.pdf
+2023/03/28 | 7327 | info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf
+2023/03/28 | 7211 | info/context-notes-zh-cn/src/06.tex
+2023/03/28 | 7200 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/03/28 | 71998 | info/context-notes-zh-cn/src/figures/11-watermark.png
2023/03/28 | 70520117 | systems/win32/TLW64/gs10011w64full-gpl.exe
2023/03/28 | 6836 | systems/texlive/tlnet/archive/collection-latexextra.r66687.tar.xz
+2023/03/28 | 66096 | info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf
+2023/03/28 | 6557 | info/context-notes-zh-cn/src/figures/hello.png
+2023/03/28 | 6342 | info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf
+2023/03/28 | 62524 | info/context-notes-zh-cn/src/figures/msfonts.png
2023/03/28 | 62036 | systems/texlive/tlnet/archive/acmart.source.r66685.tar.xz
-2023/03/28 | 5737439 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/03/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/03/28 | 6128 | info/context-notes-zh-cn/src/figures/true-words.pdf
+2023/03/28 | 6105 | info/context-notes-zh-cn/src/figures/13-toc-2.pdf
+2023/03/28 | 6085 | info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf
+2023/03/28 | 6054 | info/context-notes-zh-cn/src/figures/13-toc.pdf
+2023/03/28 | 5909 | info/context-notes-zh-cn/src/figures/starting-area.pdf
+2023/03/28 | 5908 | info/context-notes-zh-cn/src/07.tex
+2023/03/28 | 5906 | info/context-notes-zh-cn/src/figures/foo.pdf
+2023/03/28 | 5761 | info/context-notes-zh-cn/src/05.tex
+2023/03/28 | 5697 | info/context-notes-zh-cn/src/figures/05-floatcomb.pdf
+2023/03/28 | 5697 | info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf
+2023/03/28 | 5575 | info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf
+2023/03/28 | 5056 | info/context-notes-zh-cn/src/figures/fontsize-level.pdf
+2023/03/28 | 49791 | info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf
+2023/03/28 | 49780 | info/context-notes-zh-cn/src/figures/06-01.pdf
2023/03/28 | 4855972 | systems/texlive/tlnet/archive/acmart.doc.r66685.tar.xz
-2023/03/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/03/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/03/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/03/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/03/28 | 4678 | info/context-notes-zh-cn/src/figures/pars-5.pdf
+2023/03/28 | 4671 | info/context-notes-zh-cn/src/figures/pars-3.pdf
+2023/03/28 | 4668 | info/context-notes-zh-cn/src/figures/parindentcolor.pdf
+2023/03/28 | 4656 | info/context-notes-zh-cn/src/figures/pars-4.pdf
+2023/03/28 | 4612 | info/context-notes-zh-cn/src/figures/pars-2.pdf
2023/03/28 | 43060 | systems/texlive/tlnet/archive/acmart.r66685.tar.xz
-2023/03/28 | 422736 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66683.tar.xz
-2023/03/28 | 4056028 | biblio/ctan-bibdata.zip
-2023/03/28 | 3658715 | biblio/ctan-bibdata/ctan.pdf
+2023/03/28 | 3941 | info/context-notes-zh-cn/src/figures/lines.pdf
+2023/03/28 | 3806 | info/context-notes-zh-cn/src/preface.tex
2023/03/28 | 36244 | systems/texlive/tlnet/archive/l3build.r66686.tar.xz
2023/03/28 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
+2023/03/28 | 35149 | info/context-notes-zh-cn/LICENSE
+2023/03/28 | 3506 | info/context-notes-zh-cn/src/figures/pars.pdf
+2023/03/28 | 3506 | info/context-notes-zh-cn/src/figures/fakewords.pdf
+2023/03/28 | 35012 | info/context-notes-zh-cn/src/figures/slides-finished.pdf
+2023/03/28 | 34689 | info/context-notes-zh-cn/src/figures/slides.pdf
+2023/03/28 | 3333 | info/context-notes-zh-cn/src/figures/aligned-1.pdf
+2023/03/28 | 32313 | info/context-notes-zh-cn/src/figures/ctxnotes.png
+2023/03/28 | 32305 | info/context-notes-zh-cn/src/11.tex
2023/03/28 | 31276 | systems/texlive/tlnet/archive/l3build.source.r66686.tar.xz
+2023/03/28 | 31097 | info/context-notes-zh-cn/src/figures/defaultfonts.pdf
2023/03/28 | 3071338 | install/macros/latex/required/babel-base.tds.zip
-2023/03/28 | 2773326 | biblio/ctan-bibdata/ctan.bib
+2023/03/28 | 30218 | info/context-notes-zh-cn/src/figures/tex-root.png
+2023/03/28 | 26414 | info/context-notes-zh-cn/src/figures/12-slides-4.pdf
2023/03/28 | 260908 | systems/texlive/tlnet/archive/tikz-nfold.doc.r66684.tar.xz
-2023/03/28 | 26024812 | systems/texlive/tlnet/install-tl.zip
-2023/03/28 | 2435008 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/03/28 | 26055 | info/context-notes-zh-cn/src/figures/hibert.pdf
+2023/03/28 | 24494 | info/context-notes-zh-cn/src/figures/hibert-3.pdf
+2023/03/28 | 23993 | info/context-notes-zh-cn/src/figures/hibert-1.pdf
+2023/03/28 | 23976 | info/context-notes-zh-cn/src/figures/hibert-2.pdf
2023/03/28 | 2387 | macros/latex/required/babel/base/README.md
+2023/03/28 | 23633 | info/context-notes-zh-cn/src/figures/cmd-window.png
+2023/03/28 | 22295 | info/context-notes-zh-cn/src/figures/pagenumber.png
2023/03/28 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
-2023/03/28 | 21035615 | systems/texlive/tlnet/install-tl-windows.exe
+2023/03/28 | 210831 | info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg
+2023/03/28 | 19843 | info/context-notes-zh-cn/src/figures/ctxnotes-2.png
2023/03/28 | 1962549 | macros/latex/required/babel/base.zip
-2023/03/28 | 17990215 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/03/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/03/28 | 19558 | info/context-notes-zh-cn/src/figures/fallbacks.pdf
+2023/03/28 | 1919 | info/context-notes-zh-cn/src/example/style.tex
+2023/03/28 | 18967 | info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf
+2023/03/28 | 18945 | info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf
+2023/03/28 | 1870 | info/context-notes-zh-cn/src/bib-style.tex
+2023/03/28 | 17332 | info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf
+2023/03/28 | 171 | info/context-notes-zh-cn/src/basis.tex
2023/03/28 | 1588 | systems/texlive/tlnet/archive/collection-pictures.r66684.tar.xz
-2023/03/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/03/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/03/28 | 150002 | info/context-notes-zh-cn/src/figures/win-r.jpg
2023/03/28 | 14766978 | macros/texinfo/texinfo.zip
-2023/03/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/03/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/03/28 | 1449892 | systems/texlive/tlnet/archive/tex4ht.source.r66688.tar.xz
-2023/03/28 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66688.tar.xz
-2023/03/28 | 114072 | systems/texlive/tlnet/archive/texlive-scripts.r66683.tar.xz
+2023/03/28 | 14640 | info/context-notes-zh-cn/src/01.tex
+2023/03/28 | 14431 | info/context-notes-zh-cn/src/figures/12-slides-2.pdf
+2023/03/28 | 13523 | info/context-notes-zh-cn/src/08.tex
+2023/03/28 | 13190 | info/context-notes-zh-cn/src/12.tex
+2023/03/28 | 13115 | info/context-notes-zh-cn/src/figures/breakinglines-5.pdf
+2023/03/28 | 13028 | info/context-notes-zh-cn/src/figures/zaoshu-4.pdf
+2023/03/28 | 13022 | info/context-notes-zh-cn/src/figures/zaoshu-5.pdf
+2023/03/28 | 12839 | info/context-notes-zh-cn/src/figures/12-slides-3.pdf
+2023/03/28 | 12750 | info/context-notes-zh-cn/src/10.tex
+2023/03/28 | 11728 | info/context-notes-zh-cn/src/figures/qian.pdf
+2023/03/28 | 11612 | info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf
+2023/03/28 | 114762 | info/context-notes-zh-cn/src/figures/style-file.png
2023/03/28 | 11112 | systems/texlive/tlnet/archive/tikz-nfold.r66684.tar.xz
-2023/03/28 | 1107236 | systems/texlive/tlnet/archive/tex4ht.r66688.tar.xz
+2023/03/28 | 11003 | info/context-notes-zh-cn/src/figures/letter.pdf
+2023/03/28 | 10923 | info/context-notes-zh-cn/src/02.tex
+2023/03/28 | 10785 | info/context-notes-zh-cn/src/09.tex
+2023/03/28 | 10503 | info/context-notes-zh-cn/src/figures/zaoshu-2.pdf
+2023/03/28 | 10501 | info/context-notes-zh-cn/src/figures/zaoshu-3.pdf
+2023/03/28 | 10446 | info/context-notes-zh-cn/src/04.tex
+2023/03/28 | 10334 | info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf
+2023/03/28 | 10311 | info/context-notes-zh-cn/src/figures/06-02.pdf
+2023/03/28 | 10127 | info/context-notes-zh-cn/src/figures/zaoshu.pdf
2023/03/27 | 966525 | systems/win32/miktex/tm/packages/pseudo__doc.tar.lzma
2023/03/27 | 922 | systems/win32/miktex/tm/packages/pr.ini
2023/03/27 | 9123 | systems/win32/miktex/tm/packages/greek-inputenc__source.tar.lzma
@@ -139,6 +391,7 @@
2023/03/27 | 46294 | systems/win32/miktex/tm/packages/xduts__source.tar.lzma
2023/03/27 | 45853 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2023/03/27 | 4547 | systems/win32/miktex/tm/packages/hfutexam.tar.lzma
+2023/03/27 | 4546 | macros/latex/contrib/songproj/song2tex.py
2023/03/27 | 44091 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2023/03/27 | 43882 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2023/03/27 | 43704 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
@@ -157,6 +410,7 @@
2023/03/27 | 395089 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2023/03/27 | 389961 | systems/win32/miktex/tm/packages/mpchess__source.tar.lzma
2023/03/27 | 3819606 | systems/win32/miktex/tm/packages/schule__doc.tar.lzma
+2023/03/27 | 380239 | macros/texinfo/latest/texinfo.tex
2023/03/27 | 3770 | support/TeX4ht/source/update-htfonts
2023/03/27 | 37401 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2023/03/27 | 37100 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
@@ -216,7 +470,6 @@
2023/03/27 | 23122 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
2023/03/27 | 23094 | systems/win32/miktex/tm/packages/novel__doc.tar.lzma
2023/03/27 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua
-2023/03/27 | 220181 | support/TeX4ht/source/ChangeLog
2023/03/27 | 2198 | systems/win32/miktex/tm/packages/fixdif.tar.lzma
2023/03/27 | 21549 | systems/win32/miktex/tm/packages/mpchess.tar.lzma
2023/03/27 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
@@ -781,7 +1034,6 @@
2023/03/26 | 73944 | macros/texinfo/texinfo/tp/Texinfo/Convert/Converter.pm
2023/03/26 | 7387 | macros/texinfo/texinfo/tp/tests/formatting/res_parser/documentlanguage_cmdline/documentlanguage.html
2023/03/26 | 7378 | macros/texinfo/texinfo/tp/t/results/formatting/documentlanguage_set_unknown.pl
-2023/03/26 | 7372 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/03/26 | 7364 | macros/texinfo/texinfo/tp/t/results/formatting/documentlanguage_set_option.pl
2023/03/26 | 73535 | macros/texinfo/texinfo/tp/tests/layout/res_parser/formatting_epub_nodes/formatting_epub_package/EPUB/js/info.js
2023/03/26 | 73535 | macros/texinfo/texinfo/js/info.js
@@ -4290,7 +4542,6 @@
2023/03/25 | 195 | macros/texinfo/texinfo/tp/t/results/converters_tests/simplest_no_node_section/res_info/simplest_no_node_section.info
2023/03/25 | 1958 | macros/texinfo/texinfo/tp/t/results/layout/no_monolithic/res_html/no_monolithic_toc.html
2023/03/25 | 1933 | macros/texinfo/texinfo/tp/t/results/paragraph/sole_image.pl
-2023/03/25 | 1915865 | graphics/metapost/contrib/macros/mpchess.zip
2023/03/25 | 1910 | macros/texinfo/texinfo/tp/t/results/layout/no_monolithic/res_html/no_monolithic_fot.html
2023/03/25 | 1910 | macros/texinfo/texinfo/tp/t/results/html_tests/empty_titlefont.pl
2023/03/25 | 189 | obsolete/macros/latex/contrib/latex-context-ppchtex/m-pictex.sty
@@ -4422,10 +4673,7 @@
2023/03/25 | 0 | macros/texinfo/texinfo/tp/tests/formatting/res_parser/documentlanguage_cmdline/documentlanguage.1
2023/03/25 | 0 | macros/texinfo/texinfo/tp/tests/formatting/res_parser/cpp_lines/cpp_lines.1
2023/03/24 | 9444 | systems/texlive/tlnet/archive/autoaligne.r66655.tar.xz
-2023/03/24 | 8920 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp
2023/03/24 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
-2023/03/24 | 871776 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
-2023/03/24 | 869585 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
2023/03/24 | 85044 | systems/texlive/tlnet/archive/systeme.doc.r66655.tar.xz
2023/03/24 | 8380 | systems/texlive/tlnet/archive/listofitems.r66655.tar.xz
2023/03/24 | 8344 | systems/texlive/tlnet/archive/scratch.r66655.tar.xz
@@ -4433,26 +4681,24 @@
2023/03/24 | 802140 | systems/texlive/tlnet/archive/listofitems.doc.r66655.tar.xz
2023/03/24 | 752 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
2023/03/24 | 7348 | systems/texlive/tlnet/archive/systeme.r66655.tar.xz
-2023/03/24 | 66778 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-staunty.mp
2023/03/24 | 665 | fonts/simpleicons/README.md
2023/03/24 | 6492 | systems/texlive/tlnet/archive/eso-pic.source.r66655.tar.xz
+2023/03/24 | 59719 | info/context-notes-zh-cn/src/figures/gardeninglion.jpg
2023/03/24 | 568 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.r66655.tar.xz
+2023/03/24 | 5526 | info/context-notes-zh-cn/src/figures/cow.pdf
2023/03/24 | 506808 | systems/texlive/tlnet/archive/scratch.doc.r66655.tar.xz
2023/03/24 | 5000428 | fonts/simpleicons.zip
-2023/03/24 | 41574 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp
-2023/03/24 | 413 | graphics/metapost/contrib/macros/mpchess/LICENSE
-2023/03/24 | 39827 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
2023/03/24 | 3840 | systems/texlive/tlnet/archive/eso-pic.r66655.tar.xz
2023/03/24 | 3780 | macros/xetex/latex/xduts/README.md
-2023/03/24 | 37532 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
2023/03/24 | 356128 | systems/texlive/tlnet/archive/autoaligne.doc.r66655.tar.xz
-2023/03/24 | 33514 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
+2023/03/24 | 33739 | info/context-notes-zh-cn/src/figures/bookmark.png
2023/03/24 | 334977 | macros/xetex/latex/xduts/xduts.pdf
+2023/03/24 | 30981 | info/context-notes-zh-cn/src/figures/header.png
+2023/03/24 | 29154 | info/context-notes-zh-cn/src/figures/search.png
2023/03/24 | 290941 | macros/xetex/latex/xduts/xduts.dtx
2023/03/24 | 290156 | systems/texlive/tlnet/archive/eso-pic.doc.r66655.tar.xz
2023/03/24 | 2864 | systems/texlive/tlnet/archive/simplekv.r66655.tar.xz
2023/03/24 | 2839 | fonts/simpleicons/enc/simpleiconsOne.enc
-2023/03/24 | 2769040 | graphics/metapost/contrib/macros/mpchess/doc/ctan.bib
2023/03/24 | 274 | fonts/simpleicons/tex/usimpleiconsOneZero.fd
2023/03/24 | 2749 | fonts/simpleicons/enc/simpleiconsFour.enc
2023/03/24 | 2735736 | systems/texlive/tlnet/archive/dviout.windows.r66655.tar.xz
@@ -4477,18 +4723,14 @@
2023/03/24 | 219240 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
2023/03/24 | 21892 | systems/texlive/tlnet/archive/spreadtab.r66655.tar.xz
2023/03/24 | 215052 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
-2023/03/24 | 2112 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp
2023/03/24 | 2002238 | fonts/simpleicons/doc/simpleicons.pdf
2023/03/24 | 1900460 | fonts/simpleicons/opentype/SimpleIcons.otf
2023/03/24 | 1844 | fonts/simpleicons/doc/simpleicons.tex
2023/03/24 | 18207 | CTAN.sites
2023/03/24 | 1770571 | fonts/simpleicons/type1/SimpleIcons.pfb
-2023/03/24 | 1649 | graphics/metapost/contrib/macros/mpchess/README.md
+2023/03/24 | 16045 | info/context-notes-zh-cn/src/figures/linux-terminal-icon.png
2023/03/24 | 1557 | fonts/simpleicons/tex/simpleicons.sty
-2023/03/24 | 15233 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-skak.mp
-2023/03/24 | 14344 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
2023/03/24 | 1385644 | systems/texlive/tlnet/archive/chemfig.doc.r66655.tar.xz
-2023/03/24 | 1309 | graphics/metapost/contrib/macros/mpchess/doc/fond.pdf
2023/03/24 | 130936 | systems/texlive/tlnet/archive/simplekv.doc.r66655.tar.xz
2023/03/24 | 130014 | fonts/simpleicons/doc/bindings.tex
2023/03/24 | 1268233 | macros/xetex/latex/xduts.zip
@@ -4664,94 +4906,3 @@
2023/03/23 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
2023/03/23 | 10530 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
2023/03/23 | 10074 | macros/latex/contrib/profcollege/latex/PfCRose.tex
-2023/03/22 | 958 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
-2023/03/22 | 95069 | macros/latex/contrib/hfutexam/hfutexam_shijuan.pdf
-2023/03/22 | 94295 | macros/latex/contrib/hfutexam/hfutexam_cankaodaan.pdf
-2023/03/22 | 89548 | systems/texlive/tlnet/archive/stex.r66640.tar.xz
-2023/03/22 | 877024 | systems/texlive/tlnet/archive/biblatex-ext.doc.r66641.tar.xz
-2023/03/22 | 8499 | support/TeX4ht/source/mktex4ht-cnf.tex
-2023/03/22 | 8424 | systems/texlive/tlnet/archive/principia.r66625.tar.xz
-2023/03/22 | 8208 | systems/texlive/tlnet/archive/flexipage.source.r66614.tar.xz
-2023/03/22 | 79892 | systems/texlive/tlnet/archive/auto-pst-pdf-lua.doc.r66637.tar.xz
-2023/03/22 | 771 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
-2023/03/22 | 7327 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
-2023/03/22 | 72748 | systems/texlive/tlnet/archive/latexindent.r66624.tar.xz
-2023/03/22 | 72652 | macros/latex/contrib/hfutexam/hfutexam_datizhi.pdf
-2023/03/22 | 7120 | systems/texlive/tlnet/archive/pdfmsym.r66618.tar.xz
-2023/03/22 | 6868 | systems/texlive/tlnet/archive/pseudo.r66638.tar.xz
-2023/03/22 | 6864 | systems/texlive/tlnet/archive/greek-inputenc.r66634.tar.xz
-2023/03/22 | 66969 | systems/texlive/tlnet/tlpkg/translations/pl.po
-2023/03/22 | 6668 | systems/texlive/tlnet/archive/babel-greek.r66610.tar.xz
-2023/03/22 | 6664 | systems/texlive/tlnet/archive/zebra-goodies.source.r66630.tar.xz
-2023/03/22 | 66112 | systems/texlive/tlnet/archive/siunitx.r66627.tar.xz
-2023/03/22 | 660340 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles.zip
-2023/03/22 | 660116 | systems/texlive/tlnet/archive/greek-inputenc.doc.r66634.tar.xz
-2023/03/22 | 657335 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf
-2023/03/22 | 6368 | systems/texlive/tlnet/archive/linebreaker.r66639.tar.xz
-2023/03/22 | 6246396 | systems/texlive/tlnet/archive/stex.doc.r66640.tar.xz
-2023/03/22 | 623032 | support/TeX4ht/source/tex4ht-html4.tex
-2023/03/22 | 615976 | systems/texlive/tlnet/archive/lt3rawobjects.doc.r66619.tar.xz
-2023/03/22 | 606380 | systems/texlive/tlnet/archive/fenetrecas.doc.r66611.tar.xz
-2023/03/22 | 604008 | systems/texlive/tlnet/archive/tikz-ext.doc.r66623.tar.xz
-2023/03/22 | 600892 | macros/latex/contrib/hfutexam.zip
-2023/03/22 | 561 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
-2023/03/22 | 5604883 | language/devanagari/velthuis.zip
-2023/03/22 | 5416 | systems/texlive/tlnet/archive/fnbreak.source.r66615.tar.xz
-2023/03/22 | 51572 | systems/texlive/tlnet/archive/linebreaker.doc.r66639.tar.xz
-2023/03/22 | 5143 | macros/latex/contrib/hfutexam/hfutexam_cankaodaan.tex
-2023/03/22 | 5000796 | systems/texlive/tlnet/archive/egpeirce.doc.r66636.tar.xz
-2023/03/22 | 4848020 | systems/texlive/tlnet/archive/tcolorbox.doc.r66620.tar.xz
-2023/03/22 | 48340 | systems/texlive/tlnet/archive/stex.source.r66640.tar.xz
-2023/03/22 | 4624 | systems/texlive/tlnet/archive/lt3rawobjects.r66619.tar.xz
-2023/03/22 | 440356 | systems/texlive/tlnet/archive/principia.doc.r66625.tar.xz
-2023/03/22 | 42784 | systems/texlive/tlnet/archive/bithesis.source.r66622.tar.xz
-2023/03/22 | 423136 | systems/texlive/tlnet/archive/biblatex-publist.doc.r66613.tar.xz
-2023/03/22 | 40112 | systems/texlive/tlnet/archive/schule.r66635.tar.xz
-2023/03/22 | 3912 | systems/texlive/tlnet/archive/flexipage.r66614.tar.xz
-2023/03/22 | 3901 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
-2023/03/22 | 3855300 | systems/texlive/tlnet/archive/schule.doc.r66635.tar.xz
-2023/03/22 | 3546560 | systems/texlive/tlnet/archive/latexindent.windows.r66624.tar.xz
-2023/03/22 | 3436 | systems/texlive/tlnet/archive/fenetrecas.r66611.tar.xz
-2023/03/22 | 3415 | macros/latex/contrib/hfutexam/hfutexam_shijuan.tex
-2023/03/22 | 32536 | systems/texlive/tlnet/archive/greek-fontenc.r66612.tar.xz
-2023/03/22 | 30880 | systems/texlive/tlnet/archive/photobook.r66629.tar.xz
-2023/03/22 | 2995 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
-2023/03/22 | 292876 | systems/texlive/tlnet/archive/flexipage.doc.r66614.tar.xz
-2023/03/22 | 29220 | systems/texlive/tlnet/archive/biblatex-ext.r66641.tar.xz
-2023/03/22 | 285264 | systems/texlive/tlnet/archive/warning.doc.r66616.tar.xz
-2023/03/22 | 2835 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
-2023/03/22 | 27688 | systems/texlive/tlnet/archive/tikz-ext.r66623.tar.xz
-2023/03/22 | 2500 | systems/texlive/tlnet/archive/auto-pst-pdf-lua.r66637.tar.xz
-2023/03/22 | 24428 | systems/texlive/tlnet/archive/babel-greek.source.r66610.tar.xz
-2023/03/22 | 2430908 | systems/texlive/tlnet/archive/greek-fontenc.doc.r66612.tar.xz
-2023/03/22 | 234168 | systems/texlive/tlnet/archive/pdfmsym.doc.r66618.tar.xz
-2023/03/22 | 23372 | systems/texlive/tlnet/archive/bithesis.r66622.tar.xz
-2023/03/22 | 2332 | systems/texlive/tlnet/archive/zebra-goodies.r66630.tar.xz
-2023/03/22 | 232704 | systems/texlive/tlnet/archive/tcolorbox.r66620.tar.xz
-2023/03/22 | 220880 | systems/texlive/tlnet/archive/schulmathematik.doc.r66626.tar.xz
-2023/03/22 | 217180 | macros/latex/contrib/hfutexam/hfutexam.pdf
-2023/03/22 | 20564 | systems/texlive/tlnet/archive/egpeirce.r66636.tar.xz
-2023/03/22 | 2048 | systems/texlive/tlnet/archive/fnbreak.r66615.tar.xz
-2023/03/22 | 204620 | systems/texlive/tlnet/archive/fnbreak.doc.r66615.tar.xz
-2023/03/22 | 17980 | systems/texlive/tlnet/archive/tex4ebook.r66621.tar.xz
-2023/03/22 | 1677980 | systems/texlive/tlnet/archive/babel-greek.doc.r66610.tar.xz
-2023/03/22 | 1672 | systems/texlive/tlnet/archive/warning.r66616.tar.xz
-2023/03/22 | 1649 | macros/latex/contrib/hfutexam/hfutexam_datizhi.tex
-2023/03/22 | 152228 | systems/texlive/tlnet/archive/photobook.doc.r66629.tar.xz
-2023/03/22 | 14420 | systems/texlive/tlnet/archive/lt3rawobjects.source.r66619.tar.xz
-2023/03/22 | 1319460 | systems/texlive/tlnet/archive/latexindent.doc.r66624.tar.xz
-2023/03/22 | 13136 | systems/texlive/tlnet/archive/schulmathematik.r66626.tar.xz
-2023/03/22 | 13119 | macros/latex/contrib/hfutexam/hfutexam.tex
-2023/03/22 | 1298 | macros/latex/contrib/hfutexam/CHANGELOG.md
-2023/03/22 | 1268704 | systems/texlive/tlnet/archive/siunitx.doc.r66627.tar.xz
-2023/03/22 | 12244 | systems/texlive/tlnet/archive/biblatex-publist.r66613.tar.xz
-2023/03/22 | 117920 | systems/texlive/tlnet/archive/siunitx.source.r66627.tar.xz
-2023/03/22 | 11603 | macros/latex/contrib/hfutexam/hfutexam.cls
-2023/03/22 | 1137 | language/devanagari/velthuis/doc/devnag.1
-2023/03/22 | 113408 | systems/texlive/tlnet/archive/zebra-goodies.doc.r66630.tar.xz
-2023/03/22 | 112298 | macros/latex/contrib/hfutexam/hfutexam_simple.pdf
-2023/03/22 | 1072 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/LICENSE
-2023/03/22 | 1065072 | systems/texlive/tlnet/archive/bithesis.doc.r66622.tar.xz
-2023/03/22 | 10579 | macros/latex/contrib/hfutexam/hfutexam_simple.tex
-2023/03/22 | 1026976 | systems/texlive/tlnet/archive/pseudo.doc.r66638.tar.xz
-2023/03/22 | 101344 | systems/texlive/tlnet/archive/tex4ebook.doc.r66621.tar.xz
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 66f1e500c9..dcabe02eec 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 29-03-2023, 02:00:12
+%% created at 30-03-2023, 02:00:12
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -14848,9 +14848,9 @@
title = {The \texttt{context-notes-zh-cn} package},
subtitle = {Notes on using ConTeXt MkIV},
author = {Yanrui Li},
- date = {2023-03-20},
+ date = {2023-03-29},
version = {},
- license = {gpl},
+ license = {gpl3},
mirror = {https://mirror.ctan.org/info/context-notes-zh-cn},
url = {https://ctan.org/pkg/context-notes-zh-cn},
}
@@ -41471,8 +41471,8 @@
title = {The \texttt{luavlna} package},
subtitle = {Prevent line breaks after single letter words, units, or academic titles},
author = {Michal Hoftich},
- date = {2022-08-17},
- version = {0.1j},
+ date = {2023-03-29},
+ version = {0.1k},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/luatex/generic/luavlna},
url = {https://ctan.org/pkg/luavlna},
@@ -45870,9 +45870,9 @@
title = {The \texttt{MPchess} package},
subtitle = {Drawing chess boards and positions with MetaPost},
author = {Maxime Chupin},
- date = {2023-03-28},
- version = {0.1},
- license = {lppl1.3c},
+ date = {2023-03-29},
+ version = {0.3},
+ license = {lppl1.3c,gpl2+},
mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mpchess},
url = {https://ctan.org/pkg/mpchess},
}
@@ -62922,8 +62922,8 @@
title = {The \texttt{songproj} package},
subtitle = {Generate Beamer slideshows with song lyrics},
author = {Tanguy Ortolo},
- date = {2022-11-16},
- version = {1.0.1},
+ date = {2023-03-29},
+ version = {1.2.0},
license = {bsd3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/songproj},
url = {https://ctan.org/pkg/songproj},
@@ -74630,8 +74630,8 @@
title = {The \texttt{wargame} package},
subtitle = {A \LaTeX{} package to prepare hex'n'counter wargames},
author = {Christian Holm Christensen},
- date = {2022-10-07},
- version = {0.3.2},
+ date = {2023-03-29},
+ version = {0.5},
license = {cc-by-sa-4},
mirror = {https://mirror.ctan.org/macros/latex/contrib/wargame},
url = {https://ctan.org/pkg/wargame},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index 80272db8bd..04ad9e563e 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mpchess/LICENSE b/graphics/metapost/contrib/macros/mpchess/LICENSE
index 9ae4fb7034..130ede1e51 100644
--- a/graphics/metapost/contrib/macros/mpchess/LICENSE
+++ b/graphics/metapost/contrib/macros/mpchess/LICENSE
@@ -1,10 +1,10 @@
This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
+and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
This work has the LPPL maintenance status “maintained”.
diff --git a/graphics/metapost/contrib/macros/mpchess/README.md b/graphics/metapost/contrib/macros/mpchess/README.md
index f4a92473c0..20f8bf4275 100644
--- a/graphics/metapost/contrib/macros/mpchess/README.md
+++ b/graphics/metapost/contrib/macros/mpchess/README.md
@@ -1,4 +1,4 @@
-# mpchess
+# MPchess
This package allows you to draw chess boards and positions. The appearance of
the drawings is modern and largely inspired by what is offered by the excellent
@@ -30,7 +30,7 @@ MPchess consists of 7 files METAPOST :
* `mpchess-pgn.mp`;
* `mpchess-fen.mp`;
* `mpchess-cburnett.mp`;
-* `mpchess-staunty.mp`;
+* `mpchess-pieces.mp`;
* `mpchess-skak.mp`.
Once this is done, MPchess will be loaded with the classic
@@ -52,4 +52,9 @@ used with LuaLaTeX and luamplib, `latexmp`.
## Documentation
* [English documentation](doc/mpchess-doc-en.pdf)
-* [Documentation en français](doc/mpchess-doc-fr.pdf) \ No newline at end of file
+* [Documentation en français](doc/mpchess-doc-fr.pdf)
+
+## Licenses
+
+This projet is under LATEX Project Public License 1.3c but the file
+`mpchess-cburnett` is under GPLv2+ as asked by the author. \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/ctan.bib b/graphics/metapost/contrib/macros/mpchess/doc/ctan.bib
index 8b712f6c29..f8713525c0 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/ctan.bib
+++ b/graphics/metapost/contrib/macros/mpchess/doc/ctan.bib
@@ -1,29024 +1,3 @@
-%% bib file of all CTAN packages
-%% (C) Herbert Voß
-%%
-%% created at 13-03-2023, 02:01:16
-%%
-
-%% This file is provided under the terms of the LPPL v1.3 or
-%% later. Full text see https://ctan.org/license/lppl1.3
-
-%%
-
-@manual{ctan-a0poster,
- title = {The \texttt{a0poster} package},
- subtitle = {Support for designing posters on large paper},
- author = {Gerlinde Kettl and Matthias Weiser},
- date = {2016-06-24},
- version = {1.22b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/a0poster},
- url = {https://ctan.org/pkg/a0poster},
- annotation = {Provides fonts in sizes of 12pt up to 107pt and also makes sure
- that in math formulas the symbols appear in the right size. Can
- also create a PostScript header file for
- which ensures that the poster will be
- printed in the right size. Supported sizes are DIN A0, DIN A1,
- DIN A2 and DIN A3.},
-}
-
-@manual{ctan-a2ac,
- title = {The \texttt{a2ac} package},
- subtitle = {AFM to AFM plus Composites},
- author = {Petr Olšák},
- date = {2016-06-24},
- version = {2},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/utilities/a2ac},
- url = {https://ctan.org/pkg/a2ac},
-}
-
-@manual{ctan-a2ping,
- title = {The \texttt{a2ping} package},
- subtitle = {Advanced PS, PDF, EPS converter},
- author = {Péter Szabó},
- date = {2019-11-28},
- version = {2.84p},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/a2ping},
- url = {https://ctan.org/pkg/a2ping},
- annotation = {a2ping is a Perl script command line utility written for Unix that
- converts many raster image and vector graphics formats to EPS or
- PDF and other page description formats. Accepted input file
- formats are: PS (PostScript), EPS, PDF, PNG, JPEG, TIFF, PNM,
- BMP, GIF, LBM, XPM, PCX, TGA. Accepted output formats are: EPS,
- PCL5, PDF, PDF1, PBM, PGM, PPM, PS, markedEPS, markedPS, PNG,
- XWD, BMP, TIFF, JPEG, GIF, XPM. a2ping delegates the low-level
- work to Ghostscript (GS), pdftops and
- . a2ping fixes many
- glitches during the EPS to EPS conversion, so its output is
- often more compatible and better embeddable than its input.},
-}
-
-@manual{ctan-a4,
- title = {The \texttt{a4} package},
- subtitle = {Support for A4 paper sizes},
- author = {Nico Poppelier and Johannes L. Braams},
- date = {2020-02-23},
- version = {1.2g},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ntgclass},
- url = {https://ctan.org/pkg/a4},
-}
-
-@manual{ctan-a4wide,
- title = {The \texttt{a4wide} package},
- subtitle = {"Wide" a4 layout},
- author = {Alexander Holt and Jean-François Lamy},
- date = {2016-06-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/a4wide},
- url = {https://ctan.org/pkg/a4wide},
-}
-
-@manual{ctan-a5comb,
- title = {The \texttt{a5comb} package},
- subtitle = {Support for a5 paper sizes},
- author = {Mario Wolczko},
- date = {2016-06-24},
- version = {4},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/a5comb},
- url = {https://ctan.org/pkg/a5comb},
- annotation = {Superceded by .},
-}
-
-@manual{ctan-aaai-named,
- title = {The \texttt{aaai-named} package},
- subtitle = {BibTeX style for AAAI},
- author = {Peter Patel-Schneider},
- date = {2019-10-23},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/aaai-named.bst},
- url = {https://ctan.org/pkg/aaai-named},
- annotation = {A BibTeX style derived from the standard master, presumably for use
- with the package.},
-}
-
-@manual{ctan-aaai,
- title = {The \texttt{aaai} package},
- subtitle = {AAAI style},
- author = {Peter Patel-Schneider},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/contrib/aaai},
- url = {https://ctan.org/pkg/aaai},
-}
-
-@manual{ctan-aalok,
- title = {The \texttt{Aalok} package},
- subtitle = {\LaTeX{} class file for the Marathi journal ‘Aalok’},
- author = {{Unknown}},
- date = {2022-01-21},
- version = {0.6},
- license = {gpl3+,other-free,fdl},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/aalok},
- url = {https://ctan.org/pkg/aalok},
-}
-
-@manual{ctan-aastex,
- title = {The \texttt{aastex} package},
- subtitle = {Macros for Manuscript Preparation for AAS Journals},
- author = {{American Astronomical Society}},
- date = {2021-03-01},
- version = {6.3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aastex},
- url = {https://ctan.org/pkg/aastex},
-}
-
-@manual{ctan-abbr,
- title = {The \texttt{abbr} package},
- subtitle = {Simple macros supporting abreviations for Plain and \LaTeX{}},
- author = {Hàn Thế Thành},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/abbr},
- url = {https://ctan.org/pkg/abbr},
- annotation = {The package provides some simple macros to support abbreviations in
- Plain \TeX{} or \LaTeX{}. It allows writing (e.g.)
- instead of , hence frees users from having to escape
- space after parameterless macros.},
-}
-
-@manual{ctan-abbrevs,
- title = {The \texttt{abbrevs} package},
- subtitle = {Text abbreviations in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/abbrevs},
-}
-
-@manual{ctan-abc,
- title = {The \texttt{abc} package},
- subtitle = {Support ABC music notation in \LaTeX{}},
- author = {Enrico Gregorio},
- date = {2016-06-24},
- version = {2.0b},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/abc},
- url = {https://ctan.org/pkg/abc},
- annotation = {The abc package lets you include lines of music written in the
- language.
- The package will then employ the facility to
- convert your notation to PostScript (using the established utility
- abcm2ps) and hence to the format needed for inclusion in your
- document.},
-}
-
-@manual{ctan-abc2mtex,
- title = {The \texttt{abc2mtex} package},
- subtitle = {Notate tunes stored in ABC notation},
- author = {Chris Walshaw},
- date = {2020-09-10},
- version = {1.6.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/abc2mtex},
- url = {https://ctan.org/pkg/abc2mtex},
- annotation = {A package to notate tunes stored in an ascii format (abc
- notation, commonly used to notate traditional music).
- One of the most important aims of ABC notation,
- and perhaps one that distinguishes it from most, if not
- all, computer-readable musical languages is that it can be
- easily read by humans. The package produces files that can
- be processed with .},
-}
-
-@manual{ctan-abnt,
- title = {The \texttt{abnt} package},
- subtitle = {Typesetting academic works according to ABNT rules},
- author = {Youssef Cherem},
- date = {2021-03-09},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/abnt},
- url = {https://ctan.org/pkg/abnt},
-}
-
-@manual{ctan-abntex2,
- title = {The \texttt{abntex2} package},
- subtitle = {Typeset technical and scientific Brazilian documents based on ABNT rules},
- author = {Lauro César Araujo},
- date = {2018-11-25},
- version = {1.9.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/abntex2},
- url = {https://ctan.org/pkg/abntex2},
-}
-
-@manual{ctan-abntexto,
- title = {The \texttt{abntexto} package},
- subtitle = {\LaTeX{} class for formatting academic papers in ABNT standards},
- author = {Elayson Abreu},
- date = {2023-01-31},
- version = {2.0.0-alpha},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/abntexto},
- url = {https://ctan.org/pkg/abntexto},
-}
-
-@manual{ctan-aboensis,
- title = {The \texttt{Aboensis} package},
- subtitle = {A late medieval OpenType cursive font},
- author = {Tommi Syrjänen},
- date = {2022-04-06},
- version = {},
- license = {ofl,lppl1.3c,cc-by-4,pd},
- mirror = {https://mirror.ctan.org/fonts/aboensis},
- url = {https://ctan.org/pkg/aboensis},
-}
-
-@manual{ctan-abraces,
- title = {The \texttt{abraces} package},
- subtitle = {Asymmetric over-/underbraces in maths},
- author = {Werner Grundlingh},
- date = {2022-11-06},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/abraces},
- url = {https://ctan.org/pkg/abraces},
- annotation = {The package provides a character key-driven interface to
- supplement new constructions of the traditional
- and pairs
- in an asymmetric or arbitrary way.},
-}
-
-@manual{ctan-abspos,
- title = {The \texttt{abspos} package},
- subtitle = {Absolute placement with coffins},
- author = {Magnus Lie Hetland},
- date = {2022-09-24},
- version = {0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/abspos},
- url = {https://ctan.org/pkg/abspos},
-}
-
-@manual{ctan-abstbook,
- title = {The \texttt{abstbook} package},
- subtitle = {Books of abstracts},
- author = {Denis Havlik},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/abstbook.cls},
- url = {https://ctan.org/pkg/abstbook},
- annotation = {A \LaTeX{} class file for making ‘books of
- abstracts’, commonly used for conferences. It is based
- on report class, however has been redefined
- and shouldn't be used.},
-}
-
-@manual{ctan-abstr-collect,
- title = {The \texttt{abstr-collect} package},
- subtitle = {Print a collection of abstracts},
- author = {Silvano Balemi},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/abstr_collect},
- url = {https://ctan.org/pkg/abstr-collect},
-}
-
-@manual{ctan-abstract,
- title = {The \texttt{abstract} package},
- subtitle = {Control the typesetting of the abstract environment},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/abstract},
- url = {https://ctan.org/pkg/abstract},
-}
-
-@manual{ctan-abstyles-babel,
- title = {The \texttt{abstyles-babel} package},
- subtitle = {Adaptable styles for use with Babel},
- author = {Tomás Bautista},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/abstyles-babel},
- url = {https://ctan.org/pkg/abstyles-babel},
- annotation = {This set of BibTeX styles is a version of the
- , modified so
- that the styles react to operations.},
-}
-
-@manual{ctan-abstyles-orig,
- title = {The \texttt{abstyles-orig} package},
- subtitle = {Adaptable BibTeX styles},
- author = {Hans-Hermann Bode},
- date = {2018-01-06},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/abstyles},
- url = {https://ctan.org/pkg/abstyles-orig},
-}
-
-@manual{ctan-academicons,
- title = {The \texttt{academicons} package},
- subtitle = {Font containing high quality icons of online academic profiles},
- author = {Diogo A. B. Fernandes},
- date = {2022-03-10},
- version = {1.9.1-2},
- license = {lppl1.3c,ofl},
- mirror = {https://mirror.ctan.org/fonts/academicons},
- url = {https://ctan.org/pkg/academicons},
-}
-
-@manual{ctan-accanthis,
- title = {The \texttt{accanthis} package},
- subtitle = {Accanthis fonts, with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-28},
- version = {},
- license = {gpl2+,lppl},
- mirror = {https://mirror.ctan.org/fonts/accanthis},
- url = {https://ctan.org/pkg/accanthis},
-}
-
-@manual{ctan-accenti,
- title = {The \texttt{accenti} package},
- subtitle = {Extra accented character macros, designed for Italian},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {2.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio/accenti.dtx},
- url = {https://ctan.org/pkg/accenti},
-}
-
-@manual{ctan-accents-cs,
- title = {The \texttt{accents-cs} package},
- subtitle = {Create a VF for the accents used in Czech/Slovak},
- author = {Jiří Zlatuška},
- date = {2016-06-24},
- version = {1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/accents},
- url = {https://ctan.org/pkg/accents-cs},
-}
-
-@manual{ctan-accents,
- title = {The \texttt{accents} package},
- subtitle = {Multiple mathematical accents},
- author = {Javier Bezos López},
- date = {2019-07-06},
- version = {1.4},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/accents},
- url = {https://ctan.org/pkg/accents},
-}
-
-@manual{ctan-accessibility,
- title = {The \texttt{accessibility} package},
- subtitle = {Create tagged and structured PDF files},
- author = {Andrew Clifton},
- date = {2021-03-04},
- version = {2.0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/accessibility},
- url = {https://ctan.org/pkg/accessibility},
-}
-
-@manual{ctan-accfonts,
- title = {The \texttt{accfonts} package},
- subtitle = {Utilities to derive new fonts from existing ones},
- author = {John Smith},
- date = {2018-01-06},
- version = {0.25},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/accfonts},
- url = {https://ctan.org/pkg/accfonts},
- annotation = {The accfonts package contains three utilities to permit easy
- manipulation of fonts, in particular the creation of unusual
- accented characters. Mkt1font works on Adobe Type 1 fonts,
- vpl2vpl works on \TeX{} virtual fonts and vpl2ovp transforms a \TeX{}
- font to an Omega one. All three programs read in a font (either
- the font itself or a property list), together with a simple
- definition file containing lines such as
- ‘’; they then write out a new version
- of the font with the requested new characters in the numerical
- slots specified. Great care is taken over the positioning of
- accents, and over the provision of kerning information for new
- characters; mkt1font also generates suitable
- “hints” to enhance quality at small sizes or poor
- resolutions. The programs are written in Perl.},
-}
-
-@manual{ctan-accsupp,
- title = {The \texttt{accsupp} package},
- subtitle = {Better accessibility support for PDF files},
- author = {Heiko Oberdiek},
- date = {2019-12-07},
- version = {0.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/accsupp},
- url = {https://ctan.org/pkg/accsupp},
-}
-
-@manual{ctan-achemso,
- title = {The \texttt{achemso} package},
- subtitle = {Support for American Chemical Society journal submissions},
- author = {Joseph Wright and Mats Dahlgren},
- date = {2022-11-25},
- version = {3.13f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/achemso},
- url = {https://ctan.org/pkg/achemso},
-}
-
-@manual{ctan-achicago-bst,
- title = {The \texttt{achicago-bst} package},
- subtitle = {Chicago Manual BibTeX style},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/achicago-bst},
-}
-
-@manual{ctan-achicago,
- title = {The \texttt{achicago} package},
- subtitle = {Chicago Manual citations in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/achicago},
-}
-
-@manual{ctan-acm,
- title = {The \texttt{acm} package},
- subtitle = {ACM document style},
- author = {Jerry Leichter},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/acm},
- url = {https://ctan.org/pkg/acm},
-}
-
-@manual{ctan-acmart,
- title = {The \texttt{acmart} package},
- subtitle = {Class for typesetting publications of ACM},
- author = {Boris Veytsman},
- date = {2022-11-07},
- version = {1.88},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acmart},
- url = {https://ctan.org/pkg/acmart},
-}
-
-@manual{ctan-acmconf,
- title = {The \texttt{acmconf} package},
- subtitle = {Class for ACM conference proceedings},
- author = {Jürgen Vollmer},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acmconf},
- url = {https://ctan.org/pkg/acmconf},
-}
-
-@manual{ctan-acmproc,
- title = {The \texttt{acmproc} package},
- subtitle = {Style option for ACM proceedings},
- author = {Leslie Lamport},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/acmproc.sty},
- url = {https://ctan.org/pkg/acmproc},
-}
-
-@manual{ctan-acmtrans,
- title = {The \texttt{acmtrans} package},
- subtitle = {Class and BibTeX style for ACM Transactions},
- author = {Leslie Lamport and Andrew W. Appel and John Tang Boyland},
- date = {2021-09-11},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/acmtrans},
- url = {https://ctan.org/pkg/acmtrans},
-}
-
-@manual{ctan-acro,
- title = {The \texttt{acro} package},
- subtitle = {Typeset acronyms},
- author = {Clemens Niederberger},
- date = {2022-04-01},
- version = {3.8},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acro},
- url = {https://ctan.org/pkg/acro},
-}
-
-@manual{ctan-acroflex,
- title = {The \texttt{acroflex} package},
- subtitle = {Create a graphing widget in a PDF file},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.7},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/acroflex},
- url = {https://ctan.org/pkg/acroflex},
-}
-
-@manual{ctan-acromake,
- title = {The \texttt{acromake} package},
- subtitle = {Make commands for acronyms},
- author = {Paul A. Thompson},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acromake},
- url = {https://ctan.org/pkg/acromake},
- annotation = {The command defines a command that will expand to an
- acronym and its definition (on first use) and just the acronym
- thereafter.},
-}
-
-@manual{ctan-acromemory,
- title = {The \texttt{AcroMemory} package},
- subtitle = {Memory games in \LaTeX{}},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_pro/acromemory},
- url = {https://ctan.org/pkg/acromemory},
-}
-
-@manual{ctan-acronym,
- title = {The \texttt{acronym} package},
- subtitle = {Expand acronyms at least once},
- author = {Tobias Oetiker and Heiko Oberdiek},
- date = {2020-04-11},
- version = {1.47},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acronym},
- url = {https://ctan.org/pkg/acronym},
-}
-
-@manual{ctan-acronym209,
- title = {The \texttt{acronym209} package},
- subtitle = {An algorithm package developed for \LaTeX{} 2.09},
- author = {John Kewley},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/acronym.sty},
- url = {https://ctan.org/pkg/acronym209},
-}
-
-@manual{ctan-acroreloadpdf,
- title = {The \texttt{acroreloadpdf} package},
- subtitle = {Reload-the-current-PDF utility for Adobe Reader on Unix systems},
- author = {Alexander Grahn},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/acroreloadpdf},
- url = {https://ctan.org/pkg/acroreloadpdf},
-}
-
-@manual{ctan-acrosort,
- title = {The \texttt{AcroSort} package},
- subtitle = {Sort sliced image into order},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.6.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_pro/acrosort},
- url = {https://ctan.org/pkg/acrosort},
-}
-
-@manual{ctan-acroterm,
- title = {The \texttt{acroterm} package},
- subtitle = {Manage and index acronyms and terms},
- author = {Jakob Voß},
- date = {2021-08-26},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acroterm},
- url = {https://ctan.org/pkg/acroterm},
-}
-
-@manual{ctan-acrotex-js,
- title = {The \texttt{acrotex-js} package},
- subtitle = {JavaScript files used by acrotex and other packages},
- author = {Donald P. Story},
- date = {2021-11-07},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acrotex-js},
- url = {https://ctan.org/pkg/acrotex-js},
- annotation = {In the distribution of this package are two critical JavaScript files
- ( and ) used by the packages
- ,
- ,
- , and
- .
- Previously these JS files where distributed with
- the individual packages, now they are distributed
- by this package and must be installed according to
- the instructions in the folder.},
-}
-
-@manual{ctan-acrotex-web,
- title = {The \texttt{acrotex-web} package},
- subtitle = {Establish a page layout for an on-screen (PDF) document},
- author = {Donald P. Story},
- date = {2021-05-12},
- version = {6.1.7},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acrotex},
- url = {https://ctan.org/pkg/acrotex-web},
-}
-
-@manual{ctan-acrotex,
- title = {The \texttt{acrotex} package},
- subtitle = {The AcroTeX education bundle},
- author = {Donald P. Story},
- date = {2022-12-13},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acrotex},
- url = {https://ctan.org/pkg/acrotex},
-}
-
-@manual{ctan-acroweb,
- title = {The \texttt{acroweb} package},
- subtitle = {Scripts to create interactive tests from a database},
- author = {Robert Mařík},
- date = {2016-06-24},
- version = {0.79},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/acroweb},
- url = {https://ctan.org/pkg/acroweb},
- annotation = {The AcroWeb script collection offers a tool for creation of
- interactive PDF tests on the fly on the Internet, using the
- and
- pdfLaTeX; it does not require too much knowledge of \LaTeX{}. The
- questions are stored in a plain text database.},
-}
-
-@manual{ctan-acs,
- title = {The \texttt{acs} package},
- subtitle = {\LaTeX{} 2.09 support for Advances in Control Systems},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/acs},
- url = {https://ctan.org/pkg/acs},
-}
-
-@manual{ctan-active-conf,
- title = {The \texttt{active-conf} package},
- subtitle = {Class for typesetting ACTIVE conference papers},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {0.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/conferences/active-conf},
- url = {https://ctan.org/pkg/active-conf},
-}
-
-@manual{ctan-actuarialangle,
- title = {The \texttt{actuarialangle} package},
- subtitle = {Angle symbol denoting a duration in actuarial and financial notation},
- author = {Vincent Goulet},
- date = {2019-06-13},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/actuarialangle},
- url = {https://ctan.org/pkg/actuarialangle},
-}
-
-@manual{ctan-actuarialsymbol,
- title = {The \texttt{actuarialsymbol} package},
- subtitle = {Actuarial symbols of life contingencies and financial mathematics},
- author = {Vincent Goulet and David Beauchemin},
- date = {2019-06-14},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/actuarialsymbol},
- url = {https://ctan.org/pkg/actuarialsymbol},
-}
-
-@manual{ctan-adami,
- title = {The \texttt{adami} package},
- subtitle = {A DOS system for working with Tamil},
- author = {K Srinivasan},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/indian/adami90.zip},
- url = {https://ctan.org/pkg/adami},
-}
-
-@manual{ctan-add-wes,
- title = {The \texttt{add-wes} package},
- subtitle = {A "book" style for Addison-Wesley house style},
- author = {Paul Barton-Davis and Niall Mansfield},
- date = {2020-08-29},
- version = {1.05},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/add-wes.sty},
- url = {https://ctan.org/pkg/add-wes},
-}
-
-@manual{ctan-addfont,
- title = {The \texttt{addfont} package},
- subtitle = {Easier use of fonts without \LaTeX{} support},
- author = {Palle Jørgensen},
- date = {2021-03-20},
- version = {1.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/addfont},
- url = {https://ctan.org/pkg/addfont},
-}
-
-@manual{ctan-addindex,
- title = {The \texttt{addindex} package},
- subtitle = {Add index entries to \LaTeX{} document},
- author = {Yossi Gil},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/indexing/addindex},
- url = {https://ctan.org/pkg/addindex},
- annotation = {Addindex is C/Lex program to add index entries to a \LaTeX{}
- document. You start with a ‘names database’,
- which looks like the section of a BibTeX
- database; addindex scans your \LaTeX{} file for strings in the
- database, and adds commands for each match.},
-}
-
-@manual{ctan-addliga,
- title = {The \texttt{addliga} package},
- subtitle = {Access basic ligatures in legacy TrueType fonts},
- author = {Daniel Benjamin Miller},
- date = {2019-05-03},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/addliga},
- url = {https://ctan.org/pkg/addliga},
-}
-
-@manual{ctan-addlines,
- title = {The \texttt{addlines} package},
- subtitle = {A user-friendly wrapper around \textbackslash{}enlargethispage},
- author = {Will Robertson},
- date = {2018-12-05},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/addlines},
- url = {https://ctan.org/pkg/addlines},
-}
-
-@manual{ctan-address,
- title = {The \texttt{address} package},
- subtitle = {Generate form letters and address labels},
- author = {Michael Wester and Jackie Damrau},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/address},
- url = {https://ctan.org/pkg/address},
-}
-
-@manual{ctan-addtex2eps,
- title = {The \texttt{AddTeX2Eps} package},
- subtitle = {Use \LaTeX{} syntax on EPS figures, within Mathematica},
- author = {Janko Slavič},
- date = {2016-06-24},
- version = {1.15},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/AddTeX2Eps},
- url = {https://ctan.org/pkg/addtex2eps},
- annotation = {This Mathematica script permits the user to write
- commands at the same place as
- the fragments for replacement are defined.},
-}
-
-@manual{ctan-adfathesis,
- title = {The \texttt{adfathesis} package},
- subtitle = {Australian Defence Force Academy thesis format},
- author = {Stephen Harker},
- date = {2016-06-24},
- version = {2.42},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/adfathesis},
- url = {https://ctan.org/pkg/adfathesis},
-}
-
-@manual{ctan-adforn,
- title = {The \texttt{adforn} package},
- subtitle = {OrnementsADF font with \TeX{}/\LaTeX{} support},
- author = {Clea F. Rees},
- date = {2020-08-29},
- version = {1.1b},
- license = {lppl,gpl2},
- mirror = {https://mirror.ctan.org/fonts/adforn},
- url = {https://ctan.org/pkg/adforn},
-}
-
-@manual{ctan-adfsymbols,
- title = {The \texttt{adfsymbols} package},
- subtitle = {SymbolsADF with \TeX{}/\LaTeX{} support},
- author = {Clea F. Rees},
- date = {2020-08-29},
- version = {1.2b},
- license = {lppl,gpl2},
- mirror = {https://mirror.ctan.org/fonts/adfsymbols},
- url = {https://ctan.org/pkg/adfsymbols},
-}
-
-@manual{ctan-adhocfilelist,
- title = {The \texttt{adhocfilelist} package},
- subtitle = {‘\textbackslash{}listfiles’ entries from the command line},
- author = {Uwe Lück},
- date = {2017-05-05},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/adhocfilelist},
- url = {https://ctan.org/pkg/adhocfilelist},
-}
-
-@manual{ctan-adigraph,
- title = {The \texttt{adigraph} package},
- subtitle = {Augmenting directed graphs},
- author = {Luca Cappelletti},
- date = {2019-01-29},
- version = {1.7.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/adigraph},
- url = {https://ctan.org/pkg/adigraph},
-}
-
-@manual{ctan-adjmulticol,
- title = {The \texttt{adjmulticol} package},
- subtitle = {Adjusting margins for multicolumn and single column output},
- author = {Boris Veytsman},
- date = {2022-05-17},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/adjmulticol},
- url = {https://ctan.org/pkg/adjmulticol},
- annotation = {The package adds, to the
- package, the option to change the margins for multicolumn and
- unicolumn layout. The package understands the difference between
- the even and odd margins for two side printing.},
-}
-
-@manual{ctan-adjustbox,
- title = {The \texttt{adjustbox} package},
- subtitle = {Graphics package-alike macros for “general” boxes},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.3a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/adjustbox},
- url = {https://ctan.org/pkg/adjustbox},
-}
-
-@manual{ctan-adobe-euro,
- title = {The \texttt{adobe-euro} package},
- subtitle = {Metric and map files for the Adobe Euro fonts},
- author = {{Unknown}},
- date = {2018-06-05},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/adobe-euro},
- url = {https://ctan.org/pkg/adobe-euro},
-}
-
-@manual{ctan-adobecaslon,
- title = {The \texttt{adobecaslon} package},
- subtitle = {Adobe Caslon font in \LaTeX{}},
- author = {Boris Veytsman},
- date = {2021-09-11},
- version = {2.2},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/psfonts/adobe/adobecaslon},
- url = {https://ctan.org/pkg/adobecaslon},
-}
-
-@manual{ctan-adobemapping,
- title = {The \texttt{adobemapping} package},
- subtitle = {Adobe cmap and pdfmapping files},
- author = {{Adobe Systems Incorporated}},
- date = {2023-03-11},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/support/adobemapping},
- url = {https://ctan.org/pkg/adobemapping},
-}
-
-@manual{ctan-adrconv,
- title = {The \texttt{adrconv} package},
- subtitle = {BibTeX styles to implement an address database},
- author = {Axel Kielhorn},
- date = {2018-03-04},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/adrconv},
- url = {https://ctan.org/pkg/adrconv},
- annotation = {The bundle provides a collection of BibTeX style files to turn an
- address database stored in the format into files
- suitable for printing as address books or included into letter
- classes like or
- . The data may be
- sorted either by name or birthday and output provides files in
- various formats for address books or time planners.},
-}
-
-@manual{ctan-adrlist,
- title = {The \texttt{adrlist} package},
- subtitle = {Using address lists in \LaTeX{}},
- author = {Tobias Spribille},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/adrlist},
- url = {https://ctan.org/pkg/adrlist},
- annotation = {The package provides a read-file command ()
- and a set of commands for unpicking the address data in the file.},
-}
-
-@manual{ctan-adtrees,
- title = {The \texttt{adtrees} package},
- subtitle = {Macros for drawing adpositional trees},
- author = {Marco Benini and Federico Gobbo},
- date = {2019-07-11},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/adtrees},
- url = {https://ctan.org/pkg/adtrees},
-}
-
-@manual{ctan-advdate,
- title = {The \texttt{advdate} package},
- subtitle = {Print a date relative to "today"},
- author = {Zdeněk Wagner},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/advdate},
- url = {https://ctan.org/pkg/advdate},
- annotation = {Provides macros which can add a specified number of days to the
- current date (as specified in ), to save, set and
- restore the ‘current date’ and to print it. Intended
- use is, for example, in invoices “payable within 14 days
- from today”, etc. The package has only been tested with
- Czech dates.},
-}
-
-@manual{ctan-ae,
- title = {The \texttt{ae} package},
- subtitle = {Virtual fonts for T1 encoded CMR-fonts},
- author = {Lars Engebretsen},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/ae},
- url = {https://ctan.org/pkg/ae},
-}
-
-@manual{ctan-aeb-minitoc,
- title = {The \texttt{aeb-minitoc} package},
- subtitle = {Create mini-tocs},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb-minitoc},
- url = {https://ctan.org/pkg/aeb-minitoc},
-}
-
-@manual{ctan-aeb-mlink,
- title = {The \texttt{aeb-mlink} package},
- subtitle = {Multi-line links with hyperref},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_mlink},
- url = {https://ctan.org/pkg/aeb-mlink},
-}
-
-@manual{ctan-aeb-mobile,
- title = {The \texttt{aeb-mobile} package},
- subtitle = {Format PDF files for use on a smartphone},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_mobile},
- url = {https://ctan.org/pkg/aeb-mobile},
-}
-
-@manual{ctan-aeb-pro,
- title = {The \texttt{AeB Pro} package},
- subtitle = {Items from the AeB Pro Family of Software},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_pro/aeb_pro},
- url = {https://ctan.org/pkg/aeb-pro},
-}
-
-@manual{ctan-aeb-tilebg,
- title = {The \texttt{aeb-tilebg} package},
- subtitle = {AeB Tiling Backgrounds},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_tilebg},
- url = {https://ctan.org/pkg/aeb-tilebg},
-}
-
-@manual{ctan-aeb_dad,
- title = {The \texttt{aeb\_dad} package},
- subtitle = {A drag-and-drop matching game with PDF files},
- author = {Donald P. Story},
- date = {2016-12-14},
- version = {1.2b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mkstmpdad},
- url = {https://ctan.org/pkg/aeb_dad},
- annotation = {The package is used to create a DAD (Drag and Drop) Matching Game
- that uses stamps and push buttons. DAD Matching works in any
- version of Acrobat, and in Adobe Reader XI; it can use the stamps
- created by the .},
-}
-
-@manual{ctan-aebenvelope,
- title = {The \texttt{aebenvelope} package},
- subtitle = {The AeB Pro eEnvelope System},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_pro/aebenvelope},
- url = {https://ctan.org/pkg/aebenvelope},
- annotation = {The package uses the concept of an ‘eEnvelope’ to
- direct the user’s attention to attached files. The system
- may use any one of four provided eEnvelope templates, or can use a custom
- designed template. The
- package is required to attach documents to the eEnvelope. AeB
- Pro, and hence also eEnvelope, requires Acrobat Pro, version 7.0
- or later, and requires the document author to create PDF using
- distiller.},
-}
-
-@manual{ctan-aebslicing,
- title = {The \texttt{AeB slicing} package},
- subtitle = {An image slicer},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_pro/aebslicing},
- url = {https://ctan.org/pkg/aebslicing},
-}
-
-@manual{ctan-aebxmp,
- title = {The \texttt{aebXMP} package},
- subtitle = {Add advanced metadata to PDF files},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2,lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_pro/aebxmp},
- url = {https://ctan.org/pkg/aebxmp},
-}
-
-@manual{ctan-aecc,
- title = {The \texttt{aecc} package},
- subtitle = {Almost European Concrete Roman virtual fonts},
- author = {Luis Rivera},
- date = {2020-04-11},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/aecc},
- url = {https://ctan.org/pkg/aecc},
-}
-
-@manual{ctan-aeguill,
- title = {The \texttt{aeguill} package},
- subtitle = {Add several kinds of guillemets to the ae fonts},
- author = {Denis B. Roegel},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeguill},
- url = {https://ctan.org/pkg/aeguill},
- annotation = {The package enables the user to add guillemets from several
- source (Polish cmr, Cyrillic cmr, lasy and ec) to the
- fonts. This was useful when
- the ae fonts were used to produce PDF files, since the
- additional guillemets exist in fonts available in Adobe Type 1
- format.},
-}
-
-@manual{ctan-aesupp,
- title = {The \texttt{aesupp} package},
- subtitle = {Special support for the æ character},
- author = {Palle Jørgensen},
- date = {2021-03-18},
- version = {1},
- license = {gfl,gpl3+},
- mirror = {https://mirror.ctan.org/fonts/aesupp},
- url = {https://ctan.org/pkg/aesupp},
-}
-
-@manual{ctan-afmtopl-clark,
- title = {The \texttt{AFMtoPL (Clark)} package},
- subtitle = {Convert AFM files to PLs for use with dvitops},
- author = {James Clark},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/afmtopl/clark},
- url = {https://ctan.org/pkg/afmtopl-clark},
- annotation = {A converter that does not (as a modern application would) provide
- for use of virtual fonts. The conversion is tailored to work with
- the author's .},
-}
-
-@manual{ctan-afmtopl-elwell,
- title = {The \texttt{AFMtoPL (Elwell)} package},
- subtitle = {An early converter from AFM to PL},
- author = {Clayton M. Elwell},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/afmtopl/elwell},
- url = {https://ctan.org/pkg/afmtopl-elwell},
-}
-
-@manual{ctan-afmtopl-wolczko,
- title = {The \texttt{AFMtopl (Wolczko)} package},
- subtitle = {Unix utilities for translating AFM files to PL},
- author = {Mario Wolczko},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/afmtopl/wolczko},
- url = {https://ctan.org/pkg/afmtopl-wolczko},
-}
-
-@manual{ctan-afparticle,
- title = {The \texttt{afparticle} package},
- subtitle = {Typesetting articles for Archives of Forensic Psychology},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/afparticle},
- url = {https://ctan.org/pkg/afparticle},
- annotation = {This package provides a class for typesetting articles for
- the open access journal
- .},
-}
-
-@manual{ctan-afterpackage,
- title = {The \texttt{afterpackage} package},
- subtitle = {Add commands to package after it's loaded},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/afterpackage},
-}
-
-@manual{ctan-afterpage,
- title = {The \texttt{afterpage} package},
- subtitle = {Execute command after the next page break},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.08},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/afterpage},
-}
-
-@manual{ctan-afthesis,
- title = {The \texttt{afthesis} package},
- subtitle = {Air Force Institute of Technology thesis class},
- author = {Joel D. Young},
- date = {2016-06-24},
- version = {2.7},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/afthesis},
- url = {https://ctan.org/pkg/afthesis},
-}
-
-@manual{ctan-aguplus,
- title = {The \texttt{aguplus} package},
- subtitle = {Styles for American Geophysical Union},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {1.6b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aguplus},
- url = {https://ctan.org/pkg/aguplus},
- annotation = {This bundle started as an extension to the AGU’s own
- published styles, providing extra facilities and improved
- usability. The AGU now publishes satisfactory \LaTeX{} materials of
- its own; the author of aguplus recommends that users switch to
- using the
- .},
-}
-
-@manual{ctan-aiaa,
- title = {The \texttt{aiaa} package},
- subtitle = {Typeset AIAA conference papers},
- author = {Bil Kleb},
- date = {2016-06-24},
- version = {3.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aiaa},
- url = {https://ctan.org/pkg/aiaa},
-}
-
-@manual{ctan-aichej,
- title = {The \texttt{aichej} package},
- subtitle = {Bibliography style file for the AIChE Journal},
- author = {Spencer D. Schaber},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/aichej.bst},
- url = {https://ctan.org/pkg/aichej},
- annotation = {The style was generated using
- , and implements the
- style of the American Institute of Chemical Engineers Journal (or
- AIChE Journal or AIChE J or AIChEJ).},
-}
-
-@manual{ctan-aifont,
- title = {The \texttt{aifont} package},
- subtitle = {Remap Computer Modern fonts},
- author = {Skip Collins},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/cm/ai},
- url = {https://ctan.org/pkg/aifont},
-}
-
-@manual{ctan-ajl,
- title = {The \texttt{ajl} package},
- subtitle = {BibTeX style for AJL},
- author = {David Nash},
- date = {2019-03-02},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/ajl.bst},
- url = {https://ctan.org/pkg/ajl},
-}
-
-@manual{ctan-akktex,
- title = {The \texttt{AkkTeX} package},
- subtitle = {A collection of packages and classes},
- author = {Igor Akkerman},
- date = {2016-06-24},
- version = {0.3.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/akktex},
- url = {https://ctan.org/pkg/akktex},
-}
-
-@manual{ctan-akletter,
- title = {The \texttt{akletter} package},
- subtitle = {Comprehensive letter support},
- author = {Axel Kielhorn},
- date = {2016-06-24},
- version = {1.5i},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/akletter},
- url = {https://ctan.org/pkg/akletter},
-}
-
-@manual{ctan-akshar,
- title = {The \texttt{akshar} package},
- subtitle = {Support for syllables in the Devanagari script},
- author = {Dũng Vũ},
- date = {2020-09-06},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/akshar},
- url = {https://ctan.org/pkg/akshar},
-}
-
-@manual{ctan-alatex,
- title = {The \texttt{alatex} package},
- subtitle = {Abstract \LaTeX{}},
- author = {Matt Swift},
- date = {2019-06-21},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/alatex/alatex-1.0},
- url = {https://ctan.org/pkg/alatex},
-}
-
-@manual{ctan-albatross,
- title = {The \texttt{albatross} package},
- subtitle = {Find fonts that contain a given glyph},
- author = {{Island of \TeX{}}},
- date = {2023-01-27},
- version = {0.5.0},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/support/albatross},
- url = {https://ctan.org/pkg/albatross},
- annotation = {This is a command line tool for finding fonts that contain a
- given (Unicode) glyph. It relies on .},
-}
-
-@manual{ctan-alchemist,
- title = {The \texttt{alchemist} package},
- subtitle = {Typeset alchemist and astrological symbols},
- author = {Engelbert Buxbaum},
- date = {2023-03-12},
- version = {1.00},
- license = {gpl,lppl},
- mirror = {https://mirror.ctan.org/fonts/alchemist},
- url = {https://ctan.org/pkg/alchemist},
-}
-
-@manual{ctan-alegreya,
- title = {The \texttt{alegreya} package},
- subtitle = {Alegreya fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-14},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/alegreya},
- url = {https://ctan.org/pkg/alegreya},
-}
-
-@manual{ctan-aleph,
- title = {The \texttt{aleph} package},
- subtitle = {Extended \TeX{}},
- author = {Giuseppe Bilotta and {The \TeX{} Live Team}},
- date = {2020-08-30},
- license = {gpl},
- url = {https://ctan.org/pkg/aleph},
- annotation = {An development of , using most of
- the extensions of \TeX{} itself developed for
- .},
-}
-
-@manual{ctan-alertmessage,
- title = {The \texttt{alertmessage} package},
- subtitle = {Alert messages for \LaTeX{}},
- author = {Pierre Dupuis},
- date = {2017-04-18},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/alertmessage},
- url = {https://ctan.org/pkg/alertmessage},
-}
-
-@manual{ctan-alfaslabone,
- title = {The \texttt{AlfaSlabOne} package},
- subtitle = {The Alfa Slab One font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-01-18},
- version = {0.0.1},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/alfaslabone},
- url = {https://ctan.org/pkg/alfaslabone},
-}
-
-@manual{ctan-alg,
- title = {The \texttt{alg} package},
- subtitle = {\LaTeX{} environments for typesetting algorithms},
- author = {Staffan Ulfberg},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/alg},
- url = {https://ctan.org/pkg/alg},
- annotation = {Defines two environments for typesetting algorithms in \LaTeX{}2e.
- The algtab environment is used to typeset an algorithm
- with automatically numbered lines. The
- environment can be used to encapsulate the
- environment algorithm in a floating body together with a header,
- a caption, etc. \textbackslash{}listofalgorithms is defined.},
-}
-
-@manual{ctan-algobox,
- title = {The \texttt{algobox} package},
- subtitle = {Typeset Algobox programs},
- author = {Julien Rivaud},
- date = {2019-09-29},
- version = {1.3},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/algobox},
- url = {https://ctan.org/pkg/algobox},
-}
-
-@manual{ctan-algolrevived,
- title = {The \texttt{algolrevived} package},
- subtitle = {A revival of Frutiger's Algol alphabet},
- author = {Michael Sharpe},
- date = {2020-11-05},
- version = {1.052},
- license = {ofl,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/algolrevived},
- url = {https://ctan.org/pkg/algolrevived},
-}
-
-@manual{ctan-algorithm2e,
- title = {The \texttt{algorithm2e} package},
- subtitle = {Floating algorithm environment with algorithmic keywords},
- author = {Christophe Fiorio and Ivan Kokan},
- date = {2020-04-06},
- version = {5.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/algorithm2e},
- url = {https://ctan.org/pkg/algorithm2e},
-}
-
-@manual{ctan-algorithmicx,
- title = {The \texttt{algorithmicx} package},
- subtitle = {The algorithmic style you always wanted},
- author = {Szász János},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/algorithmicx},
- url = {https://ctan.org/pkg/algorithmicx},
-}
-
-@manual{ctan-algorithms,
- title = {The \texttt{algorithms} package},
- subtitle = {A suite of tools for typesetting algorithms in pseudo-code},
- author = {Rogério Brito and Peter Williams},
- date = {2018-10-09},
- version = {0.1},
- license = {lgpl2.1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/algorithms},
- url = {https://ctan.org/pkg/algorithms},
-}
-
-@manual{ctan-algpseudocodex,
- title = {The \texttt{algpseudocodex} package},
- subtitle = {Package for typesetting pseudocode},
- author = {Christian Matt},
- date = {2023-02-17},
- version = {1.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/algpseudocodex},
- url = {https://ctan.org/pkg/algpseudocodex},
-}
-
-@manual{ctan-algxpar,
- title = {The \texttt{algxpar} package},
- subtitle = {Support multiple lines pseudocode},
- author = {Jander Moreira},
- date = {2020-07-31},
- version = {0.91},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/algxpar},
- url = {https://ctan.org/pkg/algxpar},
- annotation = {This package extends the package
- to support long text which spans over multiple lines.},
-}
-
-@manual{ctan-aliascnt,
- title = {The \texttt{aliascnt} package},
- subtitle = {Alias counters},
- author = {Heiko Oberdiek},
- date = {2018-09-08},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/aliascnt.dtx},
- url = {https://ctan.org/pkg/aliascnt},
-}
-
-@manual{ctan-aligned-overset,
- title = {The \texttt{aligned-overset} package},
- subtitle = {Fix alignment at \textbackslash{}overset or \textbackslash{}underset},
- author = {Marcel Krüger},
- date = {2018-04-04},
- version = {0.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aligned-overset},
- url = {https://ctan.org/pkg/aligned-overset},
- annotation = {This package allows the base character of  or
- to be used as the alignment position for the
- aligned math environments.},
-}
-
-@manual{ctan-alkalami,
- title = {The \texttt{alkalami} package},
- subtitle = {A font for Arabic-based writing systems in Nigeria and Niger},
- author = {Bob Tennent},
- date = {2017-06-07},
- version = {1.000},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/alkalami},
- url = {https://ctan.org/pkg/alkalami},
-}
-
-@manual{ctan-alleqno,
- title = {The \texttt{alleqno} package},
- subtitle = {Automatic numbering of all equations},
- author = {Jonathan Thornburg},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/alleqno.sty},
- url = {https://ctan.org/pkg/alleqno},
- annotation = {Redefines to behave as a
- environment, and defines to behave as an
- environment.},
-}
-
-@manual{ctan-allrunes,
- title = {The \texttt{allrunes} package},
- subtitle = {Fonts and \LaTeX{} package for almost all runes},
- author = {Carl-Gustav Werner},
- date = {2017-10-29},
- version = {2.1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/allrunes},
- url = {https://ctan.org/pkg/allrunes},
-}
-
-@manual{ctan-alltt,
- title = {The \texttt{alltt} package},
- subtitle = {Everything in tt font, but obey commands and line endings},
- author = {Leslie Lamport and Johannes L. Braams and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.0g},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/alltt},
-}
-
-@manual{ctan-alltt2,
- title = {The \texttt{alltt2} package},
- subtitle = {Indented version of alltt},
- author = {Mario Wolczko and Leslie Lamport},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/alltt2.sty},
- url = {https://ctan.org/pkg/alltt2},
-}
-
-@manual{ctan-almendra,
- title = {The \texttt{almendra} package},
- subtitle = {Almendra fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-28},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/almendra},
- url = {https://ctan.org/pkg/almendra},
-}
-
-@manual{ctan-almfixed,
- title = {The \texttt{almfixed} package},
- subtitle = {Arabic-Latin Modern Fixed extends \TeX{}-Gyre Latin Modern Mono 10 Regular to full Arabic Unicode support},
- author = {Idris Samawi Hamid},
- date = {2016-06-24},
- version = {0.92},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/almfixed},
- url = {https://ctan.org/pkg/almfixed},
-}
-
-@manual{ctan-alnumsec,
- title = {The \texttt{alnumsec} package},
- subtitle = {Alphanumeric section numbering},
- author = {Frank Küster},
- date = {2016-06-24},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/alnumsec},
- url = {https://ctan.org/pkg/alnumsec},
- annotation = {This package allows you to use alphanumeric section numbering,
- for instance “A. Introduction … III. International
- Law”. Its output is similar to
- , but you can use the
- standard \LaTeX{} sectioning commands, so that it is possible to
- switch numbering schemes easily. Greek letters, double letters
- (bb) and different delimiters around them are supported.},
-}
-
-@manual{ctan-alpha-persian,
- title = {The \texttt{alpha-persian} package},
- subtitle = {Persian version of alpha.bst},
- author = {Madadpour Shapour},
- date = {2023-02-15},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/alpha-persian},
- url = {https://ctan.org/pkg/alpha-persian},
- annotation = {The package provides a Persian version of the
- BibTeX style and offers several enhancements.
- It is compatible with the ,
- , ,
- and packages.},
-}
-
-@manual{ctan-alpha,
- title = {The \texttt{alpha} package},
- subtitle = {Editor for the Macintosh with good \TeX{} support},
- author = {Pete Keleher},
- date = {2019-05-04},
- version = {8.0.2},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/mac/support/alpha},
- url = {https://ctan.org/pkg/alpha},
-}
-
-@manual{ctan-alphabib,
- title = {The \texttt{alphabib} package},
- subtitle = {Add alphabetical headers into citations},
- author = {Mael Hilléreau},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/alphabib},
- url = {https://ctan.org/pkg/alphabib},
-}
-
-@manual{ctan-alphalph,
- title = {The \texttt{alphalph} package},
- subtitle = {Convert numbers to letters},
- author = {Heiko Oberdiek},
- date = {2019-12-14},
- version = {2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/alphalph},
- url = {https://ctan.org/pkg/alphalph},
- annotation = {Provides commands and They
- are like but the expansion consists of lowercase
- and uppercase letters respectively (1 to a, 26 to z, 27 to aa, 52
- to zz, 53 to ba, 702 to zz, 703 to aaa, etc.). Can be used as a
- replacement for \LaTeX{}'s and
- macros.},
-}
-
-@manual{ctan-alphanum-bst,
- title = {The \texttt{alphanum-bst} package},
- subtitle = {Modified alpha BibTeX style},
- author = {Reuben Thomas},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/alphanum.bst},
- url = {https://ctan.org/pkg/alphanum-bst},
-}
-
-@manual{ctan-alphanum,
- title = {The \texttt{alphanum} package},
- subtitle = {Sectioning commands for jura},
- author = {Felix Braun},
- date = {2016-06-24},
- version = {4.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jura},
- url = {https://ctan.org/pkg/alphanum},
-}
-
-@manual{ctan-alphanumb,
- title = {The \texttt{alphanumb} package},
- subtitle = {A modification of alpha.bst},
- author = {Reuben Thomas},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/alphanum.bst},
- url = {https://ctan.org/pkg/alphanumb},
-}
-
-@manual{ctan-alterqcm,
- title = {The \texttt{alterqcm} package},
- subtitle = {Multiple choice questionnaires in two column tables},
- author = {Alain Matthes and Apostolos Syropoulos and Anastastios Dimou},
- date = {2021-05-21},
- version = {4.42c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/alterqcm},
- url = {https://ctan.org/pkg/alterqcm},
- annotation = {The package is a \LaTeX{}2e package, for making
- multiple choices questionnaires in a table with two columns. The aim is
- to provide some useful macros to build QCM in tables. These macros may be
- used by only \LaTeX{} \TeX{} users. The package  works with utf8, pdfLaTeX,
- Lua\LaTeX{} and \XeLaTeX{} (with some languages). The documentation is in English.},
-}
-
-@manual{ctan-altfont,
- title = {The \texttt{altfont} package},
- subtitle = {Alternative font handling in \LaTeX{}},
- author = {Sebastian Marius Kirsch},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/altfont},
- url = {https://ctan.org/pkg/altfont},
-}
-
-@manual{ctan-altnline,
- title = {The \texttt{altnline} package},
- subtitle = {Line numbering in \LaTeX{} 2.09},
- author = {James Fortune},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/altnline.sty},
- url = {https://ctan.org/pkg/altnline},
- annotation = {Line numbering in \LaTeX{}. Note that the code here works with the
- \LaTeX{} 2.09 output routine, and cannot therefore be used with
- current \LaTeX{}.— its replacement was
- , but that has itself been
- declared obsolete, in favour of .},
-}
-
-@manual{ctan-altsubsup,
- title = {The \texttt{altsubsup} package},
- subtitle = {Subscripts and superscripts with square brackets},
- author = {Julien Labbé},
- date = {2022-03-16},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/altsubsup},
- url = {https://ctan.org/pkg/altsubsup},
-}
-
-@manual{ctan-altverse,
- title = {The \texttt{altverse} package},
- subtitle = {Typesetting verse},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov/tex/altverse.sty},
- url = {https://ctan.org/pkg/altverse},
-}
-
-@manual{ctan-ama,
- title = {The \texttt{ama} package},
- subtitle = {AMA manual of style citations},
- author = {Eric Kort and Howard Trickey},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/ama.bst},
- url = {https://ctan.org/pkg/ama},
-}
-
-@manual{ctan-ametsoc,
- title = {The \texttt{ametsoc} package},
- subtitle = {Official American Meteorological Society \LaTeX{} Template},
- author = {Brian Papa and {American Meteorological Society}},
- date = {2022-04-06},
- version = {4.3.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/ametsoc},
- url = {https://ctan.org/pkg/ametsoc},
-}
-
-@manual{ctan-amiri,
- title = {The \texttt{amiri} package},
- subtitle = {A classical Arabic typeface, Naskh style},
- author = {Khaled Hosny},
- date = {2022-12-04},
- version = {1.000},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/amiri},
- url = {https://ctan.org/pkg/amiri},
-}
-
-@manual{ctan-amiweb2c-guide,
- title = {The \texttt{amiweb2c-guide} package},
- subtitle = {How to install AmiWeb2c},
- author = {Torsten Finnberg},
- date = {2020-10-30},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/amiweb2c-guide},
- url = {https://ctan.org/pkg/amiweb2c-guide},
-}
-
-@manual{ctan-amiweb2c,
- title = {The \texttt{amiweb2c} package},
- subtitle = {An Amiga port of web2C},
- author = {Andreas Scherer},
- date = {2020-10-29},
- version = {2.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/amiga/amiweb2c},
- url = {https://ctan.org/pkg/amiweb2c},
-}
-
-@manual{ctan-ams-cd,
- title = {The \texttt{ams-cd} package},
- subtitle = {AMSTeX Commutative Diagrams for \LaTeX{}},
- author = {Darrel Hankerson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/ams-cd},
- url = {https://ctan.org/pkg/ams-cd},
-}
-
-@manual{ctan-ams2bib,
- title = {The \texttt{ams2bib} package},
- subtitle = {Convert AMS-TeX style bibliography entries to BibTeX},
- author = {Arthur G. Werschulz},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/ams2bib},
- url = {https://ctan.org/pkg/ams2bib},
-}
-
-@manual{ctan-amsaddr,
- title = {The \texttt{amsaddr} package},
- subtitle = {Alter the position of affiliations in amsart},
- author = {Jérôme Lelong},
- date = {2022-09-12},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/amsaddr},
- url = {https://ctan.org/pkg/amsaddr},
- annotation = {The package is to be used with the
- documentclass. It lets you
- move the authors’ affiliations either just below the
- authors’ names on the front page or as footnotes on the
- first page. The email addresses are always listed as a footnote
- on the front page.},
-}
-
-@manual{ctan-amsart,
- title = {The \texttt{amsart} package},
- subtitle = {\LaTeX{} document class for AMS math journal articles},
- author = {{The American Mathematical Society}},
- date = {2020-06-01},
- version = {2.20.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amscls},
- url = {https://ctan.org/pkg/amsart},
-}
-
-@manual{ctan-amsbook,
- title = {The \texttt{amsbook} package},
- subtitle = {\LaTeX{} document class for AMS books},
- author = {{The American Mathematical Society}},
- date = {2020-06-01},
- version = {2.20.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amscls},
- url = {https://ctan.org/pkg/amsbook},
- annotation = {A \LaTeX{} document class for books that is tailored to the design
- of American Mathematical Society publications. If you have a
- standard installation of \LaTeX{}, you should find that
- is already present, since it is part of the
- (“required”) distribution.
- For publication-specific AMS document classes
- (, , ,
- , , etc.), see the AMS
- .},
-}
-
-@manual{ctan-amsbsy,
- title = {The \texttt{amsbsy} package},
- subtitle = {Produce bold math symbols (AMS-LaTeX)},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.2d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/amsbsy},
-}
-
-@manual{ctan-amscd,
- title = {The \texttt{amscd} package},
- subtitle = {AMS-\LaTeX{} commutative diagrams},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/amscd},
- annotation = {Part of the
- distribution, this package adapts the commutative diagram
- macros of AMS-TeX for use in \LaTeX{}.},
-}
-
-@manual{ctan-amscdx,
- title = {The \texttt{amscdx} package},
- subtitle = {Enhanced commutative diagrams},
- author = {Martin Vermeer},
- date = {2019-07-02},
- version = {2.2x},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/amscdx},
- url = {https://ctan.org/pkg/amscdx},
-}
-
-@manual{ctan-amscls-doc,
- title = {The \texttt{amscls-doc} package},
- subtitle = {User documentation for AMS document classes},
- author = {{The American Mathematical Society}},
- date = {2019-01-24},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/amscls-doc},
- url = {https://ctan.org/pkg/amscls-doc},
-}
-
-@manual{ctan-amscls,
- title = {The \texttt{amscls} package},
- subtitle = {AMS document classes for \LaTeX{}},
- author = {{The American Mathematical Society}},
- date = {2020-06-01},
- version = {2.20.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amscls},
- url = {https://ctan.org/pkg/amscls},
-}
-
-@manual{ctan-amsfonts,
- title = {The \texttt{amsfonts} package},
- subtitle = {TeX fonts from the American Mathematical Society},
- author = {{The American Mathematical Society}},
- date = {2022-01-28},
- version = {3.04},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/amsfonts},
- url = {https://ctan.org/pkg/amsfonts},
-}
-
-@manual{ctan-amslatex-primer,
- title = {The \texttt{amslatex-primer} package},
- subtitle = {Getting up and running with AMS-LaTeX},
- author = {Philip S. Hirschhorn},
- date = {2018-01-06},
- version = {2.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/amslatex/primer},
- url = {https://ctan.org/pkg/amslatex-primer},
-}
-
-@manual{ctan-amslatex,
- title = {The \texttt{amslatex} package},
- subtitle = {Mathematical enhancements for \LaTeX{}},
- author = {{The American Mathematical Society}},
- date = {2017-09-08},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/amslatex},
-}
-
-@manual{ctan-amslatexdoc-vietnamese,
- title = {The \texttt{amslatexdoc-vietnamese} package},
- subtitle = {Vietnamese translation of AMS\LaTeX{} documentation},
- author = {Ky-Anh Huynh},
- date = {2020-03-19},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/amslatex/vietnamese},
- url = {https://ctan.org/pkg/amslatexdoc-vietnamese},
- annotation = {This is a Vietnamese translation of , the users'
- guide to .},
-}
-
-@manual{ctan-amsltx11,
- title = {The \texttt{amsltx11} package},
- subtitle = {AMS-LaTeX, original version (obsolete)},
- author = {{The American Mathematical Society}},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/contrib/amslatex.zip},
- url = {https://ctan.org/pkg/amsltx11},
-}
-
-@manual{ctan-amsmath-it,
- title = {The \texttt{amsmath-it} package},
- subtitle = {Italian translations of some old amsmath documents},
- author = {Luca Ferrante and Onofrio de Bari},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/amsmath/it},
- url = {https://ctan.org/pkg/amsmath-it},
- annotation = {The documents are: of December 1999,
- and of March 2000.},
-}
-
-@manual{ctan-amsmath,
- title = {The \texttt{amsmath} package},
- subtitle = {AMS mathematical facilities for \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {2.17n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/amsmath},
-}
-
-@manual{ctan-amsmidx,
- title = {The \texttt{amsmidx} package},
- subtitle = {Support for multiple indexes in AMS Classes},
- author = {{The American Mathematical Society}},
- date = {2020-06-01},
- version = {2.02},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amscls},
- url = {https://ctan.org/pkg/amsmidx},
-}
-
-@manual{ctan-amsopn,
- title = {The \texttt{amsopn} package},
- subtitle = {Typeset mathematical operator names},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {2.04},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/amsopn},
- annotation = {Part of the
- distribution, this package defines a command
- that may be used to define commands
- like the \LaTeX{} built-in commands and ;
- the command allows ad-hoc operator names in
- the body of a document.},
-}
-
-@manual{ctan-amspell,
- title = {The \texttt{amspell} package},
- subtitle = {ASCII and \LaTeX{} spell checker},
- author = {A. Merckens and Erik Frambach},
- date = {2016-06-24},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/amspell},
- url = {https://ctan.org/pkg/amspell},
-}
-
-@manual{ctan-amsppt,
- title = {The \texttt{amsppt} package},
- subtitle = {AMS-TeX article preprint document style},
- author = {{The American Mathematical Society}},
- date = {2019-01-26},
- version = {2.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/amstex},
- url = {https://ctan.org/pkg/amsppt},
-}
-
-@manual{ctan-amsppt1,
- title = {The \texttt{amsppt1} package},
- subtitle = {AMS-TeX v.2 compatibility for amsppt.sty v.1},
- author = {{The American Mathematical Society}},
- date = {2019-01-26},
- version = {2.2},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/amstex},
- url = {https://ctan.org/pkg/amsppt1},
-}
-
-@manual{ctan-amsproc,
- title = {The \texttt{amsproc} package},
- subtitle = {\LaTeX{} document class for AMS conference proceedings},
- author = {{The American Mathematical Society}},
- date = {2020-06-01},
- version = {2.20.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amscls},
- url = {https://ctan.org/pkg/amsproc},
-}
-
-@manual{ctan-amsrefs,
- title = {The \texttt{amsrefs} package},
- subtitle = {A \LaTeX{}-based replacement for BibTeX},
- author = {{The American Mathematical Society} and Michael J. Downes and David M. Jones},
- date = {2022-01-28},
- version = {2.14},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/amsrefs},
- url = {https://ctan.org/pkg/amsrefs},
-}
-
-@manual{ctan-amstex,
- title = {The \texttt{amstex} package},
- subtitle = {American Mathematical Society plain \TeX{} macros},
- author = {{The American Mathematical Society}},
- date = {2022-06-08},
- version = {2.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/amstex},
- url = {https://ctan.org/pkg/amstex},
-}
-
-@manual{ctan-amstext,
- title = {The \texttt{amstext} package},
- subtitle = {Typeset text fragments in mathematics},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-11-12},
- version = {2.01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/amstext},
- annotation = {Part of the
- distribution, this package defines a macro, which
- makes it easy to incorporate fragments of text inside a displayed
- equation or a sub or superscript. The font used is the
- “surrounding text font” and sizes are automatically
- scaled in sub/superscripts.},
-}
-
-@manual{ctan-amsthm,
- title = {The \texttt{amsthm} package},
- subtitle = {Typesetting theorems (AMS style)},
- author = {{The American Mathematical Society}},
- date = {2020-06-01},
- version = {2.20.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amscls},
- url = {https://ctan.org/pkg/amsthm},
-}
-
-@manual{ctan-analogclock,
- title = {The \texttt{analogclock} package},
- subtitle = {An analog ticking clock package for PDF output},
- author = {Luis Randez},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/analogclock},
- url = {https://ctan.org/pkg/analogclock},
-}
-
-@manual{ctan-andika,
- title = {The \texttt{andika} package},
- subtitle = {andika fonts with support for all \LaTeX{} engines},
- author = {Bob Tennent},
- date = {2022-09-28},
- version = {6.101},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/andika},
- url = {https://ctan.org/pkg/andika},
-}
-
-@manual{ctan-animate,
- title = {The \texttt{animate} package},
- subtitle = {Create PDF and SVG animations from graphics files and inline graphics},
- author = {Alexander Grahn},
- date = {2022-09-15},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/animate},
- url = {https://ctan.org/pkg/animate},
- annotation = {The package provides an interface to create portable, JavaScript driven
- PDF and SVG animations from sets of graphics files or from
- inline graphics, such as \LaTeX{} picture environment,
- or
- generated pictures,
- or just from typeset text.},
-}
-
-@manual{ctan-anleitung,
- title = {The \texttt{anleitung} package},
- subtitle = {Using \LaTeX{} with MikTeX, including TrueType fonts},
- author = {Jens Weissenburger},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/german/MiKTeX-WinEdt-TrueType-Anleitung},
- url = {https://ctan.org/pkg/anleitung},
- annotation = {A German introduction to using \LaTeX{} on a MikTeX system with
- WinEdT. The document includes a translation of
- by Damir
- Rakityansky.},
-}
-
-@manual{ctan-annee-scolaire,
- title = {The \texttt{annee-scolaire} package},
- subtitle = {Automatically typeset the academic year (French way)},
- author = {Yvon Henel},
- date = {2020-07-29},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/annee-scolaire},
- url = {https://ctan.org/pkg/annee-scolaire},
-}
-
-@manual{ctan-annot-pro,
- title = {The \texttt{annot-pro} package},
- subtitle = {Create text, stamp and file attachment annotations},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/annot_pro},
- url = {https://ctan.org/pkg/annot-pro},
-}
-
-@manual{ctan-annotate-equations,
- title = {The \texttt{annotate-equations} package},
- subtitle = {Easily annotate math equations using TikZ},
- author = {ST John},
- date = {2023-02-15},
- version = {0.2.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/annotate-equations},
- url = {https://ctan.org/pkg/annotate-equations},
- annotation = {This package provides commands that make it easy to highlight
- terms in equations and add annotation labels using
- .
- It should work with pdf\LaTeX{} as well as LuaLaTeX.},
-}
-
-@manual{ctan-annotate,
- title = {The \texttt{annotate} package},
- subtitle = {A bibliography style with annotations},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/annotate.bst},
- url = {https://ctan.org/pkg/annotate},
- annotation = {The style is a derivative of the standard style,
- which processes an entry’s field as part
- of the printed output.},
-}
-
-@manual{ctan-annotation-pkg,
- title = {The \texttt{annotation-pkg} package},
- subtitle = {Suppress or permit annotations to a document},
- author = {Tom Hofmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/annotation.sty},
- url = {https://ctan.org/pkg/annotation-pkg},
- annotation = {The package defines a environment, whose
- contents may be controlled by (to print the
- content, the default) or (to suppress the
- content).},
-}
-
-@manual{ctan-annotation,
- title = {The \texttt{annotation} package},
- subtitle = {A BibTeX style that processes annotations},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/annotation.bst},
- url = {https://ctan.org/pkg/annotation},
- annotation = {The style is a derivative of the standard style,
- which prints each entry’s label, and processes any
- field as part of the printed output.},
-}
-
-@manual{ctan-anonchap,
- title = {The \texttt{anonchap} package},
- subtitle = {Make chapters be typeset like sections},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/anonchap},
- url = {https://ctan.org/pkg/anonchap},
-}
-
-@manual{ctan-anonymous-acm,
- title = {The \texttt{anonymous-acm} package},
- subtitle = {Typeset anonymous versions for ACM articles},
- author = {Brett A. Becker},
- date = {2020-05-15},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/anonymous-acm},
- url = {https://ctan.org/pkg/anonymous-acm},
-}
-
-@manual{ctan-anonymouspro,
- title = {The \texttt{AnonymousPro} package},
- subtitle = {Use AnonymousPro fonts with \LaTeX{}},
- author = {Arash Esbati},
- date = {2019-07-12},
- version = {2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/anonymouspro},
- url = {https://ctan.org/pkg/anonymouspro},
-}
-
-@manual{ctan-ans,
- title = {The \texttt{ans} package},
- subtitle = {Answers and solutions, for \LaTeX{} 2.09},
- author = {Charles Wells},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/ans},
- url = {https://ctan.org/pkg/ans},
-}
-
-@manual{ctan-answers,
- title = {The \texttt{answers} package},
- subtitle = {Setting questions (or exercises) and answers},
- author = {Joseph Wright and Mike Piff},
- date = {2018-01-06},
- version = {2.16},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/answers},
- url = {https://ctan.org/pkg/answers},
-}
-
-@manual{ctan-ant-worker-tasks,
- title = {The \texttt{ant-worker-tasks} package},
- subtitle = {Apache ANT Tasks for \TeX{} and PDF},
- author = {Michael Niedermair},
- date = {2016-06-24},
- version = {268},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/ant-worker-tasks},
- url = {https://ctan.org/pkg/ant-worker-tasks},
-}
-
-@manual{ctan-ant,
- title = {The \texttt{ant} package},
- subtitle = {A typesetting system inspired by \TeX{}},
- author = {Achim Blumensath},
- date = {2016-06-24},
- version = {0.8},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/ant},
- url = {https://ctan.org/pkg/ant},
-}
-
-@manual{ctan-antanilipsum,
- title = {The \texttt{antanilipsum} package},
- subtitle = {Generate sentences in the style of “Amici miei”},
- author = {Jack Coleman},
- date = {2020-05-23},
- version = {0.8.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/antanilipsum},
- url = {https://ctan.org/pkg/antanilipsum},
- annotation = {This package is an italian blind text generator that ouputs
- , mocking nonsense phrases from the movie
- series Amici Miei (“My friends”), directed by Mario Monicelli.},
-}
-
-@manual{ctan-anti,
- title = {The \texttt{anti} package},
- subtitle = {Typeset an anti-particle in maths mode},
- author = {Rich Holmes},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/anti.tex},
- url = {https://ctan.org/pkg/anti},
-}
-
-@manual{ctan-antomega,
- title = {The \texttt{antomega} package},
- subtitle = {Alternative language support for Omega/Lambda},
- author = {Alexey Kryukov},
- date = {2016-06-24},
- version = {0.8},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/systems/omega/contrib/antomega},
- url = {https://ctan.org/pkg/antomega},
- annotation = {A language support package for /Lambda.
- This replaces the original package for use with Lambda, and
- provides extra facilities (including
- -like language switching, which
- eases porting of \LaTeX{} documents to Lambda).},
-}
-
-@manual{ctan-antp,
- title = {The \texttt{antp} package},
- subtitle = {Antykwa Półtawskiego: a Type 1 family of Polish traditional type},
- author = {Janusz Marian Nowacki},
- date = {2019-06-21},
- version = {0.50},
- license = {pd},
- mirror = {https://mirror.ctan.org/obsolete/fonts/psfonts/polish/antp},
- url = {https://ctan.org/pkg/antp},
-}
-
-@manual{ctan-antt,
- title = {The \texttt{antt} package},
- subtitle = {Antykwa Toruńska: a Type 1 family of a Polish traditional type},
- author = {Janusz Marian Nowacki},
- date = {2016-06-24},
- version = {2.08},
- license = {gfsl},
- mirror = {https://mirror.ctan.org/fonts/antt},
- url = {https://ctan.org/pkg/antt},
-}
-
-@manual{ctan-anttvf,
- title = {The \texttt{anttvf} package},
- subtitle = {Virtual fonts for PostScript Antykwa Toruńska font},
- author = {Tomasz Wierzbicki},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/psfonts/anttvf},
- url = {https://ctan.org/pkg/anttvf},
- annotation = {A collection of virtual fonts generated with
- 1.6, that
- provide a PostScript font ‘Antykwa Toruńska’’
- () in OT1, T1, TS1 and OT4
- encodings, to be used with \LaTeX{}2e.},
-}
-
-@manual{ctan-anufinalexam,
- title = {The \texttt{ANUfinalexam} package},
- subtitle = {\LaTeX{} document shell for ANU final exam},
- author = {Timothy Kam},
- date = {2018-01-06},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/anufinalexam},
- url = {https://ctan.org/pkg/anufinalexam},
-}
-
-@manual{ctan-anyfontsize,
- title = {The \texttt{anyfontsize} package},
- subtitle = {Select any font size in \LaTeX{}},
- author = {Péter Szabó},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/anyfontsize},
- url = {https://ctan.org/pkg/anyfontsize},
-}
-
-@manual{ctan-anysize,
- title = {The \texttt{anysize} package},
- subtitle = {A simple package to set up document margins},
- author = {Thomas Esser},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/anysize},
- url = {https://ctan.org/pkg/anysize},
- annotation = {This package is considered obsolete; alternatives are the
-
- package from the
- bundle, or the package.},
-}
-
-@manual{ctan-aobs-tikz,
- title = {The \texttt{aobs-tikz} package},
- subtitle = {TikZ styles for creating overlaid pictures in beamer},
- author = {Claudio Fiandrino},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/aobs-tikz},
- url = {https://ctan.org/pkg/aobs-tikz},
-}
-
-@manual{ctan-aomart,
- title = {The \texttt{aomart} package},
- subtitle = {Typeset articles for the Annals of Mathematics},
- author = {Boris Veytsman},
- date = {2022-05-30},
- version = {1.27},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aomart},
- url = {https://ctan.org/pkg/aomart},
- annotation = {The package provides a class for typesetting articles for
- .},
-}
-
-@manual{ctan-apa,
- title = {The \texttt{apa} package},
- subtitle = {American Psychological Association format},
- author = {Athanassios Protopapas},
- date = {2019-12-29},
- version = {1.3.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/apa},
- url = {https://ctan.org/pkg/apa},
-}
-
-@manual{ctan-apa6,
- title = {The \texttt{apa6} package},
- subtitle = {Format documents in APA style (6th edition)},
- author = {Brian Beitzel},
- date = {2020-01-13},
- version = {2.34},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/apa6},
- url = {https://ctan.org/pkg/apa6},
-}
-
-@manual{ctan-apa6e,
- title = {The \texttt{apa6e} package},
- subtitle = {Format manuscripts to APA 6th edition guidelines},
- author = {Nathaniel J. Smith},
- date = {2016-06-24},
- version = {0.3},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/apa6e},
- url = {https://ctan.org/pkg/apa6e},
- annotation = {This is a minimalist class file for formatting manuscripts in the
- style described in the American Psychological Association (APA)
- 6th edition guidelines. The class
- provides better coverage of the requirements.},
-}
-
-@manual{ctan-apa7,
- title = {The \texttt{apa7} package},
- subtitle = {Format documents in APA style (7th edition)},
- author = {Daniel A. Weiss},
- date = {2022-07-25},
- version = {2.16},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/apa7},
- url = {https://ctan.org/pkg/apa7},
-}
-
-@manual{ctan-apabst,
- title = {The \texttt{apabst} package},
- subtitle = {Early APA BibTeX style},
- author = {Alan Rogers},
- date = {2019-12-27},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/apa.bst},
- url = {https://ctan.org/pkg/apabst},
- annotation = {This style has been developed elsewhere, notably as part of a
- comprehensive supporting
- typesetting to APA standards.},
-}
-
-@manual{ctan-apacite,
- title = {The \texttt{apacite} package},
- subtitle = {Citation style following the rules of the APA},
- author = {Erik Meijer},
- date = {2019-12-27},
- version = {6.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/apacite},
- url = {https://ctan.org/pkg/apacite},
- annotation = {Apacite provides a BibTeX style and a \LaTeX{} package which are
- designed to match the requirements of the American Psychological
- Association’s style for citations. The package follows the 6th
- edition of the APA manual, and
- is designed to work with the class.
- A test document is provided. The package is compatible with
- and (to some extent) with
- (for limits of
- compatibility, see the documentation). The package also includes
- a means of generating an author index for a document.},
-}
-
-@manual{ctan-apalike-ejor,
- title = {The \texttt{apalike-ejor} package},
- subtitle = {A BibTeX style file for the European Journal of Operational Research},
- author = {Adam Rumpf},
- date = {2021-06-21},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/apalike-ejor},
- url = {https://ctan.org/pkg/apalike-ejor},
- annotation = {This package contains a BibTeX style file,
- , made to follow the
- European Journal of Operational Research reference style guidelines.
- It is a fork of
-
- version 0.99a, by Oren Patashnik, and consists of minor modifications
- of standard APA style.
- Among other changes it adds support for hyperlinked URL and DOI fields
- (which requires ).},
-}
-
-@manual{ctan-apalike-german,
- title = {The \texttt{apalike-german} package},
- subtitle = {A copy of apalike.bst with German localization},
- author = {Ingram Braun},
- date = {2022-12-30},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/apalike-german},
- url = {https://ctan.org/pkg/apalike-german},
- annotation = {A copy of (which is part of the
- base distribution)
- with German localization.},
-}
-
-@manual{ctan-apalike2,
- title = {The \texttt{apalike2} package},
- subtitle = {Bibliography style that approaches APA requirements},
- author = {Brian Reiser and Eric Ho},
- date = {2019-12-27},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/apalike2},
- url = {https://ctan.org/pkg/apalike2},
- annotation = {Described as a “local adaptation” of
- (which is part of the base
- distribution).},
-}
-
-@manual{ctan-apasoft,
- title = {The \texttt{apasoft} package},
- subtitle = {An APA-like style for BibTeX},
- author = {Bernd Porr},
- date = {2019-12-27},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/apasoft.bst},
- url = {https://ctan.org/pkg/apasoft},
- annotation = {Derived (in several steps) from the original BibTeX alpha style.
- Should be used with the \LaTeX{} package provided with the
- distribution bundle.},
-}
-
-@manual{ctan-apeqnum,
- title = {The \texttt{apeqnum} package},
- subtitle = {Number equations by appendix},
- author = {Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/apeqnum.sty},
- url = {https://ctan.org/pkg/apeqnum},
- annotation = {A package (originally written for \LaTeX{} 2.09, but will work in
- \LaTeX{} 2e) to cause equation numbers in class
- (style), as A1, A2, A3, ..., B1, etc.},
-}
-
-@manual{ctan-apl,
- title = {The \texttt{apl} package},
- subtitle = {Fonts for typesetting APL programs},
- author = {Aarno Hohti and Okko Kanerva},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/apl},
- url = {https://ctan.org/pkg/apl},
-}
-
-@manual{ctan-aplweb,
- title = {The \texttt{aplweb} package},
- subtitle = {Literate programming in APL},
- author = {U. Schweigert},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/web/aplweb},
- url = {https://ctan.org/pkg/aplweb},
-}
-
-@manual{ctan-apnum,
- title = {The \texttt{apnum} package},
- subtitle = {Arbitrary precision numbers implemented by \TeX{} macros},
- author = {Petr Olšák},
- date = {2018-04-22},
- version = {1.7},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/apnum},
- url = {https://ctan.org/pkg/apnum},
-}
-
-@manual{ctan-appelt-chess,
- title = {The \texttt{appelt-chess} package},
- subtitle = {Chess board macros using standard fonts},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/appelt-chess.tex},
- url = {https://ctan.org/pkg/appelt-chess},
- annotation = {The package provides the means of printing chess boards with a
- more-or-less appropriate selection of glyphs from the computer
- modern fonts; the macros and
- allow the progress of a game to be notated and printed.},
-}
-
-@manual{ctan-appendix,
- title = {The \texttt{appendix} package},
- subtitle = {Extra control of appendices},
- author = {Will Robertson and Peter R. Wilson},
- date = {2020-02-08},
- version = {1.2c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/appendix},
- url = {https://ctan.org/pkg/appendix},
- annotation = {The appendix package provides various ways of formatting the
- titles of appendices. Also (sub)appendices environments are
- provided that can be used, for example, for per chapter/section
- appendices. The word ‘Appendix’ or similar can be prepended to
- the appendix number for article class documents. The word
- ‘Appendices’ or similar can be added to the table of contents
- before the appendices are listed. The word ‘Appendices’ or
- similar can be typeset as a -like heading (page) in the
- body. An environment is provided which can be used
- instead of the command.},
-}
-
-@manual{ctan-appendixnumberbeamer,
- title = {The \texttt{appendixnumberbeamer} package},
- subtitle = {Manage frame numbering in appendixes in beamer},
- author = {Jérôme Lelong},
- date = {2018-01-15},
- version = {1.2},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/appendixnumberbeamer},
- url = {https://ctan.org/pkg/appendixnumberbeamer},
-}
-
-@manual{ctan-apprendre-a-programmer-en-tex,
- title = {The \texttt{apprendre-a-programmer-en-tex} package},
- subtitle = {The book “Apprendre à programmer en \TeX{}”},
- author = {Christian Tellechea},
- date = {2020-12-20},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/info/apprendre-a-programmer-en-tex},
- url = {https://ctan.org/pkg/apprendre-a-programmer-en-tex},
-}
-
-@manual{ctan-apprends-latex,
- title = {The \texttt{apprends-latex} package},
- subtitle = {Apprends \LaTeX{}!},
- author = {Marc Baudoin},
- date = {2017-04-18},
- version = {4.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/apprends-latex},
- url = {https://ctan.org/pkg/apprends-latex},
-}
-
-@manual{ctan-apptools,
- title = {The \texttt{apptools} package},
- subtitle = {Tools for customising appendices},
- author = {Sebastian Kuhnert},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/apptools},
- url = {https://ctan.org/pkg/apptools},
- annotation = {The package provides an command to add code to a hook
- that is executed when is called by the user.
- Additionally, a \TeX{} conditional and a \LaTeX{}-style
- conditional are provided to check if
- has already been called.},
-}
-
-@manual{ctan-apxproof,
- title = {The \texttt{apxproof} package},
- subtitle = {Proofs in appendix},
- author = {Pierre Senellart},
- date = {2022-10-14},
- version = {1.2.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/apxproof},
- url = {https://ctan.org/pkg/apxproof},
-}
-
-@manual{ctan-ar,
- title = {The \texttt{ar} package},
- subtitle = {Capital A and capital R ligature for Aspect Ratio},
- author = {Claudio Beccari},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/ar},
- url = {https://ctan.org/pkg/ar},
-}
-
-@manual{ctan-arabi-add,
- title = {The \texttt{arabi-add} package},
- subtitle = {Using hyperref and bookmark packages with arabic and farsi languages},
- author = {Sidi Mohamed Lakhdar},
- date = {2016-06-24},
- version = {1.0},
- license = {unknown},
- mirror = {https://mirror.ctan.org/language/arabic/arabi-add},
- url = {https://ctan.org/pkg/arabi-add},
- annotation = {This package takes advantage of some of the possibilities that
- and packages
- offer when you create a table of contents for Arabic texts created by the
- package.},
-}
-
-@manual{ctan-arabi,
- title = {The \texttt{arabi} package},
- subtitle = {(La)TeX support for Arabic and Farsi, compliant with Babel},
- author = {Youssef Jabri},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/arabic/arabi},
- url = {https://ctan.org/pkg/arabi},
-}
-
-@manual{ctan-arabic-book,
- title = {The \texttt{arabic-book} package},
- subtitle = {An Arabic book class},
- author = {Mohammed Obaid Alziyadi},
- date = {2021-06-16},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/arabic-book},
- url = {https://ctan.org/pkg/arabic-book},
-}
-
-@manual{ctan-arabic,
- title = {The \texttt{arabic} package},
- subtitle = {Read a lower-case roman number},
- author = {Ole Michael Selberg},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/arabic.tex},
- url = {https://ctan.org/pkg/arabic},
- annotation = {Usage is:
- <count> = <roman number >
- (note, trailing space after <roman number> required).},
-}
-
-@manual{ctan-arabicfront,
- title = {The \texttt{arabicfront} package},
- subtitle = {Frontmatter with arabic page numbers},
- author = {Javier Bezos López},
- date = {2019-07-06},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/arabicfront},
- url = {https://ctan.org/pkg/arabicfront},
- annotation = {This package modifies the definitions of and
- so that page numbering starts in arabic style
- from the front matter while preserving the rest of the original
- definitions. For it to work, has to be
- inside these macros—most of classes do that, but there are
- exceptions like .},
-}
-
-@manual{ctan-arabluatex,
- title = {The \texttt{arabluatex} package},
- subtitle = {ArabTeX for LuaLaTeX},
- author = {Robert Alessi},
- date = {2020-03-23},
- version = {1.20},
- license = {gpl3+,cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/arabluatex},
- url = {https://ctan.org/pkg/arabluatex},
- annotation = {This package provides for LuaLaTeX
- an -like interface to generate
- Arabic writing from an ascii transliteration. It is particularly
- well-suited for complex documents such as technical documents or
- critical editions where a lot of left-to-right commands intertwine
- with Arabic writing. is able to process any
- ArabTeX input notation. Its output can be set in the same modes of
- vocalization as ArabTeX, or in different roman transliterations.
- It further allows many typographical refinements. It will
- eventually interact with some other packages yet to come to
- produce from source files, in addition to printed books,
- TEI xml compliant critical editions and/or lexicons that can be
- searched, analyzed and correlated in various ways.},
-}
-
-@manual{ctan-arabtex,
- title = {The \texttt{arabtex} package},
- subtitle = {Macros and fonts for typesetting Arabic},
- author = {Klaus Lagally},
- date = {2022-09-01},
- version = {3.17},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/arabic/arabtex},
- url = {https://ctan.org/pkg/arabtex},
-}
-
-@manual{ctan-arabxetex,
- title = {The \texttt{arabxetex} package},
- subtitle = {An ArabTeX-like interface for \XeLaTeX{}},
- author = {François Charette and Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {1.2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/arabxetex},
- url = {https://ctan.org/pkg/arabxetex},
- annotation = {ArabXeTeX provides a convenient
- -like user-interface for
- typesetting languages using the Arabic script in
- \XeLaTeX{}, with flexible access to font features. Input in
- ArabTeX notation can be set in three different vocalization
- modes or in roman transliteration. Direct UTF-8 input is also
- supported. The parsing and converting of ArabTeX
- input to Unicode is done by means of TECkit mappings.
- Version 1.0 provides support for Arabic, Maghribi Arabic,
- Farsi (Persian), Urdu, Sindhi, Kashmiri, Ottoman Turkish,
- Kurdish, Jawi (Malay) and Uighur.
- The documentation covers topics such as typesetting the Holy Quran
- and typesetting bidirectional critical editions with the package ednotes.},
-}
-
-@manual{ctan-aramaic-serto,
- title = {The \texttt{aramaic-serto} package},
- subtitle = {Fonts and \LaTeX{} for Syriac written in Serto},
- author = {Johannes Heinecke},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/aramaic/serto},
- url = {https://ctan.org/pkg/aramaic-serto},
-}
-
-@manual{ctan-aramaic,
- title = {The \texttt{aramaic} package},
- subtitle = {Fonts for Aramaic script},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/aramaic},
- url = {https://ctan.org/pkg/aramaic},
-}
-
-@manual{ctan-arara,
- title = {The \texttt{arara} package},
- subtitle = {Automation of \LaTeX{} compilation},
- author = {Paulo Roberto Massa Cereda},
- date = {2022-06-28},
- version = {7.0.4},
- license = {bsd},
- mirror = {https://mirror.ctan.org/support/arara},
- url = {https://ctan.org/pkg/arara},
-}
-
-@manual{ctan-arbeit,
- title = {The \texttt{arbeit} package},
- subtitle = {Typeset classwork exercises},
- author = {Werner Burkhardt},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/arbeit},
- url = {https://ctan.org/pkg/arbeit},
-}
-
-@manual{ctan-archaeologie,
- title = {The \texttt{archaeologie} package},
- subtitle = {A citation-style which covers rules of the German Archaeological Institute},
- author = {Lukas C. Bossert},
- date = {2020-11-25},
- version = {2.4.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/archaeologie},
- url = {https://ctan.org/pkg/archaeologie},
-}
-
-@manual{ctan-archaic,
- title = {The \texttt{archaic} package},
- subtitle = {A collection of archaic fonts},
- author = {Peter R. Wilson and Uwe Zimmermann and Apostolos Syropoulos},
- date = {2017-10-29},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic},
- url = {https://ctan.org/pkg/archaic},
-}
-
-@manual{ctan-archivo,
- title = {The \texttt{Archivo} package},
- subtitle = {The Archivo font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-01-03},
- version = {0.0.2},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/archivo},
- url = {https://ctan.org/pkg/archivo},
-}
-
-@manual{ctan-arcs,
- title = {The \texttt{arcs} package},
- subtitle = {Draw arcs over and under text},
- author = {Gianfranco Boggio-Togna},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/arcs},
- url = {https://ctan.org/pkg/arcs},
- annotation = {The package provides two commands for placing an arc over
- () or under () a piece of text.
- (The text may be up to three letters long.) The commands generate
- an , and may be used both in text and in maths
- formulae.},
-}
-
-@manual{ctan-arev,
- title = {The \texttt{arev} package},
- subtitle = {Fonts and \LaTeX{} support files for Arev Sans},
- author = {Stephen Hartke},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/arev},
- url = {https://ctan.org/pkg/arev},
-}
-
-@manual{ctan-arimo,
- title = {The \texttt{arimo} package},
- subtitle = {Arimo sans serif fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-28},
- version = {},
- license = {apache2},
- mirror = {https://mirror.ctan.org/fonts/arimo},
- url = {https://ctan.org/pkg/arimo},
-}
-
-@manual{ctan-arlatex,
- title = {The \texttt{arlatex} package},
- subtitle = {A \LaTeX{}-based archiver},
- author = {Scott Pakin},
- date = {2022-10-04},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/bundledoc},
- url = {https://ctan.org/pkg/arlatex},
- annotation = {Arlatex is an archiving program like shar, tar, zip, etc. Its
- output is specifically designed for use with \LaTeX{}. Arlatex takes
- the name of a master file and the ancillary files it uses
- (such as , , and
- files). From these files, arlatex creates a single
- file that will recreate all the ancillary files when it's run
- through \LaTeX{}.},
-}
-
-@manual{ctan-armtex,
- title = {The \texttt{armtex} package},
- subtitle = {A system for writing in Armenian with \TeX{} and \LaTeX{}},
- author = {Serguei Dachian and Arnak Dalalyan and Vardan Akopian},
- date = {2022-08-15},
- version = {3.0-beta4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/armenian/armtex},
- url = {https://ctan.org/pkg/armtex},
-}
-
-@manual{ctan-armymemo,
- title = {The \texttt{armymemo} package},
- subtitle = {A document class for Army memorandums in accordance with AR 25-50},
- author = {Christian Sharpsten},
- date = {2019-01-28},
- version = {1.0.0},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/armymemo},
- url = {https://ctan.org/pkg/armymemo},
-}
-
-@manual{ctan-aro-bend,
- title = {The \texttt{aro-bend} package},
- subtitle = {Exercises in \TeX{}, with answers},
- author = {Michael J. Downes},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/challenges/aro-bend},
- url = {https://ctan.org/pkg/aro-bend},
-}
-
-@manual{ctan-arosgn,
- title = {The \texttt{arosgn} package},
- subtitle = {Support for the Bengali language},
- author = {Muhammad Masroor Ali},
- date = {2020-06-07},
- version = {2.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/language/bengali/arosgn},
- url = {https://ctan.org/pkg/arosgn},
-}
-
-@manual{ctan-around-the-bend,
- title = {The \texttt{around-the-bend} package},
- subtitle = {Typeset exercises in \TeX{}, with answers},
- author = {Michael J. Downes and Peter R. Wilson},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/challenges/AroBend},
- url = {https://ctan.org/pkg/around-the-bend},
- annotation = {This is a typeset version of the files of the
- , plus three extra questions
- (with their answers) that Michael Downes didn't manage to get onto
- CTAN.},
-}
-
-@manual{ctan-arphic-ttf,
- title = {The \texttt{arphic-ttf} package},
- subtitle = {TrueType version of Chinese Arphic fonts},
- author = {Hironobu Yamashita},
- date = {2016-12-17},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/arphic-ttf},
- url = {https://ctan.org/pkg/arphic-ttf},
-}
-
-@manual{ctan-arphic,
- title = {The \texttt{arphic} package},
- subtitle = {Arphic (Chinese) font packages},
- author = {Werner Lemberg},
- date = {2016-12-11},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/arphic},
- url = {https://ctan.org/pkg/arphic},
-}
-
-@manual{ctan-array,
- title = {The \texttt{array} package},
- subtitle = {Extending the array and tabular environments},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {2.5g},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/array},
-}
-
-@manual{ctan-arraycols,
- title = {The \texttt{arraycols} package},
- subtitle = {New column types for array and tabular environments},
- author = {Antoine Missier},
- date = {2021-09-20},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/arraycols},
- url = {https://ctan.org/pkg/arraycols},
-}
-
-@manual{ctan-arrayjob,
- title = {The \texttt{arrayjob} package},
- subtitle = {Array data structures for (La)TeX},
- author = {Michael Sharpe and Zhuhan Jiang},
- date = {2016-06-24},
- version = {1.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/arrayjobx},
- url = {https://ctan.org/pkg/arrayjob},
-}
-
-@manual{ctan-arrayjobx,
- title = {The \texttt{arrayjobx} package},
- subtitle = {Array data structures for (La)TeX},
- author = {Michael Sharpe and Zhuhan Jiang},
- date = {2016-06-24},
- version = {1.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/arrayjobx},
- url = {https://ctan.org/pkg/arrayjobx},
-}
-
-@manual{ctan-arraymaker,
- title = {The \texttt{Array Maker} package},
- subtitle = {A program for making \LaTeX{} and xypic arrays},
- author = {Donu Arapura},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/arraymaker},
- url = {https://ctan.org/pkg/arraymaker},
- annotation = {This program is designed to take some of the tedium out of
- constructing arrays, diagrams and tables. \LaTeX{} code is entered
- into boxes and the program outputs an array that can be pasted
- into a \LaTeX{} file. This is written in (≥
- 8.0) (most Unix/Linux systems have .},
-}
-
-@manual{ctan-arraysort,
- title = {The \texttt{arraysort} package},
- subtitle = {Sort arrays (or portions of them)},
- author = {Robert J Lee},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/arraysort},
- url = {https://ctan.org/pkg/arraysort},
- annotation = {The package provides a mechanism for sorting arrays (or portions
- of them); the arrays should have been created using the
- package.},
-}
-
-@manual{ctan-arrow,
- title = {The \texttt{arrow} package},
- subtitle = {Eplain macros for commutative diagrams},
- author = {Steven T. Smith},
- date = {2018-01-06},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/eplain/tex/arrow.tex},
- url = {https://ctan.org/pkg/arrow},
- annotation = {While this package is distributed as part of
- , it takes special precautions
- in support of its aim of working within \LaTeX{} documents.},
-}
-
-@manual{ctan-arsclassica,
- title = {The \texttt{ArsClassica} package},
- subtitle = {A different view of the ClassicThesis package},
- author = {Lorenzo Pantieri},
- date = {2017-10-31},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/arsclassica},
- url = {https://ctan.org/pkg/arsclassica},
- annotation = {The package changes some typographical points of the ClassicThesis
- style, by André Miede. It enables the user to reproduce the look
- of the guide
-
- (the web page is in Italian).},
-}
-
-@manual{ctan-artex,
- title = {The \texttt{artex} package},
- subtitle = {Make filecontents environments of non-standard files or packages},
- author = {Nick Efford},
- date = {2016-06-24},
- version = {1.00b},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/artex},
- url = {https://ctan.org/pkg/artex},
-}
-
-@manual{ctan-article,
- title = {The \texttt{article} package},
- subtitle = {Default class for composing an article},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.4n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/article},
-}
-
-@manual{ctan-articleingud,
- title = {The \texttt{articleingud} package},
- subtitle = {\LaTeX{} class for articles published in INGENIERIA review},
- author = {Omar Salazar Morales},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/articleingud},
- url = {https://ctan.org/pkg/articleingud},
- annotation = {The class is for articles published in
- .
- It is derived from the standard \LaTeX{} class .},
-}
-
-@manual{ctan-artthreads,
- title = {The \texttt{artthreads} package},
- subtitle = {Support for article threads},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.3.1},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/artthreads},
- url = {https://ctan.org/pkg/artthreads},
-}
-
-@manual{ctan-arvo,
- title = {The \texttt{Arvo} package},
- subtitle = {The Arvo font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2020-12-24},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/arvo},
- url = {https://ctan.org/pkg/arvo},
-}
-
-@manual{ctan-arxivbib,
- title = {The \texttt{arXivBib} package},
- subtitle = {Get bibliography entries from arXiv.org},
- author = {John Forkosh},
- date = {2021-08-06},
- version = {1.00},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/arxivbib},
- url = {https://ctan.org/pkg/arxivbib},
-}
-
-@manual{ctan-arydshln,
- title = {The \texttt{arydshln} package},
- subtitle = {Draw dash-lines in array/tabular},
- author = {Hiroshi Nakashima},
- date = {2019-02-22},
- version = {1.76},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/arydshln},
- url = {https://ctan.org/pkg/arydshln},
-}
-
-@manual{ctan-asaetr,
- title = {The \texttt{asaetr} package},
- subtitle = {Transactions of the ASAE},
- author = {George Pearson},
- date = {2016-06-24},
- version = {1.0a},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/asaetr},
- url = {https://ctan.org/pkg/asaetr},
-}
-
-@manual{ctan-asana-math,
- title = {The \texttt{asana-math} package},
- subtitle = {A font to typeset maths in Xe(La)TeX and Lua(La)TeX},
- author = {Apostolos Syropoulos},
- date = {2021-06-19},
- version = {000.958},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/Asana-Math},
- url = {https://ctan.org/pkg/asana-math},
-}
-
-@manual{ctan-asapsym,
- title = {The \texttt{asapsym} package},
- subtitle = {Using the free ASAP Symbol font with \LaTeX{} and Plain \TeX{}},
- author = {Paul D. Gessler},
- date = {2022-02-09},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/asapsym},
- url = {https://ctan.org/pkg/asapsym},
-}
-
-@manual{ctan-asc2tex,
- title = {The \texttt{asc2tex} package},
- subtitle = {Retrieve text from screenshots},
- author = {Thomas Götz},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/systems/msdos/asc2tex},
- url = {https://ctan.org/pkg/asc2tex},
-}
-
-@manual{ctan-ascelike,
- title = {The \texttt{ascelike} package},
- subtitle = {Bibliography style for the ASCE},
- author = {Matthew R. Kuhn},
- date = {2016-06-24},
- version = {2.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ascelike},
- url = {https://ctan.org/pkg/ascelike},
-}
-
-@manual{ctan-ascii-chart,
- title = {The \texttt{ascii-chart} package},
- subtitle = {An ASCII wall chart},
- author = {Victor Eijkhout},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/ascii-chart},
- url = {https://ctan.org/pkg/ascii-chart},
-}
-
-@manual{ctan-ascii-cyrillic,
- title = {The \texttt{ascii-cyrillic} package},
- subtitle = {A Latin alphabet representation of Cyrillic},
- author = {Laurent Siebenmann},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/ascii-cyrillic},
- url = {https://ctan.org/pkg/ascii-cyrillic},
-}
-
-@manual{ctan-ascii-font,
- title = {The \texttt{ascii-font} package},
- subtitle = {Use the ASCII “font” in \LaTeX{}},
- author = {Apostolos Syropoulos and Dick Nickalls},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/ascii},
- url = {https://ctan.org/pkg/ascii-font},
-}
-
-@manual{ctan-asciilist,
- title = {The \texttt{asciilist} package},
- subtitle = {Environments AsciiList and AsciiDocList for prototyping nested lists in \LaTeX{}},
- author = {Richard Grewe},
- date = {2018-11-03},
- version = {2.2b},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/asciilist},
- url = {https://ctan.org/pkg/asciilist},
-}
-
-@manual{ctan-ascmac,
- title = {The \texttt{ascmac} package},
- subtitle = {Boxes and picture macros with Japanese vertical writing support},
- author = {{Japanese \TeX{} Development Community}},
- date = {2020-01-15},
- version = {2.1},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ascmac},
- url = {https://ctan.org/pkg/ascmac},
-}
-
-@manual{ctan-askinclude,
- title = {The \texttt{askinclude} package},
- subtitle = {Interactive use of \textbackslash{}includeonly},
- author = {Pablo A. Straub and Heiko Oberdiek},
- date = {2020-04-13},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/askinclude},
- url = {https://ctan.org/pkg/askinclude},
- annotation = {The package asks the user which files to put in a
- command. There is provision for answering
- “same as last time” or “all files”.},
-}
-
-@manual{ctan-askmaps,
- title = {The \texttt{askmaps} package},
- subtitle = {Typeset American style Karnaugh maps},
- author = {Jesse op den Brouw},
- date = {2020-10-22},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/askmaps},
- url = {https://ctan.org/pkg/askmaps},
-}
-
-@manual{ctan-asmeconf,
- title = {The \texttt{asmeconf} package},
- subtitle = {A \LaTeX{} template for ASME conference papers},
- author = {John H. Lienhard},
- date = {2022-12-31},
- version = {1.34},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/asmeconf},
- url = {https://ctan.org/pkg/asmeconf},
-}
-
-@manual{ctan-asmejour,
- title = {The \texttt{asmejour} package},
- subtitle = {A template for ASME journal papers},
- author = {John H. Lienhard},
- date = {2022-12-30},
- version = {1.20},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/asmejour},
- url = {https://ctan.org/pkg/asmejour},
-}
-
-@manual{ctan-aspectratio,
- title = {The \texttt{aspectratio} package},
- subtitle = {Capital A and capital R ligature for Aspect Ratio},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aspectratio},
- url = {https://ctan.org/pkg/aspectratio},
-}
-
-@manual{ctan-aspell,
- title = {The \texttt{aspell} package},
- subtitle = {Spell checker},
- author = {Kevin Atkinson},
- date = {2019-10-31},
- version = {0.60.8},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/aspell},
- url = {https://ctan.org/pkg/aspell},
-}
-
-@manual{ctan-assignment,
- title = {The \texttt{assignment} package},
- subtitle = {A class file for typesetting homework and lab assignments},
- author = {Madhusudan Singh},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/assignment},
- url = {https://ctan.org/pkg/assignment},
-}
-
-@manual{ctan-assoccnt,
- title = {The \texttt{assoccnt} package},
- subtitle = {Associate counters, making them step when a master steps},
- author = {Christian Hupfer},
- date = {2016-06-24},
- version = {0.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/assoccnt},
- url = {https://ctan.org/pkg/assoccnt},
-}
-
-@manual{ctan-association-matrix,
- title = {The \texttt{association-matrix} package},
- subtitle = {\LaTeX{} support for creating association matrices},
- author = {{Unknown}},
- date = {2022-10-29},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/association-matrix},
- url = {https://ctan.org/pkg/association-matrix},
-}
-
-@manual{ctan-asternote,
- title = {The \texttt{asternote} package},
- subtitle = {Annotation symbols enclosed in square brackets and marked with an asterisk},
- author = {Yukoh Kusakabe},
- date = {2022-07-15},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/asternote},
- url = {https://ctan.org/pkg/asternote},
-}
-
-@manual{ctan-astro,
- title = {The \texttt{astro} package},
- subtitle = {Astronomical (planetary) symbols},
- author = {Peter Schmitt},
- date = {2017-10-29},
- version = {2.20},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/astro},
- url = {https://ctan.org/pkg/astro},
-}
-
-@manual{ctan-astron,
- title = {The \texttt{astron} package},
- subtitle = {BibTeX style for astronomical journals},
- author = {Sake J. Hogeveen},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/astron},
- url = {https://ctan.org/pkg/astron},
-}
-
-@manual{ctan-astyped,
- title = {The \texttt{astyped} package},
- subtitle = {Verbatim environment, with rather few escapes},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {1.3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/astyped.sty},
- url = {https://ctan.org/pkg/astyped},
-}
-
-@manual{ctan-asyfig,
- title = {The \texttt{asyfig} package},
- subtitle = {Commands for using Asymptote figures},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {0.1c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/asyfig},
- url = {https://ctan.org/pkg/asyfig},
- annotation = {The package provides a means of reading
- figures from
- separate files, rather than within the document, as is standard
- in the package, which is provided as part of
- the Asymptote bundle. The way can prove
- cumbersome in a large document; the present package allows the
- user to process one picture at a time, in simple test documents,
- and then to migrate (with no fuss) to their use in the target
- document.},
-}
-
-@manual{ctan-asymptote-by-example-zh-cn,
- title = {The \texttt{asymptote-by-example-zh-cn} package},
- subtitle = {Asymptote by example},
- author = {{Unknown}},
- date = {2021-12-29},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/asymptote-by-example-zh-cn},
- url = {https://ctan.org/pkg/asymptote-by-example-zh-cn},
-}
-
-@manual{ctan-asymptote-faq-zh-cn,
- title = {The \texttt{asymptote-faq-zh-cn} package},
- subtitle = {Asymptote FAQ (Chinese translation)},
- author = {{Unknown}},
- date = {2021-12-29},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/asymptote-faq-zh-cn},
- url = {https://ctan.org/pkg/asymptote-faq-zh-cn},
- annotation = {This is a Chinese translation of the},
-}
-
-@manual{ctan-asymptote-manual-zh-cn,
- title = {The \texttt{asymptote-manual-zh-cn} package},
- subtitle = {A Chinese translation of the asymptote manual},
- author = {{Unknown}},
- date = {2018-10-09},
- version = {},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/info/asymptote-manual-zh-cn},
- url = {https://ctan.org/pkg/asymptote-manual-zh-cn},
- annotation = {This is an (incomplete, simplified) Chinese translation of the
- manual.},
-}
-
-@manual{ctan-asymptote,
- title = {The \texttt{asymptote} package},
- subtitle = {2D and 3D \TeX{}-Aware Vector Graphics Language},
- author = {John Bowman and Andy Hammerlindl},
- date = {2023-02-09},
- version = {2.85},
- license = {lgpl3},
- mirror = {https://mirror.ctan.org/graphics/asymptote},
- url = {https://ctan.org/pkg/asymptote},
-}
-
-@manual{ctan-asypictureb,
- title = {The \texttt{asypictureB} package},
- subtitle = {User-friendly integration of Asymptote into \LaTeX{}},
- author = {Charles Staats III},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/asypictureb},
- url = {https://ctan.org/pkg/asypictureb},
-}
-
-@manual{ctan-at,
- title = {The \texttt{at} package},
- subtitle = {Short commands starting '@'},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/at},
-}
-
-@manual{ctan-atari-cstex,
- title = {The \texttt{atari-cstex} package},
- subtitle = {TeX for Atari machines},
- author = {Volker A. Brandt},
- date = {2016-06-24},
- version = {4.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/systems/atari/cs-tex},
- url = {https://ctan.org/pkg/atari-cstex},
-}
-
-@manual{ctan-atbegshi,
- title = {The \texttt{atbegshi} package},
- subtitle = {Execute stuff at \textbackslash{}shipout time},
- author = {Heiko Oberdiek},
- date = {2019-12-07},
- version = {1.19},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/atbegshi},
- url = {https://ctan.org/pkg/atbegshi},
- annotation = {This package is a modern reimplementation of package
- , providing various commands
- to be executed before a command. It makes use of
- e-TeX’s facilities if they are available. The package may
- be used either with \LaTeX{} or with plain \TeX{}.},
-}
-
-@manual{ctan-atenddvi,
- title = {The \texttt{atenddvi} package},
- subtitle = {Provides the \textbackslash{}AtEndDvi command},
- author = {Heiko Oberdiek},
- date = {2020-11-12},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/atenddvi},
- url = {https://ctan.org/pkg/atenddvi},
-}
-
-@manual{ctan-atendofenv,
- title = {The \texttt{atendofenv} package},
- subtitle = {Add a custom symbol at the end of an environment},
- author = {Fangyi Zhou},
- date = {2022-03-08},
- version = {0.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/atendofenv},
- url = {https://ctan.org/pkg/atendofenv},
-}
-
-@manual{ctan-atkinson,
- title = {The \texttt{atkinson} package},
- subtitle = {Support for the Atkinson Hyperlegible family of fonts},
- author = {Bob Tennent},
- date = {2022-09-14},
- version = {},
- license = {lppl,other-free},
- mirror = {https://mirror.ctan.org/fonts/atkinson},
- url = {https://ctan.org/pkg/atkinson},
-}
-
-@manual{ctan-attachfile,
- title = {The \texttt{attachfile} package},
- subtitle = {Attach arbitrary files to a PDF document},
- author = {Scott Pakin},
- date = {2018-01-06},
- version = {1.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/attachfile},
- url = {https://ctan.org/pkg/attachfile},
-}
-
-@manual{ctan-attachfile2,
- title = {The \texttt{attachfile2} package},
- subtitle = {Attach files into PDF},
- author = {Heiko Oberdiek},
- date = {2019-11-27},
- version = {2.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/attachfile2},
- url = {https://ctan.org/pkg/attachfile2},
- annotation = {This package can be used to attach files to a PDF document.
- It is a further development of Scott Pakin’s package
- for
- . Apart from bug fixes,
- this package adds support for dvips,
- some new options, and gets and writes meta information data about
- the attached files.},
-}
-
-@manual{ctan-attrib,
- title = {The \texttt{attrib} package},
- subtitle = {Attribution of block quotations in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/attrib},
-}
-
-@manual{ctan-atveryend,
- title = {The \texttt{atveryend} package},
- subtitle = {Hooks at the very end of a document},
- author = {Heiko Oberdiek},
- date = {2019-12-12},
- version = {1.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/atveryend},
- url = {https://ctan.org/pkg/atveryend},
- annotation = {This \LaTeX{} packages provides two hooks for
- that are executed after the hook of :
- can be used for code that is to be executed
- right after the last before the `' file
- is closed. is used for code after closing
- and final reading of the `' file.},
-}
-
-@manual{ctan-aucklandthesis,
- title = {The \texttt{aucklandthesis} package},
- subtitle = {Memoir-based class for formatting University of Auckland masters' and doctors' theses},
- author = {Alistair Kwan},
- date = {2018-01-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aucklandthesis},
- url = {https://ctan.org/pkg/aucklandthesis},
-}
-
-@manual{ctan-auctex,
- title = {The \texttt{auctex} package},
- subtitle = {Emacs support files for \TeX{}},
- author = {{The AUCTeX Team} and Kresten Krab Thorup and Per Abrahamsen},
- date = {2022-02-20},
- version = {13.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/auctex},
- url = {https://ctan.org/pkg/auctex},
-}
-
-@manual{ctan-augie,
- title = {The \texttt{augie} package},
- subtitle = {Calligraphic font for typesetting handwriting},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-28},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/augie},
- url = {https://ctan.org/pkg/augie},
-}
-
-@manual{ctan-auncial-new,
- title = {The \texttt{auncial-new} package},
- subtitle = {Artificial Uncial font and \LaTeX{} support macros},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/auncial-new},
- url = {https://ctan.org/pkg/auncial-new},
-}
-
-@manual{ctan-auncial,
- title = {The \texttt{auncial} package},
- subtitle = {Artificial Uncial manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/auncial},
- url = {https://ctan.org/pkg/auncial},
-}
-
-@manual{ctan-aurical,
- title = {The \texttt{aurical} package},
- subtitle = {Calligraphic fonts for use with \LaTeX{} in T1 encoding},
- author = {Christian Gollwitzer},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/aurical},
- url = {https://ctan.org/pkg/aurical},
-}
-
-@manual{ctan-aurl,
- title = {The \texttt{aurl} package},
- subtitle = {Extends the hyperref package with a mechanism for hyperlinked URLs abbreviated with prefixes},
- author = {Konrad Höffner},
- date = {2019-06-21},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aurl},
- url = {https://ctan.org/pkg/aurl},
-}
-
-@manual{ctan-aurora,
- title = {The \texttt{aurora} package},
- subtitle = {Header files for dvips to make colour separations},
- author = {T. Graham Freeman},
- date = {2019-06-21},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/support/aurora},
- url = {https://ctan.org/pkg/aurora},
-}
-
-@manual{ctan-authblk,
- title = {The \texttt{authblk} package},
- subtitle = {Support for footnote style author/affiliation},
- author = {Patrick W. Daly},
- date = {2017-09-02},
- version = {1.3},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/preprint},
- url = {https://ctan.org/pkg/authblk},
-}
-
-@manual{ctan-authoraftertitle,
- title = {The \texttt{authoraftertitle} package},
- subtitle = {Make author, etc., available after \textbackslash{}maketitle},
- author = {Matthias Bilger},
- date = {2020-07-20},
- version = {1.0},
- license = {cc0},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/authoraftertitle},
- url = {https://ctan.org/pkg/authoraftertitle},
- annotation = {This jiffy package makes the author, title and date of the package
- available to the user (as , etc) after the
- command has been executed.},
-}
-
-@manual{ctan-authorarchive,
- title = {The \texttt{authorarchive} package},
- subtitle = {Adds self-archiving information to scientific papers},
- author = {Achim D. Brucker},
- date = {2023-02-10},
- version = {1.3.0},
- license = {lppl1.3c,bsd2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/authorarchive},
- url = {https://ctan.org/pkg/authorarchive},
-}
-
-@manual{ctan-authordate,
- title = {The \texttt{authordate} package},
- subtitle = {Author/date style citation styles},
- author = {David Rhead},
- date = {2019-10-30},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/authordate},
- url = {https://ctan.org/pkg/authordate},
-}
-
-@manual{ctan-authorindex,
- title = {The \texttt{authorindex} package},
- subtitle = {Index citations by author names},
- author = {Andreas Wettstein},
- date = {2019-07-27},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/indexing/authorindex},
- url = {https://ctan.org/pkg/authorindex},
-}
-
-@manual{ctan-auto-pst-pdf-lua,
- title = {The \texttt{auto-pst-pdf-lua} package},
- subtitle = {Using Lua\LaTeX{} together with PostScript code},
- author = {Herbert Voß},
- date = {2018-12-09},
- version = {0.03},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/auto-pst-pdf-lua},
- url = {https://ctan.org/pkg/auto-pst-pdf-lua},
-}
-
-@manual{ctan-auto-pst-pdf,
- title = {The \texttt{auto-pst-pdf} package},
- subtitle = {Wrapper for pst-pdf (with some psfrag features)},
- author = {Will Robertson},
- date = {2020-10-08},
- version = {0.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/auto-pst-pdf},
- url = {https://ctan.org/pkg/auto-pst-pdf},
-}
-
-@manual{ctan-auto1,
- title = {The \texttt{auto1} package},
- subtitle = {\LaTeX{} support for Underware Auto 1 fonts},
- author = {Nico Schlömer},
- date = {2018-01-06},
- version = {0.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/obsolete/fonts/auto1},
- url = {https://ctan.org/pkg/auto1},
-}
-
-@manual{ctan-autoaligne,
- title = {The \texttt{autoaligne} package},
- subtitle = {Align terms and members in math expressions},
- author = {Christian Tellechea},
- date = {2020-11-19},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/autoaligne},
- url = {https://ctan.org/pkg/autoaligne},
-}
-
-@manual{ctan-autobreak,
- title = {The \texttt{autobreak} package},
- subtitle = {Simple line breaking of long formulae},
- author = {Takahiro Ueda},
- date = {2017-02-25},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/autobreak},
- url = {https://ctan.org/pkg/autobreak},
-}
-
-@manual{ctan-autoconf,
- title = {The \texttt{autoconf} package},
- subtitle = {Autoconf macros to test for the presence of \LaTeX{}},
- author = {Boretti Mathieu},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/autoconf},
- url = {https://ctan.org/pkg/autoconf},
-}
-
-@manual{ctan-autofancyhdr,
- title = {The \texttt{autofancyhdr} package},
- subtitle = {Automatically compute headlength for fancyhdr package},
- author = {Mojtaba Baghban},
- date = {2020-04-11},
- version = {0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/autofancyhdr},
- url = {https://ctan.org/pkg/autofancyhdr},
- annotation = {The package automatically computes headlength for the
- package},
-}
-
-@manual{ctan-autolatex,
- title = {The \texttt{AutoLaTeX} package},
- subtitle = {Automate compilation of large scale \LaTeX{} projects},
- author = {Stéphane Galland},
- date = {2022-02-10},
- version = {41.1},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/autolatex},
- url = {https://ctan.org/pkg/autolatex},
-}
-
-@manual{ctan-autolist,
- title = {The \texttt{autolist} package},
- subtitle = {More lists},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov/tex/autolist.sty},
- url = {https://ctan.org/pkg/autolist},
-}
-
-@manual{ctan-automagic,
- title = {The \texttt{automagic} package},
- subtitle = {Automagic numbering in Plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/automagic.tex},
- url = {https://ctan.org/pkg/automagic},
-}
-
-@manual{ctan-automata,
- title = {The \texttt{automata} package},
- subtitle = {Finite state machines, graphs and trees in MetaPost},
- author = {Gabriele Puppis},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/automata},
- url = {https://ctan.org/pkg/automata},
-}
-
-@manual{ctan-automatica,
- title = {The \texttt{automatica} package},
- subtitle = {A harvard-family BibTeX style},
- author = {Silvano Balemi},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/automatica.bst},
- url = {https://ctan.org/pkg/automatica},
- annotation = {A modified version of from the
- bundle, which is itself
- derived from the standard .},
-}
-
-@manual{ctan-autonum,
- title = {The \texttt{autonum} package},
- subtitle = {Automatic equation references},
- author = {Patrick Häcker},
- date = {2016-06-24},
- version = {0.3.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/autonum},
- url = {https://ctan.org/pkg/autonum},
- annotation = {The package arranges that equation numbers are applied only to
- those equations that are referenced. This operation is similar to
- the option of the package
- .},
-}
-
-@manual{ctan-autopdf,
- title = {The \texttt{autopdf} package},
- subtitle = {Conversion of graphics to pdfLaTeX-compatible formats},
- author = {Karl Wette},
- date = {2018-01-06},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/autopdf},
- url = {https://ctan.org/pkg/autopdf},
- annotation = {The package facilitates the on-the-fly conversion of various
- graphics formats to formats supported by pdf\LaTeX{} (e.g. PDF). It
- uses a range of external programs, and therefore requires that the
- \LaTeX{} run starts with enabled.},
-}
-
-@manual{ctan-autopict,
- title = {The \texttt{autopict} package},
- subtitle = {The \LaTeX{} picture mode, for use with Plain \TeX{}},
- author = {{The \LaTeX{} Project Team} and David Carlisle},
- date = {2021-11-15},
- version = {1.1k},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/graphics/autopict.sty},
- url = {https://ctan.org/pkg/autopict},
- annotation = {The installer for this package is distributed with the
- bundle;
- the source for the installer is part of the
- .},
-}
-
-@manual{ctan-autopuncitems,
- title = {The \texttt{autopuncitems} package},
- subtitle = {Automatically punctuate lists},
- author = {Kale Ewasiuk},
- date = {2022-04-16},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/autopuncitems},
- url = {https://ctan.org/pkg/autopuncitems},
- annotation = {This package provides the option
- in the environments ,
- , and
- to automatically punctuate the items.
- It uses lua pattern matching to modify the environment’s contents.},
-}
-
-@manual{ctan-autosp,
- title = {The \texttt{autosp} package},
- subtitle = {A Preprocessor that generates note-spacing commands for MusiXTeX scores},
- author = {Bob Tennent},
- date = {2021-01-07},
- version = {},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/support/autosp},
- url = {https://ctan.org/pkg/autosp},
-}
-
-@manual{ctan-autotab,
- title = {The \texttt{autotab} package},
- subtitle = {Generating tabulars from input data},
- author = {Gabriele Kruljac},
- date = {2019-06-21},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/autotab},
- url = {https://ctan.org/pkg/autotab},
- annotation = {The package defines a command which prompts the user
- for the name of a file of data. The commands one numeric
- argument <> specifies the number of fields to
- appear in the table being generated; the package reads
- <> lines at a time from the data file, and creates
- one tabular line from each such set.},
-}
-
-@manual{ctan-autotoc,
- title = {The \texttt{autotoc} package},
- subtitle = {Table of contents in Plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/autotoc.tex},
- url = {https://ctan.org/pkg/autotoc},
-}
-
-@manual{ctan-autoview,
- title = {The \texttt{autoview} package},
- subtitle = {Maintain a Ghostscript view of emacs buffer},
- author = {Deepak Goel},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/autoview},
- url = {https://ctan.org/pkg/autoview},
-}
-
-@manual{ctan-auxhook,
- title = {The \texttt{auxhook} package},
- subtitle = {Hooks for auxiliary files},
- author = {Heiko Oberdiek},
- date = {2019-12-22},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/auxhook},
- url = {https://ctan.org/pkg/auxhook},
- annotation = {This package auxhook provides hooks for adding stuff at
- the begin of files.},
-}
-
-@manual{ctan-avremu,
- title = {The \texttt{avremu} package},
- subtitle = {An 8-Bit Microcontroller Simulator written in \LaTeX{}},
- author = {Christian Dietrich},
- date = {2017-04-18},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/avremu},
- url = {https://ctan.org/pkg/avremu},
-}
-
-@manual{ctan-aweb,
- title = {The \texttt{aweb} package},
- subtitle = {Web system for programs written in Ada},
- author = {U. Schweigert},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/web/aweb},
- url = {https://ctan.org/pkg/aweb},
-}
-
-@manual{ctan-awesomebox,
- title = {The \texttt{awesomebox} package},
- subtitle = {Draw admonition blocks in your documents, illustrated with FontAwesome icons},
- author = {Étienne Deparis},
- date = {2020-12-30},
- version = {0.6},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/awesomebox},
- url = {https://ctan.org/pkg/awesomebox},
-}
-
-@manual{ctan-axessibility,
- title = {The \texttt{axessibility} package},
- subtitle = {Access to formulas in PDF files by assistive technologies},
- author = {Sandro Coriasco and Nadir Murru},
- date = {2020-05-10},
- version = {3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/axessibility},
- url = {https://ctan.org/pkg/axessibility},
-}
-
-@manual{ctan-axodraw,
- title = {The \texttt{axodraw} package},
- subtitle = {Feynman diagrams in a \LaTeX{} document},
- author = {Jos Vermaseren},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/graphics/axodraw},
- url = {https://ctan.org/pkg/axodraw},
-}
-
-@manual{ctan-axodraw2,
- title = {The \texttt{axodraw2} package},
- subtitle = {Feynman diagrams in a \LaTeX{} document},
- author = {John Collins and Jos Vermaseren},
- date = {2021-03-05},
- version = {2.1.1c},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/axodraw2},
- url = {https://ctan.org/pkg/axodraw2},
-}
-
-@manual{ctan-b1encoding,
- title = {The \texttt{b1encoding} package},
- subtitle = {\LaTeX{} encoding tools for Bookhands fonts},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/b1encoding},
- url = {https://ctan.org/pkg/b1encoding},
- annotation = {The package characterises and defines the author's B1 encoding
- for use with \LaTeX{} when typesetting things using his
- fonts.},
-}
-
-@manual{ctan-babel-albanian,
- title = {The \texttt{babel-albanian} package},
- subtitle = {Support for Albanian within babel},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2020-11-25},
- version = {1.0d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/albanian},
- url = {https://ctan.org/pkg/babel-albanian},
- annotation = {The package provides support for typesetting Albanian (as part of
- the system).},
-}
-
-@manual{ctan-babel-azerbaijani,
- title = {The \texttt{babel-azerbaijani} package},
- subtitle = {Support for Azerbaijani within babel},
- author = {Javier Bezos López},
- date = {2017-06-05},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/azerbaijani},
- url = {https://ctan.org/pkg/babel-azerbaijani},
-}
-
-@manual{ctan-babel-bahasa,
- title = {The \texttt{babel-bahasa} package},
- subtitle = {Support for Bahasa within babel},
- author = {Jörg Knappen and Terry Mart and Johannes L. Braams},
- date = {2017-02-17},
- version = {1.0l},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/babel-contrib/bahasa},
- url = {https://ctan.org/pkg/babel-bahasa},
-}
-
-@manual{ctan-babel-basque,
- title = {The \texttt{babel-basque} package},
- subtitle = {Babel contributed support for Basque},
- author = {Juan M. Aguirregabiria and Gorka Zubia Garea},
- date = {2020-04-29},
- version = {1.0f},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/basque},
- url = {https://ctan.org/pkg/babel-basque},
-}
-
-@manual{ctan-babel-belarusian,
- title = {The \texttt{babel-belarusian} package},
- subtitle = {Babel support for Belarusian},
- author = {Aleksey Novodvorsky and Andrej Shadura},
- date = {2018-10-09},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/belarusian},
- url = {https://ctan.org/pkg/babel-belarusian},
- annotation = {The package provides support for use of
- in documents written in
- Belarusian.},
-}
-
-@manual{ctan-babel-bosnian,
- title = {The \texttt{babel-bosnian} package},
- subtitle = {Babel contrib support for Bosnian},
- author = {Samir Halilčević},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/bosnian},
- url = {https://ctan.org/pkg/babel-bosnian},
- annotation = {The package provides a language definition file that enables
- support of Bosnian with .},
-}
-
-@manual{ctan-babel-breton,
- title = {The \texttt{babel-breton} package},
- subtitle = {Babel contributed support for Breton},
- author = {Christian Rolland},
- date = {2016-06-24},
- version = {1.0h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/breton},
- url = {https://ctan.org/pkg/babel-breton},
-}
-
-@manual{ctan-babel-bulgarian,
- title = {The \texttt{babel-bulgarian} package},
- subtitle = {Babel contributed support for Bulgarian},
- author = {Georgi Boshnakov and Javier Bezos López and Johannes L. Braams},
- date = {2018-01-13},
- version = {1.2g},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/bulgarian},
- url = {https://ctan.org/pkg/babel-bulgarian},
-}
-
-@manual{ctan-babel-catalan,
- title = {The \texttt{babel-catalan} package},
- subtitle = {Babel contributed support for Catalan},
- author = {Gonçal Badenes Guia and Miquel Ortega and Orestes Mas Casals},
- date = {2021-04-20},
- version = {2.2p},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/catalan},
- url = {https://ctan.org/pkg/babel-catalan},
-}
-
-@manual{ctan-babel-contrib,
- title = {The \texttt{babel-contrib} package},
- subtitle = {Contributed language-support files for Babel},
- author = {{various authors}},
- date = {2016-06-24},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib},
- url = {https://ctan.org/pkg/babel-contrib},
-}
-
-@manual{ctan-babel-croatian,
- title = {The \texttt{babel-croatian} package},
- subtitle = {Babel contributed support for Croatian},
- author = {Alan Paić and Ivan Kokan},
- date = {2016-06-24},
- version = {1.3l},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/croatian},
- url = {https://ctan.org/pkg/babel-croatian},
-}
-
-@manual{ctan-babel-czech,
- title = {The \texttt{babel-czech} package},
- subtitle = {Babel support for Czech},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2018-01-13},
- version = {3.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/czech},
- url = {https://ctan.org/pkg/babel-czech},
- annotation = {The package provides the language definition file for support of
- Czech in . Some shortcuts are
- defined, as well as translations to Czech of standard “LaTeX
- names”.},
-}
-
-@manual{ctan-babel-danish,
- title = {The \texttt{babel-danish} package},
- subtitle = {Babel contributed support for Danish},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2021-02-06},
- version = {1.3s},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/danish},
- url = {https://ctan.org/pkg/babel-danish},
- annotation = {The package provides a language definition, file for use with
- , which
- establishes Danish conventions in a document (or a
- subset of the conventions, if Danish is not the main language
- of the document).},
-}
-
-@manual{ctan-babel-dutch,
- title = {The \texttt{babel-dutch} package},
- subtitle = {Babel contributed support for Dutch},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2021-08-29},
- version = {3.8l},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/dutch},
- url = {https://ctan.org/pkg/babel-dutch},
- annotation = {The package provides a language definition, file for use with
- , which
- establishes Dutch conventions in a document (or a
- subset of the conventions, if Dutch is not the main language
- of the document).},
-}
-
-@manual{ctan-babel-english,
- title = {The \texttt{babel-english} package},
- subtitle = {Babel support for English},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2017-06-07},
- version = {3.3r},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/english},
- url = {https://ctan.org/pkg/babel-english},
- annotation = {The package provides the language definition file for support of
- English in . Care is taken to
- select hyphenation patterns for British English
- and Australian text, and default (‘’) patterns
- for Canadian and USA text.},
-}
-
-@manual{ctan-babel-esperanto,
- title = {The \texttt{babel-esperanto} package},
- subtitle = {Babel support for Esperanto},
- author = {Javier Bezos López and Johannes L. Braams and Luis Martí},
- date = {2018-01-13},
- version = {1.4t},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/esperanto},
- url = {https://ctan.org/pkg/babel-esperanto},
- annotation = {The package provides the language definition file for support of
- Esperanto in . Some shortcuts are
- defined, as well as translations to Esperanto of standard “LaTeX
- names”.},
-}
-
-@manual{ctan-babel-estonian,
- title = {The \texttt{babel-estonian} package},
- subtitle = {Babel support for Estonian},
- author = {Jaan Vajakas and Enn Saar},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/estonian},
- url = {https://ctan.org/pkg/babel-estonian},
- annotation = {The package provides the language definition file for support of
- Estonian in . Some shortcuts are
- defined, as well as translations to Estonian of standard “LaTeX
- names”.},
-}
-
-@manual{ctan-babel-finnish,
- title = {The \texttt{babel-finnish} package},
- subtitle = {Babel support for Finnish},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2021-02-06},
- version = {1.3s},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/finnish},
- url = {https://ctan.org/pkg/babel-finnish},
- annotation = {The package provides a language description file that enables
- support of Finnish with .},
-}
-
-@manual{ctan-babel-french,
- title = {The \texttt{babel-french} package},
- subtitle = {Babel contributed support for French},
- author = {Daniel Flipo},
- date = {2023-03-09},
- version = {3.5q},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/french},
- url = {https://ctan.org/pkg/babel-french},
- annotation = {The package, formerly known as , establishes
- French conventions in a document (or a subset of the conventions,
- if French is not the main language of the document).},
-}
-
-@manual{ctan-babel-friulan,
- title = {The \texttt{babel-friulan} package},
- subtitle = {Babel/Polyglossia support for Friulan(Furlan)},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/friulan},
- url = {https://ctan.org/pkg/babel-friulan},
- annotation = {The package provides a language description file that enables
- support of Friulan either with or
- with .},
-}
-
-@manual{ctan-babel-galician,
- title = {The \texttt{babel-galician} package},
- subtitle = {Babel/Polyglossia support for Galician},
- author = {Javier Múgica de Rivera},
- date = {2016-06-24},
- version = {4.3c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/galician},
- url = {https://ctan.org/pkg/babel-galician},
- annotation = {The package provides a language description file that enables
- support of Galician either with or
- with .},
-}
-
-@manual{ctan-babel-georgian,
- title = {The \texttt{babel-georgian} package},
- subtitle = {Babel support for Georgian},
- author = {Levan Shoshiashvili and Werner Lemberg},
- date = {2017-11-21},
- version = {2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/georgian},
- url = {https://ctan.org/pkg/babel-georgian},
-}
-
-@manual{ctan-babel-german,
- title = {The \texttt{babel-german} package},
- subtitle = {Babel support for documents written in German},
- author = {Bernd Raichle and Johannes L. Braams and Jürgen Spitzmüller},
- date = {2021-02-27},
- version = {2.13},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/german},
- url = {https://ctan.org/pkg/babel-german},
- annotation = {This bundle is an extension to the
- package for multilingual typesetting.
- It provides all the necessary macros, definitions and settings
- to typeset German documents. The bundle includes support for the
- traditional and reformed German orthography as well as for the
- Austrian and Swiss varieties of German.},
-}
-
-@manual{ctan-babel-greek,
- title = {The \texttt{babel-greek} package},
- subtitle = {Babel support for documents written in Greek},
- author = {Apostolos Syropoulos and Javier Bezos López and Johannes L. Braams and Günter Milde},
- date = {2023-03-04},
- version = {1.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/greek},
- url = {https://ctan.org/pkg/babel-greek},
-}
-
-@manual{ctan-babel-hebrew,
- title = {The \texttt{babel-hebrew} package},
- subtitle = {Babel support for Hebrew},
- author = {Javier Bezos López and Johannes L. Braams and Boris Lavva and Arthur Rosendahl},
- date = {2019-10-31},
- version = {2.3h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/hebrew},
- url = {https://ctan.org/pkg/babel-hebrew},
-}
-
-@manual{ctan-babel-hungarian,
- title = {The \texttt{babel-hungarian} package},
- subtitle = {Babel support for Hungarian (Magyar)},
- author = {Péter Szabó},
- date = {2019-01-14},
- version = {1.5c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/hungarian},
- url = {https://ctan.org/pkg/babel-hungarian},
- annotation = {The package provides a language definition file that enables
- support of Magyar (Hungarian) with .},
-}
-
-@manual{ctan-babel-icelandic,
- title = {The \texttt{babel-icelandic} package},
- subtitle = {Babel support for Icelandic},
- author = {Einar Árnason and Johannes L. Braams and Javier Bezos López},
- date = {2019-07-04},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/icelandic},
- url = {https://ctan.org/pkg/babel-icelandic},
-}
-
-@manual{ctan-babel-indonesian,
- title = {The \texttt{babel-indonesian} package},
- subtitle = {Support for Indonesian within babel},
- author = {Jörg Knappen and Terry Mart and Johannes L. Braams and Javier Bezos López},
- date = {2018-01-13},
- version = {1.0m},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/indonesian},
- url = {https://ctan.org/pkg/babel-indonesian},
-}
-
-@manual{ctan-babel-interlingua,
- title = {The \texttt{babel-interlingua} package},
- subtitle = {Babel support for Interlingua},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2018-01-13},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/interlingua},
- url = {https://ctan.org/pkg/babel-interlingua},
-}
-
-@manual{ctan-babel-irish,
- title = {The \texttt{babel-irish} package},
- subtitle = {Babel support for Irish},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2018-01-13},
- version = {1.0h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/irish},
- url = {https://ctan.org/pkg/babel-irish},
-}
-
-@manual{ctan-babel-italian,
- title = {The \texttt{babel-italian} package},
- subtitle = {Babel support for Italian text},
- author = {Javier Bezos López and Johannes L. Braams and Claudio Beccari and Maurizio Codogno},
- date = {2022-04-03},
- version = {1.4.07},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/italian},
- url = {https://ctan.org/pkg/babel-italian},
- annotation = {The package provides language definitions for use in
- .},
-}
-
-@manual{ctan-babel-japanese,
- title = {The \texttt{babel-japanese} package},
- subtitle = {Babel support for Japanese},
- author = {{Ing} and {Japanese \TeX{} Development Community}},
- date = {2021-02-13},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/japanese},
- url = {https://ctan.org/pkg/babel-japanese},
-}
-
-@manual{ctan-babel-kurmanji,
- title = {The \texttt{babel-kurmanji} package},
- subtitle = {Babel support for Kurmanji},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2018-04-25},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/kurmanji},
- url = {https://ctan.org/pkg/babel-kurmanji},
-}
-
-@manual{ctan-babel-latin,
- title = {The \texttt{babel-latin} package},
- subtitle = {Babel support for Latin},
- author = {Keno Wehr and Javier Bezos López and Johannes L. Braams and Claudio Beccari},
- date = {2021-06-28},
- version = {4.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/latin},
- url = {https://ctan.org/pkg/babel-latin},
- annotation = {The babel-latin package provides the
- languages , , , and
- . It also defines several useful shorthands as well
- as some modifiers for typographical fine-tuning.},
-}
-
-@manual{ctan-babel-latvian,
- title = {The \texttt{babel-latvian} package},
- subtitle = {Babel support for Latvian},
- author = {Andris Lasis and Javier Bezos López},
- date = {2018-02-19},
- version = {2.0b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/latvian},
- url = {https://ctan.org/pkg/babel-latvian},
- annotation = {The package provides the language definition file for support of
- Latvian in .},
-}
-
-@manual{ctan-babel-lithuanian,
- title = {The \texttt{babel-lithuanian} package},
- subtitle = {Babel support for documents written in Lithuanian},
- author = {Sigitas Tolušis},
- date = {2023-03-08},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/required/babel/contrib/lithuanian},
- url = {https://ctan.org/pkg/babel-lithuanian},
- annotation = {support material
- for documents written in Lithuanian
- moved from the package
- into a new package to match
- babel support for other languages.},
-}
-
-@manual{ctan-babel-macedonian,
- title = {The \texttt{babel-macedonian} package},
- subtitle = {Babel module to support Macedonian Cyrillic},
- author = {Stojan Trajanovski},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/macedonian},
- url = {https://ctan.org/pkg/babel-macedonian},
- annotation = {The package provides support for Macedonian documents written in
- Cyrillic, in .},
-}
-
-@manual{ctan-babel-malay,
- title = {The \texttt{babel-malay} package},
- subtitle = {Support for Malay within babel},
- author = {Jörg Knappen and Terry Mart and Johannes L. Braams and Javier Bezos López},
- date = {2018-01-13},
- version = {1.0m},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/malay},
- url = {https://ctan.org/pkg/babel-malay},
-}
-
-@manual{ctan-babel-norsk,
- title = {The \texttt{babel-norsk} package},
- subtitle = {Babel support for Norwegian},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2022-11-17},
- version = {2.0i},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/norsk},
- url = {https://ctan.org/pkg/babel-norsk},
- annotation = {The package provides the language definition file for support of
- Norwegian in . Some shortcuts are
- defined, as well as translations to Norsk of standard “LaTeX
- names”.},
-}
-
-@manual{ctan-babel-occitan,
- title = {The \texttt{babel-occitan} package},
- subtitle = {Babel support for Occitan},
- author = {Cédric Valmary},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/occitan},
- url = {https://ctan.org/pkg/babel-occitan},
-}
-
-@manual{ctan-babel-piedmontese,
- title = {The \texttt{babel-piedmontese} package},
- subtitle = {Babel support for Piedmontese},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/piedmontese},
- url = {https://ctan.org/pkg/babel-piedmontese},
- annotation = {The package provides the language definition file for support of
- Piedmontese in . Some shortcuts are
- defined, as well as translations to Piedmontese of standard “LaTeX
- names”.},
-}
-
-@manual{ctan-babel-polish,
- title = {The \texttt{babel-polish} package},
- subtitle = {Babel support for Polish},
- author = {Javier Bezos López and Johannes L. Braams and Elmar Schalück and Michael Janich and Marcin Woliński},
- date = {2022-03-12},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/polish},
- url = {https://ctan.org/pkg/babel-polish},
- annotation = {The package provides the language definition file for support of
- Polish in . Some shortcuts are
- defined, as well as translations to Polish of standard “LaTeX
- names”.},
-}
-
-@manual{ctan-babel-portuges,
- title = {The \texttt{babel-portuges} package},
- subtitle = {Babel support for Portuges},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2021-07-09},
- version = {1.2t},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/portuges},
- url = {https://ctan.org/pkg/babel-portuges},
- annotation = {The package provides the language definition file for support of
- Portuguese and Brazilian Portuguese in . Some shortcuts are defined, as well
- as translations to Portuguese of standard “\LaTeX{} names”.},
-}
-
-@manual{ctan-babel-romanian,
- title = {The \texttt{babel-romanian} package},
- subtitle = {Babel support for Romanian},
- author = {Javier Bezos López and Johannes L. Braams and Umstatter Horst and Robert Juhasz},
- date = {2021-04-05},
- version = {1.2m},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/romanian},
- url = {https://ctan.org/pkg/babel-romanian},
- annotation = {The package provides the language definition file for support of
- Romanian in . Translations to
- Romanian of standard “\LaTeX{} names” are provided.},
-}
-
-@manual{ctan-babel-romansh,
- title = {The \texttt{babel-romansh} package},
- subtitle = {Babel/Polyglossia support for the Romansh language},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/romansh},
- url = {https://ctan.org/pkg/babel-romansh},
- annotation = {The package provides a language description file that enables
- support of Romansh either with or
- with .},
-}
-
-@manual{ctan-babel-russian,
- title = {The \texttt{babel-russian} package},
- subtitle = {Russian language module for Babel},
- author = {Igor A. Kotelnikov},
- date = {2021-01-10},
- version = {1.3m},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/russian},
- url = {https://ctan.org/pkg/babel-russian},
-}
-
-@manual{ctan-babel-samin,
- title = {The \texttt{babel-samin} package},
- subtitle = {Babel support for Samin},
- author = {Javier Bezos López and Johannes L. Braams and Regnor Jernsletten},
- date = {2018-01-13},
- version = {1.0c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/samin},
- url = {https://ctan.org/pkg/babel-samin},
-}
-
-@manual{ctan-babel-scottish,
- title = {The \texttt{babel-scottish} package},
- subtitle = {Babel support for Scottish Gaelic},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2018-01-13},
- version = {1.0g},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/scottish},
- url = {https://ctan.org/pkg/babel-scottish},
- annotation = {The package provides the language definition file for support of
- Gaidhlig (Scottish Gaelic) in .
- Some shortcuts are defined, as well as translations of standard
- “\LaTeX{} names”.},
-}
-
-@manual{ctan-babel-serbian,
- title = {The \texttt{babel-serbian} package},
- subtitle = {Babel/Polyglossia support for Serbian},
- author = {Javier Bezos López and Johannes L. Braams and Uroš Stefanović},
- date = {2022-09-30},
- version = {2.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/serbian},
- url = {https://ctan.org/pkg/babel-serbian},
- annotation = {The package provides support for Serbian documents written in
- Latin, in .},
-}
-
-@manual{ctan-babel-serbianc,
- title = {The \texttt{babel-serbianc} package},
- subtitle = {Babel module to support Serbian Cyrillic},
- author = {Filip Brčić and Uroš Stefanović},
- date = {2022-10-07},
- version = {3.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/serbianc},
- url = {https://ctan.org/pkg/babel-serbianc},
- annotation = {The package provides support for Serbian documents written in
- Cyrillic, in .},
-}
-
-@manual{ctan-babel-slovak,
- title = {The \texttt{babel-slovak} package},
- subtitle = {Babel support for typesetting Slovak},
- author = {Javier Bezos López and Johannes L. Braams and Jana Chlebíková and Petr Tesařík},
- date = {2018-01-13},
- version = {3.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/slovak},
- url = {https://ctan.org/pkg/babel-slovak},
- annotation = {The package provides the language definition file for support of
- Slovak in , including Slovak
- variants of \LaTeX{} built-in-names. Shortcuts are also defined.},
-}
-
-@manual{ctan-babel-slovenian,
- title = {The \texttt{babel-slovenian} package},
- subtitle = {Babel support for typesetting Slovenian},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2021-02-06},
- version = {1.2n},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/slovenian},
- url = {https://ctan.org/pkg/babel-slovenian},
- annotation = {The package provides the language definition file for support of
- Slovenian in . Several shortcuts
- are defined, as well as translations to Slovenian of standard
- “\LaTeX{} names”.},
-}
-
-@manual{ctan-babel-sorbian,
- title = {The \texttt{babel-sorbian} package},
- subtitle = {Babel support for Upper and Lower Sorbian},
- author = {Javier Bezos López and Johannes L. Braams and Eduard Werner},
- date = {2021-11-06},
- version = {1.0j},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/sorbian},
- url = {https://ctan.org/pkg/babel-sorbian},
- annotation = {The package provides language definitions file for support of both
- Upper and Lower Sorbian, in . Some
- shortcuts are defined, as well as translations to the relevant
- language of standard “\LaTeX{} names”.},
-}
-
-@manual{ctan-babel-spanglish,
- title = {The \texttt{babel-spanglish} package},
- subtitle = {Simplified Spanish support for Babel},
- author = {Luis Rivera},
- date = {2020-04-11},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/babel-contrib/spanglish},
- url = {https://ctan.org/pkg/babel-spanglish},
-}
-
-@manual{ctan-babel-spanish,
- title = {The \texttt{babel-spanish} package},
- subtitle = {Babel support for Spanish},
- author = {Javier Bezos López and Julio Sanchez},
- date = {2021-05-27},
- version = {5.0q},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/spanish},
- url = {https://ctan.org/pkg/babel-spanish},
-}
-
-@manual{ctan-babel-swedish,
- title = {The \texttt{babel-swedish} package},
- subtitle = {Babel support for typesetting Swedish},
- author = {Javier Bezos López and Johannes L. Braams and Sten Hellman},
- date = {2021-02-06},
- version = {2.3e},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/swedish},
- url = {https://ctan.org/pkg/babel-swedish},
-}
-
-@manual{ctan-babel-thai,
- title = {The \texttt{babel-thai} package},
- subtitle = {Support for Thai within babel},
- author = {Theppitak Karoonboonyanan},
- date = {2016-06-24},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/thai},
- url = {https://ctan.org/pkg/babel-thai},
- annotation = {The package provides support for typesetting Thai text. within the
- system.},
-}
-
-@manual{ctan-babel-turkish,
- title = {The \texttt{babel-turkish} package},
- subtitle = {Babel support for Turkish documents},
- author = {Pierre A. MacKay and Mustafa Burc and Javier Bezos López},
- date = {2019-07-05},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/turkish},
- url = {https://ctan.org/pkg/babel-turkish},
- annotation = {The package provides support, within
- , of the Turkish language.},
-}
-
-@manual{ctan-babel-ukrainian,
- title = {The \texttt{babel-ukrainian} package},
- subtitle = {Babel support for Ukrainian},
- author = {Johannes L. Braams and Sergiy M. Ponomarenko},
- date = {2020-10-14},
- version = {1.4e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/ukrainian},
- url = {https://ctan.org/pkg/babel-ukrainian},
- annotation = {The package provides support for use of
-
- in documents written in Ukrainian.
- The support is adapted for use under legacy
- \TeX{} engines as well as XeTeX and LuaTeX.},
-}
-
-@manual{ctan-babel-vietnamese,
- title = {The \texttt{babel-vietnamese} package},
- subtitle = {Babel support for typesetting Vietnamese},
- author = {Werner Lemberg and Reinhard Kotucha and Javier Bezos López},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/vietnamese},
- url = {https://ctan.org/pkg/babel-vietnamese},
- annotation = {The package provides the language definition file for support of
- Vietnamese in .},
-}
-
-@manual{ctan-babel-welsh,
- title = {The \texttt{babel-welsh} package},
- subtitle = {Babel support for Welsh},
- author = {Johannes L. Braams and Javier Bezos López},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/babel-contrib/welsh},
- url = {https://ctan.org/pkg/babel-welsh},
-}
-
-@manual{ctan-babel,
- title = {The \texttt{babel} package},
- subtitle = {Multilingual support for \LaTeX{}, LuaLaTeX, \XeLaTeX{}, and Plain \TeX{}},
- author = {Javier Bezos López and Johannes L. Braams},
- date = {2023-02-13},
- version = {3.86},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/required/babel/base},
- url = {https://ctan.org/pkg/babel},
-}
-
-@manual{ctan-babelbib,
- title = {The \texttt{babelbib} package},
- subtitle = {Multilingual bibliographies},
- author = {Harald Harders and Norbert Preining},
- date = {2021-01-07},
- version = {1.34},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/babelbib},
- url = {https://ctan.org/pkg/babelbib},
-}
-
-@manual{ctan-babeltools,
- title = {The \texttt{babeltools} package},
- subtitle = {Tools for dealing with Babel annoyances},
- author = {Javier Bezos López},
- date = {2019-06-27},
- version = {1.1},
- license = {mit},
- url = {https://ctan.org/pkg/babeltools},
-}
-
-@manual{ctan-babyloniannum,
- title = {The \texttt{babyloniannum} package},
- subtitle = {Typeset Babylonian numerals with XeTeX},
- author = {Raphaël Pinson},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/babyloniannum},
- url = {https://ctan.org/pkg/babyloniannum},
- annotation = {The package typesets Babylonian numerals, using XeTeX or LuaTeX.
- It makes use of the Santakku Paleo-Babylonian font, which may be
- downloaded at
- .},
-}
-
-@manual{ctan-backgrnd,
- title = {The \texttt{backgrnd} package},
- subtitle = {Mark text with grey background or change bar},
- author = {Peter Schmitt},
- date = {2020-04-11},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/backgrnd.tex},
- url = {https://ctan.org/pkg/backgrnd},
- annotation = {Marks text, using \TeX{}'s resources only (without resorting to
- commands). Grey background uses a shade font
- provided as Metafont source. Works under plain \TeX{} and in simple \LaTeX{}
- 2.09 documents, but probably not in \LaTeX{} 2e.},
-}
-
-@manual{ctan-background,
- title = {The \texttt{background} package},
- subtitle = {Placement of background material on pages of a document},
- author = {Gonzalo Medina Arellano},
- date = {2018-01-06},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/background},
- url = {https://ctan.org/pkg/background},
-}
-
-@manual{ctan-backnaur,
- title = {The \texttt{backnaur} package},
- subtitle = {Typeset Backus Naur Form definitions},
- author = {Adrian P. Robson},
- date = {2020-01-11},
- version = {3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/backnaur},
- url = {https://ctan.org/pkg/backnaur},
-}
-
-@manual{ctan-backref,
- title = {The \texttt{backref} package},
- subtitle = {Make hyper-references back from bibliography to citation},
- author = {Heiko Oberdiek},
- date = {2023-02-08},
- version = {1.41},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyperref},
- url = {https://ctan.org/pkg/backref},
- annotation = {This package is part of the
- bundle, and only works when loaded with hyperref.},
-}
-
-@manual{ctan-backrefx,
- title = {The \texttt{backrefx} package},
- subtitle = {Bibliographical back referencing},
- author = {Danie Els},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/backrefx},
- url = {https://ctan.org/pkg/backrefx},
-}
-
-@manual{ctan-badge,
- title = {The \texttt{badge} package},
- subtitle = {Print badge labels},
- author = {Pieter van Oostrum},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/badge},
- url = {https://ctan.org/pkg/badge},
-}
-
-@manual{ctan-baekmuk,
- title = {The \texttt{baekmuk} package},
- subtitle = {Baekmuk Korean TrueType fonts},
- author = {Jeong-Hwan Kim and Werner Lemberg},
- date = {2020-11-12},
- version = {2.2.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/baekmuk},
- url = {https://ctan.org/pkg/baekmuk},
-}
-
-@manual{ctan-bagpipe,
- title = {The \texttt{bagpipe} package},
- subtitle = {Support for typesetting bagpipe music},
- author = {Walt Innis},
- date = {2016-06-24},
- version = {3.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/bagpipe},
- url = {https://ctan.org/pkg/bagpipe},
-}
-
-@manual{ctan-bahyph,
- title = {The \texttt{bahyph} package},
- subtitle = {Hyphenation for Basque},
- author = {Juan M. Aguirregabiria},
- date = {2016-11-05},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/basque},
- url = {https://ctan.org/pkg/bahyph},
-}
-
-@manual{ctan-bakoma-fonts,
- title = {The \texttt{bakoma-fonts} package},
- subtitle = {Computer Modern and AMS fonts in outline form},
- author = {Basil Malyshev},
- date = {2018-01-06},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/cm/ps-type1/bakoma},
- url = {https://ctan.org/pkg/bakoma-fonts},
-}
-
-@manual{ctan-bakoma-games,
- title = {The \texttt{bakoma-games} package},
- subtitle = {BaKoMa modules for music and games},
- author = {Basil Malyshev},
- date = {2016-06-24},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/win32/bakoma/macros/games.bkz},
- url = {https://ctan.org/pkg/bakoma-games},
-}
-
-@manual{ctan-bakoma-mac,
- title = {The \texttt{bakoma-mac} package},
- subtitle = {A BaKoMa system for the Macintosh},
- author = {Basil Malyshev},
- date = {2016-06-24},
- version = {},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/mac/bakoma-mac},
- url = {https://ctan.org/pkg/bakoma-mac},
-}
-
-@manual{ctan-bakoma,
- title = {The \texttt{bakoma} package},
- subtitle = {A \TeX{} distribution for MS-Windows VISTA/XP/2000},
- author = {Basil Malyshev},
- date = {2016-06-24},
- version = {9.51},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/win32/bakoma},
- url = {https://ctan.org/pkg/bakoma},
-}
-
-@manual{ctan-balance,
- title = {The \texttt{balance} package},
- subtitle = {Balanced two-column mode},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {4.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/preprint},
- url = {https://ctan.org/pkg/balance},
-}
-
-@manual{ctan-balanced,
- title = {The \texttt{balanced} package},
- subtitle = {Balance double-column sections in \LaTeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/balanced.sty},
- url = {https://ctan.org/pkg/balanced},
- annotation = {Defines a twocolumns environment that can be used anywhere in a
- one-column document. The environment may start and finish
- mid-page, and columns are always balanced. Inserts are not
- supported (so no or floats).},
-}
-
-@manual{ctan-balancedquotes,
- title = {The \texttt{balancedquotes} package},
- subtitle = {Code balanced quotes according to document language},
- author = {Ole Michael Selberg},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/balancedquotes.sty},
- url = {https://ctan.org/pkg/balancedquotes},
- annotation = {Provides simplified markup for balanced quotes:
-
- will appear as balanced double quotes around a text which embeds
- a text surrounded by balanced single quotes. The actual
- representation of the quotes is selectable, according to the
- language in use.},
-}
-
-@manual{ctan-bangla,
- title = {The \texttt{bangla} package},
- subtitle = {A comprehensive Bangla \LaTeX{} package},
- author = {Nahid Hossain},
- date = {2023-02-11},
- version = {2.1},
- license = {lppl1.3c,ofl},
- mirror = {https://mirror.ctan.org/language/bengali/bangla},
- url = {https://ctan.org/pkg/bangla},
-}
-
-@manual{ctan-bangorcsthesis,
- title = {The \texttt{bangorcsthesis} package},
- subtitle = {Typeset a thesis at Bangor University},
- author = {Cameron Gray},
- date = {2022-01-28},
- version = {1.5.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bangorcsthesis},
- url = {https://ctan.org/pkg/bangorcsthesis},
-}
-
-@manual{ctan-bangorexam,
- title = {The \texttt{bangorexam} package},
- subtitle = {Typeset an examination at Bangor University},
- author = {Cameron Gray},
- date = {2022-11-29},
- version = {1.5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bangorexam},
- url = {https://ctan.org/pkg/bangorexam},
-}
-
-@manual{ctan-bangtex,
- title = {The \texttt{bangtex} package},
- subtitle = {Writing Bangla and Assamese with \LaTeX{}},
- author = {Palash Baran Pal},
- date = {2020-06-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/bengali/bangtex},
- url = {https://ctan.org/pkg/bangtex},
-}
-
-@manual{ctan-bankstatement,
- title = {The \texttt{bankstatement} package},
- subtitle = {A \LaTeX{} class for bank statements based on csv data},
- author = {Josef Kleber},
- date = {2017-04-18},
- version = {0.9.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bankstatement},
- url = {https://ctan.org/pkg/bankstatement},
-}
-
-@manual{ctan-bar,
- title = {The \texttt{bar} package},
- subtitle = {A patched version of bar.sty},
- author = {Joachim Bleser and Edmund Lang},
- date = {2019-06-21},
- version = {1.0},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/bar.sty},
- url = {https://ctan.org/pkg/bar},
- annotation = {This version of bar.sty mends one of the known bugs in the version
- in the bundle. Unfortunately,
- barkom's documentation doesn't compile correctly with this
- version, so further work is presumably needed.},
-}
-
-@manual{ctan-barcodes-vulis,
- title = {The \texttt{barcodes-vulis} package},
- subtitle = {A font for making barcodes},
- author = {Dimitri Vulis},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/barcodes/vulis/barcodes.mf},
- url = {https://ctan.org/pkg/barcodes-vulis},
-}
-
-@manual{ctan-barcodes,
- title = {The \texttt{barcodes} package},
- subtitle = {Fonts for making barcodes},
- author = {Peter Willadt},
- date = {2016-07-15},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/barcodes/willadt},
- url = {https://ctan.org/pkg/barcodes},
-}
-
-@manual{ctan-bard,
- title = {The \texttt{bard} package},
- subtitle = {Celtic bardic runes font},
- author = {Jobst-Hartmut Lüddecke},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/bard/bard.mf},
- url = {https://ctan.org/pkg/bard},
-}
-
-@manual{ctan-bardi,
- title = {The \texttt{bardi} package},
- subtitle = {Hyphenation and babel support for Bardi},
- author = {Claire Bowern},
- date = {2016-06-24},
- version = {1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/language/bardi},
- url = {https://ctan.org/pkg/bardi},
-}
-
-@manual{ctan-bardiag,
- title = {The \texttt{bardiag} package},
- subtitle = {\LaTeX{} package for drawing bar diagrams},
- author = {R. Stepanyan},
- date = {2018-09-15},
- version = {0.4a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/bardiag},
- url = {https://ctan.org/pkg/bardiag},
- annotation = {The main purpose of the package is to make the drawing of bar diagrams
- possible and easy in \LaTeX{}. The BarDiag package is inspired by and based
- on .},
-}
-
-@manual{ctan-bargraph-js,
- title = {The \texttt{bargraph-js} package},
- subtitle = {Create bar graphs using form fields and JavaScript},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {0.8},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bargraph-js},
- url = {https://ctan.org/pkg/bargraph-js},
-}
-
-@manual{ctan-barkom,
- title = {The \texttt{barkom} package},
- subtitle = {A package for bar charts in \LaTeX{}},
- author = {Joachim Bleser and Edmund Lang},
- date = {2016-06-24},
- version = {1.0},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/barkom},
- url = {https://ctan.org/pkg/barkom},
-}
-
-@manual{ctan-barracuda,
- title = {The \texttt{barracuda} package},
- subtitle = {Draw barcodes with Lua},
- author = {Roberto Giacomelli},
- date = {2022-06-23},
- version = {0.0.12},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/barracuda},
- url = {https://ctan.org/pkg/barracuda},
- annotation = {The library is a modular Lua package for
- drawing barcode symbols. It provides modules for
- writing barcodes from a LuaTeX document. It is also
- possible to use Barracuda with a standalone Lua interpreter to
- draw barcodes in different graphic formats like SVG.},
-}
-
-@manual{ctan-bartel-chess-fonts,
- title = {The \texttt{bartel-chess-fonts} package},
- subtitle = {A set of fonts supporting chess diagrams},
- author = {Elmar Bartel and Norbert Preining},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/bartel-chess-fonts},
- url = {https://ctan.org/pkg/bartel-chess-fonts},
-}
-
-@manual{ctan-base,
- title = {The \texttt{base} package},
- subtitle = {Definitive source of Plain \TeX{} on CTAN},
- author = {Donald E. Knuth},
- date = {2020-06-21},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/plain/base},
- url = {https://ctan.org/pkg/base},
-}
-
-@manual{ctan-bashful,
- title = {The \texttt{bashful} package},
- subtitle = {Invoke bash commands from within \LaTeX{}},
- author = {Yossi Gil},
- date = {2016-06-24},
- version = {0.93},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bashful},
- url = {https://ctan.org/pkg/bashful},
-}
-
-@manual{ctan-bashkirian,
- title = {The \texttt{bashkirian} package},
- subtitle = {Bashkirian extension to OT2 fonts},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/bashkirian},
- url = {https://ctan.org/pkg/bashkirian},
-}
-
-@manual{ctan-basicarith,
- title = {The \texttt{basicarith} package},
- subtitle = {Macros for typesetting basic arithmetic},
- author = {Donald P. Goodman},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/basicarith},
- url = {https://ctan.org/pkg/basicarith},
-}
-
-@manual{ctan-basiclatex-ru,
- title = {The \texttt{BasicLaTeX-ru} package},
- subtitle = {An introduction to \LaTeX{}, in Russian},
- author = {Alexey Kuznetsov},
- date = {2021-07-07},
- version = {1.0},
- license = {cc-by-nc-sa4},
- mirror = {https://mirror.ctan.org/info/russian/basiclatex-ru},
- url = {https://ctan.org/pkg/basiclatex-ru},
-}
-
-@manual{ctan-basix,
- title = {The \texttt{basix} package},
- subtitle = {A BASIC interpreter written in \TeX{}},
- author = {Andrew Greene},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/basix},
- url = {https://ctan.org/pkg/basix},
-}
-
-@manual{ctan-baskervaldadf,
- title = {The \texttt{baskervaldadf} package},
- subtitle = {Baskervald ADF fonts collection with \TeX{}/\LaTeX{} support},
- author = {Clea F. Rees},
- date = {2017-04-18},
- version = {1.016},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/baskervaldadf},
- url = {https://ctan.org/pkg/baskervaldadf},
-}
-
-@manual{ctan-baskervaldx,
- title = {The \texttt{baskervaldx} package},
- subtitle = {Extension and modification of BaskervaldADF with \LaTeX{} support},
- author = {Michael Sharpe},
- date = {2020-12-06},
- version = {1.076},
- license = {gpl2+,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/baskervaldx},
- url = {https://ctan.org/pkg/baskervaldx},
- annotation = {Extends and modifies the
- font
- (a Baskerville substitute) with more accented glyphs,
- with small caps and oldstyle figures in all shapes.
- Includes OpenType and PostScript fonts,
- as well as \LaTeX{} support files.},
-}
-
-@manual{ctan-baskervillef,
- title = {The \texttt{baskervillef} package},
- subtitle = {Fry’s Baskerville look-alike, with math support},
- author = {Michael Sharpe},
- date = {2020-06-07},
- version = {1.051},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/baskervillef},
- url = {https://ctan.org/pkg/baskervillef},
- annotation = {BaskervilleF is a fork from the
-
- (Roman, Italic, Bold only) released under the OFL by
- Paolo Impallari and Rodrigo Fuenzalida.
- Their fonts are optimized for web usage,
- while BaskervilleF is optimized for traditional \TeX{} usage,
- normally destined for production of pdf files. A bold italic
- style was added and mathematical support is offered as an option
- to .},
-}
-
-@manual{ctan-basque-book,
- title = {The \texttt{basque-book} package},
- subtitle = {Class for book-type documents written in Basque},
- author = {Edorta Ibarra},
- date = {2016-06-24},
- version = {1.20},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/basque-book},
- url = {https://ctan.org/pkg/basque-book},
-}
-
-@manual{ctan-basque-date,
- title = {The \texttt{basque-date} package},
- subtitle = {Print the date in Basque},
- author = {Edorta Ibarra},
- date = {2016-06-24},
- version = {1.05},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/basque-date},
- url = {https://ctan.org/pkg/basque-date},
-}
-
-@manual{ctan-bath-bst,
- title = {The \texttt{bath-bst} package},
- subtitle = {Harvard referencing style as recommended by the University of Bath Library},
- author = {Alex Ball},
- date = {2022-05-25},
- version = {6.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/bath-bst},
- url = {https://ctan.org/pkg/bath-bst},
- annotation = {This package provides a BibTeX style to format reference lists
- in the recommended by the University of Bath Library. It
- should be used in conjunction with for citations.},
-}
-
-@manual{ctan-battleship,
- title = {The \texttt{battleship} package},
- subtitle = {A \LaTeX{} style file for typesetting Battleship logic puzzles},
- author = {Josef Kleber},
- date = {2020-09-17},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/battleship},
- url = {https://ctan.org/pkg/battleship},
-}
-
-@manual{ctan-baum,
- title = {The \texttt{baum} package},
- subtitle = {Trees, using PicTeX},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/baum},
- url = {https://ctan.org/pkg/baum},
- annotation = {The package draws trees, using .
- There is no documentation, but the distribution contains an
- example file that makes usage fairly clear.},
-}
-
-@manual{ctan-bbcard,
- title = {The \texttt{bbcard} package},
- subtitle = {Bullshit bingo, calendar and baseball-score cards},
- author = {Patrick T J McPhee},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/bbcard},
- url = {https://ctan.org/pkg/bbcard},
-}
-
-@manual{ctan-bbding,
- title = {The \texttt{bbding} package},
- subtitle = {A symbol (dingbat) font and \LaTeX{} macros for its use},
- author = {Peter Møller Neergaard and Karel Horák},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bbding},
- url = {https://ctan.org/pkg/bbding},
-}
-
-@manual{ctan-bbfig,
- title = {The \texttt{bbfig} package},
- subtitle = {Calculate and print bounding box},
- author = {Ned Batchelder and Bernie Cosell},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/bbfig},
- url = {https://ctan.org/pkg/bbfig},
- annotation = {Bbfig wraps a set of PostScript routines around a PostScript
- file; when the resulting file is printed, the bounding box appears
- on the page, and the requisite directive is
- also printed.},
-}
-
-@manual{ctan-bbl2html,
- title = {The \texttt{bbl2html} package},
- subtitle = {Convert a \LaTeX{} .bbl file to formatted html code},
- author = {Rik Blok},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/misc/bbl2html.awk},
- url = {https://ctan.org/pkg/bbl2html},
-}
-
-@manual{ctan-bbm-macros,
- title = {The \texttt{bbm-macros} package},
- subtitle = {\LaTeX{} support for "blackboard-style" cm fonts},
- author = {Torsten Hilbrich},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bbm},
- url = {https://ctan.org/pkg/bbm-macros},
- annotation = {Provides \LaTeX{} support for
- .
- Declares a font family bbm so you can in principle write running
- text in blackboard bold, and lots of math alphabets for
- using the fonts within maths.},
-}
-
-@manual{ctan-bbm,
- title = {The \texttt{bbm} package},
- subtitle = {"Blackboard-style" cm fonts},
- author = {Gilles Robert},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/cm/bbm},
- url = {https://ctan.org/pkg/bbm},
-}
-
-@manual{ctan-bbold-type1,
- title = {The \texttt{bbold-type1} package},
- subtitle = {An Adobe Type 1 format version of the bbold font},
- author = {Berthold K. P. Horn and Khaled Hosny},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/bbold-type1},
- url = {https://ctan.org/pkg/bbold-type1},
-}
-
-@manual{ctan-bbold,
- title = {The \texttt{bbold} package},
- subtitle = {Sans serif blackboard bold},
- author = {Alan Jeffrey},
- date = {2016-06-24},
- version = {1.01},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/bbold},
- url = {https://ctan.org/pkg/bbold},
-}
-
-@manual{ctan-bboldx,
- title = {The \texttt{bboldx} package},
- subtitle = {Extension of the bbold package with a Blackboard Bold alphabet},
- author = {Michael Sharpe},
- date = {2022-12-31},
- version = {1.032},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/bboldx},
- url = {https://ctan.org/pkg/bboldx},
- annotation = {Extension of to a
- package with three weights, of which the original
- is considered as light and the additions
- as regular and bold.},
-}
-
-@manual{ctan-bbs,
- title = {The \texttt{bbs} package},
- subtitle = {Bibliography style for Behavioral and Brain Sciences},
- author = {Alan Rogers},
- date = {2016-06-24},
- version = {1.1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/bbs.bst},
- url = {https://ctan.org/pkg/bbs},
- annotation = {The style is derived from in the
- , adopting further features from
- ; use with the \LaTeX{} package
- that comes with astron.},
-}
-
-@manual{ctan-bchart,
- title = {The \texttt{bchart} package},
- subtitle = {Draw simple bar charts in \LaTeX{}},
- author = {Tobias Kuhn},
- date = {2017-04-18},
- version = {0.1.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bchart},
- url = {https://ctan.org/pkg/bchart},
-}
-
-@manual{ctan-bclogo,
- title = {The \texttt{bclogo} package},
- subtitle = {Creating colourful boxes with logos},
- author = {Maxime Chupin},
- date = {2018-09-15},
- version = {3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/bclogo},
- url = {https://ctan.org/pkg/bclogo},
- annotation = {The package facilitates the creation of colorful boxes with a
- title and logo. It may use either or
- as graphics engine.},
-}
-
-@manual{ctan-bdfchess,
- title = {The \texttt{bdfchess} package},
- subtitle = {Typeset correspondence chess games},
- author = {Frank Hassel},
- date = {2016-06-24},
- version = {1.2},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/chess/bdfchess},
- url = {https://ctan.org/pkg/bdfchess},
- annotation = {A \LaTeX{} (2.09) package for managing rules and considertimes of
- chess games, according to the rules of the International
- Correspondence Chess Federation. In addition the package will
- typeset games in progress, and the correspondence postcards, using
- the fonts, etc., of the package.},
-}
-
-@manual{ctan-beamer-fuberlin,
- title = {The \texttt{beamer-fuberlin} package},
- subtitle = {Beamer, using the style of FU Berlin},
- author = {Herbert Voß},
- date = {2022-04-28},
- version = {0.02b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-FUBerlin},
- url = {https://ctan.org/pkg/beamer-fuberlin},
-}
-
-@manual{ctan-beamer-rl,
- title = {The \texttt{beamer-rl} package},
- subtitle = {Right to left presentation with beamer and babel},
- author = {Salim Bou},
- date = {2023-02-03},
- version = {1.8},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/beamer-rl},
- url = {https://ctan.org/pkg/beamer-rl},
- annotation = {This class provides patches of some
- templates and commands
- for presentation from right to left.
- It requires with
- the engine.},
-}
-
-@manual{ctan-beamer-tut-pt,
- title = {The \texttt{beamer-tut-pt} package},
- subtitle = {An introduction to the Beamer class, in Portuguese},
- author = {Carlos Campani},
- date = {2016-06-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/portuguese/beamer},
- url = {https://ctan.org/pkg/beamer-tut-pt},
-}
-
-@manual{ctan-beamer-verona,
- title = {The \texttt{beamer-verona} package},
- subtitle = {A theme for the beamer class},
- author = {Ivan Valbusa},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamer-verona},
- url = {https://ctan.org/pkg/beamer-verona},
- annotation = {This package provides the ‘Verona’ theme for the
- class by Till Tantau.},
-}
-
-@manual{ctan-beamer,
- title = {The \texttt{beamer} package},
- subtitle = {A \LaTeX{} class for producing presentations and slides},
- author = {Vedran Miletić and Joseph Wright and {Unknown} and Louis Stuart and Till Tantau},
- date = {2023-02-20},
- version = {3.69},
- license = {lppl1.3c,gpl2+,fdl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer},
- url = {https://ctan.org/pkg/beamer},
-}
-
-@manual{ctan-beamer2thesis,
- title = {The \texttt{beamer2thesis} package},
- subtitle = {Thesis presentations using beamer},
- author = {Claudio Fiandrino},
- date = {2017-04-18},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamer2thesis},
- url = {https://ctan.org/pkg/beamer2thesis},
- annotation = {The package specifies a theme
- for presenting a thesis.},
-}
-
-@manual{ctan-beamerappendixnote,
- title = {The \texttt{beamerappendixnote} package},
- subtitle = {Create notes on appendix frames in beamer},
- author = {Christoph Semken},
- date = {2020-07-02},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/beamerappendixnote},
- url = {https://ctan.org/pkg/beamerappendixnote},
- annotation = {This package introduces the command,
- which puts the note’s content on a separate beamer frame
- shown by the command .
- It also creates interactive buttons to move back and forth between the two frames.},
-}
-
-@manual{ctan-beameraudience,
- title = {The \texttt{beameraudience} package},
- subtitle = {Assembling beamer frames according to audience},
- author = {Holger Marschall},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/beameraudience},
- url = {https://ctan.org/pkg/beameraudience},
-}
-
-@manual{ctan-beamerauxtheme,
- title = {The \texttt{beamerauxtheme} package},
- subtitle = {Supplementary outer and inner themes for beamer},
- author = {Louis Stuart},
- date = {2020-08-10},
- version = {1.02a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamerauxtheme},
- url = {https://ctan.org/pkg/beamerauxtheme},
- annotation = {This bundle provides a collection of inner and outer themes
- as supplements to the default themes in the
- distribution.
- These themes can be used in combination with existing inner,
- outer, and color themes.},
-}
-
-@manual{ctan-beamercolorthemeowl,
- title = {The \texttt{beamercolorthemeowl} package},
- subtitle = {A flexible beamer color theme to maximize visibility},
- author = {Ross Churchley},
- date = {2017-04-18},
- version = {0.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamercolorthemeowl},
- url = {https://ctan.org/pkg/beamercolorthemeowl},
-}
-
-@manual{ctan-beamerdarkthemes,
- title = {The \texttt{beamerdarkthemes} package},
- subtitle = {Dark color themes for beamer},
- author = {Damien Thiriet},
- date = {2020-05-10},
- version = {0.5.1},
- license = {lppl1.3,cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamerdarkthemes},
- url = {https://ctan.org/pkg/beamerdarkthemes},
-}
-
-@manual{ctan-beamerposter,
- title = {The \texttt{beamerposter} package},
- subtitle = {Extend beamer and a0poster for custom sized posters},
- author = {Philippe Dreuw and Thomas Deselaers},
- date = {2018-04-23},
- version = {1.13},
- license = {lppl,gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamerposter},
- url = {https://ctan.org/pkg/beamerposter},
-}
-
-@manual{ctan-beamersubframe,
- title = {The \texttt{beamersubframe} package},
- subtitle = {Reorder frames in the PDF file},
- author = {Mike Kaufmann},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/beamersubframe},
- url = {https://ctan.org/pkg/beamersubframe},
-}
-
-@manual{ctan-beamerswitch,
- title = {The \texttt{beamerswitch} package},
- subtitle = {Convenient mode selection in Beamer documents},
- author = {Alex Ball},
- date = {2022-08-23},
- version = {1.9},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/beamerswitch},
- url = {https://ctan.org/pkg/beamerswitch},
-}
-
-@manual{ctan-beamertheme-arguelles,
- title = {The \texttt{beamertheme-arguelles} package},
- subtitle = {Simple, typographic beamer theme},
- author = {Michele Piazzai},
- date = {2023-03-05},
- version = {2.1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles},
- url = {https://ctan.org/pkg/beamertheme-arguelles},
- annotation = {Argüelles is a beamer theme that helps you create beautiful
- presentations. It aims for simplicity and readability by
- following best practices of graphic design.
- The layout is elegant but subtle, so as to keep the audience’s
- attention on your content. This is brought to life by
- ,
- one of the 53 Fonts of the Decade selected by the
- Association Typographique Internationale (2011).},
-}
-
-@manual{ctan-beamertheme-cuerna,
- title = {The \texttt{beamertheme-cuerna} package},
- subtitle = {A beamer theme with 4 colour palettes},
- author = {Geri Ochoa},
- date = {2018-01-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-cuerna},
- url = {https://ctan.org/pkg/beamertheme-cuerna},
-}
-
-@manual{ctan-beamertheme-detlevcm,
- title = {The \texttt{beamertheme-detlevcm} package},
- subtitle = {A beamer theme designed for use in the University of Leeds},
- author = {Detlev Conrad Mielczarek},
- date = {2018-01-06},
- version = {1.02},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/detlevcm},
- url = {https://ctan.org/pkg/beamertheme-detlevcm},
-}
-
-@manual{ctan-beamertheme-epyt,
- title = {The \texttt{beamertheme-epyt} package},
- subtitle = {A simple and clean theme for \LaTeX{} beamer class},
- author = {Zou Hu},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-epyt},
- url = {https://ctan.org/pkg/beamertheme-epyt},
-}
-
-@manual{ctan-beamertheme-focus,
- title = {The \texttt{beamertheme-focus} package},
- subtitle = {A minimalist presentation theme for \LaTeX{} Beamer},
- author = {Pasquale Claudio Africa},
- date = {2022-03-09},
- version = {3.3.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-focus},
- url = {https://ctan.org/pkg/beamertheme-focus},
-}
-
-@manual{ctan-beamertheme-light,
- title = {The \texttt{beamertheme-light} package},
- subtitle = {A minimal beamer style},
- author = {Fabien Vergnet and Vivien Goepp},
- date = {2019-01-31},
- version = {1.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-light},
- url = {https://ctan.org/pkg/beamertheme-light},
- annotation = {The \LaTeX{} package provides an
- aesthetic and minimal beamer style by redefining colors and
- fonts.},
-}
-
-@manual{ctan-beamertheme-metropolis,
- title = {The \texttt{beamertheme-metropolis} package},
- subtitle = {A modern \LaTeX{} beamer theme},
- author = {Matthias Vogelgesang},
- date = {2017-04-18},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/metropolis},
- url = {https://ctan.org/pkg/beamertheme-metropolis},
-}
-
-@manual{ctan-beamertheme-npbt,
- title = {The \texttt{beamertheme-npbt} package},
- subtitle = {A collection of \LaTeX{} beamer themes},
- author = {Norman Markgraf},
- date = {2018-08-18},
- version = {4.1},
- license = {gpl3,pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-npbt},
- url = {https://ctan.org/pkg/beamertheme-npbt},
-}
-
-@manual{ctan-beamertheme-phnompenh,
- title = {The \texttt{beamertheme-phnompenh} package},
- subtitle = {A simple beamer theme},
- author = {Say Ol},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/phnompenh},
- url = {https://ctan.org/pkg/beamertheme-phnompenh},
-}
-
-@manual{ctan-beamertheme-pure-minimalistic,
- title = {The \texttt{beamertheme-pure-minimalistic} package},
- subtitle = {A minimalistic presentation theme for \LaTeX{} Beamer},
- author = {Kai Norman Clasen},
- date = {2020-11-14},
- version = {2.0.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-pure-minimalistic},
- url = {https://ctan.org/pkg/beamertheme-pure-minimalistic},
-}
-
-@manual{ctan-beamertheme-saintpetersburg,
- title = {The \texttt{beamertheme-saintpetersburg} package},
- subtitle = {A beamer theme that incorporates colours and fonts of Saint Petersburg State University},
- author = {Ivan Gankevich},
- date = {2017-11-23},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-saintpetersburg},
- url = {https://ctan.org/pkg/beamertheme-saintpetersburg},
- annotation = {This minimalistic beamer theme incorporates
-
- colours and fonts.
- It is suitable for both presentations and posters.},
-}
-
-@manual{ctan-beamertheme-simpledarkblue,
- title = {The \texttt{Beamertheme-SimpleDarkBlue} package},
- subtitle = {Template for a simple presentation},
- author = {Pin-Yen Huang},
- date = {2021-07-28},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-simpledarkblue},
- url = {https://ctan.org/pkg/beamertheme-simpledarkblue},
-}
-
-@manual{ctan-beamertheme-simpleplus,
- title = {The \texttt{beamertheme-SimplePlus} package},
- subtitle = {A simple and clean theme for \LaTeX{} beamer},
- author = {Pin-Yen Huang},
- date = {2022-11-02},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-simpleplus},
- url = {https://ctan.org/pkg/beamertheme-simpleplus},
-}
-
-@manual{ctan-beamertheme-tcolorbox,
- title = {The \texttt{beamertheme-tcolorbox} package},
- subtitle = {A beamer inner theme which reproduces standard beamer blocks using tcolorboxes},
- author = {{Unknown}},
- date = {2022-09-14},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox},
- url = {https://ctan.org/pkg/beamertheme-tcolorbox},
- annotation = {This package provides an inner theme for beamer which reproduces
- standard beamer blocks using es.
- The look and feel (rounded/sharp corners, shadows and colours)
- will automatically adapt to which other themes are loaded.},
-}
-
-@manual{ctan-beamertheme-trigon,
- title = {The \texttt{beamertheme-trigon} package},
- subtitle = {A modern, elegant, and versatile theme for Beamer},
- author = {Thomas Lambert},
- date = {2023-02-20},
- version = {0.7.0},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon},
- url = {https://ctan.org/pkg/beamertheme-trigon},
-}
-
-@manual{ctan-beamertheme-upenn-bc,
- title = {The \texttt{beamertheme-upenn-bc} package},
- subtitle = {Beamer themes for Boston College and the University of Pennsylvania},
- author = {Georg Strasser},
- date = {2017-11-20},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/upenn-bc},
- url = {https://ctan.org/pkg/beamertheme-upenn-bc},
-}
-
-@manual{ctan-beamerthemeamurmaple,
- title = {The \texttt{beamerthemeAmurmaple} package},
- subtitle = {A new modern beamer theme},
- author = {Maxime Chupin},
- date = {2023-01-31},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamerthemeamurmaple},
- url = {https://ctan.org/pkg/beamerthemeamurmaple},
-}
-
-@manual{ctan-beamerthemejltree,
- title = {The \texttt{beamerthemeJLTree} package},
- subtitle = {Contributed beamer theme},
- author = {Jérôme Lelong},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamerthemeJLTree.sty},
- url = {https://ctan.org/pkg/beamerthemejltree},
- annotation = {A theme for presentations.},
-}
-
-@manual{ctan-beamerthemelalic,
- title = {The \texttt{beamerthemelalic} package},
- subtitle = {A beamer theme for LALIC},
- author = {Jander Moreira},
- date = {2021-04-08},
- version = {1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamerthemelalic},
- url = {https://ctan.org/pkg/beamerthemelalic},
-}
-
-@manual{ctan-beamerthemenirma,
- title = {The \texttt{beamerthemenirma} package},
- subtitle = {A Beamer theme for academic presentations},
- author = {Ashish Revar},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/nirma},
- url = {https://ctan.org/pkg/beamerthemenirma},
-}
-
-@manual{ctan-beamerthemenord,
- title = {The \texttt{beamerthemeNord} package},
- subtitle = {A simple beamer theme using the “Nord” color theme},
- author = {Junwei Wang},
- date = {2020-08-24},
- version = {0.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamerthemenord},
- url = {https://ctan.org/pkg/beamerthemenord},
- annotation = {This package provides a simple beamer theme using the
- color theme.},
-}
-
-@manual{ctan-beamerthemetamu,
- title = {The \texttt{beamerthemetamu} package},
- subtitle = {A beamer theme for Texas A\&M University},
- author = {Alick Zhao},
- date = {2019-06-21},
- version = {1.1},
- license = {lppl1.3c,gpl2+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/beamerthemetamu},
- url = {https://ctan.org/pkg/beamerthemetamu},
-}
-
-@manual{ctan-bearwear,
- title = {The \texttt{bearwear} package},
- subtitle = {Shirts to dress TikZbears},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bearwear},
- url = {https://ctan.org/pkg/bearwear},
- annotation = {The package offers tools to create shirts for TikZbears
- from the package.},
-}
-
-@manual{ctan-beaulivre,
- title = {The \texttt{beaulivre} package},
- subtitle = {Write your books in a colorful way},
- author = {Jinwen XU},
- date = {2023-01-06},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/beaulivre},
- url = {https://ctan.org/pkg/beaulivre},
-}
-
-@manual{ctan-beebe-dvi,
- title = {The \texttt{Beebe-DVI} package},
- subtitle = {A modular collection of DVI processors},
- author = {Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/beebe},
- url = {https://ctan.org/pkg/beebe-dvi},
-}
-
-@manual{ctan-begingreek,
- title = {The \texttt{begingreek} package},
- subtitle = {Greek environment to be used with pdf\LaTeX{} only},
- author = {Claudio Beccari},
- date = {2022-05-16},
- version = {1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/begingreek},
- url = {https://ctan.org/pkg/begingreek},
- annotation = {This simple package defines a greek environment to be used with
- pdf\LaTeX{} only, that accepts an optional Greek font family name
- to type its contents with. A similar command does
- a similar action for shorter texts.},
-}
-
-@manual{ctan-beginlatex,
- title = {The \texttt{beginlatex} package},
- subtitle = {A beginner's guide to \LaTeX{}},
- author = {Peter Flynn},
- date = {2016-06-24},
- version = {3.6},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/beginlatex},
- url = {https://ctan.org/pkg/beginlatex},
-}
-
-@manual{ctan-begriff,
- title = {The \texttt{begriff} package},
- subtitle = {Typeset Begriffschrift},
- author = {Josh Parsons},
- date = {2016-06-24},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/begriff},
- url = {https://ctan.org/pkg/begriff},
-}
-
-@manual{ctan-beilstein,
- title = {The \texttt{beilstein} package},
- subtitle = {Support for submissions to the “Beilstein Journal of Nanotechnology”},
- author = {Martin Sievers and {Beilstein-Institut}},
- date = {2020-08-26},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beilstein},
- url = {https://ctan.org/pkg/beilstein},
-}
-
-@manual{ctan-beletter,
- title = {The \texttt{beletter} package},
- subtitle = {Typeset Belgian letters},
- author = {James Kilfiger and Frank Lenaerts},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/beletter.cls},
- url = {https://ctan.org/pkg/beletter},
-}
-
-@manual{ctan-belleek,
- title = {The \texttt{belleek} package},
- subtitle = {Free replacement for basic MathTime fonts},
- author = {Richard Kinch},
- date = {2023-02-22},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/belleek},
- url = {https://ctan.org/pkg/belleek},
-}
-
-@manual{ctan-bellmac,
- title = {The \texttt{bellmac} package},
- subtitle = {Outline scheme for form letter production},
- author = {Edwin Bell},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/bellmac.tex},
- url = {https://ctan.org/pkg/bellmac},
-}
-
-@manual{ctan-bengali-omega,
- title = {The \texttt{Bengali Omega} package},
- subtitle = {Bengali in Velthuis transliteration or in UTF-8},
- author = {Lakshmi K. Raut},
- date = {2020-06-07},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/omega/latex/contrib/bengali-omega},
- url = {https://ctan.org/pkg/bengali-omega},
-}
-
-@manual{ctan-bengali-pandey,
- title = {The \texttt{bengali-pandey} package},
- subtitle = {Support for the Bengali language},
- author = {Anshuman Pandey and Abhijit Das},
- date = {2020-06-07},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/bengali/pandey},
- url = {https://ctan.org/pkg/bengali-pandey},
-}
-
-@manual{ctan-bera,
- title = {The \texttt{bera} package},
- subtitle = {Bera fonts},
- author = {Malte Rosenau and Ulrich Dirr and Walter A. Schmidt},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/bera},
- url = {https://ctan.org/pkg/bera},
-}
-
-@manual{ctan-berenisadf,
- title = {The \texttt{berenisadf} package},
- subtitle = {Berenis ADF fonts and \TeX{}/\LaTeX{} support},
- author = {Clea F. Rees and Hirwen Harendal},
- date = {2016-06-24},
- version = {1.004},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/berenisadf},
- url = {https://ctan.org/pkg/berenisadf},
-}
-
-@manual{ctan-besjournals-bst,
- title = {The \texttt{besjournals-bst} package},
- subtitle = {Bibliographies suitable for British Ecological Society journals},
- author = {Og DeSouza},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/besjournals},
- url = {https://ctan.org/pkg/besjournals-bst},
-}
-
-@manual{ctan-bestpapers,
- title = {The \texttt{bestpapers} package},
- subtitle = {A BibTeX package to produce lists of authors’ best papers},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/bestpapers},
- url = {https://ctan.org/pkg/bestpapers},
-}
-
-@manual{ctan-betababel,
- title = {The \texttt{betababel} package},
- subtitle = {Insert ancient greek text coded in Beta Code},
- author = {Felix Berkemeier},
- date = {2017-04-18},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/betababel},
- url = {https://ctan.org/pkg/betababel},
- annotation = {The betababel package extends the
- polutonikogreek option to provide a simple way to insert ancient
- Greek texts with diacritical characters into your document using
- the commonly used
- . You can directly insert Beta Code texts — as
- they can be found at the Perseus project, for example — without
- modification.},
-}
-
-@manual{ctan-beton,
- title = {The \texttt{beton} package},
- subtitle = {Use Concrete fonts},
- author = {Frank Jensen},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beton},
- url = {https://ctan.org/pkg/beton},
-}
-
-@manual{ctan-beuron,
- title = {The \texttt{beuron} package},
- subtitle = {The script of the Beuronese art school},
- author = {Keno Wehr},
- date = {2018-01-18},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/beuron},
- url = {https://ctan.org/pkg/beuron},
-}
-
-@manual{ctan-bewerbung,
- title = {The \texttt{bewerbung} package},
- subtitle = {Typesetting job applications},
- author = {André Hilbig},
- date = {2022-01-17},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bewerbung},
- url = {https://ctan.org/pkg/bewerbung},
-}
-
-@manual{ctan-bez123,
- title = {The \texttt{bez123} package},
- subtitle = {Support for Bezier curves},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bez123},
- url = {https://ctan.org/pkg/bez123},
-}
-
-@manual{ctan-bezierplot,
- title = {The \texttt{bezierplot} package},
- subtitle = {Approximate smooth function graphs with cubic bezier splines for use with TikZ or MetaPost},
- author = {Linus Romer},
- date = {2019-06-18},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/bezierplot},
- url = {https://ctan.org/pkg/bezierplot},
-}
-
-@manual{ctan-bfh-ci,
- title = {The \texttt{bfh-ci} package},
- subtitle = {Corporate Design for Bern University of Applied Sciences},
- author = {Marei Peischl},
- date = {2023-03-07},
- version = {2.1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bfh-ci},
- url = {https://ctan.org/pkg/bfh-ci},
-}
-
-@manual{ctan-bfsymb,
- title = {The \texttt{bfsymb} package},
- subtitle = {Generate bold symbols in Plain \TeX{} mathematics},
- author = {Uwe Münch},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/bfsymb.tex},
- url = {https://ctan.org/pkg/bfsymb},
- annotation = {Defines a command that represents its argument using
- the cmmib10 rather than the font currently in use. This technique
- has its limitations (the command of the same name in the
- bundle is much cleverer),
- but a simple does the job exactly.},
-}
-
-@manual{ctan-bg,
- title = {The \texttt{bg} package},
- subtitle = {Annotate backgammon matches and positions},
- author = {Jörg Richter},
- date = {2019-06-21},
- version = {1.0},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bg},
- url = {https://ctan.org/pkg/bg},
-}
-
-@manual{ctan-bghyphen,
- title = {The \texttt{bghyphen} package},
- subtitle = {Hyphenation patterns for Bulgarian},
- author = {Georgi Boshnakov},
- date = {2016-11-05},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/bghyphen},
- url = {https://ctan.org/pkg/bghyphen},
-}
-
-@manual{ctan-bgreek,
- title = {The \texttt{bgreek} package},
- subtitle = {Using Beccari’s fonts in betacode for classical Greek},
- author = {Luis Rivera},
- date = {2020-04-11},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/language/greek/bgreek},
- url = {https://ctan.org/pkg/bgreek},
-}
-
-@manual{ctan-bgteubner,
- title = {The \texttt{bgteubner} package},
- subtitle = {Class for producing books for the publisher “Teubner Verlag”},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {2.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bgteubner},
- url = {https://ctan.org/pkg/bgteubner},
-}
-
-@manual{ctan-bguq,
- title = {The \texttt{bguq} package},
- subtitle = {Improved quantifier stroke for Begriffsschrift packages},
- author = {J.J. Green},
- date = {2017-10-29},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bguq},
- url = {https://ctan.org/pkg/bguq},
-}
-
-@manual{ctan-bhcexam,
- title = {The \texttt{BHCexam} package},
- subtitle = {An exam class for mathematics teachers in China},
- author = {Hongchang Bao},
- date = {2022-08-10},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bhcexam},
- url = {https://ctan.org/pkg/bhcexam},
-}
-
-@manual{ctan-bib-fr,
- title = {The \texttt{bib-fr} package},
- subtitle = {French translation of classical BibTeX styles},
- author = {Nicolas Markey},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/bib-fr},
- url = {https://ctan.org/pkg/bib-fr},
-}
-
-@manual{ctan-bib-greek,
- title = {The \texttt{bib-greek} package},
- subtitle = {A BibTeX style for Greek documents},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/greek/BibTeX},
- url = {https://ctan.org/pkg/bib-greek},
-}
-
-@manual{ctan-bib2dvi,
- title = {The \texttt{bib2dvi} package},
- subtitle = {Generate a DVI file from a Bibliography file},
- author = {L. L. Frederiks},
- date = {2016-06-24},
- version = {0.13},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bib2dvi},
- url = {https://ctan.org/pkg/bib2dvi},
-}
-
-@manual{ctan-bib2gls,
- title = {The \texttt{bib2gls} package},
- subtitle = {Command line application to convert .bib files to glossaries-extra.sty resource files},
- author = {Nicola Talbot},
- date = {2022-11-25},
- version = {3.2},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/bib2gls},
- url = {https://ctan.org/pkg/bib2gls},
-}
-
-@manual{ctan-bib2ml,
- title = {The \texttt{bib2ml} package},
- subtitle = {BibTeX to HTML/SQL/XML translator},
- author = {Stéphane Galland},
- date = {2017-04-18},
- version = {6.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bib2ml},
- url = {https://ctan.org/pkg/bib2ml},
-}
-
-@manual{ctan-bib2xhtml,
- title = {The \texttt{bib2xhtml} package},
- subtitle = {Convert BibTeX Files into XHTML},
- author = {Diomidis Spinellis and David Hull},
- date = {2016-06-24},
- version = {2.35},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bib2xhtml},
- url = {https://ctan.org/pkg/bib2xhtml},
-}
-
-@manual{ctan-bibarts,
- title = {The \texttt{BibArts} package},
- subtitle = {“Arts”-style bibliographical information},
- author = {Timo Baumann},
- date = {2022-10-02},
- version = {2.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibarts},
- url = {https://ctan.org/pkg/bibarts},
-}
-
-@manual{ctan-bibbuild,
- title = {The \texttt{bibbuild} package},
- subtitle = {A bibliography builder for FileMaker Pro 7},
- author = {Steven Harrod},
- date = {2020-08-29},
- version = {1.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/BibBuild},
- url = {https://ctan.org/pkg/bibbuild},
-}
-
-@manual{ctan-bibcard,
- title = {The \texttt{bibcard} package},
- subtitle = {An XView based interface for BibTeX databases},
- author = {Bruno Grossniklaus and William C. Ogden},
- date = {2016-06-24},
- version = {1.11},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibcard},
- url = {https://ctan.org/pkg/bibcard},
-}
-
-@manual{ctan-bibcheck,
- title = {The \texttt{bibcheck} package},
- subtitle = {Check on references to items in thebibliography},
- author = {C. V. Radhakrishnan and C. V. Rajagopal},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/bibcheck.sty},
- url = {https://ctan.org/pkg/bibcheck},
- annotation = {A thebibliography environment that's been built by hand may well
- contain citations of things for which there is no reference in
- the document. This package produces a warning for each such
- thing. (Note that the package is of no use for users of
- , since BibTeX doesn't create
- citations unless there is a reference.)},
-}
-
-@manual{ctan-bibclean,
- title = {The \texttt{bibclean} package},
- subtitle = {A BibTeX prettyprinter, verifier, etc},
- author = {Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {2.11.3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibclean},
- url = {https://ctan.org/pkg/bibclean},
- annotation = {Bibclean is a portable program (written in C) that will
- pretty-print, syntax check, and generally sort out a BibTeX
- database file. The standardised format of bibclean's output
- improves the chances of simple filters such as
- ,
- ,
- ,
- (and so on) operating correctly.},
-}
-
-@manual{ctan-bibcop,
- title = {The \texttt{bibcop} package},
- subtitle = {Style checker for .bib files},
- author = {Yegor Bugayenko},
- date = {2023-02-13},
- version = {0.0.9},
- license = {mit},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibcop},
- url = {https://ctan.org/pkg/bibcop},
-}
-
-@manual{ctan-bibdb,
- title = {The \texttt{bibdb} package},
- subtitle = {BibTeX bibliography manager for MS-Windows and MS-DOS},
- author = {Eyal Doron},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/bibdb},
- url = {https://ctan.org/pkg/bibdb},
-}
-
-@manual{ctan-bibentry,
- title = {The \texttt{bibentry} package},
- subtitle = {Full bibliography entries in the main text of a document},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/natbib},
- url = {https://ctan.org/pkg/bibentry},
-}
-
-@manual{ctan-biber-cygwin,
- title = {The \texttt{biber-cygwin} package},
- subtitle = {Biber binaries for Cygwin on Windows},
- author = {Ken Brown and Philip Kime},
- date = {2023-03-06},
- version = {2.19},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/biber-cygwin},
- url = {https://ctan.org/pkg/biber-cygwin},
-}
-
-@manual{ctan-biber-freebsd,
- title = {The \texttt{biber-freebsd} package},
- subtitle = {Biber binaries for FreeBSD},
- author = {Philip Kime and Nikola Lečić},
- date = {2022-07-23},
- version = {2.18},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/biber-freebsd},
- url = {https://ctan.org/pkg/biber-freebsd},
-}
-
-@manual{ctan-biber-linux-musl,
- title = {The \texttt{biber-linux-musl} package},
- subtitle = {Biber binaries for Linux-MUSL},
- author = {Philip Kime and Alexander Krumeich},
- date = {2023-03-07},
- version = {2.19},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/biber-linux-musl},
- url = {https://ctan.org/pkg/biber-linux-musl},
-}
-
-@manual{ctan-biber-linux,
- title = {The \texttt{biber-linux} package},
- subtitle = {Biber binaries for Linux},
- author = {Philip Kime},
- date = {2023-03-06},
- version = {2.19},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/biber-linux},
- url = {https://ctan.org/pkg/biber-linux},
-}
-
-@manual{ctan-biber-macos,
- title = {The \texttt{biber-macos} package},
- subtitle = {Biber binaries for MacOS},
- author = {Philip Kime},
- date = {2023-03-06},
- version = {2.19},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/biber-macos},
- url = {https://ctan.org/pkg/biber-macos},
-}
-
-@manual{ctan-biber-ms-linux,
- title = {The \texttt{biber-ms-linux} package},
- subtitle = {Biber (multiscript) binaries for Linux},
- author = {Philip Kime},
- date = {2023-03-08},
- version = {4.0-1},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber-ms/biber-ms-linux},
- url = {https://ctan.org/pkg/biber-ms-linux},
- annotation = {This package offers multiscript Biber binaries for the Linux platform. These are
- to be used with the package.},
-}
-
-@manual{ctan-biber-ms-macos,
- title = {The \texttt{biber-ms-macos} package},
- subtitle = {Biber (multiscript) binaries for MacOS},
- author = {Philip Kime},
- date = {2023-03-08},
- version = {4.0-1},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber-ms/biber-ms-macos},
- url = {https://ctan.org/pkg/biber-ms-macos},
- annotation = {This package offers multiscript Biber binaries for the MacOs platform. These are
- to be used with the package.},
-}
-
-@manual{ctan-biber-ms-windows,
- title = {The \texttt{biber-ms-windows} package},
- subtitle = {Biber (multiscript) binaries for Windows},
- author = {Philip Kime},
- date = {2023-03-08},
- version = {4.0-1},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber-ms/biber-ms-windows},
- url = {https://ctan.org/pkg/biber-ms-windows},
- annotation = {This package offers multiscript Biber binaries for the Windows platform. These are
- to be used with the package.},
-}
-
-@manual{ctan-biber-ms,
- title = {The \texttt{biber-ms} package},
- subtitle = {A BibTeX replacement for users of Bib\LaTeX{} (multiscript version)},
- author = {Philip Kime and François Charette},
- date = {2023-03-08},
- version = {4.0-1},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber-ms/base},
- url = {https://ctan.org/pkg/biber-ms},
- annotation = {This is the multiscript version of biber (biber-ms) and must be used with
- the multiscript version of},
-}
-
-@manual{ctan-biber-solaris,
- title = {The \texttt{biber-solaris} package},
- subtitle = {Biber binaries for Solaris},
- author = {Apostolos Syropoulos and Philip Kime},
- date = {2022-07-08},
- version = {2.18},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/biber-solaris},
- url = {https://ctan.org/pkg/biber-solaris},
-}
-
-@manual{ctan-biber-windows,
- title = {The \texttt{biber-windows} package},
- subtitle = {Biber binaries for Windows},
- author = {Philip Kime},
- date = {2023-03-06},
- version = {2.19},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/biber-windows},
- url = {https://ctan.org/pkg/biber-windows},
-}
-
-@manual{ctan-biber,
- title = {The \texttt{biber} package},
- subtitle = {A BibTeX replacement for users of BibLaTeX},
- author = {Philip Kime and François Charette},
- date = {2023-03-06},
- version = {2.19},
- license = {artistic2},
- mirror = {https://mirror.ctan.org/biblio/biber/base},
- url = {https://ctan.org/pkg/biber},
-}
-
-@manual{ctan-bibex,
- title = {The \texttt{Bibex} package},
- subtitle = {Automatic extraction of references from BibTeX databases},
- author = {Yann-Gaël Guéhéneuc},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/bibex},
- url = {https://ctan.org/pkg/bibex},
- annotation = {Bibex, BibTeX Extractor, is a 100\%-pure Java program that
- automates the extraction of bibliographic references from
- BibTeX databases using regular expressions. Using the Bibex user
- interface, it is possible to define, to save, and to perform
- BibTeX references extraction tasks easily and automatically.
- Bibex is very useful when using
- or similar packages.},
-}
-
-@manual{ctan-bibexport,
- title = {The \texttt{bibexport} package},
- subtitle = {Extract a BibTeX file based on a .aux file},
- author = {Nicolas Markey},
- date = {2019-04-04},
- version = {3.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibexport},
- url = {https://ctan.org/pkg/bibexport},
- annotation = {A Bourne shell script that uses BibTeX to extract bibliography entries
- that are 'd in a document. It can also expand a BibTeX file,
- expanding the abbreviations (other than the built-in ones like
- month names) and following the cross-references.},
-}
-
-@manual{ctan-bibextract,
- title = {The \texttt{bibextract} package},
- subtitle = {Utilities to extract BibTeX data},
- author = {Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {1.09},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibextract},
- url = {https://ctan.org/pkg/bibextract},
-}
-
-@manual{ctan-bibfile-reformat-pages,
- title = {The \texttt{bibfile-reformat-pages} package},
- subtitle = {Puts .bib file page ranges into uniform format},
- author = {Barak A. Pearlmutter},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibfile-reformat-pages/bibfile-reformat-pages},
- url = {https://ctan.org/pkg/bibfile-reformat-pages},
- annotation = {This is a small gawk script to put all the page
- ranges in a file into a uniform format, either
- 1234-1256 or upon request 1234-56; null ranges such as 1234-1234
- are always scrunched to just 1234. The script squeezes out spaces
- around the separator; can make all separators one- or two-hyphens upon
- request. The script is very conservative: it is probably
- impossible for it actually to mess up a file.},
-}
-
-@manual{ctan-bibfilex,
- title = {The \texttt{bibfilex} package},
- subtitle = {A free bibliographic manager for BibLaTeX},
- author = {Massimo Nardello},
- date = {2017-04-18},
- version = {1.2.8},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/biblio/bibfilex},
- url = {https://ctan.org/pkg/bibfilex},
-}
-
-@manual{ctan-bibfind,
- title = {The \texttt{bibfind} package},
- subtitle = {Prints entries in your bib file that match search string},
- author = {Oyvind Breivik},
- date = {2016-06-24},
- license = {artistic},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/misc/bibfind},
- url = {https://ctan.org/pkg/bibfind},
-}
-
-@manual{ctan-bibhtml,
- title = {The \texttt{bibhtml} package},
- subtitle = {BibTeX support for HTML files},
- author = {Norman Gray},
- date = {2016-06-24},
- version = {2.0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/bibhtml},
- url = {https://ctan.org/pkg/bibhtml},
- annotation = {Bibhtml consists of a Perl script and a set of
- style files, which together allow
- you to output a bibliography as a collection of HTML
- files. The references in the text are linked directly to the
- corresponding bibliography entry, and if a URL is defined in the
- entry within the BibTeX database file, then the generated
- bibliography entry is linked to this. The package provides three
- different style files derived from each of the standard plain.bst
- and alpha.bst, as well as two style files derived from abbrv.bst
- and unsrt.bst (i.e., eight in total).},
-}
-
-@manual{ctan-bibindex,
- title = {The \texttt{bibindex} package},
- subtitle = {Index BibTeX files for fast searching},
- author = {Jeff Erickson and Nelson H. F. Beebe},
- date = {2017-04-18},
- version = {2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibindex},
- url = {https://ctan.org/pkg/bibindex},
- annotation = {A stand-alone tool for indexing BibTeX databases to be searched
- using the corresponding
- tool.},
-}
-
-@manual{ctan-biblatex-abnt,
- title = {The \texttt{biblatex-abnt} package},
- subtitle = {Bib\LaTeX{} style for Brazil's ABNT rules},
- author = {Daniel B. Marques},
- date = {2018-11-17},
- version = {3.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-abnt},
- url = {https://ctan.org/pkg/biblatex-abnt},
- annotation = {This package offers a style for
- Brazil's ABNT (Brazilian Association of Technical Norms) rules.},
-}
-
-@manual{ctan-biblatex-ajc2020unofficial,
- title = {The \texttt{biblatex-ajc2020unofficial} package},
- subtitle = {Bib\LaTeX{} style for the Australasian Journal of Combinatorics},
- author = {Nikolai Avdeev},
- date = {2020-04-11},
- version = {0.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-ajc2020unofficial},
- url = {https://ctan.org/pkg/biblatex-ajc2020unofficial},
-}
-
-@manual{ctan-biblatex-anonymous,
- title = {The \texttt{biblatex-anonymous} package},
- subtitle = {A tool to manage anonymous work with BibLaTeX},
- author = {Maïeul Rouquette},
- date = {2018-09-02},
- version = {2.6.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-anonymous},
- url = {https://ctan.org/pkg/biblatex-anonymous},
- annotation = {The package provides tools to help manage anonymous work
- with .
- It will be useful, for example, in history or
- classical philology.},
-}
-
-@manual{ctan-biblatex-apa,
- title = {The \texttt{biblatex-apa} package},
- subtitle = {Bib\LaTeX{} citation and reference style for APA},
- author = {Philip Kime},
- date = {2022-06-23},
- version = {9.16},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-apa},
- url = {https://ctan.org/pkg/biblatex-apa},
-}
-
-@manual{ctan-biblatex-apa6,
- title = {The \texttt{biblatex-apa6} package},
- subtitle = {Bib\LaTeX{} citation and reference style for APA 6th Edition},
- author = {Philip Kime},
- date = {2020-08-29},
- version = {8.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-apa6},
- url = {https://ctan.org/pkg/biblatex-apa6},
-}
-
-@manual{ctan-biblatex-archaeology,
- title = {The \texttt{biblatex-archaeology} package},
- subtitle = {A collection of Bib\LaTeX{} styles for German prehistory},
- author = {Ingram Braun},
- date = {2019-12-31},
- version = {2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-archaeology},
- url = {https://ctan.org/pkg/biblatex-archaeology},
- annotation = {This package provides additional
- styles for German humanities.
- Its core purpose is to enable the referencing rules
- of the Romano-Germanic Commission
- (),
- the department of prehistory of the
- German Archaeological Institute
- (),
- since these are referenced by most guidelines
- in German prehistory and medieval archaeology and
- serve as a kind of template.
- provides verbose, numeric and author
- date styles as well and adaptions to specific document
- types like exhibition and auction catalogues.},
-}
-
-@manual{ctan-biblatex-arthistory-bonn,
- title = {The \texttt{biblatex-arthistory-bonn} package},
- subtitle = {Bib\LaTeX{} citation style covers the citation and bibliography guidelines for art historians},
- author = {Lukas C. Bossert and Thorsten Kemper},
- date = {2018-02-13},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-arthistory-bonn},
- url = {https://ctan.org/pkg/biblatex-arthistory-bonn},
- annotation = {This citation style covers the citation and bibliography
- guidelines of the Kunsthistorisches Institut der Universität
- Bonn for undergraduates.
- It introduces bibliography entry types for catalogs and features
- a tabular bibliography, among other things. Various options are
- available to change and adjust the outcome according to one's
- own preferences.
- The style is compatible with English and German.},
-}
-
-@manual{ctan-biblatex-authoryear-icomp-tt,
- title = {The \texttt{biblatex-authoryear-icomp-tt} package},
- subtitle = {Author-year style with compact multiple-reference-citations and ibidem mechanism for BibLaTeX},
- author = {Thomas Titz},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/authoryear-icomp-tt},
- url = {https://ctan.org/pkg/biblatex-authoryear-icomp-tt},
- annotation = {This is a style that
- combines the features of the styles authoryear-comp (omission of
- recurring author/year in multiple-reference-citations) and
- authoryear-ibid (replacement of repeated citations by the
- abbreviation ibidem). The implementation relies heavily on
- unmodified Bib\LaTeX{} macros, and no attempt has been made to
- add further features not present in core BibLaTeX.},
-}
-
-@manual{ctan-biblatex-bath,
- title = {The \texttt{biblatex-bath} package},
- subtitle = {Harvard referencing style as recommended by the University of Bath Library},
- author = {Alex Ball},
- date = {2022-05-25},
- version = {6.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-bath},
- url = {https://ctan.org/pkg/biblatex-bath},
- annotation = {This package provides a Bib\LaTeX{} style to format reference
- lists in the recommended by the University of Bath Library.},
-}
-
-@manual{ctan-biblatex-bookinarticle,
- title = {The \texttt{biblatex-bookinarticle} package},
- subtitle = {Manage book edited in article},
- author = {Maïeul Rouquette},
- date = {2017-04-18},
- version = {1.3.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-bookinarticle},
- url = {https://ctan.org/pkg/biblatex-bookinarticle},
-}
-
-@manual{ctan-biblatex-bookinother,
- title = {The \texttt{biblatex-bookinother} package},
- subtitle = {Manage book edited in other entry type},
- author = {Maïeul Rouquette},
- date = {2020-03-02},
- version = {2.3.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-bookinother},
- url = {https://ctan.org/pkg/biblatex-bookinother},
- annotation = {This package provides new Bib\LaTeX{} entry types and fields
- for book edited in other types, like for instance .
- It offers more types than the older package
-
- which it superseeds.},
-}
-
-@manual{ctan-biblatex-bwl,
- title = {The \texttt{biblatex-bwl} package},
- subtitle = {Bib\LaTeX{} citations for FU Berlin},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-bwl},
- url = {https://ctan.org/pkg/biblatex-bwl},
- annotation = {The bundle provides a set of
- implementations of
- bibliography and citation styles for the Business Administration
- Department of the Free University of Berlin.},
-}
-
-@manual{ctan-biblatex-caspervector,
- title = {The \texttt{biblatex-caspervector} package},
- subtitle = {A simple citation style for Chinese users},
- author = {Casper Ti. Vector},
- date = {2022-10-30},
- version = {0.3.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-caspervector},
- url = {https://ctan.org/pkg/biblatex-caspervector},
- annotation = {The package provides a simple and easily extensible
- biblography/citation style for Chinese \LaTeX{} users, using
- .},
-}
-
-@manual{ctan-biblatex-cheatsheet,
- title = {The \texttt{biblatex-cheatsheet} package},
- subtitle = {BibLaTeX/Biber ‘cheat sheet’},
- author = {Clea F. Rees},
- date = {2017-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/biblatex-cheatsheet},
- url = {https://ctan.org/pkg/biblatex-cheatsheet},
- annotation = {A /
- ‘cheat sheet’ which I wrote because I wanted one to distribute
- to students, but couldn’t find an existing one.},
-}
-
-@manual{ctan-biblatex-chem,
- title = {The \texttt{biblatex-chem} package},
- subtitle = {A set of Bib\LaTeX{} implementations of chemistry-related bibliography styles},
- author = {Joseph Wright},
- date = {2021-02-24},
- version = {1.1z},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-chem},
- url = {https://ctan.org/pkg/biblatex-chem},
-}
-
-@manual{ctan-biblatex-chicago,
- title = {The \texttt{biblatex-chicago} package},
- subtitle = {Chicago style files for BibLaTeX},
- author = {David Fussner},
- date = {2022-11-17},
- version = {2.3a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-chicago},
- url = {https://ctan.org/pkg/biblatex-chicago},
-}
-
-@manual{ctan-biblatex-claves,
- title = {The \texttt{biblatex-claves} package},
- subtitle = {A tool to manage claves of old litterature with BibLaTeX},
- author = {Maïeul Rouquette},
- date = {2017-11-19},
- version = {1.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-claves},
- url = {https://ctan.org/pkg/biblatex-claves},
-}
-
-@manual{ctan-biblatex-cv,
- title = {The \texttt{biblatex-cv} package},
- subtitle = {Create a CV from BibTeX files},
- author = {Daniel E. Shub},
- date = {2021-06-04},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-cv},
- url = {https://ctan.org/pkg/biblatex-cv},
- annotation = {This package creates an academic curriculum vitae (CV) from a
- BibTeX file. The package makes use of
- BibLaTeX/biber to automatically format, group, and sort the
- entries on a CV.},
-}
-
-@manual{ctan-biblatex-dw,
- title = {The \texttt{biblatex-dw} package},
- subtitle = {Humanities styles for BibLaTeX},
- author = {Dominik Waßenhoven},
- date = {2023-03-12},
- version = {1.7b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-dw},
- url = {https://ctan.org/pkg/biblatex-dw},
-}
-
-@manual{ctan-biblatex-enc,
- title = {The \texttt{biblatex-enc} package},
- subtitle = {Bib\LaTeX{} style for the École nationale des chartes (Paris)},
- author = {Jean-Baptiste Camps},
- date = {2017-06-19},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-enc},
- url = {https://ctan.org/pkg/biblatex-enc},
-}
-
-@manual{ctan-biblatex-ext,
- title = {The \texttt{biblatex-ext} package},
- subtitle = {Extended Bib\LaTeX{} standard styles},
- author = {Moritz Wemheuer},
- date = {2022-06-18},
- version = {0.16},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-ext},
- url = {https://ctan.org/pkg/biblatex-ext},
-}
-
-@manual{ctan-biblatex-fiwi,
- title = {The \texttt{biblatex-fiwi} package},
- subtitle = {Bib\LaTeX{} styles for use in German humanities},
- author = {Simon Spiegel},
- date = {2017-11-21},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-fiwi},
- url = {https://ctan.org/pkg/biblatex-fiwi},
- annotation = {The package provides a collection of styles for
- (version 3.5 is required,
- currently). It was designed for citations in German Humanities,
- especially film studies, and offers some features that are not
- provided by the standard Bib\LaTeX{} styles. The style is highly
- optimized for documents written in German, and the main
- documentation is only available in German.},
-}
-
-@manual{ctan-biblatex-gb7714-2015,
- title = {The \texttt{biblatex-gb7714-2015} package},
- subtitle = {A Bib\LaTeX{} implementation of the GBT7714-2015 bibliography style for Chinese users},
- author = {Hu Zhenzhen},
- date = {2022-11-07},
- version = {1.1k},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015},
- url = {https://ctan.org/pkg/biblatex-gb7714-2015},
-}
-
-@manual{ctan-biblatex-german-legal,
- title = {The \texttt{biblatex-german-legal} package},
- subtitle = {Comprehensive citation style for German legal texts},
- author = {Dominik Brodowski},
- date = {2023-03-01},
- version = {003},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-german-legal},
- url = {https://ctan.org/pkg/biblatex-german-legal},
-}
-
-@manual{ctan-biblatex-gost,
- title = {The \texttt{biblatex-gost} package},
- subtitle = {Bib\LaTeX{} support for GOST standard bibliographies},
- author = {Oleg Domanov},
- date = {2021-05-08},
- version = {1.22},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-gost},
- url = {https://ctan.org/pkg/biblatex-gost},
- annotation = {The package provides
- support for Russian bibliography style GOST 7.0.5-2008},
-}
-
-@manual{ctan-biblatex-historian,
- title = {The \texttt{biblatex-historian} package},
- subtitle = {A Bib\LaTeX{} style},
- author = {Sander Gliboff},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-historian},
- url = {https://ctan.org/pkg/biblatex-historian},
-}
-
-@manual{ctan-biblatex-ieee,
- title = {The \texttt{biblatex-ieee} package},
- subtitle = {IEEE style files for BibLaTeX},
- author = {Joseph Wright},
- date = {2021-12-07},
- version = {1.3f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-ieee},
- url = {https://ctan.org/pkg/biblatex-ieee},
-}
-
-@manual{ctan-biblatex-ijsra,
- title = {The \texttt{biblatex-ijsra} package},
- subtitle = {Bib\LaTeX{} style for the International Journal of Student Research in Archaeology},
- author = {Lukas C. Bossert},
- date = {2016-07-07},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-ijsra},
- url = {https://ctan.org/pkg/biblatex-ijsra},
- annotation = {Bib\LaTeX{} style used for the journal .},
-}
-
-@manual{ctan-biblatex-iso690,
- title = {The \texttt{biblatex-iso690} package},
- subtitle = {Bib\LaTeX{} style for ISO 690 standard},
- author = {Michal Hoftich},
- date = {2022-03-21},
- version = {0.4.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-iso690},
- url = {https://ctan.org/pkg/biblatex-iso690},
- annotation = {The package provides a bibliography and citation style which
- conforms to the latest revision of the international standard
- ISO 690:2010.
- The implementation follows Bib\LaTeX{} conventions and requires
- ≥ 3.4
- and ≥ 2.5.},
-}
-
-@manual{ctan-biblatex-jura,
- title = {The \texttt{biblatex-jura} package},
- subtitle = {Bib\LaTeX{} stylefiles for German legal literature},
- author = {Ben E. Hard},
- date = {2016-06-24},
- version = {0.1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-jura},
- url = {https://ctan.org/pkg/biblatex-jura},
- annotation = {The package provides
- support for citations in the format specified by the Nomos-Verlag
- for German legal citations.},
-}
-
-@manual{ctan-biblatex-jura2,
- title = {The \texttt{biblatex-jura2} package},
- subtitle = {Citation style for the German legal profession},
- author = {{Christoph}},
- date = {2022-10-20},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-jura2},
- url = {https://ctan.org/pkg/biblatex-jura2},
-}
-
-@manual{ctan-biblatex-juradiss,
- title = {The \texttt{biblatex-juradiss} package},
- subtitle = {Bib\LaTeX{} stylefiles for German law theses},
- author = {Tobias Schwan and Herbert Voß},
- date = {2020-10-01},
- version = {0.23},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-juradiss},
- url = {https://ctan.org/pkg/biblatex-juradiss},
- annotation = {The package provides a custom citation-style for typesetting
- a German law thesis with \LaTeX{}. The package (using
- ) is based on
- and uses
- .},
-}
-
-@manual{ctan-biblatex-license,
- title = {The \texttt{biblatex-license} package},
- subtitle = {Add license data to the bibliography},
- author = {Anselm Wagner},
- date = {2021-03-18},
- version = {0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-license},
- url = {https://ctan.org/pkg/biblatex-license},
- annotation = {This package is for adding license data to bibliography entries
- via BibLaTeX's built-in related mechanism. It provides a new
- relatedtype and some bibmacros for typesetting
- these related entries.},
-}
-
-@manual{ctan-biblatex-lncs,
- title = {The \texttt{biblatex-lncs} package},
- subtitle = {Bib\LaTeX{} style for Springer Lecture Notes in Computer Science},
- author = {Merlin Göttlinger},
- date = {2022-12-15},
- version = {0.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-lncs},
- url = {https://ctan.org/pkg/biblatex-lncs},
- annotation = {This is a Bib\LaTeX{} style for
- Springer Lecture Notes in Computer Science (LNCS).
- It extends the standard
- model by an entry.},
-}
-
-@manual{ctan-biblatex-lni,
- title = {The \texttt{biblatex-lni} package},
- subtitle = {LNI style for BibLaTeX},
- author = {Oliver Kopp},
- date = {2021-05-17},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-lni},
- url = {https://ctan.org/pkg/biblatex-lni},
-}
-
-@manual{ctan-biblatex-luh-ipw,
- title = {The \texttt{biblatex-luh-ipw} package},
- subtitle = {Bib\LaTeX{} styles for social sciences},
- author = {Oliver Heins},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-luh-ipw},
- url = {https://ctan.org/pkg/biblatex-luh-ipw},
-}
-
-@manual{ctan-biblatex-manuscripts-philology,
- title = {The \texttt{biblatex-manuscripts-philology} package},
- subtitle = {Manage classical manuscripts with BibLaTeX},
- author = {Maïeul Rouquette},
- date = {2020-01-07},
- version = {2.1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology},
- url = {https://ctan.org/pkg/biblatex-manuscripts-philology},
- annotation = {The package adds a new entry type: to manage
- manuscript in classical philology, for example to prepare a
- critical edition.},
-}
-
-@manual{ctan-biblatex-mla,
- title = {The \texttt{biblatex-mla} package},
- subtitle = {MLA style files for BibLaTeX},
- author = {James Clawson},
- date = {2022-02-22},
- version = {2.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-mla},
- url = {https://ctan.org/pkg/biblatex-mla},
- annotation = {The package provides
- support for citations in the format specified by the MLA handbook.},
-}
-
-@manual{ctan-biblatex-morenames,
- title = {The \texttt{biblatex-morenames} package},
- subtitle = {New names for standard Bib\LaTeX{} entry type},
- author = {Maïeul Rouquette},
- date = {2017-04-18},
- version = {1.3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-morenames},
- url = {https://ctan.org/pkg/biblatex-morenames},
- annotation = {This package adds new fields of “name” type to the standard entry
- types of BibLaTeX.
- For example:},
-}
-
-@manual{ctan-biblatex-ms,
- title = {The \texttt{biblatex-ms} package},
- subtitle = {Sophisticated Bibliographies in \LaTeX{} (multiscript version)},
- author = {Philip Kime},
- date = {2023-03-08},
- version = {4.0-1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-ms},
- url = {https://ctan.org/pkg/biblatex-ms},
-}
-
-@manual{ctan-biblatex-multiple-dm,
- title = {The \texttt{biblatex-multiple-dm} package},
- subtitle = {Load multiple datamodels in BibLaTeX},
- author = {Maïeul Rouquette},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-multiple-dm},
- url = {https://ctan.org/pkg/biblatex-multiple-dm},
-}
-
-@manual{ctan-biblatex-musuos,
- title = {The \texttt{biblatex-musuos} package},
- subtitle = {A Bib\LaTeX{} style for citations in musuos.cls},
- author = {Tobias Weh},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-musuos},
- url = {https://ctan.org/pkg/biblatex-musuos},
- annotation = {The style is designed for use with the
- class, but it should be usable
- with other classes, too.},
-}
-
-@manual{ctan-biblatex-nature,
- title = {The \texttt{biblatex-nature} package},
- subtitle = {Bib\LaTeX{} support for Nature},
- author = {Joseph Wright},
- date = {2020-12-30},
- version = {1.3d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-nature},
- url = {https://ctan.org/pkg/biblatex-nature},
- annotation = {The bundle offers styles that allow authors to use
- when preparing papers for
- submission to the journal Nature.},
-}
-
-@manual{ctan-biblatex-nejm,
- title = {The \texttt{biblatex-nejm} package},
- subtitle = {Bib\LaTeX{} style for the New England Journal of Medicine (NEJM)},
- author = {Dilum Aluthge and Marco Daniel},
- date = {2019-01-22},
- version = {0.5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-nejm},
- url = {https://ctan.org/pkg/biblatex-nejm},
- annotation = {This is a numeric style
- based on the design of the New England Journal of Medicine (NEJM).},
-}
-
-@manual{ctan-biblatex-nottsclassic,
- title = {The \texttt{biblatex-nottsclassic} package},
- subtitle = {Citation style for the University of Nottingham},
- author = {Lukas C. Bossert},
- date = {2016-07-07},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-nottsclassic},
- url = {https://ctan.org/pkg/biblatex-nottsclassic},
-}
-
-@manual{ctan-biblatex-opcit-booktitle,
- title = {The \texttt{biblatex-opcit-booktitle} package},
- subtitle = {Use op. cit. for the booktitle of a subentry},
- author = {Maïeul Rouquette},
- date = {2018-10-24},
- version = {1.9.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-opcit-booktitle},
- url = {https://ctan.org/pkg/biblatex-opcit-booktitle},
-}
-
-@manual{ctan-biblatex-oxref,
- title = {The \texttt{biblatex-oxref} package},
- subtitle = {Bib\LaTeX{} styles inspired by the Oxford Guide to Style},
- author = {Alex Ball},
- date = {2023-02-01},
- version = {3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-oxref},
- url = {https://ctan.org/pkg/biblatex-oxref},
-}
-
-@manual{ctan-biblatex-philosophy,
- title = {The \texttt{biblatex-philosophy} package},
- subtitle = {Styles for using Bib\LaTeX{} for work in philosophy},
- author = {Ivan Valbusa},
- date = {2022-09-16},
- version = {1.9.8g},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-philosophy},
- url = {https://ctan.org/pkg/biblatex-philosophy},
-}
-
-@manual{ctan-biblatex-phys,
- title = {The \texttt{biblatex-phys} package},
- subtitle = {A Bib\LaTeX{} implementation of the AIP and APS bibliography style},
- author = {Joseph Wright},
- date = {2020-06-21},
- version = {1.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-phys},
- url = {https://ctan.org/pkg/biblatex-phys},
-}
-
-@manual{ctan-biblatex-publist,
- title = {The \texttt{biblatex-publist} package},
- subtitle = {Bib\LaTeX{} bibliography support for publication lists},
- author = {Jürgen Spitzmüller},
- date = {2023-03-01},
- version = {2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-publist},
- url = {https://ctan.org/pkg/biblatex-publist},
-}
-
-@manual{ctan-biblatex-readbbl,
- title = {The \texttt{biblatex-readbbl} package},
- subtitle = {Read a .bbl file created by biber},
- author = {Herbert Voß},
- date = {2022-01-25},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-readbbl},
- url = {https://ctan.org/pkg/biblatex-readbbl},
-}
-
-@manual{ctan-biblatex-realauthor,
- title = {The \texttt{biblatex-realauthor} package},
- subtitle = {Indicate the real author of a work},
- author = {Maïeul Rouquette},
- date = {2017-11-20},
- version = {2.7.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-realauthor},
- url = {https://ctan.org/pkg/biblatex-realauthor},
-}
-
-@manual{ctan-biblatex-sbl,
- title = {The \texttt{biblatex-sbl} package},
- subtitle = {Society of Biblical Literature (SBL) style files for BibLaTeX},
- author = {David Purton},
- date = {2022-06-18},
- version = {0.14},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-sbl},
- url = {https://ctan.org/pkg/biblatex-sbl},
-}
-
-@manual{ctan-biblatex-science,
- title = {The \texttt{biblatex-science} package},
- subtitle = {Bib\LaTeX{} implementation of the Science bibliography style},
- author = {Joseph Wright},
- date = {2018-10-19},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-science},
- url = {https://ctan.org/pkg/biblatex-science},
- annotation = {The bundle offers styles that allow authors to use
- when preparing papers for
- submission to the journal Science.},
-}
-
-@manual{ctan-biblatex-shortfields,
- title = {The \texttt{biblatex-shortfields} package},
- subtitle = {Use short forms of fields with BibLaTeX},
- author = {Maïeul Rouquette},
- date = {2017-11-19},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-shortfields},
- url = {https://ctan.org/pkg/biblatex-shortfields},
-}
-
-@manual{ctan-biblatex-socialscienceshuberlin,
- title = {The \texttt{biblatex-socialscienceshuberlin} package},
- subtitle = {BibLaTeX-style for the social sciences at HU Berlin},
- author = {Lukas C. Bossert},
- date = {2018-05-28},
- version = {0.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-socialscienceshuberlin},
- url = {https://ctan.org/pkg/biblatex-socialscienceshuberlin},
-}
-
-@manual{ctan-biblatex-software,
- title = {The \texttt{biblatex-software} package},
- subtitle = {Bib\LaTeX{} stylefiles for software products},
- author = {Roberto Di Cosmo},
- date = {2022-08-02},
- version = {1.2-5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-software},
- url = {https://ctan.org/pkg/biblatex-software},
- annotation = {This package implements software entry types for BibLaTeX in
- the form of a bibliography style extension.  It requires the
- backend.},
-}
-
-@manual{ctan-biblatex-source-division,
- title = {The \texttt{biblatex-source-division} package},
- subtitle = {References by “division” in classical sources},
- author = {Maïeul Rouquette},
- date = {2017-09-21},
- version = {2.4.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-source-division},
- url = {https://ctan.org/pkg/biblatex-source-division},
- annotation = {The package enables the user to make reference to “division marks”
- (such as , , ), in
- the document being referenced, in addition to the page-based
- references that BibTeX-based citations have always had. The
- citation is made in the same way as the \LaTeX{} standard, but what’s
- inside the square brackets may include the “division” specification, as in},
-}
-
-@manual{ctan-biblatex-spbasic,
- title = {The \texttt{biblatex-spbasic} package},
- subtitle = {A Bib\LaTeX{} style emulating Springer’s old spbasic.bst},
- author = {Herbert Voß},
- date = {2021-12-29},
- version = {0.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-spbasic},
- url = {https://ctan.org/pkg/biblatex-spbasic},
- annotation = {This package provides a bibliography and citation style for
- /
- for typesetting articles for Springer’s journals.
- It is the same as the old BibTeX style .},
-}
-
-@manual{ctan-biblatex-subseries,
- title = {The \texttt{biblatex-subseries} package},
- subtitle = {Manages subseries with BibLaTeX},
- author = {Maïeul Rouquette},
- date = {2017-04-18},
- version = {1.2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-subseries},
- url = {https://ctan.org/pkg/biblatex-subseries},
-}
-
-@manual{ctan-biblatex-swiss-legal,
- title = {The \texttt{biblatex-swiss-legal} package},
- subtitle = {Bibliography and citation styles following Swiss legal practice},
- author = {Adrien Vion and Fabian Mörtl},
- date = {2020-06-19},
- version = {1.1.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-swiss-legal},
- url = {https://ctan.org/pkg/biblatex-swiss-legal},
-}
-
-@manual{ctan-biblatex-trad,
- title = {The \texttt{biblatex-trad} package},
- subtitle = {“Traditional” BibTeX styles with BibLaTeX},
- author = {Moritz Wemheuer},
- date = {2021-03-06},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-trad},
- url = {https://ctan.org/pkg/biblatex-trad},
- annotation = {The bundle provides implementations of the
- “traditional” BibTeX styles (,
- , and ) with
- BibLaTeX.},
-}
-
-@manual{ctan-biblatex-true-citepages-omit,
- title = {The \texttt{biblatex-true-citepages-omit} package},
- subtitle = {Correction of some limitation of the citepages=omit option of Bib\LaTeX{} styles},
- author = {Maïeul Rouquette},
- date = {2017-06-20},
- version = {2.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-true-citepages-omit},
- url = {https://ctan.org/pkg/biblatex-true-citepages-omit},
-}
-
-@manual{ctan-biblatex-unified,
- title = {The \texttt{biblatex-unified} package},
- subtitle = {Bib\LaTeX{} implementation of the unified stylesheet for linguistics journals},
- author = {Kai von Fintel},
- date = {2022-11-08},
- version = {1.20},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-unified},
- url = {https://ctan.org/pkg/biblatex-unified},
- annotation = {BibLaTeX-unified is an opinionated Bib\LaTeX{} implementation of the},
-}
-
-@manual{ctan-biblatex-vancouver,
- title = {The \texttt{biblatex-vancouver} package},
- subtitle = {Vancouver style for BibLaTeX},
- author = {Agnibho Mondal},
- date = {2020-05-31},
- version = {0.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-vancouver},
- url = {https://ctan.org/pkg/biblatex-vancouver},
- annotation = {This package provides the Vancouver reference style for BibLaTeX.
- It is based on the numeric style and
- requires .},
-}
-
-@manual{ctan-biblatex,
- title = {The \texttt{BibLaTeX} package},
- subtitle = {Sophisticated Bibliographies in \LaTeX{}},
- author = {Philipp Lehman and Philip Kime},
- date = {2023-03-06},
- version = {3.19},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex},
- url = {https://ctan.org/pkg/biblatex},
-}
-
-@manual{ctan-biblatex2bibitem,
- title = {The \texttt{biblatex2bibitem} package},
- subtitle = {Convert BibLaTeX-generated bibliography to bibitems},
- author = {Nikolai Avdeev},
- date = {2022-01-18},
- version = {0.2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex2bibitem},
- url = {https://ctan.org/pkg/biblatex2bibitem},
-}
-
-@manual{ctan-bible,
- title = {The \texttt{BiBLE} package},
- subtitle = {A BibTeX library editor},
- author = {Kai Schreiber},
- date = {2016-06-24},
- version = {0.99},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bible},
- url = {https://ctan.org/pkg/bible},
-}
-
-@manual{ctan-bibleref-french,
- title = {The \texttt{bibleref-french} package},
- subtitle = {French translations for bibleref},
- author = {Maïeul Rouquette and Raphaël Pinson},
- date = {2019-12-14},
- version = {2.3.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibleref-french},
- url = {https://ctan.org/pkg/bibleref-french},
- annotation = {The package provides translations and alternative typesetting
- conventions for use of in
- French.},
-}
-
-@manual{ctan-bibleref-german,
- title = {The \texttt{bibleref-german} package},
- subtitle = {German adaptation of bibleref},
- author = {Dominik Waßenhoven},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibleref-german},
- url = {https://ctan.org/pkg/bibleref-german},
- annotation = {The package provides translations and various formats for the use
- of in German documents.
- The German naming of the bible books complies with the
- ‘Loccumer Richtlinien’ (Locum guidelines). In
- addition, the Vulgate (Latin bible) is supported.},
-}
-
-@manual{ctan-bibleref-lds,
- title = {The \texttt{bibleref-lds} package},
- subtitle = {Bible references, including those to the scriptures of the Church of Jesus Christ of Latter Day Saints},
- author = {Chad Parry},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibleref-lds},
- url = {https://ctan.org/pkg/bibleref-lds},
-}
-
-@manual{ctan-bibleref-mouth,
- title = {The \texttt{bibleref-mouth} package},
- subtitle = {Consistent formatting of Bible references},
- author = {Chad Parry},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibleref-mouth},
- url = {https://ctan.org/pkg/bibleref-mouth},
- annotation = {The package allows Bible references to be formatted in a
- consistent way. It is similar to the bibleref package, except
- that the formatting macros are all purely expandable — that is,
- they are all implemented in \TeX{}’s mouth. This means that they can
- be used in any expandable context, such as an argument to
- a command.},
-}
-
-@manual{ctan-bibleref-parse,
- title = {The \texttt{bibleref-parse} package},
- subtitle = {Specify Bible passages in human-readable format},
- author = {Sebastian Kuhnert},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibleref-parse},
- url = {https://ctan.org/pkg/bibleref-parse},
- annotation = {The package parses Bible passages that are given in human readable
- format. It accepts a wide variety of formats. This allows for a
- simpler and more convenient interface to the functionality of the
- package.},
-}
-
-@manual{ctan-bibleref,
- title = {The \texttt{bibleref} package},
- subtitle = {Format bible citations},
- author = {Nicola Talbot and Maïeul Rouquette},
- date = {2020-06-22},
- version = {1.25},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibleref},
- url = {https://ctan.org/pkg/bibleref},
-}
-
-@manual{ctan-bibletext,
- title = {The \texttt{bibletext} package},
- subtitle = {Insert Bible passages by their reference},
- author = {Camil Staps},
- date = {2017-09-02},
- version = {0.1.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibletext},
- url = {https://ctan.org/pkg/bibletext},
-}
-
-@manual{ctan-biblio-perl,
- title = {The \texttt{biblio-perl} package},
- subtitle = {System for maintaining and presenting bibliographies},
- author = {R. Stepanyan},
- date = {2016-06-24},
- version = {1.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/biblio},
- url = {https://ctan.org/pkg/biblio-perl},
-}
-
-@manual{ctan-biblio,
- title = {The \texttt{biblio} package},
- subtitle = {A collection of bibliographies},
- author = {Nelson H. F. Beebe},
- date = {2019-10-21},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/biblio},
- url = {https://ctan.org/pkg/biblio},
-}
-
-@manual{ctan-biblist,
- title = {The \texttt{biblist} package},
- subtitle = {Print a BibTeX database},
- author = {Joachim Schrod},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/biblist},
- url = {https://ctan.org/pkg/biblist},
- annotation = {The package provides the means of listing an entire BibTeX
- database, avoiding the potentially large (macro) impact associated
- with .},
-}
-
-@manual{ctan-biblook,
- title = {The \texttt{biblook} package},
- subtitle = {Fast searching of BibTeX files},
- author = {Jeff Erickson and Nelson H. F. Beebe},
- date = {2017-04-18},
- version = {2.8},
- license = {pd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibindex},
- url = {https://ctan.org/pkg/biblook},
- annotation = {A stand-alone tool for searching BibTeX documents which have
- been indexed by .},
-}
-
-@manual{ctan-biblos,
- title = {The \texttt{biblos} package},
- subtitle = {CGI interface to BibTeX files},
- author = {Anders Moller},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/systems/msdos/biblos075.zip},
- url = {https://ctan.org/pkg/biblos},
-}
-
-@manual{ctan-bibmods,
- title = {The \texttt{bibmods} package},
- subtitle = {Tighter tolerances for bibliographies},
- author = {Nelson H. F. Beebe},
- date = {2019-06-21},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/bibmods.sty},
- url = {https://ctan.org/pkg/bibmods},
-}
-
-@manual{ctan-bibplain,
- title = {The \texttt{bibplain} package},
- subtitle = {Simple macros for using BibTeX with Plain \TeX{}},
- author = {Anthony Ferro},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/bibplain.tex},
- url = {https://ctan.org/pkg/bibplain},
-}
-
-@manual{ctan-bibsort,
- title = {The \texttt{bibsort} package},
- subtitle = {Sort a BibTeX bibliography file},
- author = {Nelson H. F. Beebe},
- date = {2017-04-18},
- version = {0.11},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibsort},
- url = {https://ctan.org/pkg/bibsort},
-}
-
-@manual{ctan-bibtex-examples,
- title = {The \texttt{BibTeX-examples} package},
- subtitle = {Examples of BibTeX usage},
- author = {Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/examples},
- url = {https://ctan.org/pkg/bibtex-examples},
-}
-
-@manual{ctan-bibtex-gen,
- title = {The \texttt{BibTeX Database Generator} package},
- subtitle = {A simple interactive script to generate BibTeX Files},
- author = {Pallav Gupta},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/bibtex-gen},
- url = {https://ctan.org/pkg/bibtex-gen},
-}
-
-@manual{ctan-bibtex-help,
- title = {The \texttt{BibTeX-help} package},
- subtitle = {VMS help file for BibTeX},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/bibtex/bibtex.hlp},
- url = {https://ctan.org/pkg/bibtex-help},
-}
-
-@manual{ctan-bibtex-test,
- title = {The \texttt{bibtex-test} package},
- subtitle = {BibTeX testing files},
- author = {Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/test},
- url = {https://ctan.org/pkg/bibtex-test},
-}
-
-@manual{ctan-bibtex,
- title = {The \texttt{bibtex} package},
- subtitle = {Process bibliographies (bib files) for \LaTeX{} or other formats},
- author = {Oren Patashnik},
- date = {2022-09-15},
- version = {0.99d},
- license = {knuth},
- mirror = {https://mirror.ctan.org/biblio/bibtex/base},
- url = {https://ctan.org/pkg/bibtex},
-}
-
-@manual{ctan-bibtex8,
- title = {The \texttt{bibtex8} package},
- subtitle = {A fully 8-bit adaptation of BibTeX 0.99},
- author = {Niel Kempson and {The \TeX{} Live Team}},
- date = {2022-09-20},
- version = {3.72},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/bibtex-x},
- url = {https://ctan.org/pkg/bibtex8},
-}
-
-@manual{ctan-bibtexmng,
- title = {The \texttt{BibTexMng} package},
- subtitle = {Manipulate BibTeX database files},
- author = {{VNP Comp}},
- date = {2016-06-24},
- version = {6.0},
- license = {shareware},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/BibTexMng},
- url = {https://ctan.org/pkg/bibtexmng},
-}
-
-@manual{ctan-bibtexperllibs,
- title = {The \texttt{bibtexperllibs} package},
- subtitle = {BibTeX Perl Libraries},
- author = {Gerhard Gossen and Boris Veytsman},
- date = {2020-12-14},
- version = {1.6},
- license = {gpl1,artistic,pd},
- mirror = {https://mirror.ctan.org/support/bibtexperllibs},
- url = {https://ctan.org/pkg/bibtexperllibs},
-}
-
-@manual{ctan-bibtexu,
- title = {The \texttt{bibtexu} package},
- subtitle = {An adaptation of BibTeX 0.99 that supports Unicode via ICU},
- author = {Yannis Haralambous and {Japanese \TeX{} Development Community} and {The \TeX{} Live Team}},
- date = {2022-10-08},
- version = {3.72},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/bibtex-x},
- url = {https://ctan.org/pkg/bibtexu},
-}
-
-@manual{ctan-bibtool,
- title = {The \texttt{BibTool} package},
- subtitle = {A tool for manipulating BibTeX files},
- author = {Gerd Neugebauer},
- date = {2020-04-14},
- version = {2.68},
- license = {gpl2,cc-by-sa-3,mit,pd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibtool},
- url = {https://ctan.org/pkg/bibtool},
-}
-
-@manual{ctan-bibtools,
- title = {The \texttt{bibtools} package},
- subtitle = {Bib management tools},
- author = {David Kotz and Daniel Gildea},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibtools},
- url = {https://ctan.org/pkg/bibtools},
-}
-
-@manual{ctan-bibtopic,
- title = {The \texttt{bibtopic} package},
- subtitle = {Include multiple bibliographies in a document},
- author = {Pierre Basso and Stefan Ulrich},
- date = {2016-06-24},
- version = {1.1a},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibtopic},
- url = {https://ctan.org/pkg/bibtopic},
-}
-
-@manual{ctan-bibtopicprefix,
- title = {The \texttt{bibtopicprefix} package},
- subtitle = {Prefix references to bibliographies produced by bibtopic},
- author = {Martin Schröder},
- date = {2019-07-30},
- version = {1.10},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibtopicprefix},
- url = {https://ctan.org/pkg/bibtopicprefix},
- annotation = {The package permits users to apply prefixes (fixed strings) to
- references to entries in bibliographies produced by the
- package.},
-}
-
-@manual{ctan-bibunits,
- title = {The \texttt{bibunits} package},
- subtitle = {Multiple bibliographies in one document},
- author = {José Alberto Fernández and Thorsten Hansen},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bibunits},
- url = {https://ctan.org/pkg/bibunits},
-}
-
-@manual{ctan-bibutils,
- title = {The \texttt{bibutils} package},
- subtitle = {A collection of bibliography format convertors},
- author = {Chris Putnam},
- date = {2019-01-16},
- version = {6.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibutils},
- url = {https://ctan.org/pkg/bibutils},
-}
-
-@manual{ctan-bibview-x,
- title = {The \texttt{bibview-x} package},
- subtitle = {A visual manager for BibTeX files},
- author = {Armin Liebl and Holger Martin and Michael Urban},
- date = {2016-06-24},
- version = {2.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibview-2.0},
- url = {https://ctan.org/pkg/bibview-x},
-}
-
-@manual{ctan-bibview,
- title = {The \texttt{bibview} package},
- subtitle = {View BibTeX files},
- author = {Dana Jacobsen},
- date = {2016-06-24},
- version = {0.2.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibview},
- url = {https://ctan.org/pkg/bibview},
-}
-
-@manual{ctan-bibweb,
- title = {The \texttt{bibweb} package},
- subtitle = {Automatically retrieve bibliography from MathSciNet},
- author = {John H. Palmieri},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibweb},
- url = {https://ctan.org/pkg/bibweb},
-}
-
-@manual{ctan-bicaption,
- title = {The \texttt{bicaption} package},
- subtitle = {Support for bilingual captions},
- author = {Axel Sommerfeldt},
- date = {2023-03-12},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/caption},
- url = {https://ctan.org/pkg/bicaption},
-}
-
-@manual{ctan-bickham,
- title = {The \texttt{bickham} package},
- subtitle = {Virtual fonts for Adobe Bickham Script Pro},
- author = {Michael Sharpe},
- date = {2019-05-21},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bickham},
- url = {https://ctan.org/pkg/bickham},
- annotation = {The bundle provides virtual fonts and \LaTeX{} support files for
- Adobe Bickham Script Pro as a math calligraphic font in regular
- and bold weights. The most recent version of
- offers support for these
- virtual fonts.},
-}
-
-@manual{ctan-bidi-atbegshi,
- title = {The \texttt{bidi-atbegshi} package},
- subtitle = {Bidi-aware shipout macros},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2022-02-19},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bidi-atbegshi},
- url = {https://ctan.org/pkg/bidi-atbegshi},
-}
-
-@manual{ctan-bidi,
- title = {The \texttt{bidi} package},
- subtitle = {Bidirectional typesetting in plain \TeX{} and \LaTeX{}, using XeTeX},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2023-01-17},
- version = {39.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bidi},
- url = {https://ctan.org/pkg/bidi},
-}
-
-@manual{ctan-bidicontour,
- title = {The \texttt{bidicontour} package},
- subtitle = {Bidi-aware coloured contour around text},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bidicontour},
- url = {https://ctan.org/pkg/bidicontour},
- annotation = {The package is a re-implementation of the
- package, making it
- bidi-aware, and adding support of the (when the
- option of the package is used).},
-}
-
-@manual{ctan-bidihl,
- title = {The \texttt{bidihl} package},
- subtitle = {Experimental bidi-aware text highlighting},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bidihl},
- url = {https://ctan.org/pkg/bidihl},
-}
-
-@manual{ctan-bidipagegrid,
- title = {The \texttt{bidipagegrid} package},
- subtitle = {Bidi-aware page grid in background},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bidipagegrid},
- url = {https://ctan.org/pkg/bidipagegrid},
- annotation = {The package is based on .},
-}
-
-@manual{ctan-bidipresentation,
- title = {The \texttt{bidipresentation} package},
- subtitle = {Experimental bidi presentation},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bidipresentation},
- url = {https://ctan.org/pkg/bidipresentation},
- annotation = {A great portion of the code is borrowed from the
-
- bundle, with modifications to get things working properly
- in both right to left and left to right modes.},
-}
-
-@manual{ctan-bidishadowtext,
- title = {The \texttt{bidishadowtext} package},
- subtitle = {Bidi-aware shadow text},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/bidishadowtext},
- url = {https://ctan.org/pkg/bidishadowtext},
- annotation = {This package allows you to typeset bidi-aware shadow text.
- It is a re-implementation of the
- package
- adding bidi support.},
-}
-
-@manual{ctan-bidstobibtex,
- title = {The \texttt{bidstobibtex} package},
- subtitle = {Convert BIDS returns to BibTeX},
- author = {Anthony Stone},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bids/bids.to.bibtex},
- url = {https://ctan.org/pkg/bidstobibtex},
- annotation = {A Perl script that takes input from a
- email message (generated
- by BIDS in its downloading format) to BibTeX.},
-}
-
-@manual{ctan-bigdelim,
- title = {The \texttt{bigdelim} package},
- subtitle = {Big delimiters in tabular or array},
- author = {Pieter van Oostrum},
- date = {2021-03-15},
- version = {2.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multirow},
- url = {https://ctan.org/pkg/bigdelim},
- annotation = {The commands and may be used to
- place multi-row delimiters inside a tabular or array, in
- cooperation with the
- package.},
-}
-
-@manual{ctan-bigfoot,
- title = {The \texttt{bigfoot} package},
- subtitle = {Footnotes for critical editions},
- author = {David Kastrup},
- date = {2016-06-24},
- version = {2.1},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bigfoot},
- url = {https://ctan.org/pkg/bigfoot},
-}
-
-@manual{ctan-bigintcalc,
- title = {The \texttt{bigintcalc} package},
- subtitle = {Integer calculations on very large numbers},
- author = {Heiko Oberdiek},
- date = {2019-12-21},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bigintcalc},
- url = {https://ctan.org/pkg/bigintcalc},
-}
-
-@manual{ctan-bigints,
- title = {The \texttt{bigints} package},
- subtitle = {Writing big integrals},
- author = {Luca Merciadri},
- date = {2019-02-04},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bigints},
- url = {https://ctan.org/pkg/bigints},
-}
-
-@manual{ctan-bigsign,
- title = {The \texttt{bigsign} package},
- subtitle = {Making "big signs" (mini-posters)},
- author = {Anselm Lingnau},
- date = {2016-06-24},
- version = {1.0a},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/bigsign},
- url = {https://ctan.org/pkg/bigsign},
- annotation = {A simple document style to provide direction signs for use at an
- ‘open day’; requires
- .},
-}
-
-@manual{ctan-bigstrut,
- title = {The \texttt{bigstrut} package},
- subtitle = {Struts for opening up tabular spacing},
- author = {Pieter van Oostrum},
- date = {2021-03-15},
- version = {2.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multirow},
- url = {https://ctan.org/pkg/bigstrut},
-}
-
-@manual{ctan-bigtable,
- title = {The \texttt{bigtable} package},
- subtitle = {Multi-page tables in Plain \TeX{}},
- author = {Andrew Mathas and Bob Howlett},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/btable.sty},
- url = {https://ctan.org/pkg/bigtable},
-}
-
-@manual{ctan-bigtabular,
- title = {The \texttt{bigtabular} package},
- subtitle = {Tabulars that can split at page boundaries},
- author = {Denys Duchier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/bigtabular.sty},
- url = {https://ctan.org/pkg/bigtabular},
-}
-
-@manual{ctan-biihead,
- title = {The \texttt{biihead} package},
- subtitle = {Underlined page headings},
- author = {Ted Shapin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/biihead.sty},
- url = {https://ctan.org/pkg/biihead},
-}
-
-@manual{ctan-bilingualpages,
- title = {The \texttt{bilingualpages} package},
- subtitle = {Typeset two columns in parallel},
- author = {Arlie Coles},
- date = {2021-06-21},
- version = {1.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bilingualpages},
- url = {https://ctan.org/pkg/bilingualpages},
- annotation = {This is a simple wrapper for the package for setting two-column
- parallel text.},
-}
-
-@manual{ctan-binarytree,
- title = {The \texttt{binarytree} package},
- subtitle = {Drawing binary trees using TikZ},
- author = {Aleksandrina Nikolova},
- date = {2016-09-17},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/binarytree},
- url = {https://ctan.org/pkg/binarytree},
-}
-
-@manual{ctan-binhex,
- title = {The \texttt{binhex} package},
- subtitle = {Convert numbers into binary, octal and hexadecimal},
- author = {David Kastrup},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/kastrup},
- url = {https://ctan.org/pkg/binhex},
-}
-
-@manual{ctan-binomexp,
- title = {The \texttt{binomexp} package},
- subtitle = {Calculate Pascal's triangle},
- author = {David Roderick},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/binomexp},
- url = {https://ctan.org/pkg/binomexp},
-}
-
-@manual{ctan-biochemistry-colors,
- title = {The \texttt{biochemistry-colors} package},
- subtitle = {Colors used to display amino acids, nucleotides, sugars or atoms in biochemistry},
- author = {Engelbert Buxbaum},
- date = {2017-06-05},
- version = {1.00},
- license = {lppl,gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biochemistry-colors},
- url = {https://ctan.org/pkg/biochemistry-colors},
-}
-
-@manual{ctan-biocon,
- title = {The \texttt{biocon} package},
- subtitle = {Typesetting biological species names},
- author = {Pieter Edelman},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biocon},
- url = {https://ctan.org/pkg/biocon},
-}
-
-@manual{ctan-biokey,
- title = {The \texttt{biokey} package},
- subtitle = {Flexible identification key tables in \LaTeX{}},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {3.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov},
- url = {https://ctan.org/pkg/biokey},
-}
-
-@manual{ctan-biolett-bst,
- title = {The \texttt{biolett-bst} package},
- subtitle = {A BibTeX style for the journal “Biology Letters”},
- author = {Og DeSouza},
- date = {2023-02-15},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/biolett-bst},
- url = {https://ctan.org/pkg/biolett-bst},
-}
-
-@manual{ctan-biolinum-type1,
- title = {The \texttt{biolinum-type1} package},
- subtitle = {(pdf)\LaTeX{} support for the Biolinum family of fonts},
- author = {Bob Tennent},
- date = {2016-06-24},
- version = {5.3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/biolinum-type1},
- url = {https://ctan.org/pkg/biolinum-type1},
-}
-
-@manual{ctan-biolist,
- title = {The \texttt{biolist} package},
- subtitle = {List observed species},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov/tex/biolist.sty},
- url = {https://ctan.org/pkg/biolist},
-}
-
-@manual{ctan-birkhaeuser,
- title = {The \texttt{Birkhaeuser} package},
- subtitle = {Style for Birkhaeuser books, conference proceedings, etc},
- author = {Silvano Balemi},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/birkhaeuser},
- url = {https://ctan.org/pkg/birkhaeuser},
-}
-
-@manual{ctan-bit2spr,
- title = {The \texttt{bit2spr} package},
- subtitle = {Convert bitmaps to "sprites"},
- author = {Marc David Rovner},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/bit2spr},
- url = {https://ctan.org/pkg/bit2spr},
- annotation = {This simple program converts bitmaps in X-bitmap format to the
- format used by the package.},
-}
-
-@manual{ctan-bitelist,
- title = {The \texttt{bitelist} package},
- subtitle = {Split list, in \TeX{}’s mouth},
- author = {Uwe Lück},
- date = {2017-05-05},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/bitelist},
- url = {https://ctan.org/pkg/bitelist},
-}
-
-@manual{ctan-bitfield,
- title = {The \texttt{bitfield} package},
- subtitle = {Draw bit field data structure diagrams (obsolete)},
- author = {Reuben Thomas},
- date = {2016-07-21},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/bitfield},
- url = {https://ctan.org/pkg/bitfield},
- annotation = {Use of this package is no longer recommended, since all its
- facilities are now better provided by the
- package.},
-}
-
-@manual{ctan-bithesis,
- title = {The \texttt{bithesis} package},
- subtitle = {Templates for the Beijing Institute of Technology},
- author = {Feng Kaiyu},
- date = {2023-03-05},
- version = {3.4.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/bithesis},
- url = {https://ctan.org/pkg/bithesis},
-}
-
-@manual{ctan-bitpattern,
- title = {The \texttt{bitpattern} package},
- subtitle = {Typeset bit pattern diagrams},
- author = {Jean-Marc Bourguet},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bitpattern},
- url = {https://ctan.org/pkg/bitpattern},
-}
-
-@manual{ctan-bits,
- title = {The \texttt{bits} package},
- subtitle = {Sub-document environments in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein/unsupported},
- url = {https://ctan.org/pkg/bits},
-}
-
-@manual{ctan-bitset,
- title = {The \texttt{bitset} package},
- subtitle = {Handle bit-vector datatype},
- author = {Heiko Oberdiek},
- date = {2019-12-14},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bitset},
- url = {https://ctan.org/pkg/bitset},
-}
-
-@manual{ctan-bitstrea,
- title = {The \texttt{bitstrea} package},
- subtitle = {Support for use of Bitstream fonts},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/psfonts/bitstrea},
- url = {https://ctan.org/pkg/bitstrea},
-}
-
-@manual{ctan-bitter,
- title = {The \texttt{bitter} package},
- subtitle = {The Bitter family of fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-28},
- version = {},
- license = {lppl,ofl},
- mirror = {https://mirror.ctan.org/fonts/bitter},
- url = {https://ctan.org/pkg/bitter},
-}
-
-@manual{ctan-bizcard,
- title = {The \texttt{bizcard} package},
- subtitle = {Typeset business cards},
- author = {Sebastian Marius Kirsch},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bizcard},
- url = {https://ctan.org/pkg/bizcard},
-}
-
-@manual{ctan-bjfuthesis,
- title = {The \texttt{bjfuthesis} package},
- subtitle = {A thesis class for Beijing Forestry University},
- author = {Changxin Liu},
- date = {2021-07-02},
- version = {1.2.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bjfuthesis},
- url = {https://ctan.org/pkg/bjfuthesis},
-}
-
-@manual{ctan-blackboard,
- title = {The \texttt{blackboard} package},
- subtitle = {Comparison of blackboard bold fonts},
- author = {Olaf Kummer},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/symbols/blackboard},
- url = {https://ctan.org/pkg/blackboard},
- annotation = {A demonstration of various blackboard bold typefaces
- available for \TeX{} (,
- ,
- , and
- ),
- including a PostScript file to preview them.},
-}
-
-@manual{ctan-blackletter,
- title = {The \texttt{blackletter} package},
- subtitle = {A blackletter font},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/blackletter},
- url = {https://ctan.org/pkg/blackletter},
-}
-
-@manual{ctan-blacklettert1,
- title = {The \texttt{blacklettert1} package},
- subtitle = {T1-encoded versions of Haralambous old German fonts},
- author = {Torsten Bronger},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/gothic/blacklettert1},
- url = {https://ctan.org/pkg/blacklettert1},
- annotation = {This package contains virtual fonts that offer T1-alike encoded
- variants of Yannis Haralambous's old German fonts
- ,
- and
-
- (which are also available in
- ). The package
- includes \LaTeX{} macros to embed the fonts into the \LaTeX{} font
- selection scheme.},
-}
-
-@manual{ctan-blanks,
- title = {The \texttt{blanks} package},
- subtitle = {Macros for "fill in the blanks" forms},
- author = {Hal Varian},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/blanks},
- url = {https://ctan.org/pkg/blanks},
-}
-
-@manual{ctan-blindtext,
- title = {The \texttt{blindtext} package},
- subtitle = {Producing 'blind' text for testing},
- author = {Knut Lickert},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/blindtext},
- url = {https://ctan.org/pkg/blindtext},
-}
-
-@manual{ctan-blkarray,
- title = {The \texttt{blkarray} package},
- subtitle = {Extended array and tabular},
- author = {David Carlisle},
- date = {2018-01-06},
- version = {0.07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/blkarray},
- url = {https://ctan.org/pkg/blkarray},
-}
-
-@manual{ctan-blkcntrl,
- title = {The \texttt{blkcntrl} package},
- subtitle = {Block-element hooks in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/blkcntrl},
-}
-
-@manual{ctan-blochsphere,
- title = {The \texttt{blochsphere} package},
- subtitle = {Draw pseudo-3D diagrams of Bloch spheres},
- author = {Matthew Wardrop},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/blochsphere},
- url = {https://ctan.org/pkg/blochsphere},
- annotation = {This package is used to draw pseudo-3D Blochsphere diagrams.
- It supports various annotations, such as great and small circles,
- axes, rotation markings and state vectors.
- It can be used in a standalone fashion,
- or nested within a
- environment
- by setting the environment option
- to .},
-}
-
-@manual{ctan-block,
- title = {The \texttt{block} package},
- subtitle = {A block letter style for the letter class},
- author = {Chua Eng Huang},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/block},
- url = {https://ctan.org/pkg/block},
- annotation = {A style file for use with the letter class that overwrites the
- and macros so that letters can
- be styled with the block letter style instead of the default
- style. Thus, the return address, the closing, and the signature
- appear flushed on the left margin.},
-}
-
-@manual{ctan-blockdraw_mp,
- title = {The \texttt{blockdraw\_mp} package},
- subtitle = {Block diagrams and bond graphs, with MetaPost},
- author = {Henrik Tidefelt},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/blockdraw_mp},
- url = {https://ctan.org/pkg/blockdraw_mp},
-}
-
-@manual{ctan-blopentype,
- title = {The \texttt{BLOpenType} package},
- subtitle = {A basic LuaTeX OpenType handler},
- author = {Luis Rivera},
- date = {2023-01-03},
- version = {0.0.0},
- license = {lppl1.3c,mit},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/blopentype},
- url = {https://ctan.org/pkg/blopentype},
-}
-
-@manual{ctan-bloques,
- title = {The \texttt{bloques} package},
- subtitle = {Generate control diagrams},
- author = {Alejandro Garces Ruiz},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/bloques},
- url = {https://ctan.org/pkg/bloques},
- annotation = {The package uses to provide commands
- for generating control diagrams (specially in power electronics).},
-}
-
-@manual{ctan-blowup,
- title = {The \texttt{blowup} package},
- subtitle = {Upscale or downscale all pages of a document},
- author = {Rolf Niepraschk},
- date = {2022-09-22},
- version = {2.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/blowup},
- url = {https://ctan.org/pkg/blowup},
- annotation = {The package blowup only defines the user-level macro
- , which can be used to upscale or downscale all
- pages of a document. It is similar to the \TeX{} primitive
- but more accurate and user-friendly.},
-}
-
-@manual{ctan-blox,
- title = {The \texttt{blox} package},
- subtitle = {Draw block diagrams, using TikZ},
- author = {Ben Reish},
- date = {2021-02-26},
- version = {2.51},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/blox},
- url = {https://ctan.org/pkg/blox},
-}
-
-@manual{ctan-blue,
- title = {The \texttt{blue} package},
- subtitle = {A document preparation system},
- author = {Kees van der Laan},
- date = {2016-06-24},
- license = {shareware},
- mirror = {https://mirror.ctan.org/macros/blu},
- url = {https://ctan.org/pkg/blue},
- annotation = {The BLUe format is a concise but expressive
- document preparation system modelled on Knuth's manmac; the
- format is used in the author’s
- “”,
- which serves as a user manual for the format. (The acronym is
- based on Knuth’s “Ben Lee User”, who
- tends to get surprised by things in examples in the \TeX{}book.)},
-}
-
-@manual{ctan-bm,
- title = {The \texttt{bm} package},
- subtitle = {Access bold symbols in maths mode},
- author = {David Carlisle and Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.2f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/bm},
-}
-
-@manual{ctan-bm2font,
- title = {The \texttt{bm2font} package},
- subtitle = {Convert bitmaps to PK fonts},
- author = {Friedhelm Sowa and Dave Gillespie},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/bm2font},
- url = {https://ctan.org/pkg/bm2font},
-}
-
-@manual{ctan-bm2ltx,
- title = {The \texttt{bm2ltx} package},
- subtitle = {Convert a bitmap image to \LaTeX{} code},
- author = {Claas Bontus},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/bm2ltx},
- url = {https://ctan.org/pkg/bm2ltx},
-}
-
-@manual{ctan-bmeps,
- title = {The \texttt{bmeps} package},
- subtitle = {Converter from PNG/JPEG/Tgb81AIFF/NetPBM to EPS},
- author = {Dirk Krause},
- date = {2020-10-11},
- license = {other-free},
- url = {https://ctan.org/pkg/bmeps},
- annotation = {This package has been superseded by
- , but is still distributed as
- part of the bundle,
- which is however no longer hosted on CTAN.},
-}
-
-@manual{ctan-bmpp,
- title = {The \texttt{bmpp} package},
- subtitle = {Convert bitmap files to PS/EPS/PDF},
- author = {Dirk Krause},
- date = {2020-10-11},
- license = {bsd},
- url = {https://ctan.org/pkg/bmpp},
-}
-
-@manual{ctan-bmpsize,
- title = {The \texttt{bmpsize} package},
- subtitle = {Extract size and resolution data from bitmap files},
- author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {1.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/bmpsize.dtx},
- url = {https://ctan.org/pkg/bmpsize},
-}
-
-@manual{ctan-bmstu-iu8,
- title = {The \texttt{bmstu-iu8} package},
- subtitle = {A class for IU8 reports},
- author = {{Unknown}},
- date = {2022-01-25},
- version = {1.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bmstu-iu8},
- url = {https://ctan.org/pkg/bmstu-iu8},
-}
-
-@manual{ctan-bmstu,
- title = {The \texttt{bmstu} package},
- subtitle = {A \LaTeX{} class for Bauman Moscow State Technical University},
- author = {Mikael Novikov},
- 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},
-}
-
-@manual{ctan-bnf-plain,
- title = {The \texttt{bnf-plain} package},
- subtitle = {Plain \TeX{} macros for BNF grammars},
- author = {Erik Quanstrom},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/bnf},
- url = {https://ctan.org/pkg/bnf-plain},
- annotation = {The file shows the macros in use.},
-}
-
-@manual{ctan-bnumexpr,
- title = {The \texttt{bnumexpr} package},
- subtitle = {Extends eTeX’s \textbackslash{}numexpr...\textbackslash{}relax construct to big integers},
- author = {Jean-François Burnol},
- date = {2021-05-17},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bnumexpr},
- url = {https://ctan.org/pkg/bnumexpr},
-}
-
-@manual{ctan-bodegraph,
- title = {The \texttt{bodegraph} package},
- subtitle = {Draw Bode, Nyquist and Black plots with gnuplot and TikZ},
- author = {Robert Papanicola},
- date = {2021-10-30},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/bodegraph},
- url = {https://ctan.org/pkg/bodegraph},
- annotation = {The package provides facilities to draw Bode, Nyquist and Black
- plots using and
- . Elementary Transfer Functions and
- basic correctors are preprogrammed for use.},
-}
-
-@manual{ctan-bodeplot,
- title = {The \texttt{bodeplot} package},
- subtitle = {Draw Bode, Nyquist and Nichols plots with gnuplot or pgfplots},
- author = {Rushikesh Kamalapurkar},
- date = {2021-09-11},
- version = {1.1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/bodeplot},
- url = {https://ctan.org/pkg/bodeplot},
- annotation = {This is a \LaTeX{} package to plot Bode, Nichols, and Nyquist diagrams.
- It provides added functionality over the similar
- package:},
-}
-
-@manual{ctan-bohr,
- title = {The \texttt{bohr} package},
- subtitle = {Simple atom representation according to the Bohr model},
- author = {Clemens Niederberger},
- date = {2022-04-06},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bohr},
- url = {https://ctan.org/pkg/bohr},
-}
-
-@manual{ctan-boisik,
- title = {The \texttt{boisik} package},
- subtitle = {A font inspired by Baskerville design},
- author = {{Mitek}},
- date = {2016-06-24},
- version = {0.5},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/boisik},
- url = {https://ctan.org/pkg/boisik},
-}
-
-@manual{ctan-boites,
- title = {The \texttt{boites} package},
- subtitle = {Boxes that may break across pages},
- author = {Vincent Zoonekynd and José Romildo Malaquias},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/boites},
- url = {https://ctan.org/pkg/boites},
-}
-
-@manual{ctan-bold-extra,
- title = {The \texttt{bold-extra} package},
- subtitle = {Use bold small caps and typewriter fonts},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-14},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bold-extra},
- url = {https://ctan.org/pkg/bold-extra},
- annotation = {Allows access to ‘extra’ bold fonts for Computer
- Modern OT1 encoding (the fonts are available in
- ). Since there
- is more than one bold tt-family font set, the version required is
- selected by a package option.},
-}
-
-@manual{ctan-boldline,
- title = {The \texttt{boldline} package},
- subtitle = {Heavier lines in tables},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov/tex/boldline.sty},
- url = {https://ctan.org/pkg/boldline},
-}
-
-@manual{ctan-boldtensors,
- title = {The \texttt{boldtensors} package},
- subtitle = {Bold latin and greek characters through simple prefix characters},
- author = {Werner Fink and Jürgen Bachteler},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/boldtensors},
- url = {https://ctan.org/pkg/boldtensors},
- annotation = {This package provides bold latin and greek characters within
- , by using ~ and "
- as prefix characters.},
-}
-
-@manual{ctan-bondgraph,
- title = {The \texttt{bondgraph} package},
- subtitle = {Create bond graph figures in \LaTeX{} documents},
- author = {Jean-François Dupuis},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bondgraph},
- url = {https://ctan.org/pkg/bondgraph},
- annotation = {The package draws bond graphs using
- .},
-}
-
-@manual{ctan-bondgraphs,
- title = {The \texttt{bondgraphs} package},
- subtitle = {Draws bond graphs in \LaTeX{}, using PGF/TikZ},
- author = {Geert Folkertsma},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bondgraphs},
- url = {https://ctan.org/pkg/bondgraphs},
-}
-
-@manual{ctan-book-examples,
- title = {The \texttt{book-examples} package},
- subtitle = {A collection of examples from published \TeX{}-related books},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {collection},
- url = {https://ctan.org/pkg/book-examples},
-}
-
-@manual{ctan-book-of-common-prayer,
- title = {The \texttt{book-of-common-prayer} package},
- subtitle = {Typeset in the style of “Book of Common Prayer”},
- author = {Arlie Coles},
- date = {2022-02-27},
- version = {1.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/book-of-common-prayer},
- url = {https://ctan.org/pkg/book-of-common-prayer},
-}
-
-@manual{ctan-book,
- title = {The \texttt{book} package},
- subtitle = {A class for typesetting books},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.4n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/book},
-}
-
-@manual{ctan-bookcover,
- title = {The \texttt{bookcover} package},
- subtitle = {A class for book covers and dust jackets},
- author = {Tibor Tómács},
- date = {2022-12-29},
- version = {3.5},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bookcover},
- url = {https://ctan.org/pkg/bookcover},
-}
-
-@manual{ctan-bookdb,
- title = {The \texttt{bookdb} package},
- subtitle = {A BibTeX style file for cataloguing a home library},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/bookdb},
- url = {https://ctan.org/pkg/bookdb},
-}
-
-@manual{ctan-bookest,
- title = {The \texttt{bookest} package},
- subtitle = {Extended book class},
- author = {Riccardo Bresciani},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bookest},
- url = {https://ctan.org/pkg/bookest},
-}
-
-@manual{ctan-bookform,
- title = {The \texttt{bookform} package},
- subtitle = {\LaTeX{} 2.08 style for MIL STD 490 documents},
- author = {Kent McPherson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/bookform},
- url = {https://ctan.org/pkg/bookform},
-}
-
-@manual{ctan-bookhands,
- title = {The \texttt{bookhands} package},
- subtitle = {A collection of book-hand fonts},
- author = {Peter R. Wilson},
- date = {2017-10-29},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands},
- url = {https://ctan.org/pkg/bookhands},
-}
-
-@manual{ctan-booklet,
- title = {The \texttt{booklet} package},
- subtitle = {Aids for printing simple booklets},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {0.7b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/booklet},
- url = {https://ctan.org/pkg/booklet},
-}
-
-@manual{ctan-bookmark,
- title = {The \texttt{bookmark} package},
- subtitle = {A new bookmark (outline) organization for hyperref},
- author = {Heiko Oberdiek},
- date = {2020-11-08},
- version = {1.29},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bookmark},
- url = {https://ctan.org/pkg/bookmark},
- annotation = {This package implements a new bookmark (outline) organization for
- package . Bookmark properties such
- as style and color can now be set. Other action types
- are available (URI, GoToR, Named). The bookmarks are
- generated in the first compile run. Package
- uses two runs.},
-}
-
-@manual{ctan-bookshelf,
- title = {The \texttt{bookshelf} package},
- subtitle = {Create a nice image from a BibTeX file},
- author = {Peter Flynn},
- date = {2020-05-26},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/bookshelf},
- url = {https://ctan.org/pkg/bookshelf},
-}
-
-@manual{ctan-booktabs-de,
- title = {The \texttt{booktabs-de} package},
- subtitle = {German version of booktabs},
- author = {Christine Römer and Thomas Manderla},
- date = {2020-08-29},
- version = {1.61803},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/booktabs-de},
- url = {https://ctan.org/pkg/booktabs-de},
- annotation = {This is a “translation” of the
- .},
-}
-
-@manual{ctan-booktabs-fr,
- title = {The \texttt{booktabs-fr} package},
- subtitle = {French translation of booktabs documentation},
- author = {Jean-Pierre Drucbert and Mathieu Goutelle},
- date = {2016-06-24},
- version = {1.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/booktabs/fr},
- url = {https://ctan.org/pkg/booktabs-fr},
-}
-
-@manual{ctan-booktabs,
- title = {The \texttt{booktabs} package},
- subtitle = {Publication quality tables in \LaTeX{}},
- author = {Danie Els and Simon Fear},
- date = {2020-01-14},
- version = {1.61803398},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/booktabs},
- url = {https://ctan.org/pkg/booktabs},
-}
-
-@manual{ctan-boolexpr,
- title = {The \texttt{boolexpr} package},
- subtitle = {A boolean expression evaluator and a switch command},
- author = {Florent Chervet},
- date = {2019-10-01},
- version = {3.14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/boolexpr},
- url = {https://ctan.org/pkg/boolexpr},
-}
-
-@manual{ctan-boondox,
- title = {The \texttt{boondox} package},
- subtitle = {Mathematical alphabets derived from the STIX fonts},
- author = {Michael Sharpe},
- date = {2017-02-26},
- version = {1.02d},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/boondox},
- url = {https://ctan.org/pkg/boondox},
- annotation = {The package contains a number of PostScript fonts derived from the
- OpenType fonts that may be used
- in maths mode in regular and bold weights for calligraphic,
- fraktur and double-struck alphabets.
- Virtual fonts with metrics suitable for maths mode are
- provided, as are \LaTeX{} support files.},
-}
-
-@manual{ctan-bophook,
- title = {The \texttt{bophook} package},
- subtitle = {Provides an At-Begin-Page hook},
- author = {Karsten Tinnefeld},
- date = {2016-06-24},
- version = {0.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bophook},
- url = {https://ctan.org/pkg/bophook},
- annotation = {Using the hook, you can add material in the
- background of a page. can be used to give page
- makeup commands to be executed on every page (e.g., depending on the
- page style).},
-}
-
-@manual{ctan-borceux,
- title = {The \texttt{borceux} package},
- subtitle = {Diagram macros by François Borceux},
- author = {François Borceux},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/borceux},
- url = {https://ctan.org/pkg/borceux},
-}
-
-@manual{ctan-border,
- title = {The \texttt{border} package},
- subtitle = {Draw a black border around a Plain \TeX{} page},
- author = {James Brister},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/border.tex},
- url = {https://ctan.org/pkg/border},
-}
-
-@manual{ctan-bosisio,
- title = {The \texttt{bosisio} package},
- subtitle = {A collection of packages by Francesco Bosisio},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio},
- url = {https://ctan.org/pkg/bosisio},
- annotation = {A collection of packages containing:
-
- ;
- ;
- ;
- ;
- ;
- ; and
- .},
-}
-
-@manual{ctan-boxedart4mac,
- title = {The \texttt{boxedart4mac} package},
- subtitle = {Import graphics into Macintosh \TeX{}},
- author = {Laurent Siebenmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/boxedart4mac},
- url = {https://ctan.org/pkg/boxedart4mac},
- annotation = {The package is an (accelerated) alternative to the
- author’s package,
- for the and Textures distributions only.},
-}
-
-@manual{ctan-boxedeps,
- title = {The \texttt{boxedeps} package},
- subtitle = {Incorporate EPS files into \TeX{} documents},
- author = {Laurent Siebenmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/boxedeps},
- url = {https://ctan.org/pkg/boxedeps},
-}
-
-@manual{ctan-boxedminipage,
- title = {The \texttt{boxedminipage} package},
- subtitle = {Framed minipages of a specified total width (text and frame combined)},
- author = {Scott Pakin},
- date = {2020-04-21},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/boxedminipage},
- url = {https://ctan.org/pkg/boxedminipage},
-}
-
-@manual{ctan-boxhandler,
- title = {The \texttt{boxhandler} package},
- subtitle = {Flexible Captioning and Deferred Box/List Printing},
- author = {Steven B. Segletes},
- date = {2016-06-24},
- version = {1.30},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/boxhandler},
- url = {https://ctan.org/pkg/boxhandler},
-}
-
-@manual{ctan-boxit-ltx,
- title = {The \texttt{boxit-ltx} package},
- subtitle = {An environment for boxing things},
- author = {Marcel van der Goot},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/boxit.sty},
- url = {https://ctan.org/pkg/boxit-ltx},
- annotation = {The package defines a boxit environment that draws lines around
- its contents. The environment can box things like verbatim text,
- unlike the that originally
- appeared in the \TeX{}book.},
-}
-
-@manual{ctan-boxit,
- title = {The \texttt{boxit} package},
- subtitle = {Draw a box around a text},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/boxit.tex},
- url = {https://ctan.org/pkg/boxit},
-}
-
-@manual{ctan-bpchem,
- title = {The \texttt{bpchem} package},
- subtitle = {Typeset chemical names, formulae, etc},
- author = {Bjørn Pedersen},
- date = {2017-08-23},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bpchem},
- url = {https://ctan.org/pkg/bpchem},
-}
-
-@manual{ctan-bpolynomial,
- title = {The \texttt{bpolynomial} package},
- subtitle = {Drawing polynomial functions of up to order 3},
- author = {Stephan Hennig},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/bpolynomial},
- url = {https://ctan.org/pkg/bpolynomial},
-}
-
-@manual{ctan-br-lex,
- title = {The \texttt{br-lex} package},
- subtitle = {A Class for Typesetting Brazilian legal texts},
- author = {Youssef Cherem},
- date = {2021-03-09},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/br-lex},
- url = {https://ctan.org/pkg/br-lex},
-}
-
-@manual{ctan-bracketkey,
- title = {The \texttt{bracketkey} package},
- subtitle = {Produce bracketed identification keys},
- author = {Christoph Heibl},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bracketkey},
- url = {https://ctan.org/pkg/bracketkey},
- annotation = {The package provides an environment for use
- when producing lists of species.},
-}
-
-@manual{ctan-braids,
- title = {The \texttt{braids} package},
- subtitle = {Draw braid diagrams with PGF/TikZ},
- author = {Andrew Stacey},
- date = {2022-10-26},
- version = {2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/braids},
- url = {https://ctan.org/pkg/braids},
-}
-
-@manual{ctan-braille,
- title = {The \texttt{braille} package},
- subtitle = {Support for braille},
- author = {William Park and Dominique Unruh},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/braille},
- url = {https://ctan.org/pkg/braille},
- annotation = {This package allows the user to produce Braille documents on paper
- for the blind without knowing Braille (which can take years to
- learn). Python scripts and
- convert ordinary text to grade 1 and 2 Braille tags; then, the
- \LaTeX{} package takes the tags and prints out corresponding Braille
- symbols.},
-}
-
-@manual{ctan-braket,
- title = {The \texttt{braket} package},
- subtitle = {Dirac bra-ket and set notations},
- author = {Donald Arseneau},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/braket},
- url = {https://ctan.org/pkg/braket},
-}
-
-@manual{ctan-brandeis-dissertation,
- title = {The \texttt{brandeis-dissertation} package},
- subtitle = {Class for Brandeis University dissertations},
- author = {John Burt and Meghan Peck},
- date = {2021-12-04},
- version = {3.13},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/brandeis-dissertation},
- url = {https://ctan.org/pkg/brandeis-dissertation},
-}
-
-@manual{ctan-brandeis-problemset,
- title = {The \texttt{brandeis-problemset} package},
- subtitle = {Document class for COSI Problem sets at Brandeis University (Waltham, MA)},
- author = {Rebecca Turner},
- date = {2019-04-15},
- version = {0.5.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/brandeis-problemset},
- url = {https://ctan.org/pkg/brandeis-problemset},
-}
-
-@manual{ctan-brandeis-thesis,
- title = {The \texttt{brandeis-thesis} package},
- subtitle = {A class for Brandeis University M.A. theses},
- author = {John Burt},
- date = {2021-07-01},
- version = {3.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/brandeis-thesis},
- url = {https://ctan.org/pkg/brandeis-thesis},
- annotation = {provides the structures and
- formatting information for an M.A. thesis for the Brandeis
- University Graduate School of Arts and Sciences.},
-}
-
-@manual{ctan-brclc,
- title = {The \texttt{brclc} package},
- subtitle = {Support 16-bit (double) calculations in \LaTeX{}},
- author = {Bernd Radgen},
- date = {2016-06-24},
- version = {0.1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/brclc},
- url = {https://ctan.org/pkg/brclc},
- annotation = {The package provides a preprocessor (written in C;
- a DOS executable is available), and a package, which processes a
- \LaTeX{} file that's been run through the preprocessor (the output of
- the preprocessor tells \LaTeX{} how to process the commands
- in the in the \LaTeX{} file. The script (available
- as a shell script or a DOS batch file) shows a typical processing
- run.},
-}
-
-@manual{ctan-breakcites,
- title = {The \texttt{breakcites} package},
- subtitle = {Ensure that multiple citations may break at line end},
- author = {Don Hosek and Leo Broska and Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/breakcites},
- url = {https://ctan.org/pkg/breakcites},
- annotation = {Makes a very minor change to the operation of the
- command. Note that the change is necessary in
- unmodified \LaTeX{}; however, there remain packages that restore the
- undesirable behaviour of the command as provided in \LaTeX{} 2.09.
- (Note that neither nor
- make this mistake.)},
-}
-
-@manual{ctan-breakurl,
- title = {The \texttt{breakurl} package},
- subtitle = {Line-breakable \textbackslash{}url-like links in hyperref when compiling via dvips/ps2pdf},
- author = {Vilar da Camara Neto},
- date = {2016-06-24},
- version = {1.40},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/breakurl},
- url = {https://ctan.org/pkg/breakurl},
- annotation = {This package provides a command much like hyperref’s
- that typesets a URL using a typewriter-like font.
- However, if the dvips driver is being used, the original
- doesn’t allow line breaks in the middle of
- the created link: the link comes in one atomic piece. This
- package allows such line breaks in the generated links.},
-}
-
-@manual{ctan-bredzenie,
- title = {The \texttt{bredzenie} package},
- subtitle = {A Polish version of “lorem ipsum…” in the form of a \LaTeX{} package},
- author = {Marcin Woliński},
- date = {2018-05-01},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bredzenie},
- url = {https://ctan.org/pkg/bredzenie},
-}
-
-@manual{ctan-breqn,
- title = {The \texttt{breqn} package},
- subtitle = {Automatic line breaking of displayed equations},
- author = {Michael J. Downes and Morten Høgholm and Lars Madsen and Will Robertson and Joseph Wright},
- date = {2021-10-28},
- version = {0.98l},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/breqn},
- url = {https://ctan.org/pkg/breqn},
-}
-
-@manual{ctan-bridge-pln,
- title = {The \texttt{bridge-pln} package},
- subtitle = {Plain \TeX{} macros for writing about bridge},
- author = {Kees van der Laan},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/bridge},
- url = {https://ctan.org/pkg/bridge-pln},
-}
-
-@manual{ctan-bridge,
- title = {The \texttt{bridge} package},
- subtitle = {Typesetting bridge diagrams},
- author = {Kees van der Laan},
- date = {2019-06-21},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/laan/bridge},
- url = {https://ctan.org/pkg/bridge},
-}
-
-@manual{ctan-brief-t,
- title = {The \texttt{brief-t} package},
- subtitle = {\LaTeX{} support for the brief editor},
- author = {PL Hedne},
- date = {2019-02-03},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/brief-t},
- url = {https://ctan.org/pkg/brief-t},
- annotation = {The package comprises a set of macros to create key
- assignments for common (La)TeX functions.},
-}
-
-@manual{ctan-bropd,
- title = {The \texttt{bropd} package},
- subtitle = {Simplified brackets and differentials in \LaTeX{}},
- author = {Benjamin Tatlock},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bropd},
- url = {https://ctan.org/pkg/bropd},
-}
-
-@manual{ctan-brushscr,
- title = {The \texttt{brushscr} package},
- subtitle = {A handwriting script font},
- author = {Maurizio Loreti},
- date = {2019-07-06},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/brushscr},
- url = {https://ctan.org/pkg/brushscr},
- annotation = {The BrushScript font simulates hand-written characters; it is
- distributed in Adobe Type 1 format (but is available in
- italic shape only). The package includes the files needed by \LaTeX{}
- in order to use that font. The file fully
- describes the package and illustrates its use.},
-}
-
-@manual{ctan-bsf,
- title = {The \texttt{bsf} package},
- subtitle = {Access bold computer modern sans in \LaTeX{} 2.09},
- author = {Jerry Leichter},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/bsf.sty},
- url = {https://ctan.org/pkg/bsf},
-}
-
-@manual{ctan-bsheaders,
- title = {The \texttt{bsheaders} package},
- subtitle = {Double-ruled chapter heading style},
- author = {Maurizio Loreti},
- date = {2019-07-06},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bsheaders},
- url = {https://ctan.org/pkg/bsheaders},
- annotation = {The style, inspired by those in a book by Bjarne Stroustrup,
- implements chapter headers in sans-serif and bounded by lines
- wide, both above and below the header itself.},
-}
-
-@manual{ctan-bsl,
- title = {The \texttt{bsl} package},
- subtitle = {Access bold computer modern slanted in \LaTeX{} 2.09},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/bsl.sty},
- url = {https://ctan.org/pkg/bsl},
-}
-
-@manual{ctan-bsr2dvi,
- title = {The \texttt{BSR2dvi} package},
- subtitle = {Convert a \TeX{}tures working file to DVI},
- author = {Laurent Siebenmann},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/dviware/BSR2dvi},
- url = {https://ctan.org/pkg/bsr2dvi},
-}
-
-@manual{ctan-btable,
- title = {The \texttt{btable} package},
- subtitle = {Bordered tables},
- author = {Kees van der Laan},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/btable},
- url = {https://ctan.org/pkg/btable},
-}
-
-@manual{ctan-btool,
- title = {The \texttt{btOOL} package},
- subtitle = {Perl library for parsing and processing BibTeX files},
- author = {Greg Ward},
- date = {2016-06-24},
- version = {0.32},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/btOOL},
- url = {https://ctan.org/pkg/btool},
-}
-
-@manual{ctan-bubblesort,
- title = {The \texttt{bubblesort} package},
- subtitle = {Bubble sorts a list},
- author = {Laurence R Taylor},
- date = {2020-07-29},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bubblesort},
- url = {https://ctan.org/pkg/bubblesort},
- annotation = {This package sorts a list of \TeX{} items
- in "increasing" order where "increasing" is determined
- by a comparator macro. By default it sorts real numbers with the usual
- meaning of "increasing" but some other examples are discussed
- in the documentation. A second macro is included which sorts one list
- and applies the same permutation to a second list.},
-}
-
-@manual{ctan-buctthesis,
- title = {The \texttt{BUCTthesis} package},
- subtitle = {Beijing University of Chemical Technology Thesis Template},
- author = {{Unknown}},
- date = {2022-07-29},
- version = {1.4.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/buctthesis},
- url = {https://ctan.org/pkg/buctthesis},
-}
-
-@manual{ctan-bullcntr,
- title = {The \texttt{bullcntr} package},
- subtitle = {Display list item counter as regular pattern of bullets},
- author = {Gustavo Mezzetti},
- date = {2016-06-24},
- version = {0.04},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bullcntr},
- url = {https://ctan.org/pkg/bullcntr},
- annotation = {The bullcntr package defines the command , which
- may be thought of as an analogue of the
- command: like the latter, it displays the value of a counter lying
- between 1 and 9, but uses, for the purpose, a regular pattern of
- bullets.},
-}
-
-@manual{ctan-bundledoc,
- title = {The \texttt{bundledoc} package},
- subtitle = {Bundle together all the files needed to build a \LaTeX{} document},
- author = {Scott Pakin},
- date = {2022-10-04},
- version = {3.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/bundledoc},
- url = {https://ctan.org/pkg/bundledoc},
-}
-
-@manual{ctan-burmese,
- title = {The \texttt{burmese} package},
- subtitle = {Basic Support for Writing Burmese},
- author = {Johannes Reese and Ingo Lepper},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/burmese},
- url = {https://ctan.org/pkg/burmese},
-}
-
-@manual{ctan-buscard,
- title = {The \texttt{buscard} package},
- subtitle = {A document style for business cards},
- author = {Mark Roth},
- date = {2016-06-24},
- version = {1.5},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/buscard.sty},
- url = {https://ctan.org/pkg/buscard},
-}
-
-@manual{ctan-business-research,
- title = {The \texttt{business-research} package},
- subtitle = {Markup for the journal Business Research},
- author = {Andreas Löffler and Sebastian Schanz},
- date = {2017-04-18},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/business-research},
- url = {https://ctan.org/pkg/business-research},
-}
-
-@manual{ctan-businesscard-qrcode,
- title = {The \texttt{businesscard-qrcode} package},
- subtitle = {Business cards with QR-Code},
- author = {Marc Wäckerlin},
- date = {2021-09-16},
- version = {1.2},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/businesscard-qrcode},
- url = {https://ctan.org/pkg/businesscard-qrcode},
-}
-
-@manual{ctan-bussproofs-extra,
- title = {The \texttt{bussproofs-extra} package},
- subtitle = {Extra commands for bussproofs.sty},
- author = {Richard Zach},
- date = {2019-06-02},
- version = {0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bussproofs-extra},
- url = {https://ctan.org/pkg/bussproofs-extra},
- annotation = {This package provides additional functionality for
- ;
- specifically, it allows for typesetting of entire (sub)deductions.},
-}
-
-@manual{ctan-bussproofs,
- title = {The \texttt{bussproofs} package},
- subtitle = {Proof trees in the style of the sequent calculus},
- author = {Sam Buss},
- date = {2019-04-04},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bussproofs},
- url = {https://ctan.org/pkg/bussproofs},
-}
-
-@manual{ctan-bxbase,
- title = {The \texttt{BXbase} package},
- subtitle = {BX bundle base components},
- author = {Takayuki Yato},
- date = {2023-02-23},
- version = {1.2a},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxbase},
- url = {https://ctan.org/pkg/bxbase},
-}
-
-@manual{ctan-bxcalc,
- title = {The \texttt{bxcalc} package},
- subtitle = {Extend the functionality of the calc package},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxcalc},
- url = {https://ctan.org/pkg/bxcalc},
-}
-
-@manual{ctan-bxcjkjatype,
- title = {The \texttt{bxcjkjatype} package},
- subtitle = {Typeset Japanese with pdf\LaTeX{} and CJK},
- author = {Takayuki Yato},
- date = {2019-10-22},
- version = {0.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxcjkjatype},
- url = {https://ctan.org/pkg/bxcjkjatype},
-}
-
-@manual{ctan-bxdpx-beamer,
- title = {The \texttt{bxdpx-beamer} package},
- subtitle = {Dvipdfmx extras for use with beamer},
- author = {Takayuki Yato},
- date = {2016-12-18},
- version = {0.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/bxdpx-beamer},
- url = {https://ctan.org/pkg/bxdpx-beamer},
-}
-
-@manual{ctan-bxdvidriver,
- title = {The \texttt{bxdvidriver} package},
- subtitle = {Enables specifying a driver option effective only in DVI output},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {0.2a},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxdvidriver},
- url = {https://ctan.org/pkg/bxdvidriver},
-}
-
-@manual{ctan-bxeepic,
- title = {The \texttt{bxeepic} package},
- subtitle = {Eepic facilities using pict2e},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {0.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxeepic},
- url = {https://ctan.org/pkg/bxeepic},
- annotation = {The package provides an driver to
- use facilities.},
-}
-
-@manual{ctan-bxenclose,
- title = {The \texttt{bxenclose} package},
- subtitle = {Enclose the document body with some pieces of code},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {0.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxenclose},
- url = {https://ctan.org/pkg/bxenclose},
-}
-
-@manual{ctan-bxghost,
- title = {The \texttt{BXghost} package},
- subtitle = {Ghost insertion for proper xkanjiskip},
- author = {Takuto Asakura},
- date = {2023-02-25},
- version = {0.5.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxghost},
- url = {https://ctan.org/pkg/bxghost},
-}
-
-@manual{ctan-bxjaholiday,
- title = {The \texttt{BXjaholiday} package},
- subtitle = {Support for Japanese holidays},
- author = {Takuto Asakura},
- date = {2021-09-28},
- version = {1.1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxjaholiday},
- url = {https://ctan.org/pkg/bxjaholiday},
-}
-
-@manual{ctan-bxjalipsum,
- title = {The \texttt{BXjalipsum} package},
- subtitle = {Dummy text in Japanese},
- author = {Takayuki Yato},
- date = {2023-02-21},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxjalipsum},
- url = {https://ctan.org/pkg/bxjalipsum},
-}
-
-@manual{ctan-bxjaprnind,
- title = {The \texttt{BXjaprnind} package},
- subtitle = {Adjust the position of parentheses at paragraph head},
- author = {Takayuki Yato},
- date = {2021-06-19},
- version = {0.4a},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxjaprnind},
- url = {https://ctan.org/pkg/bxjaprnind},
-}
-
-@manual{ctan-bxjatoucs,
- title = {The \texttt{bxjatoucs} package},
- subtitle = {Convert Japanese character code to Unicode},
- author = {Takayuki Yato},
- date = {2019-10-24},
- version = {0.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxjatoucs},
- url = {https://ctan.org/pkg/bxjatoucs},
-}
-
-@manual{ctan-bxjscls,
- title = {The \texttt{BXjscls} package},
- subtitle = {Japanese document class collection for all major engines},
- author = {Takayuki Yato},
- date = {2022-04-12},
- version = {2.7a},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxjscls},
- url = {https://ctan.org/pkg/bxjscls},
- annotation = {This package provides an extended version of the Japanese
- document class collection provided by
- .
- While the original version supports only p\LaTeX{} and upLaTeX,
- the extended version also supports pdfLaTeX, \XeLaTeX{} and LuaLaTeX,
- with the aid of suitable packages that provide capability of
- Japanese typesetting.},
-}
-
-@manual{ctan-bxnewfont,
- title = {The \texttt{bxnewfont} package},
- subtitle = {Enhanced \textbackslash{}newfont command},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {0.2b},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxnewfont},
- url = {https://ctan.org/pkg/bxnewfont},
- annotation = {This package provides a new command . It is similar
- to the old (and deprecated) command in function,
- but is more compatible with NFSS. In particular, one can safely change
- font size after invoking a font command defined by .
- The new command will be useful to users who know much of
- the old command,
- but are unfamiliar with the details of NFSS.},
-}
-
-@manual{ctan-bxorigcapt,
- title = {The \texttt{bxorigcapt} package},
- subtitle = {To retain the original caption names when using Babel},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxorigcapt},
- url = {https://ctan.org/pkg/bxorigcapt},
- annotation = {This package forces the caption names (,
- , etc) declared by the document class in use
- to be used as the caption names for a specific language
- introduced by the Babel package.},
-}
-
-@manual{ctan-bxpapersize,
- title = {The \texttt{bxpapersize} package},
- subtitle = {Synchronize output paper size with layout paper size},
- author = {Takayuki Yato},
- date = {2022-04-29},
- version = {0.6},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxpapersize},
- url = {https://ctan.org/pkg/bxpapersize},
-}
-
-@manual{ctan-bxpdfver,
- title = {The \texttt{bxpdfver} package},
- subtitle = {Specify version and compression level of output PDF files},
- author = {Takayuki Yato},
- date = {2022-04-30},
- version = {0.6},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxpdfver},
- url = {https://ctan.org/pkg/bxpdfver},
-}
-
-@manual{ctan-bxtexlogo,
- title = {The \texttt{bxtexlogo} package},
- subtitle = {Additional \TeX{}-family logos},
- author = {Takayuki Yato},
- date = {2022-05-05},
- version = {0.6},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bxtexlogo},
- url = {https://ctan.org/pkg/bxtexlogo},
-}
-
-@manual{ctan-bxwareki,
- title = {The \texttt{bxwareki} package},
- subtitle = {Convert dates from Gregorian to Japanese calender},
- author = {Takayuki Yato},
- date = {2019-06-01},
- version = {0.6},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/BX/bxwareki},
- url = {https://ctan.org/pkg/bxwareki},
-}
-
-@manual{ctan-byo-twemojis,
- title = {The \texttt{byo-twemojis} package},
- subtitle = {“Build Your Own Twemojis” with TikZ},
- author = {Jost Rossel},
- date = {2021-04-24},
- version = {1.0},
- license = {cc-by-4,lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/byo-twemojis},
- url = {https://ctan.org/pkg/byo-twemojis},
- annotation = {This package provides the means to create your own emojis
- (the simple, round, and mostly yellow ones) from elements
- of existing emojis.
- The provided command creates a picture
- from the stated elements with multiple possibilities
- to modify the result in color and position.},
-}
-
-@manual{ctan-byrne,
- title = {The \texttt{byrne} package},
- subtitle = {This package provides a set of tools to typeset geometric proofs in the style of Oliver Byrne's 1847 ed. of Euclid's "Elements"},
- author = {Sergey Slyusarev},
- date = {2022-02-09},
- version = {0.2.2},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/byrne},
- url = {https://ctan.org/pkg/byrne},
-}
-
-@manual{ctan-bytefield,
- title = {The \texttt{bytefield} package},
- subtitle = {Create illustrations for network protocol specifications},
- author = {Scott Pakin},
- date = {2021-08-18},
- version = {2.7},
- license = {lppl1.3a},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bytefield},
- url = {https://ctan.org/pkg/bytefield},
-}
-
-@manual{ctan-byzantinemusic,
- title = {The \texttt{byzantinemusic} package},
- subtitle = {Facilitates writing byzantinemusic},
- author = {Charalampos Cornaros},
- date = {2016-06-24},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/byzantinemusic},
- url = {https://ctan.org/pkg/byzantinemusic},
-}
-
-@manual{ctan-byzfonts,
- title = {The \texttt{byzfonts} package},
- subtitle = {Byzantine Music Font},
- author = {Ioannis A. Vamvakas and Panagiotis Kotopoulis},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/byzfonts},
- url = {https://ctan.org/pkg/byzfonts},
-}
-
-@manual{ctan-c-pascal,
- title = {The \texttt{c-pascal} package},
- subtitle = {Typeset Python, C and Pascal programs},
- author = {Danilo Šegan and Michal Gulczynski},
- date = {2016-06-24},
- version = {1.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/c_pascal},
- url = {https://ctan.org/pkg/c-pascal},
-}
-
-@manual{ctan-c2cweb,
- title = {The \texttt{c2cweb} package},
- subtitle = {C language prettyprinter},
- author = {Werner Lemberg},
- date = {2016-06-24},
- version = {1.5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/web/c_cpp/c2cweb},
- url = {https://ctan.org/pkg/c2cweb},
- annotation = {A utility to prettyprint C and C++ source files
- using .},
-}
-
-@manual{ctan-c2latex,
- title = {The \texttt{c2latex} package},
- subtitle = {Simple conversion of C programs to \LaTeX{}},
- author = {John D Ramsdell},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/c2latex},
- url = {https://ctan.org/pkg/c2latex},
-}
-
-@manual{ctan-cabin,
- title = {The \texttt{cabin} package},
- subtitle = {A humanist Sans Serif font, with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-12-25},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/cabin},
- url = {https://ctan.org/pkg/cabin},
-}
-
-@manual{ctan-cachepic,
- title = {The \texttt{cachepic} package},
- subtitle = {Convert document fragments into graphics},
- author = {Tomasz M. Trzeciak},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cachepic},
- url = {https://ctan.org/pkg/cachepic},
-}
-
-@manual{ctan-caesarcm,
- title = {The \texttt{caesarcm} package},
- subtitle = {Hyphenation of inflected languages, using CM fonts},
- author = {Laurent Siebenmann},
- date = {2016-06-24},
- version = {2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/caesarcm},
- url = {https://ctan.org/pkg/caesarcm},
-}
-
-@manual{ctan-cahyph,
- title = {The \texttt{cahyph} package},
- subtitle = {Hyphenation patterns for the Catalan language},
- author = {Gonçal Badenes Guia and Francina Turon},
- date = {2018-09-01},
- version = {1.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/cahyph.tex},
- url = {https://ctan.org/pkg/cahyph},
-}
-
-@manual{ctan-caladea,
- title = {The \texttt{caladea} package},
- subtitle = {Support for the Caladea family of fonts},
- author = {Bob Tennent},
- date = {2022-09-29},
- version = {},
- license = {apache2,lppl},
- mirror = {https://mirror.ctan.org/fonts/caladea},
- url = {https://ctan.org/pkg/caladea},
-}
-
-@manual{ctan-calc,
- title = {The \texttt{calc} package},
- subtitle = {Simple arithmetic in \LaTeX{} commands},
- author = {{The \LaTeX{} Project Team} and Kresten Krab Thorup and Frank Jensen},
- date = {2021-06-01},
- version = {4.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/calc},
-}
-
-@manual{ctan-calcage,
- title = {The \texttt{calcage} package},
- subtitle = {Calculate the age of something, in years},
- author = {Robin Schneider},
- date = {2017-04-18},
- version = {0.90},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calcage},
- url = {https://ctan.org/pkg/calcage},
- annotation = {The package calculates the age of someone or something in years.
- Internally it uses the
- package to calculate the age in days; conversion from days to
- years is then performed, taking care of leap years and such odd
- things.},
-}
-
-@manual{ctan-calctab,
- title = {The \texttt{calctab} package},
- subtitle = {Language for numeric tables},
- author = {Roberto Giacomelli},
- date = {2016-06-24},
- version = {0.6.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calctab},
- url = {https://ctan.org/pkg/calctab},
- annotation = {The calctab package helps the user to typeset a kind of
- economic table such as invoices, expense notes and
- liquidation, or other tabular material with a values column.
- The code computes sum and percentage with floating point
- numeric methods (using the
- package) and builds the render table task.},
-}
-
-@manual{ctan-calculation,
- title = {The \texttt{calculation} package},
- subtitle = {Typesetting reasoned calculations, also called calculational proofs},
- author = {Maarten Fokkinga},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calculation},
- url = {https://ctan.org/pkg/calculation},
-}
-
-@manual{ctan-calculator,
- title = {The \texttt{calculator} package},
- subtitle = {Use \LaTeX{} as a scientific calculator},
- author = {Robert Fuster},
- date = {2022-09-17},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calculator},
- url = {https://ctan.org/pkg/calculator},
-}
-
-@manual{ctan-calendar-barr,
- title = {The \texttt{calendar-Barr} package},
- subtitle = {A calendar document},
- author = {Michael Barr},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calendar_barr},
- url = {https://ctan.org/pkg/calendar-barr},
-}
-
-@manual{ctan-calendar,
- title = {The \texttt{calendar} package},
- subtitle = {A package for calendars and timetables},
- author = {Frank Bennett},
- date = {2016-06-24},
- version = {3.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calendar},
- url = {https://ctan.org/pkg/calendar},
- annotation = {Includes, for example, a package which organizes date items in a
- format suitable for conference schedules, itineraries, academic
- teaching timetables and the like. Developments of the bundle
- appear as and
- .},
-}
-
-@manual{ctan-calendarweek,
- title = {The \texttt{calendarweek} package},
- subtitle = {Calculate the week number of a date},
- author = {Taco Hoekwater},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/misc/calendarweek.tex},
- url = {https://ctan.org/pkg/calendarweek},
-}
-
-@manual{ctan-calligra-type1,
- title = {The \texttt{calligra-type1} package},
- subtitle = {Type 1 version of Calligra},
- author = {Peter Vanroose and Khaled Hosny},
- date = {2016-06-24},
- version = {001.000},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/calligra-type1},
- url = {https://ctan.org/pkg/calligra-type1},
- annotation = {This is a conversion (using ) of
- Peter Vanroose’s
- .},
-}
-
-@manual{ctan-calligra,
- title = {The \texttt{calligra} package},
- subtitle = {Calligraphic font},
- author = {Peter Vanroose and Serguei Dachian},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/calligra},
- url = {https://ctan.org/pkg/calligra},
-}
-
-@manual{ctan-callouts,
- title = {The \texttt{callouts} package},
- subtitle = {Put simple annotations and notes inside a picture},
- author = {Markus Stuetz},
- date = {2017-07-27},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/callouts},
- url = {https://ctan.org/pkg/callouts},
- annotation = {The package defines the environment
- in which callouts, notes, arrows, and the like can be
- placed to describe certain parts of a picture.},
-}
-
-@manual{ctan-calorie,
- title = {The \texttt{calorie} package},
- subtitle = {Calorie checking for dieters},
- author = {Shuji Aonuma},
- date = {2016-06-24},
- version = {1.3},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/calorie.sty},
- url = {https://ctan.org/pkg/calorie},
-}
-
-@manual{ctan-calrsfs,
- title = {The \texttt{calrsfs} package},
- subtitle = {Copperplate calligraphic letters in \LaTeX{}},
- author = {Vadim V. Zhytnikov},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calrsfs},
- url = {https://ctan.org/pkg/calrsfs},
- annotation = {Provides a maths interface to the
- fonts.},
-}
-
-@manual{ctan-cals,
- title = {The \texttt{cals} package},
- subtitle = {Multipage tables with wide range of features},
- author = {Oleg Parashchenko},
- date = {2017-01-20},
- version = {2.4.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cals},
- url = {https://ctan.org/pkg/cals},
- annotation = {The package is a set of macros to typeset multipage tables with
- repeatable headers and footers, with cells spanned over rows and
- columns. Decorations are supported: padding, background color,
- width of separation rules. The code is compatible with
- and
- .},
-}
-
-@manual{ctan-calxxxx-yyyy,
- title = {The \texttt{calxxxx-yyyy} package},
- subtitle = {Print a calendar for a group of years},
- author = {Hans-Martin Münch},
- date = {2023-01-01},
- version = {20.23a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calxxxx-yyyy},
- url = {https://ctan.org/pkg/calxxxx-yyyy},
-}
-
-@manual{ctan-calxxxx,
- title = {The \texttt{calxxxx} package},
- subtitle = {Prints a card-size calendar for any year},
- author = {Slobodan Jankovic},
- date = {2019-06-21},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calxxxx},
- url = {https://ctan.org/pkg/calxxxx},
-}
-
-@manual{ctan-camel,
- title = {The \texttt{camel} package},
- subtitle = {Prototype work on future citation engine},
- author = {Frank Bennett},
- date = {2016-06-24},
- version = {1.0t},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/camel},
- url = {https://ctan.org/pkg/camel},
-}
-
-@manual{ctan-cancel,
- title = {The \texttt{cancel} package},
- subtitle = {Place lines through maths formulae},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {2.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cancel},
- url = {https://ctan.org/pkg/cancel},
-}
-
-@manual{ctan-canoniclayout,
- title = {The \texttt{canoniclayout} package},
- subtitle = {Create canonical page layouts with memoir},
- author = {Claudio Beccari},
- date = {2022-11-01},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/canoniclayout},
- url = {https://ctan.org/pkg/canoniclayout},
-}
-
-@manual{ctan-cantarell,
- title = {The \texttt{cantarell} package},
- subtitle = {\LaTeX{} support for the Cantarell font family},
- author = {Mohamed El Morabity},
- date = {2019-06-24},
- version = {3.2},
- license = {ofl,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/cantarell},
- url = {https://ctan.org/pkg/cantarell},
-}
-
-@manual{ctan-capbas,
- title = {The \texttt{capbas} package},
- subtitle = {Capital baseball "matrix printer" font collection},
- author = {Phons Bloemen},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/capbas},
- url = {https://ctan.org/pkg/capbas},
-}
-
-@manual{ctan-capparmode,
- title = {The \texttt{capparmode} package},
- subtitle = {Dropped capitals for Plain \TeX{}},
- author = {David Braunegg},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/capparmode.tex},
- url = {https://ctan.org/pkg/capparmode},
-}
-
-@manual{ctan-capt-of,
- title = {The \texttt{capt-of} package},
- subtitle = {Captions on more than floats},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/capt-of},
- url = {https://ctan.org/pkg/capt-of},
-}
-
-@manual{ctan-captcont,
- title = {The \texttt{captcont} package},
- subtitle = {Retain float number across several floats},
- author = {Steven Douglas Cochran},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/captcont},
- url = {https://ctan.org/pkg/captcont},
-}
-
-@manual{ctan-captdef,
- title = {The \texttt{captdef} package},
- subtitle = {Declare free-standing \textbackslash{}caption commands},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/captdef},
- url = {https://ctan.org/pkg/captdef},
- annotation = {The command defines a class of caption
- command associated with the counter specified to the command.
- These commands are free-standing (i.e., don't need to be inside a
- float environment). The package uses to
- define and , which can be
- used outside figure or table environments.},
-}
-
-@manual{ctan-caption,
- title = {The \texttt{caption} package},
- subtitle = {Customising captions in floating environments},
- author = {Axel Sommerfeldt},
- date = {2023-03-12},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/caption},
- url = {https://ctan.org/pkg/caption},
-}
-
-@manual{ctan-caption2,
- title = {The \texttt{caption2} package},
- subtitle = {Superseded version of the caption package},
- author = {Axel Sommerfeldt},
- date = {2016-06-24},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/caption},
- url = {https://ctan.org/pkg/caption2},
-}
-
-@manual{ctan-carbohydrates,
- title = {The \texttt{carbohydrates} package},
- subtitle = {Carbohydrate molecules with chemfig},
- author = {Clemens Niederberger},
- date = {2017-04-18},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carbohydrates},
- url = {https://ctan.org/pkg/carbohydrates},
- annotation = {This package offers macros that make the preparation
- of exercise sheets for teaching carbohydrate chemistry
- a lot less tedious. It uses
- for drawing the formulas.
- Different representation models (Fischer, Haworth, chair…)
- are supported as well as alpha, beta, and chain isomers.},
-}
-
-@manual{ctan-card-set,
- title = {The \texttt{card-set} package},
- subtitle = {Typeset text for cardfile cards},
- author = {R. Potuček Jr.},
- date = {2016-06-24},
- version = {2.04},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/card-set.sty},
- url = {https://ctan.org/pkg/card-set},
-}
-
-@manual{ctan-card,
- title = {The \texttt{card} package},
- subtitle = {Print visiting cards},
- author = {Silvano Balemi},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/card.sty},
- url = {https://ctan.org/pkg/card},
-}
-
-@manual{ctan-carlisle,
- title = {The \texttt{carlisle} package},
- subtitle = {David Carlisle’s small packages},
- author = {David Carlisle},
- date = {2021-06-13},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carlisle},
- url = {https://ctan.org/pkg/carlisle},
- annotation = {Many of David Carlisle’s more substantial packages stand on their
- own, or as part of the \LaTeX{} set;
- this set contains:},
-}
-
-@manual{ctan-carlito,
- title = {The \texttt{carlito} package},
- subtitle = {Support for Carlito sans-serif fonts},
- author = {Bob Tennent},
- date = {2022-10-05},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/carlito},
- url = {https://ctan.org/pkg/carlito},
-}
-
-@manual{ctan-carolmin-t1,
- title = {The \texttt{carolmin-t1} package},
- subtitle = {Adobe Type 1 format of Carolingian Minuscule fonts},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/carolmin-ps},
- url = {https://ctan.org/pkg/carolmin-t1},
-}
-
-@manual{ctan-carolmin,
- title = {The \texttt{carolmin} package},
- subtitle = {Carolingan Miniscule manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/carolmin},
- url = {https://ctan.org/pkg/carolmin},
-}
-
-@manual{ctan-cartonaugh,
- title = {The \texttt{cartonaugh} package},
- subtitle = {A Lua\LaTeX{} package for drawing karnaugh maps with up to 6 variables},
- author = {Jamal Bouajjaj},
- date = {2021-07-17},
- version = {1.0},
- license = {cc-by-sa-3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/cartonaugh},
- url = {https://ctan.org/pkg/cartonaugh},
-}
-
-@manual{ctan-cascade,
- title = {The \texttt{cascade} package},
- subtitle = {Constructions with braces to present mathematical demonstrations},
- author = {François Pantigny},
- date = {2023-02-08},
- version = {1.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cascade},
- url = {https://ctan.org/pkg/cascade},
-}
-
-@manual{ctan-cascadia-code,
- title = {The \texttt{CascadiaCode} package},
- subtitle = {The Cascadia Code font with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-01-20},
- version = {0.0.1},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/cascadia-code},
- url = {https://ctan.org/pkg/cascadia-code},
-}
-
-@manual{ctan-cascadilla,
- title = {The \texttt{cascadilla} package},
- subtitle = {Typeset papers conforming to the stylesheet of the Cascadilla Proceedings Project},
- author = {Max Bane},
- date = {2016-06-24},
- version = {1.8.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cascadilla},
- url = {https://ctan.org/pkg/cascadilla},
- annotation = {The class provides an extension of the standard \LaTeX{}
- class
- that may be used to typeset papers conforming to the stylesheet of
- the , which is used by a number of linguistics
- conference proceedings (e.g., WCCFL).},
-}
-
-@manual{ctan-cascover,
- title = {The \texttt{cascover} package},
- subtitle = {Make cassette covers},
- author = {Stijn Raaijmakers},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/cascover},
- url = {https://ctan.org/pkg/cascover},
-}
-
-@manual{ctan-cases,
- title = {The \texttt{cases} package},
- subtitle = {Numbered cases environment},
- author = {Donald Arseneau},
- date = {2020-04-03},
- version = {3.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cases},
- url = {https://ctan.org/pkg/cases},
-}
-
-@manual{ctan-casiofont,
- title = {The \texttt{casiofont} package},
- subtitle = {Support for the Casio ClassWiz font},
- author = {Alan Munn},
- date = {2018-10-22},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/casiofont},
- url = {https://ctan.org/pkg/casiofont},
- annotation = {This package provides support for the Casio ClassWiz font,
- available from the . The font itself is included in the
- distribution. The package requires compilation with \XeLaTeX{} or
- LuaLaTeX.},
-}
-
-@manual{ctan-cassette-shipunov,
- title = {The \texttt{cassette-shipunov} package},
- subtitle = {Print labels for audio cassettes},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov/tex/cassete.cls},
- url = {https://ctan.org/pkg/cassette-shipunov},
-}
-
-@manual{ctan-cassette,
- title = {The \texttt{cassette} package},
- subtitle = {Typeset cassette box inserts},
- author = {David Strip},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/cassette.tex},
- url = {https://ctan.org/pkg/cassette},
-}
-
-@manual{ctan-cassette209,
- title = {The \texttt{cassette209} package},
- subtitle = {A \LaTeX{} 209 document style for cassette inserts},
- author = {Arne W. Steuer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/cassette},
- url = {https://ctan.org/pkg/cassette209},
-}
-
-@manual{ctan-casslbl,
- title = {The \texttt{casslbl} package},
- subtitle = {Typeset cassette labels},
- author = {Morgan Besson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/casslbl},
- url = {https://ctan.org/pkg/casslbl},
-}
-
-@manual{ctan-casyl,
- title = {The \texttt{casyl} package},
- subtitle = {Typeset Cree/Inuktitut in Canadian Aboriginal Syllabics},
- author = {Ivan A Derzhanski},
- date = {2017-10-29},
- version = {2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/language/casyl},
- url = {https://ctan.org/pkg/casyl},
-}
-
-@manual{ctan-catalan,
- title = {The \texttt{catalan} package},
- subtitle = {Catalan hyphenation patterns},
- author = {Gerben Wierda},
- date = {2016-11-05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/cahyph.tex},
- url = {https://ctan.org/pkg/catalan},
-}
-
-@manual{ctan-catalanbib,
- title = {The \texttt{catalanbib} package},
- subtitle = {Bibliographic styles for use in Catalan},
- author = {Robert Fuster},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/catalan},
- url = {https://ctan.org/pkg/catalanbib},
-}
-
-@manual{ctan-catalogue,
- title = {The \texttt{Catalogue} package},
- subtitle = {A catalogue of what’s available on CTAN},
- author = {Graham Williams and {The CTAN Team}},
- date = {2017-02-08},
- license = {lppl},
- url = {https://ctan.org/pkg/catalogue},
-}
-
-@manual{ctan-catchfile,
- title = {The \texttt{catchfile} package},
- subtitle = {Catch an external file into a macro},
- author = {Heiko Oberdiek},
- date = {2019-12-14},
- version = {1.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/catchfile},
- url = {https://ctan.org/pkg/catchfile},
- annotation = {This package catches the contents of a file and puts it in a macro.
- It requires . Both
- and
- are supported.},
-}
-
-@manual{ctan-catchfilebetweentags,
- title = {The \texttt{catchfilebetweentags} package},
- subtitle = {Catch text delimited by docstrip tags},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/catchfilebetweentags},
- url = {https://ctan.org/pkg/catchfilebetweentags},
- annotation = {This package (built using the facilities of
- ) provides a
- macro acts like the
- original but only extracts a portion of the
- file instead of the complete file. The extracted portion can be
- delimited by strings or by docstrip tags:
-
- (comments in the caught region may be included or dropped).},
-}
-
-@manual{ctan-catcodes,
- title = {The \texttt{catcodes} package},
- subtitle = {Generic handling of \TeX{} category codes},
- author = {Uwe Lück},
- date = {2017-05-05},
- version = {r0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/catcodes},
- url = {https://ctan.org/pkg/catcodes},
-}
-
-@manual{ctan-catdoc,
- title = {The \texttt{catdoc} package},
- subtitle = {Text extractor for word files},
- author = {Victor Wagner},
- date = {2016-06-24},
- version = {0.90},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/catdoc},
- url = {https://ctan.org/pkg/catdoc},
-}
-
-@manual{ctan-catdvi,
- title = {The \texttt{catdvi} package},
- subtitle = {A DVI to plain text translator},
- author = {Antti-Juhani Kaijanaho and Björn Brill},
- date = {2017-04-18},
- version = {0.14},
- license = {gpl},
- mirror = {https://mirror.ctan.org/dviware/catdvi},
- url = {https://ctan.org/pkg/catdvi},
- annotation = {A DVI to plain text translator capable of generating ASCII,
- Latin-1, Latin-9 and UTF-8 (Unicode) output, and recognising T1
- and other \LaTeX{} encodings (as well as Knuth's original encodings
- and those of AMS and other fonts). Catdvi aims to become a
- superior replacement for the
- utility; the present version outperforms dvi2tty in some areas and is
- inferior to it in other areas.},
-}
-
-@manual{ctan-catechis,
- title = {The \texttt{catechis} package},
- subtitle = {Macros for typesetting catechisms},
- author = {Donald P. Goodman},
- date = {2021-07-20},
- version = {2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/catechis},
- url = {https://ctan.org/pkg/catechis},
-}
-
-@manual{ctan-catoptions,
- title = {The \texttt{catoptions} package},
- subtitle = {Preserving and recalling standard catcodes},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.2.7h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/catoptions},
- url = {https://ctan.org/pkg/catoptions},
- annotation = {The package changes package loading internals so that all
- subsequently loaded packages can rely on normal/standard catcodes
- of all ASCII characters. The package defines canonical control
- sequences to represent all the visible ASCII characters. It also
- provides robust option parsing mechanisms
- (, and
- , which will be used by
- if the package has already been loaded).
- The package also provides a range of other \TeX{} programming tools.},
-}
-
-@manual{ctan-causets,
- title = {The \texttt{causets} package},
- subtitle = {Draw causal set (Hasse) diagrams},
- author = {Christoph Minz},
- date = {2023-03-05},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/causets},
- url = {https://ctan.org/pkg/causets},
- annotation = {This \LaTeX{} package uses
- to generate (Hasse) diagrams for causal sets (causets)
- to be used inline with text or in mathematical expressions.
- The macros can also be used in the environment
- to annotate or modify a diagram, as shown with some examples
- in the documentation.},
-}
-
-@manual{ctan-cbcoptic,
- title = {The \texttt{cbcoptic} package},
- subtitle = {Coptic fonts and \LaTeX{} macros for general usage and for philology},
- author = {Claudio Beccari and Serge Rosmorduc},
- date = {2017-10-29},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/coptic/cbcoptic},
- url = {https://ctan.org/pkg/cbcoptic},
- annotation = {CBcoptic is a bundle of files for typesetting Coptic philological
- text with the proper fonts and hyphenation. The fonts are based
- on, but much extend, the fonts of the original
- bundle. The CBcoptic bundle
- includes font description files, Metafont sources and equivalent
- Adobe Type 1 fonts in pfb format. The bundle also
- includes a package that provides some macros of philological
- interest.},
-}
-
-@manual{ctan-cbe,
- title = {The \texttt{cbe} package},
- subtitle = {Bibliography style for Council of Biology Editors format},
- author = {Alan Rogers},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/cbe.bst},
- url = {https://ctan.org/pkg/cbe},
-}
-
-@manual{ctan-cbfonts-fd,
- title = {The \texttt{cbfonts-fd} package},
- subtitle = {\LaTeX{} font description files for the CB Greek fonts},
- author = {Claudio Beccari},
- date = {2019-07-18},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/greek/cbfonts-fd},
- url = {https://ctan.org/pkg/cbfonts-fd},
-}
-
-@manual{ctan-cbgreek-complete,
- title = {The \texttt{cbgreek-complete} package},
- subtitle = {Complete set of Greek fonts},
- author = {Claudio Beccari and Apostolos Syropoulos},
- date = {2019-07-18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/greek/cbfonts},
- url = {https://ctan.org/pkg/cbgreek-complete},
-}
-
-@manual{ctan-cc-pl,
- title = {The \texttt{cc-pl} package},
- subtitle = {Polish extension of Computer Concrete fonts},
- author = {Bogusław Jackowski and Marek Ryćko and Włodek Bzyl},
- date = {2021-03-20},
- version = {1.02.3},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/cc-pl},
- url = {https://ctan.org/pkg/cc-pl},
-}
-
-@manual{ctan-ccaption,
- title = {The \texttt{ccaption} package},
- subtitle = {Continuation headings and legends for floats},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {3.2c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ccaption},
- url = {https://ctan.org/pkg/ccaption},
-}
-
-@manual{ctan-ccfonts,
- title = {The \texttt{ccfonts} package},
- subtitle = {Support for Concrete text and math fonts in \LaTeX{}},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2022-01-26},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ccfonts},
- url = {https://ctan.org/pkg/ccfonts},
- annotation = {\LaTeX{} font definition files for the Concrete fonts and a
- \LaTeX{} package for typesetting documents using Concrete as
- the default font family. The files support OT1, T1, TS1,
- and Concrete mathematics including AMS fonts (Ulrik Vieth's
- ).},
-}
-
-@manual{ctan-cchess,
- title = {The \texttt{cchess} package},
- subtitle = {Chinese chess},
- author = {Jacques Richer and Frank Mittelbach},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cchess},
- url = {https://ctan.org/pkg/cchess},
-}
-
-@manual{ctan-ccicons,
- title = {The \texttt{ccicons} package},
- subtitle = {\LaTeX{} support for Creative Commons icons},
- author = {Michael Ummels},
- date = {2018-01-06},
- version = {1.6},
- license = {lppl1.3c,ofl},
- mirror = {https://mirror.ctan.org/fonts/ccicons},
- url = {https://ctan.org/pkg/ccicons},
-}
-
-@manual{ctan-cclicenses,
- title = {The \texttt{CClicenses} package},
- subtitle = {Typeset Creative Commons licence logos},
- author = {Gianluca Pignalberi},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cclicenses},
- url = {https://ctan.org/pkg/cclicenses},
-}
-
-@manual{ctan-ccool,
- title = {The \texttt{ccool} package},
- subtitle = {A key-value document command parser},
- author = {Erwann Rogard},
- date = {2021-09-24},
- version = {3.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ccool},
- url = {https://ctan.org/pkg/ccool},
- annotation = {This package provides a key-value interface, , on
- top of xparse’s document command parser. Global options control
- input processing and its expansion. By default, they are set to
- meet likely requirements, depending on context: the selected
- language, and which of text and math mode is active. These options
- can be overridden inline. This versality could find its use, for
- example, to encode notational conventions (such as →
- ) at the point where they are introduced in the
- document (“Let R denote real numbers”). Polymorphic commands can be
- generated by parameterizing the keys (for instance, one parameter
- value for style, another for a property). User input to
- can optionally be serialized. This can useful for
- typesetting documents sharing the same notation.},
-}
-
-@manual{ctan-cd,
- title = {The \texttt{cd} package},
- subtitle = {Typeset CD covers},
- author = {Sebastiano Vigna and Werner Lemberg},
- date = {2016-06-24},
- version = {1.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cd},
- url = {https://ctan.org/pkg/cd},
-}
-
-@manual{ctan-cdcmd,
- title = {The \texttt{cdcmd} package},
- subtitle = {Expandable conditional commands for \LaTeX{}},
- author = {{Unknown}},
- date = {2021-10-15},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cdcmd},
- url = {https://ctan.org/pkg/cdcmd},
- annotation = {This package provides some conditional commands,
- just like the
- package.
- The difference is that can define
- conditional commands.},
-}
-
-@manual{ctan-cdcover,
- title = {The \texttt{cdcover} package},
- subtitle = {Typeset CD covers},
- author = {Christian Holm Christensen},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cd-cover},
- url = {https://ctan.org/pkg/cdcover},
-}
-
-@manual{ctan-cdlabeler,
- title = {The \texttt{cdlabeler} package},
- subtitle = {Take user text and typeset it to fit a CD label},
- author = {Victor Eijkhout},
- date = {2016-06-24},
- version = {0.93},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/eijkhout},
- url = {https://ctan.org/pkg/cdlabeler},
-}
-
-@manual{ctan-cdpbundl,
- title = {The \texttt{C.D.P. Bundle} package},
- subtitle = {Business letters in the Italian style},
- author = {Gustavo Mezzetti},
- date = {2022-01-13},
- version = {0.36d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cdpbundl},
- url = {https://ctan.org/pkg/cdpbundl},
-}
-
-@manual{ctan-cea,
- title = {The \texttt{cea} package},
- subtitle = {Produce papers for Computers and Electronics in Agriculture},
- author = {James Darrell McCauley},
- date = {2016-06-24},
- version = {0.1a},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/misc/cea.sty},
- url = {https://ctan.org/pkg/cea},
-}
-
-@manual{ctan-cell,
- title = {The \texttt{cell} package},
- subtitle = {Bibliography style for Cell},
- author = {Thomas Schneider},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cell},
- url = {https://ctan.org/pkg/cell},
- annotation = {This is an “apa-like” style
- (cf. in the
- distribution), developed
- from the same author's style. A
- supporting \LaTeX{} package is also provided.},
-}
-
-@manual{ctan-cellprops,
- title = {The \texttt{cellprops} package},
- subtitle = {Accept CSS-like selectors in tabular, array, …},
- author = {Julien Rivaud},
- date = {2021-02-02},
- version = {2.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cellprops},
- url = {https://ctan.org/pkg/cellprops},
- annotation = {This package reworks the internals of tabular, array, and
- similar constructs, and adds a command accepting
- CSS-like selectors and properties.
- It depends on ,
- ,
- , and
- .},
-}
-
-@manual{ctan-cellspace,
- title = {The \texttt{cellspace} package},
- subtitle = {Ensure minimal spacing of table cells},
- author = {Josselin Noirel},
- date = {2022-01-05},
- version = {1.9.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cellspace},
- url = {https://ctan.org/pkg/cellspace},
-}
-
-@manual{ctan-cellular,
- title = {The \texttt{cellular} package},
- subtitle = {Cellular table construction},
- author = {John E. Pittman},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/cellular},
- url = {https://ctan.org/pkg/cellular},
-}
-
-@manual{ctan-cellwise,
- title = {The \texttt{cellwise} package},
- subtitle = {Building tables one cell at a time},
- author = {Matthias Borck-Elsner},
- date = {2019-04-03},
- version = {0.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/cellwise},
- url = {https://ctan.org/pkg/cellwise},
-}
-
-@manual{ctan-celtic,
- title = {The \texttt{celtic} package},
- subtitle = {A TikZ library for drawing celtic knots},
- author = {Andrew Stacey},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/celtic},
- url = {https://ctan.org/pkg/celtic},
-}
-
-@manual{ctan-censor,
- title = {The \texttt{censor} package},
- subtitle = {Tools for producing redacted documents},
- author = {Steven B. Segletes},
- date = {2022-04-21},
- version = {4.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/censor},
- url = {https://ctan.org/pkg/censor},
-}
-
-@manual{ctan-centeredline,
- title = {The \texttt{centeredline} package},
- subtitle = {A macro for centering lines},
- author = {Jean-François Burnol},
- date = {2022-10-10},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/centeredline},
- url = {https://ctan.org/pkg/centeredline},
-}
-
-@manual{ctan-centerlastline,
- title = {The \texttt{centerlastline} package},
- subtitle = {Paragraphs with last line centered, known as “Spanish” paragraphs},
- author = {Miguel Vinícius Santini Frasson},
- date = {2020-10-14},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/centerlastline},
- url = {https://ctan.org/pkg/centerlastline},
- annotation = {This \LaTeX{} package provides a
- and an that typeset
- “Spanish” paragraphs, that is paragraphs without indentation,
- and last line centered, useful to finish a large paragraph of text
- at the end of chapters, prologues, etc.},
-}
-
-@manual{ctan-centernot,
- title = {The \texttt{centernot} package},
- subtitle = {Centred \textbackslash{}not command},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/centernot.dtx},
- url = {https://ctan.org/pkg/centernot},
-}
-
-@manual{ctan-cep,
- title = {The \texttt{cep} package},
- subtitle = {Compression tools for PostScript},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.03},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/pstools/cep},
- url = {https://ctan.org/pkg/cep},
- annotation = {Compression utilities for PostScript files, written in AWK and
- PostScript (to be processed by gawk and
- ) to compress
- bitmap EPS files down to 10 percent of the original size.},
-}
-
-@manual{ctan-cesenaexam,
- title = {The \texttt{cesenaexam} package},
- subtitle = {A class file to typeset exams},
- author = {Alex Pacini},
- date = {2017-08-07},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cesenaexam},
- url = {https://ctan.org/pkg/cesenaexam},
-}
-
-@manual{ctan-cfgguide,
- title = {The \texttt{cfgguide} package},
- subtitle = {Documentation of \LaTeX{} configuration options},
- author = {{The \LaTeX{} Project Team}},
- date = {2019-10-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/cfgguide},
-}
-
-@manual{ctan-cfr-initials,
- title = {The \texttt{cfr-initials} package},
- subtitle = {\LaTeX{} packages for use of initials},
- author = {Clea F. Rees},
- date = {2021-08-26},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cfr-initials},
- url = {https://ctan.org/pkg/cfr-initials},
-}
-
-@manual{ctan-cfr-lm,
- title = {The \texttt{cfr-lm} package},
- subtitle = {Enhanced support for the Latin Modern fonts},
- author = {Clea F. Rees},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/cfr-lm},
- url = {https://ctan.org/pkg/cfr-lm},
-}
-
-@manual{ctan-changebar,
- title = {The \texttt{changebar} package},
- subtitle = {Generate changebars in \LaTeX{} documents},
- author = {Johannes L. Braams and Michael Fine},
- date = {2022-05-08},
- version = {3.6d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/changebar},
- url = {https://ctan.org/pkg/changebar},
- annotation = {Identify areas of text to be marked with changebars with the
- and commands; the bars may be
- coloured. The package uses ‘drivers’ to place the bars; the
- available drivers can work with dvitoln03, dvitops, dvips, the
- emTeX and \TeX{}tures DVI drivers, and VTeX and pdfTeX.},
-}
-
-@manual{ctan-changelayout,
- title = {The \texttt{changelayout} package},
- subtitle = {Change the layout of individual pages and their text},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/changelayout},
- url = {https://ctan.org/pkg/changelayout},
- annotation = {The package is an extension of the
- package to permit the
- user to change the layout of individual pages and their texts.},
-}
-
-@manual{ctan-changelog,
- title = {The \texttt{changelog} package},
- subtitle = {Typesetting keepachangelog.com style changelogs},
- author = {Rebecca Turner},
- date = {2023-02-17},
- version = {2.5.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/changelog},
- url = {https://ctan.org/pkg/changelog},
-}
-
-@manual{ctan-changepage,
- title = {The \texttt{changepage} package},
- subtitle = {Margin adjustment and detection of odd/even pages},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.0c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/changepage},
- url = {https://ctan.org/pkg/changepage},
-}
-
-@manual{ctan-changes,
- title = {The \texttt{changes} package},
- subtitle = {Manual change markup},
- author = {Ekkart Kleinod},
- date = {2021-07-16},
- version = {4.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/changes},
- url = {https://ctan.org/pkg/changes},
-}
-
-@manual{ctan-chappg,
- title = {The \texttt{chappg} package},
- subtitle = {Page numbering by chapter},
- author = {Robin Fairbairns and Max Hailperin and David Carlisle},
- date = {2018-09-15},
- version = {2.1b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chappg},
- url = {https://ctan.org/pkg/chappg},
-}
-
-@manual{ctan-chapref,
- title = {The \texttt{chapref} package},
- subtitle = {Bibliography details per chapter},
- author = {Peter J. Knaggs},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/chapref.sty},
- url = {https://ctan.org/pkg/chapref},
- annotation = {The package provides for a separate bibliography section in each
- chapter. (It is assumed that each chapter is in its own
- d file.)},
-}
-
-@manual{ctan-chapterbib,
- title = {The \texttt{chapterbib} package},
- subtitle = {Multiple bibliographies in a document},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {1.17},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cite},
- url = {https://ctan.org/pkg/chapterbib},
-}
-
-@manual{ctan-chapterfolder,
- title = {The \texttt{chapterfolder} package},
- subtitle = {Package for working with complicated folder structures},
- author = {Boretti Mathieu},
- date = {2016-06-24},
- version = {2.0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chapterfolder},
- url = {https://ctan.org/pkg/chapterfolder},
-}
-
-@manual{ctan-charissil,
- title = {The \texttt{CharisSIL} package},
- subtitle = {CharisSIL fonts with support for all \LaTeX{} engines},
- author = {Bob Tennent},
- date = {2022-11-12},
- version = {6.101},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/charissil},
- url = {https://ctan.org/pkg/charissil},
-}
-
-@manual{ctan-charter,
- title = {The \texttt{charter} package},
- subtitle = {Charter fonts},
- author = {{Bitstream}},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/charter},
- url = {https://ctan.org/pkg/charter},
- annotation = {A commercial text font donated for the common good. Support for
- use with \LaTeX{} is available in , part of
- .},
-}
-
-@manual{ctan-chbar,
- title = {The \texttt{chbar} package},
- subtitle = {Change bar marks in Plain \TeX{}},
- author = {Joachim Schrod},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/chbar},
- url = {https://ctan.org/pkg/chbar},
- annotation = {This package creates change bars without the use of \textbackslash{}special
- commands (unlike the \LaTeX{} package
- ).},
-}
-
-@manual{ctan-chbibref,
- title = {The \texttt{chbibref} package},
- subtitle = {Change the Bibliography/References title},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chbibref},
- url = {https://ctan.org/pkg/chbibref},
- annotation = {Defines a single command, , which sets
- whichever of and is in use.
- ( is used in book.cls and report.cls, and
- is used in article.cls.)},
-}
-
-@manual{ctan-cheatsheet,
- title = {The \texttt{cheatsheet} package},
- subtitle = {A simple cheatsheet class},
- author = {Adrian C. Hinrichs},
- date = {2017-08-20},
- version = {0.8},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cheatsheet},
- url = {https://ctan.org/pkg/cheatsheet},
- annotation = {The package provides a clean, multi-column design intended for cheat sheets.
- It imports the most useful packages and encloses the document in a
- environment.},
-}
-
-@manual{ctan-check-parens,
- title = {The \texttt{check-parens} package},
- subtitle = {Check parentheses in \LaTeX{}},
- author = {Jaap Eldering},
- date = {2016-06-24},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/check-parens},
- url = {https://ctan.org/pkg/check-parens},
-}
-
-@manual{ctan-check,
- title = {The \texttt{check} package},
- subtitle = {A syntax checker and tidier},
- author = {Rene Grothmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/check},
- url = {https://ctan.org/pkg/check},
-}
-
-@manual{ctan-checkcites,
- title = {The \texttt{checkcites} package},
- subtitle = {Check citation commands in a document},
- author = {Paulo Roberto Massa Cereda and {Island of \TeX{}} and Enrico Gregorio},
- date = {2022-08-20},
- version = {2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/checkcites},
- url = {https://ctan.org/pkg/checkcites},
- annotation = {The package provides a script written for the sole
- purpose of detecting undefined and unused references from \LaTeX{}
- auxiliary or bibliography files.},
-}
-
-@manual{ctan-checkend,
- title = {The \texttt{checkend} package},
- subtitle = {Extend “improperly closed environment” messages},
- author = {Javier Bezos López},
- date = {2019-09-28},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/checkend},
- url = {https://ctan.org/pkg/checkend},
-}
-
-@manual{ctan-checklab,
- title = {The \texttt{checklab} package},
- subtitle = {A patch for the label-checking code},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-13},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fragments/checklab.tex},
- url = {https://ctan.org/pkg/checklab},
-}
-
-@manual{ctan-checklistings,
- title = {The \texttt{checklistings} package},
- subtitle = {Pass verbatim contents through a compiler
- and reincorporate the resulting output},
- author = {Timothy Bourke},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/checklistings},
- url = {https://ctan.org/pkg/checklistings},
-}
-
-@manual{ctan-chem-journal,
- title = {The \texttt{chem-journal} package},
- subtitle = {Various BibTeX formats for journals in Chemistry},
- author = {Jörg-Rüdiger Hill},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/chem-journal},
- url = {https://ctan.org/pkg/chem-journal},
-}
-
-@manual{ctan-chemarr,
- title = {The \texttt{chemarr} package},
- subtitle = {Arrows for chemists},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/chemarr.dtx},
- url = {https://ctan.org/pkg/chemarr},
-}
-
-@manual{ctan-chemarrow,
- title = {The \texttt{chemarrow} package},
- subtitle = {Arrows for use in chemistry},
- author = {Thomas Schroeder},
- date = {2016-06-24},
- version = {0.9},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemarrow},
- url = {https://ctan.org/pkg/chemarrow},
-}
-
-@manual{ctan-chembst,
- title = {The \texttt{chembst} package},
- subtitle = {A collection of BibTeX files for chemistry journals},
- author = {Stephan Schenk},
- date = {2016-06-24},
- version = {0.2.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/chembst},
- url = {https://ctan.org/pkg/chembst},
-}
-
-@manual{ctan-chemcompounds,
- title = {The \texttt{chemcompounds} package},
- subtitle = {Simple consecutive numbering of chemical compounds},
- author = {Stephan Schenk},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemcompounds},
- url = {https://ctan.org/pkg/chemcompounds},
- annotation = {The chemcompounds package allows for a simple consecutive
- numbering of chemical compounds. Optionally, it is possible to
- supply a custom name for each compound. The package differs from
- the package by not
- generating an odd-looking list of compounds inside the text.},
-}
-
-@manual{ctan-chemcono,
- title = {The \texttt{chemcono} package},
- subtitle = {Support for compound numbers in chemistry documents},
- author = {Stefan Schulz},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemcono},
- url = {https://ctan.org/pkg/chemcono},
- annotation = {A \LaTeX{} package for using compound numbers in chemistry documents.
- It works like and the ,
- using and instead. It
- allows compound names in documents to be numbered and does not
- affect the normal citation routines.},
-}
-
-@manual{ctan-chemexec,
- title = {The \texttt{chemexec} package},
- subtitle = {Creating (chemical) exercise sheets},
- author = {Clemens Niederberger},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemexec},
- url = {https://ctan.org/pkg/chemexec},
-}
-
-@manual{ctan-chemfig,
- title = {The \texttt{chemfig} package},
- subtitle = {Draw molecules with easy syntax},
- author = {Christian Tellechea},
- date = {2023-02-18},
- version = {1.6d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/chemfig},
- url = {https://ctan.org/pkg/chemfig},
-}
-
-@manual{ctan-chemformula,
- title = {The \texttt{chemformula} package},
- subtitle = {Command for typesetting chemical formulas and reactions},
- author = {Clemens Niederberger},
- date = {2022-01-23},
- version = {4.17},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemformula},
- url = {https://ctan.org/pkg/chemformula},
-}
-
-@manual{ctan-chemgreek,
- title = {The \texttt{chemgreek} package},
- subtitle = {Upright Greek letters in chemistry},
- author = {Clemens Niederberger},
- date = {2020-01-16},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemgreek},
- url = {https://ctan.org/pkg/chemgreek},
-}
-
-@manual{ctan-chemmacros,
- title = {The \texttt{chemmacros} package},
- subtitle = {A collection of macros to support typesetting chemistry documents},
- author = {Clemens Niederberger},
- date = {2022-03-12},
- version = {6.2a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemmacros},
- url = {https://ctan.org/pkg/chemmacros},
-}
-
-@manual{ctan-chemnum,
- title = {The \texttt{chemnum} package},
- subtitle = {A method for numbering chemical compounds},
- author = {Clemens Niederberger},
- date = {2021-01-21},
- version = {1.3a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemnum},
- url = {https://ctan.org/pkg/chemnum},
-}
-
-@manual{ctan-chemobabel,
- title = {The \texttt{chemobabel} package},
- subtitle = {Convert chemical structures from ChemDraw, MDL molfile or SMILES using Open Babel},
- author = {Hironobu Yamashita},
- date = {2022-10-22},
- version = {0.9l},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/graphics/chemobabel},
- url = {https://ctan.org/pkg/chemobabel},
-}
-
-@manual{ctan-chemplants,
- title = {The \texttt{chemplants} package},
- subtitle = {Symbology to draw chemical plants with TikZ},
- author = {Elia Arnese Feffin},
- date = {2021-09-25},
- version = {0.9.9},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/chemplants},
- url = {https://ctan.org/pkg/chemplants},
-}
-
-@manual{ctan-chemscheme,
- title = {The \texttt{chemscheme} package},
- subtitle = {Support for chemical schemes},
- author = {Joseph Wright},
- date = {2016-06-24},
- version = {2.0c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemstyle},
- url = {https://ctan.org/pkg/chemscheme},
-}
-
-@manual{ctan-chemschemex,
- title = {The \texttt{chemschemex} package},
- subtitle = {Typeset and cross-reference chemical schemes based on TikZ code},
- author = {Dominik Siegel},
- date = {2018-02-23},
- version = {1.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemschemex},
- url = {https://ctan.org/pkg/chemschemex},
-}
-
-@manual{ctan-chemsec,
- title = {The \texttt{chemsec} package},
- subtitle = {Automated creation of numeric entity labels},
- author = {Justin Finnerty},
- date = {2018-04-29},
- version = {1.12a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemsec},
- url = {https://ctan.org/pkg/chemsec},
-}
-
-@manual{ctan-chemstruct,
- title = {The \texttt{chemstruct} package},
- subtitle = {Structural organic chemistry},
- author = {Michael Ramek},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/chemstruct},
- url = {https://ctan.org/pkg/chemstruct},
- annotation = {An ingenious package that will also work with Plain \TeX{}. There
- are signs that it may have been (in part) inspiration for
- .},
-}
-
-@manual{ctan-chemstyle,
- title = {The \texttt{chemstyle} package},
- subtitle = {Writing chemistry with style},
- author = {Joseph Wright},
- date = {2018-01-06},
- version = {2.0m},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemstyle},
- url = {https://ctan.org/pkg/chemstyle},
-}
-
-@manual{ctan-chemsym,
- title = {The \texttt{chemsym} package},
- subtitle = {Macros for typing chemical symbols},
- author = {Mats Dahlgren},
- date = {2021-09-11},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chemsym},
- url = {https://ctan.org/pkg/chemsym},
-}
-
-@manual{ctan-chemtex,
- title = {The \texttt{chemtex} package},
- subtitle = {Structural chemistry},
- author = {Roswitha Haas},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/chemtex},
- url = {https://ctan.org/pkg/chemtex},
-}
-
-@manual{ctan-cheq,
- title = {The \texttt{cheq} package},
- subtitle = {Adobe chess font},
- author = {John Renner},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/chess/cheq},
- url = {https://ctan.org/pkg/cheq},
- annotation = {The font itself is presented as Macintosh stuffit (both in
- ‘printer’ and ‘screen’ formats),
- and (for some reason) as a file, which from the
- documentation sounds as if it ought to be a file.
- Metrics (both AFM and \TeX{} files), and a simple package
- for generating images of pieces, are provided.},
-}
-
-@manual{ctan-cherokee,
- title = {The \texttt{cherokee} package},
- subtitle = {A font for the Cherokee script},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/cherokee},
- url = {https://ctan.org/pkg/cherokee},
-}
-
-@manual{ctan-chess-problem-diagrams,
- title = {The \texttt{chess-problem-diagrams} package},
- subtitle = {A package for typesetting chess problem diagrams},
- author = {Stefan Hoening},
- date = {2022-06-23},
- version = {1.21},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chess-problem-diagrams},
- url = {https://ctan.org/pkg/chess-problem-diagrams},
-}
-
-@manual{ctan-chess,
- title = {The \texttt{chess} package},
- subtitle = {Fonts for typesetting chess boards},
- author = {Piet Tutelaers},
- date = {2016-06-24},
- version = {1.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/chess/chess},
- url = {https://ctan.org/pkg/chess},
-}
-
-@manual{ctan-chessboard,
- title = {The \texttt{chessboard} package},
- subtitle = {Print chess boards},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {1.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chessboard},
- url = {https://ctan.org/pkg/chessboard},
-}
-
-@manual{ctan-chessfss,
- title = {The \texttt{chessfss} package},
- subtitle = {A package to handle chess fonts},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {1.2a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chessfss},
- url = {https://ctan.org/pkg/chessfss},
-}
-
-@manual{ctan-chessmin,
- title = {The \texttt{chessmin} package},
- subtitle = {Minimal chess diagrams},
- author = {Charles Blair},
- date = {2020-04-11},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/generic/misc/chessmin.tex},
- url = {https://ctan.org/pkg/chessmin},
- annotation = {Defines a macro that takes a delimited string to define a board
- layout. The board is drawn using chess symbols crudely assembled
- using blocks; the author remarks that the job is done better with
- Tutelaers’ package, with its
- associated fonts; modern users have a wide range to choose from.},
-}
-
-@manual{ctan-chet,
- title = {The \texttt{chet} package},
- subtitle = {\LaTeX{} layout inspired by harvmac},
- author = {Andreas Stergiou},
- date = {2017-08-19},
- version = {2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chet},
- url = {https://ctan.org/pkg/chet},
- annotation = {The package aims to streamline the work of typesetting, and
- to provide the look and feel of
- for readers.},
-}
-
-@manual{ctan-chextras,
- title = {The \texttt{chextras} package},
- subtitle = {A companion package for the Swiss typesetter},
- author = {Boris Oriet},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chextras},
- url = {https://ctan.org/pkg/chextras},
- annotation = {The package simplifies the preparation of Swiss documents and
- letters by setting up linguistic and common packages. While it is
- a useful addition
- to the document class, it
- is not tied to it and may be used as a general purpose package.},
-}
-
-@manual{ctan-chgbar,
- title = {The \texttt{chgbar} package},
- subtitle = {Draw change bars in the margin},
- author = {Dave Johnson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/chgbar.sty},
- url = {https://ctan.org/pkg/chgbar},
- annotation = {Defines macros and to
- mark the extent of changes to the document. The change bar is
- drawn continuously between the lines containing the two macros,
- but there are issues due to the timing of glue set in the vertical
- stretchability of the page.},
-}
-
-@manual{ctan-chhaya,
- title = {The \texttt{chhaya} package},
- subtitle = {Linguistic glossing in Marathi language},
- author = {{Unknown}},
- date = {2022-01-21},
- version = {0.4},
- license = {gpl3+,other-free,fdl},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/chhaya},
- url = {https://ctan.org/pkg/chhaya},
-}
-
-@manual{ctan-chicago-annote,
- title = {The \texttt{chicago-annote} package},
- subtitle = {Chicago-based annotated BibTeX style},
- author = {Aarre Laakso},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/chicago-annote},
- url = {https://ctan.org/pkg/chicago-annote},
- annotation = {This is a revision of ,
- using the commonly-used field in place of the
- original’s .},
-}
-
-@manual{ctan-chicago,
- title = {The \texttt{chicago} package},
- subtitle = {A "Chicago" bibliography style},
- author = {Paulley Glenn},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/chicago},
- url = {https://ctan.org/pkg/chicago},
-}
-
-@manual{ctan-chicagoa,
- title = {The \texttt{chicagoa} package},
- subtitle = {"Chicago" bibliography style with annotations},
- author = {Paulley Glenn},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/chicagoa.bst},
- url = {https://ctan.org/pkg/chicagoa},
- annotation = {This is a modification of the author’s
- style, to support an
- ‘annotation‘ field in bibliographies.},
-}
-
-@manual{ctan-chickenize,
- title = {The \texttt{chickenize} package},
- subtitle = {Use lua callbacks for “interesting” textual effects},
- author = {Arno L Trautmann},
- date = {2021-01-03},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/chickenize},
- url = {https://ctan.org/pkg/chickenize},
- annotation = {The package allows manipulations of any LuaTeX document (it is
- known to work with Plain LuaTeX and LuaLaTeX). Most of the
- package’s functions are merely for fun or educational use, but
- some functions (for example, for visualising
- the badness and font expansion of each line,
- and doing what its name says) could be
- useful in a “normal” LuaTeX document.},
-}
-
-@manual{ctan-chifoot,
- title = {The \texttt{chifoot} package},
- subtitle = {Chicago-style footnote formatting},
- author = {Daniel Benjamin Miller},
- date = {2021-01-08},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chifoot},
- url = {https://ctan.org/pkg/chifoot},
-}
-
-@manual{ctan-childdoc,
- title = {The \texttt{childdoc} package},
- subtitle = {Directly compile \textbackslash{}include’d child documents},
- author = {Niklas Beisert},
- date = {2018-12-30},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/childdoc},
- url = {https://ctan.org/pkg/childdoc},
- annotation = {This \LaTeX{}2e package enables the direct compilation
- of document sections included by
- to individual files.},
-}
-
-@manual{ctan-china2e,
- title = {The \texttt{china2e} package},
- subtitle = {Font and macros for Chinese calendar},
- author = {Udo Heyl},
- date = {2019-06-21},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/china2e},
- url = {https://ctan.org/pkg/china2e},
-}
-
-@manual{ctan-chinese-jfm,
- title = {The \texttt{ChineseJFM} package},
- subtitle = {Luatexja-jfm files for Chinese typesetting},
- author = {{Unknown}},
- date = {2021-02-15},
- version = {1.1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/chinese-jfm},
- url = {https://ctan.org/pkg/chinese-jfm},
- annotation = {ChineseJFM is a series of luatexja-jfm files for better Chinese typesetting,
- providing , , and
- three styles and other fancy features. It can be used for both horizontal and
- vertical writing mode in Simplified/Traditional Chinese or Japanese fonts.},
-}
-
-@manual{ctan-chinesechess,
- title = {The \texttt{chinesechess} package},
- subtitle = {Typeset Chinese chess with l3draw},
- author = {Nan Geng},
- date = {2022-05-16},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chinesechess},
- url = {https://ctan.org/pkg/chinesechess},
- annotation = {This \LaTeX{}3 package based on provides
- macros and an environment for Chinese chess manual writing.},
-}
-
-@manual{ctan-chitex,
- title = {The \texttt{chitex} package},
- subtitle = {A Chinese \TeX{} system},
- author = {Hung-Yih Chen},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/systems/chitex},
- url = {https://ctan.org/pkg/chitex},
-}
-
-@manual{ctan-chivo,
- title = {The \texttt{Chivo} package},
- subtitle = {Using the free Chivo fonts with \LaTeX{}},
- author = {Arash Esbati},
- date = {2022-11-16},
- version = {2.2},
- license = {ofl,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/chivo},
- url = {https://ctan.org/pkg/chivo},
- annotation = {This work provides the necessary files to use the Chivo fonts with
- \LaTeX{}. Chivo is a set of eight fonts provided by
- Héctor Gatti \& Omnibus Team under the
- ,
- version 1.1. The fonts are copyright (c) 2011-2019, Omnibus-Type.},
-}
-
-@manual{ctan-chkfloat,
- title = {The \texttt{chkfloat} package},
- subtitle = {Warn whenever a float is placed “to far away”},
- author = {Tomas Hejda},
- date = {2021-08-26},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chkfloat},
- url = {https://ctan.org/pkg/chkfloat},
- annotation = {The package checks for floats that are placed too far from their
- origin. It was motivated by a question on the
- page.},
-}
-
-@manual{ctan-chklref,
- title = {The \texttt{chklref} package},
- subtitle = {Check for problems with labels in \LaTeX{}},
- author = {Jérôme Lelong},
- date = {2019-11-05},
- version = {3.1.2},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/chklref},
- url = {https://ctan.org/pkg/chklref},
-}
-
-@manual{ctan-chktex,
- title = {The \texttt{chktex} package},
- subtitle = {Check for errors in \LaTeX{} documents},
- author = {Jens T. Berger Thielemann and Ivan Andrus},
- date = {2022-10-18},
- version = {1.7.8},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/support/chktex},
- url = {https://ctan.org/pkg/chktex},
- annotation = {The program reports typographic and other errors in \LaTeX{}
- documents. Filters are also provided for checking the \LaTeX{} parts
- of documents.},
-}
-
-@manual{ctan-chletter,
- title = {The \texttt{chletter} package},
- subtitle = {Class for typesetting letters to Swiss rules},
- author = {Boris Oriet},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chletter},
- url = {https://ctan.org/pkg/chletter},
-}
-
-@manual{ctan-chngcntr,
- title = {The \texttt{chngcntr} package},
- subtitle = {Change the resetting of counters},
- author = {Will Robertson and Peter R. Wilson},
- date = {2018-04-10},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chngcntr},
- url = {https://ctan.org/pkg/chngcntr},
- annotation = {Defines commands (which sets up a counter
- to be reset when another is incremented) and
- (which unsets such a relationship).},
-}
-
-@manual{ctan-chngpage,
- title = {The \texttt{chngpage} package},
- subtitle = {Change the page layout in the middle of a document},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/changepage},
- url = {https://ctan.org/pkg/chngpage},
- annotation = {The package provides broadly similar functionality to
- , with which it is
- distributed. It is, however, considered obsolete, and should not
- be used in new documents.},
-}
-
-@manual{ctan-chomsky,
- title = {The \texttt{chomsky} package},
- subtitle = {Macros to typeset parsing trees},
- author = {Michael Barr},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/chomsky.sty},
- url = {https://ctan.org/pkg/chomsky},
-}
-
-@manual{ctan-chordbars,
- title = {The \texttt{chordbars} package},
- subtitle = {Print chord grids for pop/jazz tunes},
- author = {Sebastien Kramm},
- date = {2018-12-31},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/chordbars},
- url = {https://ctan.org/pkg/chordbars},
- annotation = {This -based music-related package
- is targeted at pop/jazz guitar/bass/piano musicians.
- They usually need only the chords and the song structure.
- This package produces rectangular song patterns with “one square per bar”,
- with the chord shown inside the square.
- It also handles the song structure by showing the bar count
- and the repetitions of the patterns.},
-}
-
-@manual{ctan-chordbox,
- title = {The \texttt{chordbox} package},
- subtitle = {Draw chord diagrams},
- author = {Steven Franzen},
- date = {2019-05-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/chordbox},
- url = {https://ctan.org/pkg/chordbox},
-}
-
-@manual{ctan-chroma,
- title = {The \texttt{chroma} package},
- subtitle = {Chroma: a reference book of \LaTeX{} colours},
- author = {Uwe Kern},
- date = {2017-04-18},
- version = {1.00},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/colour/chroma},
- url = {https://ctan.org/pkg/chroma},
-}
-
-@manual{ctan-chronology,
- title = {The \texttt{chronology} package},
- subtitle = {Provides a horizontal timeline},
- author = {Levi Wiseman},
- date = {2016-06-24},
- version = {1.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chronology},
- url = {https://ctan.org/pkg/chronology},
-}
-
-@manual{ctan-chronosys,
- title = {The \texttt{chronosys} package},
- subtitle = {Drawing time-line diagrams},
- author = {Mathieu Long},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chronosys},
- url = {https://ctan.org/pkg/chronosys},
-}
-
-@manual{ctan-chs-physics-report,
- title = {The \texttt{chs-physics-report} package},
- subtitle = {Physics lab reports for Carmel High School},
- author = {Gary Zhang},
- date = {2018-09-06},
- version = {},
- license = {pd,cc-by-sa-3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chs-physics-report},
- url = {https://ctan.org/pkg/chs-physics-report},
-}
-
-@manual{ctan-chscite,
- title = {The \texttt{chscite} package},
- subtitle = {Bibliography style for Chalmers University of Technology},
- author = {Simon Sigurdhsson},
- date = {2018-01-06},
- version = {2.9999},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/chscite},
- url = {https://ctan.org/pkg/chscite},
- annotation = {The package, heavily based on the
- package for Harvard-style
- citations, provides a citation suite for students at Chalmers
- University of Technology that follows given recommendations.},
-}
-
-@manual{ctan-churchslavonic,
- title = {The \texttt{churchslavonic} package},
- subtitle = {Typeset documents in Church Slavonic language using Unicode},
- author = {Mike Kroutikov},
- date = {2017-04-18},
- version = {0.2.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/churchslavonic},
- url = {https://ctan.org/pkg/churchslavonic},
-}
-
-@manual{ctan-cinzel,
- title = {The \texttt{cinzel} package},
- subtitle = {\LaTeX{} support for Cinzel and Cinzel Decorative fonts},
- author = {Bob Tennent},
- date = {2022-09-29},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/cinzel},
- url = {https://ctan.org/pkg/cinzel},
- annotation = {Cinzel and Cinzel Decorative fonts, designed by Natanael Gama
- ), find their
- inspiration in first century roman inscriptions, and are based on
- classical proportions. Cinzel is all-caps (similar to
- and Michelangelo), but is
- available in three weights (Regular, Bold, Black). There are no
- italic fonts, but there are Decorative variants, which can be
- selected by the usual italic-selection commands in the package’s
- \LaTeX{} support.},
-}
-
-@manual{ctan-circ,
- title = {The \texttt{circ} package},
- subtitle = {Macros for typesetting circuit diagrams},
- author = {Simon Law and Andreas Tille and Sebastian Tannert},
- date = {2022-04-06},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/circ},
- url = {https://ctan.org/pkg/circ},
-}
-
-@manual{ctan-circle,
- title = {The \texttt{circle} package},
- subtitle = {Maths mode circles for temporal logic},
- author = {Klaus Georg Barthelmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/circle},
- url = {https://ctan.org/pkg/circle},
- annotation = {Provides circles in math mode that can be used for the nextstep
- operator of temporal logic, in conjunction with and
- (latexsym) or and
- (amssymb). \LaTeX{} circles and
- are not of the right size. The circles are
- taken from the font . The package contains some hacks to
- approximate the right size and this solution is definitely not
- sufficient to give a high quality output.},
-}
-
-@manual{ctan-circledsteps,
- title = {The \texttt{circledsteps} package},
- subtitle = {Typeset circled numbers},
- author = {Romano Giannetti},
- date = {2022-04-25},
- version = {1.3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/circledsteps},
- url = {https://ctan.org/pkg/circledsteps},
-}
-
-@manual{ctan-circledtext,
- title = {The \texttt{circledtext} package},
- subtitle = {Create circled text},
- author = {Nan Geng},
- date = {2022-05-05},
- version = {1.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/circledtext},
- url = {https://ctan.org/pkg/circledtext},
- annotation = {This \LaTeX{} package provides a macro to typeset circled text. Its
- starred version can produce an inverted version.},
-}
-
-@manual{ctan-circuit-macros,
- title = {The \texttt{circuit-macros} package},
- subtitle = {M4 macros for electric circuit diagrams},
- author = {Dwight Aplevich},
- date = {2023-03-11},
- version = {10.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/circuit_macros},
- url = {https://ctan.org/pkg/circuit-macros},
-}
-
-@manual{ctan-circuitikz,
- title = {The \texttt{CircuiTikZ} package},
- subtitle = {Draw electrical networks with TikZ},
- author = {Massimo Redaelli and Stefan Lindner and Stefan Erhardt and Romano Giannetti},
- date = {2023-02-11},
- version = {1.6.1},
- license = {lppl,gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/circuitikz},
- url = {https://ctan.org/pkg/circuitikz},
-}
-
-@manual{ctan-cirth,
- title = {The \texttt{cirth} package},
- subtitle = {Fonts for Cirth},
- author = {Martin Habets and Jo Grant},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/cirth},
- url = {https://ctan.org/pkg/cirth},
-}
-
-@manual{ctan-citation-style-language,
- title = {The \texttt{citation-style-language} package},
- subtitle = {Bibliography formatting with Citation Style Language},
- author = {Zeping Lee},
- date = {2022-12-25},
- version = {0.3.0},
- license = {mit,cc-by-sa-3},
- mirror = {https://mirror.ctan.org/biblio/citation-style-language},
- url = {https://ctan.org/pkg/citation-style-language},
- annotation = {The
- (CSL) is an XML-based language that defines the formats of citations
- and bibliography. There are currently thousands of styles in CSL
- including the most widely used APA, Chicago, Vancouver, etc.
- The citation-style-language package is aimed to provide
- another reference formatting method for \LaTeX{} that
- utilizes the CSL styles.
- It contains a citation processor implemented in pure Lua
- () which reads bibliographic metadata
- and performs sorting and formatting on both citations
- and bibliography according to the selected CSL style.
- A \LaTeX{} package ()
- is provided to communicate with the processor.},
-}
-
-@manual{ctan-cite-bundle,
- title = {The \texttt{cite-bundle} package},
- subtitle = {Citation management bundle},
- author = {Donald Arseneau},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cite},
- url = {https://ctan.org/pkg/cite-bundle},
- annotation = {A collection of packages related to managing citations:},
-}
-
-@manual{ctan-cite,
- title = {The \texttt{cite} package},
- subtitle = {Improved citation handling in \LaTeX{}},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {5.5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cite},
- url = {https://ctan.org/pkg/cite},
-}
-
-@manual{ctan-citeall,
- title = {The \texttt{citeall} package},
- subtitle = {Cite all entries of a bbl created with BibLaTeX},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/citeall},
- url = {https://ctan.org/pkg/citeall},
- annotation = {This small package allows to cite all entries of a
- -file created with
- (v1.9).},
-}
-
-@manual{ctan-citeref,
- title = {The \texttt{citeref} package},
- subtitle = {Add reference-page-list to bibliography-items},
- author = {Björn Briel},
- date = {2018-04-29},
- version = {1.1},
- license = {bsd4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/citeref},
- url = {https://ctan.org/pkg/citeref},
- annotation = {The package does its job without using the indexing
- facilities, and needs no special -replacement package.},
-}
-
-@manual{ctan-citesidx,
- title = {The \texttt{citesidx} package},
- subtitle = {Produce a citation list for the bibliography},
- author = {Frank Buchholz},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/citesidx},
- url = {https://ctan.org/pkg/citesidx},
-}
-
-@manual{ctan-cj,
- title = {The \texttt{CJ} package},
- subtitle = {BibTeX style for Computer Journal},
- author = {Felix Gärtner},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/cj.bst},
- url = {https://ctan.org/pkg/cj},
-}
-
-@manual{ctan-cje,
- title = {The \texttt{cje} package},
- subtitle = {\LaTeX{} document class for CJE articles},
- author = {Kim Nesbitt},
- date = {2018-02-23},
- version = {1.06},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cje},
- url = {https://ctan.org/pkg/cje},
- annotation = {The article class allows authors to format their papers to
- Canadian Journal of Economics style with minimum effort. The class includes
- options for two other formats: "review" (double spaced, for use at the
- submission stage) and "proof" (used by the typesetters to prepare the proof
- authors will receive for approval).},
-}
-
-@manual{ctan-cjhebrew,
- title = {The \texttt{CJHebrew} package},
- subtitle = {Typeset Hebrew with \LaTeX{}},
- author = {Christian Justen},
- date = {2017-03-09},
- version = {0.2a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hebrew/cjhebrew},
- url = {https://ctan.org/pkg/cjhebrew},
-}
-
-@manual{ctan-cjk-fonts,
- title = {The \texttt{cjk-fonts} package},
- subtitle = {Chinese/Japanese/Korean bitmap fonts},
- author = {Werner Lemberg},
- date = {2017-11-27},
- version = {4.2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/CJK},
- url = {https://ctan.org/pkg/cjk-fonts},
-}
-
-@manual{ctan-cjk-gs-integrate,
- title = {The \texttt{cjk-gs-integrate} package},
- subtitle = {Tools to integrate CJK fonts into Ghostscript},
- author = {Norbert Preining},
- date = {2021-06-25},
- version = {20210625.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/fonts/utilities/cjk-gs-integrate},
- url = {https://ctan.org/pkg/cjk-gs-integrate},
-}
-
-@manual{ctan-cjk-ko,
- title = {The \texttt{cjk-ko} package},
- subtitle = {Extension of the CJK package for Korean typesetting},
- author = {Dohyun Kim},
- date = {2022-06-12},
- version = {2.3},
- license = {gpl,lppl,pd},
- mirror = {https://mirror.ctan.org/language/korean/cjk-ko},
- url = {https://ctan.org/pkg/cjk-ko},
-}
-
-@manual{ctan-cjk,
- title = {The \texttt{cjk} package},
- subtitle = {CJK language support},
- author = {Werner Lemberg},
- date = {2021-10-18},
- version = {4.8.5},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/language/chinese/CJK},
- url = {https://ctan.org/pkg/cjk},
-}
-
-@manual{ctan-cjkpunct,
- title = {The \texttt{cjkpunct} package},
- subtitle = {Adjust locations and kerning of CJK punctuation marks},
- author = {Linbo Zhang and Wenchang Sun and Qing Lee},
- date = {2019-03-02},
- version = {4.8.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/chinese/cjkpunct},
- url = {https://ctan.org/pkg/cjkpunct},
- annotation = {The package serves as a companion package for
- .},
-}
-
-@manual{ctan-cjw,
- title = {The \texttt{cjw} package},
- subtitle = {A bundle of packages and classes},
- author = {Colin J. Wynne},
- date = {2018-01-06},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cjw},
- url = {https://ctan.org/pkg/cjw},
- annotation = {The bundle contains:
- – a collection of support macros, offering general
- support, support for various areas of maths, and for typesetting
- of units,
- – a letter and envelope class,
- – an outlining package, and
- – a package that enables all of Plain \TeX{} usage under \LaTeX{}.},
-}
-
-@manual{ctan-clara,
- title = {The \texttt{clara} package},
- subtitle = {A serif font family},
- author = {Daniel Benjamin Miller},
- date = {2020-01-20},
- version = {},
- license = {ofl,gpl2+},
- mirror = {https://mirror.ctan.org/fonts/clara},
- url = {https://ctan.org/pkg/clara},
-}
-
-@manual{ctan-classes,
- title = {The \texttt{classes} package},
- subtitle = {The source of \LaTeX{}’s standard classes},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.4n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/classes},
- annotation = {The ,
- , and
- classes of (and their
- class option files) all derive from a single source file,
- ; its contents are extracted to the class files
- themselves in the course of installing \LaTeX{}.},
-}
-
-@manual{ctan-classico,
- title = {The \texttt{classico} package},
- subtitle = {URW Classico fonts},
- author = {Bob Tennent},
- date = {2022-09-30},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/urw/classico},
- url = {https://ctan.org/pkg/classico},
-}
-
-@manual{ctan-classics,
- title = {The \texttt{classics} package},
- subtitle = {Cite classic works},
- author = {Eduardo C. Lourenço de Lima},
- date = {2020-02-04},
- version = {0.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/classics},
- url = {https://ctan.org/pkg/classics},
-}
-
-@manual{ctan-classicthesis,
- title = {The \texttt{ClassicThesis} package},
- subtitle = {A “classically styled” thesis package},
- author = {André Miede},
- date = {2018-06-17},
- version = {4.6},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/classicthesis},
- url = {https://ctan.org/pkg/classicthesis},
-}
-
-@manual{ctan-classif2,
- title = {The \texttt{classif2} package},
- subtitle = {Biological classification tables},
- author = {Alexey Shipunov},
- date = {2019-10-09},
- version = {2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov/tex/classif2.sty},
- url = {https://ctan.org/pkg/classif2},
-}
-
-@manual{ctan-classlist,
- title = {The \texttt{classlist} package},
- subtitle = {Record classes used in a document},
- author = {Heiko Oberdiek},
- date = {2019-09-28},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/classlist.dtx},
- url = {https://ctan.org/pkg/classlist},
-}
-
-@manual{ctan-classpack,
- title = {The \texttt{classpack} package},
- subtitle = {XML mastering for \LaTeX{} classes and packages},
- author = {Peter Flynn},
- date = {2020-05-20},
- version = {1.19},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/classpack},
- url = {https://ctan.org/pkg/classpack},
-}
-
-@manual{ctan-cleanthesis,
- title = {The \texttt{cleanthesis} package},
- subtitle = {A clean \LaTeX{} style for thesis documents},
- author = {Ricardo Langner},
- date = {2019-06-25},
- version = {0.4.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cleanthesis},
- url = {https://ctan.org/pkg/cleanthesis},
-}
-
-@manual{ctan-clearsans,
- title = {The \texttt{clearsans} package},
- subtitle = {Clear Sans fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-15},
- version = {},
- license = {apache2,lppl},
- mirror = {https://mirror.ctan.org/fonts/clearsans},
- url = {https://ctan.org/pkg/clearsans},
-}
-
-@manual{ctan-clefval,
- title = {The \texttt{clefval} package},
- subtitle = {Key/value support with a hash},
- author = {Yvon Henel},
- date = {2020-07-29},
- version = {0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clefval},
- url = {https://ctan.org/pkg/clefval},
- annotation = {This package provides only two macros viz. and
- to define then use pairs of key/value and
- gives a semblance of a hash. Syntax:
- to define the value associated to
- the key, does not produce text; to
- return the value linked to the key. Both arguments of
- are ‘moving’ as \LaTeX{} defines
- the term and we have sometimes to protect them.},
-}
-
-@manual{ctan-cleveref,
- title = {The \texttt{cleveref} package},
- subtitle = {Intelligent cross-referencing},
- author = {Toby Cubitt},
- date = {2021-11-05},
- version = {0.21.4},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cleveref},
- url = {https://ctan.org/pkg/cleveref},
-}
-
-@manual{ctan-clicks,
- title = {The \texttt{clicks} package},
- subtitle = {Slide Deck Animation},
- author = {Yegor Bugayenko},
- date = {2022-10-03},
- version = {0.4.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clicks},
- url = {https://ctan.org/pkg/clicks},
-}
-
-@manual{ctan-clip,
- title = {The \texttt{clip} package},
- subtitle = {A language-independent literate programming tool},
- author = {Eric W. Van Ammers and Mark R. Kramer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/web/clip},
- url = {https://ctan.org/pkg/clip},
-}
-
-@manual{ctan-clipboard,
- title = {The \texttt{clipboard} package},
- subtitle = {Copy and paste into and across documents},
- author = {Eduardo C. Lourenço de Lima},
- date = {2018-05-18},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clipboard},
- url = {https://ctan.org/pkg/clipboard},
- annotation = {The clipboard package provides a basic framework for copying and
- pasting text and commands into and across multiple documents. It
- replaces the package.},
-}
-
-@manual{ctan-clistmap,
- title = {The \texttt{clistmap} package},
- subtitle = {Map and iterate over \LaTeX{}3 clists},
- author = {Erwann Rogard},
- date = {2022-02-08},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clistmap},
- url = {https://ctan.org/pkg/clistmap},
-}
-
-@manual{ctan-clock,
- title = {The \texttt{clock} package},
- subtitle = {Graphical and textual clocks for \TeX{} and \LaTeX{}},
- author = {Oliver Corff},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clock},
- url = {https://ctan.org/pkg/clock},
-}
-
-@manual{ctan-clojure-pamphlet,
- title = {The \texttt{clojure-pamphlet} package},
- subtitle = {A simple literate programming tool based on clojure's pamphlet system},
- author = {Ernesto Lanchares},
- date = {2019-09-10},
- version = {1.3},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/web/clojure-pamphlet},
- url = {https://ctan.org/pkg/clojure-pamphlet},
- annotation = {The Clojure pamphlet system is a system based on the Clojure literate
- system. In the Clojure's pamphlet system you have your main \LaTeX{}
- file, which can be compiled regularly. This file contains
- documentation and source code (just like in other forms of literate
- programming). These code snippets are wrapped in the
- environment, hence they can be recognized by the in order to
- extract them. Chunks can be included inside each other by the
- command (which will be typesetted acordingly). Finally, the
- \LaTeX{} file will be run through the to get the desired chunk of
- code.},
-}
-
-@manual{ctan-closefrm,
- title = {The \texttt{closefrm} package},
- subtitle = {Tidy up after reading a MetaPost file},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- version = {1.04},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/misc/closefrm.mp},
- url = {https://ctan.org/pkg/closefrm},
-}
-
-@manual{ctan-cloze,
- title = {The \texttt{cloze} package},
- subtitle = {A Lua\LaTeX{} package for creating cloze texts},
- author = {Josef Friedrich},
- date = {2020-06-30},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/cloze},
- url = {https://ctan.org/pkg/cloze},
-}
-
-@manual{ctan-clrdblpg,
- title = {The \texttt{clrdblpg} package},
- subtitle = {Control pagestyle of pages left blank by \textbackslash{}cleardoublepage},
- author = {Donald P. Goodman},
- date = {2018-05-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clrdblpg},
- url = {https://ctan.org/pkg/clrdblpg},
- annotation = {This tiny package allows easy manipulation of the headers and footers
- on pages left blank by . By default, \LaTeX{}
- has no easy facilities for this. This package uses more or less the
- algorithm listed in the package
- documentation, with some better indentation and added flexibility.},
-}
-
-@manual{ctan-clrscode,
- title = {The \texttt{clrscode} package},
- subtitle = {Typesets pseudocode as in Introduction to Algorithms},
- author = {Thomas H. Cormen},
- date = {2019-05-15},
- version = {1.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clrscode},
- url = {https://ctan.org/pkg/clrscode},
-}
-
-@manual{ctan-clrscode3e,
- title = {The \texttt{clrscode3e} package},
- subtitle = {Typesets pseudocode as in Introduction to Algorithms},
- author = {Thomas H. Cormen},
- date = {2019-05-15},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clrscode3e},
- url = {https://ctan.org/pkg/clrscode3e},
-}
-
-@manual{ctan-clrstrip,
- title = {The \texttt{clrstrip} package},
- subtitle = {Place contents into a full width colour strip},
- author = {Jonathan P. Spratte},
- date = {2021-08-29},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/clrstrip},
- url = {https://ctan.org/pkg/clrstrip},
- annotation = {This lightweight package provides the
- environment, that places its contents into a full page width
- colour strip.},
-}
-
-@manual{ctan-clsguide,
- title = {The \texttt{clsguide} package},
- subtitle = {Documentation of \LaTeX{} class and package writing},
- author = {{The \LaTeX{} Project Team}},
- date = {2019-10-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/clsguide},
-}
-
-@manual{ctan-cluttex,
- title = {The \texttt{cluttex} package},
- subtitle = {An automation tool for running \LaTeX{}},
- author = {Mizuki Arata},
- date = {2021-11-05},
- version = {0.5.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/cluttex},
- url = {https://ctan.org/pkg/cluttex},
-}
-
-@manual{ctan-cm-afm,
- title = {The \texttt{cm-afm} package},
- subtitle = {Adobe Font Metrics for the CM fonts},
- author = {Pierre A. MacKay},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/cm/afm},
- url = {https://ctan.org/pkg/cm-afm},
- annotation = {A set of AFM files, derived from the
- ; the purpose of
- creating the files was to make the fonts available to such
- applications as .},
-}
-
-@manual{ctan-cm-gf,
- title = {The \texttt{cm-gf} package},
- subtitle = {Generate GF format for CM},
- author = {John D Ramsdell},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cm/gf/Makefile},
- url = {https://ctan.org/pkg/cm-gf},
-}
-
-@manual{ctan-cm-lgc,
- title = {The \texttt{cm-lgc} package},
- subtitle = {Type 1 CM-based fonts for Latin, Greek and Cyrillic},
- author = {Alexey Kryukov},
- date = {2016-06-24},
- version = {0.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/cm-lgc},
- url = {https://ctan.org/pkg/cm-lgc},
-}
-
-@manual{ctan-cm-mf-extra-bold,
- title = {The \texttt{cm-mf-extra-bold} package},
- subtitle = {Extra Metafont files for CM},
- author = {Wolfgang Kaspar and Sami Sozuer},
- date = {2017-11-12},
- version = {},
- license = {gpl,pd},
- mirror = {https://mirror.ctan.org/fonts/cm/mf-extra/bold},
- url = {https://ctan.org/pkg/cm-mf-extra-bold},
- annotation = {The bundle provides bold versions of cmcsc, cmex, cmtex and cmtt
- fonts (all parts of the standard
- font distribution), as
- Metafont base files.},
-}
-
-@manual{ctan-cm-mf-opt-kern,
- title = {The \texttt{cm-mf-opt-kern} package},
- subtitle = {Improve the kerning of CM fonts},
- author = {Markus Pilzecker},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cm/mf_optimized_kerning},
- url = {https://ctan.org/pkg/cm-mf-opt-kern},
-}
-
-@manual{ctan-cm-mf,
- title = {The \texttt{cm-mf} package},
- subtitle = {Sources of the Computer Modern fonts},
- author = {Donald E. Knuth},
- date = {2021-02-09},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/cm/mf},
- url = {https://ctan.org/pkg/cm-mf},
-}
-
-@manual{ctan-cm-pk,
- title = {The \texttt{cm-pk} package},
- subtitle = {PK bitmaps of the Computer Modern fonts},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/cm/pk},
- url = {https://ctan.org/pkg/cm-pk},
-}
-
-@manual{ctan-cm-super,
- title = {The \texttt{cm-super} package},
- subtitle = {CM-Super family of fonts},
- author = {Vladimir Volovich},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/cm-super},
- url = {https://ctan.org/pkg/cm-super},
- annotation = {The CM-Super family provides Adobe Type 1 fonts that replace the
- ,
- ,
- and
- Cyrillic fonts
- (thus supporting all European languages except Greek), and
- bringing many ameliorations in typesetting quality. The fonts
- exhibit the same metrics as the Metafont-encoded originals.},
-}
-
-@manual{ctan-cm-tfm,
- title = {The \texttt{cm-tfm} package},
- subtitle = {Metric files for the Computer Modern fonts},
- author = {Donald E. Knuth},
- date = {2022-12-22},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/cm/tfm},
- url = {https://ctan.org/pkg/cm-tfm},
- annotation = {These are the 75 metric (TFM) files for the
-
- by Donald Knuth.
- While they are not strictly necessary for current \TeX{} systems
- (which can generate TFM files, as needed, on the fly),
- distributions do nevertheless carry them.},
-}
-
-@manual{ctan-cm-unicode,
- title = {The \texttt{cm-unicode} package},
- subtitle = {Computer Modern Unicode font family},
- author = {Andrey Panov and Nikola Lečić},
- date = {2021-03-10},
- version = {0.7.0},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/cm-unicode},
- url = {https://ctan.org/pkg/cm-unicode},
-}
-
-@manual{ctan-cm,
- title = {The \texttt{cm} package},
- subtitle = {Computer Modern fonts},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/cm},
- url = {https://ctan.org/pkg/cm},
-}
-
-@manual{ctan-cmactex,
- title = {The \texttt{cmactex} package},
- subtitle = {TeX for the Macintosh},
- author = {Tom Kiffe},
- date = {2023-01-11},
- version = {4.5},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/mac/cmactex},
- url = {https://ctan.org/pkg/cmactex},
-}
-
-@manual{ctan-cmap,
- title = {The \texttt{cmap} package},
- subtitle = {Make PDF files searchable and copyable},
- author = {Vladimir Volovich and Marcel Krüger},
- date = {2021-02-06},
- version = {1.0j},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cmap},
- url = {https://ctan.org/pkg/cmap},
-}
-
-@manual{ctan-cmarrows,
- title = {The \texttt{cmarrows} package},
- subtitle = {MetaPost arrows and braces in the Computer Modern style},
- author = {Tommy Ekola},
- date = {2016-06-24},
- version = {0.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/cmarrows},
- url = {https://ctan.org/pkg/cmarrows},
-}
-
-@manual{ctan-cmastro,
- title = {The \texttt{cmastro} package},
- subtitle = {Font for planetary symbols},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cmastro},
- url = {https://ctan.org/pkg/cmastro},
-}
-
-@manual{ctan-cmathbb,
- title = {The \texttt{cmathbb} package},
- subtitle = {Computer modern mathematical blackboard bold font},
- author = {Conden Chao},
- date = {2020-10-04},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/cmathbb},
- url = {https://ctan.org/pkg/cmathbb},
-}
-
-@manual{ctan-cmbright,
- title = {The \texttt{cmbright} package},
- subtitle = {Computer Modern Bright fonts},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {8.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cmbright},
- url = {https://ctan.org/pkg/cmbright},
-}
-
-@manual{ctan-cmcyr-patch,
- title = {The \texttt{cmcyr-patch} package},
- subtitle = {A set of Type 1 Cyrillic fonts},
- author = {Iliya Peregoudov},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/cmcyr-encoding-patch},
- url = {https://ctan.org/pkg/cmcyr-patch},
- annotation = {This is a set of fonts, derived from a set within the
- ; the originals
- had encoding problems, and the package offers modified (working)
- versions.},
-}
-
-@manual{ctan-cmcyr,
- title = {The \texttt{cmcyr} package},
- subtitle = {Computer Modern fonts with cyrillic extensions},
- author = {Nana Glonti and Alexander Samarin and Basil Malyshev},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/cmcyr},
- url = {https://ctan.org/pkg/cmcyr},
-}
-
-@manual{ctan-cmcyralt-fonts,
- title = {The \texttt{cmcyralt-fonts} package},
- subtitle = {Russian fonts in "alternative" encoding},
- author = {Alexander Harin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/cmcyralt},
- url = {https://ctan.org/pkg/cmcyralt-fonts},
-}
-
-@manual{ctan-cmcyralt-ltx,
- title = {The \texttt{cmcyralt-ltx} package},
- subtitle = {\LaTeX{} support for the cmcyralt fonts},
- author = {Alexander Harin and Vadim V. Zhytnikov},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cmcyralt},
- url = {https://ctan.org/pkg/cmcyralt-ltx},
- annotation = {Macros and fd files to use the
- . Designed for use
- with an alternative-coded keyboard.},
-}
-
-@manual{ctan-cmdstring,
- title = {The \texttt{cmdstring} package},
- subtitle = {Get command name reliably},
- author = {Josselin Noirel},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cmdstring},
- url = {https://ctan.org/pkg/cmdstring},
- annotation = {Extracts the letters of a command’s name (e.g., for
- command ), in a reliable way.},
-}
-
-@manual{ctan-cmdtrack,
- title = {The \texttt{cmdtrack} package},
- subtitle = {Check used commands},
- author = {Michael J. Downes},
- date = {2016-06-24},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cmdtrack},
- url = {https://ctan.org/pkg/cmdtrack},
- annotation = {The package keeps track of whether a command defined
- in a document preamble is actually used somewhere in the
- document. After the package is loaded in the preamble of a
- document, all (and similar command
- definitions) between that point and the beginning of the document
- will be marked for logging. At the end of the document a report
- of command usage will be printed in the \TeX{} log, for example:},
-}
-
-@manual{ctan-cmextra-latex,
- title = {The \texttt{cmextra-latex} package},
- subtitle = {Install macros for “standard” fonts not used by \LaTeX{} itself},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-06-01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base/cmextra.ins},
- url = {https://ctan.org/pkg/cmextra-latex},
- annotation = {This file extracts font definition files for extra
- Computer-Modern-based fonts: the
- fonts by Knuth (and their
- ), and the Cyrillic
- fonts from the University of Washington (in their
- variant. (The sources of
- these font definition files are present in the \LaTeX{} distribution,
- but they are not extracted by default.)},
-}
-
-@manual{ctan-cmfrak,
- title = {The \texttt{cmfrak} package},
- subtitle = {Reencoded versions of Haralambous fraktur fonts},
- author = {Daniel Taupin},
- date = {2016-07-29},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/gothic/cmfrak},
- url = {https://ctan.org/pkg/cmfrak},
- annotation = {Metafont sources to enable Haralambous’s
- font to be built
- in a CM-like encoding () or a
- “DC-like” encoding (effectively, \LaTeX{} T1:
- ).},
-}
-
-@manual{ctan-cmll,
- title = {The \texttt{cmll} package},
- subtitle = {Symbols for linear logic},
- author = {Emmanuel Beffara},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cmll},
- url = {https://ctan.org/pkg/cmll},
-}
-
-@manual{ctan-cmoefont,
- title = {The \texttt{cmoefont} package},
- subtitle = {Old English glyphs to go with Computer Modern},
- author = {Julian Bradfield},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cmoefont},
- url = {https://ctan.org/pkg/cmoefont},
-}
-
-@manual{ctan-cmolddig,
- title = {The \texttt{cmolddig} package},
- subtitle = {Virtual fount setup for using old style digits},
- author = {Rowland McDonnell},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cmolddig},
- url = {https://ctan.org/pkg/cmolddig},
- annotation = {This package is a virtual font setup for using old style digits
- by default with the OT1 encoded Computer Modern Roman upright
- fonts. The
- package does the same job for the T1 encoded EC
- fonts and is generally much better because the EC fonts are
- like that; but then again, OT1 encoded cmr is available for free
- in TrueType and PS Type 1 formats and has its uses in pdf files
- as a result.},
-}
-
-@manual{ctan-cmoutlines,
- title = {The \texttt{cmoutlines} package},
- subtitle = {Outline versions of the Computer Modern fonts},
- author = {Doug Henderson and Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cm/cmoutlines},
- url = {https://ctan.org/pkg/cmoutlines},
- annotation = {Metafont code which uses the original definitions of the CM
- fonts to produce an outline set. \LaTeX{} support is available from
- the package.},
-}
-
-@manual{ctan-cmpica,
- title = {The \texttt{cmpica} package},
- subtitle = {A Computer Modern Pica variant},
- author = {Don Hosek},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/cmpica},
- url = {https://ctan.org/pkg/cmpica},
-}
-
-@manual{ctan-cmpj,
- title = {The \texttt{cmpj} package},
- subtitle = {Style for the journal Condensed Matter Physics},
- author = {Andrij Shvaika},
- date = {2021-03-18},
- version = {3.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cmpj},
- url = {https://ctan.org/pkg/cmpj},
-}
-
-@manual{ctan-cms4talks,
- title = {The \texttt{cms4talks} package},
- subtitle = {Content Management System for Talks},
- author = {Olle Nebendahl},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/cms4talks},
- url = {https://ctan.org/pkg/cms4talks},
-}
-
-@manual{ctan-cmsd,
- title = {The \texttt{cmsd} package},
- subtitle = {Interfaces to the CM Sans Serif Bold fonts},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cmsd},
- url = {https://ctan.org/pkg/cmsd},
-}
-
-@manual{ctan-cmslup,
- title = {The \texttt{cmslup} package},
- subtitle = {Upright punctuation with CM slanted},
- author = {Sergei V. Znamenskii and Boris Veytsman},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cm/cmslup},
- url = {https://ctan.org/pkg/cmslup},
-}
-
-@manual{ctan-cmsrb,
- title = {The \texttt{cmsrb} package},
- subtitle = {Computer Modern for Serbian and Macedonian},
- author = {Uroš Stefanović},
- date = {2020-03-30},
- version = {4.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/cmsrb},
- url = {https://ctan.org/pkg/cmsrb},
-}
-
-@manual{ctan-cmtest,
- title = {The \texttt{cmtest} package},
- subtitle = {CM fonts test sources},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/cm/cmtest},
- url = {https://ctan.org/pkg/cmtest},
-}
-
-@manual{ctan-cmtiup,
- title = {The \texttt{cmtiup} package},
- subtitle = {Upright punctuation with CM italic},
- author = {Sergei V. Znamenskii and Boris Veytsman},
- date = {2017-10-29},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/cm/cmtiup},
- url = {https://ctan.org/pkg/cmtiup},
-}
-
-@manual{ctan-cmtt,
- title = {The \texttt{cmtt} package},
- subtitle = {A package for handling the cmtt font better},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/cmtt},
-}
-
-@manual{ctan-cmtype3,
- title = {The \texttt{CM Type3} package},
- subtitle = {Type 3 outline versions of the CM fonts},
- author = {Graham Toal},
- date = {2020-02-04},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cm/ps-type3},
- url = {https://ctan.org/pkg/cmtype3},
-}
-
-@manual{ctan-cmupint,
- title = {The \texttt{cmupint} package},
- subtitle = {Upright integral symbols for Computer Modern},
- author = {Uroš Stefanović},
- date = {2020-04-13},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cmupint},
- url = {https://ctan.org/pkg/cmupint},
-}
-
-@manual{ctan-cmyk-hax,
- title = {The \texttt{cmyk-hax} package},
- subtitle = {A \TeX{} macro package for colour manipulation (using PostScript)},
- author = {{BOP}},
- date = {2016-06-24},
- version = {0.75},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/TeX-PS/cmyk-hax},
- url = {https://ctan.org/pkg/cmyk-hax},
- annotation = {A set of \TeX{} macros supporting colour separation and substitution
- using the \TeX{}/PostScript environment. Requires
- and
- colordvi.tex/sty from the standard dvips distribution. The
- current version enables processing of CMYK bitmaps.},
-}
-
-@manual{ctan-cnbwp,
- title = {The \texttt{cnbwp} package},
- subtitle = {Typeset working papers of the Czech National Bank},
- author = {Zdeněk Wagner},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cnbwp},
- url = {https://ctan.org/pkg/cnbwp},
-}
-
-@manual{ctan-cnltx,
- title = {The \texttt{cnltx} package},
- subtitle = {\LaTeX{} tools and documenting facilities},
- author = {Clemens Niederberger},
- date = {2020-05-09},
- version = {0.15},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cnltx},
- url = {https://ctan.org/pkg/cnltx},
-}
-
-@manual{ctan-cnoweb,
- title = {The \texttt{cnoweb} package},
- subtitle = {Simple "quality" printing of C sources},
- author = {Jim Fox},
- date = {2016-06-24},
- version = {1.6},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/web/c_cpp/cnoweb},
- url = {https://ctan.org/pkg/cnoweb},
-}
-
-@manual{ctan-cntdwn,
- title = {The \texttt{cntdwn} package},
- subtitle = {Support for countdowns, and for clocks in any timezone},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {0.6},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cntdwn},
- url = {https://ctan.org/pkg/cntdwn},
-}
-
-@manual{ctan-cntformats,
- title = {The \texttt{cntformats} package},
- subtitle = {A different way to read counters},
- author = {Clemens Niederberger},
- date = {2017-04-18},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cntformats},
- url = {https://ctan.org/pkg/cntformats},
-}
-
-@manual{ctan-cntperchap,
- title = {The \texttt{cntperchap} package},
- subtitle = {Store counter values per chapter},
- author = {Christian Hupfer},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cntperchap},
- url = {https://ctan.org/pkg/cntperchap},
-}
-
-@manual{ctan-cochineal,
- title = {The \texttt{cochineal} package},
- subtitle = {Cochineal fonts with \LaTeX{} support},
- author = {Michael Sharpe},
- date = {2022-02-16},
- version = {1.077},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/cochineal},
- url = {https://ctan.org/pkg/cochineal},
-}
-
-@manual{ctan-code,
- title = {The \texttt{code} package},
- subtitle = {Typeset "code" in verbatim},
- author = {George Ferguson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/code},
- url = {https://ctan.org/pkg/code},
- annotation = {Uses the package to typeset
- code, and offers alignment and positioning options, as well as the
- possibility of framing the code sample.},
-}
-
-@manual{ctan-code128,
- title = {The \texttt{code128} package},
- subtitle = {Barcode macros for the Code 128 standard},
- author = {Petr Olšák},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/code128},
- url = {https://ctan.org/pkg/code128},
-}
-
-@manual{ctan-codeanatomy,
- title = {The \texttt{codeanatomy} package},
- subtitle = {Typeset code with annotations},
- author = {Hồng-Phúc Bùi},
- date = {2023-01-26},
- version = {0.4-Beta},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/codeanatomy},
- url = {https://ctan.org/pkg/codeanatomy},
-}
-
-@manual{ctan-codebox,
- title = {The \texttt{codebox} package},
- subtitle = {Highlighted source code in a fancy box},
- author = {Nan Geng},
- date = {2022-01-28},
- version = {1.0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/codebox},
- url = {https://ctan.org/pkg/codebox},
-}
-
-@manual{ctan-codedoc,
- title = {The \texttt{codedoc} package},
- subtitle = {\LaTeX{} code and documentation in \LaTeX{}-format file},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/codedoc},
- url = {https://ctan.org/pkg/codedoc},
-}
-
-@manual{ctan-codehigh,
- title = {The \texttt{codehigh} package},
- subtitle = {Highlight code and demos with l3regex and lpeg},
- author = {Jianrui Lyu},
- date = {2023-02-11},
- version = {2023A},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/codehigh},
- url = {https://ctan.org/pkg/codehigh},
- annotation = {This package uses the package
- from the \LaTeX{}3 Programming Layer to parse and highlight
- source code and demos.
- It is more powerful than the
- package, and more easy to use than .
- But it is slower than both of them. Therefore in LuaTeX the package
- provides another way to highlight code:
- using LPeg (Parsing Expression Grammars for Lua). LPeg is much
- more powerful and faster than .},
-}
-
-@manual{ctan-codepage,
- title = {The \texttt{codepage} package},
- subtitle = {Support for variant code pages},
- author = {Alain Aubord},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/codepage},
- url = {https://ctan.org/pkg/codepage},
- annotation = {The package provides a mechanism for inputting non-ASCII text.
- Nowadays, the job is mostly done by the
- package in the \LaTeX{}
- distribution.},
-}
-
-@manual{ctan-codesection,
- title = {The \texttt{codesection} package},
- subtitle = {Provides an environment that may be conditionally included},
- author = {Matthias Pospiech},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/codesection},
- url = {https://ctan.org/pkg/codesection},
-}
-
-@manual{ctan-codicefiscaleitaliano,
- title = {The \texttt{codicefiscaleitaliano} package},
- subtitle = {Test the consistency of the Italian personal Fiscal Code},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/codicefiscaleitaliano},
- url = {https://ctan.org/pkg/codicefiscaleitaliano},
-}
-
-@manual{ctan-coelacanth,
- title = {The \texttt{coelacanth} package},
- subtitle = {Coelacanth fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-30},
- version = {0.005},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/coelacanth},
- url = {https://ctan.org/pkg/coelacanth},
-}
-
-@manual{ctan-coffeestains,
- title = {The \texttt{coffeestains} package},
- subtitle = {Add coffee stains to documents},
- author = {Patrick Bideault},
- date = {2021-06-25},
- version = {0.5.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/coffeestains},
- url = {https://ctan.org/pkg/coffeestains},
-}
-
-@manual{ctan-collcell,
- title = {The \texttt{collcell} package},
- subtitle = {Collect contents of a tabular cell as argument to a macro},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/collcell},
- url = {https://ctan.org/pkg/collcell},
- annotation = {The package provides macros that collect the content of a
- cell, and offer them as an argument to a macro.
- Special care is taken to remove all aligning macros inserted by
- from the cell content. The macros also work in
- the last column of a table, but do not support verbatim material
- inside the cells.},
-}
-
-@manual{ctan-collect,
- title = {The \texttt{collect} package},
- subtitle = {Collect text for later re-use},
- author = {Jonathan Sauer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauerj},
- url = {https://ctan.org/pkg/collect},
-}
-
-@manual{ctan-collectbox,
- title = {The \texttt{collectbox} package},
- subtitle = {Collect and process macro arguments as boxes},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.4c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/collectbox},
- url = {https://ctan.org/pkg/collectbox},
-}
-
-@manual{ctan-collref,
- title = {The \texttt{collref} package},
- subtitle = {Collect blocks of references into a single reference},
- author = {Niklas Beisert},
- date = {2018-01-17},
- version = {2.0c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/collref},
- url = {https://ctan.org/pkg/collref},
- annotation = {The package automatically collects multiple
- references, which always appear in the same sequence
- in , into a single block.},
-}
-
-@manual{ctan-colonequals,
- title = {The \texttt{colonequals} package},
- subtitle = {Colon equals symbols},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/colonequals.dtx},
- url = {https://ctan.org/pkg/colonequals},
-}
-
-@manual{ctan-colophon,
- title = {The \texttt{colophon} package},
- subtitle = {Provides commands for producing a colophon},
- author = {Donald P. Goodman},
- date = {2018-06-03},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colophon},
- url = {https://ctan.org/pkg/colophon},
-}
-
-@manual{ctan-color-edits,
- title = {The \texttt{color-edits} package},
- subtitle = {Colorful edits for multiple authors of a shared document},
- author = {David Kempe},
- date = {2020-10-21},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/color-edits},
- url = {https://ctan.org/pkg/color-edits},
- annotation = {This package provides a fairly light-weight solution
- for annotating \LaTeX{} source code with color to show
- additions/changes, replacements, deletions, and comments.
- This is particularly useful when a document is being
- edited by multiple authors.
-
- Two package options allow the quick suppression of
- all colorful edits and comments, and showing text
- whose deletion was proposed.},
-}
-
-@manual{ctan-color,
- title = {The \texttt{color} package},
- subtitle = {Colour control for \LaTeX{} documents},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.3d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/color},
-}
-
-@manual{ctan-colordoc,
- title = {The \texttt{colordoc} package},
- subtitle = {Coloured syntax highlights in documentation},
- author = {Federico Garcia-De Castro},
- date = {2016-06-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colordoc},
- url = {https://ctan.org/pkg/colordoc},
-}
-
-@manual{ctan-colordvi,
- title = {The \texttt{colordvi} package},
- subtitle = {Simple colour use in Plain \TeX{}},
- author = {Thomas Hafner and Tom Rokicki},
- date = {2016-11-04},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/knuth/local/lib/colordvi.tex},
- url = {https://ctan.org/pkg/colordvi},
-}
-
-@manual{ctan-coloremoji,
- title = {The \texttt{coloremoji} package},
- subtitle = {Style package for directly including color emojis in \LaTeX{} documents},
- author = {Alec Jacobson},
- date = {2018-09-26},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/coloremoji},
- url = {https://ctan.org/pkg/coloremoji},
-}
-
-@manual{ctan-colorframed,
- title = {The \texttt{colorframed} package},
- subtitle = {Fix color problems with the package “framed”},
- author = {Jean-François Burnol},
- date = {2022-10-07},
- version = {0.9b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colorframed},
- url = {https://ctan.org/pkg/colorframed},
- annotation = {This package fixes problems with colour loss that occurres in
- the environments of the
- package.},
-}
-
-@manual{ctan-colorinfo,
- title = {The \texttt{colorinfo} package},
- subtitle = {Retrieve colour model and values for defined colours},
- author = {Rolf Niepraschk},
- date = {2016-06-18},
- version = {0.3c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colorinfo},
- url = {https://ctan.org/pkg/colorinfo},
-}
-
-@manual{ctan-coloring,
- title = {The \texttt{coloring} package},
- subtitle = {Define missing colors by their names},
- author = {Zou Hu},
- date = {2017-04-18},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coloring},
- url = {https://ctan.org/pkg/coloring},
- annotation = {This package makes it possible to define colors automatically
- by their names.
- This can be useful in drawing TikZ pictures
- and designing beamer themes.
- Using the package, you don't need to write
- before using a color.},
-}
-
-@manual{ctan-colorist,
- title = {The \texttt{colorist} package},
- subtitle = {Write your articles or books in a colorful way},
- author = {Jinwen XU},
- date = {2023-03-07},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colorist},
- url = {https://ctan.org/pkg/colorist},
-}
-
-@manual{ctan-colorprofiles,
- title = {The \texttt{colorprofiles} package},
- subtitle = {Collection of free ICC profiles},
- author = {Norbert Preining},
- date = {2018-11-12},
- version = {20181105},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/colorprofiles},
- url = {https://ctan.org/pkg/colorprofiles},
-}
-
-@manual{ctan-colors,
- title = {The \texttt{colors} package},
- subtitle = {Simple colour-selection commands},
- author = {Fred Knight},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/colors.sty},
- url = {https://ctan.org/pkg/colors},
- annotation = {This is another very simple package for supporting colour in \LaTeX{}
- 2.09, for PostScript output via ;
- it has even less ‘infrastructure’ than does the
- package, and like that
- package is nowadays superseded by the \LaTeX{} standard
- package.},
-}
-
-@manual{ctan-colorsep,
- title = {The \texttt{colorsep} package},
- subtitle = {Color separation},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/colorsep},
- url = {https://ctan.org/pkg/colorsep},
- annotation = {Support for colour separation when using
- .},
-}
-
-@manual{ctan-colorspace,
- title = {The \texttt{colorspace} package},
- subtitle = {Provides PDF color spaces},
- author = {Javier Bezos López},
- date = {2019-03-25},
- version = {1.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colorspace},
- url = {https://ctan.org/pkg/colorspace},
-}
-
-@manual{ctan-colortab,
- title = {The \texttt{colortab} package},
- subtitle = {Shade cells of tables and halign},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2018-01-06},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/colortab},
- url = {https://ctan.org/pkg/colortab},
-}
-
-@manual{ctan-colortbl,
- title = {The \texttt{colortbl} package},
- subtitle = {Add colour to \LaTeX{} tables},
- author = {David Carlisle},
- date = {2022-07-31},
- version = {1.0f},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colortbl},
- url = {https://ctan.org/pkg/colortbl},
-}
-
-@manual{ctan-colortex,
- title = {The \texttt{colortex} package},
- subtitle = {Colour facilities for use with \TeX{}},
- author = {Christophe Cérin},
- date = {2016-06-24},
- version = {3.3},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/colortex},
- url = {https://ctan.org/pkg/colortex},
-}
-
-@manual{ctan-colorwav,
- title = {The \texttt{colorwav} package},
- subtitle = {Colours by wavelength of visible light},
- author = {Nick Setzer},
- date = {2018-10-09},
- version = {1.0},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colorwav},
- url = {https://ctan.org/pkg/colorwav},
-}
-
-@manual{ctan-colorweb,
- title = {The \texttt{colorweb} package},
- subtitle = {Extend the color package colour space},
- author = {John E. Beach},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colorweb},
- url = {https://ctan.org/pkg/colorweb},
- annotation = {The package makes the
-
- available to the standard package.},
-}
-
-@manual{ctan-colourchange,
- title = {The \texttt{colourchange} package},
- subtitle = {Colourchange},
- author = {Seamus Bradley},
- date = {2018-01-07},
- version = {1.22},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/colourchange},
- url = {https://ctan.org/pkg/colourchange},
-}
-
-@manual{ctan-combelow,
- title = {The \texttt{combelow} package},
- subtitle = {Typeset "comma-below" letters, as in Romanian},
- author = {Gianluca Pignalberi},
- date = {2016-06-24},
- version = {0.99f},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/combelow},
- url = {https://ctan.org/pkg/combelow},
- annotation = {The package defines a command that positions a comma
- below a letter, as required (for example) in Romanian
- typesetting. The command is robust, but interferes with hyphenation.},
-}
-
-@manual{ctan-combine,
- title = {The \texttt{combine} package},
- subtitle = {Bundle individual documents into a single document},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {0.7a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/combine},
- url = {https://ctan.org/pkg/combine},
- annotation = {The combine class lets you bundle individual documents into a
- single document, such as when preparing a conference
- proceedings. The auxiliary combinet package puts the titles and
- authors from commands into the main
- document's Table of Contents. The package cooperates with the
- and
- packages.},
-}
-
-@manual{ctan-combinedgraphics,
- title = {The \texttt{combinedgraphics} package},
- subtitle = {Include graphic (EPS or PDF)/\LaTeX{} combinations},
- author = {Christian Schneider},
- date = {2016-06-24},
- version = {0.2.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/combinedgraphics},
- url = {https://ctan.org/pkg/combinedgraphics},
- annotation = {This package provides a macro ()
- for the inclusion of combined EPS/\LaTeX{} and PDF/\LaTeX{} graphics (an
- export format of ,
- , and maybe other programs).
- Instead of including the graphics with a simple ,
- the macro has some comforts:},
-}
-
-@manual{ctan-combofont,
- title = {The \texttt{combofont} package},
- subtitle = {Add NFSS-declarations of combo fonts to Lua\LaTeX{} documents},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/combofont},
- url = {https://ctan.org/pkg/combofont},
-}
-
-@manual{ctan-comfortaa,
- title = {The \texttt{comfortaa} package},
- subtitle = {Sans serif font, with \LaTeX{} support},
- author = {Mohamed El Morabity and Johan Aakerlund},
- date = {2019-06-24},
- version = {3.2},
- license = {ofl,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/comfortaa},
- url = {https://ctan.org/pkg/comfortaa},
-}
-
-@manual{ctan-comicneue,
- title = {The \texttt{comicneue} package},
- subtitle = {Use Comic Neue with \TeX{}(-alike) systems},
- author = {Silke Hofstra},
- date = {2020-04-26},
- version = {1.2},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/comicneue},
- url = {https://ctan.org/pkg/comicneue},
-}
-
-@manual{ctan-comicsans,
- title = {The \texttt{comicsans} package},
- subtitle = {Use Microsoft Comic Sans font},
- author = {Scott Pakin},
- date = {2021-09-11},
- version = {1.0g},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/comicsans},
- url = {https://ctan.org/pkg/comicsans},
-}
-
-@manual{ctan-comma,
- title = {The \texttt{comma} package},
- subtitle = {Formats a number by inserting commas},
- author = {David Carlisle},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/comma},
- url = {https://ctan.org/pkg/comma},
-}
-
-@manual{ctan-commado,
- title = {The \texttt{commado} package},
- subtitle = {Expandable iteration on comma-separated and filename lists},
- author = {Uwe Lück},
- date = {2017-05-05},
- version = {r0.11a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/commado},
- url = {https://ctan.org/pkg/commado},
-}
-
-@manual{ctan-commath,
- title = {The \texttt{commath} package},
- subtitle = {Mathematics typesetting support},
- author = {Wolfgang Putschögl},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/commath},
- url = {https://ctan.org/pkg/commath},
- annotation = {Provides a range of differential, partial differential and
- delimiter commands, together with a
- (function, with both domain and range, and function operation) and
- various reference commands.},
-}
-
-@manual{ctan-commedit,
- title = {The \texttt{commedit} package},
- subtitle = {Commented editions with \LaTeX{}},
- author = {Boris Veytsman},
- date = {2019-02-26},
- version = {1.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/commedit},
- url = {https://ctan.org/pkg/commedit},
-}
-
-@manual{ctan-comment-pln,
- title = {The \texttt{comment-pln} package},
- subtitle = {Comment macros for use in Plain \TeX{}},
- author = {Jason Alexander},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/comment.tex},
- url = {https://ctan.org/pkg/comment-pln},
- annotation = {Defines macros and such
- that everything between the two is ignored.},
-}
-
-@manual{ctan-comment,
- title = {The \texttt{comment} package},
- subtitle = {Selectively include/exclude portions of text},
- author = {Victor Eijkhout},
- date = {2022-09-26},
- version = {3.8},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/comment},
- url = {https://ctan.org/pkg/comment},
-}
-
-@manual{ctan-comment_io,
- title = {The \texttt{comment\_io} package},
- subtitle = {A Python script to comment and uncomment lines},
- author = {Carl Martin Henrik Larsson},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/comment_io},
- url = {https://ctan.org/pkg/comment_io},
-}
-
-@manual{ctan-committee-font,
- title = {The \texttt{committee-font} package},
- subtitle = {A font designed by a committee},
- author = {{Unknown}},
- date = {2016-07-19},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/unsupported/committee},
- url = {https://ctan.org/pkg/committee-font},
-}
-
-@manual{ctan-commonunicode,
- title = {The \texttt{commonunicode} package},
- subtitle = {Convert common unicode symbols to \LaTeX{} code},
- author = {Pablo Pizarro R.},
- date = {2022-04-06},
- version = {1.0.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/commonunicode},
- url = {https://ctan.org/pkg/commonunicode},
-}
-
-@manual{ctan-commutative-diagrams,
- title = {The \texttt{commutative-diagrams} package},
- subtitle = {CoDi: Commutative Diagrams for \TeX{}},
- author = {Paolo Brasolin},
- date = {2020-06-12},
- version = {1.0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/commutative-diagrams},
- url = {https://ctan.org/pkg/commutative-diagrams},
- annotation = {This package provides a library
- for making commutative diagrams easy to design, parse and tweak.},
-}
-
-@manual{ctan-comp-fonts-faq,
- title = {The \texttt{comp-fonts-FAQ} package},
- subtitle = {Frequently Asked Questions from comp.fonts},
- author = {Norman Walsh},
- date = {2016-06-24},
- version = {2.1.5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/help/comp-fonts-FAQ},
- url = {https://ctan.org/pkg/comp-fonts-faq},
-}
-
-@manual{ctan-compact-symbols,
- title = {The \texttt{compact-symbols} package},
- subtitle = {Compact lists of symbols},
- author = {Emre Sermutlu},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/info/symbols/compact},
- url = {https://ctan.org/pkg/compact-symbols},
-}
-
-@manual{ctan-compactbib,
- title = {The \texttt{compactbib} package},
- subtitle = {Multiple thebibliography environments},
- author = {Antoine Lejay},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/compactbib},
- url = {https://ctan.org/pkg/compactbib},
-}
-
-@manual{ctan-compare,
- title = {The \texttt{compare} package},
- subtitle = {Compare two strings},
- author = {Éamonn McManus},
- date = {2020-04-11},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/misc/compare.tex},
- url = {https://ctan.org/pkg/compare},
- annotation = {The file defines a macro , which takes two
- arguments; the macro expands to -1, 0, 1, according as the first
- argument is less than, equal to, or greater than the second
- argument. Sorting is alphabetic, using ASCII collating order.},
-}
-
-@manual{ctan-competences,
- title = {The \texttt{competences} package},
- subtitle = {Track skills of classroom checks},
- author = {Christophe Bares},
- date = {2018-05-05},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/competences},
- url = {https://ctan.org/pkg/competences},
-}
-
-@manual{ctan-complexity,
- title = {The \texttt{complexity} package},
- subtitle = {Computational complexity class names},
- author = {Chris Bourke},
- date = {2017-09-16},
- version = {0.81a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/complexity},
- url = {https://ctan.org/pkg/complexity},
-}
-
-@manual{ctan-components,
- title = {The \texttt{components} package},
- subtitle = {Components of \TeX{}},
- author = {Joachim Schrod},
- date = {2022-05-01},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/components-of-TeX},
- url = {https://ctan.org/pkg/components},
-}
-
-@manual{ctan-comprehensive,
- title = {The \texttt{The Comprehensive \LaTeX{} Symbol List} package},
- subtitle = {Symbols accessible from \LaTeX{}},
- author = {Scott Pakin},
- date = {2021-05-06},
- version = {14.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/symbols/comprehensive},
- url = {https://ctan.org/pkg/comprehensive},
-}
-
-@manual{ctan-compsci,
- title = {The \texttt{compsci} package},
- subtitle = {Document (LaTeX) programming with \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/compsci},
-}
-
-@manual{ctan-computational-complexity,
- title = {The \texttt{computational-complexity} package},
- subtitle = {Class for the journal Computational Complexity},
- author = {Michael Nüsken},
- date = {2016-06-24},
- version = {2.25f},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/computational-complexity},
- url = {https://ctan.org/pkg/computational-complexity},
-}
-
-@manual{ctan-computer-typesetting-using-latex,
- title = {The \texttt{computer-typesetting-using-latex} package},
- subtitle = {Content of the book Computer Typesetting Using \LaTeX{}},
- author = {Evgeny Baldin},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/russian/Computer_Typesetting_Using_LaTeX},
- url = {https://ctan.org/pkg/computer-typesetting-using-latex},
-}
-
-@manual{ctan-concepts,
- title = {The \texttt{concepts} package},
- subtitle = {Keeping track of formal ‘concepts’ for a particular field},
- author = {Michiel Helvensteijn},
- date = {2021-03-01},
- version = {0.0.5-r1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/concepts},
- url = {https://ctan.org/pkg/concepts},
-}
-
-@manual{ctan-concmath-fonts,
- title = {The \texttt{concmath-fonts} package},
- subtitle = {Concrete mathematics fonts},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/concmath},
- url = {https://ctan.org/pkg/concmath-fonts},
- annotation = {The fonts are derived from the computer modern mathematics fonts
- and from Knuth's
- fonts; they are distributed as Metafont source. \LaTeX{} support is
- offered by the package.},
-}
-
-@manual{ctan-concmath-otf,
- title = {The \texttt{concmath-otf} package},
- subtitle = {Concrete based OpenType Math font},
- author = {Daniel Flipo},
- date = {2023-01-30},
- version = {0.25},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/concmath-otf},
- url = {https://ctan.org/pkg/concmath-otf},
-}
-
-@manual{ctan-concmath,
- title = {The \texttt{concmath} package},
- subtitle = {Concrete Math fonts},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/concmath},
- url = {https://ctan.org/pkg/concmath},
- annotation = {A \LaTeX{} package and font definition files to access the
- fonts,
- which were derived from Computer Modern math fonts using
- parameters from Concrete Roman text fonts.},
-}
-
-@manual{ctan-concprog,
- title = {The \texttt{concprog} package},
- subtitle = {Concert programmes},
- author = {Andrej Brodnik},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/concprog},
- url = {https://ctan.org/pkg/concprog},
-}
-
-@manual{ctan-concrete-macros,
- title = {The \texttt{concrete-macros} package},
- subtitle = {Consistent text and maths using concrete fonts},
- author = {Jim Hefferon},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/concrete.sty},
- url = {https://ctan.org/pkg/concrete-macros},
- annotation = {Aspiring users of Knuth’s concrete fonts are often
- recommended to use the and
- packages for consistent text and
- mathematics setting. This package loads both.},
-}
-
-@manual{ctan-concrete,
- title = {The \texttt{concrete} package},
- subtitle = {Concrete Roman fonts},
- author = {Donald E. Knuth},
- date = {2022-02-01},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/concrete},
- url = {https://ctan.org/pkg/concrete},
-}
-
-@manual{ctan-conditext,
- title = {The \texttt{CondiTeXt} package},
- subtitle = {Define and manage conditional content},
- author = {Jean-Louis Brabant},
- date = {2020-06-06},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/conditext},
- url = {https://ctan.org/pkg/conditext},
-}
-
-@manual{ctan-confproc,
- title = {The \texttt{confproc} package},
- subtitle = {A set of tools for generating conference proceedings},
- author = {Vincent Verfaille},
- date = {2018-01-06},
- version = {0.8},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/conferences/confproc},
- url = {https://ctan.org/pkg/confproc},
- annotation = {The confproc collection comprises a class, a BibTeX style, and
- some scripts for generating conference proceedings. It derives from
- \LaTeX{} scripts written for the DAFx-06 conference proceedings,
- largely based on the
- package for including the proceedings papers and the
- package for creating a
- proper table of contents, bookmarks and general bibliography
- back-references. Confproc also uses many other packages for fine tuning
- of the table of contents, bibliography and index of authors. The
- added value of the class resides in its time-saving aspects when
- designing conference proceedings.},
-}
-
-@manual{ctan-consdiag,
- title = {The \texttt{consdiag} package},
- subtitle = {A utility for OO programming documentation},
- author = {Manuel Gutierrez Algaba},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/consdiag},
- url = {https://ctan.org/pkg/consdiag},
-}
-
-@manual{ctan-constants,
- title = {The \texttt{constants} package},
- subtitle = {Automatic numbering of constants},
- author = {Antoine Lejay},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/constants},
- url = {https://ctan.org/pkg/constants},
-}
-
-@manual{ctan-conteq,
- title = {The \texttt{conteq} package},
- subtitle = {Typeset multiline continued equalities},
- author = {Joachim Breitner},
- date = {2017-04-18},
- version = {0.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/conteq},
- url = {https://ctan.org/pkg/conteq},
-}
-
-@manual{ctan-context-account,
- title = {The \texttt{context-account} package},
- subtitle = {A simple accounting package},
- author = {Wolfgang Schuster},
- date = {2018-01-06},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-account},
- url = {https://ctan.org/pkg/context-account},
-}
-
-@manual{ctan-context-algorithmic,
- title = {The \texttt{context-algorithmic} package},
- subtitle = {Algorithm handling in ConTeXt},
- author = {Wolfgang Schuster},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-algorithmic},
- url = {https://ctan.org/pkg/context-algorithmic},
- annotation = {Support for typesetting algorithms (a port of the \LaTeX{}
- package , which was a predecessor of
- ).},
-}
-
-@manual{ctan-context-animation,
- title = {The \texttt{context-animation} package},
- subtitle = {Generate fieldstack based animation with ConTeXt},
- author = {Wolfgang Schuster},
- date = {2018-08-11},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-animation},
- url = {https://ctan.org/pkg/context-animation},
- annotation = {The package is a port, to
- (mkvi), of the corresponding},
-}
-
-@manual{ctan-context-annotation,
- title = {The \texttt{context-annotation} package},
- subtitle = {Annotate text blocks},
- author = {Wolfgang Schuster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-annotation},
- url = {https://ctan.org/pkg/context-annotation},
- annotation = {The module lets you create your own commands
- and environments to mark text blocks.},
-}
-
-@manual{ctan-context-bnf,
- title = {The \texttt{context-bnf} package},
- subtitle = {A BNF module for ConTeXt},
- author = {Nikolai Weibull},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-bnf},
- url = {https://ctan.org/pkg/context-bnf},
-}
-
-@manual{ctan-context-chromato,
- title = {The \texttt{context-chromato} package},
- subtitle = {ConTeXt macros for chromatograms},
- author = {Peter Münster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-chromato},
- url = {https://ctan.org/pkg/context-chromato},
-}
-
-@manual{ctan-context-cmscbf,
- title = {The \texttt{context-cmscbf} package},
- subtitle = {Use Computer Modern bold Caps and Small-caps in ConTeXt},
- author = {Peter Münster},
- date = {2017-11-12},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-cmscbf},
- url = {https://ctan.org/pkg/context-cmscbf},
- annotation = {The module makes provision for bold caps and small caps CM fonts,
- in ConTeXt. Such a font may be found in the Computer Modern
- .},
-}
-
-@manual{ctan-context-cmttbf,
- title = {The \texttt{ConTeXt-cmttbf} package},
- subtitle = {Use Computer Modern Typewriter bold font in ConTeXt},
- author = {Peter Münster},
- date = {2017-11-12},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-cmttbf},
- url = {https://ctan.org/pkg/context-cmttbf},
- annotation = {The module makes provision for bold typewriter CM fonts,
- in ConTeXt. Such a font may be found in the Computer Modern
- .},
-}
-
-@manual{ctan-context-construction-plan,
- title = {The \texttt{context-construction-plan} package},
- subtitle = {Construction plans in ConTeXt},
- author = {Peter Münster},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-construction-plan},
- url = {https://ctan.org/pkg/context-construction-plan},
-}
-
-@manual{ctan-context-cyrillicnumbers,
- title = {The \texttt{context-cyrillicnumbers} package},
- subtitle = {Write numbers as cyrillic glyphs},
- author = {Philipp Gesang},
- date = {2016-06-24},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-cyrillicnumbers},
- url = {https://ctan.org/pkg/context-cyrillicnumbers},
-}
-
-@manual{ctan-context-degrade,
- title = {The \texttt{context-degrade} package},
- subtitle = {Degrading JPEG images in ConTeXt},
- author = {Peter Münster},
- date = {2016-06-18},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-degrade},
- url = {https://ctan.org/pkg/context-degrade},
-}
-
-@manual{ctan-context-fancybreak,
- title = {The \texttt{context-fancybreak} package},
- subtitle = {Overfull pages with ConTeXt},
- author = {Wolfgang Schuster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-fancybreak},
- url = {https://ctan.org/pkg/context-fancybreak},
-}
-
-@manual{ctan-context-filter,
- title = {The \texttt{context-filter} package},
- subtitle = {Run external programs on the contents of a start-stop environment},
- author = {Aditya Mahajan},
- date = {2022-02-18},
- version = {},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-filter},
- url = {https://ctan.org/pkg/context-filter},
-}
-
-@manual{ctan-context-fixme,
- title = {The \texttt{context-fixme} package},
- subtitle = {Make editorial marks on a document},
- author = {Wolfgang Schuster},
- date = {2016-10-22},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/obsolete/macros/context/contrib/context-fixme},
- url = {https://ctan.org/pkg/context-fixme},
-}
-
-@manual{ctan-context-french,
- title = {The \texttt{context-french} package},
- subtitle = {Support for writing French in ConTeXt},
- author = {Peter Münster},
- date = {2020-03-09},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-french},
- url = {https://ctan.org/pkg/context-french},
-}
-
-@manual{ctan-context-fullpage,
- title = {The \texttt{context-fullpage} package},
- subtitle = {Overfull pages with ConTeXt},
- author = {Wolfgang Schuster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-fullpage},
- url = {https://ctan.org/pkg/context-fullpage},
- annotation = {The (ConTeXt) module copies the functionality of the
- , and adds a styling
- parameter, given in the command},
-}
-
-@manual{ctan-context-gantt,
- title = {The \texttt{context-gantt} package},
- subtitle = {GANTT module for ConTeXt},
- author = {Adam Reviczky and Aditya Mahajan},
- date = {2018-08-11},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-gantt},
- url = {https://ctan.org/pkg/context-gantt},
-}
-
-@manual{ctan-context-gnuplot,
- title = {The \texttt{ConTeXt-gnuplot} package},
- subtitle = {Inclusion of Gnuplot graphs in ConTeXt},
- author = {Mojca Miklavec and Hans Hagen and Taco Hoekwater},
- date = {2017-04-18},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-gnuplot},
- url = {https://ctan.org/pkg/context-gnuplot},
- annotation = {Enables simple creation and inclusion of graphs with
- . The package writes a script
- into temporary file, runs Gnuplot and includes the resulting
- graphic directly into the document. See the ConTeXt Garden
-
- for further details.},
-}
-
-@manual{ctan-context-handlecsv,
- title = {The \texttt{context-handlecsv} package},
- subtitle = {Data merging for automatic document creation},
- author = {Jaroslav Hajtmar and Pablo Rodríguez},
- date = {2019-06-03},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-handlecsv},
- url = {https://ctan.org/pkg/context-handlecsv},
-}
-
-@manual{ctan-context-inifile,
- title = {The \texttt{context-inifile} package},
- subtitle = {An ini-file pretty-printer, using ConTeXt},
- author = {Peter Münster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-inifile},
- url = {https://ctan.org/pkg/context-inifile},
-}
-
-@manual{ctan-context-layout,
- title = {The \texttt{context-layout} package},
- subtitle = {Show ConTeXt layouts},
- author = {Patrick Gundlach},
- date = {2018-01-07},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-layout},
- url = {https://ctan.org/pkg/context-layout},
-}
-
-@manual{ctan-context-letter,
- title = {The \texttt{context-letter} package},
- subtitle = {ConTeXt package for writing letters},
- author = {Wolfgang Schuster},
- date = {2021-10-17},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-letter},
- url = {https://ctan.org/pkg/context-letter},
-}
-
-@manual{ctan-context-lettrine,
- title = {The \texttt{context-lettrine} package},
- subtitle = {A ConTeXt implementation of lettrines},
- author = {Taco Hoekwater and Daniel Flipo},
- date = {2018-08-11},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-lettrine},
- url = {https://ctan.org/pkg/context-lettrine},
- annotation = {This is a re-implementation of the \LaTeX{} package
- .},
-}
-
-@manual{ctan-context-lilypond,
- title = {The \texttt{context-lilypond} package},
- subtitle = {Lilypond code in ConTeXt},
- author = {Christopher Creutzig},
- date = {2016-10-22},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/macros/context/contrib/context-lilypond},
- url = {https://ctan.org/pkg/context-lilypond},
-}
-
-@manual{ctan-context-mathsets,
- title = {The \texttt{context-mathsets} package},
- subtitle = {Set notation in ConTeXt},
- author = {Aditya Mahajan},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-mathsets},
- url = {https://ctan.org/pkg/context-mathsets},
-}
-
-@manual{ctan-context-notes-zh-cn,
- title = {The \texttt{context-notes-zh-cn} package},
- subtitle = {Notes on using ConTeXt MkIV},
- author = {Yanrui Li},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/context-notes-zh-cn},
- url = {https://ctan.org/pkg/context-notes-zh-cn},
-}
-
-@manual{ctan-context-rst,
- title = {The \texttt{context-rst} package},
- subtitle = {Process reStructuredText with ConTeXt},
- author = {Philipp Gesang},
- date = {2018-08-11},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-rst},
- url = {https://ctan.org/pkg/context-rst},
-}
-
-@manual{ctan-context-ruby,
- title = {The \texttt{context-ruby} package},
- subtitle = {Ruby annotations in ConTeXt},
- author = {Wolfgang Schuster},
- date = {2018-08-11},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-ruby},
- url = {https://ctan.org/pkg/context-ruby},
- annotation = {Ruby markup (aka furigana in Japan) are inline annotations above
- or below a word to indicate the reading of ideographic characters.
- The module implements the
-
- in ConTeXt. The position and layout of the base text and the ruby
- text can becontrolled by parameters.},
-}
-
-@manual{ctan-context-sgf,
- title = {The \texttt{context-sgf} package},
- subtitle = {A Go system in ConTeXt},
- author = {Zhichu Chen and Wolfgang Schuster},
- date = {2016-10-20},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/obsolete/macros/context/contrib/context-sgf},
- url = {https://ctan.org/pkg/context-sgf},
-}
-
-@manual{ctan-context-simplefonts,
- title = {The \texttt{context-simplefonts} package},
- subtitle = {Simplified font usage for ConTeXt},
- author = {Wolfgang Schuster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-simplefonts},
- url = {https://ctan.org/pkg/context-simplefonts},
-}
-
-@manual{ctan-context-simpleslides,
- title = {The \texttt{context-simpleslides} package},
- subtitle = {A module for preparing presentations},
- author = {Aditya Mahajan and Thomas A. Schmitz},
- date = {2022-07-15},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-simpleslides},
- url = {https://ctan.org/pkg/context-simpleslides},
-}
-
-@manual{ctan-context-taspresent,
- title = {The \texttt{context-taspresent} package},
- subtitle = {Simple presentations using ConTeXt},
- author = {Thomas A. Schmitz},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/obsolete/macros/context/contrib/context-taspresent},
- url = {https://ctan.org/pkg/context-taspresent},
-}
-
-@manual{ctan-context-title,
- title = {The \texttt{context-title} package},
- subtitle = {Place document titles},
- author = {Wolfgang Schuster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-title},
- url = {https://ctan.org/pkg/context-title},
- annotation = {The module provides the command
- to put a title block into your document. With the command
- values can be set for and change the formatting of the content.},
-}
-
-@manual{ctan-context-top-ten,
- title = {The \texttt{context-top-ten} package},
- subtitle = {The "top ten" ConTeXt commands},
- author = {Chris Corsair},
- date = {2016-06-24},
- version = {32},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/context-top-ten},
- url = {https://ctan.org/pkg/context-top-ten},
- annotation = {This is an introductory document on ConTeXt. In the beginning of
- the
- ,
- Hans Hagen lists the ten most frequently used groups of commands.
- This short document explains these commands in some detail; it is
- structured as a presentation.},
-}
-
-@manual{ctan-context-transliterator,
- title = {The \texttt{context-transliterator} package},
- subtitle = {Transliterate text from ‘other’ alphabets},
- author = {Philipp Gesang},
- date = {2016-06-24},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-transliterator},
- url = {https://ctan.org/pkg/context-transliterator},
-}
-
-@manual{ctan-context-typearea,
- title = {The \texttt{context-typearea} package},
- subtitle = {Something like Koma-Script typearea},
- author = {Peter Münster},
- date = {2018-08-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-typearea},
- url = {https://ctan.org/pkg/context-typearea},
- annotation = {The module provides a command that calculates the page layout as
- the \LaTeX{} package does.},
-}
-
-@manual{ctan-context-typescripts,
- title = {The \texttt{context-typescripts} package},
- subtitle = {Small modules to load various fonts for use in ConTeXt},
- author = {Wolfgang Schuster},
- date = {2021-09-03},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-typescripts},
- url = {https://ctan.org/pkg/context-typescripts},
- annotation = {The package provides files offering interfaces to 33 publicly
- available fonts (or collections of fonts from the same foundry);
- each is available in a and a version.},
-}
-
-@manual{ctan-context-urwgaramond,
- title = {The \texttt{context-URWGaramond} package},
- subtitle = {ConTeXt support for URW Garamond font},
- author = {Peter Münster},
- date = {2018-08-11},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-urwgaramond},
- url = {https://ctan.org/pkg/context-urwgaramond},
- annotation = {The required may
- also be found on CTAN.},
-}
-
-@manual{ctan-context-urwgothic,
- title = {The \texttt{context-URWGothic} package},
- subtitle = {ConTeXt support for URW Gothic},
- author = {Taco Hoekwater},
- date = {2022-03-22},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-urwgothic},
- url = {https://ctan.org/pkg/context-urwgothic},
-}
-
-@manual{ctan-context-vim,
- title = {The \texttt{context-vim} package},
- subtitle = {Generate ConTeXt syntax highlighting code from vim},
- author = {Aditya Mahajan and Mojca Miklavec},
- date = {2022-02-18},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-vim},
- url = {https://ctan.org/pkg/context-vim},
-}
-
-@manual{ctan-context-visualcounter,
- title = {The \texttt{context-visualcounter} package},
- subtitle = {Visual display of ConTeXt counters},
- author = {Aditya Mahajan},
- date = {2018-08-11},
- version = {},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/macros/context/contrib/context-visualcounter},
- url = {https://ctan.org/pkg/context-visualcounter},
-}
-
-@manual{ctan-context,
- title = {The \texttt{context} package},
- subtitle = {The ConTeXt macro package},
- author = {Hans Hagen},
- date = {2020-05-23},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/context/latest},
- url = {https://ctan.org/pkg/context},
- annotation = {A full featured, parameter driven macro package, which fully
- supports advanced interactive documents. See the
-
- for a wealth of support information.},
-}
-
-@manual{ctan-continue,
- title = {The \texttt{continue} package},
- subtitle = {Prints ‘continuation’ marks on pages of multipage documents},
- author = {Peter R. Wilson and Will Robertson},
- date = {2019-01-11},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/continue},
- url = {https://ctan.org/pkg/continue},
-}
-
-@manual{ctan-contour,
- title = {The \texttt{contour} package},
- subtitle = {Print a coloured contour around text},
- author = {Harald Harders and Morten Høgholm},
- date = {2019-03-12},
- version = {2.14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/contour},
- url = {https://ctan.org/pkg/contour},
-}
-
-@manual{ctan-contracard,
- title = {The \texttt{contracard} package},
- subtitle = {Generate calling cards for dances},
- author = {Sam Whited},
- date = {2019-03-03},
- version = {2.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/contracard},
- url = {https://ctan.org/pkg/contracard},
-}
-
-@manual{ctan-conv-xkv,
- title = {The \texttt{conv-xkv} package},
- subtitle = {Create new key-value syntax},
- author = {Donald P. Story},
- date = {2017-03-20},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/conv-xkv},
- url = {https://ctan.org/pkg/conv-xkv},
-}
-
-@manual{ctan-convbkmk,
- title = {The \texttt{convbkmk} package},
- subtitle = {Correct platex/uplatex bookmarks in PDF created with hyperref},
- author = {Takuji Tanaka},
- date = {2018-11-25},
- version = {0.30},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/convbkmk},
- url = {https://ctan.org/pkg/convbkmk},
- annotation = {The package provides a small script that corrects
- bookmarks in PDF files created by
- /, using
- .},
-}
-
-@manual{ctan-convert,
- title = {The \texttt{convert} package},
- subtitle = {Generate Knuthian encoding for text files},
- author = {Bernd Raichle},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/convert},
- url = {https://ctan.org/pkg/convert},
- annotation = {Convert a file in an 8-bit character set to one that uses
- Knuth’s notation for non-ASCII characters.},
-}
-
-@manual{ctan-cooking-units,
- title = {The \texttt{cooking-units} package},
- subtitle = {Typeset and convert units for cookery books and recipes},
- author = {Ben Vitecek},
- date = {2022-12-11},
- version = {3.00},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cooking-units},
- url = {https://ctan.org/pkg/cooking-units},
-}
-
-@manual{ctan-cooking,
- title = {The \texttt{cooking} package},
- subtitle = {Typeset recipes},
- author = {Axel Reichert},
- date = {2016-06-24},
- version = {0.9b},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cooking},
- url = {https://ctan.org/pkg/cooking},
-}
-
-@manual{ctan-cookingsymbols,
- title = {The \texttt{cookingsymbols} package},
- subtitle = {Symbols for recipes},
- author = {Sven Harder},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cookingsymbols},
- url = {https://ctan.org/pkg/cookingsymbols},
-}
-
-@manual{ctan-cookybooky,
- title = {The \texttt{cookybooky} package},
- subtitle = {A \LaTeX{} based package to easily typeset some professional looking cooking recipes},
- author = {Jürgen Gilg},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cookybooky},
- url = {https://ctan.org/pkg/cookybooky},
-}
-
-@manual{ctan-cool,
- title = {The \texttt{cool} package},
- subtitle = {COntent-Oriented \LaTeX{}},
- author = {Nick Setzer},
- date = {2018-10-09},
- version = {1.35},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cool},
- url = {https://ctan.org/pkg/cool},
-}
-
-@manual{ctan-coolfn,
- title = {The \texttt{coolfn} package},
- subtitle = {Typeset long legal footnotes},
- author = {Elijah Z Granet},
- date = {2023-02-27},
- version = {1.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coolfn},
- url = {https://ctan.org/pkg/coolfn},
-}
-
-@manual{ctan-coollist,
- title = {The \texttt{coollist} package},
- subtitle = {Manipulate COntent Oriented \LaTeX{} Lists},
- author = {Nick Setzer},
- date = {2022-06-12},
- version = {1.4},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coollist},
- url = {https://ctan.org/pkg/coollist},
-}
-
-@manual{ctan-coolstr,
- title = {The \texttt{coolstr} package},
- subtitle = {String manipulation in \LaTeX{}},
- author = {Nick Setzer},
- date = {2016-06-24},
- version = {2.2},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coolstr},
- url = {https://ctan.org/pkg/coolstr},
-}
-
-@manual{ctan-coolthms,
- title = {The \texttt{coolthms} package},
- subtitle = {Reference items in a theorem environment},
- author = {Michael Fütterer and Jonathan Zachhuber},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coolthms},
- url = {https://ctan.org/pkg/coolthms},
-}
-
-@manual{ctan-cooltooltips,
- title = {The \texttt{cooltooltips} package},
- subtitle = {Associate a pop-up window and tooltip with PDF hyperlinks},
- author = {Scott Pakin},
- date = {2021-08-09},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cooltooltips},
- url = {https://ctan.org/pkg/cooltooltips},
- annotation = {The cooltooltips package enables a document to contain hyperlinks
- that pop up a brief tooltip when the mouse moves over them and
- also open a small window containing additional text. cooltooltips
- provides the mechanism used by the
- to indicate the
- question that each hyperlink answers.},
-}
-
-@manual{ctan-coop-writing,
- title = {The \texttt{coop-writing} package},
- subtitle = {Support for Cooperative Writing and editorial comments},
- author = {Geraldo Xexéo},
- date = {2022-01-25},
- version = {1.2.4},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coop-writing},
- url = {https://ctan.org/pkg/coop-writing},
-}
-
-@manual{ctan-cooperhewitt,
- title = {The \texttt{cooperhewitt} package},
- subtitle = {LaTeX, pdfLaTeX, \XeLaTeX{} and Lua\LaTeX{} support for the Cooper Hewitt family of sans serif fonts},
- author = {Bob Tennent},
- date = {2022-11-03},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/cooperhewitt},
- url = {https://ctan.org/pkg/cooperhewitt},
-}
-
-@manual{ctan-coordsys,
- title = {The \texttt{coordsys} package},
- subtitle = {Draw cartesian coordinate systems},
- author = {Mogens Lemvig Hansen},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coordsys},
- url = {https://ctan.org/pkg/coordsys},
-}
-
-@manual{ctan-copac-clean,
- title = {The \texttt{copac-clean} package},
- subtitle = {Automatic editing of Copac/BibTeX records},
- author = {Guido Milanese},
- date = {2018-01-06},
- version = {0.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/copac-clean},
- url = {https://ctan.org/pkg/copac-clean},
-}
-
-@manual{ctan-coptic,
- title = {The \texttt{coptic} package},
- subtitle = {Coptic Fonts},
- author = {Serge Rosmorduc},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/coptic/rosmorduc},
- url = {https://ctan.org/pkg/coptic},
-}
-
-@manual{ctan-copyedit,
- title = {The \texttt{copyedit} package},
- subtitle = {Copyediting support for \LaTeX{} documents},
- author = {C. V. Radhakrishnan and C. V. Rajagopal and SK Venkatesan},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/copyedit},
- url = {https://ctan.org/pkg/copyedit},
-}
-
-@manual{ctan-copypaste,
- title = {The \texttt{copypaste} package},
- subtitle = {Copy and paste into and across documents},
- author = {Eduardo C. Lourenço de Lima},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/copypaste},
- url = {https://ctan.org/pkg/copypaste},
-}
-
-@manual{ctan-copyrightbox,
- title = {The \texttt{copyrightbox} package},
- subtitle = {Provide copyright notices for images in a document},
- author = {Ives van der Flaas},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/copyrightbox},
- url = {https://ctan.org/pkg/copyrightbox},
- annotation = {The package command
- ,
- which places the as a copyright notice relating to
- the matter created by the .},
-}
-
-@manual{ctan-corelfonts,
- title = {The \texttt{corelfonts} package},
- subtitle = {An installation script for Corel Ventura fonts},
- author = {Tony McClelland},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/utilities/corelfonts},
- url = {https://ctan.org/pkg/corelfonts},
-}
-
-@manual{ctan-corelpak-contrib,
- title = {The \texttt{corelpak-contrib} package},
- subtitle = {Manage Corel-distributed fonts},
- author = {Karsten Tinnefeld},
- date = {2020-12-17},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/psfonts/corelpak-contrib},
- url = {https://ctan.org/pkg/corelpak-contrib},
-}
-
-@manual{ctan-corelpak,
- title = {The \texttt{corelpak} package},
- subtitle = {Metrics, etc., for fonts distributed with Corel products},
- author = {J Woch},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/psfonts/corelpak},
- url = {https://ctan.org/pkg/corelpak},
-}
-
-@manual{ctan-cormorantgaramond,
- title = {The \texttt{CormorantGaramond} package},
- subtitle = {Cormorant Garamond family of fonts},
- author = {Bob Tennent},
- date = {2022-09-16},
- version = {3.601},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/cormorantgaramond},
- url = {https://ctan.org/pkg/cormorantgaramond},
-}
-
-@manual{ctan-correctmathalign,
- title = {The \texttt{correctmathalign} package},
- subtitle = {Correct spacing of the alignment in expressions},
- author = {Yuwsuke Kieda},
- date = {2018-01-07},
- version = {1.1},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/correctmathalign},
- url = {https://ctan.org/pkg/correctmathalign},
-}
-
-@manual{ctan-corrects,
- title = {The \texttt{corrects} package},
- subtitle = {Macros for marking correction sheets},
- author = {Mike Piff and Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/corrects},
- url = {https://ctan.org/pkg/corrects},
-}
-
-@manual{ctan-corridx-latex,
- title = {The \texttt{corridx-latex} package},
- subtitle = {Correct index entries for chemical compounds},
- author = {Johannes K. Fink},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/corridx},
- url = {https://ctan.org/pkg/corridx-latex},
- annotation = {The names of chemical compounds often have prefixes that do not
- contribute to the alphabetic sorting of the corresponding index
- entry. This drawback can be curcumvented by introducing sort keys
- into the index entry; the corridx package does this automatically.
- This package replaces the old Pascal program
- .},
-}
-
-@manual{ctan-corridx-obsolete,
- title = {The \texttt{corridx-obsolete} package},
- subtitle = {Add index entries to \LaTeX{} document},
- author = {Johannes K. Fink},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/indexing/corridx},
- url = {https://ctan.org/pkg/corridx-obsolete},
-}
-
-@manual{ctan-coseoul,
- title = {The \texttt{coseoul} package},
- subtitle = {Context sensitive outline elements},
- author = {Michael Teubner},
- date = {2017-05-01},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coseoul},
- url = {https://ctan.org/pkg/coseoul},
- annotation = {The package provides “relative” commands that may
- be used in place
- of , , etc. The documentation
- shows a number of document-management scenarios in which such
- commands are valuable.},
-}
-
-@manual{ctan-count1to,
- title = {The \texttt{count1to} package},
- subtitle = {Make use of count1 to count9},
- author = {Martin Schröder and Marei Peischl},
- date = {2020-11-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ms},
- url = {https://ctan.org/pkg/count1to},
-}
-
-@manual{ctan-countriesofeurope,
- title = {The \texttt{countriesofeurope} package},
- subtitle = {A font with the images of the countries of Europe},
- author = {Ingo Zimmermann and Herbert Voß and Rolf Niepraschk},
- date = {2019-10-03},
- version = {0.23},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/countriesofeurope},
- url = {https://ctan.org/pkg/countriesofeurope},
-}
-
-@manual{ctan-counttexruns,
- title = {The \texttt{counttexruns} package},
- subtitle = {Count compilations of a document},
- author = {Robin Schneider},
- date = {2016-06-24},
- version = {1.00a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/counttexruns},
- url = {https://ctan.org/pkg/counttexruns},
- annotation = {The package counts how often a \LaTeX{} document is compiled, keeping
- the data in an external file. To print the count, can use the
- macro .},
-}
-
-@manual{ctan-courier-scaled,
- title = {The \texttt{courier scaled} package},
- subtitle = {Provides a scaled Courier font},
- author = {Herbert Schulz},
- date = {2016-06-24},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/fonts/psfonts/courier-scaled},
- url = {https://ctan.org/pkg/courier-scaled},
-}
-
-@manual{ctan-courier,
- title = {The \texttt{Courier} package},
- subtitle = {Adobe Type 1 “free” copies of Courier},
- author = {{IBM Corporation}},
- date = {2020-06-06},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/obsolete/fonts/psfonts/ibm/courier},
- url = {https://ctan.org/pkg/courier},
-}
-
-@manual{ctan-courierten,
- title = {The \texttt{courierten} package},
- subtitle = {Courier 10 Pitch BT with \LaTeX{} support},
- author = {Daniel Benjamin Miller},
- date = {2020-06-10},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/courierten},
- url = {https://ctan.org/pkg/courierten},
-}
-
-@manual{ctan-courseoutline,
- title = {The \texttt{courseoutline} package},
- subtitle = {Prepare university course outlines},
- author = {Diane Gall},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/courseoutline},
- url = {https://ctan.org/pkg/courseoutline},
-}
-
-@manual{ctan-coursepaper,
- title = {The \texttt{coursepaper} package},
- subtitle = {Prepare university course papers},
- author = {Diane Gall},
- date = {2016-06-24},
- version = {2.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coursepaper},
- url = {https://ctan.org/pkg/coursepaper},
-}
-
-@manual{ctan-coverpage,
- title = {The \texttt{coverpage} package},
- subtitle = {Automatic cover page creation for scientific papers},
- author = {Oliver Kopp and Matthias Mühlich},
- date = {2022-05-31},
- version = {1.01},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coverpage},
- url = {https://ctan.org/pkg/coverpage},
-}
-
-@manual{ctan-covfonts,
- title = {The \texttt{covfonts} package},
- subtitle = {Make Apostrophic Laboratories's Covington fonts available to \TeX{} and \LaTeX{}},
- author = {Scott Pakin},
- date = {2022-04-24},
- version = {1.0a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/covfonts},
- url = {https://ctan.org/pkg/covfonts},
- annotation = {The covfonts package provides all of the font metrics, virtual
- fonts, font-description files, and font-mapping files needed to
- use Apostrophic Laboratories's freely downloadable
-
- with \TeX{} and \LaTeX{}.},
-}
-
-@manual{ctan-covington,
- title = {The \texttt{covington} package},
- subtitle = {\LaTeX{} macros for Linguistics},
- author = {Jürgen Spitzmüller and Michael Covington and Robin Fairbairns},
- date = {2022-08-30},
- version = {2.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/covington},
- url = {https://ctan.org/pkg/covington},
-}
-
-@manual{ctan-cprog,
- title = {The \texttt{cprog} package},
- subtitle = {Typeset C programs},
- author = {Éamonn McManus},
- date = {2016-06-24},
- version = {1.4},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/cprog.sty},
- url = {https://ctan.org/pkg/cprog},
-}
-
-@manual{ctan-cprotect,
- title = {The \texttt{cprotect} package},
- subtitle = {Allow verbatim, etc., in macro arguments},
- author = {Bruno Le Floch},
- date = {2016-06-24},
- version = {1.0e},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cprotect},
- url = {https://ctan.org/pkg/cprotect},
-}
-
-@manual{ctan-cprotectinside,
- title = {The \texttt{cprotectinside} package},
- subtitle = {Use cprotect arbitrarily nested},
- author = {{user202729}},
- date = {2022-06-27},
- version = {0.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cprotectinside},
- url = {https://ctan.org/pkg/cprotectinside},
- annotation = {This package extends the
- package to allow users to use verbatim-like commands inside
- arbitrary parameters.},
-}
-
-@manual{ctan-cpssp,
- title = {The \texttt{cpssp} package},
- subtitle = {Draw protein secondary structures},
- author = {Wolfgang Skala},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cpssp},
- url = {https://ctan.org/pkg/cpssp},
-}
-
-@manual{ctan-cptex,
- title = {The \texttt{cptex} package},
- subtitle = {Use different code pages for \TeX{} input},
- author = {Martin Krämer},
- date = {2016-06-24},
- version = {1.1},
- license = {shareware},
- mirror = {https://mirror.ctan.org/macros/generic/cptex},
- url = {https://ctan.org/pkg/cptex},
-}
-
-@manual{ctan-cqubeamer,
- title = {The \texttt{CQUBeamer} package},
- subtitle = {\LaTeX{} Beamer Template for Chongqing University},
- author = {Zhen Wan},
- date = {2018-05-12},
- version = {1.0},
- license = {mit,cc-by-4},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/cqubeamer},
- url = {https://ctan.org/pkg/cqubeamer},
-}
-
-@manual{ctan-cquthesis,
- title = {The \texttt{CQUThesis} package},
- subtitle = {\LaTeX{} Thesis Template for Chongqing University},
- author = {Li Zhennan},
- date = {2020-06-23},
- version = {1.50},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cquthesis},
- url = {https://ctan.org/pkg/cquthesis},
-}
-
-@manual{ctan-crbox,
- title = {The \texttt{crbox} package},
- subtitle = {Boxes with crossed corners},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/crbox},
- url = {https://ctan.org/pkg/crbox},
- annotation = {The package implements a command which produces
- boxes with crossing lines at the corners.},
-}
-
-@manual{ctan-create-struktex,
- title = {The \texttt{create-struktex} package},
- subtitle = {Create struktex code},
- author = {Peter Lenser},
- date = {2017-09-23},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/create-struktex},
- url = {https://ctan.org/pkg/create-struktex},
- annotation = {The package provides a Java program to support generation of Nassi
- Shneiderman diagrams, using \LaTeX{} with the
- package.},
-}
-
-@manual{ctan-create-theorem,
- title = {The \texttt{create-theorem} package},
- subtitle = {Multilingual support for theorem-like environments},
- author = {Jinwen XU},
- date = {2022-08-11},
- version = {2022-08-08a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/create-theorem},
- url = {https://ctan.org/pkg/create-theorem},
-}
-
-@manual{ctan-crefthe,
- title = {The \texttt{crefthe} package},
- subtitle = {Cross referencing with proper definite articles},
- author = {Jinwen XU},
- date = {2022-09-24},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/crefthe},
- url = {https://ctan.org/pkg/crefthe},
- annotation = {By default, when using cleveref’s to reference
- theorem-like environments, the names do not contain definite
- articles. In languages such as French, Italian, Portuguese,
- Spanish, etc. this results in incorrect grammar. For this
- purpose, the current package offers , which
- handles the definite articles properly (especially for the
- article contractions in many European languages).},
-}
-
-@manual{ctan-crimson,
- title = {The \texttt{crimson} package},
- subtitle = {Crimson fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-30},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/crimson},
- url = {https://ctan.org/pkg/crimson},
-}
-
-@manual{ctan-crimsonpro,
- title = {The \texttt{CrimsonPro} package},
- subtitle = {CrimsonPro fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-30},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/crimsonpro},
- url = {https://ctan.org/pkg/crimsonpro},
- annotation = {The CrimsonPro fonts are designed by Jacques Le Bailly and derived from
- the designed by Sebastian Kosch.
- The family includes eight weights and italics for each weight.},
-}
-
-@manual{ctan-croatian,
- title = {The \texttt{croatian} package},
- subtitle = {Fonts for Croatian Glagolitic and other Croatian scripts},
- author = {Darko Žubrinić},
- date = {2021-08-26},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/language/croatian/fonts},
- url = {https://ctan.org/pkg/croatian},
-}
-
-@manual{ctan-crop,
- title = {The \texttt{crop} package},
- subtitle = {Support for cropmarks},
- author = {Melchior Franz and Reuben Thomas},
- date = {2020-06-13},
- version = {1.10.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/crop},
- url = {https://ctan.org/pkg/crop},
-}
-
-@manual{ctan-cropmark-pu,
- title = {The \texttt{cropmark-pu} package},
- subtitle = {Cropmark macros for Plain \TeX{}},
- author = {Peter Ungar},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/cropmark.tex},
- url = {https://ctan.org/pkg/cropmark-pu},
-}
-
-@manual{ctan-cropmark,
- title = {The \texttt{cropmark} package},
- subtitle = {Crop marks on \textbackslash{}shipout},
- author = {Victor Eijkhout},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/cropmark},
- url = {https://ctan.org/pkg/cropmark},
- annotation = {The package subverts and has it recognise the
- circumstances in which it is being called. A short test program,
- which detects whether it is being run under Plain \TeX{} or \LaTeX{}, is
- provided.},
-}
-
-@manual{ctan-cropmarks-pt,
- title = {The \texttt{cropmarks-pt} package},
- subtitle = {Philip Taylor's cropmarks macros},
- author = {Philip Taylor},
- date = {2016-06-24},
- version = {1.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/misc/CropMarks_pt.tex},
- url = {https://ctan.org/pkg/cropmarks-pt},
- annotation = {The package permits the user to specify cropmarks in terms of a
- number of dimension variables. The marks themselves are applied
- in a subverted command.},
-}
-
-@manual{ctan-cropmrks,
- title = {The \texttt{cropmrks} package},
- subtitle = {Add crop marks to a Plain \TeX{} document},
- author = {Philip Taylor},
- date = {2016-06-24},
- version = {1.5},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/cropmrks.tex},
- url = {https://ctan.org/pkg/cropmrks},
-}
-
-@manual{ctan-crossrefenum,
- title = {The \texttt{crossrefenum} package},
- subtitle = {Smart typesetting of enumerated cross-references for various \TeX{} formats},
- author = {Bastien Dumont},
- date = {2023-02-20},
- version = {1.0.2},
- license = {gpl3+,fdl},
- mirror = {https://mirror.ctan.org/macros/generic/crossrefenum},
- url = {https://ctan.org/pkg/crossrefenum},
-}
-
-@manual{ctan-crossreference,
- title = {The \texttt{crossreference} package},
- subtitle = {Crossreferences within documents},
- author = {Vincent Filby},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/crossreference},
- url = {https://ctan.org/pkg/crossreference},
-}
-
-@manual{ctan-crossreftools,
- title = {The \texttt{crossreftools} package},
- subtitle = {Expandable extraction of cleveref data},
- author = {Christian Hupfer},
- date = {2020-07-19},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/crossreftools},
- url = {https://ctan.org/pkg/crossreftools},
- annotation = {This package extracts information from cross-referencing labels,
- especially those from ,
- in an expandable manner.},
-}
-
-@manual{ctan-crossrefware,
- title = {The \texttt{crossrefware} package},
- subtitle = {Scripts for working with crossref.org},
- author = {Boris Veytsman},
- date = {2022-10-19},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/crossrefware},
- url = {https://ctan.org/pkg/crossrefware},
-}
-
-@manual{ctan-crosstex,
- title = {The \texttt{crosstex} package},
- subtitle = {Bibliography management tool},
- author = {Robert Burgess and Emin Gün Sirer},
- date = {2020-09-09},
- version = {0.6},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/obsolete/biblio/crosstex},
- url = {https://ctan.org/pkg/crosstex},
-}
-
-@manual{ctan-crossword,
- title = {The \texttt{crossword} package},
- subtitle = {Typeset crossword puzzles},
- author = {Gerd Neugebauer},
- date = {2022-09-13},
- version = {1.11},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gene/crossword},
- url = {https://ctan.org/pkg/crossword},
-}
-
-@manual{ctan-crosswrd,
- title = {The \texttt{crosswrd} package},
- subtitle = {Macros for typesetting crossword puzzles},
- author = {Brian Hamilton Kelly and Frank Mittelbach},
- date = {2016-06-24},
- version = {3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/crosswrd},
- url = {https://ctan.org/pkg/crosswrd},
-}
-
-@manual{ctan-crudetype,
- title = {The \texttt{crudetype} package},
- subtitle = {Line printer output from DVI files},
- author = {R M Damerell},
- date = {2016-06-24},
- version = {3},
- license = {nosell},
- mirror = {https://mirror.ctan.org/dviware/crudetype},
- url = {https://ctan.org/pkg/crudetype},
-}
-
-@manual{ctan-crumbs,
- title = {The \texttt{crumbs} package},
- subtitle = {Add a Navigation Path to the page header},
- author = {Yegor Bugayenko},
- date = {2022-10-03},
- version = {0.4.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/crumbs},
- url = {https://ctan.org/pkg/crumbs},
- annotation = {This package adds a navigation path () at the header of a presentation, just like some
- websites do in order to simplify navigation.},
-}
-
-@manual{ctan-crw,
- title = {The \texttt{crw} package},
- subtitle = {Crossword macros for Plain \TeX{}},
- author = {Kees van der Laan},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/crw},
- url = {https://ctan.org/pkg/crw},
-}
-
-@manual{ctan-cryptocode,
- title = {The \texttt{cryptocode} package},
- subtitle = {Typesetting pseudocode, protocols, game-based proofs and black-box reductions in cryptography},
- author = {Arno Mittelbach},
- date = {2021-08-15},
- version = {0.44},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cryptocode},
- url = {https://ctan.org/pkg/cryptocode},
-}
-
-@manual{ctan-cryst,
- title = {The \texttt{cryst} package},
- subtitle = {Font for graphical symbols used in crystallography},
- author = {Ulrich Müller},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cryst},
- url = {https://ctan.org/pkg/cryst},
-}
-
-@manual{ctan-csassignments,
- title = {The \texttt{csassignments} package},
- subtitle = {A wrapper for article with macros and customizations for computer science assignments},
- author = {Alexander Bartolomey},
- date = {2022-07-28},
- version = {1.0.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/csassignments},
- url = {https://ctan.org/pkg/csassignments},
-}
-
-@manual{ctan-csbulletin,
- title = {The \texttt{csbulletin} package},
- subtitle = {\LaTeX{} class for articles submitted to the CSTUG Bulletin (Zpravodaj)},
- author = {Vít Novotný and Zdeněk Wagner},
- date = {2022-12-12},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/csbulletin},
- url = {https://ctan.org/pkg/csbulletin},
-}
-
-@manual{ctan-csfonts-t1,
- title = {The \texttt{csfonts-t1} package},
- subtitle = {Czech/Slovak tuned CM fonts in Type 1 format},
- author = {Petr Olšák},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/cstex/base/csfonts-t1.tar.gz},
- url = {https://ctan.org/pkg/csfonts-t1},
- annotation = {These are Adobe Type 1 versions of the
- fonts.},
-}
-
-@manual{ctan-csfonts,
- title = {The \texttt{csfonts} package},
- subtitle = {Czech/Slovak-tuned Computer Modern fonts},
- author = {Petr Novak and Karel Horák and Lada Lhotka and Petr Olšák},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/cstex/base/csfonts.tar.gz},
- url = {https://ctan.org/pkg/csfonts},
- annotation = {The fonts are provided as Metafont source; Type 1 format versions
- () are also available.},
-}
-
-@manual{ctan-csindex,
- title = {The \texttt{csindex} package},
- subtitle = {Czech/Slovak version of MakeIndex},
- author = {Roman Plášil and Zdenek Salvet and Zdeněk Wagner},
- date = {2018-01-06},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/cstex/base/csindex-19980713.tar.gz},
- url = {https://ctan.org/pkg/csindex},
-}
-
-@manual{ctan-cslatex,
- title = {The \texttt{cslatex} package},
- subtitle = {\LaTeX{} support for Czech/Slovak typesetting},
- author = {Jiří Zlatuška and Zdeněk Wagner and Jaroslav Snajdr},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/cstex/base/cslatex.tar.gz},
- url = {https://ctan.org/pkg/cslatex},
-}
-
-@manual{ctan-csname-doc,
- title = {The \texttt{csname-doc} package},
- subtitle = {A list of plain.tex cs names},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/plain-doc/csname.txt},
- url = {https://ctan.org/pkg/csname-doc},
-}
-
-@manual{ctan-csplain,
- title = {The \texttt{csplain} package},
- subtitle = {Plain \TeX{} multilanguage support},
- author = {Petr Olšák},
- date = {2022-03-17},
- version = {Mar. 2022},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/cstex/base/csplain.tar.gz},
- url = {https://ctan.org/pkg/csplain},
-}
-
-@manual{ctan-cspsfonts,
- title = {The \texttt{cspsfonts} package},
- subtitle = {Czech/Slovakian PostScript font support},
- author = {Petr Olšák and Zdeněk Wagner},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/cstex/base/cspsfonts.tar.gz},
- url = {https://ctan.org/pkg/cspsfonts},
-}
-
-@manual{ctan-csquotes-de,
- title = {The \texttt{csquotes-de} package},
- subtitle = {German translation of csquotes documentation},
- author = {Theresia Conrad and Patrik Faßbender and Christine Römer},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/csquotes/de},
- url = {https://ctan.org/pkg/csquotes-de},
- annotation = {This is a translation of the documentation of
- version 5.1.},
-}
-
-@manual{ctan-csquotes,
- title = {The \texttt{csquotes} package},
- subtitle = {Context sensitive quotation facilities},
- author = {Philipp Lehman and Joseph Wright},
- date = {2022-09-14},
- version = {5.2n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/csquotes},
- url = {https://ctan.org/pkg/csquotes},
-}
-
-@manual{ctan-css-colors,
- title = {The \texttt{css-colors} package},
- subtitle = {Named colors for web-safe design},
- author = {Engelbert Buxbaum},
- date = {2018-01-06},
- version = {1.02},
- license = {lppl,gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/css-colors},
- url = {https://ctan.org/pkg/css-colors},
- annotation = {This package defines web-safe colors for use with
- D.P. Carlisle’s package.
- It is intended for both authors and package writers (e.g.
- to create color themes).},
-}
-
-@manual{ctan-cstex,
- title = {The \texttt{CSTeX} package},
- subtitle = {Support for Czech/Slovak languages},
- author = {Petr Olšák},
- date = {2022-08-19},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/cstex},
- url = {https://ctan.org/pkg/cstex},
-}
-
-@manual{ctan-cstypo,
- title = {The \texttt{cstypo} package},
- subtitle = {Czech typography rules enforced through LuaTeX hooks},
- author = {Václav Haisman},
- date = {2017-04-18},
- version = {0.03},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/cstypo},
- url = {https://ctan.org/pkg/cstypo},
-}
-
-@manual{ctan-csv2latex,
- title = {The \texttt{csv2latex} package},
- subtitle = {Convert spreadsheet table cells into \LaTeX{} source},
- author = {Alan Munn and Tom Counsell},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/csv2latex},
- url = {https://ctan.org/pkg/csv2latex},
-}
-
-@manual{ctan-csvmerge,
- title = {The \texttt{csvmerge} package},
- subtitle = {Merge \TeX{} code with csv data},
- author = {Laurence R Taylor},
- date = {2019-08-14},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/csvmerge},
- url = {https://ctan.org/pkg/csvmerge},
-}
-
-@manual{ctan-csvsimple,
- title = {The \texttt{csvsimple} package},
- subtitle = {Simple CSV file processing},
- author = {Thomas F. Sturm},
- date = {2022-09-20},
- version = {2.3.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/csvsimple},
- url = {https://ctan.org/pkg/csvsimple},
-}
-
-@manual{ctan-csvtolatex,
- title = {The \texttt{csvtolatex} package},
- subtitle = {Link spread sheets to \LaTeX{}},
- author = {Hannes Pietsch},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/csvtolatex},
- url = {https://ctan.org/pkg/csvtolatex},
-}
-
-@manual{ctan-csvtools,
- title = {The \texttt{csvtools} package},
- subtitle = {Reading data from CSV files},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/csvtools},
- url = {https://ctan.org/pkg/csvtools},
-}
-
-@manual{ctan-csx,
- title = {The \texttt{csx} package},
- subtitle = {Computer Sanskrit(/Extended) coding support on MS-DOS},
- author = {Dominik Wujastyk and Peter Friedlander},
- date = {2020-06-07},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/csx},
- url = {https://ctan.org/pkg/csx},
-}
-
-@manual{ctan-ctable,
- title = {The \texttt{ctable} package},
- subtitle = {Flexible typesetting of table and figure floats using key/value directives},
- author = {Wybo H. Dekker},
- date = {2016-06-24},
- version = {1.31},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ctable},
- url = {https://ctan.org/pkg/ctable},
-}
-
-@manual{ctan-ctablestack,
- title = {The \texttt{ctablestack} package},
- subtitle = {Catcode table stable support},
- author = {{The \LaTeX{} Project Team}},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/ctablestack},
- url = {https://ctan.org/pkg/ctablestack},
-}
-
-@manual{ctan-ctan-bibdata,
- title = {The \texttt{ctan-bibdata} package},
- subtitle = {Bibliography data for all CTAN packages},
- author = {Herbert Voß},
- date = {2022-11-02},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/ctan-bibdata},
- url = {https://ctan.org/pkg/ctan-bibdata},
-}
-
-@manual{ctan-ctan-o-mat,
- title = {The \texttt{ctan-o-mat} package},
- subtitle = {Upload or validate a package for CTAN},
- author = {Gerd Neugebauer},
- date = {2017-11-25},
- version = {1.2},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/support/ctan-o-mat},
- url = {https://ctan.org/pkg/ctan-o-mat},
-}
-
-@manual{ctan-ctan_chk,
- title = {The \texttt{ctan\_chk} package},
- subtitle = {CTAN guidelines verifier and corrector for uploading projects},
- author = {David Bone},
- date = {2017-02-11},
- version = {1.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/ctan_chk},
- url = {https://ctan.org/pkg/ctan_chk},
-}
-
-@manual{ctan-ctanbib,
- title = {The \texttt{ctanbib} package},
- subtitle = {Export CTAN entries to bib format},
- author = {Michal Hoftich},
- date = {2023-02-21},
- version = {0.2b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/ctanbib},
- url = {https://ctan.org/pkg/ctanbib},
-}
-
-@manual{ctan-ctanify,
- title = {The \texttt{ctanify} package},
- subtitle = {Prepare a package for upload to CTAN},
- author = {Scott Pakin},
- date = {2017-04-23},
- version = {1.9.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/ctanify},
- url = {https://ctan.org/pkg/ctanify},
-}
-
-@manual{ctan-ctantools,
- title = {The \texttt{CTAN tools} package},
- subtitle = {A jiffy to search CTAN file list},
- author = {Ky-Anh Huynh},
- date = {2020-03-19},
- version = {1.5.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/ctantools},
- url = {https://ctan.org/pkg/ctantools},
-}
-
-@manual{ctan-ctanupload,
- title = {The \texttt{ctanupload} package},
- subtitle = {Support for users uploading to CTAN},
- author = {Martin Scharrer},
- date = {2016-06-24},
- version = {1.2c},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/ctanupload},
- url = {https://ctan.org/pkg/ctanupload},
-}
-
-@manual{ctan-ctex-faq,
- title = {The \texttt{ctex-faq} package},
- subtitle = {\LaTeX{} FAQ by the Chinese \TeX{} Society (ctex.org)},
- author = {LingYun Wu},
- date = {2022-02-09},
- version = {},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/ctex-faq},
- url = {https://ctan.org/pkg/ctex-faq},
- annotation = {Most questions were collected on the
- forum, and were
- answered in detail by the author.},
-}
-
-@manual{ctan-ctex,
- title = {The \texttt{ctex} package},
- subtitle = {\LaTeX{} classes and packages for Chinese typesetting},
- author = {Qing Lee and Leo Liu and Liam Huang and Xiangdong Zeng and Zeping Lee and Yukai Chou and Ruixi Zhang and LingYun Wu and Jiang Jiang and Yue Wang and Yanrui Li and Zhichu Chen},
- date = {2023-02-15},
- version = {2.5.10},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/language/chinese/ctex},
- url = {https://ctan.org/pkg/ctex},
- annotation = {is a collection of macro packages and
- document classes for \LaTeX{} Chinese typesetting.},
-}
-
-@manual{ctan-ctib4tex,
- title = {The \texttt{ctib4tex} package},
- subtitle = {Tibetan for \TeX{} and \LaTeX{}2e},
- author = {Oliver Corff},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/tibetan/ctib},
- url = {https://ctan.org/pkg/ctib4tex},
- annotation = {A package using a modified version of
- . An
- advantage of this Tibetan implementation is that all consonant
- clusters are formed by \TeX{} and Metafont. No external
- preprocessor is needed.},
-}
-
-@manual{ctan-ctie,
- title = {The \texttt{ctie} package},
- subtitle = {C version of tie (merging Web change files)},
- author = {Julian Gilbey},
- date = {2018-01-06},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/web/c_cpp/ctie},
- url = {https://ctan.org/pkg/ctie},
- annotation = {This is a version of converted for
- use with .},
-}
-
-@manual{ctan-cuisine,
- title = {The \texttt{cuisine} package},
- subtitle = {Typeset recipes},
- author = {Ben Cohen},
- date = {2016-06-24},
- version = {0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cuisine},
- url = {https://ctan.org/pkg/cuisine},
- annotation = {Typeset recipes with the ingredients lined up with their method
- step (somewhat similarly to the layout used in
- ).},
-}
-
-@manual{ctan-cun,
- title = {The \texttt{cun} package},
- subtitle = {A cuneiform font},
- author = {Jo Grant},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cun},
- url = {https://ctan.org/pkg/cun},
-}
-
-@manual{ctan-cuprum,
- title = {The \texttt{cuprum} package},
- subtitle = {Cuprum font family support for \LaTeX{}},
- author = {Federico Roncaglia},
- date = {2019-02-05},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/cuprum},
- url = {https://ctan.org/pkg/cuprum},
- annotation = {This package provides support for the Cuprum font family
- (see ).},
-}
-
-@manual{ctan-currency,
- title = {The \texttt{currency} package},
- subtitle = {Format currencies in a consistent way},
- author = {Antoine Lejay},
- date = {2018-10-24},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/currency},
- url = {https://ctan.org/pkg/currency},
-}
-
-@manual{ctan-currfile,
- title = {The \texttt{currfile} package},
- subtitle = {Provide file name and path of input files},
- author = {Martin Scharrer},
- date = {2022-10-10},
- version = {0.8},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/currfile},
- url = {https://ctan.org/pkg/currfile},
-}
-
-@manual{ctan-currvita,
- title = {The \texttt{currvita} package},
- subtitle = {Typeset a curriculum vitae},
- author = {Axel Reichert},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/currvita},
- url = {https://ctan.org/pkg/currvita},
-}
-
-@manual{ctan-cursolatex,
- title = {The \texttt{cursolatex} package},
- subtitle = {A \LaTeX{} tutorial},
- author = {Carlos Campani},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/portuguese/cursolatex},
- url = {https://ctan.org/pkg/cursolatex},
-}
-
-@manual{ctan-cursor,
- title = {The \texttt{cursor} package},
- subtitle = {Draw a cursor in an equation},
- author = {Werenfried Spit},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cursor},
- url = {https://ctan.org/pkg/cursor},
-}
-
-@manual{ctan-curve,
- title = {The \texttt{CurVe} package},
- subtitle = {A class for making curriculum vitae},
- author = {Didier Verna},
- date = {2016-06-24},
- version = {1.16},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/curve},
- url = {https://ctan.org/pkg/curve},
-}
-
-@manual{ctan-curve2e,
- title = {The \texttt{curve2e} package},
- subtitle = {Extensions for package pict2e},
- author = {Claudio Beccari},
- date = {2023-01-05},
- version = {2.2.22},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/curve2e},
- url = {https://ctan.org/pkg/curve2e},
- annotation = {The package extends the drawing capacities of the
- that serves as a \LaTeX{}2e
- replacement for picture mode. In particular, curve2e
- introduces new macros for lines and vectors, new specifications
- for line terminations and joins, arcs with any angular aperture,
- arcs with arrows at one or both ends, generic curves specified with
- their nodes and the tangent direction at these nodes.},
-}
-
-@manual{ctan-curves,
- title = {The \texttt{curves} package},
- subtitle = {Curves for \LaTeX{} picture environment},
- author = {Ian Maclaine-Cross},
- date = {2017-09-09},
- version = {1.55},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/curves},
- url = {https://ctan.org/pkg/curves},
-}
-
-@manual{ctan-custom-bib,
- title = {The \texttt{custom-bib} package},
- subtitle = {Customised BibTeX styles},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {4.33},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/custom-bib},
- url = {https://ctan.org/pkg/custom-bib},
-}
-
-@manual{ctan-customdice,
- title = {The \texttt{customdice} package},
- subtitle = {Simple commands for drawing customisable dice},
- author = {Peter Rowlett},
- date = {2022-08-12},
- version = {1.1},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/customdice},
- url = {https://ctan.org/pkg/customdice},
- annotation = {The package for \LaTeX{}, Lua\LaTeX{} and XeTeX that provides functionality
- for drawing dice. The aim is to provide highly-customisable but simple-to-use commands, allowing:},
-}
-
-@manual{ctan-cuted,
- title = {The \texttt{cuted} package},
- subtitle = {Mixing onecolumn and twocolumn modes},
- author = {Sigitas Tolušis},
- date = {2021-10-11},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools/cuted.dtx},
- url = {https://ctan.org/pkg/cuted},
-}
-
-@manual{ctan-cutwin,
- title = {The \texttt{cutwin} package},
- subtitle = {Cut a window in a paragraph, typeset material in it},
- author = {Peter R. Wilson and Alan Hoenig and David Carlisle},
- date = {2021-10-30},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cutwin},
- url = {https://ctan.org/pkg/cutwin},
-}
-
-@manual{ctan-cv,
- title = {The \texttt{cv} package},
- subtitle = {A package for creating a curriculum vitae},
- author = {Philipp Maier},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cv},
- url = {https://ctan.org/pkg/cv},
-}
-
-@manual{ctan-cv4tw,
- title = {The \texttt{cv4tw} package},
- subtitle = {\LaTeX{} CV class, with extended details},
- author = {Geoffrey Gouez},
- date = {2017-04-18},
- version = {0.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cv4tw},
- url = {https://ctan.org/pkg/cv4tw},
-}
-
-@manual{ctan-cvss,
- title = {The \texttt{cvss} package},
- subtitle = {Compute and display CVSS base scores},
- author = {Pierre Vivegnis},
- date = {2022-12-02},
- version = {1.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cvss},
- url = {https://ctan.org/pkg/cvss},
-}
-
-@manual{ctan-cvsty,
- title = {The \texttt{CVsty} package},
- subtitle = {Yet another style for easy CV pagination},
- author = {Gilles Pereira},
- date = {2019-02-03},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cvsty},
- url = {https://ctan.org/pkg/cvsty},
-}
-
-@manual{ctan-cweb-latex,
- title = {The \texttt{cweb-latex} package},
- subtitle = {A \LaTeX{} version of CWEB},
- author = {Joachim Schrod},
- date = {2019-11-30},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cweb},
- url = {https://ctan.org/pkg/cweb-latex},
- annotation = {This bundle allows marking-up of
- code in \LaTeX{}. The distribution includes the
- “Counting Words”
- program distributed with CWEB, edited to run with \LaTeX{}.},
-}
-
-@manual{ctan-cweb,
- title = {The \texttt{cweb} package},
- subtitle = {A Web system in C},
- author = {Donald E. Knuth and Andreas Scherer and Silvio Levy},
- date = {2022-06-06},
- version = {4.8},
- license = {knuth},
- mirror = {https://mirror.ctan.org/web/c_cpp/cweb},
- url = {https://ctan.org/pkg/cweb},
-}
-
-@manual{ctan-cwebbin,
- title = {The \texttt{cwebbin} package},
- subtitle = {CWEB for ANSI-C/C++ compilers},
- author = {Andreas Scherer},
- date = {2022-01-26},
- license = {knuth},
- url = {https://ctan.org/pkg/cwebbin},
-}
-
-@manual{ctan-cwebhy,
- title = {The \texttt{cweb-hy} package},
- subtitle = {Insert hyperlinks for included files},
- author = {Enrique Melendez},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cweb/contrib/cweb-hy},
- url = {https://ctan.org/pkg/cwebhy},
-}
-
-@manual{ctan-cwebx,
- title = {The \texttt{cwebx} package},
- subtitle = {A system for Structured Software Documentation in C},
- author = {Marc van Leeuwen},
- date = {2017-04-18},
- version = {3.04},
- license = {knuth},
- mirror = {https://mirror.ctan.org/web/c_cpp/cwebx},
- url = {https://ctan.org/pkg/cwebx},
- annotation = {The CWEBx system is a system for Structured Software
- Documentation (also known as Literate Programming) in the
- programming language C. It is a derivative of the
- system
- by Sylvio Levy and Donald E. Knuth, who originally conceived
- the idea of Literate Programming; CWEBx is a compatible
- extension of CWEB.},
-}
-
-@manual{ctan-cyber,
- title = {The \texttt{cyber} package},
- subtitle = {Annotate compliance with cybersecurity requirements},
- author = {Jared Jennings},
- date = {2018-03-01},
- version = {2.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cyber},
- url = {https://ctan.org/pkg/cyber},
-}
-
-@manual{ctan-cybercic,
- title = {The \texttt{cybercic} package},
- subtitle = {“Controls in Contents” for the cyber package},
- author = {Jared Jennings},
- date = {2016-12-18},
- version = {2.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cybercic},
- url = {https://ctan.org/pkg/cybercic},
-}
-
-@manual{ctan-cyklop,
- title = {The \texttt{cyklop} package},
- subtitle = {The Cyclop typeface},
- author = {Janusz Marian Nowacki},
- date = {2016-06-24},
- version = {0.915},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/cyklop},
- url = {https://ctan.org/pkg/cyklop},
-}
-
-@manual{ctan-cypriot,
- title = {The \texttt{cypriot} package},
- subtitle = {A script which was used on Cyprus for writing Greek},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/cypriot},
- url = {https://ctan.org/pkg/cypriot},
-}
-
-@manual{ctan-cypriote,
- title = {The \texttt{cypriote} package},
- subtitle = {A font for ancient Cypriot Greek inscriptions},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cypriote},
- url = {https://ctan.org/pkg/cypriote},
-}
-
-@manual{ctan-cyrguide,
- title = {The \texttt{cyrguide} package},
- subtitle = {Documentation of \LaTeX{} Cyrillic-alphabet features},
- author = {Vladimir Volovich and Werner Lemberg and {The \LaTeX{} Project Team}},
- date = {2019-10-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/cyrguide},
-}
-
-@manual{ctan-cyrillic209,
- title = {The \texttt{cyrillic209} package},
- subtitle = {Provides basic \LaTeX{} 2.09 font access to the Washington cyrillic fonts},
- author = {Charles Karney},
- date = {2018-01-07},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/cyrillic.sty},
- url = {https://ctan.org/pkg/cyrillic209},
- annotation = {A small package providing basic \LaTeX{} 2.09 font-system access to
- the Washington cyrillic fonts. Note that this package cannot
- possibly work under \LaTeX{} 2e, and has nothing to do with the
- \LaTeX{}2e bundle.},
-}
-
-@manual{ctan-cyrmemo,
- title = {The \texttt{cyrmemo} package},
- subtitle = {Details of using the AMS Cyrillic fonts},
- author = {Barbara Beeton},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/cyrmemo},
- url = {https://ctan.org/pkg/cyrmemo},
- annotation = {A Plain \TeX{} document, and support macros, describing the use of
- the AMS Cyrillic fonts (the family) in Plain \TeX{} and
- \LaTeX{} 2.09. (The fonts embody the OT2 encoding, in \LaTeX{} 2e.)},
-}
-
-@manual{ctan-cyrtug,
- title = {The \texttt{cyrtug} package},
- subtitle = {EmTeX as distributed by CyrTUG},
- author = {Michel Goossens},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/msdos/emtex-contrib/cyrtug},
- url = {https://ctan.org/pkg/cyrtug},
- annotation = {The CyrTUG distribution of files for use with
- . (CyrTUG is the
- Cyrillic-alphabet \TeX{} users' group; apart from the
- fonts, there are several other files to
- support Cyrillic users.)},
-}
-
-@manual{ctan-czhyph,
- title = {The \texttt{czhyph} package},
- subtitle = {Hyphenation patterns for Czech},
- author = {{Unknown}},
- date = {2019-06-21},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/hyphenation/czhyph.tex},
- url = {https://ctan.org/pkg/czhyph},
-}
-
-@manual{ctan-czhyph2e,
- title = {The \texttt{czhyph2e} package},
- subtitle = {Convert Czech hyphenation patterns to standard encoding},
- author = {Werner Lemberg},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/czech/czhyph2e.pl},
- url = {https://ctan.org/pkg/czhyph2e},
- annotation = {This Perl script converts the
- as
- distributed on CTAN from its PC encoding into a form
- using T1 font encoding.},
-}
-
-@manual{ctan-dad,
- title = {The \texttt{dad} package},
- subtitle = {Simple typesetting system for mixed Arabic/Latin documents},
- author = {Yannis Haralambous},
- date = {2018-03-19},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/arabic/dad},
- url = {https://ctan.org/pkg/dad},
-}
-
-@manual{ctan-dancers,
- title = {The \texttt{dancers} package},
- subtitle = {Font for Conan Doyle’s “The Dancing Men”},
- author = {Alan Stanier},
- date = {2016-06-30},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/dancers},
- url = {https://ctan.org/pkg/dancers},
-}
-
-@manual{ctan-dante-book-reviews,
- title = {The \texttt{dante-book-reviews} package},
- subtitle = {Book reviews published in DANTE's journal},
- author = {Christian Faulhammer},
- date = {2016-06-24},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/info/digests/dtk/book_reviews},
- url = {https://ctan.org/pkg/dante-book-reviews},
- annotation = {A series of book reviews published in DANTE’s journal
- ‘’ from
- 2004, by a number of authors. The project was initiated by
- Christian Faulhammer.},
-}
-
-@manual{ctan-dantelogo,
- title = {The \texttt{dantelogo} package},
- subtitle = {A font for DANTE's logo},
- author = {Herbert Voß and Klaus Höppner},
- date = {2016-06-24},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/dantelogo},
- url = {https://ctan.org/pkg/dantelogo},
-}
-
-@manual{ctan-darkmode,
- title = {The \texttt{darkmode} package},
- subtitle = {General Dark Mode Support for \LaTeX{}-Documents},
- author = {Ruben Deisenroth},
- date = {2022-09-08},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/darkmode},
- url = {https://ctan.org/pkg/darkmode},
-}
-
-@manual{ctan-dashbox,
- title = {The \texttt{dashbox} package},
- subtitle = {Draw dashed boxes},
- author = {Reuben Thomas},
- date = {2016-06-24},
- version = {1.14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dashbox},
- url = {https://ctan.org/pkg/dashbox},
-}
-
-@manual{ctan-dashrule,
- title = {The \texttt{dashrule} package},
- subtitle = {Draw dashed rules},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dashrule},
- url = {https://ctan.org/pkg/dashrule},
- annotation = {The dashrule package makes it easy to draw a huge variety of
- dashed rules (i.e., lines) in \LaTeX{}. dashrule provides a command,
- , which is a cross between \LaTeX{}'s \textbackslash{}rule and
- PostScript's setdash command. draws horizontally
- dashed rules using the same syntax as , but with an
- additional, setdash-like parameter that specifies the pattern of
- dash segments and the space between those segments. Because
- dashrule's rules are constructed internally using (as
- opposed to, e.g., PostScript s) they are fully compatible
- with every \LaTeX{} back-end processor.},
-}
-
-@manual{ctan-dashundergaps,
- title = {The \texttt{dashundergaps} package},
- subtitle = {Produce gaps that are underlined, dotted or dashed},
- author = {Frank Mittelbach and Luca Merciadri},
- date = {2021-03-05},
- version = {2.0h},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dashundergaps},
- url = {https://ctan.org/pkg/dashundergaps},
- annotation = {The package provides commands (,
- and ) each of which
- underlines its argument with one of the styles the package is
- capable of. A phantom mode is provided, where the underline (of
- whatever form) can serve for a ‘fill-in block’ for
- student evaluation sheets.},
-}
-
-@manual{ctan-dataref,
- title = {The \texttt{dataref} package},
- subtitle = {Manage references to experimental data},
- author = {Christian Dietrich},
- date = {2022-03-25},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dataref},
- url = {https://ctan.org/pkg/dataref},
-}
-
-@manual{ctan-datatool,
- title = {The \texttt{datatool} package},
- subtitle = {Tools to load and manipulate data},
- author = {Nicola Talbot},
- date = {2019-09-27},
- version = {2.32},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datatool},
- url = {https://ctan.org/pkg/datatool},
-}
-
-@manual{ctan-datatooltk,
- title = {The \texttt{datatooltk} package},
- subtitle = {A Java GUI for preparing datatool input},
- author = {Nicola Talbot},
- date = {2018-07-06},
- version = {1.9},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/datatooltk},
- url = {https://ctan.org/pkg/datatooltk},
-}
-
-@manual{ctan-datax,
- title = {The \texttt{datax} package},
- subtitle = {Import individual data from script files},
- author = {David Gustavsson},
- date = {2022-01-28},
- version = {1.2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datax},
- url = {https://ctan.org/pkg/datax},
- annotation = {This \LaTeX{} package uses
- to retrieve individual data points generated in some script.
- Analogous to how one might generate graphics in a script and
- import those graphics into a \LaTeX{} document.},
-}
-
-@manual{ctan-dateiliste,
- title = {The \texttt{dateiliste} package},
- subtitle = {Extensions of the \textbackslash{}listfiles concept},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dateiliste},
- url = {https://ctan.org/pkg/dateiliste},
- annotation = {The package provides a file list (similar to that offered by
- ), neatly laid out as a table. The main document can be
- included in the list, and a command is available for providing
- RCS-maintained data for printing in the file list.},
-}
-
-@manual{ctan-datenumber,
- title = {The \texttt{datenumber} package},
- subtitle = {Convert a date into a number and vice versa},
- author = {Jörg-Michael Schröder},
- date = {2022-01-27},
- version = {0.03},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datenumber},
- url = {https://ctan.org/pkg/datenumber},
-}
-
-@manual{ctan-datepicker-pro,
- title = {The \texttt{datepicker-pro} package},
- subtitle = {Create a popup datepicker using SWF},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.4},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/datepicker-pro},
- url = {https://ctan.org/pkg/datepicker-pro},
-}
-
-@manual{ctan-dates,
- title = {The \texttt{dates} package},
- subtitle = {Macros for parsing date strings},
- author = {Frank Bennett},
- date = {2016-06-24},
- version = {1.3},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dates},
- url = {https://ctan.org/pkg/dates},
- annotation = {This package provides a macro, , that can be
- used to parse date strings, either individually or recursively.
- The macro expects a human-readable syntax, which it converts into
- an integer (a “long date”) that can be more easily
- used for some types of computation. A set of companion macros and
- token registers is also provided for converting long dates into
- human-readable form.},
-}
-
-@manual{ctan-dates209,
- title = {The \texttt{dates209} package},
- subtitle = {Flexible date macros},
- author = {Adrian Clark},
- date = {2016-06-24},
- version = {1.00-1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/dates.sty},
- url = {https://ctan.org/pkg/dates209},
-}
-
-@manual{ctan-datestamp,
- title = {The \texttt{datestamp} package},
- subtitle = {Fixed date-stamps with LuaLaTeX},
- author = {{Unknown}},
- date = {2021-12-15},
- version = {0.3},
- license = {gpl3+,fdl},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/datestamp},
- url = {https://ctan.org/pkg/datestamp},
-}
-
-@manual{ctan-datetime,
- title = {The \texttt{datetime} package},
- subtitle = {Change format of \textbackslash{}today with commands for current time},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {2.60},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/datetime},
- url = {https://ctan.org/pkg/datetime},
-}
-
-@manual{ctan-datetime2-bahasai,
- title = {The \texttt{datetime2-bahasai} package},
- subtitle = {Bahasai language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-01-10},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-bahasai},
- url = {https://ctan.org/pkg/datetime2-bahasai},
-}
-
-@manual{ctan-datetime2-basque,
- title = {The \texttt{datetime2-basque} package},
- subtitle = {Basque language module for the datetime2 package},
- author = {Nicola Talbot and Zunbeltz Izaola},
- date = {2018-03-21},
- version = {1.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-basque},
- url = {https://ctan.org/pkg/datetime2-basque},
- annotation = {This module provides the “basque” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-breton,
- title = {The \texttt{datetime2-breton} package},
- subtitle = {Breton language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2019-11-05},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-breton},
- url = {https://ctan.org/pkg/datetime2-breton},
-}
-
-@manual{ctan-datetime2-bulgarian,
- title = {The \texttt{datetime2-bulgarian} package},
- subtitle = {Bulgarian language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-03-19},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian},
- url = {https://ctan.org/pkg/datetime2-bulgarian},
-}
-
-@manual{ctan-datetime2-catalan,
- title = {The \texttt{datetime2-catalan} package},
- subtitle = {Catalan language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-03-19},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-catalan},
- url = {https://ctan.org/pkg/datetime2-catalan},
-}
-
-@manual{ctan-datetime2-croatian,
- title = {The \texttt{datetime2-croatian} package},
- subtitle = {Croatian language module for the datetime2 package},
- author = {Nicola Talbot and Ivan Kokan},
- date = {2018-01-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-croatian},
- url = {https://ctan.org/pkg/datetime2-croatian},
- annotation = {This module provides the “croatian” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-czech,
- title = {The \texttt{datetime2-czech} package},
- subtitle = {Czech language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-03-19},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-czech},
- url = {https://ctan.org/pkg/datetime2-czech},
-}
-
-@manual{ctan-datetime2-danish,
- title = {The \texttt{datetime2-danish} package},
- subtitle = {Danish language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-03-19},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-danish},
- url = {https://ctan.org/pkg/datetime2-danish},
-}
-
-@manual{ctan-datetime2-dutch,
- title = {The \texttt{datetime2-dutch} package},
- subtitle = {Dutch language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-04-07},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-dutch},
- url = {https://ctan.org/pkg/datetime2-dutch},
-}
-
-@manual{ctan-datetime2-en-fulltext,
- title = {The \texttt{datetime2-en-fulltext} package},
- subtitle = {English Full Text styles for the datetime2 package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext},
- url = {https://ctan.org/pkg/datetime2-en-fulltext},
-}
-
-@manual{ctan-datetime2-english,
- title = {The \texttt{datetime2-english} package},
- subtitle = {English language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2019-10-21},
- version = {1.05},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-english},
- url = {https://ctan.org/pkg/datetime2-english},
- annotation = {This module provides the following styles that can be set
- using provided by
- .
- The region not only determines the date/time format
- but also the time zone abbreviations if the zone mapping
- setting is on.},
-}
-
-@manual{ctan-datetime2-esperanto,
- title = {The \texttt{datetime2-esperanto} package},
- subtitle = {Esperanto language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-04-07},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-esperanto},
- url = {https://ctan.org/pkg/datetime2-esperanto},
-}
-
-@manual{ctan-datetime2-estonian,
- title = {The \texttt{datetime2-estonian} package},
- subtitle = {Estonian language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-04-13},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-estonian},
- url = {https://ctan.org/pkg/datetime2-estonian},
-}
-
-@manual{ctan-datetime2-finnish,
- title = {The \texttt{datetime2-finnish} package},
- subtitle = {Finnish language module for the datetime2 package},
- author = {Tuomas Välimäki and Nicola Talbot},
- date = {2018-03-21},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-finnish},
- url = {https://ctan.org/pkg/datetime2-finnish},
- annotation = {This module provides the “finnish” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-french,
- title = {The \texttt{datetime2-french} package},
- subtitle = {French language module for the datetime2 package},
- author = {Nicola Talbot and Paul A. Patience},
- date = {2020-09-21},
- version = {1.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-french},
- url = {https://ctan.org/pkg/datetime2-french},
- annotation = {This module provides the “french” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-galician,
- title = {The \texttt{datetime2-galician} package},
- subtitle = {Galician language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-01-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-galician},
- url = {https://ctan.org/pkg/datetime2-galician},
-}
-
-@manual{ctan-datetime2-german,
- title = {The \texttt{datetime2-german} package},
- subtitle = {German language module for the datetime2 package},
- author = {Nicola Talbot and Sebastian Friedl},
- date = {2019-12-13},
- version = {3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-german},
- url = {https://ctan.org/pkg/datetime2-german},
- annotation = {This module provides the “german” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-greek,
- title = {The \texttt{datetime2-greek} package},
- subtitle = {Greek language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-04-18},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-greek},
- url = {https://ctan.org/pkg/datetime2-greek},
-}
-
-@manual{ctan-datetime2-hebrew,
- title = {The \texttt{datetime2-hebrew} package},
- subtitle = {Hebrew language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-04-18},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-hebrew},
- url = {https://ctan.org/pkg/datetime2-hebrew},
-}
-
-@manual{ctan-datetime2-icelandic,
- title = {The \texttt{datetime2-icelandic} package},
- subtitle = {Icelandic language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2022-12-06},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-icelandic},
- url = {https://ctan.org/pkg/datetime2-icelandic},
-}
-
-@manual{ctan-datetime2-irish,
- title = {The \texttt{datetime2-irish} package},
- subtitle = {Irish Gaelic Language Module for the datetime2 Package},
- author = {Nicola Talbot},
- date = {2018-04-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-irish},
- url = {https://ctan.org/pkg/datetime2-irish},
-}
-
-@manual{ctan-datetime2-it-fulltext,
- title = {The \texttt{datetime2-it-fulltext} package},
- subtitle = {Italian full text styles for the datetime2 package},
- author = {Claudio Duchi},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext},
- url = {https://ctan.org/pkg/datetime2-it-fulltext},
-}
-
-@manual{ctan-datetime2-italian,
- title = {The \texttt{datetime2-italian} package},
- subtitle = {Italian language module for the datetime2 package},
- author = {Nicola Talbot and Claudio Duchi},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-italian},
- url = {https://ctan.org/pkg/datetime2-italian},
- annotation = {This module provides the “italian” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-latin,
- title = {The \texttt{datetime2-latin} package},
- subtitle = {Latin language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-latin},
- url = {https://ctan.org/pkg/datetime2-latin},
-}
-
-@manual{ctan-datetime2-lsorbian,
- title = {The \texttt{datetime2-lsorbian} package},
- subtitle = {Lower Sorbian language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-05-18},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian},
- url = {https://ctan.org/pkg/datetime2-lsorbian},
-}
-
-@manual{ctan-datetime2-magyar,
- title = {The \texttt{datetime2-magyar} package},
- subtitle = {Magyar language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-07-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-magyar},
- url = {https://ctan.org/pkg/datetime2-magyar},
-}
-
-@manual{ctan-datetime2-norsk,
- title = {The \texttt{datetime2-norsk} package},
- subtitle = {Norsk language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-07-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-norsk},
- url = {https://ctan.org/pkg/datetime2-norsk},
-}
-
-@manual{ctan-datetime2-polish,
- title = {The \texttt{datetime2-polish} package},
- subtitle = {Polish language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-08-21},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-polish},
- url = {https://ctan.org/pkg/datetime2-polish},
-}
-
-@manual{ctan-datetime2-portuges,
- title = {The \texttt{datetime2-portuges} package},
- subtitle = {Portuguese language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-08-21},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-portuges},
- url = {https://ctan.org/pkg/datetime2-portuges},
-}
-
-@manual{ctan-datetime2-romanian,
- title = {The \texttt{datetime2-romanian} package},
- subtitle = {Romanian language module for the datetime2 package},
- author = {Nicola Talbot and Paul A. Patience},
- date = {2020-09-21},
- version = {1.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-romanian},
- url = {https://ctan.org/pkg/datetime2-romanian},
- annotation = {This module provides the “romanian” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-russian,
- title = {The \texttt{datetime2-russian} package},
- subtitle = {Russian language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-12-07},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-russian},
- url = {https://ctan.org/pkg/datetime2-russian},
-}
-
-@manual{ctan-datetime2-samin,
- title = {The \texttt{datetime2-samin} package},
- subtitle = {Northern Sami language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-12-07},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-samin},
- url = {https://ctan.org/pkg/datetime2-samin},
-}
-
-@manual{ctan-datetime2-scottish,
- title = {The \texttt{datetime2-scottish} package},
- subtitle = {Scottish Gaelic Language Module for the datetime2 Package},
- author = {Nicola Talbot},
- date = {2019-09-14},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-scottish},
- url = {https://ctan.org/pkg/datetime2-scottish},
-}
-
-@manual{ctan-datetime2-serbian,
- title = {The \texttt{datetime2-serbian} package},
- subtitle = {Serbian language module for the datetime2 package},
- author = {Nicola Talbot and Andrej Radović},
- date = {2019-11-22},
- version = {2.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-serbian},
- url = {https://ctan.org/pkg/datetime2-serbian},
- annotation = {This module provides the “serbian” style that
- can be set using provided by
- .
- It provides both Cyrillic and Latin, Ekavian and Ijekavian variants of
- Serbian date formats, regionalized and non-regionalized.},
-}
-
-@manual{ctan-datetime2-slovak,
- title = {The \texttt{datetime2-slovak} package},
- subtitle = {Slovak language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2019-10-04},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-slovak},
- url = {https://ctan.org/pkg/datetime2-slovak},
-}
-
-@manual{ctan-datetime2-slovene,
- title = {The \texttt{datetime2-slovene} package},
- subtitle = {Slovene language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2019-10-04},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-slovene},
- url = {https://ctan.org/pkg/datetime2-slovene},
-}
-
-@manual{ctan-datetime2-spanish,
- title = {The \texttt{datetime2-spanish} package},
- subtitle = {Spanish language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2017-11-13},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-spanish},
- url = {https://ctan.org/pkg/datetime2-spanish},
-}
-
-@manual{ctan-datetime2-swedish,
- title = {The \texttt{datetime2-swedish} package},
- subtitle = {Swedish language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2018-01-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-swedish},
- url = {https://ctan.org/pkg/datetime2-swedish},
-}
-
-@manual{ctan-datetime2-turkish,
- title = {The \texttt{datetime2-turkish} package},
- subtitle = {Turkish language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2019-10-10},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-turkish},
- url = {https://ctan.org/pkg/datetime2-turkish},
-}
-
-@manual{ctan-datetime2-ukrainian,
- title = {The \texttt{datetime2-ukrainian} package},
- subtitle = {Ukrainian language module for the datetime2 package},
- author = {Nicola Talbot and Sergiy M. Ponomarenko},
- date = {2018-04-15},
- version = {1.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian},
- url = {https://ctan.org/pkg/datetime2-ukrainian},
- annotation = {This module provides the “ukrainian” style that
- can be set using
- provided by .},
-}
-
-@manual{ctan-datetime2-usorbian,
- title = {The \texttt{datetime2-usorbian} package},
- subtitle = {Upper Sorbian language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2019-10-10},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-usorbian},
- url = {https://ctan.org/pkg/datetime2-usorbian},
-}
-
-@manual{ctan-datetime2-welsh,
- title = {The \texttt{datetime2-welsh} package},
- subtitle = {Welsh language module for the datetime2 package},
- author = {Nicola Talbot},
- date = {2019-10-28},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2-contrib/datetime2-welsh},
- url = {https://ctan.org/pkg/datetime2-welsh},
-}
-
-@manual{ctan-datetime2,
- title = {The \texttt{datetime2} package},
- subtitle = {Formats for dates, times and time zones},
- author = {Nicola Talbot},
- date = {2021-03-21},
- version = {1.5.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/datetime2},
- url = {https://ctan.org/pkg/datetime2},
-}
-
-@manual{ctan-dayofweek,
- title = {The \texttt{dayofweek} package},
- subtitle = {Calculate day of week, phase of moon},
- author = {Martin Minow},
- date = {2020-04-11},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/dayofweek.tex},
- url = {https://ctan.org/pkg/dayofweek},
- annotation = {Defines as the (English) weekday name, and
- as the moon's phase, from
- “new” to “full” and back again.},
-}
-
-@manual{ctan-dayroman,
- title = {The \texttt{DayRoman} package},
- subtitle = {The Day Roman typeface},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/DayRoman},
- url = {https://ctan.org/pkg/dayroman},
-}
-
-@manual{ctan-daytime,
- title = {The \texttt{daytime} package},
- subtitle = {Print time of day},
- author = {Mauro Orlandini and George Greenwade},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/daytime.sty},
- url = {https://ctan.org/pkg/daytime},
- annotation = {A jiffy to provide macros and
- to print times, in 12-hour am/pm form (with, and without leading
- zeros).},
-}
-
-@manual{ctan-db,
- title = {The \texttt{db} package},
- subtitle = {Process simple databases inside \LaTeX{}},
- author = {George Panagopoulos},
- date = {2016-06-24},
- version = {2.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/db.sty},
- url = {https://ctan.org/pkg/db},
-}
-
-@manual{ctan-dblfloatfix,
- title = {The \texttt{dblfloatfix} package},
- subtitle = {Fixes for twocolumn floats},
- author = {Morten Høgholm},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dblfloatfix},
- url = {https://ctan.org/pkg/dblfloatfix},
- annotation = {The package solves two problems: floats in a twocolumn
- document come out in the right order and allowed float positions
- are now . The package actually merges facilities from
- and
- .},
-}
-
-@manual{ctan-dblfnote,
- title = {The \texttt{dblfnote} package},
- subtitle = {Double-column footnotes},
- author = {Hiroshi Nakashima},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yafoot},
- url = {https://ctan.org/pkg/dblfnote},
-}
-
-@manual{ctan-dblfont,
- title = {The \texttt{dblfont} package},
- subtitle = {Blackboard bold font package},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio},
- url = {https://ctan.org/pkg/dblfont},
-}
-
-@manual{ctan-dbprocess,
- title = {The \texttt{DB\_process} package},
- subtitle = {Process database output},
- author = {Victor Eijkhout},
- date = {2016-06-24},
- version = {0.91},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/eijkhout/DB_process.tex},
- url = {https://ctan.org/pkg/dbprocess},
-}
-
-@manual{ctan-dbshow,
- title = {The \texttt{dbshow} package},
- subtitle = {A package to store and display data with custom filters, orders, and styles},
- author = {Changkai Li},
- date = {2022-01-31},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dbshow},
- url = {https://ctan.org/pkg/dbshow},
-}
-
-@manual{ctan-dccpaper,
- title = {The \texttt{dccpaper} package},
- subtitle = {Typeset papers for the International Journal of Digital Curation},
- author = {Alex Ball},
- date = {2022-01-27},
- version = {2.3},
- license = {lppl1.3c,cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dccpaper},
- url = {https://ctan.org/pkg/dccpaper},
-}
-
-@manual{ctan-dco,
- title = {The \texttt{dco} package},
- subtitle = {Use the DC fonts with old-style numerals},
- author = {Sebastian Marius Kirsch},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/dco},
- url = {https://ctan.org/pkg/dco},
-}
-
-@manual{ctan-dcolumn,
- title = {The \texttt{dcolumn} package},
- subtitle = {Align on the decimal point of numbers in tabular columns},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.06},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/dcolumn},
-}
-
-@manual{ctan-dcounter,
- title = {The \texttt{dcounter} package},
- subtitle = {Support dynamic counters},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/dcounter},
-}
-
-@manual{ctan-dcpic,
- title = {The \texttt{DCpic} package},
- subtitle = {Commutative diagrams in a \LaTeX{} and \TeX{} documents},
- author = {Pedro Quaresma},
- date = {2016-06-24},
- version = {5.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/dcpic},
- url = {https://ctan.org/pkg/dcpic},
-}
-
-@manual{ctan-ddphonism,
- title = {The \texttt{ddphonism} package},
- subtitle = {Dodecaphonic diagrams: twelve-tone matrices, clock diagrams, etc.},
- author = {Celia Rubio Madrigal},
- date = {2019-09-01},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ddphonism},
- url = {https://ctan.org/pkg/ddphonism},
-}
-
-@manual{ctan-de-macro,
- title = {The \texttt{de-macro} package},
- subtitle = {Expand private macros in a document},
- author = {Péter Gács},
- date = {2021-04-09},
- version = {1.4.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/de-macro},
- url = {https://ctan.org/pkg/de-macro},
-}
-
-@manual{ctan-debate,
- title = {The \texttt{debate} package},
- subtitle = {Debates between reviewers},
- author = {Yegor Bugayenko},
- date = {2022-10-29},
- version = {0.2.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/debate},
- url = {https://ctan.org/pkg/debate},
-}
-
-@manual{ctan-decimal,
- title = {The \texttt{decimal} package},
- subtitle = {\LaTeX{} package for the English raised decimal point},
- author = {Apostolos Syropoulos and Dick Nickalls},
- date = {2016-06-24},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/decimal},
- url = {https://ctan.org/pkg/decimal},
-}
-
-@manual{ctan-decision-table,
- title = {The \texttt{decision-table} package},
- subtitle = {An easy way to create Decision Model and Notation decision tables},
- author = {Simon Vandevelde and François Pantigny},
- date = {2021-10-01},
- version = {0.0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/decision-table},
- url = {https://ctan.org/pkg/decision-table},
-}
-
-@manual{ctan-declare,
- title = {The \texttt{declare} package},
- subtitle = {Declare register names locally},
- author = {John E. Pittman and Neil Burleson},
- date = {2019-09-28},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/declare.tex},
- url = {https://ctan.org/pkg/declare},
-}
-
-@manual{ctan-decorule,
- title = {The \texttt{decorule} package},
- subtitle = {Decorative swelled rule using font character},
- author = {Peter Flynn},
- date = {2020-05-21},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/decorule},
- url = {https://ctan.org/pkg/decorule},
-}
-
-@manual{ctan-decsci,
- title = {The \texttt{decsci} package},
- subtitle = {BibTeX style for the journal Decision Sciences},
- author = {Paul A. Rubin},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/decsci.bst},
- url = {https://ctan.org/pkg/decsci},
- annotation = {Generated by .},
-}
-
-@manual{ctan-dectab,
- title = {The \texttt{dectab} package},
- subtitle = {Align columns on a decimal point},
- author = {Charles Franklin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/dectab.sty},
- url = {https://ctan.org/pkg/dectab},
- annotation = {The package defines the command , which allows a
- construct such as in a
- tabular column; the column will then be centred on the
- decimal point in the number.},
-}
-
-@manual{ctan-default,
- title = {The \texttt{default} package},
- subtitle = {Provide default parameters for \TeX{} macros},
- author = {Zhuhan Jiang},
- date = {2020-04-11},
- version = {1.3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/default.sty},
- url = {https://ctan.org/pkg/default},
- annotation = {The command defines default values for the
- arguments of an existing macro; the macro, thus adjusted, is
- called with square brackets around arguments which are overriding
- the default. (This is the same scheme as is used in \LaTeX{}.)},
-}
-
-@manual{ctan-deflist,
- title = {The \texttt{deflist} package},
- subtitle = {A variation on the description environment},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/deflist.sty},
- url = {https://ctan.org/pkg/deflist},
- annotation = {The command evnironment takes an argument, whose
- width is taken as the maximum width of labels in a
- -like environment},
-}
-
-@manual{ctan-defstring,
- title = {The \texttt{defstring} package},
- subtitle = {Define macros as verbatim macros},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/defstring.tex},
- url = {https://ctan.org/pkg/defstring},
-}
-
-@manual{ctan-degrade,
- title = {The \texttt{degrade} package},
- subtitle = {Degrade JPEG images on the fly, prior to inclusion},
- author = {Peter Münster},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/degrade},
- url = {https://ctan.org/pkg/degrade},
- annotation = {Degrade is a \LaTeX{} package that degrades JPEG images on the fly to
- decrease the size of the resulting PostScript or PDF file. It
- uses the convert utility from the ImageMagick bundle as well as
- (if you're producing
- PostScript output).},
-}
-
-@manual{ctan-dehyph-exptl,
- title = {The \texttt{dehyph-exptl} package},
- subtitle = {Experimental hyphenation patterns for the German language},
- author = {Werner Lemberg and Stephan Hennig and Günter Milde and Keno Wehr},
- date = {2023-03-06},
- version = {0.9},
- license = {mit,lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/dehyph-exptl},
- url = {https://ctan.org/pkg/dehyph-exptl},
-}
-
-@manual{ctan-dehyph,
- title = {The \texttt{dehyph} package},
- subtitle = {German hyphenation patterns for traditional orthography},
- author = {Werner Lemberg and Bernd Raichle},
- date = {2020-04-04},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/language/hyphenation/dehyph},
- url = {https://ctan.org/pkg/dehyph},
-}
-
-@manual{ctan-dejavu-otf,
- title = {The \texttt{dejavu-otf} package},
- subtitle = {Support for the ttf and otf DejaVu fonts},
- author = {Herbert Voß},
- date = {2019-06-09},
- version = {0.04},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/dejavu-otf},
- url = {https://ctan.org/pkg/dejavu-otf},
-}
-
-@manual{ctan-dejavu,
- title = {The \texttt{dejavu} package},
- subtitle = {\LaTeX{} support for the DejaVu fonts},
- author = {Pavel Farar},
- date = {2017-10-02},
- version = {2.34},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/dejavu},
- url = {https://ctan.org/pkg/dejavu},
-}
-
-@manual{ctan-delarray,
- title = {The \texttt{delarray} package},
- subtitle = {Delimiters for arrays},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-01-03},
- version = {1.01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/delarray},
-}
-
-@manual{ctan-deleq,
- title = {The \texttt{deleq} package},
- subtitle = {Flexible numbering of equations},
- author = {Mats Dahlgren},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/deleq},
- url = {https://ctan.org/pkg/deleq},
-}
-
-@manual{ctan-delig,
- title = {The \texttt{delig} package},
- subtitle = {Disable misplaced ligatures in \LaTeX{} documents},
- author = {Daniel Warner},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/delig},
- url = {https://ctan.org/pkg/delig},
-}
-
-@manual{ctan-delim,
- title = {The \texttt{delim} package},
- subtitle = {Simplify typesetting mathematical delimiters},
- author = {Stefan Majewsky},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/delim},
- url = {https://ctan.org/pkg/delim},
- annotation = {The package permits simpler control of delimiters without
- excessive use of commands (and the like).},
-}
-
-@manual{ctan-delimseasy,
- title = {The \texttt{delimseasy} package},
- subtitle = {Delimiter commands that are easy to use and resize},
- author = {Colin C. Graham},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/delimseasy},
- url = {https://ctan.org/pkg/delimseasy},
-}
-
-@manual{ctan-delimset,
- title = {The \texttt{delimset} package},
- subtitle = {Typeset and declare sets of delimiters with convenient size control},
- author = {Niklas Beisert},
- date = {2018-12-30},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/delimset},
- url = {https://ctan.org/pkg/delimset},
- annotation = {is a \LaTeX{}2e package to typeset and declare
- sets of delimiters in math mode whose size can be adjusted
- conveniently.},
-}
-
-@manual{ctan-delimtxt,
- title = {The \texttt{delimtxt} package},
- subtitle = {Read and parse text tables},
- author = {Bjørn Pedersen},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/exptl/delimtxt},
- url = {https://ctan.org/pkg/delimtxt},
-}
-
-@manual{ctan-democodetools,
- title = {The \texttt{democodetools} package},
- subtitle = {Package for \LaTeX{} code documentation},
- author = {Alceu Frigeri},
- date = {2022-09-08},
- version = {1.0.1beta},
- license = {lppl1.3c,gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/democodetools},
- url = {https://ctan.org/pkg/democodetools},
-}
-
-@manual{ctan-denisbdoc,
- title = {The \texttt{denisbdoc} package},
- subtitle = {A personal dirty package for documenting packages},
- author = {Denis Bitouzé},
- date = {2022-06-13},
- version = {0.9.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/denisbdoc},
- url = {https://ctan.org/pkg/denisbdoc},
-}
-
-@manual{ctan-deproc,
- title = {The \texttt{deproc} package},
- subtitle = {Macros for DECUS proceedings articles},
- author = {Barbara Beeton},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/deproc},
- url = {https://ctan.org/pkg/deproc},
-}
-
-@manual{ctan-derivative,
- title = {The \texttt{derivative} package},
- subtitle = {Nice and easy derivatives},
- author = {Simon Jensen},
- date = {2022-07-09},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/derivative},
- url = {https://ctan.org/pkg/derivative},
-}
-
-@manual{ctan-desclist,
- title = {The \texttt{desclist} package},
- subtitle = {Extended “description” lists},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/desclist},
-}
-
-@manual{ctan-designcon,
- title = {The \texttt{designcon} package},
- subtitle = {Develop DesignCon papers},
- author = {Peter J. Pupalaikis},
- date = {2016-06-24},
- version = {0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/designcon},
- url = {https://ctan.org/pkg/designcon},
-}
-
-@manual{ctan-detex,
- title = {The \texttt{detex} package},
- subtitle = {Strip \TeX{} from a source file},
- author = {Daniel Trinkle},
- date = {2020-03-15},
- version = {},
- license = {other-free},
- url = {https://ctan.org/pkg/detex},
-}
-
-@manual{ctan-detexfaq,
- title = {The \texttt{detexfaq} package},
- subtitle = {German \TeX{} FAQ},
- author = {Patrick Gundlach},
- date = {2017-04-18},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/german/detexfaq/detexfaq.pdf},
- url = {https://ctan.org/pkg/detexfaq},
-}
-
-@manual{ctan-devanagari-omega,
- title = {The \texttt{devanagari-omega} package},
- subtitle = {Typeset Devanagari with Omega},
- author = {{Unknown}},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/devanagari/omega},
- url = {https://ctan.org/pkg/devanagari-omega},
-}
-
-@manual{ctan-devanagari,
- title = {The \texttt{devanagari} package},
- subtitle = {Typeset Devanagari},
- author = {Zdeněk Wagner and Anshuman Pandey and Frans Velthuis and Steven T. Smith and Dominik Wujastyk and François Patte},
- date = {2020-06-07},
- version = {2.17.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/devanagari/velthuis},
- url = {https://ctan.org/pkg/devanagari},
-}
-
-@manual{ctan-development,
- title = {The \texttt{development} package},
- subtitle = {BibTeX style file for the journal Development},
- author = {Stephen Eglen},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/development.bst},
- url = {https://ctan.org/pkg/development},
- annotation = {Here is a BibTeX style file for biologists interested in
- submitting an article to the
- .},
-}
-
-@manual{ctan-dfgproposal,
- title = {The \texttt{dfgproposal} package},
- subtitle = {Support for writing proposals to the DFG},
- author = {Michael Kohlhase},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proposal},
- url = {https://ctan.org/pkg/dfgproposal},
-}
-
-@manual{ctan-dhua,
- title = {The \texttt{dhua} package},
- subtitle = {German abbreviations using thin space},
- author = {Uwe Lück},
- date = {2017-05-05},
- version = {0.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dhua},
- url = {https://ctan.org/pkg/dhua},
-}
-
-@manual{ctan-diabetes-logbook,
- title = {The \texttt{diabetes-logbook} package},
- subtitle = {A logbook for people with type one diabetes},
- author = {Viktor Grigorov},
- date = {2020-04-22},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/diabetes-logbook},
- url = {https://ctan.org/pkg/diabetes-logbook},
-}
-
-@manual{ctan-diadia,
- title = {The \texttt{diadia} package},
- subtitle = {Package to keep a diabetes diary},
- author = {Josef Kleber},
- date = {2017-04-18},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/diadia},
- url = {https://ctan.org/pkg/diadia},
-}
-
-@manual{ctan-diagbox,
- title = {The \texttt{diagbox} package},
- subtitle = {Table heads with diagonal lines},
- author = {Leo Liu},
- date = {2020-02-29},
- version = {2.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/diagbox},
- url = {https://ctan.org/pkg/diagbox},
-}
-
-@manual{ctan-diagmac,
- title = {The \texttt{diagmac} package},
- subtitle = {A diagram drawing package},
- author = {John Reynolds},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/diagmac},
- url = {https://ctan.org/pkg/diagmac},
-}
-
-@manual{ctan-diagmac2,
- title = {The \texttt{diagmac2} package},
- subtitle = {Diagram macros, using pict2e},
- author = {Bob Tennent and John Reynolds},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/diagmac2},
- url = {https://ctan.org/pkg/diagmac2},
- annotation = {This is a development of the long-established
- package, using
- so that the restrictions on
- line direction are removed.},
-}
-
-@manual{ctan-diagnose,
- title = {The \texttt{diagnose} package},
- subtitle = {A diagnostic tool for a \TeX{} installation},
- author = {Oliver Corff},
- date = {2016-06-24},
- version = {0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/diagnose},
- url = {https://ctan.org/pkg/diagnose},
-}
-
-@manual{ctan-diagramf,
- title = {The \texttt{diagramf} package},
- subtitle = {Labelled diagrams in Metafont},
- author = {Jeremy Gibbons and Alan Jeffrey},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/diagramf},
- url = {https://ctan.org/pkg/diagramf},
- annotation = {The package provides a means of labelling diagrams each produced
- as a Metafont character in a ‘font’ which is
- produced using the Metafont package. \LaTeX{}
- passes data to Metafont (by ordinary \LaTeX{} file-writing
- mechanisms), and Metafont writes stuff into its log-file, which
- must then be extracted into a different file so that \LaTeX{} can see
- it.},
-}
-
-@manual{ctan-diagrams,
- title = {The \texttt{diagrams} package},
- subtitle = {A CTAN collection of diagram macro packages},
- author = {{The CTAN Team}},
- date = {2021-08-26},
- license = {collection},
- url = {https://ctan.org/pkg/diagrams},
-}
-
-@manual{ctan-diagxy,
- title = {The \texttt{diagxy} package},
- subtitle = {Diagram macros by Michael Barr},
- author = {Michael Barr},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/diagxy},
- url = {https://ctan.org/pkg/diagxy},
-}
-
-@manual{ctan-dialogl,
- title = {The \texttt{dialogl} package},
- subtitle = {Macros for constructing interactive \LaTeX{} scripts},
- author = {Michael J. Downes},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dialogl},
- url = {https://ctan.org/pkg/dialogl},
-}
-
-@manual{ctan-dialogue,
- title = {The \texttt{dialogue} package},
- subtitle = {Quote short scripted dialogue in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/dialogue},
-}
-
-@manual{ctan-dice,
- title = {The \texttt{dice} package},
- subtitle = {A font for die faces},
- author = {Thomas Heim},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/dice},
- url = {https://ctan.org/pkg/dice},
-}
-
-@manual{ctan-dichokey,
- title = {The \texttt{dichokey} package},
- subtitle = {Construct dichotomous identification keys},
- author = {Nico Dam},
- date = {2020-07-11},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dichokey},
- url = {https://ctan.org/pkg/dichokey},
-}
-
-@manual{ctan-dickimaw,
- title = {The \texttt{dickimaw} package},
- subtitle = {Books and tutorials from the “Dickimaw \LaTeX{} Series”},
- author = {Nicola Talbot},
- date = {2017-04-18},
- version = {},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/dickimaw},
- url = {https://ctan.org/pkg/dickimaw},
-}
-
-@manual{ctan-dictsym,
- title = {The \texttt{dictsym} package},
- subtitle = {DictSym font and macro package},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/dictsym},
- url = {https://ctan.org/pkg/dictsym},
-}
-
-@manual{ctan-diffcoeff,
- title = {The \texttt{diffcoeff} package},
- subtitle = {Write differential coefficients easily and consistently},
- author = {Andrew Parsloe},
- date = {2023-01-23},
- version = {5.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/diffcoeff},
- url = {https://ctan.org/pkg/diffcoeff},
-}
-
-@manual{ctan-digestif,
- title = {The \texttt{digestif} package},
- subtitle = {Editor plugin for \LaTeX{}, ConTeXt etc.},
- author = {Augusto Stoffel},
- date = {2022-12-08},
- version = {0.5.1},
- license = {gpl3+,lppl1.3,fdl},
- mirror = {https://mirror.ctan.org/support/digestif},
- url = {https://ctan.org/pkg/digestif},
-}
-
-@manual{ctan-digicap-pro,
- title = {The \texttt{digicap-pro} package},
- subtitle = {Creates captions to digital photos},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/digicap-pro},
- url = {https://ctan.org/pkg/digicap-pro},
-}
-
-@manual{ctan-digiconfigs,
- title = {The \texttt{digiconfigs} package},
- subtitle = {Writing "configurations"},
- author = {Lars Madsen},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/digiconfigs},
- url = {https://ctan.org/pkg/digiconfigs},
- annotation = {In Stochastic Geometry and Digital Image Analysis some problems
- can be solved in terms of so-called
- “configurations”. A configuration is basically a
- square matrix of and symbols.
- This package provides a convenient and compact mechanism for
- displaying these configurations.},
-}
-
-@manual{ctan-dijkstra,
- title = {The \texttt{dijkstra} package},
- subtitle = {Dijkstra algorithm for \LaTeX{}},
- author = {Christian Tellechea},
- date = {2022-10-01},
- version = {0.13},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dijkstra},
- url = {https://ctan.org/pkg/dijkstra},
-}
-
-@manual{ctan-dimnum,
- title = {The \texttt{dimnum} package},
- subtitle = {Commands for dimensionless numbers},
- author = {Miguel R. Clemente},
- date = {2021-04-08},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dimnum},
- url = {https://ctan.org/pkg/dimnum},
-}
-
-@manual{ctan-din1505,
- title = {The \texttt{din1505} package},
- subtitle = {Bibliography styles for German texts},
- author = {Klaus F. Lorenzen and Helge Baumann},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/german/din1505},
- url = {https://ctan.org/pkg/din1505},
- annotation = {A set of bibliography styles that conformt to DIN 1505, and match
- the original BibTeX standard set (, ,
- and ), together with a style
- to work with .},
-}
-
-@manual{ctan-dinat,
- title = {The \texttt{dinat} package},
- subtitle = {Bibliography style for German texts},
- author = {Helge Baumann},
- date = {2016-06-24},
- version = {2.5},
- license = {pd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/german/dinat},
- url = {https://ctan.org/pkg/dinat},
-}
-
-@manual{ctan-dinbrief-gui,
- title = {The \texttt{dinbrief-gui} package},
- subtitle = {GUI for \LaTeX{} package dinbrief},
- author = {Wolf-Dieter Busch},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/dinbrief-gui},
- url = {https://ctan.org/pkg/dinbrief-gui},
- annotation = {Graphical user interface for the \LaTeX{} package
- . The GUI is available as a
- Windows executable, as a Tcl/Tk script, and as Tclkit. It's small,
- fast, and for just writing letters, it's better-featured than any
- word processor!},
-}
-
-@manual{ctan-dinbrief,
- title = {The \texttt{dinbrief} package},
- subtitle = {German letter DIN style},
- author = {Klaus Dieter Braune and Richard Gussmann},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dinbrief},
- url = {https://ctan.org/pkg/dinbrief},
-}
-
-@manual{ctan-dingbat,
- title = {The \texttt{dingbat} package},
- subtitle = {Two dingbat symbol fonts},
- author = {Doug Henderson and Scott Pakin},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/dingbat},
- url = {https://ctan.org/pkg/dingbat},
-}
-
-@manual{ctan-directory,
- title = {The \texttt{directory} package},
- subtitle = {An address book using BibTeX},
- author = {Christophe Geuzaine},
- date = {2017-04-18},
- version = {1.20},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/directory},
- url = {https://ctan.org/pkg/directory},
-}
-
-@manual{ctan-directtex,
- title = {The \texttt{directtex} package},
- subtitle = {TeX for the Macintosh},
- author = {Wilfried Ricken},
- date = {2016-06-24},
- version = {2.1.2},
- license = {shareware},
- mirror = {https://mirror.ctan.org/obsolete/systems/mac/directtex},
- url = {https://ctan.org/pkg/directtex},
-}
-
-@manual{ctan-dirtree,
- title = {The \texttt{dirtree} package},
- subtitle = {Display trees in the style of windows explorer},
- author = {Jean-Côme Charpentier},
- date = {2016-06-24},
- version = {0.32},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/dirtree},
- url = {https://ctan.org/pkg/dirtree},
-}
-
-@manual{ctan-dirtytalk,
- title = {The \texttt{dirtytalk} package},
- subtitle = {A package to typeset quotations easier},
- author = {Moritz Klammler},
- date = {2023-03-06},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dirtytalk},
- url = {https://ctan.org/pkg/dirtytalk},
- annotation = {The package provides a macro to typeset quotations, using the
- command . The quotation mark glyphs
- are inserted by the macro; nested quotations are detected.},
-}
-
-@manual{ctan-disser,
- title = {The \texttt{disser} package},
- subtitle = {Class and templates for typesetting dissertations in Russian},
- author = {Stanislav Kruchinin},
- date = {2017-03-06},
- version = {1.5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/disser},
- url = {https://ctan.org/pkg/disser},
-}
-
-@manual{ctan-ditaa,
- title = {The \texttt{ditaa} package},
- subtitle = {Use ditaa diagrams within \LaTeX{} documents},
- author = {Hiroshi Ukai},
- date = {2018-10-20},
- version = {0.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ditaa},
- url = {https://ctan.org/pkg/ditaa},
- annotation = {With this package ditaa () diagrams can be embedded directly into \LaTeX{} files.},
-}
-
-@manual{ctan-dithesis,
- title = {The \texttt{dithesis} package},
- subtitle = {A class for undergraduate theses at the University of Athens},
- author = {Yannis Mantzouratos},
- date = {2017-10-06},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dithesis},
- url = {https://ctan.org/pkg/dithesis},
-}
-
-@manual{ctan-divine,
- title = {The \texttt{divine} package},
- subtitle = {\LaTeX{} support for the divine font},
- author = {Boris Veytsman},
- date = {2020-08-29},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/divine},
- url = {https://ctan.org/pkg/divine},
- annotation = {The package provides support files for the
-
- from the .},
-}
-
-@manual{ctan-djgpp,
- title = {The \texttt{djgpp} package},
- subtitle = {DJGPP-based version of \TeX{} for MS-DOS},
- author = {Eli Zaretskii},
- date = {2019-09-12},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/msdos/djgpp},
- url = {https://ctan.org/pkg/djgpp},
-}
-
-@manual{ctan-dk-bib,
- title = {The \texttt{dk-bib} package},
- subtitle = {Danish variants of standard BibTeX styles},
- author = {Arne Jørgensen},
- date = {2016-06-24},
- version = {0.6},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/dk-bib},
- url = {https://ctan.org/pkg/dk-bib},
-}
-
-@manual{ctan-dkhyphen,
- title = {The \texttt{dkhyphen} package},
- subtitle = {Danish hyphenation patterns},
- author = {Frank Jensen},
- date = {2016-11-05},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/dkhyphen},
- url = {https://ctan.org/pkg/dkhyphen},
-}
-
-@manual{ctan-dktools,
- title = {The \texttt{dktools} package},
- subtitle = {Tools and libraries by Dirk Krause},
- author = {Dirk Krause},
- date = {2020-10-11},
- license = {bsd3},
- url = {https://ctan.org/pkg/dktools},
-}
-
-@manual{ctan-dlfltxb,
- title = {The \texttt{dlfltxb} package},
- subtitle = {Macros related to "Introdktion til \LaTeX{}"},
- author = {Lars Madsen},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dlfltxb},
- url = {https://ctan.org/pkg/dlfltxb},
-}
-
-@manual{ctan-dmfonts,
- title = {The \texttt{dmfonts} package},
- subtitle = {Virtual fonts to provide T1 encoding},
- author = {Wayne Sullivan and Volker Kunert},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/fonts/dmfonts},
- url = {https://ctan.org/pkg/dmfonts},
-}
-
-@manual{ctan-dmhgener,
- title = {The \texttt{dmhgener} package},
- subtitle = {Equation, figure (etc.) numbering and referencing},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/dmhgener.tex},
- url = {https://ctan.org/pkg/dmhgener},
-}
-
-@manual{ctan-dnaseq,
- title = {The \texttt{dnaseq} package},
- subtitle = {Format DNA base sequences},
- author = {Bjørn Pedersen},
- date = {2016-06-24},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dnaseq},
- url = {https://ctan.org/pkg/dnaseq},
-}
-
-@manual{ctan-do-it-yourself-tex,
- title = {The \texttt{do-it-yourself-tex} package},
- subtitle = {Back to Plain XeTeX},
- author = {Roger Herz-Fischler},
- date = {2019-03-19},
- version = {1.3},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/xetex/plain/do-it-yourself-tex},
- url = {https://ctan.org/pkg/do-it-yourself-tex},
-}
-
-@manual{ctan-doafter,
- title = {The \texttt{doafter} package},
- subtitle = {Do things after a group},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/doafter},
-}
-
-@manual{ctan-doc-pictex,
- title = {The \texttt{doc-pictex} package},
- subtitle = {A summary list of PicTeX documentation},
- author = {Uwe Lück},
- date = {2017-05-05},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/pictex/Doc-PiCTeX.txt},
- url = {https://ctan.org/pkg/doc-pictex},
-}
-
-@manual{ctan-doc,
- title = {The \texttt{doc} package},
- subtitle = {Format \LaTeX{} documentation},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {3.0j},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/doc},
-}
-
-@manual{ctan-docarc,
- title = {The \texttt{docarc} package},
- subtitle = {Multi-user distributed bibliographic database system},
- author = {Konrad Kieling},
- date = {2017-04-18},
- version = {0.9.4},
- license = {other-free},
- url = {https://ctan.org/pkg/docarc},
-}
-
-@manual{ctan-docassembly,
- title = {The \texttt{docassembly} package},
- subtitle = {Use the Acrobat JavaScript API},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/docassembly},
- url = {https://ctan.org/pkg/docassembly},
-}
-
-@manual{ctan-docbytex,
- title = {The \texttt{docbytex} package},
- subtitle = {Creating documentation from source code},
- author = {Petr Olšák},
- date = {2017-04-18},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/docbytex},
- url = {https://ctan.org/pkg/docbytex},
-}
-
-@manual{ctan-doclicense,
- title = {The \texttt{doclicense} package},
- subtitle = {Support for putting documents under a license},
- author = {Robin Schneider},
- date = {2022-05-18},
- version = {3.2.0},
- license = {cc0,lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/doclicense},
- url = {https://ctan.org/pkg/doclicense},
-}
-
-@manual{ctan-docmfp,
- title = {The \texttt{docmfp} package},
- subtitle = {Document non-\LaTeX{} code},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/docmfp},
- url = {https://ctan.org/pkg/docmfp},
- annotation = {Extends the package to cater for
- documenting non-\LaTeX{} code, such as Metafont or MetaPost, or
- other programming languages.},
-}
-
-@manual{ctan-docmute,
- title = {The \texttt{docmute} package},
- subtitle = {Input files ignoring \LaTeX{} preamble, etc},
- author = {Tomasz M. Trzeciak},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/docmute},
- url = {https://ctan.org/pkg/docmute},
- annotation = {Input or include stand-alone \LaTeX{} documents, ignoring everything
- but the material between
- and .},
-}
-
-@manual{ctan-docshots,
- title = {The \texttt{docshots} package},
- subtitle = {TeX samples next to their PDF Snapshots},
- author = {Yegor Bugayenko},
- date = {2022-11-29},
- version = {0.4.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/docshots},
- url = {https://ctan.org/pkg/docshots},
- annotation = {This \LaTeX{} package helps you show \TeX{} code next to
- the corresponding PDF snapshots, in two-column formatting.
- You can use it either in documentation
- or in files.},
-}
-
-@manual{ctan-docstrip,
- title = {The \texttt{docstrip} package},
- subtitle = {Remove comments from file},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {2.6b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/docstrip},
-}
-
-@manual{ctan-docsurvey,
- title = {The \texttt{docsurvey} package},
- subtitle = {A survey of \LaTeX{} documentation},
- author = {Brian Dunn},
- date = {2021-12-30},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/docsurvey},
- url = {https://ctan.org/pkg/docsurvey},
-}
-
-@manual{ctan-doctools,
- title = {The \texttt{doctools} package},
- subtitle = {Tools for the documentation of \LaTeX{} code},
- author = {Matthias Pospiech},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/doctools},
- url = {https://ctan.org/pkg/doctools},
- annotation = {The package provides a collection of tools for use either in an
- “ordinary” \LaTeX{} document, or within a file.},
-}
-
-@manual{ctan-documentation,
- title = {The \texttt{documentation} package},
- subtitle = {Documentation support for C, Java and assembler code},
- author = {Omar Salazar Morales},
- date = {2020-08-29},
- version = {0.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/documentation},
- url = {https://ctan.org/pkg/documentation},
-}
-
-@manual{ctan-docutils,
- title = {The \texttt{docutils} package},
- subtitle = {Helper commands and element definitions for Docutils \LaTeX{} output},
- author = {Günter Milde},
- date = {2020-09-26},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/docutils},
- url = {https://ctan.org/pkg/docutils},
-}
-
-@manual{ctan-dogma,
- title = {The \texttt{dogma} package},
- subtitle = {Metrics and \LaTeX{} support for Dogma Font From Emigre Graphics},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.3},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/psfonts/emigre/dogma},
- url = {https://ctan.org/pkg/dogma},
- annotation = {This package provides metric files and \LaTeX{} support for the
- ,
- designed by Zuzana Licko in 1994. It has everything you need to
- typeset in this font — except, of course, the font itself.},
-}
-
-@manual{ctan-doi,
- title = {The \texttt{doi} package},
- subtitle = {Create correct hyperlinks for DOI numbers},
- author = {Maarten Sneep and Heiko Oberdiek},
- date = {2018-09-09},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/doi},
- url = {https://ctan.org/pkg/doi},
- annotation = {You can hyperlink DOI numbers to
- . However, some
- publishers have elected to use nasty characters in their DOI
- numbering scheme (‘<’, ‘>’, ‘\_’
- and ‘;’ have all been spotted). This will either
- upset (La)TeX, or your PDF reader. This package contains a single
- user-level command , which takes a DOI number, and
- creates a correct hyperlink to the target of the DOI.},
-}
-
-@manual{ctan-doipubmed,
- title = {The \texttt{doipubmed} package},
- subtitle = {Special commands for use in bibliographies},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/doipubmed},
- url = {https://ctan.org/pkg/doipubmed},
- annotation = {The package provides the commands ,
- and . These commands are
- primarily designed for use in bibliographies. A \LaTeX{}2HTML style
- file is also provided.},
-}
-
-@manual{ctan-domitian,
- title = {The \texttt{domitian} package},
- subtitle = {Drop-in replacement for Palatino},
- author = {Daniel Benjamin Miller},
- date = {2020-05-26},
- version = {1.0.1},
- license = {lppl1.3c,ofl,other-free},
- mirror = {https://mirror.ctan.org/fonts/domitian},
- url = {https://ctan.org/pkg/domitian},
-}
-
-@manual{ctan-dos-dc,
- title = {The \texttt{dos-dc} package},
- subtitle = {A distribution of the DC fonts for emTeX},
- author = {Ralph Schleicher and Norbert Schwarz},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/msdos/dos-dc},
- url = {https://ctan.org/pkg/dos-dc},
-}
-
-@manual{ctan-dosepsbin,
- title = {The \texttt{dosepsbin} package},
- subtitle = {Deal with DOS binary EPS files},
- author = {Heiko Oberdiek},
- date = {2016-07-05},
- version = {1.2},
- license = {artistic},
- mirror = {https://mirror.ctan.org/support/dosepsbin},
- url = {https://ctan.org/pkg/dosepsbin},
-}
-
-@manual{ctan-dot2tex,
- title = {The \texttt{dot2tex} package},
- subtitle = {Convert graphs generated by Graphviz to \LaTeX{} friendly formats},
- author = {Kjell Magne Fauske},
- date = {2018-09-15},
- version = {2.7.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/dot2tex},
- url = {https://ctan.org/pkg/dot2tex},
-}
-
-@manual{ctan-dot2texi,
- title = {The \texttt{dot2texi} package},
- subtitle = {Create graphs within \LaTeX{} using the dot2tex tool},
- author = {Kjell Magne Fauske},
- date = {2018-09-15},
- version = {3.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dot2texi},
- url = {https://ctan.org/pkg/dot2texi},
- annotation = {The dot2texi package allows you to embed graphs in the DOT graph
- description language in your \LaTeX{} documents. The
- tool is used to invoke
- for graph layout,
- and to transform the output from Graphviz to \LaTeX{} code. The
- generated code relies on the
- package or the package.
- The process is automated if shell escape is enabled.},
-}
-
-@manual{ctan-dotarrow,
- title = {The \texttt{dotarrow} package},
- subtitle = {Extendable dotted arrows},
- author = {Sven Schneider},
- date = {2016-06-24},
- version = {0.01a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dotarrow},
- url = {https://ctan.org/pkg/dotarrow},
- annotation = {The package can draw dotted arrows that are extendable, in the
- same was as .},
-}
-
-@manual{ctan-dotlessi,
- title = {The \texttt{dotlessi} package},
- subtitle = {Provides dotless i’s and j’s for use in any math font},
- author = {Javier Bezos López},
- date = {2019-07-06},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dotlessi},
- url = {https://ctan.org/pkg/dotlessi},
- annotation = {The package provides two commands: and ,
- which give access to dotless i's and j's in math mode. They are intended for
- symbols in non English languages.},
-}
-
-@manual{ctan-dotlessj,
- title = {The \texttt{dotlessj} package},
- subtitle = {Generates a dot-less j},
- author = {David Carlisle},
- date = {2022-03-14},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carlisle/dotlessj.sty},
- url = {https://ctan.org/pkg/dotlessj},
-}
-
-@manual{ctan-dotseqn,
- title = {The \texttt{dotseqn} package},
- subtitle = {Flush left equations with dotted leaders to the numbers},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dotseqn},
- url = {https://ctan.org/pkg/dotseqn},
-}
-
-@manual{ctan-dottex,
- title = {The \texttt{dottex} package},
- subtitle = {Use dot code in \LaTeX{}},
- author = {Lars Kotthoff},
- date = {2016-06-24},
- version = {0.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dottex},
- url = {https://ctan.org/pkg/dottex},
- annotation = {The dottex package allows you to encapsulate ‘dot’
- and ‘neato’
- files in your document (dot and neato are both part of
- ; dot creates
- directed graphs, neato undirected graphs). If you have
- shell-escape enabled, the package will arrange for your files to
- be processed at \LaTeX{} time; otherwise, the conversion must be done
- manually as an intermediate process before a second \LaTeX{} run.},
-}
-
-@manual{ctan-doublecol,
- title = {The \texttt{doublecol} package},
- subtitle = {Double-column page macros for Plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/doublecol.tex},
- url = {https://ctan.org/pkg/doublecol},
- annotation = {These macros are derived from Knuth’s macros (separately
- ), by an unknown
- hand.},
-}
-
-@manual{ctan-doublespace,
- title = {The \texttt{doublespace} package},
- subtitle = {Double space environment},
- author = {Stephen Page},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/contrib/misc/doublespace.sty},
- url = {https://ctan.org/pkg/doublespace},
-}
-
-@manual{ctan-doublestroke,
- title = {The \texttt{doublestroke} package},
- subtitle = {Typeset mathematical double stroke symbols},
- author = {Olaf Kummer},
- date = {2016-07-29},
- version = {1.111},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/doublestroke},
- url = {https://ctan.org/pkg/doublestroke},
-}
-
-@manual{ctan-doulossil,
- title = {The \texttt{doulossil} package},
- subtitle = {A font for typesetting the International Phonetic Alphabet (IPA)},
- author = {{Unknown}},
- date = {2022-05-06},
- version = {0.1},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/doulossil},
- url = {https://ctan.org/pkg/doulossil},
-}
-
-@manual{ctan-dow,
- title = {The \texttt{dow} package},
- subtitle = {Calculate day of week from a numeric date},
- author = {{Unknown}},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/dow.tex},
- url = {https://ctan.org/pkg/dow},
-}
-
-@manual{ctan-dowith,
- title = {The \texttt{dowith} package},
- subtitle = {Apply a command to a list of items},
- author = {Uwe Lück},
- date = {2017-05-05},
- version = {r0.32},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/dowith},
- url = {https://ctan.org/pkg/dowith},
-}
-
-@manual{ctan-download,
- title = {The \texttt{download} package},
- subtitle = {Allow \LaTeX{} to download files using an external process},
- author = {Simon Sigurdhsson},
- date = {2019-10-02},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/download},
- url = {https://ctan.org/pkg/download},
-}
-
-@manual{ctan-dox,
- title = {The \texttt{dox} package},
- subtitle = {Extend the doc package},
- author = {Didier Verna},
- date = {2018-01-06},
- version = {2.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dox},
- url = {https://ctan.org/pkg/dox},
- annotation = {The package provides \LaTeX{} developers
- with means to describe the usage and the definition of new macros
- and environments. However, there is no simple way to extend this
- functionality to other items (options or counters, for instance).
- The DoX package is designed to circumvent this limitation.},
-}
-
-@manual{ctan-dozenal,
- title = {The \texttt{dozenal} package},
- subtitle = {Typeset documents using base twelve numbering (also called “dozenal”)},
- author = {Donald P. Goodman},
- date = {2018-05-11},
- version = {7.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/dozenal},
- url = {https://ctan.org/pkg/dozenal},
-}
-
-@manual{ctan-dpcircling,
- title = {The \texttt{DPcircling} package},
- subtitle = {Decorated text boxes using TikZ},
- author = {Oura Mitsuaki},
- date = {2020-04-26},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/dpcircling},
- url = {https://ctan.org/pkg/dpcircling},
-}
-
-@manual{ctan-dpfloat,
- title = {The \texttt{dpfloat} package},
- subtitle = {Support for double-page floats},
- author = {Jim Fox},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dpfloat},
- url = {https://ctan.org/pkg/dpfloat},
-}
-
-@manual{ctan-dprogress,
- title = {The \texttt{dprogress} package},
- subtitle = {LaTeX-relevant log information for debugging},
- author = {Brian Amberg},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dprogress},
- url = {https://ctan.org/pkg/dprogress},
-}
-
-@manual{ctan-dps,
- title = {The \texttt{dps} package},
- subtitle = {Create a "matching" game with a hidden message},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dps},
- url = {https://ctan.org/pkg/dps},
-}
-
-@manual{ctan-drac,
- title = {The \texttt{drac} package},
- subtitle = {Declare active character substitution, robustly},
- author = {Yvon Henel and Josselin Noirel},
- date = {2018-01-06},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/drac},
- url = {https://ctan.org/pkg/drac},
-}
-
-@manual{ctan-draft,
- title = {The \texttt{draft} package},
- subtitle = {A \LaTeX{} 2.09 style for supporting work on drafts},
- author = {Joe Baker},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/draft.sty},
- url = {https://ctan.org/pkg/draft},
- annotation = {The package marks , , ,
- and commands with a small mark
- in the text and with a marginal note of the label, citation or
- whatever itself.},
-}
-
-@manual{ctan-draftcopy,
- title = {The \texttt{draftcopy} package},
- subtitle = {Identify draft copies},
- author = {Jürgen Vollmer},
- date = {2016-06-24},
- version = {2.16},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/draftcopy},
- url = {https://ctan.org/pkg/draftcopy},
-}
-
-@manual{ctan-draftfigure,
- title = {The \texttt{draftfigure} package},
- subtitle = {Replace figures with a white box and additional features},
- author = {Lukas C. Bossert},
- date = {2018-01-07},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/draftfigure},
- url = {https://ctan.org/pkg/draftfigure},
-}
-
-@manual{ctan-drafthead,
- title = {The \texttt{drafthead} package},
- subtitle = {Mark "DRAFT" in page headers},
- author = {Stephen Page},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/drafthead.sty},
- url = {https://ctan.org/pkg/drafthead},
-}
-
-@manual{ctan-draftmark,
- title = {The \texttt{draftmark} package},
- subtitle = {Put draft marks on selected pages},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {1.2},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/draftmark},
- url = {https://ctan.org/pkg/draftmark},
-}
-
-@manual{ctan-draftwatermark,
- title = {The \texttt{draftwatermark} package},
- subtitle = {Put a grey textual watermark on document pages},
- author = {Sergio Callegari},
- date = {2020-12-08},
- version = {3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/draftwatermark},
- url = {https://ctan.org/pkg/draftwatermark},
-}
-
-@manual{ctan-drama,
- title = {The \texttt{drama} package},
- subtitle = {Production-style stage script in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein/unsupported},
- url = {https://ctan.org/pkg/drama},
-}
-
-@manual{ctan-dramatist,
- title = {The \texttt{dramatist} package},
- subtitle = {Typeset dramas, both in verse and in prose},
- author = {Massimiliano Dominici},
- date = {2016-06-24},
- version = {1.2e},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dramatist},
- url = {https://ctan.org/pkg/dramatist},
-}
-
-@manual{ctan-dratex,
- title = {The \texttt{dratex} package},
- subtitle = {General drawing macros},
- author = {Eitan M. Gurari},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/dratex},
- url = {https://ctan.org/pkg/dratex},
-}
-
-@manual{ctan-drawing,
- title = {The \texttt{drawing} package},
- subtitle = {Simple drawings with Metafont},
- author = {Zdeněk Wagner},
- date = {2018-01-06},
- version = {1.0a},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/drawing},
- url = {https://ctan.org/pkg/drawing},
- annotation = {A system for producing drawings using Metafont glyphs (or
- sequences of glyphs, tiled together using the
- package).},
-}
-
-@manual{ctan-drawmatrix,
- title = {The \texttt{drawmatrix} package},
- subtitle = {Draw visual representations of matrices in \LaTeX{}},
- author = {Elmar Peise},
- date = {2017-06-05},
- version = {1.5.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/drawmatrix},
- url = {https://ctan.org/pkg/drawmatrix},
-}
-
-@manual{ctan-drawstack,
- title = {The \texttt{drawstack} package},
- subtitle = {Draw execution stacks},
- author = {Matthieu Moy},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/drawstack},
- url = {https://ctan.org/pkg/drawstack},
- annotation = {This simple \LaTeX{} package provides support for drawing execution
- stack (typically to illustrate assembly language notions). The
- code is written on top of .},
-}
-
-@manual{ctan-drcaps,
- title = {The \texttt{drcaps} package},
- subtitle = {Simple dropped capitals},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov/tex/drcaps.sty},
- url = {https://ctan.org/pkg/drcaps},
-}
-
-@manual{ctan-drftcite,
- title = {The \texttt{drftcite} package},
- subtitle = {Print the bibliography in "draft" mode},
- author = {Donald Arseneau},
- date = {2018-01-06},
- version = {3.91},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cite/drftcite.sty},
- url = {https://ctan.org/pkg/drftcite},
-}
-
-@manual{ctan-drm,
- title = {The \texttt{drm} package},
- subtitle = {A complete family of fonts written in Metafont},
- author = {Donald P. Goodman},
- date = {2016-06-24},
- version = {4.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/drm},
- url = {https://ctan.org/pkg/drm},
-}
-
-@manual{ctan-droid,
- title = {The \texttt{droid} package},
- subtitle = {\LaTeX{} support for the Droid font families},
- author = {Mohamed El Morabity and Steve Matteson},
- date = {2020-02-08},
- version = {3.2},
- license = {lppl1.3c,apache2},
- mirror = {https://mirror.ctan.org/fonts/droid},
- url = {https://ctan.org/pkg/droid},
-}
-
-@manual{ctan-droit-fr,
- title = {The \texttt{droit-fr} package},
- subtitle = {Document class and bibliographic style for French law},
- author = {Yves de Saint-Pern},
- date = {2016-07-05},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/droit-fr},
- url = {https://ctan.org/pkg/droit-fr},
-}
-
-@manual{ctan-drop,
- title = {The \texttt{drop} package},
- subtitle = {Dropped capitals at the start of a paragraph (\LaTeX{} 2.09)},
- author = {David G. Cantor and Dominik Wujastyk},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/drop.sty},
- url = {https://ctan.org/pkg/drop},
-}
-
-@manual{ctan-dropcaps,
- title = {The \texttt{dropcaps} package},
- subtitle = {Use dropped capitals to start a paragraph},
- author = {Fred Lauwers},
- date = {2016-06-24},
- version = {0.30},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/dropcaps},
- url = {https://ctan.org/pkg/dropcaps},
- annotation = {While this package still works as originally intended (as far as
- it goes), the more sophisticated
- package is recommended for
- the job, nowadays.},
-}
-
-@manual{ctan-dropping,
- title = {The \texttt{dropping} package},
- subtitle = {Drop first letter of paragraphs},
- author = {Mats Dahlgren},
- date = {2016-06-24},
- version = {0.12a},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dropping},
- url = {https://ctan.org/pkg/dropping},
- annotation = {The package provides A \LaTeX{}2e macro for dropping the first
- character(s) (or word(s)) of a paragraph, extending the \LaTeX{} 2.09
- package and automatically
- taking care of finding the font name. Now largely superseded by
- .},
-}
-
-@manual{ctan-drs,
- title = {The \texttt{drs} package},
- subtitle = {Typeset Discourse Representation Structures (DRS)},
- author = {Alexis Dimitriadis},
- date = {2016-06-24},
- version = {1.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/drs},
- url = {https://ctan.org/pkg/drs},
-}
-
-@manual{ctan-drv,
- title = {The \texttt{drv} package},
- subtitle = {Derivation trees with MetaPost},
- author = {Laurent Méhats},
- date = {2016-06-24},
- version = {0.97},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/drv},
- url = {https://ctan.org/pkg/drv},
-}
-
-@manual{ctan-dsptricks,
- title = {The \texttt{dsptricks} package},
- subtitle = {Macros for Digital Signal Processing plots},
- author = {Paolo Prandoni},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/dsptricks},
- url = {https://ctan.org/pkg/dsptricks},
-}
-
-@manual{ctan-dsserif,
- title = {The \texttt{DSSerif} package},
- subtitle = {A double-struck serifed font for mathematical use},
- author = {Michael Sharpe},
- date = {2021-10-30},
- version = {1.031},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/dsserif},
- url = {https://ctan.org/pkg/dsserif},
-}
-
-@manual{ctan-dtk-1.32,
- title = {The \texttt{dtk-1.32} package},
- subtitle = {Document class for the journal of DANTE},
- author = {Gerd Neugebauer and Herbert Voß},
- date = {2019-06-09},
- version = {1.32},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/usergrps/dante/dtk-1.32},
- url = {https://ctan.org/pkg/dtk-1.32},
-}
-
-@manual{ctan-dtk-bibliography,
- title = {The \texttt{dtk-bibliography} package},
- subtitle = {Bibliography of “Die \TeX{}nische Komödie”},
- author = {Uwe Ziegenhagen},
- date = {2023-01-03},
- version = {2022-04},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/dtk-bibliography},
- url = {https://ctan.org/pkg/dtk-bibliography},
-}
-
-@manual{ctan-dtk,
- title = {The \texttt{dtk} package},
- subtitle = {Document class for the journal of DANTE},
- author = {Herbert Voß and Rolf Niepraschk},
- date = {2022-12-19},
- version = {2.08n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/usergrps/dante/dtk},
- url = {https://ctan.org/pkg/dtk},
-}
-
-@manual{ctan-dtl,
- title = {The \texttt{dtl} package},
- subtitle = {Tools to dis-assemble and re-assemble DVI files},
- author = {Geoffrey Tobin},
- date = {2016-06-24},
- version = {0.6.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/dviware/dtl},
- url = {https://ctan.org/pkg/dtl},
-}
-
-@manual{ctan-dtxdescribe,
- title = {The \texttt{dtxdescribe} package},
- subtitle = {Describe additional object types in dtx source files},
- author = {Brian Dunn},
- date = {2023-01-03},
- version = {1.07},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dtxdescribe},
- url = {https://ctan.org/pkg/dtxdescribe},
-}
-
-@manual{ctan-dtxgallery,
- title = {The \texttt{DTX gallery} package},
- subtitle = {A small collection of minimal DTX examples},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/dtxgallery},
- url = {https://ctan.org/pkg/dtxgallery},
-}
-
-@manual{ctan-dtxgen,
- title = {The \texttt{dtxgen} package},
- subtitle = {Creates a template for a self-extracting .dtx file},
- author = {Wybo H. Dekker},
- date = {2019-07-21},
- version = {1.08},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/dtxgen},
- url = {https://ctan.org/pkg/dtxgen},
- annotation = {The script
- creates a template for a self-extracting
- file. It is useful for those who plan to create a
- new Documented \LaTeX{} Source () file.},
-}
-
-@manual{ctan-dtxtut,
- title = {The \texttt{dtxtut} package},
- subtitle = {Tutorial on writing .dtx and .ins files},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/dtxtut},
- url = {https://ctan.org/pkg/dtxtut},
- annotation = {This tutorial is intended for advanced \LaTeX{}2e users who want to
- learn how to create and files for
- distributing their homebrewed classes and package files.},
-}
-
-@manual{ctan-ducksay,
- title = {The \texttt{ducksay} package},
- subtitle = {Draw ASCII art of animals saying a specified message},
- author = {Jonathan P. Spratte},
- date = {2022-10-08},
- version = {2.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ducksay},
- url = {https://ctan.org/pkg/ducksay},
-}
-
-@manual{ctan-duckuments,
- title = {The \texttt{duckuments} package},
- subtitle = {Create duckified dummy content},
- author = {Jonathan P. Spratte},
- date = {2019-10-03},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/duckuments},
- url = {https://ctan.org/pkg/duckuments},
-}
-
-@manual{ctan-duerer-latex,
- title = {The \texttt{duerer-LaTeX} package},
- subtitle = {\LaTeX{} support for the Duerer fonts},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/duerer-latex},
- url = {https://ctan.org/pkg/duerer-latex},
- annotation = {\LaTeX{} support for Hoenig’s
- fonts, using their
- standard names.},
-}
-
-@manual{ctan-duerer,
- title = {The \texttt{duerer} package},
- subtitle = {Computer Duerer fonts},
- author = {Alan Hoenig},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/duerer},
- url = {https://ctan.org/pkg/duerer},
-}
-
-@manual{ctan-duotenzor,
- title = {The \texttt{duotenzor} package},
- subtitle = {Drawing package for circuit and duotensor diagrams},
- author = {Lucien Hardy},
- date = {2016-06-24},
- version = {1.00},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/duotenzor},
- url = {https://ctan.org/pkg/duotenzor},
- annotation = {This is a drawing package for circuit and duotensor diagrams
- within \LaTeX{} documents. It consists of about eighty commands,
- calling on for support.},
-}
-
-@manual{ctan-duplicat,
- title = {The \texttt{duplicat} package},
- subtitle = {Make duplicate page numbers distinct},
- author = {Mike Piff and Robin Fairbairns and David Carlisle},
- date = {2018-09-13},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/piff/duplicat.sty},
- url = {https://ctan.org/pkg/duplicat},
-}
-
-@manual{ctan-dutchcal,
- title = {The \texttt{dutchcal} package},
- subtitle = {A reworking of ESSTIX13, adding a bold version},
- author = {Michael Sharpe},
- date = {2019-05-21},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/dutchcal},
- url = {https://ctan.org/pkg/dutchcal},
-}
-
-@manual{ctan-dvdcoll,
- title = {The \texttt{dvdcoll} package},
- subtitle = {A class for typesetting DVD archives},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dvdcoll},
- url = {https://ctan.org/pkg/dvdcoll},
-}
-
-@manual{ctan-dvgloss,
- title = {The \texttt{dvgloss} package},
- subtitle = {Facilities for setting interlinear glossed text},
- author = {Dan Bridges Velleman},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dvgloss},
- url = {https://ctan.org/pkg/dvgloss},
-}
-
-@manual{ctan-dvgt,
- title = {The \texttt{dvgt} package},
- subtitle = {Previewer for use on graphic and character-cell terminals},
- author = {Geoffrey Tobin},
- date = {2016-06-24},
- version = {3.51},
- license = {pd},
- mirror = {https://mirror.ctan.org/dviware/dvgt},
- url = {https://ctan.org/pkg/dvgt},
-}
-
-@manual{ctan-dvgtk,
- title = {The \texttt{dvgtk} package},
- subtitle = {Tektronix 401x DVI previewer},
- author = {Tomasz J. Cholewo},
- date = {2016-06-24},
- version = {0.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/dviware/dvgtk},
- url = {https://ctan.org/pkg/dvgtk},
- annotation = {A DVI file previewer for Tektronix 401x terminal emulators
- like Kermit, CONEX, or NCSA Telnet. The package is a development
- of Trevorrow (et al.)'s using the
- Kpathsea library.},
-}
-
-@manual{ctan-dvi-economic,
- title = {The \texttt{dvi-economic} package},
- subtitle = {Save paper while printing},
- author = {Yves Verhoeven},
- date = {2016-06-24},
- license = {nosource},
- mirror = {https://mirror.ctan.org/dviware/dvi_economic},
- url = {https://ctan.org/pkg/dvi-economic},
-}
-
-@manual{ctan-dvi2bitmap,
- title = {The \texttt{dvi2bitmap} package},
- subtitle = {Utility to convert \TeX{} DVI files directly to bitmaps},
- author = {Norman Gray},
- date = {2017-04-18},
- version = {1.0},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/dviware/dvi2bitmap},
- url = {https://ctan.org/pkg/dvi2bitmap},
-}
-
-@manual{ctan-dvi2ln3,
- title = {The \texttt{dvi2ln3} package},
- subtitle = {LN03 driver based on DVItype},
- author = {Flavio Rose},
- date = {2018-01-06},
- version = {9},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/ln03/rose},
- url = {https://ctan.org/pkg/dvi2ln3},
- annotation = {A development of , in VAX C, for VMS or Ultrix DVI
- output to LN03 printers.},
-}
-
-@manual{ctan-dvi2tty,
- title = {The \texttt{dvi2tty} package},
- subtitle = {Produce ASCII from DVI},
- author = {Svante Lindahl and Marcel J. E. Mol and Takuji Tanaka},
- date = {2017-04-18},
- version = {6.0.0},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/dviware/dvi2tty},
- url = {https://ctan.org/pkg/dvi2tty},
-}
-
-@manual{ctan-dvi2xx,
- title = {The \texttt{dvi2xx} package},
- subtitle = {A general-purpose DVI output for Hewlett-Packard printers},
- author = {Walter D. Neumann},
- date = {2016-06-24},
- version = {0.51alpha9},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/dviware/dvi2xx},
- url = {https://ctan.org/pkg/dvi2xx},
- annotation = {This is one of the many DVI processors that reflected the
- popularity of low-cost Hewlett-Packard printers; it could also
- create output for the IBM 3812 page printer. It has now been
- superseded by (there seems to
- be no update that covers the IBM printer).},
-}
-
-@manual{ctan-dviasm,
- title = {The \texttt{DVIasm} package},
- subtitle = {A utility for editing DVI files},
- author = {Jin-Hwan Cho and Khaled Hosny and Hironobu Yamashita},
- date = {2022-09-18},
- version = {},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/dviware/dviasm},
- url = {https://ctan.org/pkg/dviasm},
-}
-
-@manual{ctan-dvibit,
- title = {The \texttt{dvibit} package},
- subtitle = {DVI driver for BBN bitgraph terminal},
- author = {Mark Senn and James L. Schaad},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/dvibit},
- url = {https://ctan.org/pkg/dvibit},
- annotation = {Old enough that it uses files — possibly
- interesting for historical reasons.},
-}
-
-@manual{ctan-dvibook,
- title = {The \texttt{dvibook} package},
- subtitle = {Utilities for manipulating DVI files},
- author = {Angus Duggan},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/dviware/dvibook},
- url = {https://ctan.org/pkg/dvibook},
-}
-
-@manual{ctan-dvichk,
- title = {The \texttt{dvichk} package},
- subtitle = {List the page numbers in a DVI file},
- author = {Thomas Esken},
- date = {2018-01-06},
- version = {1.91},
- license = {gpl},
- mirror = {https://mirror.ctan.org/dviware/dvichk},
- url = {https://ctan.org/pkg/dvichk},
-}
-
-@manual{ctan-dviconcat,
- title = {The \texttt{dviconcat} package},
- subtitle = {Concatenates DVI files},
- author = {{Unknown}},
- date = {2016-06-18},
- license = {other-free},
- mirror = {https://mirror.ctan.org/dviware/dvibook/Dviconcat},
- url = {https://ctan.org/pkg/dviconcat},
-}
-
-@manual{ctan-dvicopy,
- title = {The \texttt{dvicopy} package},
- subtitle = {Copy DVI files, flattening VFs},
- author = {Peter Breitenlohner},
- date = {2021-08-26},
- version = {1.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/dviware/dvicopy},
- url = {https://ctan.org/pkg/dvicopy},
-}
-
-@manual{ctan-dvidvi,
- title = {The \texttt{dvidvi} package},
- subtitle = {Convert one DVI file into another},
- author = {Tom Rokicki and Esteban Zimanyi and {The \TeX{} Live Team}},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/dviware/dvidvi},
- url = {https://ctan.org/pkg/dvidvi},
-}
-
-@manual{ctan-dvii,
- title = {The \texttt{dvii} package},
- subtitle = {Extract information from a DVI file},
- author = {Adam Lewenberg},
- date = {2017-04-18},
- version = {0.44},
- license = {lppl},
- mirror = {https://mirror.ctan.org/dviware/dvii},
- url = {https://ctan.org/pkg/dvii},
-}
-
-@manual{ctan-dviincl,
- title = {The \texttt{dviincl} package},
- subtitle = {Include a DVI page into MetaPost output},
- author = {{BOP}},
- date = {2016-06-24},
- version = {1.00},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/dviincl},
- url = {https://ctan.org/pkg/dviincl},
-}
-
-@manual{ctan-dviinfox,
- title = {The \texttt{dviinfox} package},
- subtitle = {Perl script to print DVI meta information},
- author = {Hironobu Yamashita and Dag Langmyhr},
- date = {2021-05-15},
- version = {1.06},
- license = {mit},
- mirror = {https://mirror.ctan.org/dviware/dviinfox},
- url = {https://ctan.org/pkg/dviinfox},
-}
-
-@manual{ctan-dviljk,
- title = {The \texttt{dviljk} package},
- subtitle = {DVI to Laserjet output},
- author = {Karl Berry and Joachim Schrod and {The \TeX{} Live Team}},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/dviware/dviljk},
- url = {https://ctan.org/pkg/dviljk},
-}
-
-@manual{ctan-dvimerge,
- title = {The \texttt{dvimerge} package},
- subtitle = {Merge two DVI files together},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- version = {1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/dvimerge},
- url = {https://ctan.org/pkg/dvimerge},
- annotation = {A Bourne shell script that takes pages from two DVI files and
- produces a merged output. Thus
-
- produces a file which contains page 1 of
- , then page 1 of , then page 2 ... up
- to page 10 of each file.},
-}
-
-@manual{ctan-dviout,
- title = {The \texttt{dviout} package},
- subtitle = {TeX previewer and printer driver for MS-Windows},
- author = {Oshima Toshio and Yoshiki Otobe and Kazunori Asayama and Takuji Tanaka},
- date = {2021-05-09},
- version = {3.19.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/dviware/dviout},
- url = {https://ctan.org/pkg/dviout},
- annotation = {The program supports a variety of printing mechanisms (including
- PDF output via ), and can use
- most extant font formats (including the long-outdated \TeX{} PXL
- format). The program will use output from Omega as well as from
- \TeX{}, and understands a wide variety of commands.},
-}
-
-@manual{ctan-dvipaste,
- title = {The \texttt{dvipaste} package},
- subtitle = {DVI manipulation},
- author = {Pierre A. MacKay and Michael Spivak},
- date = {2021-08-26},
- license = {pd},
- mirror = {https://mirror.ctan.org/dviware/dvipaste},
- url = {https://ctan.org/pkg/dvipaste},
-}
-
-@manual{ctan-dvipdfm,
- title = {The \texttt{dvipdfm} package},
- subtitle = {A DVI driver to produce PDF directly},
- author = {Mark A. Wicks},
- date = {2017-11-19},
- version = {0.13.2d},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/dviware/dvipdfm},
- url = {https://ctan.org/pkg/dvipdfm},
- annotation = {The driver offers a wide range of commands
- (including a colour stack), and supports compression of data
- streams, etc. Note that the extended version
- will operate “as
- dvipdfm” if necessary.},
-}
-
-@manual{ctan-dvipdfmx-def,
- title = {The \texttt{dvipdfmx-def} package},
- subtitle = {Configuration file for dvipdfmx graphics},
- author = {Jin-Hwan Cho and Shunsaku Hirata and {The \LaTeX{} Project Team}},
- date = {2022-09-23},
- version = {5.0m},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphics-def},
- url = {https://ctan.org/pkg/dvipdfmx-def},
-}
-
-@manual{ctan-dvipdfmx,
- title = {The \texttt{dvipdfmx} package},
- subtitle = {An extended version of dvipdfm},
- author = {Jin-Hwan Cho and Matthias Franz and Shunsaku Hirata and Mark A. Wicks and Khaled Hosny and Peter Breitenlohner and {The \TeX{} Live Team}},
- date = {2022-01-27},
- license = {gpl},
- url = {https://ctan.org/pkg/dvipdfmx},
-}
-
-@manual{ctan-dvipng,
- title = {The \texttt{dvipng} package},
- subtitle = {A fast DVI to PNG/GIF converter},
- author = {Jan-Åke Larsson},
- date = {2020-01-05},
- version = {1.17},
- license = {lgpl3},
- mirror = {https://mirror.ctan.org/dviware/dvipng},
- url = {https://ctan.org/pkg/dvipng},
-}
-
-@manual{ctan-dvips-os2,
- title = {The \texttt{dvips-os2} package},
- subtitle = {OS/2 dvips},
- author = {Wonkoo Kim},
- date = {2016-06-24},
- version = {5.83},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/os2/dviware/dvips/dvips583.zip},
- url = {https://ctan.org/pkg/dvips-os2},
- annotation = {OS/2 (and hence MS-DOS, MS-Windows3.1, MS-Windows32) executable
- for .},
-}
-
-@manual{ctan-dvips-shell,
- title = {The \texttt{dvips-shell} package},
- subtitle = {A dvips Shell for MS-Windows32},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/systems/win32/util/dvpsh103.exe},
- url = {https://ctan.org/pkg/dvips-shell},
- annotation = {The shell apparently helps you remember what you have forgotten
- about features.},
-}
-
-@manual{ctan-dvips,
- title = {The \texttt{dvips} package},
- subtitle = {A DVI to PostScript driver},
- author = {Tom Rokicki and {The \TeX{} Live Team}},
- date = {2021-08-26},
- license = {other-free},
- url = {https://ctan.org/pkg/dvips},
-}
-
-@manual{ctan-dvipscol,
- title = {The \texttt{dvipscol} package},
- subtitle = {Alter the usage of the dvips colour stack},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/dvipscol.dtx},
- url = {https://ctan.org/pkg/dvipscol},
-}
-
-@manual{ctan-dvipsconfig,
- title = {The \texttt{dvipsconfig} package},
- subtitle = {Collection of dvips PostScript headers},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/dviware/dvipsconfig},
- url = {https://ctan.org/pkg/dvipsconfig},
-}
-
-@manual{ctan-dvipsk,
- title = {The \texttt{dvipsk} package},
- subtitle = {Convert DVI to PostScript},
- author = {Tom Rokicki and Karl Berry},
- date = {2021-08-26},
- license = {other-free},
- url = {https://ctan.org/pkg/dvipsk},
-}
-
-@manual{ctan-dvisirule,
- title = {The \texttt{dvisirule} package},
- subtitle = {Superimpose the covered hline and vline in a \LaTeX{} tabular/colortbl environment},
- author = {Jiro Senju},
- date = {2022-09-30},
- version = {2.1},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/dviware/dvisirule},
- url = {https://ctan.org/pkg/dvisirule},
- annotation = {Superimpose the covered hline and vline in a \LaTeX{}
- / environment.},
-}
-
-@manual{ctan-dvistd,
- title = {The \texttt{dvistd} package},
- subtitle = {A standard for DVI drivers},
- author = {{TUG DVI Standards Working Group}},
- date = {2016-06-24},
- version = {0.05},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/driv-standard},
- url = {https://ctan.org/pkg/dvistd},
-}
-
-@manual{ctan-dvisun,
- title = {The \texttt{dvisun} package},
- subtitle = {DVI viewer for Sun2 systems},
- author = {Norm Hutchinson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/dvisun},
- url = {https://ctan.org/pkg/dvisun},
-}
-
-@manual{ctan-dvisvgm-def,
- title = {The \texttt{dvisvgm-def} package},
- subtitle = {Colour and Graphics support for dvisvgm},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-09-23},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphics-def},
- url = {https://ctan.org/pkg/dvisvgm-def},
-}
-
-@manual{ctan-dvisvgm,
- title = {The \texttt{dvisvgm} package},
- subtitle = {Convert DVI, EPS, and PDF files to Scalable Vector Graphics format (SVG)},
- author = {Martin Gieseking},
- date = {2023-03-10},
- version = {3.0.4},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/dviware/dvisvgm},
- url = {https://ctan.org/pkg/dvisvgm},
-}
-
-@manual{ctan-dvitoln03,
- title = {The \texttt{DVItoLN03} package},
- subtitle = {DVI output to Digital LN03 printer},
- author = {Brian Hamilton Kelly},
- date = {2016-06-24},
- version = {4.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/ln03/rmcs},
- url = {https://ctan.org/pkg/dvitoln03},
-}
-
-@manual{ctan-dvitops,
- title = {The \texttt{dvitops} package},
- subtitle = {A DVI driver for PostScript output},
- author = {James Clark},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/dvitops},
- url = {https://ctan.org/pkg/dvitops},
- annotation = {This driver, though good in its day, was never updated to use
- virtual fonts, and has therefore lost out to
- in terms of market share.},
-}
-
-@manual{ctan-dvitty,
- title = {The \texttt{dvitty} package},
- subtitle = {A plain-text output DVI driver},
- author = {Svante Lindahl},
- date = {2018-01-06},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/dviware/dvitty},
- url = {https://ctan.org/pkg/dvitty},
- annotation = {This is the original (Pascal) version of what was later translated
- into C and distributed as .},
-}
-
-@manual{ctan-dvitype,
- title = {The \texttt{dvitype} package},
- subtitle = {Type out the content of a DVI file},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- version = {3.6},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/texware/dvitype.web},
- url = {https://ctan.org/pkg/dvitype},
-}
-
-@manual{ctan-dvivue,
- title = {The \texttt{DVIVue} package},
- subtitle = {A DVI/PDF viewer for Windows},
- author = {Peter Frane Jr},
- date = {2020-10-16},
- version = {1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/dviware/dvivue},
- url = {https://ctan.org/pkg/dvivue},
- annotation = {This program is a DVI/PDF viewer. It uses to convert a DVI file to PDF,
- thus allowing the text in the document to be searched or
- selected.},
-}
-
-@manual{ctan-dviwin,
- title = {The \texttt{dviwin} package},
- subtitle = {MS-Windows DVI screen and printer driver},
- author = {Hippocrates Sendoukas},
- date = {2016-06-24},
- version = {2.9},
- license = {pd},
- mirror = {https://mirror.ctan.org/dviware/dviwin},
- url = {https://ctan.org/pkg/dviwin},
-}
-
-@manual{ctan-dynamicnumber,
- title = {The \texttt{dynamicnumber} package},
- subtitle = {Dynamically typeset numbers and values in \LaTeX{} through “symbolic links”},
- author = {Olivier Pieters},
- date = {2017-04-18},
- version = {0.1.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dynamicnumber},
- url = {https://ctan.org/pkg/dynamicnumber},
-}
-
-@manual{ctan-dynblocks,
- title = {The \texttt{dynblocks} package},
- subtitle = {A simple way to create dynamic blocks for Beamer},
- author = {Claudio Fiandrino},
- date = {2016-06-24},
- version = {0.2b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/dynblocks},
- url = {https://ctan.org/pkg/dynblocks},
-}
-
-@manual{ctan-dynbrackets,
- title = {The \texttt{dynbrackets} package},
- subtitle = {Commands to simplify the syntax of dynamic math brackets},
- author = {Miguel R. Clemente},
- date = {2021-04-08},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dynbrackets},
- url = {https://ctan.org/pkg/dynbrackets},
-}
-
-@manual{ctan-dynkin-diagrams,
- title = {The \texttt{dynkin-diagrams} package},
- subtitle = {Draw Dynkin, Coxeter, and Satake diagrams using TikZ},
- author = {Benjamin McKay},
- date = {2021-04-04},
- version = {3.1415926535897932},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/dynkin-diagrams},
- url = {https://ctan.org/pkg/dynkin-diagrams},
-}
-
-@manual{ctan-dyntree,
- title = {The \texttt{dyntree} package},
- subtitle = {Construct Dynkin tree diagrams},
- author = {Nick Setzer},
- date = {2018-10-09},
- version = {1.0},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/dyntree},
- url = {https://ctan.org/pkg/dyntree},
-}
-
-@manual{ctan-e-french,
- title = {The \texttt{e-french} package},
- subtitle = {Comprehensive \LaTeX{} support for French-language typesetting},
- author = {Bernard Gaulle and Raymond Juillerat},
- date = {2019-09-04},
- version = {6.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/french/e-french},
- url = {https://ctan.org/pkg/e-french},
-}
-
-@manual{ctan-ean,
- title = {The \texttt{ean} package},
- subtitle = {Macros for making EAN barcodes},
- author = {Petr Olšák},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/ean},
- url = {https://ctan.org/pkg/ean},
-}
-
-@manual{ctan-ean13isbn,
- title = {The \texttt{ean13isbn} package},
- subtitle = {Print EAN13 for ISBN},
- author = {Zdeněk Wagner},
- date = {2021-01-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ean13isbn},
- url = {https://ctan.org/pkg/ean13isbn},
- annotation = {The package provides the means to typeset ISBN codes with EAN-13;
- it uses the (generic) package
- to typeset the actual barcode.},
-}
-
-@manual{ctan-easing,
- title = {The \texttt{easing} package},
- subtitle = {easing functions for pgfmath},
- author = {Ka-tsun Loh},
- date = {2021-07-19},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/easing},
- url = {https://ctan.org/pkg/easing},
-}
-
-@manual{ctan-easy-todo,
- title = {The \texttt{easy-todo} package},
- subtitle = {To-do notes in a document},
- author = {Juan Rada-Vilela},
- date = {2016-06-24},
- version = {},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy-todo},
- url = {https://ctan.org/pkg/easy-todo},
-}
-
-@manual{ctan-easy,
- title = {The \texttt{easy} package},
- subtitle = {A collection of easy-to-use macros},
- author = {Enrico Bertolazzi},
- date = {2016-06-24},
- version = {0.99},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy},
- url = {https://ctan.org/pkg/easy},
-}
-
-@manual{ctan-easybib,
- title = {The \texttt{easybib} package},
- subtitle = {Simple syntax for custom bibliographies},
- author = {Enrico Bertolazzi},
- date = {2016-06-24},
- version = {0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy},
- url = {https://ctan.org/pkg/easybib},
-}
-
-@manual{ctan-easybmat,
- title = {The \texttt{easybmat} package},
- subtitle = {Block matrices},
- author = {Enrico Bertolazzi},
- date = {2016-06-24},
- version = {0.8},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy},
- url = {https://ctan.org/pkg/easybmat},
-}
-
-@manual{ctan-easybook,
- title = {The \texttt{easybook} package},
- subtitle = {Easily typesetting Chinese theses or books},
- author = {Qu Yi},
- date = {2022-11-08},
- version = {1.71D},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easybook},
- url = {https://ctan.org/pkg/easybook},
- annotation = {is a pure academic template created based on
- the book document class. It
- also has the functions of and
- document class. Combined
- with the general framework design of the dissertation of many
- universities in China, providing multiple commands and
- interfaces allows users to easily customize the thesis template.
- Its basic macro package easybase can also be used with CTeX and
- standard document classes.},
-}
-
-@manual{ctan-easyeqn,
- title = {The \texttt{easyeqn} package},
- subtitle = {A simple package for writing equations},
- author = {Enrico Bertolazzi},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy},
- url = {https://ctan.org/pkg/easyeqn},
-}
-
-@manual{ctan-easyfig,
- title = {The \texttt{easyfig} package},
- subtitle = {Simplifying the use of common figures},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easyfig},
- url = {https://ctan.org/pkg/easyfig},
-}
-
-@manual{ctan-easyfloats,
- title = {The \texttt{easyfloats} package},
- subtitle = {An easier interface to insert figures, tables and other objects in \LaTeX{}},
- author = {Erik Zöllner},
- date = {2020-12-24},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easyfloats},
- url = {https://ctan.org/pkg/easyfloats},
- annotation = {In standard \LaTeX{} inserting objects like figures or tables requires too much knowledge
- for beginners and too much typing effort and hardcoding for people like me.
- This package aims to make insertion of figures and tables easier for both beginners
- and experts.
- Despite the term floatsin it's name it also allows to disable floating
- of such objects.},
-}
-
-@manual{ctan-easyformat,
- title = {The \texttt{easyformat} package},
- subtitle = {Easily add boldface, italics and smallcaps},
- author = {Evert Provoost},
- date = {2017-06-10},
- version = {1.4.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easyformat},
- url = {https://ctan.org/pkg/easyformat},
-}
-
-@manual{ctan-easylatex,
- title = {The \texttt{easyLaTeX} package},
- subtitle = {Faster and simpler writing of \LaTeX{} documents},
- author = {Bayle Shanks},
- date = {2016-06-24},
- version = {0.062},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/easylatex},
- url = {https://ctan.org/pkg/easylatex},
-}
-
-@manual{ctan-easylist,
- title = {The \texttt{easylist} package},
- subtitle = {Lists using a single active character},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easylist},
- url = {https://ctan.org/pkg/easylist},
-}
-
-@manual{ctan-easymat,
- title = {The \texttt{easymat} package},
- subtitle = {A simple package for writing matrices},
- author = {Enrico Bertolazzi},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy},
- url = {https://ctan.org/pkg/easymat},
-}
-
-@manual{ctan-easyreview,
- title = {The \texttt{easyReview} package},
- subtitle = {Package to provide a way to review (or perform editorial process) in \LaTeX{}},
- author = {Jody Matos},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easyreview},
- url = {https://ctan.org/pkg/easyreview},
-}
-
-@manual{ctan-easytable,
- title = {The \texttt{easytable} package},
- subtitle = {A simple package for writing tables},
- author = {Enrico Bertolazzi},
- date = {2017-08-05},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy},
- url = {https://ctan.org/pkg/easytable},
-}
-
-@manual{ctan-easyvector,
- title = {The \texttt{easyvector} package},
- subtitle = {Write vectors in a C-like fashion},
- author = {Enrico Bertolazzi},
- date = {2016-06-24},
- version = {0.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/easy},
- url = {https://ctan.org/pkg/easyvector},
-}
-
-@manual{ctan-ebezier,
- title = {The \texttt{ebezier} package},
- subtitle = {Device independent picture environment enhancement},
- author = {Gerhard A. Bachmaier},
- date = {2016-06-24},
- version = {4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ebezier},
- url = {https://ctan.org/pkg/ebezier},
-}
-
-@manual{ctan-ebgaramond-maths,
- title = {The \texttt{ebgaramond-maths} package},
- subtitle = {\LaTeX{} support for EBGaramond fonts in mathematics},
- author = {Clea F. Rees},
- date = {2021-08-26},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/ebgaramond-maths},
- url = {https://ctan.org/pkg/ebgaramond-maths},
-}
-
-@manual{ctan-ebgaramond,
- title = {The \texttt{ebgaramond} package},
- subtitle = {\LaTeX{} support for EBGaramond fonts},
- author = {Bob Tennent},
- date = {2022-09-11},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/ebgaramond},
- url = {https://ctan.org/pkg/ebgaramond},
-}
-
-@manual{ctan-ebib,
- title = {The \texttt{ebib} package},
- subtitle = {BibTeX database manager for GNU Emacs},
- author = {Joost Kremers},
- date = {2018-01-06},
- version = {1.8.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/ebib},
- url = {https://ctan.org/pkg/ebib},
-}
-
-@manual{ctan-ebnf,
- title = {The \texttt{ebnf} package},
- subtitle = {Simple package for EBNF productions},
- author = {Damian Cugley},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/ebnf.sty},
- url = {https://ctan.org/pkg/ebnf},
- annotation = {The package defines a list environment, in which
- produces output ;
- macros are also provided for the right-hand side of productions.},
-}
-
-@manual{ctan-ebong,
- title = {The \texttt{EBONG} package},
- subtitle = {Utility for writing Bengali in Rapid Roman Format},
- author = {Shibaji Banerjee},
- date = {2020-06-07},
- license = {pd},
- mirror = {https://mirror.ctan.org/language/ebong},
- url = {https://ctan.org/pkg/ebong},
- annotation = {A tool (preprocessor) for writing your pRaa-ne-r ka-thaa in
- the bengali langauage. It allows one to write the text in Rapid
- Roman Bangla and convert it to the
- format by a python
- program. All \LaTeX{} markups are preserved in the target file.},
-}
-
-@manual{ctan-ebook,
- title = {The \texttt{ebook} package},
- subtitle = {Helps creating an ebook by providing an ebook class},
- author = {Jørgen Steensgaard},
- date = {2018-01-07},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ebook},
- url = {https://ctan.org/pkg/ebook},
-}
-
-@manual{ctan-ebproof,
- title = {The \texttt{ebproof} package},
- subtitle = {Formal proofs in the style of sequent calculus},
- author = {Emmanuel Beffara},
- date = {2021-01-28},
- version = {2.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ebproof},
- url = {https://ctan.org/pkg/ebproof},
-}
-
-@manual{ctan-ebsthesis,
- title = {The \texttt{ebsthesis} package},
- subtitle = {Typesetting theses for economics},
- author = {Philipp N. Baecker},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ebsthesis},
- url = {https://ctan.org/pkg/ebsthesis},
-}
-
-@manual{ctan-ec-plain,
- title = {The \texttt{ec-plain} package},
- subtitle = {Use EC fonts in Plain \TeX{}},
- author = {Daniel Taupin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/ec-plain},
- url = {https://ctan.org/pkg/ec-plain},
-}
-
-@manual{ctan-ec,
- title = {The \texttt{ec} package},
- subtitle = {Computer modern fonts in T1 and TS1 encodings},
- author = {Jörg Knappen and Norbert Schwarz},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/ec},
- url = {https://ctan.org/pkg/ec},
-}
-
-@manual{ctan-ecards,
- title = {The \texttt{ecards} package},
- subtitle = {Electronic flash cards},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ecards},
- url = {https://ctan.org/pkg/ecards},
-}
-
-@manual{ctan-ecc,
- title = {The \texttt{ecc} package},
- subtitle = {Sources for the European Concrete fonts},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/ecc},
- url = {https://ctan.org/pkg/ecc},
-}
-
-@manual{ctan-ecclesiastic,
- title = {The \texttt{ecclesiastic} package},
- subtitle = {Typesetting Ecclesiastic Latin},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ecclesiastic},
- url = {https://ctan.org/pkg/ecclesiastic},
- annotation = {The package modifies the way the option to
- operates when typesetting Latin.
- The style is somewhat ‘frenchified’ in respect of
- punctuation spacings and footnote style; shortcuts are available
- in order to set accents on all vowels, including y and the
- diphthongs ae and oe.},
-}
-
-@manual{ctan-ecgdraw,
- title = {The \texttt{ecgdraw} package},
- subtitle = {Draws electrocardiograms (ECG)},
- author = {Marco Scavino and Ezio Aimé},
- date = {2018-01-07},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/ecgdraw},
- url = {https://ctan.org/pkg/ecgdraw},
- annotation = {This package provides the command
- which draws electrocardiograms (ECG).
- The <code> represents a series of abbreviations which allow to draw
- different types of wave.},
-}
-
-@manual{ctan-ecltree,
- title = {The \texttt{ecltree} package},
- subtitle = {Trees using epic and eepic macros},
- author = {Hideki Isozaki},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eclbip},
- url = {https://ctan.org/pkg/ecltree},
- annotation = {The package recursively draws trees: each subtree is defined in a
- ‘bundle’ environment, with a set of leaves
- described by macros. A chunk may have a bundle
- environment inside it.},
-}
-
-@manual{ctan-eco,
- title = {The \texttt{eco} package},
- subtitle = {Oldstyle numerals using EC fonts},
- author = {Sebastian Marius Kirsch},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/eco},
- url = {https://ctan.org/pkg/eco},
- annotation = {A set of font metric files and virtual fonts for using the
- fonts with oldstyle numerals. These
- files can only be used together with the standard ec fonts. The
- style file eco.sty is sufficient to use the eco fonts but
- if you intend to use other font families as well, e.g.,
- PostScript fonts, try .},
-}
-
-@manual{ctan-ecobiblatex,
- title = {The \texttt{ecobiblatex} package},
- subtitle = {Global Ecology and Biogeography Bib\LaTeX{} styles for the Biber backend},
- author = {Norbert Balak},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/ecobiblatex},
- url = {https://ctan.org/pkg/ecobiblatex},
- annotation = {This bundle provides a set of styles for creating bibliographies
- using in the style of the
- Global Ecology and Biogeography journal.
- It comprises styles based on the conventions of
- John Wiley \& Sons Ltd and
- Global Ecology and Biogeography Conventions ©.},
-}
-
-@manual{ctan-econ-bst,
- title = {The \texttt{econ-bst} package},
- subtitle = {BibTeX style for economics papers},
- author = {Shiro Takeda},
- date = {2022-01-05},
- version = {3.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/econ-bst},
- url = {https://ctan.org/pkg/econ-bst},
- annotation = {This is a BibTeX style file for papers in economics. It provides
- the following features:},
-}
-
-@manual{ctan-econlipsum,
- title = {The \texttt{econlipsum} package},
- subtitle = {Generate sentences from economic articles},
- author = {Jack Coleman},
- date = {2021-03-18},
- version = {0.8.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/econlipsum},
- url = {https://ctan.org/pkg/econlipsum},
-}
-
-@manual{ctan-econometrica,
- title = {The \texttt{Econometrica} package},
- subtitle = {BibTeX support for Econometrica},
- author = {Kim C Border and Guillaume Horny},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/economic},
- url = {https://ctan.org/pkg/econometrica},
- annotation = {BibTeX styles (derived from
- ) for Econometrica (both in
- English and French).},
-}
-
-@manual{ctan-econometrics,
- title = {The \texttt{econometrics} package},
- subtitle = {Defines some commands that simplify mathematic notation in economic and econometric writing},
- author = {Erik Kole},
- date = {2018-01-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/econometrics},
- url = {https://ctan.org/pkg/econometrics},
-}
-
-@manual{ctan-economic,
- title = {The \texttt{economic} package},
- subtitle = {BibTeX support for submitting to Economics journals},
- author = {Arne Henningsen and Randall Wigle},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/economic},
- url = {https://ctan.org/pkg/economic},
- annotation = {The bundle offers macros and BibTeX styles
- for the American Economic Review (AER), the American Journal of
- Agricultural Economics (AJAE), the Canadian Journal of Economics
- (CJE), the European Review of Agricultural Economics (ERAE),
- the International Economic Review (IER) and Economica.
- The macro sets are based on (and require) the
- package, and all
- provide variations of author-date styles of presentation.},
-}
-
-@manual{ctan-ecothesis,
- title = {The \texttt{ecothesis} package},
- subtitle = {\LaTeX{} thesis template for the Universidade Federal de Viçosa (UFV), Brazil},
- author = {Vinícius Barros Rodrigues},
- date = {2018-06-20},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ecothesis},
- url = {https://ctan.org/pkg/ecothesis},
-}
-
-@manual{ctan-ecta,
- title = {The \texttt{ecta} package},
- subtitle = {Bibliography style for submission to Econometrica},
- author = {Sebastien Perez-Duarte},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/economic/ecta.bst},
- url = {https://ctan.org/pkg/ecta},
-}
-
-@manual{ctan-ecv,
- title = {The \texttt{ECV} package},
- subtitle = {A fancy Curriculum Vitae class},
- author = {Bernd Haberstumpf and Christoph Neumann},
- date = {2016-06-24},
- version = {0.3},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ecv},
- url = {https://ctan.org/pkg/ecv},
-}
-
-@manual{ctan-eczar,
- title = {The \texttt{eczar} package},
- subtitle = {A font family supporting Devanagari and Latin script},
- author = {{Unknown}},
- date = {2021-04-28},
- version = {0.1},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/eczar},
- url = {https://ctan.org/pkg/eczar},
-}
-
-@manual{ctan-ed,
- title = {The \texttt{ed} package},
- subtitle = {Editorial Notes for \LaTeX{} documents},
- author = {Michael Kohlhase},
- date = {2017-04-18},
- version = {1.8},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ed},
- url = {https://ctan.org/pkg/ed},
-}
-
-@manual{ctan-eddi4tex,
- title = {The \texttt{eddi4tex} package},
- subtitle = {Editor and shell for DOS and OS/2},
- author = {Ulrich Jahnz},
- date = {2016-06-18},
- version = {2.01},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/msdos/e4t},
- url = {https://ctan.org/pkg/eddi4tex},
-}
-
-@manual{ctan-edfnotes,
- title = {The \texttt{edfnotes} package},
- subtitle = {Critical annotations to footnotes with ednotes},
- author = {Uwe Lück},
- date = {2018-01-06},
- version = {0.6b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/edfnotes},
- url = {https://ctan.org/pkg/edfnotes},
- annotation = {The package modifies the annotation commands and label-test
- mechanism of the package so
- that critical notes appear on the pages and in the order that one
- would expect.},
-}
-
-@manual{ctan-edichokey,
- title = {The \texttt{edichokey} package},
- subtitle = {Typeset dichotomous identification keys},
- author = {Yuchang Yang},
- date = {2020-08-31},
- version = {2.01y},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/edichokey},
- url = {https://ctan.org/pkg/edichokey},
- annotation = {This is a \LaTeX{} package for typesetting dichotomous
- identification key in indented style. It can be considered as an
- extended version of package , as edichokey is more capable
- of dealing with complex keys.},
-}
-
-@manual{ctan-editbar,
- title = {The \texttt{editbar} package},
- subtitle = {Change bars for \LaTeX{} 2.09},
- author = {Michael R. Van Geest},
- date = {2016-06-24},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/editbar.sty},
- url = {https://ctan.org/pkg/editbar},
-}
-
-@manual{ctan-edmac,
- title = {The \texttt{edmac} package},
- subtitle = {Typeset critical editions},
- author = {John Lavagnino and Dominik Wujastyk},
- date = {2021-08-26},
- version = {3.17},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/edmac},
- url = {https://ctan.org/pkg/edmac},
-}
-
-@manual{ctan-edmargin,
- title = {The \texttt{edmargin} package},
- subtitle = {Multiple series of endnotes for critical editions},
- author = {John Burt},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/edmargin},
- url = {https://ctan.org/pkg/edmargin},
-}
-
-@manual{ctan-ednotes,
- title = {The \texttt{ednotes} package},
- subtitle = {Typeset scholarly editions},
- author = {Uwe Lück},
- date = {2022-12-07},
- version = {1.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ednotes},
- url = {https://ctan.org/pkg/ednotes},
-}
-
-@manual{ctan-eehyph,
- title = {The \texttt{eehyph} package},
- subtitle = {Hyphenation patterns for the Estonian language},
- author = {Enn Saar},
- date = {2016-12-28},
- version = {},
- license = {lppl,mit},
- mirror = {https://mirror.ctan.org/language/hyphenation/eehyph.tex},
- url = {https://ctan.org/pkg/eehyph},
-}
-
-@manual{ctan-eemeir,
- title = {The \texttt{eemeir} package},
- subtitle = {Adjust the gender of words in a document},
- author = {Mogens Lemvig Hansen},
- date = {2016-06-24},
- version = {1.1b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eemeir},
- url = {https://ctan.org/pkg/eemeir},
-}
-
-@manual{ctan-eepic,
- title = {The \texttt{eepic} package},
- subtitle = {Extensions to epic and the \LaTeX{} drawing tools},
- author = {Conrad Kwok and Pieter van Oostrum},
- date = {2016-06-24},
- version = {1.1e},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eepic},
- url = {https://ctan.org/pkg/eepic},
-}
-
-@manual{ctan-efbox,
- title = {The \texttt{efbox} package},
- subtitle = {Extension of \textbackslash{}fbox, with controllable frames and colours},
- author = {José Romildo Malaquias},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/efbox},
- url = {https://ctan.org/pkg/efbox},
- annotation = {The package defines the command, which creates a
- box just wide enough to hold the text created by its argument.
- The command optionally puts a (possibly partial) frame around the
- box, and allows setting the box background colour.},
-}
-
-@manual{ctan-eforms,
- title = {The \texttt{eforms} package},
- subtitle = {eForm support for the AcroTeX bundle},
- author = {Donald P. Story},
- date = {2021-05-12},
- version = {2.4.3},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acrotex},
- url = {https://ctan.org/pkg/eforms},
-}
-
-@manual{ctan-ega2mf,
- title = {The \texttt{ega2mf} package},
- subtitle = {Generate Metafont code for EGA screen fonts},
- author = {Thomas Ridgeway},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/ega2mf},
- url = {https://ctan.org/pkg/ega2mf},
-}
-
-@manual{ctan-egameps,
- title = {The \texttt{egameps} package},
- subtitle = {\LaTeX{} package for typesetting extensive games},
- author = {Martin J. Osborne},
- date = {2018-09-15},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/egameps},
- url = {https://ctan.org/pkg/egameps},
- annotation = {The style is intended to have enough features to draw any
- extensive game with relative ease. The facilities of
- are used for graphics.
- (An older version of the package, which uses the \LaTeX{} picture
- environment rather than PSTricks and consequently has many fewer
- features is available on the package home page.)},
-}
-
-@manual{ctan-egothic,
- title = {The \texttt{egothic} package},
- subtitle = {Early Gothic manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/egothic},
- url = {https://ctan.org/pkg/egothic},
-}
-
-@manual{ctan-egplot,
- title = {The \texttt{egplot} package},
- subtitle = {Encapsulate Gnuplot sources in \LaTeX{} documents},
- author = {Axel Probst},
- date = {2016-06-24},
- version = {1.02a},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/egplot},
- url = {https://ctan.org/pkg/egplot},
- annotation = {A package to encapsulate
- commands in a \LaTeX{} source file, so that a document’s
- figures are maintained in parallel with the document source
- itself.},
-}
-
-@manual{ctan-ehhline,
- title = {The \texttt{ehhline} package},
- subtitle = {Extend the \textbackslash{}hhline command},
- author = {Robert Paciorek},
- date = {2020-04-04},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ehhline},
- url = {https://ctan.org/pkg/ehhline},
- annotation = {This package extends the command with a
- token, which allows to create lines with
- arbitrary \LaTeX{} commands.},
-}
-
-@manual{ctan-eiad-ltx,
- title = {The \texttt{eiad-ltx} package},
- subtitle = {\LaTeX{} support for the eiad font},
- author = {Uwe Münch},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eiad},
- url = {https://ctan.org/pkg/eiad-ltx},
-}
-
-@manual{ctan-eiad,
- title = {The \texttt{eiad} package},
- subtitle = {Traditional style Irish fonts},
- author = {Ivan A Derzhanski},
- date = {2017-10-29},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/eiad},
- url = {https://ctan.org/pkg/eiad},
-}
-
-@manual{ctan-eijkhout,
- title = {The \texttt{eijkhout} package},
- subtitle = {Victor Eijkhout's packages},
- author = {Victor Eijkhout},
- date = {2016-06-24},
- version = {},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/generic/eijkhout},
- url = {https://ctan.org/pkg/eijkhout},
-}
-
-@manual{ctan-einfart,
- title = {The \texttt{einfart} package},
- subtitle = {Write your articles in a simple and clear way},
- author = {Jinwen XU},
- date = {2023-01-05},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/einfart},
- url = {https://ctan.org/pkg/einfart},
-}
-
-@manual{ctan-einfuehrung,
- title = {The \texttt{einfuehrung} package},
- subtitle = {Examples from the book Einführung in \LaTeX{}},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/Einfuehrung},
- url = {https://ctan.org/pkg/einfuehrung},
-}
-
-@manual{ctan-einfuehrung2,
- title = {The \texttt{einfuehrung2} package},
- subtitle = {Examples from the book Einführung in \LaTeX{}},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/Einfuehrung2},
- url = {https://ctan.org/pkg/einfuehrung2},
-}
-
-@manual{ctan-eitl,
- title = {The \texttt{eitl} package},
- subtitle = {Easy install of \TeX{} Live},
- author = {Rolf Niepraschk and Herbert Voß},
- date = {2020-06-24},
- version = {0.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/texlive/eitl},
- url = {https://ctan.org/pkg/eitl},
-}
-
-@manual{ctan-ejpecp,
- title = {The \texttt{ejpecp} package},
- subtitle = {Class for EJP and ECP},
- author = {Edgaras Šakuras and Eimantas Gumbakis and Djalil Chafaï},
- date = {2021-11-04},
- version = {1.11.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ejpecp},
- url = {https://ctan.org/pkg/ejpecp},
-}
-
-@manual{ctan-ekaia,
- title = {The \texttt{ekaia} package},
- subtitle = {Article format for publishing the Basque Country Science and Technology Journal "Ekaia"},
- author = {Edorta Ibarra},
- date = {2019-01-06},
- version = {1.06},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ekaia},
- url = {https://ctan.org/pkg/ekaia},
-}
-
-@manual{ctan-ekdosis,
- title = {The \texttt{ekdosis} package},
- subtitle = {Typesetting TEI-xml compliant Critical Editions},
- author = {Robert Alessi},
- date = {2021-11-21},
- version = {1.4},
- license = {gpl3+,fdl},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/ekdosis},
- url = {https://ctan.org/pkg/ekdosis},
- annotation = {is a Lua\LaTeX{} package designed for multilingual
- critical editions. It can be used to typeset texts and different layers
- of critical notes in any direction accepted by LuaTeX.
- Texts can be arranged in running paragraphs or on facing pages,
- in any number of columns which in turn can be synchronized or not.
- In addition to printed texts, ekdosis can convert source
- files so as to produce TEI xml-compliant critical editions.
- Database-driven encoding under \LaTeX{} then allows extraction of texts
- entered segment by segment according to various criteria: main edited text,
- variant readings, translations or annotated borrowings between texts.},
-}
-
-@manual{ctan-ektype-tanka,
- title = {The \texttt{EkType-Tanka} package},
- subtitle = {Devanagari fonts by EkType},
- author = {{Unknown}},
- date = {2022-05-06},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/ektype-tanka},
- url = {https://ctan.org/pkg/ektype-tanka},
-}
-
-@manual{ctan-elbioimp,
- title = {The \texttt{elbioimp} package},
- subtitle = {A \LaTeX{} document class for the Journal of Electrical Bioimpedance},
- author = {Dag Langmyhr},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elbioimp},
- url = {https://ctan.org/pkg/elbioimp},
-}
-
-@manual{ctan-electrumadf,
- title = {The \texttt{electrumadf} package},
- subtitle = {Electrum ADF fonts collection},
- author = {Clea F. Rees},
- date = {2017-04-18},
- version = {1.005-b},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/electrumadf},
- url = {https://ctan.org/pkg/electrumadf},
-}
-
-@manual{ctan-eledform,
- title = {The \texttt{eledform} package},
- subtitle = {Define textual variants},
- author = {Maïeul Rouquette},
- date = {2017-04-18},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eledform},
- url = {https://ctan.org/pkg/eledform},
- annotation = {The package provides commands to formalize textual variants in
- critical editions typeset using .},
-}
-
-@manual{ctan-eledmac,
- title = {The \texttt{eledmac} package},
- subtitle = {Typeset scholarly editions},
- author = {Maïeul Rouquette},
- date = {2017-09-25},
- version = {1.24.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eledmac},
- url = {https://ctan.org/pkg/eledmac},
-}
-
-@manual{ctan-eledpar,
- title = {The \texttt{eledpar} package},
- subtitle = {Typeset scholarly editions in parallel texts},
- author = {Maïeul Rouquette},
- date = {2016-06-24},
- version = {1.17.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eledmac},
- url = {https://ctan.org/pkg/eledpar},
-}
-
-@manual{ctan-elegantbook,
- title = {The \texttt{ElegantBook} package},
- subtitle = {An Elegant \LaTeX{} Template for Books},
- author = {Dongsheng Deng and Liam Huang},
- date = {2023-01-02},
- version = {4.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/elegantbook},
- url = {https://ctan.org/pkg/elegantbook},
-}
-
-@manual{ctan-elegantnote,
- title = {The \texttt{ElegantNote} package},
- subtitle = {Elegant \LaTeX{} Template for Notes},
- author = {Dongsheng Deng},
- date = {2023-01-02},
- version = {2.50},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/elegantnote},
- url = {https://ctan.org/pkg/elegantnote},
-}
-
-@manual{ctan-elegantpaper,
- title = {The \texttt{ElegantPaper} package},
- subtitle = {An Elegant \LaTeX{} Template for Working Papers},
- author = {Dongsheng Deng},
- date = {2023-01-02},
- version = {0.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/elegantpaper},
- url = {https://ctan.org/pkg/elegantpaper},
-}
-
-@manual{ctan-elements,
- title = {The \texttt{elements} package},
- subtitle = {Provides properties of chemical elements},
- author = {Clemens Niederberger},
- date = {2022-01-29},
- version = {0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elements},
- url = {https://ctan.org/pkg/elements},
-}
-
-@manual{ctan-elhyphen,
- title = {The \texttt{elhyphen} package},
- subtitle = {Hyphenation for Greek text},
- author = {Dimitrios Filippou},
- date = {2016-07-20},
- version = {5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/hyphenation/elhyphen},
- url = {https://ctan.org/pkg/elhyphen},
-}
-
-@manual{ctan-ellipse,
- title = {The \texttt{ellipse} package},
- subtitle = {Draw ellipses and elliptical arcs using the standard \LaTeX{}2e picture environment},
- author = {Daan Leijen},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/ellipse},
- url = {https://ctan.org/pkg/ellipse},
-}
-
-@manual{ctan-ellipsis,
- title = {The \texttt{ellipsis} package},
- subtitle = {Fix uneven spacing around ellipses in \LaTeX{} text mode},
- author = {Peter J. Heslin},
- date = {2020-06-04},
- version = {1.8},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ellipsis},
- url = {https://ctan.org/pkg/ellipsis},
- annotation = {This is a simple package that fixes a problem in the way \LaTeX{}
- handles ellipses: it always puts a tiny bit more space after
- in text mode than before it, which results in the
- ellipsis being off-center when used between two words.},
-}
-
-@manual{ctan-elmath,
- title = {The \texttt{elmath} package},
- subtitle = {Mathematics in Greek texts},
- author = {Apostolos Syropoulos and Yannis Potamianos},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elmath},
- url = {https://ctan.org/pkg/elmath},
-}
-
-@manual{ctan-elocalloc,
- title = {The \texttt{elocalloc} package},
- subtitle = {Local allocation macros for \LaTeX{} 2015},
- author = {David Carlisle},
- date = {2016-12-15},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elocalloc},
- url = {https://ctan.org/pkg/elocalloc},
- annotation = {Local allocation macros, with names taken from
-
- but with implementation based on the \LaTeX{} 2015
- allocation macros.},
-}
-
-@manual{ctan-elpres,
- title = {The \texttt{elpres} package},
- subtitle = {A simple class for electronic presentations},
- author = {Volker Kiefel},
- date = {2021-08-10},
- version = {1.0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elpres},
- url = {https://ctan.org/pkg/elpres},
-}
-
-@manual{ctan-els-cas-templates,
- title = {The \texttt{els-cas-templates} package},
- subtitle = {Elsevier updated \LaTeX{} templates},
- author = {C. V. Radhakrishnan and Rishikesan T. Nair},
- date = {2021-05-12},
- version = {2.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/els-cas-templates},
- url = {https://ctan.org/pkg/els-cas-templates},
-}
-
-@manual{ctan-elsarticle,
- title = {The \texttt{elsarticle} package},
- subtitle = {Class for articles for submission to Elsevier journals},
- author = {C. V. Radhakrishnan and Simon Pepping and Martin Ruck},
- date = {2020-11-24},
- version = {3.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elsarticle},
- url = {https://ctan.org/pkg/elsarticle},
-}
-
-@manual{ctan-elteikthesis,
- title = {The \texttt{elteikthesis} package},
- subtitle = {Thesis template for Eötvös Loránd University (Informatics)},
- author = {Máté Cserép},
- date = {2022-04-30},
- version = {2.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elteikthesis},
- url = {https://ctan.org/pkg/elteikthesis},
-}
-
-@manual{ctan-eltex,
- title = {The \texttt{eltex} package},
- subtitle = {Simple circuit diagrams in \LaTeX{} picture mode},
- author = {Libor Gajdosik},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eltex},
- url = {https://ctan.org/pkg/eltex},
-}
-
-@manual{ctan-elvish,
- title = {The \texttt{elvish} package},
- subtitle = {Fonts for typesetting Tolkien Elvish scripts},
- author = {Julian Bradfield},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/elvish},
- url = {https://ctan.org/pkg/elvish},
- annotation = {The bundle provides fonts for Cirth (cirth.mf, etc.) and for
- Tengwar (teng10.mf). The Tengwar fonts are supported by macros in
- teng.tex, or by the (better documented)
- package.},
-}
-
-@manual{ctan-elzcards,
- title = {The \texttt{elzcards} package},
- subtitle = {Typeset business cards, index cards and flash cards easily},
- author = {Emilio Augusto Lazo Zaia},
- date = {2019-08-17},
- version = {1.60},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/elzcards},
- url = {https://ctan.org/pkg/elzcards},
-}
-
-@manual{ctan-emarks,
- title = {The \texttt{emarks} package},
- subtitle = {Named mark registers with e-TeX},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/emarks},
- url = {https://ctan.org/pkg/emarks},
-}
-
-@manual{ctan-embedall,
- title = {The \texttt{embedall} package},
- subtitle = {Embed source files into the generated PDF},
- author = {Alberto Sartori and David Lichti},
- date = {2019-05-20},
- version = {2.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/embedall},
- url = {https://ctan.org/pkg/embedall},
- annotation = {The package provides a means of storing a project, without losing
- anything. It uses the
- package to attach to the generated PDF all files used in creating
- your project. In particular, it can embed images, external \TeX{}
- files, external codes and},
-}
-
-@manual{ctan-embedfile,
- title = {The \texttt{embedfile} package},
- subtitle = {Embed files into PDF},
- author = {Heiko Oberdiek},
- date = {2023-01-12},
- version = {2.12},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/embedfile},
- url = {https://ctan.org/pkg/embedfile},
- annotation = {This package embeds files in a PDF document, using the PDF
- format's embedding operation (note the contrast with the attach
- operation used by the
- and packages).
- Currently only >=1.30, in
- PDF mode, is supported.},
-}
-
-@manual{ctan-embrac,
- title = {The \texttt{embrac} package},
- subtitle = {Upright brackets in emphasised text},
- author = {Clemens Niederberger},
- date = {2021-02-20},
- version = {0.9a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/embrac},
- url = {https://ctan.org/pkg/embrac},
-}
-
-@manual{ctan-emerald,
- title = {The \texttt{emerald} package},
- subtitle = {Support for the free emerald city fontwerks fonts},
- author = {M. César Rodríguez},
- date = {2016-06-24},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/emerald},
- url = {https://ctan.org/pkg/emerald},
-}
-
-@manual{ctan-emf,
- title = {The \texttt{emf} package},
- subtitle = {Support for the EMF symbol},
- author = {Palle Jørgensen},
- date = {2019-06-21},
- version = {1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/emf},
- url = {https://ctan.org/pkg/emf},
-}
-
-@manual{ctan-emisa,
- title = {The \texttt{emisa} package},
- subtitle = {A \LaTeX{} package for preparing manuscripts for the journal EMISA},
- author = {Martin Sievers and Stefan Strecker},
- date = {2020-11-26},
- version = {2.3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/emisa},
- url = {https://ctan.org/pkg/emisa},
- annotation = {The EMISA \LaTeX{} package is provided for preparing manuscripts
- for submission to EMISA
- (Enterprise Modelling and Information Systems Architectures),
- and for preparing accepted submissions for publication as well
- as for typesetting the final document by the editorial office.
- Articles in EMISA are published online at
-
- in the Portable Document Format (PDF).},
-}
-
-@manual{ctan-emoji,
- title = {The \texttt{emoji} package},
- subtitle = {Emoji support in (Lua)LaTeX},
- author = {Xiangdong Zeng},
- date = {2021-07-17},
- version = {0.2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/emoji},
- url = {https://ctan.org/pkg/emoji},
- annotation = {This package allows users to typeset emojis in \LaTeX{} documents.
- It requires the LuaHBTeX engine, which can be called by
- since \TeX{} Live 2020, or
- in \TeX{} Live 2019.},
-}
-
-@manual{ctan-emojicite,
- title = {The \texttt{emojicite} package},
- subtitle = {Add emojis to citations},
- author = {Leon Sixt},
- date = {2020-05-13},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/emojicite},
- url = {https://ctan.org/pkg/emojicite},
-}
-
-@manual{ctan-emp,
- title = {The \texttt{emp} package},
- subtitle = {"Encapsulate" MetaPost figures in a document},
- author = {Thorsten Ohl},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/emp},
- url = {https://ctan.org/pkg/emp},
-}
-
-@manual{ctan-empheq,
- title = {The \texttt{empheq} package},
- subtitle = {EMPHasizing EQuations},
- author = {Morten Høgholm and Lars Madsen and {The \LaTeX{} Project Team} and Will Robertson and Joseph Wright},
- date = {2020-03-24},
- version = {2.16},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathtools},
- url = {https://ctan.org/pkg/empheq},
- annotation = {This package is part of
- the bundle.
- it provides a visual markup extension to
- .
- The user-friendly interface allows the user to put a set of
- equations inside a box thus enhancing the feature of
- amsmath. As a side effect it is also possible to add material on
- both sides of the equations thus providing (and surpassing) the
- functionality of the package.
- Users of will probably
- want to have a look at it as well, since the problem with
- end-of-theorem marks in and other environments
- can be circumvented using .},
-}
-
-@manual{ctan-emptypage,
- title = {The \texttt{emptypage} package},
- subtitle = {Make empty pages really empty},
- author = {Karl Wette},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/emptypage},
- url = {https://ctan.org/pkg/emptypage},
-}
-
-@manual{ctan-emtex,
- title = {The \texttt{emtex} package},
- subtitle = {A \TeX{} system for MS-DOS and OS/2},
- author = {Eberhard Mattes},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/systems/msdos/emtex},
- url = {https://ctan.org/pkg/emtex},
-}
-
-@manual{ctan-emtexgi,
- title = {The \texttt{emtexgi} package},
- subtitle = {A MS-Windows shell for emTeX},
- author = {Allin Cottrell},
- date = {2017-04-18},
- version = {2.01 beta},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/msdos/emtex-contrib/emtexgi},
- url = {https://ctan.org/pkg/emtexgi},
-}
-
-@manual{ctan-emtrees,
- title = {The \texttt{emtrees} package},
- subtitle = {Draw labelled trees, using emTeX \textbackslash{}specials},
- author = {Harald Boegeholz},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/emtrees.tex},
- url = {https://ctan.org/pkg/emtrees},
- annotation = {A small set of macros for drawing trees. The macros depend on the
- availability of s; most
- installations of dvips have these, but the output of the macros is
- unlikely to be usable otherwise, unless you're using emTeX itself.},
-}
-
-@manual{ctan-emulateapj,
- title = {The \texttt{emulateapj} package},
- subtitle = {Produce output similar to that of APJ},
- author = {Alexey Vikhlinin and Maxim Markevitch},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/emulateapj},
- url = {https://ctan.org/pkg/emulateapj},
- annotation = {A \LaTeX{} class (based on current ) to
- produce preprints with the page layout similar to that of the
- Astrophysical Journal.},
-}
-
-@manual{ctan-encguide,
- title = {The \texttt{encguide} package},
- subtitle = {Documentation of \LaTeX{} font encodings},
- author = {{The \LaTeX{} Project Team} and Werner Lemberg},
- date = {2019-10-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/encguide},
-}
-
-@manual{ctan-enctex,
- title = {The \texttt{encTeX} package},
- subtitle = {A \TeX{} extension that translates input on its way into \TeX{}},
- author = {Petr Olšák},
- date = {2018-01-06},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/enctex},
- url = {https://ctan.org/pkg/enctex},
-}
-
-@manual{ctan-encxvlna,
- title = {The \texttt{encxvlna} package},
- subtitle = {Insert nonbreakable spaces, using encTeX},
- author = {Zdeněk Wagner and Petr Olšák},
- date = {2018-05-30},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/encxvlna},
- url = {https://ctan.org/pkg/encxvlna},
-}
-
-@manual{ctan-endfloat,
- title = {The \texttt{endfloat} package},
- subtitle = {Move floats to the end, leaving markers where they belong},
- author = {Jeffrey Goldberg and Axel Sommerfeldt},
- date = {2020-11-25},
- version = {2.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/endfloat},
- url = {https://ctan.org/pkg/endfloat},
- annotation = {Place all floats on pages by themselves at the end of the
- document, optionally leaving markers like “[Figure 3 about
- here]” in the text near to where the figure (or table)
- would normally have occurred. Float types and
- are recognised by the package, unmodified. Since
- several packages define other types of float, it is possible to
- register these float types with endfloat.},
-}
-
-@manual{ctan-endheads,
- title = {The \texttt{endheads} package},
- subtitle = {Running headers of the form "Notes to pp.xx-yy"},
- author = {John Burt},
- date = {2017-04-08},
- version = {1.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/endheads},
- url = {https://ctan.org/pkg/endheads},
- annotation = {Endheads provides running headers of the form “Notes to
- pp. xx–yy” for
- endnotes sections. It also enables one to reset the endnotes
- counter, and put a line marking the chapter change in the
- endnotes, at the beginning of every chapter. Endheads requires the
- ,
- ,
- , and
- packages.},
-}
-
-@manual{ctan-endiagram,
- title = {The \texttt{endiagram} package},
- subtitle = {Easy creation of potential energy curve diagrams},
- author = {Clemens Niederberger},
- date = {2016-06-24},
- version = {0.1d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/endiagram},
- url = {https://ctan.org/pkg/endiagram},
-}
-
-@manual{ctan-endnote,
- title = {The \texttt{endnote} package},
- subtitle = {Generic "endnotes" code},
- author = {{Unknown}},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/endnote.tex},
- url = {https://ctan.org/pkg/endnote},
-}
-
-@manual{ctan-endnote2bib,
- title = {The \texttt{EndNote2bib} package},
- subtitle = {Convert EndNote files to BibTeX},
- author = {Richard J Mathar},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/r2bib},
- url = {https://ctan.org/pkg/endnote2bib},
-}
-
-@manual{ctan-endnotes-hy,
- title = {The \texttt{endnotes-hy} package},
- subtitle = {Patches the endnotes package to create hypertext links to the correct anchors},
- author = {Donald P. Story},
- date = {2020-04-16},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/endnotes-hy},
- url = {https://ctan.org/pkg/endnotes-hy},
- annotation = {The package supports the creation of hypertext links in support of the
- package. The package modifies the syntax of the command:
-
- When the -option is used, no endnote mark is created, but the endnote itself is written.
- The command appears at the end of the and its arguments, rather
- than within the argument of the argument.},
-}
-
-@manual{ctan-endnotes,
- title = {The \texttt{endnotes} package},
- subtitle = {Place footnotes at the end},
- author = {Bernard Gaulle and John Lavagnino and Robin Fairbairns and David Carlisle},
- date = {2020-01-04},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/endnotes},
- url = {https://ctan.org/pkg/endnotes},
- annotation = {Accumulates notes (using the command, which can
- be used as a replacement for ), and places them
- at the end of the section, chapter or document.},
-}
-
-@manual{ctan-endnotesj,
- title = {The \texttt{endnotesj} package},
- subtitle = {Japanese-style endnotes},
- author = {Hironobu Yamashita},
- date = {2018-05-15},
- version = {3.0},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/language/japanese/endnotesj},
- url = {https://ctan.org/pkg/endnotesj},
- annotation = {This package provides customized styles for endnotes to be
- used with Japanese documents. It can be used on
- ,
- , and
- Lua\LaTeX{} ().},
-}
-
-@manual{ctan-endofproofwd,
- title = {The \texttt{endofproofwd} package},
- subtitle = {An “end of proof” sign},
- author = {S. Jensen},
- date = {2020-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/endofproofwd},
- url = {https://ctan.org/pkg/endofproofwd},
-}
-
-@manual{ctan-engord,
- title = {The \texttt{engord} package},
- subtitle = {Converts numbers to English ordinal numbers},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/engord.dtx},
- url = {https://ctan.org/pkg/engord},
-}
-
-@manual{ctan-engpron,
- title = {The \texttt{engpron} package},
- subtitle = {Helps to type the pronunciation of English words},
- author = {Yvon Henel},
- date = {2016-06-24},
- version = {2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/engpron},
- url = {https://ctan.org/pkg/engpron},
-}
-
-@manual{ctan-engrec,
- title = {The \texttt{engrec} package},
- subtitle = {Enumerate with lower- or uppercase Greek letters},
- author = {Yvon Henel},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/engrec},
- url = {https://ctan.org/pkg/engrec},
-}
-
-@manual{ctan-engtlc,
- title = {The \texttt{engtlc} package},
- subtitle = {Support for users in Telecommunications Engineering},
- author = {Claudio Fiandrino},
- date = {2016-06-24},
- version = {3.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/engtlc},
- url = {https://ctan.org/pkg/engtlc},
-}
-
-@manual{ctan-engwar,
- title = {The \texttt{engwar} package},
- subtitle = {Font for typesetting Tolkien Engwar script},
- author = {Michael Urban},
- date = {2019-06-21},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/engwar},
- url = {https://ctan.org/pkg/engwar},
-}
-
-@manual{ctan-enigma,
- title = {The \texttt{enigma} package},
- subtitle = {Encrypt documents with a three rotor Enigma},
- author = {Philipp Gesang},
- date = {2016-06-24},
- version = {0.1},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/enigma},
- url = {https://ctan.org/pkg/enigma},
-}
-
-@manual{ctan-enotez,
- title = {The \texttt{enotez} package},
- subtitle = {Support for end-notes},
- author = {Clemens Niederberger},
- date = {2022-01-04},
- version = {0.10d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/enotez},
- url = {https://ctan.org/pkg/enotez},
-}
-
-@manual{ctan-enparen,
- title = {The \texttt{enparen} package},
- subtitle = {Consistent nested brackets},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/enparen.dtx},
- url = {https://ctan.org/pkg/enparen},
-}
-
-@manual{ctan-enpassant,
- title = {The \texttt{enpassant} package},
- subtitle = {Enpassant chess font support},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/chess/enpassant},
- url = {https://ctan.org/pkg/enpassant},
- annotation = {The package contains the necessary files to use free chess fonts from
- the (or on
- CTAN), with (La)TeX. For some of the fonts the pfb-file is also
- part of the package, or is available elsewhere on CTAN. For
- others the pfb must be made from the original ttf from the
- enpassant site. Instructions about the conversion and the use of
- the font can be found in the documentation of chessfss.},
-}
-
-@manual{ctan-enumerate,
- title = {The \texttt{enumerate} package},
- subtitle = {Enumerate with redefinable labels},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {3.00},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/enumerate},
-}
-
-@manual{ctan-enumitem-zref,
- title = {The \texttt{enumitem-zref} package},
- subtitle = {Extended references to items for enumitem package},
- author = {Florent Chervet},
- date = {2022-11-12},
- version = {1.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/enumitem-zref},
- url = {https://ctan.org/pkg/enumitem-zref},
-}
-
-@manual{ctan-enumitem,
- title = {The \texttt{enumitem} package},
- subtitle = {Control layout of itemize, enumerate, description},
- author = {Javier Bezos López},
- date = {2019-06-22},
- version = {3.9},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/enumitem},
- url = {https://ctan.org/pkg/enumitem},
- annotation = {This package provides user control over the layout of the three
- basic list environments: enumerate, itemize and description. It
- supersedes both and
- (providing well-structured
- replacements for all their funtionality), and in addition provides
- functions to compute the layout of labels, and to
- ‘clone’ the standard environments, to create new
- environments with counters of their own.},
-}
-
-@manual{ctan-enumspec,
- title = {The \texttt{enumspec} package},
- subtitle = {Enumerate with extra leading character for labels},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/enumspec.sty},
- url = {https://ctan.org/pkg/enumspec},
- annotation = {The package allows for a leading character on the enumerate
- label(s). The default character to be used ()
- is by default , but may be redefined.},
-}
-
-@manual{ctan-envbig,
- title = {The \texttt{envbig} package},
- subtitle = {Printing addresses on envelopes},
- author = {Bhaskar Manda and Heather Sherman},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/envbig},
- url = {https://ctan.org/pkg/envbig},
-}
-
-@manual{ctan-envelope,
- title = {The \texttt{envelope} package},
- subtitle = {Print envelopes},
- author = {Heather Sherman},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/envelope},
- url = {https://ctan.org/pkg/envelope},
-}
-
-@manual{ctan-environ,
- title = {The \texttt{environ} package},
- subtitle = {A new interface for environments in \LaTeX{}},
- author = {Will Robertson},
- date = {2019-09-28},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/environ},
- url = {https://ctan.org/pkg/environ},
-}
-
-@manual{ctan-envlab,
- title = {The \texttt{envlab} package},
- subtitle = {Addresses on envelopes or mailing labels},
- author = {Boris Veytsman},
- date = {2022-02-03},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/envlab},
- url = {https://ctan.org/pkg/envlab},
- annotation = {A \LaTeX{} package for producing mailing envelopes and labels,
- including barcodes and address formatting according to the US
- Postal Service rules. Redefines the standard
- command of the \LaTeX{} letter documentclass.},
-}
-
-@manual{ctan-envmath,
- title = {The \texttt{envmath} package},
- subtitle = {Maths commands and environments},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {2.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio},
- url = {https://ctan.org/pkg/envmath},
-}
-
-@manual{ctan-eolang,
- title = {The \texttt{eolang} package},
- subtitle = {Formulas and graphs for the EO programming language},
- author = {Yegor Bugayenko},
- date = {2023-03-01},
- version = {0.12.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eolang},
- url = {https://ctan.org/pkg/eolang},
- annotation = {This \LaTeX{} package helps you write 𝜑-calculus formulas and graphs for
- the programming
- language.},
-}
-
-@manual{ctan-eolgrab,
- title = {The \texttt{eolgrab} package},
- subtitle = {Catch arguments delimited by end of line},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/eolgrab.dtx},
- url = {https://ctan.org/pkg/eolgrab},
-}
-
-@manual{ctan-epic,
- title = {The \texttt{epic} package},
- subtitle = {Enhance \LaTeX{} picture mode},
- author = {Sunil Podar},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/epic},
- url = {https://ctan.org/pkg/epic},
- annotation = {The package extends picture mode in the context of existing
- picture mode commands. The (later) ‘extended
- epic’ package requires
- tpic commands for full functionality.},
-}
-
-@manual{ctan-epigrafica,
- title = {The \texttt{Epigrafica} package},
- subtitle = {A Greek and Latin font},
- author = {Antonis Tsolomitis},
- date = {2017-04-18},
- version = {1.01},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/greek/epigrafica},
- url = {https://ctan.org/pkg/epigrafica},
-}
-
-@manual{ctan-epigram,
- title = {The \texttt{epigram} package},
- subtitle = {Display short quotations},
- author = {Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/misc/epigram.tex},
- url = {https://ctan.org/pkg/epigram},
-}
-
-@manual{ctan-epigraph-keys,
- title = {The \texttt{epigraph-keys} package},
- subtitle = {Epigraphs using key values},
- author = {Benjamin McKay},
- date = {2021-03-24},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/epigraph-keys},
- url = {https://ctan.org/pkg/epigraph-keys},
-}
-
-@manual{ctan-epigraph,
- title = {The \texttt{epigraph} package},
- subtitle = {A package for typesetting epigraphs},
- author = {Will Robertson and Peter R. Wilson},
- date = {2020-04-23},
- version = {1.5e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/epigraph},
- url = {https://ctan.org/pkg/epigraph},
-}
-
-@manual{ctan-epiolmec,
- title = {The \texttt{epiolmec} package},
- subtitle = {Typesetting the Epi-Olmec Language},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/epiolmec},
- url = {https://ctan.org/pkg/epiolmec},
-}
-
-@manual{ctan-epix,
- title = {The \texttt{ePiX} package},
- subtitle = {Utility for mathematically accurate, camera quality plots and line figures},
- author = {Andrew D. Hwang},
- date = {2020-06-12},
- license = {gpl},
- url = {https://ctan.org/pkg/epix},
-}
-
-@manual{ctan-eplain,
- title = {The \texttt{eplain} package},
- subtitle = {Extended plain \TeX{} macros},
- author = {Karl Berry and Oleg Katsitadze and Dorai Sitaram},
- date = {2022-10-16},
- version = {3.13},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/macros/eplain},
- url = {https://ctan.org/pkg/eplain},
-}
-
-@manual{ctan-epmtfe,
- title = {The \texttt{epmtfe} package},
- subtitle = {TeX environment for OS/2},
- author = {Walter A. Schmidt},
- date = {2016-06-24},
- version = {5.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/os2/epmtfe},
- url = {https://ctan.org/pkg/epmtfe},
- annotation = {The EPM \TeX{} Front End is an additional module for the OS/2
- ‘Enhanced Editor’ (EPM), v6.03, turning the editor into
- a powerful integrated \TeX{} environment that can be used in
- conjunction with ,
- or another OS/2 \TeX{} system.},
-}
-
-@manual{ctan-eppstein-trees,
- title = {The \texttt{eppstein-trees} package},
- subtitle = {Macros for producing trees},
- author = {David Eppstein},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/trees/eppstein},
- url = {https://ctan.org/pkg/eppstein-trees},
-}
-
-@manual{ctan-eps2pdf,
- title = {The \texttt{eps2pdf} package},
- subtitle = {A Win32 GUI EPS to PDF convertor},
- author = {Nikola Jakšić},
- date = {2016-07-05},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/eps2pdf},
- url = {https://ctan.org/pkg/eps2pdf},
- annotation = {Another front end
- for this task. Note that
- is the application of choice for conversion, where scripted use,
- or use in a \TeX{} callout via , is needed.},
-}
-
-@manual{ctan-epsdice,
- title = {The \texttt{epsdice} package},
- subtitle = {A scalable dice "font"},
- author = {Thomas Heim},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/epsdice},
- url = {https://ctan.org/pkg/epsdice},
- annotation = {The epsdice package defines a single command that takes a
- numeric argument (in the range 1-6), and selects a face image from
- a file that contains each of the 6 possible die faces. The
- graphic file is provided in both Encapsulated PostScript and PDF
- formats.},
-}
-
-@manual{ctan-epsf-dvipdfmx,
- title = {The \texttt{epsf-dvipdfmx} package},
- subtitle = {Plain \TeX{} file for using epsf.tex with (x)dvipdfmx},
- author = {Akira Kakuto and Karl Berry},
- date = {2021-06-26},
- version = {2014},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/epsf-dvipdfmx},
- url = {https://ctan.org/pkg/epsf-dvipdfmx},
-}
-
-@manual{ctan-epsf,
- title = {The \texttt{epsf} package},
- subtitle = {Simple macros for EPS inclusion},
- author = {Tom Rokicki and Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {2.7.4},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/epsf},
- url = {https://ctan.org/pkg/epsf},
-}
-
-@manual{ctan-epsfig,
- title = {The \texttt{epsfig} package},
- subtitle = {Include Encapsulated PostScript in \LaTeX{} documents},
- author = {Sebastian Rahtz and David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.7b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/epsfig},
-}
-
-@manual{ctan-epsfig209,
- title = {The \texttt{epsfig209} package},
- subtitle = {Obsolete graphics inclusion macros},
- author = {Peter Whaite},
- date = {2016-06-24},
- version = {1.20},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/contrib/epsfig},
- url = {https://ctan.org/pkg/epsfig209},
- annotation = {The package is a predecessor of the \LaTeX{}2e
- , and has some
- undesirable properties, in current (LaTeX2e) use.},
-}
-
-@manual{ctan-epsfview,
- title = {The \texttt{epsfview} package},
- subtitle = {Mac AppleScript tool for viewing figures generated with MetaPost},
- author = {Javier Bezos López},
- date = {2016-06-18},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/mac/epsfview.sea.hqx},
- url = {https://ctan.org/pkg/epsfview},
-}
-
-@manual{ctan-epsfx,
- title = {The \texttt{epsfx} package},
- subtitle = {A \TeX{} macro package for including EPS graphics},
- author = {{BOP}},
- date = {2016-06-24},
- version = {0.62},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/TeX-PS/epsfx.tex},
- url = {https://ctan.org/pkg/epsfx},
- annotation = {An alternative for the
- macros for using graphics in .
- The package enables, e.g., draft printing of bounding boxes,
- safe inputting of EPS files generated by
- ; moreover, the limit on
- an EPS size is no longer ten times smaller than the \TeX{} one.},
-}
-
-@manual{ctan-epsincl,
- title = {The \texttt{epsincl} package},
- subtitle = {Include EPS in MetaPost figures},
- author = {{BOP}},
- date = {2016-06-24},
- version = {0.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/epsincl},
- url = {https://ctan.org/pkg/epsincl},
-}
-
-@manual{ctan-epslatex,
- title = {The \texttt{epslatex} package},
- subtitle = {Guide to using Encapsulated PostScript in \LaTeX{}},
- author = {Keith Reckdahl},
- date = {2016-06-24},
- version = {3.0.1},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/epslatex/english},
- url = {https://ctan.org/pkg/epslatex},
-}
-
-@manual{ctan-epspdf-extra,
- title = {The \texttt{epspdf-extra} package},
- subtitle = {Platform-specific extras for epspdf},
- author = {Siep Kroonenberg},
- date = {2016-06-24},
- version = {0.6.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/support/epspdf-extra},
- url = {https://ctan.org/pkg/epspdf-extra},
- annotation = {The bundle provides support for
- on Windows platforms.},
-}
-
-@manual{ctan-epspdf-setup,
- title = {The \texttt{epspdf-setup} package},
- subtitle = {epspdftk with GUI installer},
- author = {Siep Kroonenberg},
- date = {2023-02-14},
- version = {0.6.5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/support/epspdf-setup},
- url = {https://ctan.org/pkg/epspdf-setup},
- annotation = {epspdf-setup is a Windows installer for and
- . It replaces the epspdftk from the plain
- package with a version
- which runs out of the box on Windows, as long as there is a \TeX{}
- installation. On other platforms, the plain epspdf package should
- suffice.},
-}
-
-@manual{ctan-epspdf,
- title = {The \texttt{epspdf} package},
- subtitle = {Converter for PostScript, EPS and PDF},
- author = {Siep Kroonenberg},
- date = {2023-02-13},
- version = {0.6.5.1},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/epspdf},
- url = {https://ctan.org/pkg/epspdf},
- annotation = {is a GUI ps/eps/pdf converter. ,
- its command-line backend, can be used by itself. Options include grayscaling,
- cropping margins and single-page selection. Some conversion options are made
- possible by converting in multiple steps.},
-}
-
-@manual{ctan-epspdfconversion,
- title = {The \texttt{epspdfconversion} package},
- subtitle = {On-the-fly conversion of EPS to PDF},
- author = {Daniel Becker},
- date = {2016-06-24},
- version = {0.61},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/epspdfconversion},
- url = {https://ctan.org/pkg/epspdfconversion},
- annotation = {The package calls the
- package to convert EPS graphics to PDF, on the fly. It servs as
- a vehicle for passing conversion options (such as
- , or ) to
- the converter.},
-}
-
-@manual{ctan-epstool,
- title = {The \texttt{epstool} package},
- subtitle = {Manipulate Encapsulated PostScript (EPS)},
- author = {Russell Lang},
- date = {2017-04-18},
- version = {5.0},
- license = {nosell},
- url = {https://ctan.org/pkg/epstool},
-}
-
-@manual{ctan-epstopdf-pkg,
- title = {The \texttt{epstopdf-pkg} package},
- subtitle = {Call epstopdf "on the fly"},
- author = {Heiko Oberdiek},
- date = {2020-01-24},
- version = {2.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/epstopdf-pkg},
- url = {https://ctan.org/pkg/epstopdf-pkg},
- annotation = {The package adds support for EPS files in the
- package when running under
- pdfTeX. If an EPS graphic is detected, the package spawns a
- process to convert the EPS to PDF, using the script
- . This of course requires
- that shell escape is enabled for the pdfTeX run.},
-}
-
-@manual{ctan-epstopdf,
- title = {The \texttt{epstopdf} package},
- subtitle = {Convert EPS to PDF using Ghostscript},
- author = {Gerben Wierda and Sebastian Rahtz and Thomas Esser and Heiko Oberdiek and Karl Berry},
- date = {2023-03-07},
- version = {2.31},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/epstopdf},
- url = {https://ctan.org/pkg/epstopdf},
-}
-
-@manual{ctan-eq-fetchbbl,
- title = {The \texttt{eq-fetchbbl} package},
- subtitle = {Match Biblical passages with verse references in a quiz},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eq-fetchbbl},
- url = {https://ctan.org/pkg/eq-fetchbbl},
-}
-
-@manual{ctan-eq-pin2corr,
- title = {The \texttt{eq-pin2corr} package},
- subtitle = {Add PIN security to the “Correct” button of a quiz created by exerquiz},
- author = {Donald P. Story},
- date = {2021-06-05},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eq-pin2corr},
- url = {https://ctan.org/pkg/eq-pin2corr},
-}
-
-@manual{ctan-eq-save,
- title = {The \texttt{eq-save} package},
- subtitle = {Save exerquiz quizzes and resume},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eq-save},
- url = {https://ctan.org/pkg/eq-save},
- annotation = {The package has a scheme for saving data from
- documents so the student can return later to continue with quiz results restored.},
-}
-
-@manual{ctan-eq2db,
- title = {The \texttt{eq2db} package},
- subtitle = {Convert a quiz to one submitted to a server-side script},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eq2db},
- url = {https://ctan.org/pkg/eq2db},
-}
-
-@manual{ctan-eqell,
- title = {The \texttt{eqell} package},
- subtitle = {Sympathetically spaced ellipsis after punctuation},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqell},
- url = {https://ctan.org/pkg/eqell},
- annotation = {The package provides commands that give a well-spaced ellipsis
- after , , or .},
-}
-
-@manual{ctan-eqexam,
- title = {The \texttt{eqexam} package},
- subtitle = {A stand-alone exam package},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqexam},
- url = {https://ctan.org/pkg/eqexam},
- annotation = {eqExam is a \LaTeX{} package for writing exams, tests, quizzes,
- homework assignments, etc. It is a stand alone package, yet
- is tightly integrated with the
- .},
-}
-
-@manual{ctan-eqexpl,
- title = {The \texttt{eqexpl} package},
- subtitle = {Align explanations for formulas},
- author = {Konstantin Morenko},
- date = {2022-06-17},
- version = {1.1.1},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqexpl},
- url = {https://ctan.org/pkg/eqexpl},
-}
-
-@manual{ctan-eqlist,
- title = {The \texttt{eqlist} package},
- subtitle = {Description lists with equal indentation},
- author = {Martin Väth},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqlist},
- url = {https://ctan.org/pkg/eqlist},
-}
-
-@manual{ctan-eqmark,
- title = {The \texttt{eqmark} package},
- subtitle = {Generalise facilities for marking equation arrays},
- author = {Dirk Nitschke},
- date = {2016-06-24},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/eqmark},
- url = {https://ctan.org/pkg/eqmark},
-}
-
-@manual{ctan-eqmlite,
- title = {The \texttt{Eqmlite/Free} package},
- subtitle = {TeX system and PDF support for Linux and OS/2},
- author = {{MicroPress}},
- date = {2022-01-28},
- version = {2.31},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/systems/win32/micropress/eqmlite},
- url = {https://ctan.org/pkg/eqmlite},
-}
-
-@manual{ctan-eqnalign,
- title = {The \texttt{eqnalign} package},
- subtitle = {Make eqnarray behave like align},
- author = {Tomas Hejda},
- date = {2017-02-22},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqnalign},
- url = {https://ctan.org/pkg/eqnalign},
- annotation = {The package makes environment behave
- like from . It is intended for
- quick-fixing documents that use .
- In cases where it fails, manual conversion to
- is required, but these cases should be seldom.},
-}
-
-@manual{ctan-eqname,
- title = {The \texttt{eqname} package},
- subtitle = {Name tags for equations},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gene/eqname},
- url = {https://ctan.org/pkg/eqname},
- annotation = {The command provides a name tag for the current equation,
- in place of an equation number. The name tag will be picked up by
- a subsequent command.},
-}
-
-@manual{ctan-eqnarray,
- title = {The \texttt{eqnarray} package},
- subtitle = {More generalised equation arrays with numbering},
- author = {Roland Winkler},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqnarray},
- url = {https://ctan.org/pkg/eqnarray},
-}
-
-@manual{ctan-eqnarray209,
- title = {The \texttt{eqnarray209} package},
- subtitle = {A fix for \LaTeX{} 2.09 eqnarray},
- author = {David M. Jones},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/eqnarray.sty},
- url = {https://ctan.org/pkg/eqnarray209},
-}
-
-@manual{ctan-eqnnumwarn,
- title = {The \texttt{eqnnumwarn} package},
- subtitle = {Modifies the amsmath equation environments to warn for a displaced equation number},
- author = {Jonathan Gleason},
- date = {2018-01-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqnnumwarn},
- url = {https://ctan.org/pkg/eqnnumwarn},
- annotation = {Sometimes an equation is too long that an equation number will
- be typeset below the equation itself, but yet not long enough to
- yield an "overfull \textbackslash{}hbox" warning. The
- package modifies the standard amsmath numbered equation
- environments to throw a warning whenever this occurs.},
-}
-
-@manual{ctan-eqparbox,
- title = {The \texttt{eqparbox} package},
- subtitle = {Create equal-widthed parboxes},
- author = {Scott Pakin},
- date = {2017-09-04},
- version = {4.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eqparbox},
- url = {https://ctan.org/pkg/eqparbox},
- annotation = {\LaTeX{} users sometimes need to ensure that two or more
- blocks of text occupy the same amount of horizontal
- space on the page. To that end, the eqparbox package
- defines a new command, , which works just like
- , except that instead of specifying a width, one
- specifies a tag. All eqparboxes with the same
- tag—regardless of where they are in the
- document—will stretch to fit the widest eqparbox with that
- tag. This simple, equal-width mechanism can be used for a variety
- of alignment purposes, as is evidenced by the examples in
- eqparbox's documentation. Various derivatives of
- are also provided.},
-}
-
-@manual{ctan-equationauthor,
- title = {The \texttt{equationauthor} package},
- subtitle = {Visual equation editor},
- author = {Danilo Stélio Manhiça},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/equationauthor},
- url = {https://ctan.org/pkg/equationauthor},
-}
-
-@manual{ctan-erdc,
- title = {The \texttt{erdc} package},
- subtitle = {Style for Reports by US Army Corps of Engineers},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/erdc},
- url = {https://ctan.org/pkg/erdc},
-}
-
-@manual{ctan-erewhon-math,
- title = {The \texttt{erewhon-math} package},
- subtitle = {Utopia based OpenType Math font},
- author = {Daniel Flipo},
- date = {2023-01-30},
- version = {0.56},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/erewhon-math},
- url = {https://ctan.org/pkg/erewhon-math},
- annotation = {OpenType version of the
- Type1 fonts designed by Michel Bovani.},
-}
-
-@manual{ctan-erewhon,
- title = {The \texttt{erewhon} package},
- subtitle = {Font package derived from Heuristica and Utopia},
- author = {Michael Sharpe},
- date = {2022-05-16},
- version = {1.12},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/erewhon},
- url = {https://ctan.org/pkg/erewhon},
- annotation = {Erewhon is based on the
- package,
- which is based in turn on
- .
- Erewhon adds a number of new features — small caps
- in all styles rather than just regular,
- added figure styles (proportional, inferior, numerator, denominator)
- and superior letters.
- The size is 6\% smaller than Heuristica,
- matching that of UtopiaStd.},
-}
-
-@manual{ctan-errata,
- title = {The \texttt{errata} package},
- subtitle = {Error markup for \LaTeX{} documents},
- author = {Michael Kohlhase},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/errata},
- url = {https://ctan.org/pkg/errata},
-}
-
-@manual{ctan-erw-l3,
- title = {The \texttt{erw-l3} package},
- subtitle = {Utilities based on \LaTeX{}3},
- author = {Erwann Rogard},
- date = {2022-01-29},
- version = {4.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/erw-l3},
- url = {https://ctan.org/pkg/erw-l3},
- annotation = {Utilities based on \LaTeX{}3.
- Highlight: .},
-}
-
-@manual{ctan-esami,
- title = {The \texttt{esami} package},
- subtitle = {Typeset exams with scrambled questions and answers},
- author = {Grazia Messineo and Salvatore Vassallo},
- date = {2022-01-13},
- version = {2.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/esami},
- url = {https://ctan.org/pkg/esami},
-}
-
-@manual{ctan-escapetext,
- title = {The \texttt{escapeTeXt} package},
- subtitle = {Make plain text safe for use in \LaTeX{}},
- author = {Jim Hefferon},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/escapeTeXt},
- url = {https://ctan.org/pkg/escapetext},
-}
-
-@manual{ctan-esdiff,
- title = {The \texttt{esdiff} package},
- subtitle = {Simplify typesetting of derivatives},
- author = {Eddie Saudrais},
- date = {2020-02-11},
- version = {1.2},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/esdiff},
- url = {https://ctan.org/pkg/esdiff},
-}
-
-@manual{ctan-esieecv,
- title = {The \texttt{esieecv} package},
- subtitle = {Curriculum vitae for French use},
- author = {Benjamin Bayart},
- date = {2021-06-20},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ESIEEcv},
- url = {https://ctan.org/pkg/esieecv},
-}
-
-@manual{ctan-esindex,
- title = {The \texttt{esindex} package},
- subtitle = {Typset index entries in Spanish documents},
- author = {Javier Bezos López},
- date = {2019-10-11},
- version = {1.7},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/esindex},
- url = {https://ctan.org/pkg/esindex},
- annotation = {This package helps you to create indexes in Spanish. With esindex
- you can write, say, \textbackslash{}esindex{cañón} and the entry will be
- correctly alphabetized in the index. This release of esindex works
- with accented characters in any encoding, and without
- .},
-}
-
-@manual{ctan-esint-type1,
- title = {The \texttt{esint-type1} package},
- subtitle = {Font esint10 in Type 1 format},
- author = {Martti Nikunen},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/esint},
- url = {https://ctan.org/pkg/esint-type1},
- annotation = {This is Eddie Saudrais's
- in Adobe Type 1 format. The Adobe Type 1 implementation was
- generated from the original Metafont using
- . This distribution does not
- contain the TFM files that are necessary to use the fonts with
- \TeX{}; the TFM files can be generated from the Metafont sources
- obtained by following the instructions in the normal way.},
-}
-
-@manual{ctan-esint,
- title = {The \texttt{esint} package},
- subtitle = {Extended set of integrals for Computer Modern},
- author = {Eddie Saudrais},
- date = {2019-08-28},
- version = {1.2d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/esint},
- url = {https://ctan.org/pkg/esint},
-}
-
-@manual{ctan-esk,
- title = {The \texttt{esk} package},
- subtitle = {Package to encapsulate Sketch files in \LaTeX{} sources},
- author = {Tom Kazimiers},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/esk},
- url = {https://ctan.org/pkg/esk},
-}
-
-@manual{ctan-eskd,
- title = {The \texttt{eskd} package},
- subtitle = {Modern Russian typesetting},
- author = {Vyacheslav Fyodorov},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eskd},
- url = {https://ctan.org/pkg/eskd},
-}
-
-@manual{ctan-eskdx,
- title = {The \texttt{eskdx} package},
- subtitle = {Modern Russian typesetting},
- author = {Konstantin Korikov},
- date = {2016-06-24},
- version = {0.98},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eskdx},
- url = {https://ctan.org/pkg/eskdx},
-}
-
-@manual{ctan-eslides,
- title = {The \texttt{eslides} package},
- subtitle = {An option for article style to make slides},
- author = {Georg Denk},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/eslides},
- url = {https://ctan.org/pkg/eslides},
-}
-
-@manual{ctan-eso-pic,
- title = {The \texttt{eso-pic} package},
- subtitle = {Add picture commands (or backgrounds) to every page},
- author = {Rolf Niepraschk},
- date = {2020-10-14},
- version = {3.0a},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eso-pic},
- url = {https://ctan.org/pkg/eso-pic},
-}
-
-@manual{ctan-esperant,
- title = {The \texttt{esperant} package},
- subtitle = {Style option for writing Esperanto texts},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {1.1.a},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/esperant.sty},
- url = {https://ctan.org/pkg/esperant},
- annotation = {A \LaTeX{} 2.09 style option for typesetting documents in Esperanto;
- it seems to be a precursor of the esperanto option of current
- .},
-}
-
-@manual{ctan-espo,
- title = {The \texttt{espo} package},
- subtitle = {Customisation for Esperanto},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/espo.sty},
- url = {https://ctan.org/pkg/espo},
- annotation = {The package provides a modest set of macros for use in Esperanto
- documents. The package
- provides a wider set of macros.},
-}
-
-@manual{ctan-esrelation,
- title = {The \texttt{esrelation} package},
- subtitle = {Provides a symbol set for describing relations between ordered pairs},
- author = {David Reinfurt},
- date = {2017-10-29},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/esrelation},
- url = {https://ctan.org/pkg/esrelation},
-}
-
-@manual{ctan-esstix,
- title = {The \texttt{esstix} package},
- subtitle = {PostScript versions of the ESSTIX, with macro support},
- author = {Michael Sharpe},
- date = {2016-06-24},
- version = {1.0},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/esstix},
- url = {https://ctan.org/pkg/esstix},
-}
-
-@manual{ctan-estcpmm,
- title = {The \texttt{estcpmm} package},
- subtitle = {Style for Munitions Management Project Reports},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/estcpmm},
- url = {https://ctan.org/pkg/estcpmm},
-}
-
-@manual{ctan-esvect,
- title = {The \texttt{esvect} package},
- subtitle = {Vector arrows},
- author = {Eddie Saudrais},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/esvect},
- url = {https://ctan.org/pkg/esvect},
-}
-
-@manual{ctan-et,
- title = {The \texttt{et} package},
- subtitle = {TeX-compatible editor},
- author = {John Collins},
- date = {2016-06-24},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/support/et},
- url = {https://ctan.org/pkg/et},
-}
-
-@manual{ctan-etaremune,
- title = {The \texttt{etaremune} package},
- subtitle = {Reverse-counting enumerate environment},
- author = {Hendri Adriaens},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etaremune},
- url = {https://ctan.org/pkg/etaremune},
-}
-
-@manual{ctan-etbb,
- title = {The \texttt{ETbb} package},
- subtitle = {An expansion of Edward Tufte’s ET-Bembo family},
- author = {Michael Sharpe},
- date = {2022-02-04},
- version = {1.056},
- license = {mit,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/etbb},
- url = {https://ctan.org/pkg/etbb},
-}
-
-@manual{ctan-etdipa,
- title = {The \texttt{etdipa} package},
- subtitle = {Simple, lightweight template for scientific documents},
- author = {Simon Michael Laube},
- date = {2016-06-24},
- version = {2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etdipa},
- url = {https://ctan.org/pkg/etdipa},
-}
-
-@manual{ctan-etex-pkg,
- title = {The \texttt{etex-pkg} package},
- subtitle = {E-TeX support package},
- author = {David Carlisle and Peter Breitenlohner and {The \LaTeX{} Project Team}},
- date = {2017-04-18},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etex-pkg},
- url = {https://ctan.org/pkg/etex-pkg},
-}
-
-@manual{ctan-etex,
- title = {The \texttt{e-TeX} package},
- subtitle = {An extended version of \TeX{}, from the NTS project},
- author = {Peter Breitenlohner and {The \TeX{} Live Team}},
- date = {2020-08-30},
- license = {knuth},
- url = {https://ctan.org/pkg/etex},
-}
-
-@manual{ctan-etexcmds,
- title = {The \texttt{etexcmds} package},
- subtitle = {Avoid name clashes with e-TeX commands},
- author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etexcmds},
- url = {https://ctan.org/pkg/etexcmds},
- annotation = {New primitive commands are introduced in e-TeX; sometimes the
- names collide with existing macros. This package solves the
- name clashes by adding a prefix to e-TeX’s commands. For
- example, eTeX’s is provided as
- .},
-}
-
-@manual{ctan-etextools,
- title = {The \texttt{etextools} package},
- subtitle = {e-TeX tools for \LaTeX{} users and package writers},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {3.1415926},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etextools},
- url = {https://ctan.org/pkg/etextools},
-}
-
-@manual{ctan-ethiop-t1,
- title = {The \texttt{ethiop-t1} package},
- subtitle = {Type 1 versions of Amharic fonts},
- author = {Malte Rosenau},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/ethiop},
- url = {https://ctan.org/pkg/ethiop-t1},
- annotation = {These fonts are drop-in Adobe type 1 replacements for the fonts of
- the package.},
-}
-
-@manual{ctan-ethiop,
- title = {The \texttt{ethiop} package},
- subtitle = {\LaTeX{} macros and fonts for typesetting Amharic},
- author = {Berhanu Beyene and Manfred Kudlec and Olaf Kummer and Jochen Metzinger},
- date = {2017-04-18},
- version = {0.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/ethiopia/ethiop},
- url = {https://ctan.org/pkg/ethiop},
-}
-
-@manual{ctan-ethtex,
- title = {The \texttt{ethtex} package},
- subtitle = {Fonts and \LaTeX{} support for typesetting Amharic},
- author = {Abass B. Alamnehe},
- date = {2020-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/ethiopia/ethtex},
- url = {https://ctan.org/pkg/ethtex},
-}
-
-@manual{ctan-etl,
- title = {The \texttt{etl} package},
- subtitle = {Expandable token list operations},
- author = {Jonathan P. Spratte},
- date = {2021-11-07},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etl},
- url = {https://ctan.org/pkg/etl},
-}
-
-@manual{ctan-etoc,
- title = {The \texttt{etoc} package},
- subtitle = {Completely customisable TOCs},
- author = {Jean-François Burnol},
- date = {2023-03-02},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etoc},
- url = {https://ctan.org/pkg/etoc},
-}
-
-@manual{ctan-etoolbox-de,
- title = {The \texttt{etoolbox-de} package},
- subtitle = {German translation of documentation of etoolbox},
- author = {Tim Enderling},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/etoolbox/de},
- url = {https://ctan.org/pkg/etoolbox-de},
-}
-
-@manual{ctan-etoolbox,
- title = {The \texttt{etoolbox} package},
- subtitle = {e-TeX tools for \LaTeX{}},
- author = {Philipp Lehman and Joseph Wright},
- date = {2020-10-05},
- version = {2.5k},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etoolbox},
- url = {https://ctan.org/pkg/etoolbox},
-}
-
-@manual{ctan-etruscan,
- title = {The \texttt{etruscan} package},
- subtitle = {Fonts for the Etruscan script},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/etruscan},
- url = {https://ctan.org/pkg/etruscan},
- annotation = {The Etruscan script was in use between approximately 1000 BC and 100
- AD. The font comes in mirrored forms suitable for writing
- either left-to-right or right-to-left (as the Etruscans did), and
- is provided in Adobe Type 1 format. This is one of a
- series of fonts.},
-}
-
-@manual{ctan-etsvthor,
- title = {The \texttt{etsvthor} package},
- subtitle = {Some useful abbreviations for members of e.t.s.v. Thor},
- author = {Renate Debets},
- date = {2018-07-13},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/etsvthor},
- url = {https://ctan.org/pkg/etsvthor},
-}
-
-@manual{ctan-euclideangeometry,
- title = {The \texttt{euclideangeometry} package},
- subtitle = {Draw geometrical constructions},
- author = {Claudio Beccari},
- date = {2021-10-04},
- version = {0.2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/euclideangeometry},
- url = {https://ctan.org/pkg/euclideangeometry},
-}
-
-@manual{ctan-euenc,
- title = {The \texttt{EUenc} package},
- subtitle = {Unicode font encoding definitions for XeTeX},
- author = {Will Robertson and Élie Roux and Khaled Hosny},
- date = {2016-10-08},
- version = {0.1h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/euenc},
- url = {https://ctan.org/pkg/euenc},
-}
-
-@manual{ctan-euflag,
- title = {The \texttt{euflag} package},
- subtitle = {A command to reproduce the flag of the European Union},
- author = {Peter Flynn},
- date = {2020-05-24},
- version = {0.8},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/euflag},
- url = {https://ctan.org/pkg/euflag},
-}
-
-@manual{ctan-eukdate,
- title = {The \texttt{eukdate} package},
- subtitle = {UK format dates, with weekday},
- author = {Andrew Gilbert Moschou},
- date = {2016-06-24},
- version = {1.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eukdate},
- url = {https://ctan.org/pkg/eukdate},
- annotation = {The package is used to change the format of
- ’s date, including the weekday,
- e.g., “Saturday, 26 June 2008”, the ‘UK
- format’, which is preferred in many parts of the world, as
- distinct from that which is used in of the
- article class, “June 26, 2008”, the ‘US
- format’.},
-}
-
-@manual{ctan-eukleides,
- title = {The \texttt{eukleides} package},
- subtitle = {A geometry drawing system},
- author = {Christian Obrecht},
- date = {2018-09-15},
- version = {1.5.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/eukleides},
- url = {https://ctan.org/pkg/eukleides},
-}
-
-@manual{ctan-euler-math,
- title = {The \texttt{euler-math} package},
- subtitle = {OpenType version of Hermann Zapf’s Euler maths font},
- author = {Daniel Flipo},
- date = {2023-01-30},
- version = {0.31},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/euler-math},
- url = {https://ctan.org/pkg/euler-math},
-}
-
-@manual{ctan-euler,
- title = {The \texttt{euler} package},
- subtitle = {Use AMS Euler fonts for math},
- author = {Frank Jensen},
- date = {2016-06-24},
- version = {2.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/euler},
- url = {https://ctan.org/pkg/euler},
- annotation = {Provides a setup for using the AMS Euler family of fonts for
- mathematics in \LaTeX{} documents. “The underlying philosophy
- of Zapf's Euler design was to capture the flavour of mathematics
- as it might be written by a mathematician with excellent
- handwriting.” The euler package is based on Knuth’s macros for
- the book ‘Concrete Mathematics’. The text fonts for the Concrete
- book are supported by the package.},
-}
-
-@manual{ctan-eulerpx,
- title = {The \texttt{eulerpx} package},
- subtitle = {A modern interface for the Euler math fonts},
- author = {Jabir Ali Ouassou and Luuk Tijssen},
- date = {2022-07-15},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/eulerpx},
- url = {https://ctan.org/pkg/eulerpx},
-}
-
-@manual{ctan-eulervm,
- title = {The \texttt{eulervm} package},
- subtitle = {Euler virtual math fonts},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {4.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/eulervm},
- url = {https://ctan.org/pkg/eulervm},
- annotation = {The well-known Euler fonts are suitable for typsetting
- mathematics in conjunction with a variety of text fonts which do
- not provide mathematical character sets of their own. Euler-VM
- is a set of mathematics fonts based on Euler
- and CM. This approach has several advantages over immediately
- using the Euler fonts: Most noticeably, less \TeX{}
- resources are consumed, the quality of various math symbols is
- improved and a usable symbol can be provided.
- The virtual fonts are accompanied by a \LaTeX{} package which makes
- them easy to use, particularly in conjunction with Type1
- PostScript text fonts. They are compatible with
- . A package option allows
- the fonts to be loaded at 95\% of their nominal size, thus
- blending better with certain text fonts, e.g., Minion.},
-}
-
-@manual{ctan-euproposal,
- title = {The \texttt{euproposal} package},
- subtitle = {A class for preparing FP7 proposals},
- author = {Michael Kohlhase},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proposal},
- url = {https://ctan.org/pkg/euproposal},
-}
-
-@manual{ctan-euro-ce,
- title = {The \texttt{euro-ce} package},
- subtitle = {Euro and CE sign font},
- author = {Harold de Wijn},
- date = {2016-06-24},
- version = {3.0b},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/euro-ce},
- url = {https://ctan.org/pkg/euro-ce},
-}
-
-@manual{ctan-euro,
- title = {The \texttt{euro} package},
- subtitle = {Provide Euro values for national currency amounts},
- author = {Melchior Franz},
- date = {2020-08-29},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/euro},
- url = {https://ctan.org/pkg/euro},
-}
-
-@manual{ctan-eurofont,
- title = {The \texttt{eurofont} package},
- subtitle = {Provides a command that prints a euro symbol},
- author = {Rowland McDonnell},
- date = {2016-06-24},
- version = {1.1.3},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eurofont},
- url = {https://ctan.org/pkg/eurofont},
- annotation = {The particular symbol printed by will in general
- change depending on the font family, weight, and shape in use at
- the time. This symbol can come from any source, and the package
- user has complete control over which euro symbol is used in any
- given situation. The package is pre-configured to behave sensibly
- with many common text fonts and available euro symbols. The
- command can print ‘faked’ euro
- symbols from a C with two lines across it when no suitable real
- euro symbol is available; the package also includes code for
- printing fake bold euro symbols for use when no real bold symbol
- exists, as well as pre-configured support for a faked italic
- version of the font.
- Eurofont comes set up to use euro symbols from Adobe’s Eurofonts,
- the font, the font, and any available Text
- Companion fonts. The selection between these can be done using
- options passed to the package. The eurofont package also
- ‘knows’ about the
- font’s euro symbol,
- and can be configured to use it.},
-}
-
-@manual{ctan-euroitc,
- title = {The \texttt{euroitc} package},
- subtitle = {\LaTeX{} interface for the ITC euro font symbols},
- author = {Robert Schlicht},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/euroitc},
- url = {https://ctan.org/pkg/euroitc},
-}
-
-@manual{ctan-europasscv,
- title = {The \texttt{europasscv} package},
- subtitle = {Unofficial class for the new version of the Europass curriculum vitae},
- author = {Giacomo Mazzamuto},
- date = {2020-11-01},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/europasscv},
- url = {https://ctan.org/pkg/europasscv},
-}
-
-@manual{ctan-europecv,
- title = {The \texttt{EuropeCV} package},
- subtitle = {Unofficial class for European curricula vitae},
- author = {Nicola Vitacolonna and Giuseppe Silano},
- date = {2022-08-03},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/europecv},
- url = {https://ctan.org/pkg/europecv},
-}
-
-@manual{ctan-europs,
- title = {The \texttt{europs} package},
- subtitle = {Access to Adobe’s Euro currency symbol fonts},
- author = {Jörn Clausen},
- date = {2018-06-03},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/europs},
- url = {https://ctan.org/pkg/europs},
-}
-
-@manual{ctan-eurosans,
- title = {The \texttt{eurosans} package},
- subtitle = {Interface to Adobe’s sans-serif Euro font},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eurosans},
- url = {https://ctan.org/pkg/eurosans},
-}
-
-@manual{ctan-eurosym,
- title = {The \texttt{eurosym} package},
- subtitle = {Metafont and macros for Euro sign},
- author = {Henrik Theiling},
- date = {2017-04-18},
- version = {1.4-subrfix},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/eurosym},
- url = {https://ctan.org/pkg/eurosym},
-}
-
-@manual{ctan-eurotex,
- title = {The \texttt{eurotex} package},
- subtitle = {Multilingual macros for Plain \TeX{}},
- author = {Ivar Aavatsmark},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/multilingual/eurotex},
- url = {https://ctan.org/pkg/eurotex},
- annotation = {A package for using the (now obsolete) DC fonts to provide a
- version of Plain \TeX{} that accepts ISO Latin 1 input, and provides
- hyphenation in Danish, English, Finnish, French, German,
- Icelandic, Italian, Norwegian, Polish and Swedish (it could be
- extended, but it would also need adapting for the
- fonts, or similar, now).},
-}
-
-@manual{ctan-euxunicode,
- title = {The \texttt{euxunicode} package},
- subtitle = {Generate Unicode characters from accented glyphs},
- author = {Will Robertson},
- date = {2016-10-08},
- version = {0.1g},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/euenc},
- url = {https://ctan.org/pkg/euxunicode},
-}
-
-@manual{ctan-evangelion-jfm,
- title = {The \texttt{Evangelion-JFM} package},
- subtitle = {A Japanese font metric supporting many advanced features},
- author = {Jing Huang},
- date = {2023-02-24},
- version = {1.0.0 (b)},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/evangelion-jfm},
- url = {https://ctan.org/pkg/evangelion-jfm},
-}
-
-@manual{ctan-evautofl,
- title = {The \texttt{evautofl} package},
- subtitle = {Pages with cut lines and punch marks},
- author = {Emanuele Vicentini},
- date = {2018-01-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calendar/contrib/evautofl},
- url = {https://ctan.org/pkg/evautofl},
-}
-
-@manual{ctan-evenpage,
- title = {The \texttt{evenpage} package},
- subtitle = {Ensure that the total number of pages is even},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio},
- url = {https://ctan.org/pkg/evenpage},
-}
-
-@manual{ctan-everyhook,
- title = {The \texttt{everyhook} package},
- subtitle = {Hooks for standard \TeX{} token lists},
- author = {Stephen Checkoway},
- date = {2018-01-06},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/everyhook},
- url = {https://ctan.org/pkg/everyhook},
- annotation = {The package takes control of the six \TeX{} token registers
- , , ,
- , and .
- Real hooks for each of the registers may be installed using a
- stack like interface. For backwards compatibility, each of
- the token lists can be set without interfering
- with the hooks.},
-}
-
-@manual{ctan-everypage,
- title = {The \texttt{everypage} package},
- subtitle = {Provide hooks to be run on every page of a document},
- author = {Sergio Callegari},
- date = {2020-10-18},
- version = {2.0b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/everypage},
- url = {https://ctan.org/pkg/everypage},
-}
-
-@manual{ctan-everysel,
- title = {The \texttt{everysel} package},
- subtitle = {Provides hooks into \textbackslash{}selectfont},
- author = {Martin Schröder and Marei Peischl},
- date = {2021-01-23},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/everysel},
- url = {https://ctan.org/pkg/everysel},
-}
-
-@manual{ctan-everyshi,
- title = {The \texttt{everyshi} package},
- subtitle = {Take action at every \textbackslash{}shipout},
- author = {Martin Schröder and Marei Peischl},
- date = {2020-12-06},
- version = {4.00},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/everyshi},
- url = {https://ctan.org/pkg/everyshi},
-}
-
-@manual{ctan-evweek,
- title = {The \texttt{evweek} package},
- subtitle = {Weekly calendar},
- author = {Emanuele Vicentini},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calendar/contrib/evweek},
- url = {https://ctan.org/pkg/evweek},
- annotation = {The evweek class is distributed as part of the
- bundle, and is a
- development of the weekly class in the bundle. It provides extra
- options for font control, and offers a number of bug fixes over
- the original.},
-}
-
-@manual{ctan-exam-lite,
- title = {The \texttt{exam-lite} package},
- subtitle = {Quicker preparation of exams in \LaTeX{}},
- author = {Rok Kukovec},
- date = {2023-02-08},
- version = {},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exam-lite},
- url = {https://ctan.org/pkg/exam-lite},
-}
-
-@manual{ctan-exam-n,
- title = {The \texttt{exam-n} package},
- subtitle = {Exam class, focused on collaborative authoring},
- author = {Norman Gray},
- date = {2022-10-10},
- version = {1.4.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exam-n},
- url = {https://ctan.org/pkg/exam-n},
-}
-
-@manual{ctan-exam-randomizechoices,
- title = {The \texttt{exam-randomizechoices} package},
- subtitle = {Randomize mc choices using the exam class},
- author = {Jesse op den Brouw},
- date = {2021-08-01},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exam-randomizechoices},
- url = {https://ctan.org/pkg/exam-randomizechoices},
-}
-
-@manual{ctan-exam-zh,
- title = {The \texttt{exam-zh} package},
- subtitle = {\LaTeX{} template for Chinese exams},
- author = {Lijun Guo and Kangwei Xia},
- date = {2022-09-18},
- version = {0.1.20},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/exam-zh},
- url = {https://ctan.org/pkg/exam-zh},
-}
-
-@manual{ctan-exam,
- title = {The \texttt{exam} package},
- subtitle = {Package for typesetting exam scripts},
- author = {Philip S. Hirschhorn},
- date = {2022-08-17},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exam},
- url = {https://ctan.org/pkg/exam},
-}
-
-@manual{ctan-exam209,
- title = {The \texttt{exam209} package},
- subtitle = {Process exam questions and answers (\LaTeX{} 2.09)},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/exam.sty},
- url = {https://ctan.org/pkg/exam209},
-}
-
-@manual{ctan-examdesign,
- title = {The \texttt{Exam design} package},
- subtitle = {\LaTeX{} class for typesetting exams},
- author = {Jason Alexander},
- date = {2016-06-24},
- version = {1.101},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/examdesign},
- url = {https://ctan.org/pkg/examdesign},
-}
-
-@manual{ctan-example,
- title = {The \texttt{example} package},
- subtitle = {Typeset examples for \TeX{} courses},
- author = {Joachim Schrod},
- date = {2019-06-21},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/example.sty},
- url = {https://ctan.org/pkg/example},
- annotation = {The package makes it easier to produce examples for \TeX{} course.
- It provides an environment, which typesets its
- contents on the left of the page, and prints it verbatim on the
- right.},
-}
-
-@manual{ctan-examplep,
- title = {The \texttt{examplep} package},
- subtitle = {Verbatim phrases and listings in \LaTeX{}},
- author = {Péter Szabó},
- date = {2020-05-09},
- version = {0.04},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/examplep},
- url = {https://ctan.org/pkg/examplep},
-}
-
-@manual{ctan-exams,
- title = {The \texttt{exams} package},
- subtitle = {Typeset exam questions},
- author = {Hans van der Meer},
- date = {2016-06-24},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exams},
- url = {https://ctan.org/pkg/exams},
-}
-
-@manual{ctan-excalibur,
- title = {The \texttt{excalibur} package},
- subtitle = {Macintosh spell checker},
- author = {Rick Zaccone},
- date = {2017-04-18},
- version = {4.0.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/mac/support/excalibur},
- url = {https://ctan.org/pkg/excalibur},
-}
-
-@manual{ctan-excel2latex,
- title = {The \texttt{Excel2LaTeX} package},
- subtitle = {Convert Excel spreadsheets to \LaTeX{} tables},
- author = {Joachim Marder and Kirill Müller and George Pearson and Andrew Hawryluk and Chelsea Hughes and Ivan Kokan},
- date = {2021-12-03},
- version = {3.5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/excel2latex},
- url = {https://ctan.org/pkg/excel2latex},
- annotation = {Making tables in \LaTeX{} can be tedious, especially if
- some columns are calculated.
- This converter allows you to write a table in Excel instead,
- and export the current selection as \LaTeX{} markup which can
- be pasted into an existing \LaTeX{} document,
- or exported to a file and included via the
- command.},
-}
-
-@manual{ctan-exceltex,
- title = {The \texttt{Exceltex} package},
- subtitle = {Get data from Excel files into \LaTeX{}},
- author = {Hans-Peter Doerr},
- date = {2016-06-24},
- version = {0.5.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exceltex},
- url = {https://ctan.org/pkg/exceltex},
-}
-
-@manual{ctan-excludeonly,
- title = {The \texttt{excludeonly} package},
- subtitle = {Prevent files being \textbackslash{}include-ed},
- author = {Daniel H. Luecking and Donald Arseneau},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/excludeonly},
- url = {https://ctan.org/pkg/excludeonly},
-}
-
-@manual{ctan-exercise,
- title = {The \texttt{exercise} package},
- subtitle = {Typeset exercises, problems, etc. and their answers},
- author = {Paul Pichaureau},
- date = {2016-06-24},
- version = {1.6},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exercise},
- url = {https://ctan.org/pkg/exercise},
-}
-
-@manual{ctan-exercisebank,
- title = {The \texttt{exercisebank} package},
- subtitle = {Creating and managing exercises, and reusing them as composed sets},
- author = {Andreas Storvik Strauman},
- date = {2019-03-18},
- version = {0.3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exercisebank},
- url = {https://ctan.org/pkg/exercisebank},
-}
-
-@manual{ctan-exercisepoints,
- title = {The \texttt{exercisepoints} package},
- subtitle = {A \LaTeX{} package to count exercises and points},
- author = {Henning Kerstan},
- date = {2019-01-05},
- version = {1.2.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exercisepoints},
- url = {https://ctan.org/pkg/exercisepoints},
-}
-
-@manual{ctan-exercises,
- title = {The \texttt{exercises} package},
- subtitle = {Typeset exercises and solutions with automatic addition of points},
- author = {Roger Jud},
- date = {2020-05-17},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exercises},
- url = {https://ctan.org/pkg/exercises},
- annotation = {This package defines the environments
- and .
- The layout of these environments can be customized.
- The — optional — points in the exercises can be added
- automatically.
- The package also permits to hide the solutions.},
-}
-
-@manual{ctan-exerquiz,
- title = {The \texttt{exerquiz} package},
- subtitle = {Environments for defining exercises and quizzes},
- author = {Donald P. Story},
- date = {2021-10-13},
- version = {8.8.5},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acrotex},
- url = {https://ctan.org/pkg/exerquiz},
-}
-
-@manual{ctan-exesheet,
- title = {The \texttt{exesheet} package},
- subtitle = {Typesetting exercise or exam sheets},
- author = {Antoine Missier},
- date = {2023-01-17},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exesheet},
- url = {https://ctan.org/pkg/exesheet},
-}
-
-@manual{ctan-exframe,
- title = {The \texttt{exframe} package},
- subtitle = {Framework for exercise problems},
- author = {Niklas Beisert},
- date = {2020-02-24},
- version = {3.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exframe},
- url = {https://ctan.org/pkg/exframe},
-}
-
-@manual{ctan-exp-testopt,
- title = {The \texttt{exp-testopt} package},
- subtitle = {Expandable \textbackslash{}@testopt (and related) macros},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exp-testopt},
- url = {https://ctan.org/pkg/exp-testopt},
- annotation = {The package provides an expandable variant of the \LaTeX{} kernel
- command , named ,
- and a more general , both intended for
- package writers. Also we have a variant of
- which uses these macros to check for optional arguments.},
-}
-
-@manual{ctan-expdlist,
- title = {The \texttt{expdlist} package},
- subtitle = {Expanded description environments},
- author = {Rainer Hülse and Wolfgang Kaspar},
- date = {2016-06-24},
- version = {2.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/expdlist},
- url = {https://ctan.org/pkg/expdlist},
-}
-
-@manual{ctan-expex-acro,
- title = {The \texttt{expex-acro} package},
- subtitle = {Wrapper for the expex package},
- author = {Florian Matter},
- date = {2022-05-17},
- version = {0.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/expex-acro},
- url = {https://ctan.org/pkg/expex-acro},
- annotation = {This is a small wrapper for the
- package, adding ways to define, use, and summarize glossing
- abbreviations. It also provides commands to refer to examples,
- as well as some inline formatting commands commonly used in
- linguistics.},
-}
-
-@manual{ctan-expex,
- title = {The \texttt{expex} package},
- subtitle = {Linguistic examples and glosses, with reference capabilities},
- author = {John Frampton},
- date = {2017-05-26},
- version = {5.1b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/expex},
- url = {https://ctan.org/pkg/expex},
-}
-
-@manual{ctan-expkv-bundle,
- title = {The \texttt{expkv-bundle} package},
- subtitle = {An expandable key=val implementation and friends},
- author = {Jonathan P. Spratte},
- date = {2023-01-28},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
- url = {https://ctan.org/pkg/expkv-bundle},
-}
-
-@manual{ctan-expkv-cs,
- title = {The \texttt{expkv-cs} package},
- subtitle = {Define expandable key=val macros using expkv},
- author = {Jonathan P. Spratte},
- date = {2023-01-28},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
- url = {https://ctan.org/pkg/expkv-cs},
- annotation = {As of January 2023, this package has been merged into
- the .},
-}
-
-@manual{ctan-expkv-def,
- title = {The \texttt{expkv-def} package},
- subtitle = {A key-defining frontend for expkv},
- author = {Jonathan P. Spratte},
- date = {2023-01-28},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
- url = {https://ctan.org/pkg/expkv-def},
- annotation = {As of January 2023, this package has been merged into
- the .},
-}
-
-@manual{ctan-expkv-opt,
- title = {The \texttt{expkv-opt} package},
- subtitle = {Parse class and package options with expkv},
- author = {Jonathan P. Spratte},
- date = {2023-01-28},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
- url = {https://ctan.org/pkg/expkv-opt},
- annotation = {As of January 2023, this package has been merged into
- the .},
-}
-
-@manual{ctan-expkv,
- title = {The \texttt{expkv} package},
- subtitle = {An expandable key=val implementation},
- author = {Jonathan P. Spratte},
- date = {2023-01-28},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/expkv-bundle},
- url = {https://ctan.org/pkg/expkv},
- annotation = {As of January 2023, this package has been merged into
- the .},
-}
-
-@manual{ctan-expl3,
- title = {The \texttt{expl3} package},
- subtitle = {Wrapper package for experimental \LaTeX{}3},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-23},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel},
- url = {https://ctan.org/pkg/expl3},
-}
-
-@manual{ctan-export,
- title = {The \texttt{export} package},
- subtitle = {Import and export values of \LaTeX{} registers},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {1.8},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/export},
- url = {https://ctan.org/pkg/export},
-}
-
-@manual{ctan-expose-expl3-dunkerque-2019,
- title = {The \texttt{expose-expl3-dunkerque-2019} package},
- subtitle = {Using expl3 to implement some numerical algorithms},
- author = {Yvon Henel},
- date = {2020-04-11},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/expose-expl3-dunkerque-2019},
- url = {https://ctan.org/pkg/expose-expl3-dunkerque-2019},
-}
-
-@manual{ctan-expressg,
- title = {The \texttt{expressg} package},
- subtitle = {Diagrams consisting of boxes, lines, and annotations},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/expressg},
- url = {https://ctan.org/pkg/expressg},
-}
-
-@manual{ctan-exscale,
- title = {The \texttt{exscale} package},
- subtitle = {Implements scaling of the 'cmex' fonts},
- author = {Frank Mittelbach and Rainer Schöpf and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.1i},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/exscale},
-}
-
-@manual{ctan-exsheets,
- title = {The \texttt{exsheets} package},
- subtitle = {Create exercise sheets and exams},
- author = {Clemens Niederberger},
- date = {2019-09-30},
- version = {0.21k},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exsheets},
- url = {https://ctan.org/pkg/exsheets},
-}
-
-@manual{ctan-exsol,
- title = {The \texttt{exsol} package},
- subtitle = {Exercises and solutions from the same source, into a book},
- author = {Walter Daems},
- date = {2018-10-23},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/exsol},
- url = {https://ctan.org/pkg/exsol},
-}
-
-@manual{ctan-extarrows,
- title = {The \texttt{extarrows} package},
- subtitle = {Extra Arrows beyond those provided in amsmath},
- author = {Ky-Anh Huynh},
- date = {2020-03-19},
- version = {1.2.0},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/extarrows},
- url = {https://ctan.org/pkg/extarrows},
- annotation = {Arrows are provided to supplement and
- of the amsath package:
- ,
- ,
- ,
- ,
- .
- ,
- ,
- and
- .},
-}
-
-@manual{ctan-extdash,
- title = {The \texttt{extdash} package},
- subtitle = {A range of dash commands for compound words},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/extdash},
-}
-
-@manual{ctan-exteps,
- title = {The \texttt{exteps} package},
- subtitle = {Include EPS figures in MetaPost},
- author = {Palle Jørgensen},
- date = {2018-01-06},
- version = {0.41},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/exteps},
- url = {https://ctan.org/pkg/exteps},
-}
-
-@manual{ctan-extpfeil,
- title = {The \texttt{extpfeil} package},
- subtitle = {Extensible arrows in mathematics},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/extpfeil},
- url = {https://ctan.org/pkg/extpfeil},
- annotation = {The package provides some more extensible arrows (usable
- in the same way as from amsmath), and a
- simple command to create new ones.},
-}
-
-@manual{ctan-extract,
- title = {The \texttt{extract} package},
- subtitle = {Extract parts of a document and write to another document},
- author = {Hendri Adriaens},
- date = {2019-09-18},
- version = {1.9a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/extract},
- url = {https://ctan.org/pkg/extract},
-}
-
-@manual{ctan-extractpdfmark,
- title = {The \texttt{extractpdfmark} package},
- subtitle = {Extract page mode and named destinations as PDFmark from PDF},
- author = {Masamichi Hosoda},
- date = {2022-10-02},
- version = {1.1.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/extractpdfmark},
- url = {https://ctan.org/pkg/extractpdfmark},
-}
-
-@manual{ctan-extradefs,
- title = {The \texttt{extradefs} package},
- subtitle = {A miscellany of support macros},
- author = {Kent McPherson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/samples/extradefs.tex},
- url = {https://ctan.org/pkg/extradefs},
-}
-
-@manual{ctan-extsizes,
- title = {The \texttt{extsizes} package},
- subtitle = {Extend the standard classes’ size options},
- author = {James Kilfiger and Wolfgang May},
- date = {2018-03-02},
- version = {1.4a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/extsizes},
- url = {https://ctan.org/pkg/extsizes},
-}
-
-@manual{ctan-fac,
- title = {The \texttt{fac} package},
- subtitle = {Macros for FAC journal},
- author = {Alison Woollatt and Mark Reed and Christiane Notarmarco},
- date = {2016-06-24},
- version = {2.00},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fac},
- url = {https://ctan.org/pkg/fac},
-}
-
-@manual{ctan-facsimile,
- title = {The \texttt{facsimile} package},
- subtitle = {Document class for preparing faxes},
- author = {Torsten Bronger},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/facsimile},
- url = {https://ctan.org/pkg/facsimile},
-}
-
-@manual{ctan-factura,
- title = {The \texttt{factura} package},
- subtitle = {Typeset and calculate invoices according to Venezuelan law},
- author = {Emilio Augusto Lazo Zaia},
- date = {2022-01-22},
- version = {4.32},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/factura},
- url = {https://ctan.org/pkg/factura},
-}
-
-@manual{ctan-facture-belge-simple-sans-tva,
- title = {The \texttt{facture-belge-simple-sans-tva} package},
- subtitle = {Simple Belgian invoice without VAT},
- author = {Robert Sebille},
- date = {2018-10-27},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/facture-belge-simple-sans-tva},
- url = {https://ctan.org/pkg/facture-belge-simple-sans-tva},
-}
-
-@manual{ctan-facture,
- title = {The \texttt{facture} package},
- subtitle = {Generate an invoice},
- author = {Maïeul Rouquette and Joël Gombin},
- date = {2017-04-18},
- version = {1.2.2},
- license = {cc-by-sa-2},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/facture},
- url = {https://ctan.org/pkg/facture},
-}
-
-@manual{ctan-fahyph,
- title = {The \texttt{fahyph} package},
- subtitle = {Hyphenation patterns for Persian (in Unicode)},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.002},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/fahyph},
- url = {https://ctan.org/pkg/fahyph},
-}
-
-@manual{ctan-fakebold,
- title = {The \texttt{fakebold} package},
- subtitle = {A simple macro for faking bold fonts},
- author = {{Unknown}},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/fakebold.tex},
- url = {https://ctan.org/pkg/fakebold},
-}
-
-@manual{ctan-faktor,
- title = {The \texttt{faktor} package},
- subtitle = {Typeset quotient structures with \LaTeX{}},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.1b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/faktor},
- url = {https://ctan.org/pkg/faktor},
-}
-
-@manual{ctan-faltblat,
- title = {The \texttt{faltblat} package},
- subtitle = {Making Leaflets},
- author = {Ingo Klöckl},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/examples/ltt},
- url = {https://ctan.org/pkg/faltblat},
-}
-
-@manual{ctan-familytree,
- title = {The \texttt{familytree} package},
- subtitle = {Draw family trees},
- author = {Jiro Senju},
- date = {2022-07-15},
- version = {3.1},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/familytree},
- url = {https://ctan.org/pkg/familytree},
-}
-
-@manual{ctan-famt,
- title = {The \texttt{famt} package},
- subtitle = {Project Reports and Notices in FAMT institute},
- author = {Bhagyashree Chavan and Sadaf Desai and Sayali Kalyani and Shilpa Mahadik},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/famt},
- url = {https://ctan.org/pkg/famt},
-}
-
-@manual{ctan-fancybox,
- title = {The \texttt{fancybox} package},
- subtitle = {Variants of \textbackslash{}fbox and other games with boxes},
- author = {Timothy Van Zandt},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancybox},
- url = {https://ctan.org/pkg/fancybox},
- annotation = {Provides variants of : ,
- , , , with
- helpful tools for using box macros and flexible verbatim macros.
- You can box mathematics, floats, center, flushleft, and
- flushright, lists, and pages.},
-}
-
-@manual{ctan-fancychapters,
- title = {The \texttt{fancychapters} package},
- subtitle = {Chapters with quotations},
- author = {Joerg Heitkoetter},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/fancychapters.sty},
- url = {https://ctan.org/pkg/fancychapters},
-}
-
-@manual{ctan-fancyfolien,
- title = {The \texttt{fancyfolien} package},
- subtitle = {Fancyhdr outline for German readers},
- author = {Hans Friedrich Steffani},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/german/fancyhdr},
- url = {https://ctan.org/pkg/fancyfolien},
-}
-
-@manual{ctan-fancyhandout,
- title = {The \texttt{fancyhandout} package},
- subtitle = {A \LaTeX{} class for producing nice-looking handouts},
- author = {Sebastian Friedl},
- date = {2018-01-23},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancyhandout},
- url = {https://ctan.org/pkg/fancyhandout},
-}
-
-@manual{ctan-fancyhdr-it,
- title = {The \texttt{fancyhdr-it} package},
- subtitle = {Italian translation of fancyhdr documentation},
- author = {Giulio Agostini and Mileto Rigido},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/fancyhdr/it},
- url = {https://ctan.org/pkg/fancyhdr-it},
- annotation = {The translation is of documentation provided with the
- package.},
-}
-
-@manual{ctan-fancyhdr,
- title = {The \texttt{fancyhdr} package},
- subtitle = {Extensive control of page headers and footers in \LaTeX{}2e},
- author = {Pieter van Oostrum},
- date = {2022-11-09},
- version = {4.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancyhdr},
- url = {https://ctan.org/pkg/fancyhdr},
-}
-
-@manual{ctan-fancyhdrboxed,
- title = {The \texttt{fancyhdrboxed} package},
- subtitle = {Elaborate page headers, specified in a non-\LaTeX{} language},
- author = {Manuel Gutierrez Algaba},
- date = {2018-09-15},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/fancyhdrBoxed},
- url = {https://ctan.org/pkg/fancyhdrboxed},
- annotation = {Easy and fast creation of page headers for the documentation of
- Software Engineering Projects, using a mini language implemented
- in python that generates
- code that is then embedded in headers specified in the usual way,
- using .},
-}
-
-@manual{ctan-fancyheadings,
- title = {The \texttt{fancyheadings} package},
- subtitle = {Legacy headings package},
- author = {Pieter van Oostrum},
- date = {2022-11-09},
- version = {4.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancyhdr},
- url = {https://ctan.org/pkg/fancyheadings},
- annotation = {This package is now a stub for .},
-}
-
-@manual{ctan-fancylabel,
- title = {The \texttt{fancylabel} package},
- subtitle = {Complex labelling with \LaTeX{}},
- author = {Dominik Siegel},
- date = {2018-02-23},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancylabel},
- url = {https://ctan.org/pkg/fancylabel},
- annotation = {The package provides a complex labelling scheme. It is designed
- to support the needs of the author’s
- package},
-}
-
-@manual{ctan-fancynum,
- title = {The \texttt{fancynum} package},
- subtitle = {Typeset numbers},
- author = {J.J. Green},
- date = {2016-06-24},
- version = {0.92},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancynum},
- url = {https://ctan.org/pkg/fancynum},
-}
-
-@manual{ctan-fancypar,
- title = {The \texttt{fancypar} package},
- subtitle = {Decoration of individual paragraphs},
- author = {Gonzalo Medina Arellano},
- date = {2021-04-17},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancypar},
- url = {https://ctan.org/pkg/fancypar},
-}
-
-@manual{ctan-fancyqr,
- title = {The \texttt{fancyqr} package},
- subtitle = {Fancy QR-Codes with TikZ},
- author = {Florian Sihler},
- date = {2022-08-25},
- version = {1.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/fancyqr},
- url = {https://ctan.org/pkg/fancyqr},
- annotation = {A simple package to create fancy QR-codes with the help of the
- package.},
-}
-
-@manual{ctan-fancyref,
- title = {The \texttt{fancyref} package},
- subtitle = {A \LaTeX{} package for fancy cross-referencing},
- author = {Axel Reichert},
- date = {2016-06-24},
- version = {0.9c},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancyref},
- url = {https://ctan.org/pkg/fancyref},
- annotation = {Provides fancy cross-referencing support, based on the package's
- reference commands ( and ) that
- recognise what sort of object is being referenced. So, for
- example, the label for a would be expected to be
- of the form ‘sec:foo’: the package would recognise
- the ‘sec:’ part.},
-}
-
-@manual{ctan-fancyslides,
- title = {The \texttt{fancyslides} package},
- subtitle = {Custom presentation class built upon \LaTeX{} Beamer},
- author = {Paweł Łupkowski},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancyslides},
- url = {https://ctan.org/pkg/fancyslides},
-}
-
-@manual{ctan-fancytabs,
- title = {The \texttt{fancytabs} package},
- subtitle = {Fancy page border tabs},
- author = {Raphaël Pinson},
- date = {2016-06-27},
- version = {1.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancytabs},
- url = {https://ctan.org/pkg/fancytabs},
-}
-
-@manual{ctan-fancytooltips,
- title = {The \texttt{fancytooltips} package},
- subtitle = {Include a wide range of material in PDF tooltips},
- author = {Robert Mařík},
- date = {2020-09-02},
- version = {1.8},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancytooltips},
- url = {https://ctan.org/pkg/fancytooltips},
- annotation = {The package was inspired by the
- package. In
- contrast to cooltooltips, fancytooltips allows inclusion of
- tooltips which contain arbitrary \TeX{} material or a series of \TeX{}
- materials (animated graphics) from an external PDF file. To see
- the tooltips, you have to open the files in Adobe Reader. The
- links and JavaScripts are inserted using eforms package from the
- .},
-}
-
-@manual{ctan-fancyvrb,
- title = {The \texttt{fancyvrb} package},
- subtitle = {Sophisticated verbatim text},
- author = {Timothy Van Zandt and Herbert Voß and Denis Girou and Sebastian Rahtz and Niall Mansfield},
- date = {2023-01-19},
- version = {4.5a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fancyvrb},
- url = {https://ctan.org/pkg/fancyvrb},
-}
-
-@manual{ctan-fandol,
- title = {The \texttt{fandol} package},
- subtitle = {Four basic fonts for Chinese typesetting},
- author = {Clerk Ma},
- date = {2016-06-24},
- version = {0.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/fandol},
- url = {https://ctan.org/pkg/fandol},
-}
-
-@manual{ctan-faq-de,
- title = {The \texttt{faq-de} package},
- subtitle = {The DANTE \TeX{} Users Group Frequently Asked Questions},
- author = {Bernd Raichle and Rolf Niepraschk and Thomas Hafner},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/help/de-tex-faq},
- url = {https://ctan.org/pkg/faq-de},
- annotation = {Stored copy of the FAQ posted to . Error
- reports to .},
-}
-
-@manual{ctan-faq-es,
- title = {The \texttt{faq-es} package},
- subtitle = {CervanTeX (Spanish \TeX{} Group) FAQ},
- author = {Agustín Martín},
- date = {2016-06-24},
- version = {1.97},
- license = {lppl},
- mirror = {https://mirror.ctan.org/help/es-tex-faq},
- url = {https://ctan.org/pkg/faq-es},
-}
-
-@manual{ctan-faq-fr,
- title = {The \texttt{faq-fr} package},
- subtitle = {French FAQ of the GUTenberg \TeX{} user group},
- author = {Marie-Paule Kluth and Jérémy Just and Yannick Tanguy},
- date = {2023-01-23},
- version = {},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/help/LaTeX-FAQ-francaise},
- url = {https://ctan.org/pkg/faq-fr},
-}
-
-@manual{ctan-fascicules,
- title = {The \texttt{fascicules} package},
- subtitle = {Create mathematical manuals for schools},
- author = {Martin Moritz},
- date = {2019-04-10},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fascicules},
- url = {https://ctan.org/pkg/fascicules},
-}
-
-@manual{ctan-fast-diagram,
- title = {The \texttt{fast-diagram} package},
- subtitle = {Easy generation of FAST diagrams},
- author = {Raphaël Allais},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/fast-diagram},
- url = {https://ctan.org/pkg/fast-diagram},
- annotation = {The package provides simple means of producing FAST diagrams,
- using . FAST diagrams are
- useful for functional analysis techniques in design methods.},
-}
-
-@manual{ctan-fastpictex,
- title = {The \texttt{fastpictex} package},
- subtitle = {Simple specification of PicTeX diagrams},
- author = {Harald M. Stauss},
- date = {2016-06-24},
- version = {0.9},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/fastpictex},
- url = {https://ctan.org/pkg/fastpictex},
- annotation = {FastPicTeX is a preprocessor for .
- It reads macros (in a language that is very easy to write) and
- converts them to PicTeX code that can be included in \LaTeX{}
- documents. FastPicTeX is specifically designed for diagrams of
- numbered data material, such as line graphs, bar graphs, or xy
- graphs.},
-}
-
-@manual{ctan-fax,
- title = {The \texttt{fax} package},
- subtitle = {Document class for preparing faxes},
- author = {J. B. Rhebergen and J. H. M. de Jonge},
- date = {2019-06-21},
- version = {1.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fax},
- url = {https://ctan.org/pkg/fax},
-}
-
-@manual{ctan-fbb,
- title = {The \texttt{fbb} package},
- subtitle = {A free Bembo-like font},
- author = {Michael Sharpe},
- date = {2020-07-02},
- version = {1.16},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/fbb},
- url = {https://ctan.org/pkg/fbb},
-}
-
-@manual{ctan-fbithesis,
- title = {The \texttt{fbithesis} package},
- subtitle = {Computer Science thesis class for University of Dortmund},
- author = {Andre Dierker},
- date = {2018-01-06},
- version = {1.2m},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fbithesis},
- url = {https://ctan.org/pkg/fbithesis},
- annotation = {At the department of computer science at the University of
- Dortmund there are cardboard cover pages for research or
- internal reports like master/phd-theses. The main function of
- this \LaTeX{}2e document-class is a replacement for the
- command to typeset a title page that is
- adjusted to these cover pages.},
-}
-
-@manual{ctan-fbox,
- title = {The \texttt{fbox} package},
- subtitle = {Extended \textbackslash{}fbox macro from standard \LaTeX{}},
- author = {Herbert Voß},
- date = {2022-02-20},
- version = {0.06},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fbox},
- url = {https://ctan.org/pkg/fbox},
-}
-
-@manual{ctan-fbs,
- title = {The \texttt{fbs} package},
- subtitle = {BibTeX style for Frontiers in Bioscience},
- author = {Jakob Suckale},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/fbs.bst},
- url = {https://ctan.org/pkg/fbs},
- annotation = {A BibTeX style file made with
- to fit Frontiers in
- Bioscience requirements:},
-}
-
-@manual{ctan-fc-arith,
- title = {The \texttt{fc-arith} package},
- subtitle = {Create an arithmetic flash card},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fc_arith},
- url = {https://ctan.org/pkg/fc-arith},
-}
-
-@manual{ctan-fc,
- title = {The \texttt{fc} package},
- subtitle = {Fonts for African languages},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {1.4},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/jknappen/fc},
- url = {https://ctan.org/pkg/fc},
- annotation = {The fonts are provided as Metafont source, in the familiar
- arrangement of lots of (autogenerated) preamble files and a modest
- set of glyph specifications. (A similar arrangement appears in
- the and font
- bundles.)},
-}
-
-@manual{ctan-fcavtex,
- title = {The \texttt{fcavtex} package},
- subtitle = {A thesis class for the FCAV/UNESP (Brazil)},
- author = {Walter Maldonado Jr},
- date = {2017-04-18},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fcavtex},
- url = {https://ctan.org/pkg/fcavtex},
-}
-
-@manual{ctan-fchart,
- title = {The \texttt{fchart} package},
- subtitle = {Flow diagrams in \LaTeX{} 2.09},
- author = {Michael Schollmeyer},
- date = {2016-06-24},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/fchart},
- url = {https://ctan.org/pkg/fchart},
- annotation = {This is not a package, rather a set of macros to be read using
- , offering a means of drawing structures without
- the use of the environment.},
-}
-
-@manual{ctan-fcltxdoc,
- title = {The \texttt{fcltxdoc} package},
- subtitle = {Macros for use in the author's documentation},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fcltxdoc},
- url = {https://ctan.org/pkg/fcltxdoc},
- annotation = {The package is not advertised for public use, but is necessary for
- the support of others of the author’s packages (which are compiled
- under the class).},
-}
-
-@manual{ctan-fcolumn,
- title = {The \texttt{fcolumn} package},
- subtitle = {Typesetting financial tables},
- author = {Edgar Olthof},
- date = {2022-02-01},
- version = {1.4.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fcolumn},
- url = {https://ctan.org/pkg/fcolumn},
- annotation = {In financial reports, text and currency amounts
- are regularly put in one table, e.g., a year balance
- or a profit-and-loss overview.
- This package provides the settings for automatically typesetting
- such columns, including the sum line (preceded by a rule of
- the correct width) using the specifier “”.},
-}
-
-@manual{ctan-fdsymbol,
- title = {The \texttt{fdsymbol} package},
- subtitle = {A maths symbol font},
- author = {Michael Ummels},
- date = {2021-08-26},
- version = {0.8},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/fdsymbol},
- url = {https://ctan.org/pkg/fdsymbol},
-}
-
-@manual{ctan-fduthesis,
- title = {The \texttt{fduthesis} package},
- subtitle = {\LaTeX{} thesis template for Fudan University},
- author = {Xiangdong Zeng},
- date = {2023-02-26},
- version = {0.9},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fduthesis},
- url = {https://ctan.org/pkg/fduthesis},
-}
-
-@manual{ctan-featpost,
- title = {The \texttt{featpost} package},
- subtitle = {MetaPost macros for 3D},
- author = {Luís Nobre Gonçalves},
- date = {2018-01-06},
- version = {0.8.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/featpost},
- url = {https://ctan.org/pkg/featpost},
-}
-
-@manual{ctan-fei,
- title = {The \texttt{fei} package},
- subtitle = {Class for academic works at FEI University Center — Brazil},
- author = {Douglas De Rizzo Meneghetti},
- date = {2022-12-24},
- version = {4.10.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fei},
- url = {https://ctan.org/pkg/fei},
-}
-
-@manual{ctan-fenixpar,
- title = {The \texttt{fenixpar} package},
- subtitle = {One-shot changes to token registers such as \textbackslash{}everypar},
- author = {Javier Múgica de Rivera},
- date = {2016-06-24},
- version = {0.92},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/fenixpar},
- url = {https://ctan.org/pkg/fenixpar},
-}
-
-@manual{ctan-fepslatex,
- title = {The \texttt{fepslatex} package},
- subtitle = {French version of "graphics in \LaTeX{}"},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/epslatex/french},
- url = {https://ctan.org/pkg/fepslatex},
- annotation = {This is the French translation of
- , and describes how to use
- imported graphics in \LaTeX{}(2e) documents.},
-}
-
-@manual{ctan-fetamont,
- title = {The \texttt{fetamont} package},
- subtitle = {Extended version of Knuth’s logo typeface},
- author = {Linus Romer},
- date = {2017-04-15},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/fetamont},
- url = {https://ctan.org/pkg/fetamont},
-}
-
-@manual{ctan-fetchbibpes,
- title = {The \texttt{fetchbibpes} package},
- subtitle = {Creates a DB of Bible verses from e-Sword, then fetches them on command},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fetchbibpes},
- url = {https://ctan.org/pkg/fetchbibpes},
-}
-
-@manual{ctan-fetchcls,
- title = {The \texttt{fetchcls} package},
- subtitle = {Fetch the current class name},
- author = {Ruben Giannotti},
- date = {2017-09-10},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fetchcls},
- url = {https://ctan.org/pkg/fetchcls},
-}
-
-@manual{ctan-feupphdteses,
- title = {The \texttt{feupphdteses} package},
- subtitle = {Typeset Engineering PhD theses at the University of Porto},
- author = {Mario Saenz Espinoza},
- date = {2016-06-24},
- version = {4.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/feupphdteses},
- url = {https://ctan.org/pkg/feupphdteses},
-}
-
-@manual{ctan-fewerfloatpages,
- title = {The \texttt{fewerfloatpages} package},
- subtitle = {Reduce the number of unnecessary float pages},
- author = {Frank Mittelbach},
- date = {2021-03-02},
- version = {1.0b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fewerfloatpages},
- url = {https://ctan.org/pkg/fewerfloatpages},
-}
-
-@manual{ctan-feyn,
- title = {The \texttt{feyn} package},
- subtitle = {A font for in-text Feynman diagrams},
- author = {Norman Gray},
- date = {2022-07-20},
- version = {0.4.3},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/fonts/feyn},
- url = {https://ctan.org/pkg/feyn},
-}
-
-@manual{ctan-feynman,
- title = {The \texttt{feynman} package},
- subtitle = {Feynman diagrams in \LaTeX{} 2.09},
- author = {Michael Levine},
- date = {2016-06-24},
- version = {1.0},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/feynman},
- url = {https://ctan.org/pkg/feynman},
-}
-
-@manual{ctan-feynmf,
- title = {The \texttt{feynmf} package},
- subtitle = {Macros and fonts for creating Feynman (and other) diagrams},
- author = {Thorsten Ohl},
- date = {2018-01-06},
- version = {1.08},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/feynmf},
- url = {https://ctan.org/pkg/feynmf},
-}
-
-@manual{ctan-feynmp-auto,
- title = {The \texttt{feynmp-auto} package},
- subtitle = {Automatic processing of feynmp graphics},
- author = {Enrico Gregorio},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/feynmp-auto},
- url = {https://ctan.org/pkg/feynmp-auto},
-}
-
-@manual{ctan-ffcode,
- title = {The \texttt{ffcode} package},
- subtitle = {Fixed-font code blocks formatted nicely},
- author = {Yegor Bugayenko},
- date = {2022-12-02},
- version = {0.8.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ffcode},
- url = {https://ctan.org/pkg/ffcode},
- annotation = {This \LaTeX{} package helps you write source code in your
- academic papers and make it looks neat.
- It uses
- and
- ,
- configuring them the right way, to ensure that
- code fragments and code blocks look nicer.},
-}
-
-@manual{ctan-ffslides,
- title = {The \texttt{ffslides} package},
- subtitle = {Freeform slides based on the article class},
- author = {Mark A. Wolters},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ffslides},
- url = {https://ctan.org/pkg/ffslides},
-}
-
-@manual{ctan-fge,
- title = {The \texttt{fge} package},
- subtitle = {A font for Frege's Grundgesetze der Arithmetik},
- author = {J.J. Green},
- date = {2018-01-06},
- version = {1.25},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/fge},
- url = {https://ctan.org/pkg/fge},
-}
-
-@manual{ctan-fgruler,
- title = {The \texttt{fgruler} package},
- subtitle = {Draw rulers on the foreground or in the text},
- author = {Tibor Tómács},
- date = {2022-06-25},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fgruler},
- url = {https://ctan.org/pkg/fgruler},
-}
-
-@manual{ctan-fi2t1,
- title = {The \texttt{fi2t1} package},
- subtitle = {Tools for installing Type 1 fonts in MiKTeX},
- author = {Albert Kapune},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/miktex-contrib/fi2t1},
- url = {https://ctan.org/pkg/fi2t1},
- annotation = {Preparing Type1 fonts for is
- a tedious work. This package contains a small guideline for the
- font installation and a binary (and its BASIC source) that
- performs the necessary .pfb conversions. The tool requires the
- package. It is specific
- to MiKTeX 2.3.},
-}
-
-@manual{ctan-fibeamer,
- title = {The \texttt{fibeamer} package},
- subtitle = {Beamer theme for thesis defense presentations at Masaryk University (Brno, Czech Republic)},
- author = {Vít Novotný},
- date = {2021-09-27},
- version = {1.2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/beamer-contrib/themes/fibeamer},
- url = {https://ctan.org/pkg/fibeamer},
-}
-
-@manual{ctan-fibnum,
- title = {The \texttt{fibnum} package},
- subtitle = {Generate Fibonacci numbers},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/fibnum.dtx},
- url = {https://ctan.org/pkg/fibnum},
-}
-
-@manual{ctan-fifinddo-info,
- title = {The \texttt{fifinddo-info} package},
- subtitle = {German HTML beamer presentation on nicetext and morehype},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {1.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/fifinddo-info},
- url = {https://ctan.org/pkg/fifinddo-info},
-}
-
-@manual{ctan-fifinddo,
- title = {The \texttt{fifinddo} package},
- subtitle = {Filtering files using \TeX{}},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.61},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nicetext/use/fifinddo.sty},
- url = {https://ctan.org/pkg/fifinddo},
-}
-
-@manual{ctan-fifo-stack,
- title = {The \texttt{fifo-stack} package},
- subtitle = {FIFO and stack implementation for package writers},
- author = {Stephen Gaito},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fifo-stack},
- url = {https://ctan.org/pkg/fifo-stack},
-}
-
-@manual{ctan-fig2eng,
- title = {The \texttt{fig2eng} package},
- subtitle = {Convert fig files to English},
- author = {Geoffrey Tobin},
- date = {2016-06-24},
- version = {0.4},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/fig2eng},
- url = {https://ctan.org/pkg/fig2eng},
-}
-
-@manual{ctan-fig2lat,
- title = {The \texttt{fig2lat} package},
- subtitle = {Convert .fig files to vector graphics},
- author = {Dirk Krause},
- date = {2020-10-11},
- license = {bsd},
- url = {https://ctan.org/pkg/fig2lat},
-}
-
-@manual{ctan-fig2mf,
- title = {The \texttt{fig2mf} package},
- subtitle = {Convert fig output to Metafont},
- author = {Anthony Starks},
- date = {2016-06-24},
- version = {0.04},
- license = {nosell},
- mirror = {https://mirror.ctan.org/graphics/fig2mf},
- url = {https://ctan.org/pkg/fig2mf},
- annotation = {The generated Metafont code uses the
- macros.},
-}
-
-@manual{ctan-fig2mfpic,
- title = {The \texttt{fig2mfpic} package},
- subtitle = {Convert fig output to mfpic},
- author = {Geoffrey Tobin},
- date = {2016-06-24},
- version = {0.024},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/fig2mfpic},
- url = {https://ctan.org/pkg/fig2mfpic},
- annotation = {This package is based on , and
- is firmly targeted at .},
-}
-
-@manual{ctan-fig2sty,
- title = {The \texttt{fig2sty} package},
- subtitle = {Use fig as layout designer for \LaTeX{}},
- author = {M. Rohner},
- date = {2016-06-24},
- version = {0.1},
- license = {other-free},
- url = {https://ctan.org/pkg/fig2sty},
-}
-
-@manual{ctan-fig2vect,
- title = {The \texttt{fig2vect} package},
- subtitle = {Yet another Fig to vector converter},
- author = {Dirk Krause},
- date = {2020-10-11},
- license = {other-free},
- url = {https://ctan.org/pkg/fig2vect},
-}
-
-@manual{ctan-fig4latex,
- title = {The \texttt{fig4latex} package},
- subtitle = {Management of figures for large \LaTeX{} documents},
- author = {Joe Fields},
- date = {2016-06-24},
- version = {0.2},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/graphics/fig4latex},
- url = {https://ctan.org/pkg/fig4latex},
-}
-
-@manual{ctan-figbas,
- title = {The \texttt{figbas} package},
- subtitle = {Mini-fonts for figured-bass notation in music},
- author = {Bob Tennent},
- date = {2016-06-24},
- version = {1.0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/figbas},
- url = {https://ctan.org/pkg/figbas},
-}
-
-@manual{ctan-figbib,
- title = {The \texttt{FigBib} package},
- subtitle = {Organize figure databases with BibTeX},
- author = {Jan Poland},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/figbib},
- url = {https://ctan.org/pkg/figbib},
-}
-
-@manual{ctan-figcaps,
- title = {The \texttt{figcaps} package},
- subtitle = {Collect figure captions for later printing},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {4.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/preprint},
- url = {https://ctan.org/pkg/figcaps},
-}
-
-@manual{ctan-figchild,
- title = {The \texttt{figchild} package},
- subtitle = {Pictures for creating children’s activities},
- author = {Fernando de Souza Bastos},
- date = {2022-03-23},
- version = {2.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/figchild},
- url = {https://ctan.org/pkg/figchild},
- annotation = {This package was created with the aim of facilitating
- the work of Elementary School teachers who need to create
- colorful and attractive activities for their students.
- It is a product of the Computational Mathematics discipline
- offered at the Federal University of Viçosa — Campus UFV — Florestal
- by professor Fernando de Souza Bastos.
- It makes use of the and
- packages.},
-}
-
-@manual{ctan-figflow,
- title = {The \texttt{figflow} package},
- subtitle = {Flow text around a figure},
- author = {Ian Hutchinson},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/figflow},
- url = {https://ctan.org/pkg/figflow},
-}
-
-@manual{ctan-figfrag,
- title = {The \texttt{figfrag} package},
- subtitle = {Convert xfig figures with embedded \LaTeX{} commands to EPS},
- author = {Maarten Ditzel},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/figfrag},
- url = {https://ctan.org/pkg/figfrag},
-}
-
-@manual{ctan-figplace,
- title = {The \texttt{figplace} package},
- subtitle = {Floating figures in Plain \TeX{}},
- author = {Joost Zalmstra},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/figplace.tex},
- url = {https://ctan.org/pkg/figplace},
-}
-
-@manual{ctan-figput,
- title = {The \texttt{figput} package},
- subtitle = {Create interactive figures in \LaTeX{}},
- author = {Randall Fairman},
- date = {2022-07-26},
- version = {0.90},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/graphics/figput},
- url = {https://ctan.org/pkg/figput},
-}
-
-@manual{ctan-figsinltx,
- title = {The \texttt{figsinltx} package},
- subtitle = {A tutorial on figures in \LaTeX{} 2.09},
- author = {Anil Goel},
- date = {2018-01-06},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/info/figsinltx.ps},
- url = {https://ctan.org/pkg/figsinltx},
-}
-
-@manual{ctan-figsize,
- title = {The \texttt{FigSize} package},
- subtitle = {Auto-size graphics},
- author = {Anthony A. Tanbakuchi},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/figsize},
- url = {https://ctan.org/pkg/figsize},
- annotation = {The FigSize package enables automatic sizing of graphics,
- especially when including graphics with the
- package. The
- user only has to specify the number of graphics that should fit to
- a page or fraction there of and the package will dynamically
- calculate the correct graphics sizes relative to the page size.
- Thus, graphics can be auto-sized to fill a whole page or fraction
- and manual changes of graphic sizes are never needed when changing
- document layouts. Finally, the package's dynamic lengths can be
- used to allow other document element sizes to be dynamic.},
-}
-
-@manual{ctan-fihyph,
- title = {The \texttt{fihyph} package},
- subtitle = {Hyphenation patterns for Finnish language},
- author = {Timo Hellgren},
- date = {2019-06-21},
- license = {pd},
- mirror = {https://mirror.ctan.org/language/hyphenation/fihyph},
- url = {https://ctan.org/pkg/fihyph},
-}
-
-@manual{ctan-filecontents,
- title = {The \texttt{filecontents} package},
- subtitle = {Create an external file from within a \LaTeX{} document},
- author = {Scott Pakin},
- date = {2019-09-21},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/filecontents},
- url = {https://ctan.org/pkg/filecontents},
-}
-
-@manual{ctan-filecontentsdef,
- title = {The \texttt{filecontentsdef} package},
- subtitle = {filecontents + macro + verbatim},
- author = {Jean-François Burnol},
- date = {2019-09-29},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/filecontentsdef},
- url = {https://ctan.org/pkg/filecontentsdef},
-}
-
-@manual{ctan-filedate,
- title = {The \texttt{filedate} package},
- subtitle = {Access and compare info and modification dates},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/filedate},
- url = {https://ctan.org/pkg/filedate},
- annotation = {The package provides basic access to the date of a \LaTeX{} source
- file according to its entry (the “info date”)
- as well as to its modification date according to
- if the latter is available.},
-}
-
-@manual{ctan-fileerr,
- title = {The \texttt{fileerr} package},
- subtitle = {LaTeX’s mechanisms for dealing with file errors},
- author = {Frank Mittelbach},
- date = {2021-06-01},
- version = {1.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/fileerr},
-}
-
-@manual{ctan-filehdr,
- title = {The \texttt{filehdr} package},
- subtitle = {Self-descriptions in file headers},
- author = {Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {1.31},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/filehdr},
- url = {https://ctan.org/pkg/filehdr},
-}
-
-@manual{ctan-filehook,
- title = {The \texttt{filehook} package},
- subtitle = {Hooks for input files},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.8b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/filehook},
- url = {https://ctan.org/pkg/filehook},
- annotation = {The package provides several file hooks (,
- , …) for files read by ,
- and . General hooks
- for all such files (e.g. all d ones) and file
- specific hooks only used for named files are provided; two hooks
- are provided for the end of d files — one
- before, and one after the final .},
-}
-
-@manual{ctan-fileinfo,
- title = {The \texttt{fileinfo} package},
- subtitle = {Enhanced display of \LaTeX{} File Information},
- author = {Uwe Lück},
- date = {2018-01-06},
- version = {0.81a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fileinfo},
- url = {https://ctan.org/pkg/fileinfo},
- annotation = {The bundle provides two packages,
- and
- . The
- package provides a means of reading file information without
- loading the body of the file. The package uses
- and controls what will
- report.},
-}
-
-@manual{ctan-filemod,
- title = {The \texttt{filemod} package},
- subtitle = {Provide file modification times, and compare them},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/filemod},
- url = {https://ctan.org/pkg/filemod},
- annotation = {The package provides macros to read and compare the modification
- dates of files. The files may be files, images or
- other files (as long as they can be found by \LaTeX{}). It uses
- the primitive of pdf\LaTeX{} to find the
- file modification date as PDF date string, parses the string and
- returns the value to the user. The package will also work
- for output with recent versions of the \LaTeX{} compiler
- which uses pdf\LaTeX{} in mode. The functionality is
- provided by purely expandable macros or by faster but
- non-expandable ones.},
-}
-
-@manual{ctan-fillform,
- title = {The \texttt{fillform} package},
- subtitle = {Typeset answers to overprint on printed forms},
- author = {Zdeněk Wagner},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/fillform},
- url = {https://ctan.org/pkg/fillform},
-}
-
-@manual{ctan-findbib,
- title = {The \texttt{findbib} package},
- subtitle = {Find bibliographic details from SPIRES},
- author = {Fabrizio Nesti and Kevin Goldstein},
- date = {2016-06-24},
- version = {2.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/findbib},
- url = {https://ctan.org/pkg/findbib},
-}
-
-@manual{ctan-findhyph,
- title = {The \texttt{findhyph} package},
- subtitle = {Find hyphenated words in a document},
- author = {Martin Budaj},
- date = {2016-06-24},
- version = {3.4},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/findhyph},
- url = {https://ctan.org/pkg/findhyph},
- annotation = {Findhyph is a Perl script that will analyse the log file from
- running your document with set. The
- output contains enough context to enable you to find the
- hyphenated word that’s being referenced.},
-}
-
-@manual{ctan-fink,
- title = {The \texttt{FiNK} package},
- subtitle = {The \LaTeX{}2e File Name Keeper},
- author = {Didier Verna},
- date = {2018-01-06},
- version = {2.2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fink},
- url = {https://ctan.org/pkg/fink},
-}
-
-@manual{ctan-finomaton,
- title = {The \texttt{Finomaton} package},
- subtitle = {Comfortably draw and typeset finite state machines},
- author = {Markus Triska},
- date = {2018-01-06},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/finomaton},
- url = {https://ctan.org/pkg/finomaton},
-}
-
-@manual{ctan-finplain,
- title = {The \texttt{finplain} package},
- subtitle = {A Finnish version of plain.bst},
- author = {Antti-Juhani Kaijanaho},
- date = {2016-06-18},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/finplain.bst},
- url = {https://ctan.org/pkg/finplain},
-}
-
-@manual{ctan-finstrut,
- title = {The \texttt{finstrut} package},
- subtitle = {Adjust behaviour of the ends of footnotes},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/finstrut},
- url = {https://ctan.org/pkg/finstrut},
- annotation = {The \LaTeX{} internal command is used
- automatically used at the end of footnote texts to insert a strut
- to avoid mis-spacing of multiple footnotes. Unfortunately the
- command can cause a blank line at the end of a footnote. The
- package provides a solution to this problem.},
-}
-
-@manual{ctan-fira,
- title = {The \texttt{fira} package},
- subtitle = {Fira fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-17},
- version = {4.3},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/fira},
- url = {https://ctan.org/pkg/fira},
-}
-
-@manual{ctan-firamath-otf,
- title = {The \texttt{firamath-otf} package},
- subtitle = {Use OpenType math font Fira Math},
- author = {Herbert Voß},
- date = {2023-01-16},
- version = {0.03a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/firamath-otf},
- url = {https://ctan.org/pkg/firamath-otf},
- annotation = {The package offers XeTeX/LuaTeX support for the
- .},
-}
-
-@manual{ctan-firamath,
- title = {The \texttt{firamath} package},
- subtitle = {Fira sans serif font with Unicode math support},
- author = {Xiangdong Zeng},
- date = {2020-10-15},
- version = {0.3.4},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/firamath},
- url = {https://ctan.org/pkg/firamath},
- annotation = {Fira Math is a sans-serif font with Unicode math support.
- The design of this font is based on
-
- and .
- Fira Math is distributed in OpenType format and can be used with
- the package
- under \XeLaTeX{} or LuaLaTeX. More support is offered by the
- package.},
-}
-
-@manual{ctan-firefox-ctan-plugins,
- title = {The \texttt{firefox-ctan-plugins} package},
- subtitle = {Firefox search proformas for CTAN},
- author = {Martin Engler},
- date = {2019-02-03},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/firefox-ctan-plugins},
- url = {https://ctan.org/pkg/firefox-ctan-plugins},
-}
-
-@manual{ctan-first-latex-doc,
- title = {The \texttt{first-latex-doc} package},
- subtitle = {A document for absolute \LaTeX{} beginners},
- author = {Jim Hefferon and Manuel Pégourié-Gonnard and Karl Berry},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/first-latex-doc},
- url = {https://ctan.org/pkg/first-latex-doc},
-}
-
-@manual{ctan-first-packages,
- title = {The \texttt{first-packages} package},
- subtitle = {A short list of go-to \LaTeX{} packages, aimed at a beginner},
- author = {Jim Hefferon},
- date = {2021-01-02},
- license = {cc0},
- url = {https://ctan.org/pkg/first-packages},
-}
-
-@manual{ctan-firstline,
- title = {The \texttt{firstline} package},
- subtitle = {Print the first line of a paragraph in a different font},
- author = {Jim Fox},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/samples/firstline.tex},
- url = {https://ctan.org/pkg/firstline},
-}
-
-@manual{ctan-firststeps-xampl,
- title = {The \texttt{firststeps-xampl} package},
- subtitle = {Examples from “First steps in \LaTeX{}”},
- author = {George Grätzer},
- date = {2019-06-21},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/examples/FirstSteps},
- url = {https://ctan.org/pkg/firststeps-xampl},
-}
-
-@manual{ctan-fistrum,
- title = {The \texttt{fistrum} package},
- subtitle = {Access to 150 paragraphs of Lorem Fistrum very dummy text},
- author = {David Davó},
- date = {2023-03-02},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fistrum},
- url = {https://ctan.org/pkg/fistrum},
-}
-
-@manual{ctan-fitbox,
- title = {The \texttt{fitbox} package},
- subtitle = {Fit graphics on a page},
- author = {Boris Veytsman},
- date = {2019-02-21},
- version = {1.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fitbox},
- url = {https://ctan.org/pkg/fitbox},
- annotation = {The package allows a box (usually an box) to
- fit on the page. It scales the box to the maximal allowed size
- within the user-set limits. If there is not enough space
- on the page, the box is moved to the next one.},
-}
-
-@manual{ctan-fithesis,
- title = {The \texttt{fithesis} package},
- subtitle = {Thesis class and template for Masaryk University (Brno, Czech Republic)},
- author = {Vít Novotný},
- date = {2022-08-17},
- version = {1.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fithesis},
- url = {https://ctan.org/pkg/fithesis},
-}
-
-@manual{ctan-fitr,
- title = {The \texttt{FitR} package},
- subtitle = {Set a rectangular destination and jump to it},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.3.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fitr},
- url = {https://ctan.org/pkg/fitr},
-}
-
-@manual{ctan-fix-cm,
- title = {The \texttt{fix-cm} package},
- subtitle = {Permit Computer Modern fonts at arbitrary sizes},
- author = {Walter A. Schmidt and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.1t},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/fix-cm},
-}
-
-@manual{ctan-fix2col,
- title = {The \texttt{fix2col} package},
- subtitle = {Fix miscellaneous two column mode features},
- author = {David Carlisle},
- date = {2016-06-24},
- version = {0.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fix2col},
- url = {https://ctan.org/pkg/fix2col},
-}
-
-@manual{ctan-fixbbl,
- title = {The \texttt{fixbbl} package},
- subtitle = {Patch bibliographies inappropriately broken by BibTeX},
- author = {Frank Stajano},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/fixbbl},
- url = {https://ctan.org/pkg/fixbbl},
-}
-
-@manual{ctan-fixcmex,
- title = {The \texttt{fixcmex} package},
- subtitle = {Fully scalable version of Computer Modern Math Extension font},
- author = {Enrico Gregorio},
- date = {2021-09-16},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fixcmex},
- url = {https://ctan.org/pkg/fixcmex},
-}
-
-@manual{ctan-fixdif,
- title = {The \texttt{fixdif} package},
- subtitle = {Macros for typesetting differential operators},
- author = {Tingxuan Zhang},
- date = {2023-02-21},
- version = {2.0b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fixdif},
- url = {https://ctan.org/pkg/fixdif},
-}
-
-@manual{ctan-fixfoot,
- title = {The \texttt{fixfoot} package},
- subtitle = {Multiple use of the same footnote text},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {0.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fixfoot},
- url = {https://ctan.org/pkg/fixfoot},
- annotation = {Provides a command to provide a
- single command for a frequently-used footnote. The package
- ensures that only one instance of the footnote text appears on
- each page (\LaTeX{} needs to be run several times to achieve this).},
-}
-
-@manual{ctan-fixjfm,
- title = {The \texttt{fixjfm} package},
- subtitle = {Fix JFM (for *pTeX)},
- author = {Yue Zhang},
- date = {2022-07-20},
- version = {0.8},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/jptex/generic/fixjfm},
- url = {https://ctan.org/pkg/fixjfm},
-}
-
-@manual{ctan-fixlatvian,
- title = {The \texttt{fixlatvian} package},
- subtitle = {Improve Latvian language support in \XeLaTeX{}},
- author = {Andrey Vihrov},
- date = {2016-06-24},
- version = {1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/fixlatvian},
- url = {https://ctan.org/pkg/fixlatvian},
- annotation = {The package offers improvement of the Latvian language support in
- , in particular in the
- area of the standard classes.},
-}
-
-@manual{ctan-fixltx2e,
- title = {The \texttt{fixltx2e} package},
- subtitle = {Patches for \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/fixltx2e},
-}
-
-@manual{ctan-fixltxhyph,
- title = {The \texttt{fixltxhyph} package},
- subtitle = {Allow hyphenation of partially-emphasised substrings},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fixltxhyph},
- url = {https://ctan.org/pkg/fixltxhyph},
-}
-
-@manual{ctan-fixmath,
- title = {The \texttt{fixmath} package},
- subtitle = {Make maths comply with ISO 31-0:1992 to ISO 31-13:1992},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2022-10-16},
- version = {0.9.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fixmath},
- url = {https://ctan.org/pkg/fixmath},
-}
-
-@manual{ctan-fixme,
- title = {The \texttt{FiXme} package},
- subtitle = {Collaborative annotation tool for \LaTeX{}},
- author = {Didier Verna},
- date = {2022-06-08},
- version = {4.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fixme},
- url = {https://ctan.org/pkg/fixme},
-}
-
-@manual{ctan-fixmetodonotes,
- title = {The \texttt{fixmetodonotes} package},
- subtitle = {Add notes on document development},
- author = {Gioele Barabucci},
- date = {2016-06-24},
- version = {0.2.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fixmetodonotes},
- url = {https://ctan.org/pkg/fixmetodonotes},
-}
-
-@manual{ctan-fixocgx,
- title = {The \texttt{fixocgx} package},
- subtitle = {Add support for dvips+ps2pdf, \XeLaTeX{}, dvipdfmx to the ocgx package},
- author = {Alexander Grahn},
- date = {2018-06-12},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/fixocgx},
- url = {https://ctan.org/pkg/fixocgx},
-}
-
-@manual{ctan-fixpdfmag,
- title = {The \texttt{fixpdfmag} package},
- subtitle = {Fix magnification in pdfTeX},
- author = {Javier Bezos López},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/fixpdfmag.tex},
- url = {https://ctan.org/pkg/fixpdfmag},
- annotation = {A recent change to pdfTeX has caused magnification to apply to page
- dimensions. This small package changes the values set in the page
- dimension variables from to , thus
- evading the effects of .},
-}
-
-@manual{ctan-fiziko,
- title = {The \texttt{fiziko} package},
- subtitle = {A MetaPost library for physics textbook illustrations},
- author = {Sergey Slyusarev},
- date = {2022-02-07},
- version = {0.2.0},
- license = {gpl3+,cc-by-sa-4},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/fiziko},
- url = {https://ctan.org/pkg/fiziko},
- annotation = {This library was initially
- written to automate some elements of black and white illustrations
- for a physics textbook.
- It provides functions to draw things like lines of variable width,
- shaded spheres, and tubes of different kinds, which can be used
- to produce images of a variety of objects.
- The library also contains functions to draw some objects
- constructed from these primitives.},
-}
-
-@manual{ctan-fjodor,
- title = {The \texttt{fjodor} package},
- subtitle = {A selection of layout styles},
- author = {Zoran T. Filipović},
- date = {2019-12-22},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fjodor},
- url = {https://ctan.org/pkg/fjodor},
-}
-
-@manual{ctan-flabels,
- title = {The \texttt{flabels} package},
- subtitle = {Labels for files and folders},
- author = {Volker Börchers},
- date = {2018-01-06},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flabels},
- url = {https://ctan.org/pkg/flabels},
-}
-
-@manual{ctan-flacards,
- title = {The \texttt{flacards} package},
- subtitle = {Generate flashcards for printing},
- author = {Norbert Stuhrmann},
- date = {2016-06-24},
- version = {0.1.1b},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flacards},
- url = {https://ctan.org/pkg/flacards},
-}
-
-@manual{ctan-flagderiv,
- title = {The \texttt{flagderiv} package},
- subtitle = {Flag style derivation package},
- author = {Paul van Tilburg},
- date = {2016-06-24},
- version = {0.10},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flagderiv},
- url = {https://ctan.org/pkg/flagderiv},
-}
-
-@manual{ctan-flags,
- title = {The \texttt{flags} package},
- subtitle = {Setting and clearing of flags in bit fields},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/flags.dtx},
- url = {https://ctan.org/pkg/flags},
-}
-
-@manual{ctan-flashcard,
- title = {The \texttt{flashcard} package},
- subtitle = {Typeset flash cards},
- author = {James Kilfiger},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/flashcard.cls},
- url = {https://ctan.org/pkg/flashcard},
-}
-
-@manual{ctan-flashcards,
- title = {The \texttt{flashcards} package},
- subtitle = {A class for typesetting flashcards},
- author = {Alexander M. Budge and Matthew Vernon},
- date = {2022-02-20},
- version = {1.0.2},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flashcards},
- url = {https://ctan.org/pkg/flashcards},
-}
-
-@manual{ctan-flashmovie,
- title = {The \texttt{flashmovie} package},
- subtitle = {Directly embed flash movies into PDF files},
- author = {Timo Hartmann},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flashmovie},
- url = {https://ctan.org/pkg/flashmovie},
-}
-
-@manual{ctan-flatex,
- title = {The \texttt{flatex} package},
- subtitle = {Flatten \textbackslash{}input, etc., in a \LaTeX{} file},
- author = {Sariel Har-Peled},
- date = {2016-06-24},
- version = {1.21},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/flatex},
- url = {https://ctan.org/pkg/flatex},
- annotation = {A C program to flatten a \LaTeX{} file into a single file, by
- explicitly including the files inclued by and
- commands. Also, if BibTeX is being used, then
- includes the bbl file into the resulting file. The result is
- therefore a stand-alone \LaTeX{} file that can be emailed to a
- collaborator.},
-}
-
-@manual{ctan-flatten,
- title = {The \texttt{flatten} package},
- subtitle = {Flatten \textbackslash{}input, etc., in a \LaTeX{} file},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/flatten},
- url = {https://ctan.org/pkg/flatten},
- annotation = {A program to flatten a \LaTeX{} root file by copying
- and ed files into the root
- file.},
-}
-
-@manual{ctan-fldigigal,
- title = {The \texttt{fldigigal} package},
- subtitle = {Create a Flash slide show of digital photos},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {0.6},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/fldigigal},
- url = {https://ctan.org/pkg/fldigigal},
-}
-
-@manual{ctan-flexipage,
- title = {The \texttt{flexipage} package},
- subtitle = {Flexible page geometry with marginalia},
- author = {Anton Vrba},
- date = {2022-10-01},
- version = {1.01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flexipage},
- url = {https://ctan.org/pkg/flexipage},
-}
-
-@manual{ctan-flexisym,
- title = {The \texttt{flexisym} package},
- subtitle = {Symbol manipulation for breqn},
- author = {Morten Høgholm and Lars Madsen and Will Robertson and Joseph Wright and Michael J. Downes},
- date = {2021-10-28},
- version = {0.98l},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/breqn},
- url = {https://ctan.org/pkg/flexisym},
-}
-
-@manual{ctan-flipbook,
- title = {The \texttt{flipbook} package},
- subtitle = {Typeset flipbook animations, in the corners of documents},
- author = {Olivier Buffet},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flipbook},
- url = {https://ctan.org/pkg/flipbook},
-}
-
-@manual{ctan-flippdf,
- title = {The \texttt{flippdf} package},
- subtitle = {Horizontal flipping of pages with pdfLaTeX},
- author = {Sergio Callegari},
- date = {2020-10-27},
- version = {2.0b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flippdf},
- url = {https://ctan.org/pkg/flippdf},
-}
-
-@manual{ctan-float,
- title = {The \texttt{float} package},
- subtitle = {Improved interface for floating objects},
- author = {Anselm Lingnau},
- date = {2016-06-24},
- version = {1.3d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/float},
- url = {https://ctan.org/pkg/float},
-}
-
-@manual{ctan-floatfig,
- title = {The \texttt{floatfig} package},
- subtitle = {Deprecated: Allows text to be wrapped around figures},
- author = {Thomas Kneser},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/contrib/floatfig.zip},
- url = {https://ctan.org/pkg/floatfig},
-}
-
-@manual{ctan-floatflt,
- title = {The \texttt{floatflt} package},
- subtitle = {Wrap text around floats},
- author = {Mats Dahlgren},
- date = {2016-06-24},
- version = {1.31},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/floatflt},
- url = {https://ctan.org/pkg/floatflt},
- annotation = {The package can float text around figures and tables which do not
- span the full width of a page; it improves upon
- , and allows tables/figures to
- be set left/right or alternating on even/odd pages.},
-}
-
-@manual{ctan-floatnohead,
- title = {The \texttt{floatnohead} package},
- subtitle = {Suppress page headings on float-only pages},
- author = {Sebastian Rahtz and Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/floatnohead.sty},
- url = {https://ctan.org/pkg/floatnohead},
- annotation = {The package suppresses page headers on float-only pages. Although
- the package was written for \LaTeX{} 2.09, the technique will work
- with \LaTeX{} 2e, though the effect is better achieved using
- command in the
- package.},
-}
-
-@manual{ctan-floatpag,
- title = {The \texttt{floatpag} package},
- subtitle = {Different pagestyles on float pages},
- author = {Vytas Statulevičius},
- date = {2021-10-11},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools},
- url = {https://ctan.org/pkg/floatpag},
-}
-
-@manual{ctan-floatrow,
- title = {The \texttt{floatrow} package},
- subtitle = {Modifying the layout of floats},
- author = {Olga Lapko},
- date = {2016-06-24},
- version = {0.3b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/floatrow},
- url = {https://ctan.org/pkg/floatrow},
- annotation = {The floatrow package provides many ways to customize layouts of
- floating environments and has code to cooperate with the 3.x package. The package offers
- mechanisms to put floats side by side, and to put the caption
- beside its float. The floatrow settings could be expanded to the
- floats created by packages ,
- ,
- (in the case of rows of
- subfloats), and .},
-}
-
-@manual{ctan-flow,
- title = {The \texttt{flow} package},
- subtitle = {Draw flow diagrams in picture mode},
- author = {Terry Brown},
- date = {2016-06-24},
- version = {0.99g},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/flow},
- url = {https://ctan.org/pkg/flow},
-}
-
-@manual{ctan-flowchart,
- title = {The \texttt{flowchart} package},
- subtitle = {Shapes for drawing flowcharts, using TikZ},
- author = {Adrian P. Robson},
- date = {2016-06-24},
- version = {3.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/flowchart},
- url = {https://ctan.org/pkg/flowchart},
-}
-
-@manual{ctan-flowfram,
- title = {The \texttt{flowfram} package},
- subtitle = {Create text frames for posters, brochures or magazines},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.17},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/flowfram},
- url = {https://ctan.org/pkg/flowfram},
-}
-
-@manual{ctan-flowframtk,
- title = {The \texttt{FlowframTk} package},
- subtitle = {Vector graphics application with support for flowfram.sty},
- author = {Nicola Talbot},
- date = {2019-07-18},
- version = {0.8.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/flowframtk},
- url = {https://ctan.org/pkg/flowframtk},
-}
-
-@manual{ctan-fltpage,
- title = {The \texttt{fltpage} package},
- subtitle = {Place caption on an adjacent page},
- author = {Sebastian Gross},
- date = {2019-06-21},
- version = {0.3},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fltpage},
- url = {https://ctan.org/pkg/fltpage},
- annotation = {Defines environments and ,
- analogous to and . In twoside mode,
- the caption for one of the ‘new’ environments, will be set on the
- opposite page of a figure/table which needs a whole page. In
- oneside mode the caption will be set on the preceding or following
- page.},
-}
-
-@manual{ctan-fltpoint,
- title = {The \texttt{fltpoint} package},
- subtitle = {Simple floating point arithmetic},
- author = {Eckhart Guthöhrlein},
- date = {2020-09-30},
- version = {1.1b},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/fltpoint},
- url = {https://ctan.org/pkg/fltpoint},
- annotation = {The package provides simple floating point operations (addition,
- subtraction, multiplication, division and rounding). Used, for
- example, by .},
-}
-
-@manual{ctan-flushend,
- title = {The \texttt{flushend} package},
- subtitle = {Balancing columns at last page},
- author = {Sigitas Tolušis},
- date = {2021-10-11},
- version = {4.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools},
- url = {https://ctan.org/pkg/flushend},
-}
-
-@manual{ctan-fmp,
- title = {The \texttt{fmp} package},
- subtitle = {Include Functional MetaPost in \LaTeX{}},
- author = {Marco Kuhlmann},
- date = {2016-06-18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fmp},
- url = {https://ctan.org/pkg/fmp},
-}
-
-@manual{ctan-fmtcount,
- title = {The \texttt{fmtcount} package},
- subtitle = {Display the value of a \LaTeX{} counter in a variety of formats},
- author = {Nicola Talbot and Vincent Belaïche},
- date = {2020-07-05},
- version = {3.07},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fmtcount},
- url = {https://ctan.org/pkg/fmtcount},
-}
-
-@manual{ctan-fn2end,
- title = {The \texttt{fn2end} package},
- subtitle = {Convert footnotes to endnotes},
- author = {Kim C Border},
- date = {2016-06-24},
- version = {1.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fn2end},
- url = {https://ctan.org/pkg/fn2end},
- annotation = {Defines macros , which converts
- to produce endnotes; and
- which prints them out.},
-}
-
-@manual{ctan-fnbreak,
- title = {The \texttt{fnbreak} package},
- subtitle = {Warn for split footnotes},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {1.30},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fnbreak},
- url = {https://ctan.org/pkg/fnbreak},
-}
-
-@manual{ctan-fncychap,
- title = {The \texttt{fncychap} package},
- subtitle = {Seven predefined chapter heading styles},
- author = {Ulf Lindgren},
- date = {2016-06-24},
- version = {1.34},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fncychap},
- url = {https://ctan.org/pkg/fncychap},
-}
-
-@manual{ctan-fncylab,
- title = {The \texttt{fncylab} package},
- subtitle = {Alter the format of \textbackslash{}label references},
- author = {Robin Fairbairns and David Carlisle},
- date = {2019-09-13},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fncylab},
- url = {https://ctan.org/pkg/fncylab},
-}
-
-@manual{ctan-fnlineno,
- title = {The \texttt{fnlineno} package},
- subtitle = {Number the lines of footnotes},
- author = {Uwe Lück and Karl Wette},
- date = {2022-12-05},
- version = {0.55},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lineno},
- url = {https://ctan.org/pkg/fnlineno},
-}
-
-@manual{ctan-fnote,
- title = {The \texttt{fnote} package},
- subtitle = {Auto-numbered footnotes in Plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/fnote.tex},
- url = {https://ctan.org/pkg/fnote},
-}
-
-@manual{ctan-fnpara-pln,
- title = {The \texttt{fnpara-pln} package},
- subtitle = {Footnotes in paragraphs},
- author = {Dominik Wujastyk},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/fnpara.tex},
- url = {https://ctan.org/pkg/fnpara-pln},
- annotation = {Typeset footnotes in run-on paragraphs, instead of one above
- another, as in the ‘Dirty Tricks’ on pp
- 398–400 of the \TeX{}book. This code formed the basis of a
- , and has been
- further adapted and made more robust for
- use in , appears in the
- comprehensive footnote package
- .},
-}
-
-@manual{ctan-fnpara,
- title = {The \texttt{fnpara} package},
- subtitle = {Footnotes in paragraphs},
- author = {Chris Rowley and Dominik Wujastyk and Bradley Smith},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fnpara},
- url = {https://ctan.org/pkg/fnpara},
- annotation = {Typeset footnotes in run-on paragraphs, instead of one above
- another; this is a re-seating, for the \LaTeX{} environment, of an
- example in the \TeX{}book. The same basic code, improved for
- use in -based \LaTeX{}, appears in the
- comprehensive footnote package
- , and superior versions are
- also available in the and
- packages.},
-}
-
-@manual{ctan-fnpct,
- title = {The \texttt{fnpct} package},
- subtitle = {Manage footnote marks’ interaction with punctuation},
- author = {Clemens Niederberger},
- date = {2022-02-27},
- version = {1.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fnpct},
- url = {https://ctan.org/pkg/fnpct},
-}
-
-@manual{ctan-fnpos,
- title = {The \texttt{fnpos} package},
- subtitle = {Control the position of footnotes on the page},
- author = {Hiroshi Nakashima},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yafoot},
- url = {https://ctan.org/pkg/fnpos},
-}
-
-@manual{ctan-fnspe,
- title = {The \texttt{fnspe} package},
- subtitle = {Macros for supporting mainly students of FNSPE CTU in Prague},
- author = {Michal Zeman},
- date = {2017-09-20},
- version = {1.2a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fnspe},
- url = {https://ctan.org/pkg/fnspe},
-}
-
-@manual{ctan-fntguide,
- title = {The \texttt{fntguide} package},
- subtitle = {Docmentation of \LaTeX{} font commands},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-08-26},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/fntguide},
-}
-
-@manual{ctan-fntproof,
- title = {The \texttt{fntproof} package},
- subtitle = {A programmable font test pattern generator},
- author = {Daniel H. Luecking},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/fntproof},
- url = {https://ctan.org/pkg/fntproof},
- annotation = {The package implements all the font testing commands of
- Knuth’s , but
- arranges that information necessary for each command is supplied
- as arguments to that command, rather than prompted for. This
- makes it possible to type all the tests in one command line, and
- easy to input the package in a file and to use the commands there.
- A few additional commands supporting this last purpose are also
- made available.},
-}
-
-@manual{ctan-fnumprint,
- title = {The \texttt{fnumprint} package},
- subtitle = {Print a number in ‘appropriate’ format},
- author = {Robin Schneider},
- date = {2017-04-18},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fnumprint},
- url = {https://ctan.org/pkg/fnumprint},
-}
-
-@manual{ctan-foekfont,
- title = {The \texttt{foekfont} package},
- subtitle = {The title font of the Mads Føk magazine},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/foekfont},
- url = {https://ctan.org/pkg/foekfont},
-}
-
-@manual{ctan-foilhtml,
- title = {The \texttt{foilhtml} package},
- subtitle = {Interface between foiltex and \LaTeX{}2HTML},
- author = {Boris Veytsman},
- date = {2022-02-03},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/foilhtml},
- url = {https://ctan.org/pkg/foilhtml},
- annotation = {Provides integration between
- and
- , adding sectioning
- commands and elements of logical formatting to FoilTeX and
- providing support for FoilTeX commands in \LaTeX{}2HTML.},
-}
-
-@manual{ctan-foiltex,
- title = {The \texttt{foiltex} package},
- subtitle = {A \LaTeX{}2e class for overhead transparencies},
- author = {James Hafner},
- date = {2018-01-06},
- version = {2.1.4b},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/foiltex},
- url = {https://ctan.org/pkg/foiltex},
-}
-
-@manual{ctan-foliono,
- title = {The \texttt{foliono} package},
- subtitle = {Use folio numbers to replace page numbers},
- author = {Tommi Syrjänen},
- date = {2021-04-15},
- version = {1.000},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/foliono},
- url = {https://ctan.org/pkg/foliono},
-}
-
-@manual{ctan-fonetika,
- title = {The \texttt{fonetika} package},
- subtitle = {Support for the Danish "Dania" phonetic system},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/fonetika},
- url = {https://ctan.org/pkg/fonetika},
-}
-
-@manual{ctan-font-change-xetex,
- title = {The \texttt{font-change-xetex} package},
- subtitle = {Macros to change text and mathematics fonts in plain XeTeX},
- author = {Amit Raj Dhawan},
- date = {2022-07-17},
- version = {2016.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/xetex/plain/font-change-xetex},
- url = {https://ctan.org/pkg/font-change-xetex},
-}
-
-@manual{ctan-font-change,
- title = {The \texttt{font-change} package},
- subtitle = {Macros to change text and mathematics fonts in plain \TeX{}},
- author = {Amit Raj Dhawan},
- date = {2016-06-24},
- version = {2015.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/font-change},
- url = {https://ctan.org/pkg/font-change},
-}
-
-@manual{ctan-font-selection,
- title = {The \texttt{font\_selection} package},
- subtitle = {Font selection for plain \TeX{}},
- author = {Harold de Wijn},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/font_selection},
- url = {https://ctan.org/pkg/font-selection},
-}
-
-@manual{ctan-fontawesome,
- title = {The \texttt{fontawesome} package},
- subtitle = {Font containing web-related icons},
- author = {Xavier Danaux and Dave Gandy},
- date = {2017-04-18},
- version = {4.6.3.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/fontawesome},
- url = {https://ctan.org/pkg/fontawesome},
-}
-
-@manual{ctan-fontawesome5,
- title = {The \texttt{fontawesome5} package},
- subtitle = {Font Awesome 5 with \LaTeX{} support},
- author = {Marcel Krüger},
- date = {2022-05-02},
- version = {5.15.4},
- license = {ofl,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/fontawesome5},
- url = {https://ctan.org/pkg/fontawesome5},
- annotation = {This package provides \LaTeX{} support for the included
- “Font Awesome 5 Free” icon set. These icons were designed
- by and
- released under the SIL OFL 1.1 license.
- The commercial “Pro” version is also supported, if it is
- installed and \XeLaTeX{} or Lua\LaTeX{} is used.},
-}
-
-@manual{ctan-fontaxes,
- title = {The \texttt{fontaxes} package},
- subtitle = {Additional font axes for \LaTeX{}},
- author = {Andreas Bühmann and Michael Ummels},
- date = {2020-07-22},
- version = {1.0e},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fontaxes},
- url = {https://ctan.org/pkg/fontaxes},
-}
-
-@manual{ctan-fontbl,
- title = {The \texttt{fontbl} package},
- subtitle = {A font sampler},
- author = {Roger L. Beeman and Pierre A. MacKay},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/fontbl.tex},
- url = {https://ctan.org/pkg/fontbl},
- annotation = {An interactive program, that asks for font name and magnification,
- and then sets a table, a lower- and an upper-case alphabet
- listing, and a short text sample. This sample reflects a
- combination of the options available in testfont (in the
- distribution).},
-}
-
-@manual{ctan-fontbook,
- title = {The \texttt{fontbook} package},
- subtitle = {Generate a font book},
- author = {Raphaël Pinson},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/fontbook},
- url = {https://ctan.org/pkg/fontbook},
-}
-
-@manual{ctan-fontch,
- title = {The \texttt{fontch} package},
- subtitle = {Changing fonts, sizes and encodings in Plain \TeX{}},
- author = {Rodrigo Medina},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/fontch},
- url = {https://ctan.org/pkg/fontch},
-}
-
-@manual{ctan-fontchart,
- title = {The \texttt{fontchart} package},
- subtitle = {A font sampler},
- author = {Werner Lemberg},
- date = {2016-11-06},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/fontchart.tex},
- url = {https://ctan.org/pkg/fontchart},
- annotation = {Produces a font sample that is in some ways simpler than that
- produced by testfont (in the
- distribution), but which shows strikingly large glyph images,
- and avoids some difficulties with boundary characters, such as are
- often used in Greek fonts (and fonts for similar writing systems).},
-}
-
-@manual{ctan-fonteinf,
- title = {The \texttt{fonteinf} package},
- subtitle = {An introduction to font usage in \LaTeX{} (German)},
- author = {Javier Bezos López and Thomas Ruedas},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/german/fonteinf.pdf},
- url = {https://ctan.org/pkg/fonteinf},
- annotation = {A German translation of a
- on how to use fonts in \LaTeX{}.},
-}
-
-@manual{ctan-fontenc,
- title = {The \texttt{fontenc} package},
- subtitle = {Standard package for selecting font encodings},
- author = {{The \LaTeX{} Project Team}},
- date = {2016-06-24},
- license = {lppl},
- url = {https://ctan.org/pkg/fontenc},
-}
-
-@manual{ctan-fontinst,
- title = {The \texttt{fontinst} package},
- subtitle = {Help with installing fonts for \TeX{} and \LaTeX{}},
- author = {Lars Hellström and Alan Jeffrey and Sebastian Rahtz and Ulrik Vieth},
- date = {2021-03-31},
- version = {1.933},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/utilities/fontinst},
- url = {https://ctan.org/pkg/fontinst},
-}
-
-@manual{ctan-fontinstallationguide,
- title = {The \texttt{fontinstallationguide} package},
- subtitle = {Font installation guide},
- author = {Philipp Lehman},
- date = {2021-06-30},
- version = {2.14},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/Type1fonts/fontinstallationguide},
- url = {https://ctan.org/pkg/fontinstallationguide},
-}
-
-@manual{ctan-fontload,
- title = {The \texttt{fontload} package},
- subtitle = {A partial font downloading utility},
- author = {Basil Malyshev},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/fontload},
- url = {https://ctan.org/pkg/fontload},
-}
-
-@manual{ctan-fontloader-luaotfload,
- title = {The \texttt{fontloader-luaotfload} package},
- subtitle = {Alternative fontloaders for luaotfload},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/luatex/generic/fontloader-luaotfload},
- url = {https://ctan.org/pkg/fontloader-luaotfload},
-}
-
-@manual{ctan-fontmfizz,
- title = {The \texttt{fontmfizz} package},
- subtitle = {Font Mfizz icons for use in \LaTeX{}},
- author = {Kevin Dungs},
- date = {2017-04-18},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/fonts/fontmfizz},
- url = {https://ctan.org/pkg/fontmfizz},
-}
-
-@manual{ctan-fontname,
- title = {The \texttt{fontname} package},
- subtitle = {Scheme for naming fonts in \TeX{}},
- author = {Karl Berry},
- date = {2016-11-04},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/fontname},
- url = {https://ctan.org/pkg/fontname},
-}
-
-@manual{ctan-fontools,
- title = {The \texttt{fontools} package},
- subtitle = {Tools to simplify using fonts (especially TT/OTF ones)},
- author = {Marc Penninga},
- date = {2023-02-01},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/utilities/fontools},
- url = {https://ctan.org/pkg/fontools},
-}
-
-@manual{ctan-fonts-arundina,
- title = {The \texttt{fonts-arundina} package},
- subtitle = {DejaVu-compatible Thai fonts},
- author = {Theppitak Karoonboonyanan},
- date = {2020-05-02},
- version = {0.3.2},
- license = {other-free,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/thai/fonts-arundina},
- url = {https://ctan.org/pkg/fonts-arundina},
-}
-
-@manual{ctan-fonts-churchslavonic,
- title = {The \texttt{fonts-churchslavonic} package},
- subtitle = {Fonts for typesetting in Church Slavonic language},
- author = {Mike Kroutikov and Aleksandr Andreev},
- date = {2020-09-15},
- version = {2.2},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/fonts-churchslavonic},
- url = {https://ctan.org/pkg/fonts-churchslavonic},
-}
-
-@manual{ctan-fonts-tlwg,
- title = {The \texttt{fonts-tlwg} package},
- subtitle = {Thai fonts for \LaTeX{} from TLWG},
- author = {Theppitak Karoonboonyanan},
- date = {2021-10-19},
- version = {0.7.3},
- license = {gpl2+,lppl1.3,other-free},
- mirror = {https://mirror.ctan.org/fonts/thai/fonts-tlwg},
- url = {https://ctan.org/pkg/fonts-tlwg},
- annotation = {A collection of free Thai fonts, supplied as FontForge sources,
- and with \LaTeX{} files.},
-}
-
-@manual{ctan-fontsampler,
- title = {The \texttt{fontsampler} package},
- subtitle = {Samples of fonts that come with \TeX{} Live},
- author = {Peter Flynn},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/fontsampler},
- url = {https://ctan.org/pkg/fontsampler},
-}
-
-@manual{ctan-fontsetup-nonfree,
- title = {The \texttt{fontsetup-nonfree} package},
- subtitle = {A front-end to fontspec, for selected non-free fonts},
- author = {Antonis Tsolomitis},
- date = {2021-09-11},
- version = {1.02},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/fontsetup-nonfree},
- url = {https://ctan.org/pkg/fontsetup-nonfree},
- annotation = {This package accompanies and includes support for
- nonfree fonts.},
-}
-
-@manual{ctan-fontsetup,
- title = {The \texttt{fontsetup} package},
- subtitle = {A front-end to fontspec, for selected fonts with math support},
- author = {Antonis Tsolomitis},
- date = {2023-01-02},
- version = {1.4},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/fontsetup},
- url = {https://ctan.org/pkg/fontsetup},
- annotation = {This package facilitates the use of
- for users who
- do not wish to bother with details, with a special focus on
- quality fonts supporting Mathematics.},
-}
-
-@manual{ctan-fontsize,
- title = {The \texttt{fontsize} package},
- subtitle = {A small package to set arbitrary sizes for the main font of the document},
- author = {Ivan Valbusa},
- date = {2021-08-04},
- version = {0.8.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fontsize},
- url = {https://ctan.org/pkg/fontsize},
- annotation = {The package allows you to set arbitrary sizes for the main font
- of the document, through the option.},
-}
-
-@manual{ctan-fontsmpl,
- title = {The \texttt{fontsmpl} package},
- subtitle = {Print a sample of a font},
- author = {Alan Jeffrey},
- date = {2021-01-03},
- version = {0.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/fontsmpl},
-}
-
-@manual{ctan-fontspec,
- title = {The \texttt{fontspec} package},
- subtitle = {Advanced font selection in \XeLaTeX{} and LuaLaTeX},
- author = {Will Robertson and {The \LaTeX{} Project Team}},
- date = {2022-05-18},
- version = {2.8a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/fontspec},
- url = {https://ctan.org/pkg/fontspec},
-}
-
-@manual{ctan-fonttable,
- title = {The \texttt{fonttable} package},
- subtitle = {Print font tables from a \LaTeX{} document},
- author = {Will Robertson and Peter R. Wilson},
- date = {2017-07-14},
- version = {1.6c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fonttable},
- url = {https://ctan.org/pkg/fonttable},
-}
-
-@manual{ctan-fontwrap,
- title = {The \texttt{fontwrap} package},
- subtitle = {Bind fonts to specific unicode blocks},
- author = {Mike Kamermans},
- date = {2016-10-08},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/fontwrap},
- url = {https://ctan.org/pkg/fontwrap},
-}
-
-@manual{ctan-footbib,
- title = {The \texttt{footbib} package},
- subtitle = {Bibliographic references as footnotes},
- author = {Eric Domenjoud},
- date = {2016-06-24},
- version = {2.0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/footbib},
- url = {https://ctan.org/pkg/footbib},
-}
-
-@manual{ctan-footmisc,
- title = {The \texttt{footmisc} package},
- subtitle = {A range of footnote options},
- author = {Robin Fairbairns and Frank Mittelbach},
- date = {2022-03-08},
- version = {6.0d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/footmisc},
- url = {https://ctan.org/pkg/footmisc},
-}
-
-@manual{ctan-footmisx,
- title = {The \texttt{footmisx} package},
- subtitle = {A range of footnote options},
- author = {Bastien Roucariès},
- date = {2016-12-06},
- version = {20161201},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/footmisx},
- url = {https://ctan.org/pkg/footmisx},
-}
-
-@manual{ctan-footnote,
- title = {The \texttt{footnote} package},
- subtitle = {Improve on \LaTeX{}'s footnote handling},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.13},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/footnote},
-}
-
-@manual{ctan-footnotebackref,
- title = {The \texttt{footnotebackref} package},
- subtitle = {Back-references from footnotes},
- author = {Holger Lange},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/footnotebackref},
- url = {https://ctan.org/pkg/footnotebackref},
-}
-
-@manual{ctan-footnotehyper,
- title = {The \texttt{footnotehyper} package},
- subtitle = {hyperref aware footnote.sty},
- author = {Jean-François Burnol},
- date = {2021-08-30},
- version = {1.1e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/footnotehyper},
- url = {https://ctan.org/pkg/footnotehyper},
- annotation = {The package by
- Mark Wooding dates back to 1997 and has not been made
- compatible.
- The aim of the present package is to do that.},
-}
-
-@manual{ctan-footnoterange,
- title = {The \texttt{footnoterange} package},
- subtitle = {References to ranges of footnotes},
- author = {Hans-Martin Münch},
- date = {2023-02-25},
- version = {1.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/footnoterange},
- url = {https://ctan.org/pkg/footnoterange},
- annotation = {The package provides the environments and
- . Multiple footnotes inside these
- environments are not referenced as (e.g.) “1 2 3" but as “1-3”,
- i.e., the range (from first to last referred footnote at that
- place) is given. If the
- package is loaded with enabled -option,
- then the references are hyperlinked. (References to footnotes in
- environments are never hyperlinked.)},
-}
-
-@manual{ctan-footnpag,
- title = {The \texttt{footnpag} package},
- subtitle = {Per-page numbering of footnotes},
- author = {Joachim Schrod},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/footnpag},
- url = {https://ctan.org/pkg/footnpag},
-}
-
-@manual{ctan-forarray,
- title = {The \texttt{forarray} package},
- subtitle = {Using array structures in \LaTeX{}},
- author = {Christian Schröppel},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/forarray},
- url = {https://ctan.org/pkg/forarray},
- annotation = {The package provides functionality for processing lists and
- array structures in .
- Arrays can contain characters as well as \TeX{}
- and \LaTeX{} commands, nesting of arrays is possible, and arrays are
- processed within the same brace level as their surrounding environment.
- Array levels can be delimited by characters or control sequences
- defined by the user. Practical uses of this package include data
- management, construction of lists and tables, and calculations based on
- the contents of lists and arrays.},
-}
-
-@manual{ctan-foreign,
- title = {The \texttt{foreign} package},
- subtitle = {Systematic treatment of ‘foreign’ words in documents},
- author = {Philip G. Ratcliffe},
- date = {2016-06-24},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/foreign},
- url = {https://ctan.org/pkg/foreign},
-}
-
-@manual{ctan-forest-quickstart,
- title = {The \texttt{forest-quickstart} package},
- subtitle = {Quickstart Guide for Linguists package “forest”},
- author = {Guido Vanden Wyngaerd},
- date = {2020-06-30},
- version = {},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/forest-quickstart},
- url = {https://ctan.org/pkg/forest-quickstart},
- annotation = {is a PGF/TikZ-based package for
- drawing linguistic (and other kinds of) trees. This manual
- provides a quickstart guide for linguists with just the
- essential things that you need to get started.},
-}
-
-@manual{ctan-forest,
- title = {The \texttt{forest} package},
- subtitle = {Drawing (linguistic) trees},
- author = {Sašo Živanović},
- date = {2017-07-14},
- version = {2.1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/forest},
- url = {https://ctan.org/pkg/forest},
-}
-
-@manual{ctan-forindex,
- title = {The \texttt{forindex} package},
- subtitle = {Manipulate \textbackslash{}index commands in a \LaTeX{} file},
- author = {Guido Milanese},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/indexing/forindex},
- url = {https://ctan.org/pkg/forindex},
-}
-
-@manual{ctan-forloop,
- title = {The \texttt{forloop} package},
- subtitle = {Iteration in \LaTeX{}},
- author = {Nick Setzer},
- date = {2018-10-09},
- version = {3.0},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/forloop},
- url = {https://ctan.org/pkg/forloop},
- annotation = {The package provides a command for doing
- iteration in \LaTeX{} macro programming.},
-}
-
-@manual{ctan-formal-grammar,
- title = {The \texttt{formal-grammar} package},
- subtitle = {Typeset formal grammars},
- author = {Martin Vassor},
- date = {2022-02-09},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/formal-grammar},
- url = {https://ctan.org/pkg/formal-grammar},
-}
-
-@manual{ctan-format,
- title = {The \texttt{format} package},
- subtitle = {Format a counter as a fixed-point number},
- author = {Charles Karney},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/format.sty},
- url = {https://ctan.org/pkg/format},
- annotation = {The package defines a macro that takes an optional integer power
- argument, and a counter. The output is then the decimal
- representation of
- (the absolute value of may not exceed 6).},
-}
-
-@manual{ctan-formation-latex-ul,
- title = {The \texttt{formation-latex-ul} package},
- subtitle = {Introductory \LaTeX{} course in French},
- author = {Vincent Goulet},
- date = {2020-10-20},
- version = {2020.10},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/info/formation-latex-ul},
- url = {https://ctan.org/pkg/formation-latex-ul},
-}
-
-@manual{ctan-formlett,
- title = {The \texttt{formlett} package},
- subtitle = {Letters to multiple recipients},
- author = {Zhuhan Jiang},
- date = {2016-06-24},
- version = {2.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/formlett},
- url = {https://ctan.org/pkg/formlett},
-}
-
-@manual{ctan-forms16be,
- title = {The \texttt{forms16be} package},
- subtitle = {Initialize form properties using big-endian encoding},
- author = {Donald P. Story},
- date = {2019-06-03},
- version = {1.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/forms16be},
- url = {https://ctan.org/pkg/forms16be},
-}
-
-@manual{ctan-formula,
- title = {The \texttt{formula} package},
- subtitle = {Typesetting physical units},
- author = {Andreas Tille},
- date = {2016-06-24},
- version = {0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/formula},
- url = {https://ctan.org/pkg/formula},
-}
-
-@manual{ctan-formular,
- title = {The \texttt{formular} package},
- subtitle = {Create forms containing field for manual entry},
- author = {Hans-Christoph Wirth},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/formular},
- url = {https://ctan.org/pkg/formular},
-}
-
-@manual{ctan-fortran,
- title = {The \texttt{fortran} package},
- subtitle = {Print Fortran programs},
- author = {B. H. Toby},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/fortran.tex},
- url = {https://ctan.org/pkg/fortran},
-}
-
-@manual{ctan-forum,
- title = {The \texttt{forum} package},
- subtitle = {Forum fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-30},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/forum},
- url = {https://ctan.org/pkg/forum},
-}
-
-@manual{ctan-fotex,
- title = {The \texttt{fotex} package},
- subtitle = {Process XSL-FO},
- author = {Sebastian Rahtz},
- date = {2016-06-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/fotex},
- url = {https://ctan.org/pkg/fotex},
-}
-
-@manual{ctan-fouridx,
- title = {The \texttt{fouridx} package},
- subtitle = {Left sub- and superscripts in maths mode},
- author = {Stefan Karrmann},
- date = {2018-01-06},
- version = {2.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fouridx},
- url = {https://ctan.org/pkg/fouridx},
-}
-
-@manual{ctan-fourier,
- title = {The \texttt{fourier} package},
- subtitle = {Using Utopia fonts in \LaTeX{} documents},
- author = {Michel Bovani},
- date = {2022-02-07},
- version = {2.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/fourier-GUT},
- url = {https://ctan.org/pkg/fourier},
-}
-
-@manual{ctan-fouriernc,
- title = {The \texttt{FourierNC} package},
- subtitle = {Use New Century Schoolbook text with Fourier maths fonts},
- author = {Michael Zedler and Michael Sharpe},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/fouriernc},
- url = {https://ctan.org/pkg/fouriernc},
- annotation = {This package provides a \LaTeX{} mathematics font setup for use with
- New Century Schoolbook text. In order to use it you need to have
- the fonts installed.},
-}
-
-@manual{ctan-fourproject,
- title = {The \texttt{fourproject} package},
- subtitle = {Analyse and display the structure of a \TeX{} document},
- author = {Erik Frambach},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/4project},
- url = {https://ctan.org/pkg/fourproject},
-}
-
-@manual{ctan-fourspell,
- title = {The \texttt{fourspell} package},
- subtitle = {Windows32 spell checker for \TeX{}, RTF, HTML, and BibTeX},
- author = {Erik Frambach},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/4spell},
- url = {https://ctan.org/pkg/fourspell},
- annotation = {A Windows32 spell-checker for (La)TeX, RTF, HTML, BibTeX
- documents, or any other ASCII format, with or without tags.
- Highly configurable. Supports multiple codepages (can spell-check
- e.g. Russian), uses colors to display document and tag
- structures. Dictionaries are compatible with
- .},
-}
-
-@manual{ctan-fp,
- title = {The \texttt{fp} package},
- subtitle = {Fixed point arithmetic},
- author = {Michael Mehlich},
- date = {2019-01-14},
- version = {2.1d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fp},
- url = {https://ctan.org/pkg/fp},
-}
-
-@manual{ctan-fpl,
- title = {The \texttt{fpl} package},
- subtitle = {SC and OsF fonts for URW Palladio L},
- author = {Ralf Stubner},
- date = {2019-01-04},
- version = {1.003},
- license = {gpl2,lppl},
- mirror = {https://mirror.ctan.org/fonts/fpl},
- url = {https://ctan.org/pkg/fpl},
-}
-
-@manual{ctan-fptex,
- title = {The \texttt{fpTeX} package},
- subtitle = {A web2C-based \TeX{} system for MS-Windows32},
- author = {Fabrice Popineau},
- date = {2016-06-24},
- version = {0.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/systems/win32/fptex},
- url = {https://ctan.org/pkg/fptex},
-}
-
-@manual{ctan-fragmaster,
- title = {The \texttt{fragmaster} package},
- subtitle = {Using psfrag with pdfLaTeX},
- author = {Augustin Martin Domingo and Tilman Vogel},
- date = {2016-06-24},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/fragmaster},
- url = {https://ctan.org/pkg/fragmaster},
- annotation = {Fragmaster enables you to use
- with pdfLaTeX. It takes EPS files and psfrag substitution
- definition files, and produces PDF and EPS files with the
- substitutions included.},
-}
-
-@manual{ctan-fragments,
- title = {The \texttt{fragments} package},
- subtitle = {Fragments of \LaTeX{} code},
- author = {David Carlisle},
- date = {2018-09-13},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fragments},
- url = {https://ctan.org/pkg/fragments},
-}
-
-@manual{ctan-frame,
- title = {The \texttt{frame} package},
- subtitle = {Framed boxes for Plain \TeX{}},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/frame},
- url = {https://ctan.org/pkg/frame},
- annotation = {A jiffy file (taken from )
- for placing a frame around a box of text. The macros also provide
- for typesetting an empty box of given dimensions.},
-}
-
-@manual{ctan-framed,
- title = {The \texttt{framed} package},
- subtitle = {Framed or shaded regions that can break across pages},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {0.96},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/framed},
- url = {https://ctan.org/pkg/framed},
-}
-
-@manual{ctan-francais-bst,
- title = {The \texttt{francais-bst} package},
- subtitle = {Bibliographies conforming to French typographic standards},
- author = {Vincent Goulet},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/francais-bst},
- url = {https://ctan.org/pkg/francais-bst},
-}
-
-@manual{ctan-frankenbundle,
- title = {The \texttt{frankenbundle} package},
- subtitle = {Develop and distribute \LaTeX{} packages and classes and BibTeX styles},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.10},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/frankenbundle},
- url = {https://ctan.org/pkg/frankenbundle},
-}
-
-@manual{ctan-frankenstein-unsupported,
- title = {The \texttt{frankenstein-unsupported} package},
- subtitle = {Unsupported packages from the Frankenstein bundle},
- author = {Matt Swift},
- date = {2020-03-09},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein/unsupported},
- url = {https://ctan.org/pkg/frankenstein-unsupported},
- annotation = {These packages were part of the original release of the
- bundle
- (under the name “monster”). The collection
- comprises:},
-}
-
-@manual{ctan-frankenstein,
- title = {The \texttt{frankenstein} package},
- subtitle = {A collection of \LaTeX{} packages},
- author = {Matt Swift},
- date = {2016-06-24},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/frankenstein},
- annotation = {Frankenstein is a bundle of \LaTeX{} packages serving various
- purposes and a BibTeX bibliography style. Descriptions are given
- under the individual packages:
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- .},
-}
-
-@manual{ctan-frcursive,
- title = {The \texttt{frcursive} package},
- subtitle = {French cursive hand fonts},
- author = {Emmanuel Beffara},
- date = {2018-05-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/fonts/frcursive},
- url = {https://ctan.org/pkg/frcursive},
-}
-
-@manual{ctan-frederika2016,
- title = {The \texttt{frederika2016} package},
- subtitle = {An OpenType Greek calligraphy font},
- author = {Apostolos Syropoulos},
- date = {2016-09-28},
- version = {1.000 2016 initial release},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/frederika2016},
- url = {https://ctan.org/pkg/frederika2016},
-}
-
-@manual{ctan-free-math-font-survey-vn,
- title = {The \texttt{free-math-font-survey-vn} package},
- subtitle = {The survey of available free Mathematics fonts, translated to Vietnamese},
- author = {Thái Phú Khánh Hòa},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/Free_Math_Font_Survey/vn},
- url = {https://ctan.org/pkg/free-math-font-survey-vn},
- annotation = {This is a translation to Vietnamese of Stephen Hartke's
- .},
-}
-
-@manual{ctan-free-math-font-survey,
- title = {The \texttt{free-math-font-survey} package},
- subtitle = {A survey of available free Mathematics fonts},
- author = {Stephen Hartke},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/Free_Math_Font_Survey/en},
- url = {https://ctan.org/pkg/free-math-font-survey},
-}
-
-@manual{ctan-freetype,
- title = {The \texttt{freetype} package},
- subtitle = {A full-featured font rasterizer library},
- author = {Werner Lemberg},
- date = {2018-11-15},
- version = {2.3.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/freetype},
- url = {https://ctan.org/pkg/freetype},
-}
-
-@manual{ctan-frege,
- title = {The \texttt{frege} package},
- subtitle = {Typeset fregean Begriffsschrift},
- author = {Quirin Pamp},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frege},
- url = {https://ctan.org/pkg/frege},
-}
-
-@manual{ctan-french-translations,
- title = {The \texttt{french-translations} package},
- subtitle = {French translation project},
- author = {Benjamin Bayart},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/french-translations},
- url = {https://ctan.org/pkg/french-translations},
-}
-
-@manual{ctan-frenchle,
- title = {The \texttt{frenchle} package},
- subtitle = {French macros, usable stand-alone or with Babel},
- author = {Bernard Gaulle and Raymond Juillerat},
- date = {2017-07-17},
- version = {5.9995},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/language/french/frenchle},
- url = {https://ctan.org/pkg/frenchle},
-}
-
-@manual{ctan-frenchmath,
- title = {The \texttt{frenchmath} package},
- subtitle = {Typesetting mathematics according to French rules},
- author = {Antoine Missier},
- date = {2023-03-08},
- version = {2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frenchmath},
- url = {https://ctan.org/pkg/frenchmath},
-}
-
-@manual{ctan-frenchponct,
- title = {The \texttt{frenchponct} package},
- subtitle = {Implement French-style spacing at punctuation},
- author = {Y. Roy},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/frenchponct.sty},
- url = {https://ctan.org/pkg/frenchponct},
- annotation = {The package represents an early instance of the (now common)
- active-character technique of inserting space in front of the
- punctuation characters.},
-}
-
-@manual{ctan-frenchpro,
- title = {The \texttt{frenchpro} package},
- subtitle = {Professional typesetting of French documents},
- author = {Bernard Gaulle},
- date = {2016-06-24},
- version = {5,9994},
- license = {shareware},
- mirror = {https://mirror.ctan.org/obsolete/language/french/frenchpro},
- url = {https://ctan.org/pkg/frenchpro},
-}
-
-@manual{ctan-frenchquote,
- title = {The \texttt{frenchquote} package},
- subtitle = {Make something like guillemets},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/frenchquote.sty},
- url = {https://ctan.org/pkg/frenchquote},
- annotation = {The package defines and which
- construct objects vaguely like the french quote marks
- “guillemets”, from small versions of the maths
- symbols and .},
-}
-
-@manual{ctan-frhyph,
- title = {The \texttt{frhyph} package},
- subtitle = {French hyphenation patterns},
- author = {Daniel Flipo},
- date = {2016-11-05},
- version = {2.12},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/hyphenation/frhyph.tex},
- url = {https://ctan.org/pkg/frhyph},
-}
-
-@manual{ctan-fribidixetex,
- title = {The \texttt{FriBidiXeTeX} package},
- subtitle = {A pre-processor for XeTeX files to support unicode bidirectional algorithm},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2020-02-20},
- version = {0.0.2},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/fribidixetex},
- url = {https://ctan.org/pkg/fribidixetex},
-}
-
-@manual{ctan-fribrief,
- title = {The \texttt{fribrief} package},
- subtitle = {Two \LaTeX{} classes for writing letters in German},
- author = {Alexander Fries},
- date = {2019-06-21},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fribrief},
- url = {https://ctan.org/pkg/fribrief},
-}
-
-@manual{ctan-frimurer,
- title = {The \texttt{frimurer} package},
- subtitle = {Access to the 'frimurer' cipher for use with \LaTeX{}},
- author = {Palle Jørgensen},
- date = {2020-10-21},
- version = {1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/fonts/frimurer},
- url = {https://ctan.org/pkg/frimurer},
-}
-
-@manual{ctan-frletter,
- title = {The \texttt{frletter} package},
- subtitle = {Typeset letters in the French style},
- author = {Liviu Andronic},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frletter},
- url = {https://ctan.org/pkg/frletter},
-}
-
-@manual{ctan-frontespizio,
- title = {The \texttt{frontespizio} package},
- subtitle = {Create a frontispiece for Italian theses},
- author = {Enrico Gregorio},
- date = {2016-06-24},
- version = {1.4a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frontespizio},
- url = {https://ctan.org/pkg/frontespizio},
-}
-
-@manual{ctan-froufrou,
- title = {The \texttt{froufrou} package},
- subtitle = {Fancy section separators},
- author = {Nelson Lago},
- date = {2021-05-06},
- version = {1.4.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/froufrou},
- url = {https://ctan.org/pkg/froufrou},
-}
-
-@manual{ctan-frpseudocode,
- title = {The \texttt{frpseudocode} package},
- subtitle = {French translation for the algorithmicx package},
- author = {Oliver Irwin},
- date = {2020-08-10},
- version = {0.3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frpseudocode},
- url = {https://ctan.org/pkg/frpseudocode},
- annotation = {This package is intended for use alongside Szász János’
- package.
- Its aim is to provide a French translation of terms and words
- used in algorithms to make it integrate seamlessly in a French
- written document.},
-}
-
-@manual{ctan-ftc-notebook,
- title = {The \texttt{ftc-notebook} package},
- subtitle = {Typeset FIRST Tech Challenge (FTC) notebooks},
- author = {{Team Robocracy}},
- date = {2019-02-17},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ftc-notebook},
- url = {https://ctan.org/pkg/ftc-notebook},
-}
-
-@manual{ctan-ftcap,
- title = {The \texttt{ftcap} package},
- subtitle = {Allows \textbackslash{}caption at the beginning of a table-environment},
- author = {Hans Friedrich Steffani},
- date = {2016-06-24},
- version = {1.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ftcap},
- url = {https://ctan.org/pkg/ftcap},
- annotation = {For several reasons a may be desirable at the
- top of a environment. This package changes the
- environment such that and
- are swapped. The package should also
- work with a non-standard table environment.},
-}
-
-@manual{ctan-ftetx,
- title = {The \texttt{ftetx} package},
- subtitle = {TeX support in FTE text editor},
- author = {O Zydowitz},
- date = {2016-06-24},
- version = {0.04},
- license = {artistic},
- mirror = {https://mirror.ctan.org/systems/os2/ftetx/ftetx004.zip},
- url = {https://ctan.org/pkg/ftetx},
- annotation = {A \TeX{} package for FTE (FTE = Folding Text Editor by Marko
- Macek) Adds a \TeX{} menu system for FTE. Changes syntax
- highlighting for FTE's \TeX{}-Mode. Runs \TeX{}, dvi-drivers, ispell,
- etc., from FTE. Calls \LaTeX{} help files from FTE. It is
- preconfigured for
- .},
-}
-
-@manual{ctan-ftn,
- title = {The \texttt{ftn} package},
- subtitle = {\LaTeX{} footnotes anywhere},
- author = {Kresten Krab Thorup},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/ftn.sty},
- url = {https://ctan.org/pkg/ftn},
- annotation = {Defines a command to modify any environment (except floats) to
- preserve footnotes. The package, by default, applies the command
- to , , and
- (!) environments.},
-}
-
-@manual{ctan-ftnright,
- title = {The \texttt{ftnright} package},
- subtitle = {Footnotes in two column documents in one column only},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.1f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/ftnright},
-}
-
-@manual{ctan-ftnxtra,
- title = {The \texttt{ftnxtra} package},
- subtitle = {Extend the applicability of the \textbackslash{}footnote command},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ftnxtra},
- url = {https://ctan.org/pkg/ftnxtra},
- annotation = {The package treats footnotes in , the
- environment, and and other
- -like commands.},
-}
-
-@manual{ctan-fullblck,
- title = {The \texttt{fullblck} package},
- subtitle = {Left-blocking for letter class},
- author = {James H. Cloos Jr.},
- date = {2016-06-24},
- version = {1.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fullblck},
- url = {https://ctan.org/pkg/fullblck},
-}
-
-@manual{ctan-fullminipage,
- title = {The \texttt{fullminipage} package},
- subtitle = {Minipage spanning a complete page},
- author = {Christian Schneider},
- date = {2016-06-24},
- version = {0.1.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fullminipage},
- url = {https://ctan.org/pkg/fullminipage},
-}
-
-@manual{ctan-fullpage,
- title = {The \texttt{fullpage} package},
- subtitle = {Set all page margins to 1.5cm},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/preprint},
- url = {https://ctan.org/pkg/fullpage},
-}
-
-@manual{ctan-fullpict,
- title = {The \texttt{fullpict} package},
- subtitle = {Full page pictures},
- author = {Bruce Shawyer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fullpict},
- url = {https://ctan.org/pkg/fullpict},
- annotation = {The package provides picture-mode environments whose size is
- related to the size of the page. The fullpict environment takes
- arguments to specify the dimension of the picture in picture mode
- ‘unit lengths’; the value for
- is defined by the fact that the picture is to be 90\% of
- . Similar environments halfpict (half the
- width of fullpict), and scalepict (a given percentage of the width
- of fullpict), are also defined.},
-}
-
-@manual{ctan-fullwidth,
- title = {The \texttt{fullwidth} package},
- subtitle = {Adjust margins of text block},
- author = {Marco Daniel},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fullwidth},
- url = {https://ctan.org/pkg/fullwidth},
- annotation = {The package provides the environment , which
- sets the left and right margins in a simple way. There is no
- constraint about page breaks; if you are using the twoside mode,
- you can set the inner and outer margins to avoid the effects of
- the different margins.},
-}
-
-@manual{ctan-functan,
- title = {The \texttt{functan} package},
- subtitle = {Macros for functional analysis and PDE theory},
- author = {Antoine Lejay},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/functan},
- url = {https://ctan.org/pkg/functan},
-}
-
-@manual{ctan-functional,
- title = {The \texttt{functional} package},
- subtitle = {Provide an intuitive functional programming interface for \LaTeX{}2},
- author = {Jianrui Lyu},
- date = {2023-01-07},
- version = {2023A},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/functional},
- url = {https://ctan.org/pkg/functional},
-}
-
-@manual{ctan-fundus-calligra,
- title = {The \texttt{fundus-calligra} package},
- subtitle = {Support for the calligra font in \LaTeX{} documents},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/calligra},
- url = {https://ctan.org/pkg/fundus-calligra},
-}
-
-@manual{ctan-fundus-cyr,
- title = {The \texttt{fundus-cyr} package},
- subtitle = {Support for Washington University Cyrillic fonts},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/cyr/cyr.sty},
- url = {https://ctan.org/pkg/fundus-cyr},
-}
-
-@manual{ctan-fundus-la,
- title = {The \texttt{fundus-la} package},
- subtitle = {Support for the la and lla fonts in \LaTeX{} documents},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/la},
- url = {https://ctan.org/pkg/fundus-la},
-}
-
-@manual{ctan-fundus-outline,
- title = {The \texttt{fundus-outline} package},
- subtitle = {\LaTeX{} support for CM outline fonts},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/outline},
- url = {https://ctan.org/pkg/fundus-outline},
-}
-
-@manual{ctan-fundus-pvscript,
- title = {The \texttt{fundus-pvscript} package},
- subtitle = {Support for Vanroose handwriting font},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/pvscript},
- url = {https://ctan.org/pkg/fundus-pvscript},
-}
-
-@manual{ctan-fundus-startrek,
- title = {The \texttt{fundus-startrek} package},
- subtitle = {‘Startrek’ fonts, and macros to support them},
- author = {Gerd Neugebauer},
- date = {2017-05-30},
- version = {1.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/startrek},
- url = {https://ctan.org/pkg/fundus-startrek},
-}
-
-@manual{ctan-fundus-sueterlin,
- title = {The \texttt{fundus-sueterlin} package},
- subtitle = {Sütterlin},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/suetterl},
- url = {https://ctan.org/pkg/fundus-sueterlin},
-}
-
-@manual{ctan-fundus-twcal,
- title = {The \texttt{fundus-twcal} package},
- subtitle = {\LaTeX{} support for the twcal handwriting font},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/twcal},
- url = {https://ctan.org/pkg/fundus-twcal},
-}
-
-@manual{ctan-fundus-va,
- title = {The \texttt{fundus-va} package},
- subtitle = {Support for the va fonts in \LaTeX{} documents},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus/va},
- url = {https://ctan.org/pkg/fundus-va},
-}
-
-@manual{ctan-fundus,
- title = {The \texttt{fundus} package},
- subtitle = {Providing \LaTeX{} access to various font families},
- author = {Gerd Neugebauer},
- date = {2016-09-27},
- version = {},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fundus},
- url = {https://ctan.org/pkg/fundus},
-}
-
-@manual{ctan-funnelweb,
- title = {The \texttt{funnelweb} package},
- subtitle = {A flexible, language-independent web system},
- author = {Tony Coates},
- date = {2019-11-17},
- license = {lppl},
- mirror = {https://mirror.ctan.org/web/funnelAC},
- url = {https://ctan.org/pkg/funnelweb},
-}
-
-@manual{ctan-futhark,
- title = {The \texttt{futhark} package},
- subtitle = {Fonts for the Older Futhark script},
- author = {Stayka deyAvemta},
- date = {2019-06-21},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/futhark},
- url = {https://ctan.org/pkg/futhark},
-}
-
-@manual{ctan-futhorc,
- title = {The \texttt{futhorc} package},
- subtitle = {Anglo-Friesic futhorc alphabet font},
- author = {Micaela Pantke},
- date = {2016-06-24},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/futhorc},
- url = {https://ctan.org/pkg/futhorc},
-}
-
-@manual{ctan-futurans,
- title = {The \texttt{futurans} package},
- subtitle = {Metrics and \LaTeX{} support for Futura Fonts From Adobe As Used By No Starch Press},
- author = {Boris Veytsman},
- date = {2021-09-11},
- version = {1.0b},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/psfonts/adobe/futurans},
- url = {https://ctan.org/pkg/futurans},
-}
-
-@manual{ctan-fvextra,
- title = {The \texttt{fvextra} package},
- subtitle = {Extensions and patches for fancyvrb},
- author = {Geoffrey Poore},
- date = {2022-12-01},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fvextra},
- url = {https://ctan.org/pkg/fvextra},
-}
-
-@manual{ctan-fweb,
- title = {The \texttt{fweb} package},
- subtitle = {A literate programming tool working with \LaTeX{}},
- author = {John A. Krommes},
- date = {2016-06-24},
- version = {1.62},
- license = {gpl},
- mirror = {https://mirror.ctan.org/web/fweb},
- url = {https://ctan.org/pkg/fweb},
- annotation = {FWEB is based on an early version (0.5) of Silvio Levy’s
- . The ‘F’ stands
- for Fortran (which motivated the initial development), but FWEB
- now supports multiple-language programming in C, C++, Fortran,
- Ratfor, and \TeX{}.},
-}
-
-@manual{ctan-fwlw,
- title = {The \texttt{fwlw} package},
- subtitle = {Get first and last words of a page},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fwlw},
- url = {https://ctan.org/pkg/fwlw},
-}
-
-@manual{ctan-g-brief,
- title = {The \texttt{g-brief} package},
- subtitle = {Letter document class},
- author = {Michael Lenzen},
- date = {2019-03-16},
- version = {4.0.3},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/g-brief},
- url = {https://ctan.org/pkg/g-brief},
-}
-
-@manual{ctan-gaceta,
- title = {The \texttt{gaceta} package},
- subtitle = {A class to typeset La Gaceta de la RSME},
- author = {Juan Luis Varona},
- date = {2016-06-24},
- version = {1.06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gaceta},
- url = {https://ctan.org/pkg/gaceta},
-}
-
-@manual{ctan-gahyph,
- title = {The \texttt{gahyph} package},
- subtitle = {Hyphenation patterns for the Irish language},
- author = {Kevin P. Scannell},
- date = {2018-10-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/hyphenation/gahyph.tex},
- url = {https://ctan.org/pkg/gahyph},
-}
-
-@manual{ctan-galois,
- title = {The \texttt{galois} package},
- subtitle = {Typeset Galois connections},
- author = {Patrick Cousot},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/galois},
- url = {https://ctan.org/pkg/galois},
-}
-
-@manual{ctan-gamebook,
- title = {The \texttt{gamebook} package},
- subtitle = {Typeset gamebooks and other interactive novels},
- author = {André Miede},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gamebook},
- url = {https://ctan.org/pkg/gamebook},
- annotation = {This package provides the means in order to lay-out
- with
- \LaTeX{}. A simple gamebook example is included with the package,
- and acts as a tutorial.},
-}
-
-@manual{ctan-gamebooklib,
- title = {The \texttt{Gamebooklib} package},
- subtitle = {Macros for setting numbered entries in shuffled order},
- author = {Robert J Lee},
- date = {2022-05-27},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gamebooklib},
- url = {https://ctan.org/pkg/gamebooklib},
-}
-
-@manual{ctan-gammas,
- title = {The \texttt{gammas} package},
- subtitle = {Template for the GAMM Archive for Students},
- author = {{GAMM Juniors} and Dominik Kern and Matthias Bartelt and Benjamin Unger and Arne Claus Hansen-Doerr},
- date = {2020-09-22},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gammas},
- url = {https://ctan.org/pkg/gammas},
- annotation = {This is the official document class for typesetting journal
- articles for (GAMMAS), the open-access online
- yournal run by the GAMM Juniors
- (GAMM = Gesellschaft für angewandte Mathematik und Mechanik).},
-}
-
-@manual{ctan-gandhi,
- title = {The \texttt{gandhi} package},
- subtitle = {Gandhi Serif and Sans fonts, with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-01},
- version = {},
- license = {nosell,lppl},
- mirror = {https://mirror.ctan.org/fonts/gandhi},
- url = {https://ctan.org/pkg/gandhi},
-}
-
-@manual{ctan-gapfill,
- title = {The \texttt{gapfill} package},
- subtitle = {Generate \LaTeX{} picture environments from PostScript output of drawing programs},
- author = {Herbert Möller},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/gapfill},
- url = {https://ctan.org/pkg/gapfill},
-}
-
-@manual{ctan-garamond-libre,
- title = {The \texttt{garamond-libre} package},
- subtitle = {The Garamond Libre font face},
- author = {Daniel Benjamin Miller and Bob Tennent},
- date = {2022-09-16},
- version = {1.4},
- license = {mit,lppl},
- mirror = {https://mirror.ctan.org/fonts/garamond-libre},
- url = {https://ctan.org/pkg/garamond-libre},
-}
-
-@manual{ctan-garamond-math,
- title = {The \texttt{garamond-math} package},
- subtitle = {An OTF math font matching EB Garamond},
- author = {Yuansheng Zhao and Xiangdong Zeng},
- date = {2022-01-03},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/garamond-math},
- url = {https://ctan.org/pkg/garamond-math},
- annotation = {Garamond-Math is an open type math font matching
-
- and
- .
- Many mathematical symbols are derived from other fonts,
- others are made from scratch.
- The metric is generated with a Python script.
- Issues, bug reports and other contributions are welcome.},
-}
-
-@manual{ctan-garamondx,
- title = {The \texttt{garamondx} package},
- subtitle = {‘Expert’-like extensions to URW Garamond, and maths italic},
- author = {Michael Sharpe},
- date = {2021-09-11},
- version = {1.21},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/garamondx},
- url = {https://ctan.org/pkg/garamondx},
-}
-
-@manual{ctan-garrigues,
- title = {The \texttt{garrigues} package},
- subtitle = {MetaPost macros for the reproduction of Garrigues' Easter nomogram},
- author = {Denis B. Roegel},
- date = {2021-08-26},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/garrigues},
- url = {https://ctan.org/pkg/garrigues},
-}
-
-@manual{ctan-gastex,
- title = {The \texttt{GasTeX} package},
- subtitle = {Graphs and Automata Simplified in \TeX{}},
- author = {Paul Gastin},
- date = {2021-03-18},
- version = {3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/gastex},
- url = {https://ctan.org/pkg/gastex},
-}
-
-@manual{ctan-gatech-thesis,
- title = {The \texttt{gatech-thesis} package},
- subtitle = {Georgia Institute of Technology thesis class},
- author = {Mitchell T. Keller and Charles Wilson},
- date = {2021-08-04},
- version = {1.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/gatech-thesis},
- url = {https://ctan.org/pkg/gatech-thesis},
-}
-
-@manual{ctan-gates,
- title = {The \texttt{gates} package},
- subtitle = {Support for writing modular and customisable code},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/gates},
- url = {https://ctan.org/pkg/gates},
-}
-
-@manual{ctan-gatherenum,
- title = {The \texttt{gatherenum} package},
- subtitle = {A crossover of align* and enumerate},
- author = {Julien Rivaud},
- date = {2019-09-29},
- version = {1.8},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gatherenum},
- url = {https://ctan.org/pkg/gatherenum},
-}
-
-@manual{ctan-gauss,
- title = {The \texttt{gauss} package},
- subtitle = {A package for Gaussian operations},
- author = {Manuel Kauers},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gauss},
- url = {https://ctan.org/pkg/gauss},
-}
-
-@manual{ctan-gb4e,
- title = {The \texttt{gb4e} package},
- subtitle = {Linguistic tools},
- author = {Hans-Peter Kolb and Craig Thiersch and Alexis Dimitriadis},
- date = {2016-06-24},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gb4e},
- url = {https://ctan.org/pkg/gb4e},
-}
-
-@manual{ctan-gbrief-creator,
- title = {The \texttt{gbrief-creator} package},
- subtitle = {A front end for the gbrief package},
- author = {Carsten Schinke},
- date = {2016-06-24},
- version = {1.000 beta},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/gbrief-creator},
- url = {https://ctan.org/pkg/gbrief-creator},
- annotation = {A small Windows front end, that creates files for use with the
- German letter macros.},
-}
-
-@manual{ctan-gbt7714,
- title = {The \texttt{gbt7714} package},
- subtitle = {BibTeX implementation of China’s bibliography style standard GB/T 7714-2015},
- author = {Zeping Lee},
- date = {2022-10-03},
- version = {2.1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/gbt7714},
- url = {https://ctan.org/pkg/gbt7714},
- annotation = {The package provides a BibTeX implementation for the Chinese
- national bibliography style standard GB/T 7714-2015.
- It consists of two files for numerical and
- author-year styles as well as a \LaTeX{} package which
- provides the citation style defined in the standard.
- The package is compatible with
- and supports language detection (Chinese and English)
- for each biblilography entry.},
-}
-
-@manual{ctan-gcard,
- title = {The \texttt{gcard} package},
- subtitle = {Arrange text on a sheet to fold into a greeting card},
- author = {George McBane},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gcard},
- url = {https://ctan.org/pkg/gcard},
- annotation = {The package provides a simple means of producing greeting cards.
- It arranges four panels onto a single sheet so that when the sheet
- is folded twice the four panels are arranged as front cover,
- inside left and right pages, and back cover. It uses the
- package for placement on the
- sheet and the package for
- the necessary rotation. The four panels are set in minipages for
- formatting by the user.},
-}
-
-@manual{ctan-gchords,
- title = {The \texttt{gchords} package},
- subtitle = {Typeset guitar chords},
- author = {Kasper Peeters},
- date = {2017-04-18},
- version = {1.20},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/gchords},
- url = {https://ctan.org/pkg/gchords},
-}
-
-@manual{ctan-gcite,
- title = {The \texttt{gcite} package},
- subtitle = {Citations in a reader-friendly style},
- author = {Matthew Tylee Atkinson and Iain Phillips},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/exptl/gcite},
- url = {https://ctan.org/pkg/gcite},
-}
-
-@manual{ctan-gckanbun,
- title = {The \texttt{gckanbun} package},
- subtitle = {Kanbun typesetting for (u)p\LaTeX{} and LuaLaTeX},
- author = {Munehiro Yamamoto},
- date = {2022-01-17},
- version = {1.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/gckanbun},
- url = {https://ctan.org/pkg/gckanbun},
-}
-
-@manual{ctan-gellmu,
- title = {The \texttt{GELLMU} package},
- subtitle = {LaTeX-like markup for writing XML documents},
- author = {William F. Hammond},
- date = {2017-04-18},
- version = {0.8.4.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/gellmu},
- url = {https://ctan.org/pkg/gellmu},
-}
-
-@manual{ctan-gen,
- title = {The \texttt{gen} package},
- subtitle = {Genealogy symbols},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/local/cm},
- url = {https://ctan.org/pkg/gen},
- annotation = {A (Metafont) font developed for Jill Knuth’s genealogy project.
- Available in three optical sizes: files ,},
-}
-
-@manual{ctan-gender,
- title = {The \texttt{gender} package},
- subtitle = {Gender neutrality for languages with grammatical gender},
- author = {Steffen Banhardt},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gender},
- url = {https://ctan.org/pkg/gender},
-}
-
-@manual{ctan-gene-logic,
- title = {The \texttt{gene-logic} package},
- subtitle = {Typeset logic formulae, etc},
- author = {Gerd Neugebauer},
- date = {2016-07-17},
- version = {1.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gene/logic},
- url = {https://ctan.org/pkg/gene-logic},
- annotation = {The package provides a facility to typeset certain logic
- formulae. It provides an environment like , a
- -like environment (), and
- several macros.},
-}
-
-@manual{ctan-genealogy,
- title = {The \texttt{genealogy} package},
- subtitle = {A compilation genealogy font},
- author = {Denis B. Roegel},
- date = {2017-02-19},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/genealogy},
- url = {https://ctan.org/pkg/genealogy},
-}
-
-@manual{ctan-genealogytree,
- title = {The \texttt{genealogytree} package},
- subtitle = {Pedigree and genealogical tree diagrams},
- author = {Thomas F. Sturm},
- date = {2023-03-09},
- version = {2.3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/genealogytree},
- url = {https://ctan.org/pkg/genealogytree},
-}
-
-@manual{ctan-genfam,
- title = {The \texttt{genfam} package},
- subtitle = {Run Metafont to produce the bitmap fonts},
- author = {Joachim Schrod},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/genfam},
- url = {https://ctan.org/pkg/genfam},
-}
-
-@manual{ctan-genindex,
- title = {The \texttt{genindex} package},
- subtitle = {Alternative index series},
- author = {Cameron Smith},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/genindex},
- url = {https://ctan.org/pkg/genindex},
-}
-
-@manual{ctan-genmpage,
- title = {The \texttt{genmpage} package},
- subtitle = {Generalization of \LaTeX{}'s minipages},
- author = {Thomas Lotze},
- date = {2016-06-24},
- version = {0.3.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/genmpage},
- url = {https://ctan.org/pkg/genmpage},
-}
-
-@manual{ctan-gensymb,
- title = {The \texttt{gensymb} package},
- subtitle = {Generic symbols for both text and math mode},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2022-10-17},
- version = {1.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gensymb},
- url = {https://ctan.org/pkg/gensymb},
-}
-
-@manual{ctan-gentabtex,
- title = {The \texttt{gentabtex} package},
- subtitle = {Python helper for creating tables},
- author = {Manuel Gutierrez Algaba},
- date = {2021-03-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/gentabtex},
- url = {https://ctan.org/pkg/gentabtex},
-}
-
-@manual{ctan-gentium-original,
- title = {The \texttt{gentium-original} package},
- subtitle = {Gentium font and support files},
- author = {Thomas A. Schmitz and Mojca Miklavec},
- date = {2022-05-26},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/gentium},
- url = {https://ctan.org/pkg/gentium-original},
-}
-
-@manual{ctan-gentium-tug,
- title = {The \texttt{gentium-tug} package},
- subtitle = {Gentium fonts (in two formats) and support files},
- author = {Karl Berry and Mojca Miklavec and Pavel Farar and Thomas A. Schmitz},
- date = {2022-06-01},
- version = {1.102},
- license = {ofl,other-free},
- mirror = {https://mirror.ctan.org/fonts/gentium-tug},
- url = {https://ctan.org/pkg/gentium-tug},
-}
-
-@manual{ctan-gentl-gr,
- title = {The \texttt{gentl-gr} package},
- subtitle = {Modern Greek translation of the Gentle Introduction to \TeX{}},
- author = {Dimitrios Filippou},
- date = {2018-01-06},
- license = {nosell},
- mirror = {https://mirror.ctan.org/info/greek/gentle},
- url = {https://ctan.org/pkg/gentl-gr},
-}
-
-@manual{ctan-gentle,
- title = {The \texttt{gentle} package},
- subtitle = {A Gentle Introduction to \TeX{}},
- author = {Michael Doob},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/gentle},
- url = {https://ctan.org/pkg/gentle},
-}
-
-@manual{ctan-gentombow,
- title = {The \texttt{gentombow} package},
- subtitle = {Generate Japanese-style crop marks},
- author = {Hironobu Yamashita},
- date = {2022-09-10},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gentombow},
- url = {https://ctan.org/pkg/gentombow},
-}
-
-@manual{ctan-geometry-de,
- title = {The \texttt{geometry-de} package},
- subtitle = {German documentation for the geometry package},
- author = {Hideo Umeki},
- date = {2020-01-04},
- version = {5.9},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/geometry},
- url = {https://ctan.org/pkg/geometry-de},
-}
-
-@manual{ctan-geometry,
- title = {The \texttt{geometry} package},
- subtitle = {Flexible and complete interface to document dimensions},
- author = {Hideo Umeki and David Carlisle},
- date = {2021-10-31},
- version = {5.9},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/geometry},
- url = {https://ctan.org/pkg/geometry},
-}
-
-@manual{ctan-geomsty,
- title = {The \texttt{geomsty} package},
- subtitle = {Macros used in typesetting a geometry book},
- author = {Silvio Levy},
- date = {2019-06-21},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/geomsty},
- url = {https://ctan.org/pkg/geomsty},
-}
-
-@manual{ctan-geophysics,
- title = {The \texttt{geophysics} package},
- subtitle = {Articles for the journal Geophysics},
- author = {Stephen Gildea},
- date = {2021-12-29},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/geophysics.sty},
- url = {https://ctan.org/pkg/geophysics},
-}
-
-@manual{ctan-georgian-stanier,
- title = {The \texttt{georgian-stanier} package},
- subtitle = {A Georgian font},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/georgian/stanier},
- url = {https://ctan.org/pkg/georgian-stanier},
-}
-
-@manual{ctan-georgian,
- title = {The \texttt{georgian} package},
- subtitle = {Support for typesetting in Georgian},
- author = {Levan Shoshiashvili},
- date = {2016-06-24},
- version = {0.9.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/georgian},
- url = {https://ctan.org/pkg/georgian},
- annotation = {The bundle provides fonts, and
- \LaTeX{} NFSS support, for typesetting text written in Georgian.},
-}
-
-@manual{ctan-geradwp,
- title = {The \texttt{geradwp} package},
- subtitle = {Document class for the Cahiers du GERAD series},
- author = {Benoit Hamel},
- date = {2022-04-25},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/geradwp},
- url = {https://ctan.org/pkg/geradwp},
- annotation = {This package provides the class,
- a class based on
- and compatible with \LaTeX{}.
- With this class, researchers at
-
- will be able to write their working paper while
- complying to all the presentation standards required
- by the series.},
-}
-
-@manual{ctan-german,
- title = {The \texttt{german} package},
- subtitle = {Support for German typography},
- author = {Bernd Raichle},
- date = {2016-06-24},
- version = {2.5e},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/german},
- url = {https://ctan.org/pkg/german},
-}
-
-@manual{ctan-germbib,
- title = {The \texttt{germbib} package},
- subtitle = {German variants of standard BibTeX styles},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/germbib},
- url = {https://ctan.org/pkg/germbib},
-}
-
-@manual{ctan-germdoc,
- title = {The \texttt{germdoc} package},
- subtitle = {A collection of documentation available in German},
- author = {{Unknown}},
- date = {2019-06-21},
- license = {collection},
- url = {https://ctan.org/pkg/germdoc},
-}
-
-@manual{ctan-germkorr,
- title = {The \texttt{germkorr} package},
- subtitle = {Change kerning for German quotation marks},
- author = {Timo Baumann},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/germkorr},
- url = {https://ctan.org/pkg/germkorr},
-}
-
-@manual{ctan-geschichtsfrkl,
- title = {The \texttt{geschichtsfrkl} package},
- subtitle = {Bib\LaTeX{} style for historians},
- author = {Jonathan Zachhuber},
- date = {2016-09-21},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/geschichtsfrkl},
- url = {https://ctan.org/pkg/geschichtsfrkl},
-}
-
-@manual{ctan-getargs,
- title = {The \texttt{getargs} package},
- subtitle = {A flexible list-parsing macro with configurable parsing character},
- author = {Steven B. Segletes},
- date = {2016-07-10},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/getargs},
- url = {https://ctan.org/pkg/getargs},
-}
-
-@manual{ctan-getfiledate,
- title = {The \texttt{getfiledate} package},
- subtitle = {Find the date of last modification of a file},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/getfiledate},
- url = {https://ctan.org/pkg/getfiledate},
- annotation = {The package fetches from the system the date of last
- modification or opening of an existing file, using the function
- (present in recent versions of pdfTeX);
- the user may specify how the date is to be presented.},
-}
-
-@manual{ctan-getitems,
- title = {The \texttt{getitems} package},
- subtitle = {Gathering items from a list-like environment},
- author = {Anders O. F. Hendrickson},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/getitems},
- url = {https://ctan.org/pkg/getitems},
- annotation = {This package provides a command
- to parse a list of data separated by tokens.
- This makes it easier to define custom environments which
- structure their data in the same way that
- or do.},
-}
-
-@manual{ctan-getmap,
- title = {The \texttt{getmap} package},
- subtitle = {Download OpenStreetMap maps for use in documents},
- author = {Josef Kleber},
- date = {2019-03-25},
- version = {1.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/getmap},
- url = {https://ctan.org/pkg/getmap},
-}
-
-@manual{ctan-getoptk,
- title = {The \texttt{getoptk} package},
- subtitle = {Define macros with sophisticated options},
- author = {Michael Le Barbier Grünewald},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/getoptk},
- url = {https://ctan.org/pkg/getoptk},
-}
-
-@manual{ctan-getrefs,
- title = {The \texttt{getrefs} package},
- subtitle = {BibTeX style to sort by "journal" entries of references},
- author = {Stefan A. Deutscher},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/getrefs},
- url = {https://ctan.org/pkg/getrefs},
-}
-
-@manual{ctan-gettitlestring,
- title = {The \texttt{gettitlestring} package},
- subtitle = {Clean up title references},
- author = {Heiko Oberdiek},
- date = {2019-12-21},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gettitlestring},
- url = {https://ctan.org/pkg/gettitlestring},
- annotation = {Cleans up the title string (removing commands) for
- packages (such as ) that
- typeset such strings.},
-}
-
-@manual{ctan-gfdl,
- title = {The \texttt{gfdl} package},
- subtitle = {Support for using GFDL in \LaTeX{}},
- author = {{Unknown}},
- date = {2023-01-07},
- version = {0.1},
- license = {gpl3+,fdl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gfdl},
- url = {https://ctan.org/pkg/gfdl},
-}
-
-@manual{ctan-gfnotation,
- title = {The \texttt{gfnotation} package},
- subtitle = {Typeset Gottlob Frege's notation in plain \TeX{}},
- author = {Udo Wermuth},
- date = {2016-06-24},
- version = {2.9},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/gfnotation},
- url = {https://ctan.org/pkg/gfnotation},
-}
-
-@manual{ctan-gfs,
- title = {The \texttt{GFS} package},
- subtitle = {The GFS font collection},
- author = {Antonis Tsolomitis and George D. Matthiopoulos and {The Greek Font Society}},
- date = {2019-06-09},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs},
- url = {https://ctan.org/pkg/gfs},
-}
-
-@manual{ctan-gfsartemisia,
- title = {The \texttt{GFS Artemisia} package},
- subtitle = {A modern Greek font design},
- author = {Antonis Tsolomitis and George D. Matthiopoulos and {The Greek Font Society}},
- date = {2017-04-18},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfsartemisia},
- url = {https://ctan.org/pkg/gfsartemisia},
-}
-
-@manual{ctan-gfsbaskerville,
- title = {The \texttt{GFS Baskerville} package},
- subtitle = {A Greek font, from one such by Baskerville},
- author = {Antonis Tsolomitis and {The Greek Font Society}},
- date = {2017-04-18},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfsbaskerville},
- url = {https://ctan.org/pkg/gfsbaskerville},
- annotation = {The font is a digital implementation of Baskerville’s
- classic Greek font, provided by the
- .
- The font covers Greek only, and \LaTeX{} support provides for the use
- of LGR encoding.},
-}
-
-@manual{ctan-gfsbodoni,
- title = {The \texttt{GFS Bodoni} package},
- subtitle = {A Greek and Latin font based on Bodoni},
- author = {Antonis Tsolomitis and {The Greek Font Society}},
- date = {2017-04-18},
- version = {1.01},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfsbodoni},
- url = {https://ctan.org/pkg/gfsbodoni},
-}
-
-@manual{ctan-gfscomplutum,
- title = {The \texttt{GFS Complutum} package},
- subtitle = {A Greek font with a long history},
- author = {Antonis Tsolomitis and George D. Matthiopoulos},
- date = {2017-04-18},
- version = {1.0},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfscomplutum},
- url = {https://ctan.org/pkg/gfscomplutum},
-}
-
-@manual{ctan-gfsdidot,
- title = {The \texttt{GFSDidot} package},
- subtitle = {A Greek font based on Didot’s work},
- author = {Antonis Tsolomitis and Alain Aubord and George D. Matthiopoulos and {The Greek Font Society}},
- date = {2019-11-13},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfsdidot},
- url = {https://ctan.org/pkg/gfsdidot},
-}
-
-@manual{ctan-gfsdidotclassic,
- title = {The \texttt{GFSDidotClassic} package},
- subtitle = {The classic version of GFSDidot},
- author = {Antonis Tsolomitis},
- date = {2019-11-15},
- version = {001.001},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfsdidotclassic},
- url = {https://ctan.org/pkg/gfsdidotclassic},
-}
-
-@manual{ctan-gfsneohellenic,
- title = {The \texttt{GFS NeoHellenic} package},
- subtitle = {A font in the Neo-Hellenic style},
- author = {Antonis Tsolomitis and {The Greek Font Society}},
- date = {2022-07-20},
- version = {1.02},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfsneohellenic},
- url = {https://ctan.org/pkg/gfsneohellenic},
-}
-
-@manual{ctan-gfsneohellenicmath,
- title = {The \texttt{GFSNeohellenicMath} package},
- subtitle = {A math font in the Neo-Hellenic style},
- author = {Antonis Tsolomitis},
- date = {2022-07-18},
- version = {1.02},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/gfsneohellenicmath},
- url = {https://ctan.org/pkg/gfsneohellenicmath},
-}
-
-@manual{ctan-gfsporson,
- title = {The \texttt{GFS Porson} package},
- subtitle = {A Greek font, originally from Porson},
- author = {Antonis Tsolomitis and {The Greek Font Society}},
- date = {2017-04-18},
- version = {1.01},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfsporson},
- url = {https://ctan.org/pkg/gfsporson},
-}
-
-@manual{ctan-gfssolomos,
- title = {The \texttt{GFS Solomos} package},
- subtitle = {A Greek-alphabet font},
- author = {Antonis Tsolomitis},
- date = {2017-04-18},
- version = {1.0},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/greek/gfs/gfssolomos},
- url = {https://ctan.org/pkg/gfssolomos},
-}
-
-@manual{ctan-ghab,
- title = {The \texttt{ghab} package},
- subtitle = {Typeset ghab boxes in \LaTeX{}},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ghab},
- url = {https://ctan.org/pkg/ghab},
- annotation = {The package defines a command that will typeset
- its argument in a box with a decorated frame. The width of the
- box may be set using an optional argument.},
-}
-
-@manual{ctan-ghostscript,
- title = {The \texttt{ghostscript} package},
- subtitle = {Freely available PostScript interpreter},
- author = {L. Peter Deutsch},
- date = {2017-04-18},
- license = {collection},
- url = {https://ctan.org/pkg/ghostscript},
-}
-
-@manual{ctan-ghsystem,
- title = {The \texttt{ghsystem} package},
- subtitle = {Globally harmonised system of chemical (etc) naming},
- author = {Clemens Niederberger},
- date = {2020-02-17},
- version = {4.8c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ghsystem},
- url = {https://ctan.org/pkg/ghsystem},
-}
-
-@manual{ctan-gillcm,
- title = {The \texttt{gillcm} package},
- subtitle = {Alternative unslanted italic Computer Modern fonts},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.1},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/gillcm},
- url = {https://ctan.org/pkg/gillcm},
-}
-
-@manual{ctan-gillius,
- title = {The \texttt{gillius} package},
- subtitle = {Gillius fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-30},
- version = {},
- license = {gpl2+,lppl},
- mirror = {https://mirror.ctan.org/fonts/gillius},
- url = {https://ctan.org/pkg/gillius},
-}
-
-@manual{ctan-gincltex,
- title = {The \texttt{gincltex} package},
- subtitle = {Include \TeX{} files as graphics (.tex support for \textbackslash{}includegraphics)},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gincltex},
- url = {https://ctan.org/pkg/gincltex},
-}
-
-@manual{ctan-gindex,
- title = {The \texttt{gindex} package},
- subtitle = {Formatting indexes},
- author = {Javier Bezos López},
- date = {2019-10-07},
- version = {0.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gindex},
- url = {https://ctan.org/pkg/gindex},
-}
-
-@manual{ctan-ginpenc,
- title = {The \texttt{ginpenc} package},
- subtitle = {Modification of inputenc for German},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ginpenc},
- url = {https://ctan.org/pkg/ginpenc},
- annotation = {If the is used and German
- umlauts are input directly, they are converted to the LICR
- representation (etc.). This breaks the sort
- algorithm of , for
- instance. Ginpenc converts umlauts and the sharp-s to the short
- forms defined by , e.g.,
- instead, if the text is typeset in German.},
-}
-
-@manual{ctan-git-latexdiff,
- title = {The \texttt{git-latexdiff} package},
- subtitle = {Call latexdiff on two Git revisions of a file},
- author = {Matthieu Moy},
- date = {2020-04-15},
- version = {1.6.0},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/support/git-latexdiff},
- url = {https://ctan.org/pkg/git-latexdiff},
- annotation = {git-latexdiff is a tool to graphically visualize differences
- between different versions of a \LaTeX{} file. Technically, it is a
- wrapper around git and .},
-}
-
-@manual{ctan-gitfile-info,
- title = {The \texttt{gitfile-info} package},
- subtitle = {Get git metadata for a specific file},
- author = {André Hilbig},
- date = {2019-08-21},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/gitfile-info},
- url = {https://ctan.org/pkg/gitfile-info},
-}
-
-@manual{ctan-gitinfo,
- title = {The \texttt{gitinfo} package},
- subtitle = {Access metadata from the git distributed version control system},
- author = {Brent Longborough and {The \LaTeX{} Project Team}},
- date = {2021-12-20},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gitinfo},
- url = {https://ctan.org/pkg/gitinfo},
-}
-
-@manual{ctan-gitinfo2,
- title = {The \texttt{gitinfo2} package},
- subtitle = {Access metadata from the git distributed version control system},
- author = {Brent Longborough and {The \LaTeX{} Project Team}},
- date = {2021-12-20},
- version = {2.0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gitinfo2},
- url = {https://ctan.org/pkg/gitinfo2},
-}
-
-@manual{ctan-gitlog,
- title = {The \texttt{gitlog} package},
- subtitle = {Typesetting git changelogs},
- author = {Brent Longborough and {The \LaTeX{} Project Team}},
- date = {2021-12-20},
- version = {0.0.beta},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gitlog},
- url = {https://ctan.org/pkg/gitlog},
-}
-
-@manual{ctan-gitstatus,
- title = {The \texttt{gitstatus} package},
- subtitle = {Include Git information in the document as watermark or via variables},
- author = {Maximilian Gruber},
- date = {2022-10-16},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gitstatus},
- url = {https://ctan.org/pkg/gitstatus},
-}
-
-@manual{ctan-gitver,
- title = {The \texttt{gitver} package},
- subtitle = {Get the current git hash of a project and typeset it in the document},
- author = {Charles Baynham},
- date = {2022-07-17},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gitver},
- url = {https://ctan.org/pkg/gitver},
-}
-
-@manual{ctan-gkpmac,
- title = {The \texttt{gkpmac} package},
- subtitle = {The macros used in "Concrete Mathematics"},
- author = {Donald E. Knuth},
- date = {2016-11-06},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/gkpmac.tex},
- url = {https://ctan.org/pkg/gkpmac},
-}
-
-@manual{ctan-gl-tree,
- title = {The \texttt{gl-tree} package},
- subtitle = {Linguistic trees with a preprocessor},
- author = {Greg Lee},
- date = {2016-06-24},
- version = {1.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/tree},
- url = {https://ctan.org/pkg/gl-tree},
-}
-
-@manual{ctan-gladtex,
- title = {The \texttt{GladTeX} package},
- subtitle = {\LaTeX{} equations in HTML},
- author = {Martin G. Gulbrandsen and Sebastian Humenda},
- date = {2018-09-19},
- version = {3.0.0},
- license = {lgpl3},
- mirror = {https://mirror.ctan.org/support/gladtex},
- url = {https://ctan.org/pkg/gladtex},
-}
-
-@manual{ctan-gleitobjekte,
- title = {The \texttt{gleitobjekte} package},
- subtitle = {Tutorial from a DANTE meeting in November 1997},
- author = {Axel Reichert},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/german/gleitobjekte},
- url = {https://ctan.org/pkg/gleitobjekte},
-}
-
-@manual{ctan-glhyph,
- title = {The \texttt{glhyph} package},
- subtitle = {Hyphenation patterns for Galician},
- author = {Javier Múgica de Rivera},
- date = {2016-11-05},
- version = {2.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/hyphenation/glhyph},
- url = {https://ctan.org/pkg/glhyph},
-}
-
-@manual{ctan-globalvals,
- title = {The \texttt{globalvals} package},
- subtitle = {Declare global variables},
- author = {Charles Baynham},
- date = {2019-02-06},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/globalvals},
- url = {https://ctan.org/pkg/globalvals},
-}
-
-@manual{ctan-glonti,
- title = {The \texttt{glonti} package},
- subtitle = {Virtual fonts for T2A-encoded fonts},
- author = {Nana Glonti},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/glonti},
- url = {https://ctan.org/pkg/glonti},
- annotation = {The package ‘makes’ a T2A-encoded font family from the
- and the
- fonts, by means of a set of
- virtual fonts.},
-}
-
-@manual{ctan-glosmathtools,
- title = {The \texttt{glosmathtools} package},
- subtitle = {Mathematical nomenclature tools based on the glossaries package},
- author = {Francis Gagnon},
- date = {2020-07-19},
- version = {1.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glosmathtools},
- url = {https://ctan.org/pkg/glosmathtools},
-}
-
-@manual{ctan-gloss-occitan,
- title = {The \texttt{gloss-occitan} package},
- subtitle = {Polyglossia support for Occitan},
- author = {Cédric Valmary},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gloss-occitan},
- url = {https://ctan.org/pkg/gloss-occitan},
-}
-
-@manual{ctan-gloss,
- title = {The \texttt{gloss} package},
- subtitle = {Create glossaries using BibTeX},
- author = {Jose Luis Diaz de Arriba and Javier Bezos López},
- date = {2016-06-24},
- version = {1.5.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gloss},
- url = {https://ctan.org/pkg/gloss},
- annotation = {A glossary package using BibTeX with replaced by
- .},
-}
-
-@manual{ctan-glossaries-accsupp,
- title = {The \texttt{glossaries-accsupp} package},
- subtitle = {Accessibility support for glossaries},
- author = {Nicola Talbot},
- date = {2020-02-15},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries},
- url = {https://ctan.org/pkg/glossaries-accsupp},
-}
-
-@manual{ctan-glossaries-danish,
- title = {The \texttt{glossaries-danish} package},
- subtitle = {Danish language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-danish},
- url = {https://ctan.org/pkg/glossaries-danish},
- annotation = {Danish language module for package.},
-}
-
-@manual{ctan-glossaries-dutch,
- title = {The \texttt{glossaries-dutch} package},
- subtitle = {Dutch language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-dutch},
- url = {https://ctan.org/pkg/glossaries-dutch},
- annotation = {Dutch language module for package.},
-}
-
-@manual{ctan-glossaries-english,
- title = {The \texttt{glossaries-english} package},
- subtitle = {English language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-english},
- url = {https://ctan.org/pkg/glossaries-english},
- annotation = {English language module for package.},
-}
-
-@manual{ctan-glossaries-estonian,
- title = {The \texttt{glossaries-estonian} package},
- subtitle = {Estonian language module for glossaries package},
- author = {Kristian Kankainen},
- date = {2019-02-05},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-estonian},
- url = {https://ctan.org/pkg/glossaries-estonian},
- annotation = {This package provides the Estonian language module for
- the package.},
-}
-
-@manual{ctan-glossaries-extra,
- title = {The \texttt{glossaries-extra} package},
- subtitle = {An extension to the glossaries package},
- author = {Nicola Talbot},
- date = {2022-11-09},
- version = {1.50},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-extra},
- url = {https://ctan.org/pkg/glossaries-extra},
-}
-
-@manual{ctan-glossaries-finnish,
- title = {The \texttt{glossaries-finnish} package},
- subtitle = {Finnish language module for glossaries package},
- author = {Tuomas Välimäki},
- date = {2019-05-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-finnish},
- url = {https://ctan.org/pkg/glossaries-finnish},
- annotation = {Finnish language module for package.},
-}
-
-@manual{ctan-glossaries-french,
- title = {The \texttt{glossaries-french} package},
- subtitle = {French language module for glossaries package},
- author = {Nicola Talbot and Denis Bitouzé and Vincent Belaïche},
- date = {2017-01-04},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-french},
- url = {https://ctan.org/pkg/glossaries-french},
- annotation = {French language module for package.},
-}
-
-@manual{ctan-glossaries-german,
- title = {The \texttt{glossaries-german} package},
- subtitle = {German language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-german},
- url = {https://ctan.org/pkg/glossaries-german},
- annotation = {German language module for the
- package.},
-}
-
-@manual{ctan-glossaries-irish,
- title = {The \texttt{glossaries-irish} package},
- subtitle = {Irish language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-irish},
- url = {https://ctan.org/pkg/glossaries-irish},
- annotation = {Irish language module for package.},
-}
-
-@manual{ctan-glossaries-italian,
- title = {The \texttt{glossaries-italian} package},
- subtitle = {Italian language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-italian},
- url = {https://ctan.org/pkg/glossaries-italian},
- annotation = {Italian language module for
- package.},
-}
-
-@manual{ctan-glossaries-magyar,
- title = {The \texttt{glossaries-magyar} package},
- subtitle = {Magyar language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-magyar},
- url = {https://ctan.org/pkg/glossaries-magyar},
- annotation = {Magyar language module for package.},
-}
-
-@manual{ctan-glossaries-nynorsk,
- title = {The \texttt{glossaries-nynorsk} package},
- subtitle = {Nynorsk language module for the glossaries package},
- author = {Eirik Haustveit},
- date = {2020-05-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-nynorsk},
- url = {https://ctan.org/pkg/glossaries-nynorsk},
- annotation = {Norwegian Nynorsk language module for the
- package.},
-}
-
-@manual{ctan-glossaries-polish,
- title = {The \texttt{glossaries-polish} package},
- subtitle = {Polish language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-polish},
- url = {https://ctan.org/pkg/glossaries-polish},
- annotation = {Polish language module for the
- package.},
-}
-
-@manual{ctan-glossaries-portuges,
- title = {The \texttt{glossaries-portuges} package},
- subtitle = {Portuges language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-portuges},
- url = {https://ctan.org/pkg/glossaries-portuges},
- annotation = {Portuges language module for package.},
-}
-
-@manual{ctan-glossaries-serbian,
- title = {The \texttt{glossaries-serbian} package},
- subtitle = {Serbian language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-serbian},
- url = {https://ctan.org/pkg/glossaries-serbian},
- annotation = {Serbian language module for package.},
-}
-
-@manual{ctan-glossaries-slovene,
- title = {The \texttt{glossaries-slovene} package},
- subtitle = {Slovene language module for glossaries package},
- author = {Deni Bačić},
- date = {2019-05-26},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-slovene},
- url = {https://ctan.org/pkg/glossaries-slovene},
- annotation = {Slovene language module for package.},
-}
-
-@manual{ctan-glossaries-spanish,
- title = {The \texttt{glossaries-spanish} package},
- subtitle = {Spanish language module for glossaries package},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-spanish},
- url = {https://ctan.org/pkg/glossaries-spanish},
- annotation = {Spanish language module for package.},
-}
-
-@manual{ctan-glossaries-swedish,
- title = {The \texttt{glossaries-swedish} package},
- subtitle = {Swedish language module for glossaries package},
- author = {Robert Nyqvist},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries-swedish},
- url = {https://ctan.org/pkg/glossaries-swedish},
- annotation = {Swedish language module for the
- package.},
-}
-
-@manual{ctan-glossaries,
- title = {The \texttt{glossaries} package},
- subtitle = {Create glossaries and lists of acronyms},
- author = {Nicola Talbot},
- date = {2022-11-03},
- version = {4.52},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/glossaries},
- url = {https://ctan.org/pkg/glossaries},
-}
-
-@manual{ctan-glossary,
- title = {The \texttt{glossary} package},
- subtitle = {Create a glossary},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {2.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/glossary},
- url = {https://ctan.org/pkg/glossary},
-}
-
-@manual{ctan-glosstex,
- title = {The \texttt{glosstex} package},
- subtitle = {Prepare glossaries in \LaTeX{}},
- author = {Volkan Yavuz},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/glosstex},
- url = {https://ctan.org/pkg/glosstex},
- annotation = {GlossTeX is a tool for the automatic preparation of
- glossaries, lists of acronyms and sorted lists in general
- for use with \LaTeX{} and MakeIndex. GlossTeX combines the
- functionality of and
- and provides some
- new features. Various binaries are available in the bin
- subdirectory.},
-}
-
-@manual{ctan-glotex,
- title = {The \texttt{glotex} package},
- subtitle = {A glossary processor},
- author = {R L Aurbach and Fred Hantelmann and Stefano Ianigro},
- date = {2016-06-24},
- version = {2.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/indexing/glo+idxtex},
- url = {https://ctan.org/pkg/glotex},
-}
-
-@manual{ctan-gmdoc-enhance,
- title = {The \texttt{gmdoc-enhance} package},
- subtitle = {Some enhancements to the gmdoc package},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gmdoc-enhance},
- url = {https://ctan.org/pkg/gmdoc-enhance},
- annotation = {This package provides some enhancements for the
- package:
- nicer formatting for multiple line inline comments,
- an ability to "comment out" some code, and a macro to input
- other files in "normal" \LaTeX{} mode.},
-}
-
-@manual{ctan-gmdoc,
- title = {The \texttt{gmdoc} package},
- subtitle = {Documentation of \LaTeX{} packages},
- author = {Grzegorz Murzynowski},
- date = {2018-01-06},
- version = {0.993},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gmdoc},
- url = {https://ctan.org/pkg/gmdoc},
-}
-
-@manual{ctan-gmeometric,
- title = {The \texttt{gmeometric} package},
- subtitle = {Change page size wherever it's safe},
- author = {Grzegorz Murzynowski},
- date = {2016-06-24},
- version = {0.73},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/gmeometric},
- url = {https://ctan.org/pkg/gmeometric},
-}
-
-@manual{ctan-gmiflink,
- title = {The \texttt{gmiflink} package},
- subtitle = {Simplify usage of \textbackslash{}hypertarget and \textbackslash{}hyperlink},
- author = {Grzegorz Murzynowski},
- date = {2018-01-06},
- version = {0.97},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gmiflink},
- url = {https://ctan.org/pkg/gmiflink},
- annotation = {Three -based macros that
- simplify usage of
- and : one argument instead of the same one
- twice. Also and which
- typeset plain text instead of generating an error or printing
- ‘??’ if there is no respective hypertarget
- or label.},
-}
-
@manual{ctan-gmp,
title = {The \texttt{gmp} package},
subtitle = {Enable integration between MetaPost pictures and \LaTeX{}},
@@ -29034,12123 +13,6 @@
inside arguments to commands, including .},
}
-@manual{ctan-gmutils,
- title = {The \texttt{gmutils} package},
- subtitle = {Support macros for other packages},
- author = {Grzegorz Murzynowski},
- date = {2016-06-24},
- version = {0.996},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gmutils},
- url = {https://ctan.org/pkg/gmutils},
-}
-
-@manual{ctan-gmverb,
- title = {The \texttt{gmverb} package},
- subtitle = {A variant of \LaTeX{} \textbackslash{}verb, verbatim and shortvrb},
- author = {Grzegorz Murzynowski},
- date = {2016-06-24},
- version = {0.98},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gmverb},
- url = {https://ctan.org/pkg/gmverb},
-}
-
-@manual{ctan-gmverse,
- title = {The \texttt{gmverse} package},
- subtitle = {A package for typesetting (short) poems},
- author = {Grzegorz Murzynowski},
- date = {2018-01-06},
- version = {0.73},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gmverse},
- url = {https://ctan.org/pkg/gmverse},
- annotation = {A redefinition of the environment to make the
- command optional for line ends and to give it a
- possibility of optical centering and `right-hanging' alignment of
- lines broken because of length.},
-}
-
-@manual{ctan-gnu-freefont,
- title = {The \texttt{gnu-freefont} package},
- subtitle = {A Unicode font, with rather wide coverage},
- author = {Steve White},
- date = {2017-04-18},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/fonts/gnu-freefont},
- url = {https://ctan.org/pkg/gnu-freefont},
-}
-
-@manual{ctan-gnuplot,
- title = {The \texttt{gnuplot} package},
- subtitle = {General purpose plotting program},
- author = {Lars Hecking and Thomas Williams and Colin Kelley},
- date = {2019-02-09},
- version = {5.2.6},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/gnuplot/5.2.6},
- url = {https://ctan.org/pkg/gnuplot},
-}
-
-@manual{ctan-gnuplottex,
- title = {The \texttt{gnuplottex} package},
- subtitle = {Embed Gnuplot commands in \LaTeX{} documents},
- author = {Lars Kotthoff},
- date = {2020-04-06},
- version = {0.9.5},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gnuplottex},
- url = {https://ctan.org/pkg/gnuplottex},
-}
-
-@manual{ctan-go-make,
- title = {The \texttt{go-make} package},
- subtitle = {A make variant for \LaTeX{} documents},
- author = {David J. Musliner},
- date = {2016-06-24},
- version = {3.6},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/go},
- url = {https://ctan.org/pkg/go-make},
-}
-
-@manual{ctan-go,
- title = {The \texttt{go} package},
- subtitle = {Fonts and macros for typesetting go games},
- author = {Hanna Kołodziejska},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/go},
- url = {https://ctan.org/pkg/go},
-}
-
-@manual{ctan-gobble,
- title = {The \texttt{gobble} package},
- subtitle = {More gobble macros for PlainTeX and \LaTeX{}},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/gobble},
- url = {https://ctan.org/pkg/gobble},
-}
-
-@manual{ctan-goblin,
- title = {The \texttt{goblin} package},
- subtitle = {Tolkien's goblin alphabet},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/goblin},
- url = {https://ctan.org/pkg/goblin},
-}
-
-@manual{ctan-gofonts,
- title = {The \texttt{gofonts} package},
- subtitle = {GoSans and GoMono fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-12},
- version = {},
- license = {other-free,lppl},
- mirror = {https://mirror.ctan.org/fonts/gofonts},
- url = {https://ctan.org/pkg/gofonts},
-}
-
-@manual{ctan-gost,
- title = {The \texttt{gost} package},
- subtitle = {BibTeX styles to format according to GOST},
- author = {Maksym Polyakov and Igor A. Kotelnikov},
- date = {2021-02-11},
- version = {1.2l},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/gost},
- url = {https://ctan.org/pkg/gost},
-}
-
-@manual{ctan-gothic,
- title = {The \texttt{gothic} package},
- subtitle = {A collection of old German-style fonts},
- author = {Yannis Haralambous and Andreas Schrell and Berthold Ludewig and Torsten Bronger and Daniel Taupin},
- date = {2020-12-15},
- license = {collection},
- mirror = {https://mirror.ctan.org/fonts/gothic},
- url = {https://ctan.org/pkg/gothic},
-}
-
-@manual{ctan-gotoh,
- title = {The \texttt{gotoh} package},
- subtitle = {An implementation of the Gotoh sequence alignment algorithm},
- author = {Takuto Asakura},
- date = {2017-07-07},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gotoh},
- url = {https://ctan.org/pkg/gotoh},
-}
-
-@manual{ctan-gpdata,
- title = {The \texttt{gpdata} package},
- subtitle = {Cause MetaPost graph package to ignore '\#'-comments},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- version = {1.04},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/misc/gpdata.mp},
- url = {https://ctan.org/pkg/gpdata},
-}
-
-@manual{ctan-gplot,
- title = {The \texttt{gplot} package},
- subtitle = {CGM-based graphics support},
- author = {Phil Andrews},
- date = {2019-02-03},
- version = {4.3b2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/gplot},
- url = {https://ctan.org/pkg/gplot},
-}
-
-@manual{ctan-grabbox,
- title = {The \texttt{grabbox} package},
- subtitle = {Read an argument into a box and execute the code afterwards},
- author = {Jonathan P. Spratte},
- date = {2022-12-07},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grabbox},
- url = {https://ctan.org/pkg/grabbox},
- annotation = {The package provides the command , which grabs
- an argument into a box and executes the code afterwards.},
-}
-
-@manual{ctan-gradback,
- title = {The \texttt{gradback} package},
- subtitle = {Gradient backgrounds for dvips output},
- author = {Bjørn Pedersen},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gradback},
- url = {https://ctan.org/pkg/gradback},
-}
-
-@manual{ctan-gradient-text,
- title = {The \texttt{gradient-text} package},
- subtitle = {Decorate text with linear gradient colors},
- author = {Sicheng Du},
- date = {2023-01-24},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gradient-text},
- url = {https://ctan.org/pkg/gradient-text},
-}
-
-@manual{ctan-gradientframe,
- title = {The \texttt{gradientframe} package},
- subtitle = {Simple gradient frames around objects},
- author = {Christian Raue},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gradientframe},
- url = {https://ctan.org/pkg/gradientframe},
- annotation = {The package provides a means of drawing graded frames around
- objects. The gradients of the frames are drawn using the
- package.},
-}
-
-@manual{ctan-grading-scheme,
- title = {The \texttt{grading-scheme} package},
- subtitle = {Typeset grading schemes in tabular format},
- author = {Maximilian Keßler},
- date = {2022-03-08},
- version = {0.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grading-scheme},
- url = {https://ctan.org/pkg/grading-scheme},
-}
-
-@manual{ctan-gradstudentresume,
- title = {The \texttt{gradstudentresume} package},
- subtitle = {A generic template for graduate student resumes},
- author = {Anagha Kumar},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gradstudentresume},
- url = {https://ctan.org/pkg/gradstudentresume},
-}
-
-@manual{ctan-grafcet,
- title = {The \texttt{grafcet} package},
- subtitle = {Draw Grafcet/SFC with TikZ},
- author = {Robert Papanicola},
- date = {2018-01-17},
- version = {1.3.5},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/grafcet},
- url = {https://ctan.org/pkg/grafcet},
-}
-
-@manual{ctan-grafik,
- title = {The \texttt{grafik} package},
- subtitle = {EPS graphics under Windows},
- author = {Marco Dübendorfer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/german/grafik/eps_anleitung.html},
- url = {https://ctan.org/pkg/grafik},
-}
-
-@manual{ctan-grant,
- title = {The \texttt{grant} package},
- subtitle = {Classes for formatting federal grant proposals},
- author = {Jonathan Karr},
- date = {2020-11-04},
- version = {0.0.5},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grant},
- url = {https://ctan.org/pkg/grant},
-}
-
-@manual{ctan-graph35,
- title = {The \texttt{graph35} package},
- subtitle = {Draw keys and screen items of several Casio calculators},
- author = {Louis Paternault},
- date = {2022-11-29},
- version = {0.1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/graph35},
- url = {https://ctan.org/pkg/graph35},
-}
-
-@manual{ctan-graphbase,
- title = {The \texttt{GraphBase} package},
- subtitle = {A platform for combinatorial algorithms},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/support/graphbase},
- url = {https://ctan.org/pkg/graphbase},
- annotation = {A program developed (presumably) in pursuit of work
- on ‘’.},
-}
-
-@manual{ctan-graphbox,
- title = {The \texttt{graphbox} package},
- subtitle = {Extend graphicx to improve placement of graphics},
- author = {Niklas Beisert},
- date = {2018-01-17},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphbox},
- url = {https://ctan.org/pkg/graphbox},
-}
-
-@manual{ctan-graphconv,
- title = {The \texttt{GraphConv} package},
- subtitle = {Convert graph files to PSTricks},
- author = {Martin Chicoine},
- date = {2018-09-15},
- version = {1.01},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/graphconv},
- url = {https://ctan.org/pkg/graphconv},
- annotation = {is a very easy to
- use program to create simple graphs. GraphConv is a small Windows
- program to convert Graph files to
- code.},
-}
-
-@manual{ctan-grapher,
- title = {The \texttt{grapher} package},
- subtitle = {Create graphs, state machine and data flow diagrams},
- author = {Manuel Gutierrez Algaba},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/grapher},
- url = {https://ctan.org/pkg/grapher},
- annotation = {Grapher is a python script; you provide it with a specification
- (in python) of a diagram, and grapher emits code
- that can be translated to \LaTeX{} and used to typeset the diagram in
- your document.},
-}
-
-@manual{ctan-graphfig,
- title = {The \texttt{graphfig} package},
- subtitle = {Simpler graphic, subfigure and float},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio},
- url = {https://ctan.org/pkg/graphfig},
-}
-
-@manual{ctan-graphicp,
- title = {The \texttt{graphicp} package},
- subtitle = {An enhanced version of graphics},
- author = {Péter Szabó},
- date = {2016-06-24},
- version = {0.12},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/exptl/graphicp},
- url = {https://ctan.org/pkg/graphicp},
-}
-
-@manual{ctan-graphics-cfg,
- title = {The \texttt{graphics-cfg} package},
- subtitle = {Sample configuration files for \LaTeX{} color and graphics},
- author = {{The \LaTeX{} Project Team}},
- date = {2017-04-18},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphics-cfg},
- url = {https://ctan.org/pkg/graphics-cfg},
-}
-
-@manual{ctan-graphics-def,
- title = {The \texttt{graphics-def} package},
- subtitle = {Colour and graphics option files},
- author = {{The \LaTeX{} Project Team} and Joseph Wright},
- date = {2022-09-23},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphics-def},
- url = {https://ctan.org/pkg/graphics-def},
-}
-
-@manual{ctan-graphics-pln,
- title = {The \texttt{graphics-pln} package},
- subtitle = {LaTeX-style graphics for Plain \TeX{} users},
- author = {David Carlisle},
- date = {2022-12-02},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/plain/graphics},
- url = {https://ctan.org/pkg/graphics-pln},
-}
-
-@manual{ctan-graphics,
- title = {The \texttt{graphics} package},
- subtitle = {Standard \LaTeX{} graphics},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.4e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/graphics},
-}
-
-@manual{ctan-graphicscache,
- title = {The \texttt{graphicscache} package},
- subtitle = {Cache includegraphics calls},
- author = {Max Schwarz},
- date = {2022-12-20},
- version = {0.4},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphicscache},
- url = {https://ctan.org/pkg/graphicscache},
-}
-
-@manual{ctan-graphicx-psmin,
- title = {The \texttt{graphicx-psmin} package},
- subtitle = {Reduce size of PostScript files by not repeating images},
- author = {Hendri Adriaens},
- date = {2020-11-14},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphicx-psmin},
- url = {https://ctan.org/pkg/graphicx-psmin},
-}
-
-@manual{ctan-graphicx,
- title = {The \texttt{graphicx} package},
- subtitle = {Enhanced support for graphics},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-11-12},
- version = {1.2d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/graphicx},
-}
-
-@manual{ctan-graphicxbox,
- title = {The \texttt{graphicxbox} package},
- subtitle = {Insert a graphical image as a background},
- author = {Donald P. Story},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphicxbox},
- url = {https://ctan.org/pkg/graphicxbox},
- annotation = {The package defines two new commands and
- , which are companions to
- and of the
- . The
- command inserts a graphical image
- as a background rather than a background color, while
- does the same thing, but also draws a colored frame around the box.},
-}
-
-@manual{ctan-graphicxpsd,
- title = {The \texttt{graphicxpsd} package},
- subtitle = {Adobe Photoshop Data format (PSD) support for graphicx package},
- author = {Munehiro Yamamoto},
- date = {2021-01-06},
- version = {1.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphicxpsd},
- url = {https://ctan.org/pkg/graphicxpsd},
- annotation = {This package provides Adobe Photoshop Data format (PSD) support
- for the package with the
- (Darwin/macOS) or (ImageMagick)
- command.},
-}
-
-@manual{ctan-graphicxsp,
- title = {The \texttt{GraphicxSP} package},
- subtitle = {An extension of the graphicx package},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphicxsp},
- url = {https://ctan.org/pkg/graphicxsp},
-}
-
-@manual{ctan-graphpap,
- title = {The \texttt{graphpap} package},
- subtitle = {For producing graph paper},
- author = {Leslie Lamport and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.0c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/graphpap},
-}
-
-@manual{ctan-graphpaper,
- title = {The \texttt{graphpaper} package},
- subtitle = {A \LaTeX{} class to generate several types of graph papers},
- author = {Francesco Biccari and Claudio Beccari},
- date = {2022-04-23},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphpaper},
- url = {https://ctan.org/pkg/graphpaper},
-}
-
-@manual{ctan-graphtex,
- title = {The \texttt{GraphTeX} package},
- subtitle = {Graphs theory and related diagrams in a \TeX{} document},
- author = {John Pliam},
- date = {2016-06-24},
- version = {1.0.1beta},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/graphtex},
- url = {https://ctan.org/pkg/graphtex},
- annotation = {GraphTeX is a Perl library (graphtex.pl) along with a preprocessor
- (gt) which can be used to generate
- commands producing graphs and related diagrams inside a \TeX{}
- document. A graph can be "typeset" by writing a .gt source file
- which resembles a matrix environment.},
-}
-
-@manual{ctan-graphviz,
- title = {The \texttt{graphviz} package},
- subtitle = {Write graphviz (dot+neato) inline in \LaTeX{} documents},
- author = {Derek Rayside},
- date = {2017-04-18},
- version = {0.94},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphviz},
- url = {https://ctan.org/pkg/graphviz},
-}
-
-@manual{ctan-gray,
- title = {The \texttt{gray} package},
- subtitle = {Fonts for gray-scales},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/cm/utilityfonts/gray},
- url = {https://ctan.org/pkg/gray},
-}
-
-@manual{ctan-grayhints,
- title = {The \texttt{grayhints} package},
- subtitle = {Produce ‘gray hints’ to a variable text field},
- author = {Donald P. Story},
- date = {2018-11-03},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grayhints},
- url = {https://ctan.org/pkg/grayhints},
-}
-
-@manual{ctan-grchyph,
- title = {The \texttt{grchyph} package},
- subtitle = {Hyphenation for classical Greek, under XeTeX},
- author = {Yves Codet},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/hyphenation/grchyph},
- url = {https://ctan.org/pkg/grchyph},
- annotation = {These patterns are written “in Unicode” to work
- with ; they will
- not work with a standard \TeX{} installation.},
-}
-
-@manual{ctan-greek-fontenc,
- title = {The \texttt{greek-fontenc} package},
- subtitle = {LICR macros and encoding definition files for Greek},
- author = {Günter Milde},
- date = {2023-03-09},
- version = {2.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/greek/greek-fontenc},
- url = {https://ctan.org/pkg/greek-fontenc},
- annotation = {The package provides Greek LICR macro definitions and
- encoding definition files for Greek text font encodings
- for use with .},
-}
-
-@manual{ctan-greek-inputenc,
- title = {The \texttt{greek-inputenc} package},
- subtitle = {Greek encoding support for inputenc},
- author = {Apostolos Syropoulos and Dimitrios Filippou and Günter Milde},
- date = {2023-03-02},
- version = {1.8.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/greek/greek-inputenc},
- url = {https://ctan.org/pkg/greek-inputenc},
- annotation = {The bundle provides UTF-8, Macintosh Greek encoding and ISO 8859-7
- definition files for use with
- .},
-}
-
-@manual{ctan-greek-makeindex,
- title = {The \texttt{greek-makeindex} package},
- subtitle = {Makeindex working with Greek},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- version = {2.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/greek/mkgrkindex},
- url = {https://ctan.org/pkg/greek-makeindex},
- annotation = {is resolutely stuck with
- Latin-based alphabets, so will not deal with Greek indexes,
- unaided. This package provides a Perl script that will transmute
- the index of a Greek document in such a way that makeindex will
- sort the entries according to the rules of the Greek alphabet.},
-}
-
-@manual{ctan-greek4cbc,
- title = {The \texttt{greek4cbc} package},
- subtitle = {A Greek font from 394BC},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/greek4cbc},
- url = {https://ctan.org/pkg/greek4cbc},
- annotation = {Provides a Greek monumental font as
- used on a stele in Athens in 394BC. The font consists of
- majuscules only and is in Adobe Type 1 format. This is one of a
- series of fonts.},
-}
-
-@manual{ctan-greek6cbc,
- title = {The \texttt{greek6cbc} package},
- subtitle = {A Greek font from the sixth century BC},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/greek6cbc},
- url = {https://ctan.org/pkg/greek6cbc},
-}
-
-@manual{ctan-greekctr,
- title = {The \texttt{greekctr} package},
- subtitle = {Represent counters by letters of the Greek alphabet},
- author = {Jörg Knappen},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen},
- url = {https://ctan.org/pkg/greekctr},
-}
-
-@manual{ctan-greekdates,
- title = {The \texttt{greekdates} package},
- subtitle = {Provides ancient Greek day and month names, dates, etc},
- author = {Antonis Tsolomitis},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/greekdates},
- url = {https://ctan.org/pkg/greekdates},
- annotation = {The package provides easy access to ancient Greek names of days
- and months of various regions of Greece. In case the historical
- information about a region is not complete, we use the Athenian
- name of the month. Moreover commands and options are provided, in
- order to completely switch to the “ancient way”,
- commands such as .},
-}
-
-@manual{ctan-greekinfo3,
- title = {The \texttt{greekinfo3} package},
- subtitle = {Overview of systems, packages, and fonts for Greek \TeX{}},
- author = {Ioannis Dimakos and Dimitrios Filippou},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/greek/greekinfo3},
- url = {https://ctan.org/pkg/greekinfo3},
-}
-
-@manual{ctan-greektex-fd,
- title = {The \texttt{greektex-fd} package},
- subtitle = {\LaTeX{} font definition files for GreekTeX},
- author = {Andrej Brodnik},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/greek/greektex-fd},
- url = {https://ctan.org/pkg/greektex-fd},
- annotation = {FD files for the three families of fonts of the
- bundle, in a U encoding
- (for the roman, sans and teletype families), and
- again as an OML encoding for the roman family.},
-}
-
-@manual{ctan-greektex,
- title = {The \texttt{greektex} package},
- subtitle = {Fonts for typesetting Greek/English documents},
- author = {Yiannis Moschovakis and Chrysovalantis Sfyrakis},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/greek/greektex},
- url = {https://ctan.org/pkg/greektex},
- annotation = {The fonts are based on Silvio Levy’s
- ; macros
- and Greek hyphenation patterns for the fonts’ encoding are also
- provided.},
-}
-
-@manual{ctan-greektonoi,
- title = {The \texttt{greektonoi} package},
- subtitle = {Facilitates writing/editing of multiaccented greek},
- author = {Charalampos Cornaros},
- date = {2017-04-18},
- version = {},
- license = {lgpl3},
- mirror = {https://mirror.ctan.org/language/greek/greektonoi},
- url = {https://ctan.org/pkg/greektonoi},
- annotation = {The greektonoi mapping extends the package or the polutonikogreek option to provide a
- simple way to insert ancient Greek texts with diacritical
- characters into your document using a similar method to the
- commonly used Beta Code transliteration, but with much more
- freedom. It is designed especially for the XeTeX engine and it
- could also be used for fast and easy modification of monotonic
- greek texts to polytonic. The output text is natively encoded in
- Unicode, so it can be reused in any possible way. The
- package provides, in addition to inserting
- greek accents and breathings, many other symbols used in greek
- numbers and arithmetic or in the greek archaic period. It could
- be used with greektonoi mapping or indepedently.},
-}
-
-@manual{ctan-greenpoint,
- title = {The \texttt{greenpoint} package},
- subtitle = {The Green Point logo},
- author = {Markus Triska},
- date = {2018-01-06},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/greenpoint},
- url = {https://ctan.org/pkg/greenpoint},
- annotation = {A Metafont-implementation of the logo commonly known as
- ‘Der Grüne Punkt’ (‘The Green
- Point’). In Austria, it can be found on nearly every
- bottle. It should not be confused with the
- ,
- implemented by Ian Green.},
-}
-
-@manual{ctan-gregoriotex,
- title = {The \texttt{gregoriotex} package},
- subtitle = {Engraving Gregorian Chant scores},
- author = {Élie Roux and Henry So and Fr. Samuel Springuel},
- date = {2021-03-13},
- version = {6.0.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/gregoriotex},
- url = {https://ctan.org/pkg/gregoriotex},
-}
-
-@manual{ctan-grfext,
- title = {The \texttt{grfext} package},
- subtitle = {Manipulate the graphics package's list of extensions},
- author = {Heiko Oberdiek},
- date = {2019-12-06},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grfext},
- url = {https://ctan.org/pkg/grfext},
- annotation = {This package provides macros for adding to, and reordering the list of
- graphics file extensions recognised by package
- .},
-}
-
-@manual{ctan-grffile,
- title = {The \texttt{grffile} package},
- subtitle = {Extended file name support for graphics (legacy package)},
- author = {Heiko Oberdiek},
- date = {2019-11-11},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grffile},
- url = {https://ctan.org/pkg/grffile},
-}
-
-@manual{ctan-grfguide,
- title = {The \texttt{grfguide} package},
- subtitle = {\LaTeX{} standard graphics and color packages documentation},
- author = {David Carlisle},
- date = {2021-06-01},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/grfguide},
- annotation = {Documentation of the
- bundle. The guide discusses using graphics in \LaTeX{}, including
- documentation on the use of colour
- (the package).},
-}
-
-@manual{ctan-grfpaste,
- title = {The \texttt{grfpaste} package},
- subtitle = {Include fragments of a dvi file},
- author = {David Carlisle},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grfpaste},
- url = {https://ctan.org/pkg/grfpaste},
- annotation = {Provides a mechanism to include fragments of dvi files with the
- package, so that you can
- use to
- include dvi files. The package requires the
- program.},
-}
-
-@manual{ctan-grid-system,
- title = {The \texttt{grid-system} package},
- subtitle = {Page organisation, modelled on CSS facilities},
- author = {Marcus Bitzl},
- date = {2017-04-18},
- version = {0.3.0},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grid-system},
- url = {https://ctan.org/pkg/grid-system},
-}
-
-@manual{ctan-grid,
- title = {The \texttt{grid} package},
- subtitle = {Grid typesetting in \LaTeX{}},
- author = {{River Valley Technologies}},
- date = {2021-07-12},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grid},
- url = {https://ctan.org/pkg/grid},
-}
-
-@manual{ctan-gridpapers,
- title = {The \texttt{gridpapers} package},
- subtitle = {Graph paper backgrounds and color schemes},
- author = {Robert McNees and Leo Stein},
- date = {2021-03-28},
- version = {1.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gridpapers},
- url = {https://ctan.org/pkg/gridpapers},
-}
-
-@manual{ctan-gridset,
- title = {The \texttt{gridset} package},
- subtitle = {Grid, a.k.a. in-register, setting},
- author = {Markus Kohm},
- date = {2020-02-12},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gridset},
- url = {https://ctan.org/pkg/gridset},
- annotation = {Grid setting — also known as strict in-register setting — is
- something, that should be done for a lot of documents but is not
- easy using \LaTeX{}. The package helps to get the information needed
- for grid setting. It does not implement auto grid setting, but
- there is a command , that moves to the next
- grid position. This may be enough under some circumstances, but
- in other circumstances it may fail. Thus gridset is only one more
- step for grid setting, not a complete solution.},
-}
-
-@manual{ctan-gridslides,
- title = {The \texttt{gridslides} package},
- subtitle = {Free form slides with blocks placed on a grid},
- author = {Daniel Mendler},
- date = {2017-11-28},
- version = {0.1.1},
- license = {lppl1.3,gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gridslides},
- url = {https://ctan.org/pkg/gridslides},
-}
-
-@manual{ctan-grkfinst,
- title = {The \texttt{grkfinst} package},
- subtitle = {Install Greek Type 1 fonts},
- author = {Alexey Kryukov},
- date = {2016-06-24},
- version = {0.3.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/utilities/fontinst-contrib/grkfinst},
- url = {https://ctan.org/pkg/grkfinst},
-}
-
-@manual{ctan-grnumalt,
- title = {The \texttt{grnumalt} package},
- subtitle = {Ancient Greek (Athenian) numbers},
- author = {Apostolos Syropoulos},
- date = {2019-06-21},
- version = {1.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grnumalt},
- url = {https://ctan.org/pkg/grnumalt},
- annotation = {The package implements a numbering system that was used in
- ancient Athens, producing the ‘Athenian’ numeral
- for any positive number. The package’s
- command can (in principle) be used to provide alternative
- typeset display of the value of counters.},
-}
-
-@manual{ctan-grtimes,
- title = {The \texttt{grtimes} package},
- subtitle = {Typeset Greek text with Times New Roman Greek},
- author = {Apostolos Syropoulos},
- date = {2019-06-21},
- version = {1.0},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/greek/grtimes},
- url = {https://ctan.org/pkg/grtimes},
-}
-
-@manual{ctan-grundgesetze,
- title = {The \texttt{grundgesetze} package},
- subtitle = {Typeset Frege’s Grundgesetze der Arithmetik},
- author = {Marcus Rossberg},
- date = {2021-04-26},
- version = {1.03},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/grundgesetze},
- url = {https://ctan.org/pkg/grundgesetze},
-}
-
-@manual{ctan-grverb,
- title = {The \texttt{grverb} package},
- subtitle = {Typesetting Greek verbatim},
- author = {Apostolos Syropoulos},
- date = {2019-06-21},
- version = {1.0},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/language/greek/grverb},
- url = {https://ctan.org/pkg/grverb},
- annotation = {The package provides verbatim typesetting, in the context of the
- Greek option in . The package
- uses the public domain font, and
- the font itself (in Type 1 format), metrics and a font map entry
- for its use are provided.},
-}
-
-@manual{ctan-gs1,
- title = {The \texttt{GS1} package},
- subtitle = {Typeset EAN barcodes using \TeX{} rules, only},
- author = {Markus Kohm},
- date = {2021-06-18},
- version = {23},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gs1},
- url = {https://ctan.org/pkg/gs1},
- annotation = {The (LaTeX3) package typesets EAN-8 and EAN-13 barcodes, using
- the facilities of the package.},
-}
-
-@manual{ctan-gsemthesis,
- title = {The \texttt{gsemthesis} package},
- subtitle = {Geneva School of Economics and Management PhD thesis format},
- author = {Emmanuel Rousseaux},
- date = {2020-09-01},
- version = {0.9.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gsemthesis},
- url = {https://ctan.org/pkg/gsemthesis},
-}
-
-@manual{ctan-gsftopk,
- title = {The \texttt{gsftopk} package},
- subtitle = {Convert "Ghostscript fonts" to PK files},
- author = {Paul Vojta},
- date = {2017-04-18},
- version = {1.19.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/gsftopk},
- url = {https://ctan.org/pkg/gsftopk},
- annotation = {Designed for use with
- and this utility converts Adobe
- Type 1 fonts to PK bitmap format. It should not ordinarily be
- much used nowadays, since both its target applications are now
- capable of dealing with Type 1 fonts, direct.},
-}
-
-@manual{ctan-gsview,
- title = {The \texttt{gsview} package},
- subtitle = {View PostScript under MS-Windows or OS/2},
- author = {Russell Lang},
- date = {2016-06-24},
- version = {5.0},
- license = {nosell},
- url = {https://ctan.org/pkg/gsview},
-}
-
-@manual{ctan-gtex-letter,
- title = {The \texttt{gtex-letter} package},
- subtitle = {A Gnome assistant to ease the writing of \LaTeX{} letters},
- author = {Christian Folini},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/gtex-letter},
- url = {https://ctan.org/pkg/gtex-letter},
-}
-
-@manual{ctan-gtl,
- title = {The \texttt{gtl} package},
- subtitle = {Manipulating generalized token lists},
- author = {Bruno Le Floch},
- date = {2018-12-29},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/gtl},
- url = {https://ctan.org/pkg/gtl},
-}
-
-@manual{ctan-gtrcrd,
- title = {The \texttt{gtrcrd} package},
- subtitle = {Add chords to lyrics},
- author = {Riccardo Bresciani},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gtrcrd},
- url = {https://ctan.org/pkg/gtrcrd},
-}
-
-@manual{ctan-gtrlib-largetrees,
- title = {The \texttt{gtrlib.largetrees} package},
- subtitle = {Library for genealogytree aiming at large trees},
- author = {Richard Grewe},
- date = {2019-06-21},
- version = {1.2b},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gtrlib-largetrees},
- url = {https://ctan.org/pkg/gtrlib-largetrees},
-}
-
-@manual{ctan-gu,
- title = {The \texttt{gu} package},
- subtitle = {Typeset crystallographic group-subgroup-schemes},
- author = {Stefan Lange},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gu},
- url = {https://ctan.org/pkg/gu},
- annotation = {The package simplifies typesetting of simple crystallographic
- group-subgroup-schemes in the Bärnighausen formalism. It defines
- a new environment , wherein all elements of the
- scheme are defined. Afterwards all necessary dimensions are
- calculated and the scheme is drawn. Currently two steps of
- symmetry reduction are supported.},
-}
-
-@manual{ctan-guarani,
- title = {The \texttt{guarani} package},
- subtitle = {Guarani support},
- author = {Javier Bezos López},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/guarani},
- url = {https://ctan.org/pkg/guarani},
- annotation = {This is an (unfinished) package for support of Guarani, which is
- the main language spoken in Paraguay. The bundle provides
- support for writing in Guarani,
- together with an definition
- file for a windows Guarani code page.},
-}
-
-@manual{ctan-gudea,
- title = {The \texttt{gudea} package},
- subtitle = {The Gudea font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-01-13},
- version = {0.0.1},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/gudea},
- url = {https://ctan.org/pkg/gudea},
-}
-
-@manual{ctan-guia-bibtex,
- title = {The \texttt{guia-bibtex} package},
- subtitle = {Guia casi completa de BibTeX},
- author = {Joaquín Ataz López},
- date = {2016-06-24},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/spanish/guia-bibtex},
- url = {https://ctan.org/pkg/guia-bibtex},
-}
-
-@manual{ctan-guide-latex-fr,
- title = {The \texttt{guide-latex-fr} package},
- subtitle = {A french guide on \LaTeX{} – for beginners or advanced users},
- author = {Adrien Bouzigues},
- date = {2022-12-29},
- version = {3.8},
- license = {cc-by-nc-nd-4},
- mirror = {https://mirror.ctan.org/info/guide-latex-fr},
- url = {https://ctan.org/pkg/guide-latex-fr},
-}
-
-@manual{ctan-guit-corso,
- title = {The \texttt{GuIT-corso} package},
- subtitle = {Introduzione al mondo di \LaTeX{}},
- author = {Maurizio W. Himmelmann and Emiliano Giovanni Vavassori and Fabiano Busdraghi},
- date = {2016-06-24},
- version = {1.0},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/info/italian/GuIT/corso_guit},
- url = {https://ctan.org/pkg/guit-corso},
-}
-
-@manual{ctan-guitar,
- title = {The \texttt{guitar} package},
- subtitle = {Guitar chords and song texts},
- author = {Martin Väth},
- date = {2018-01-06},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/guitar},
- url = {https://ctan.org/pkg/guitar},
- annotation = {(La)TeX macros for typesetting guitar chords over song texts. The
- package is required. Note
- that this package only places arbitrary \TeX{} code over the
- lyrics. To typeset the chords graphically (and not only by name),
- the author recommends use of an additional package such as
- by K. Peeters.},
-}
-
-@manual{ctan-guitarchordschemes,
- title = {The \texttt{guitarchordschemes} package},
- subtitle = {Guitar Chord and Scale Tablatures},
- author = {Clemens Niederberger},
- date = {2020-03-18},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/guitarchordschemes},
- url = {https://ctan.org/pkg/guitarchordschemes},
-}
-
-@manual{ctan-guitartabs,
- title = {The \texttt{guitartabs} package},
- subtitle = {A class for drawing guitar tablatures easily},
- author = {Andrey Babushkin},
- date = {2018-06-30},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/guitartabs},
- url = {https://ctan.org/pkg/guitartabs},
-}
-
-@manual{ctan-guitbeamer,
- title = {The \texttt{GuITbeamer} package},
- subtitle = {Beamer-based class for GuIT presentations},
- author = {Emiliano Giovanni Vavassori},
- date = {2016-06-24},
- version = {0.4},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/GuIT/guitbeamer},
- url = {https://ctan.org/pkg/guitbeamer},
- annotation = {The guitbeamer class is written to simplify the preparation of
- presentations on \LaTeX{} to members of GuIT. The class is based on
- .},
-}
-
-@manual{ctan-guitlogo,
- title = {The \texttt{GuITlogo} package},
- subtitle = {Macros for typesetting the GuIT logo},
- author = {Emanuele Vicentini},
- date = {2020-07-03},
- version = {1.0.0-alpha.4},
- license = {lppl1.3a},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/GuIT/GuITlogo},
- url = {https://ctan.org/pkg/guitlogo},
-}
-
-@manual{ctan-gurmukhi-singh,
- title = {The \texttt{gurmukhi-singh} package},
- subtitle = {Support for Gurmukhi in \TeX{}},
- author = {Amarjit Singh},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/gurmukhi/singh},
- url = {https://ctan.org/pkg/gurmukhi-singh},
-}
-
-@manual{ctan-gurmukhi,
- title = {The \texttt{gurmukhi} package},
- subtitle = {Support for Gurmukhi},
- author = {Anshuman Pandey},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/gurmukhi/pandey},
- url = {https://ctan.org/pkg/gurmukhi},
-}
-
-@manual{ctan-gurps,
- title = {The \texttt{gurps} package},
- subtitle = {Typeset Generic Universal Role Playing System (GURPS) materials},
- author = {Nathanael Farley},
- date = {2019-06-21},
- version = {0.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/gurps},
- url = {https://ctan.org/pkg/gurps},
-}
-
-@manual{ctan-gutenberg,
- title = {The \texttt{GUTenberg} package},
- subtitle = {French \TeX{} Users Group information},
- author = {Jérémy Just},
- date = {2023-01-23},
- version = {},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/usergrps/gutenberg},
- url = {https://ctan.org/pkg/gutenberg},
-}
-
-@manual{ctan-gv-savepos,
- title = {The \texttt{gv-savepos} package},
- subtitle = {A patch to gv to save positions},
- author = {Hàn Thế Thành},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/gv-savepos},
- url = {https://ctan.org/pkg/gv-savepos},
-}
-
-@manual{ctan-gv,
- title = {The \texttt{gv} package},
- subtitle = {An X front end for Ghostscript},
- author = {José Marchesi},
- date = {2017-04-18},
- version = {3.7.4},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/gv},
- url = {https://ctan.org/pkg/gv},
-}
-
-@manual{ctan-gzt,
- title = {The \texttt{gzt} package},
- subtitle = {Bundle of classes for “La Gazette des Mathématiciens”},
- author = {Denis Bitouzé},
- date = {2022-06-13},
- version = {1.1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gzt},
- url = {https://ctan.org/pkg/gzt},
- annotation = {This bundle provides two classes and Bib\LaTeX{} styles for the
- French journal :},
-}
-
-@manual{ctan-h2020proposal,
- title = {The \texttt{h2020proposal} package},
- subtitle = {\LaTeX{} class and template for EU H2020 RIA proposal},
- author = {Giacomo Indiveri},
- date = {2018-01-06},
- version = {1.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/h2020proposal},
- url = {https://ctan.org/pkg/h2020proposal},
-}
-
-@manual{ctan-ha-prosper,
- title = {The \texttt{ha-prosper} package},
- subtitle = {Patches and improvements for prosper},
- author = {Hendri Adriaens},
- date = {2021-06-21},
- version = {4.21},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ha-prosper},
- url = {https://ctan.org/pkg/ha-prosper},
- annotation = {HA-prosper is a patch for prosper that adds new functionality
- to based presentations. Among
- the new features you will find automatic generation of a table
- of contents on each slide, support for notes and portrait
- slides. The available styles demonstrate how to expand
- the functionality of prosper even further.},
-}
-
-@manual{ctan-hackalloc,
- title = {The \texttt{hackalloc} package},
- subtitle = {Make allocations local},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/hackalloc.sty},
- url = {https://ctan.org/pkg/hackalloc},
- annotation = {The package makes allocation (,
- , etc.) local.},
-}
-
-@manual{ctan-hackthefootline,
- title = {The \texttt{hackthefootline} package},
- subtitle = {Footline selection and configuration for \LaTeX{} beamer’s standard themes},
- author = {Sebastian Friedl},
- date = {2018-01-29},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/hackthefootline},
- url = {https://ctan.org/pkg/hackthefootline},
-}
-
-@manual{ctan-hacm,
- title = {The \texttt{hacm} package},
- subtitle = {Font support for the Arka language},
- author = {Kazuaki Miyatani},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/hacm},
- url = {https://ctan.org/pkg/hacm},
-}
-
-@manual{ctan-hagenberg-thesis,
- title = {The \texttt{hagenberg-thesis} package},
- subtitle = {Collection of \LaTeX{} classes, style files and example documents for academic manuscripts},
- author = {Wilhelm Burger and Wolfgang Hochleitner},
- date = {2023-02-13},
- version = {},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hagenberg-thesis},
- url = {https://ctan.org/pkg/hagenberg-thesis},
-}
-
-@manual{ctan-halftone,
- title = {The \texttt{halftone} package},
- subtitle = {Knuth’s halftone font and its uses},
- author = {Adrian Clark and Donald E. Knuth},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/halftone},
- url = {https://ctan.org/pkg/halftone},
-}
-
-@manual{ctan-halloweenmath,
- title = {The \texttt{halloweenmath} package},
- subtitle = {Scary and creepy math symbols with AMS-\LaTeX{} integration},
- author = {Gustavo Mezzetti},
- date = {2019-11-01},
- version = {0.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/halloweenmath},
- url = {https://ctan.org/pkg/halloweenmath},
-}
-
-@manual{ctan-hamnosys,
- title = {The \texttt{hamnosys} package},
- subtitle = {A font for sign languages},
- author = {Marc Schulder and Thomas Hanke},
- date = {2022-02-08},
- version = {1.0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/hamnosys},
- url = {https://ctan.org/pkg/hamnosys},
-}
-
-@manual{ctan-handin,
- title = {The \texttt{handin} package},
- subtitle = {Light weight template for creating school submissions using \LaTeX{}},
- author = {Andreas Storvik Strauman},
- date = {2018-07-22},
- version = {0.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/handin},
- url = {https://ctan.org/pkg/handin},
-}
-
-@manual{ctan-handout,
- title = {The \texttt{handout} package},
- subtitle = {Create handout for auditors of a talk},
- author = {Maïeul Rouquette},
- date = {2017-04-21},
- version = {1.6.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/handout},
- url = {https://ctan.org/pkg/handout},
-}
-
-@manual{ctan-handoutwithnotes,
- title = {The \texttt{handoutWithNotes} package},
- subtitle = {Create Handouts with notes from your \LaTeX{} beamer presentation},
- author = {Guido Diepen and Marei Peischl},
- date = {2021-09-11},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/handoutwithnotes},
- url = {https://ctan.org/pkg/handoutwithnotes},
-}
-
-@manual{ctan-hands,
- title = {The \texttt{hands} package},
- subtitle = {Pointing hand font},
- author = {Georgia K. M. Tobin and Norman Powroz},
- date = {2019-02-03},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/hands},
- url = {https://ctan.org/pkg/hands},
-}
-
-@manual{ctan-hang,
- title = {The \texttt{hang} package},
- subtitle = {Environments for hanging paragraphs and list items},
- author = {Andreas Nolda},
- date = {2017-02-19},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hang},
- url = {https://ctan.org/pkg/hang},
-}
-
-@manual{ctan-hangcaption,
- title = {The \texttt{hangcaption} package},
- subtitle = {Hanging layout for captions},
- author = {David M. Jones},
- date = {2019-06-21},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/hangcaption.sty},
- url = {https://ctan.org/pkg/hangcaption},
- annotation = {The hangcaption package redefines the caption command to produce
- captions with hanging indentation. While this package will work
- with current \LaTeX{}, its effects are better achieved by one of the
- many functions of the package.},
-}
-
-@manual{ctan-hanging,
- title = {The \texttt{hanging} package},
- subtitle = {Hanging paragraphs},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hanging},
- url = {https://ctan.org/pkg/hanging},
-}
-
-@manual{ctan-hanoi,
- title = {The \texttt{hanoi} package},
- subtitle = {Tower of Hanoi in \TeX{}},
- author = {Brian Blackmore},
- date = {2016-06-24},
- version = {20120101},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/hanoi},
- url = {https://ctan.org/pkg/hanoi},
-}
-
-@manual{ctan-hanzibox,
- title = {The \texttt{hanzibox} package},
- subtitle = {Boxed Chinese characters with Pinyin above and translation below},
- author = {Nan Geng},
- date = {2022-04-17},
- version = {2.3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/hanzibox},
- url = {https://ctan.org/pkg/hanzibox},
-}
-
-@manual{ctan-happy4th,
- title = {The \texttt{happy4th} package},
- subtitle = {A firework display in obfuscated \TeX{}},
- author = {Brian Blackmore},
- date = {2016-06-24},
- version = {20120102},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/happy4th},
- url = {https://ctan.org/pkg/happy4th},
-}
-
-@manual{ctan-har2nat,
- title = {The \texttt{har2nat} package},
- subtitle = {Replace the harvard package with natbib},
- author = {Bas Straathof},
- date = {2019-09-28},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/har2nat},
- url = {https://ctan.org/pkg/har2nat},
-}
-
-@manual{ctan-haranoaji-extra,
- title = {The \texttt{haranoaji-extra} package},
- subtitle = {Harano Aji Fonts},
- author = {Masamichi Hosoda},
- date = {2023-02-23},
- version = {20230223},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/haranoaji-extra},
- url = {https://ctan.org/pkg/haranoaji-extra},
-}
-
-@manual{ctan-haranoaji,
- title = {The \texttt{haranoaji} package},
- subtitle = {Harano Aji Fonts},
- author = {Masamichi Hosoda},
- date = {2023-02-23},
- version = {20230223},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/haranoaji},
- url = {https://ctan.org/pkg/haranoaji},
-}
-
-@manual{ctan-hardwrap,
- title = {The \texttt{hardwrap} package},
- subtitle = {Hard wrap text to a certain character length},
- author = {Will Robertson and Kevin Godby},
- date = {2018-01-06},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hardwrap},
- url = {https://ctan.org/pkg/hardwrap},
-}
-
-@manual{ctan-harmony,
- title = {The \texttt{harmony} package},
- subtitle = {Typeset harmony symbols, etc., for musicology},
- author = {Dagny Wegner and Arnim Wegner},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/harmony},
- url = {https://ctan.org/pkg/harmony},
- annotation = {The package harmony.sty uses the packages
- and from the
- bundle, together with the
- \LaTeX{} font and the font from
- .},
-}
-
-@manual{ctan-harnon-cv,
- title = {The \texttt{harnon-cv} package},
- subtitle = {A CV document class with a vertical timeline for experience},
- author = {William Hart},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/harnon-cv},
- url = {https://ctan.org/pkg/harnon-cv},
-}
-
-@manual{ctan-harpoon,
- title = {The \texttt{harpoon} package},
- subtitle = {Extra harpoons, using the graphics package},
- author = {Tobias Kuipers},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/harpoon},
- url = {https://ctan.org/pkg/harpoon},
-}
-
-@manual{ctan-harvard-obsolete,
- title = {The \texttt{harvard-obsolete} package},
- subtitle = {The Harvard bibliography style family},
- author = {Peter Williams},
- date = {2018-12-22},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/biblio/bibtex/contrib/harvard},
- url = {https://ctan.org/pkg/harvard-obsolete},
-}
-
-@manual{ctan-harvard,
- title = {The \texttt{harvard} package},
- subtitle = {Harvard citation package for use with \LaTeX{} 2e},
- author = {Peter Williams and Thorsten Schnier},
- date = {2018-12-22},
- version = {2.0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/harvard},
- url = {https://ctan.org/pkg/harvard},
-}
-
-@manual{ctan-harveyballs,
- title = {The \texttt{harveyballs} package},
- subtitle = {Create Harvey Balls using TikZ},
- author = {Sascha Roth},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/harveyballs},
- url = {https://ctan.org/pkg/harveyballs},
-}
-
-@manual{ctan-harvmac,
- title = {The \texttt{harvmac} package},
- subtitle = {Macros for scientific articles},
- author = {Paul Ginsparg},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/harvmac},
- url = {https://ctan.org/pkg/harvmac},
-}
-
-@manual{ctan-hatching,
- title = {The \texttt{hatching} package},
- subtitle = {MetaPost macros for hatching interior of closed paths},
- author = {Bogusław Jackowski},
- date = {2016-06-24},
- version = {0.11},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/hatching},
- url = {https://ctan.org/pkg/hatching},
-}
-
-@manual{ctan-hausarbeit-jura,
- title = {The \texttt{hausarbeit-jura} package},
- subtitle = {Class for writing “juristische Hausarbeiten” at German Universities},
- author = {Martin Sievers},
- date = {2020-08-06},
- version = {2.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hausarbeit-jura},
- url = {https://ctan.org/pkg/hausarbeit-jura},
- annotation = {The class was developed for use by students writing legal essays
- (“juristische Hausarbeit”) at German Universities. It is based on
- and
- and makes it easy for \LaTeX{}
- beginners to get a correct and nicely formatted paper.},
-}
-
-@manual{ctan-havannah,
- title = {The \texttt{havannah} package},
- subtitle = {Diagrams of board positions in the games of Havannah and Hex},
- author = {Marcin Ciura},
- date = {2016-06-24},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/havannah},
- url = {https://ctan.org/pkg/havannah},
-}
-
-@manual{ctan-hc,
- title = {The \texttt{hcbundle} package},
- subtitle = {Replacement for the \LaTeX{} classes},
- author = {Christian Siefkes},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hc},
- url = {https://ctan.org/pkg/hc},
- annotation = {A set of replacements for the default \LaTeX{} classes, based upon
- the bundle and the
- seminar class. Includes , ,
- , and .},
-}
-
-@manual{ctan-he-le-na,
- title = {The \texttt{he-le-na} package},
- subtitle = {Support for Serbian typesetting},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {shareware},
- mirror = {https://mirror.ctan.org/language/serbian/filipovic/he-le-na},
- url = {https://ctan.org/pkg/he-le-na},
-}
-
-@manual{ctan-he-she,
- title = {The \texttt{he-she} package},
- subtitle = {Alternating pronouns to aid gender-neutral writing},
- author = {Alan Munn},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/he-she},
- url = {https://ctan.org/pkg/he-she},
-}
-
-@manual{ctan-headerfooter,
- title = {The \texttt{headerfooter} package},
- subtitle = {Define the layouts of page headers and footers},
- author = {Stephen Gildea},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/headerfooter.sty},
- url = {https://ctan.org/pkg/headerfooter},
-}
-
-@manual{ctan-hebtex,
- title = {The \texttt{hebtex} package},
- subtitle = {Support for Hebrew and other right-to-left languages},
- author = {Rama Porrat},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/language/hebrew/hebtex},
- url = {https://ctan.org/pkg/hebtex},
-}
-
-@manual{ctan-hecthese,
- title = {The \texttt{hecthese} package},
- subtitle = {A class for dissertations and theses at HEC Montréal},
- author = {Benoit Hamel},
- date = {2021-09-07},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hecthese},
- url = {https://ctan.org/pkg/hecthese},
-}
-
-@manual{ctan-hellas,
- title = {The \texttt{hellas} package},
- subtitle = {Typeset bibliographies which include Greek},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/greek/BibTeX},
- url = {https://ctan.org/pkg/hellas},
- annotation = {Hellas is a BibTeX style, based on the standard plain style,
- for typesetting databases that containing both Greek and non-Greek
- bibliographic records. For most bibliographic record types there
- is an equivalent record type whose name begins with the prefix
- . These records may have fields
- and in addition to the
- fields one might expect in a standard BibTeX record.},
-}
-
-@manual{ctan-helmholtz-ellis-ji-notation,
- title = {The \texttt{helmholtz-ellis-ji-notation} package},
- subtitle = {Beautiful in-line microtonal just intonation accidentals},
- author = {Thomas Nicholson},
- date = {2020-05-21},
- version = {1.1},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/fonts/helmholtz-ellis-ji-notation},
- url = {https://ctan.org/pkg/helmholtz-ellis-ji-notation},
-}
-
-@manual{ctan-helvet,
- title = {The \texttt{helvet} package},
- subtitle = {Load Helvetica, scaled},
- author = {Walter A. Schmidt and {The \LaTeX{} Project Team}},
- date = {2021-12-07},
- version = {9.2a},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/required/psnfss},
- url = {https://ctan.org/pkg/helvet},
-}
-
-@manual{ctan-hep-acronym,
- title = {The \texttt{hep-acronym} package},
- subtitle = {An acronym extension for glossaries},
- author = {Jan Hajer},
- date = {2022-11-01},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep-acronym},
- url = {https://ctan.org/pkg/hep-acronym},
-}
-
-@manual{ctan-hep-bibliography,
- title = {The \texttt{hep-bibliography} package},
- subtitle = {An acronym extension for glossaries},
- author = {Jan Hajer},
- date = {2022-11-01},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/hep-bibliography},
- url = {https://ctan.org/pkg/hep-bibliography},
-}
-
-@manual{ctan-hep-float,
- title = {The \texttt{hep-float} package},
- subtitle = {Convenience package for float placement},
- author = {Jan Hajer},
- date = {2021-11-26},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep-float},
- url = {https://ctan.org/pkg/hep-float},
-}
-
-@manual{ctan-hep-font,
- title = {The \texttt{hep-font} package},
- subtitle = {Latin modern extended by computer modern},
- author = {Jan Hajer},
- date = {2022-11-01},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/utilities/hep-font},
- url = {https://ctan.org/pkg/hep-font},
-}
-
-@manual{ctan-hep-gen,
- title = {The \texttt{hep-gen} package},
- subtitle = {Generic macros for quantum physics},
- author = {{Unknown}},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/hep.tex},
- url = {https://ctan.org/pkg/hep-gen},
-}
-
-@manual{ctan-hep-math-font,
- title = {The \texttt{hep-math-font} package},
- subtitle = {Extended Greek and sans-serif math},
- author = {Jan Hajer},
- date = {2022-11-01},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/utilities/hep-math-font},
- url = {https://ctan.org/pkg/hep-math-font},
-}
-
-@manual{ctan-hep-math,
- title = {The \texttt{hep-math} package},
- subtitle = {Extended math macros},
- author = {Jan Hajer},
- date = {2021-11-26},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep-math},
- url = {https://ctan.org/pkg/hep-math},
-}
-
-@manual{ctan-hep-paper,
- title = {The \texttt{hep-paper} package},
- subtitle = {Publications in High Energy Physics},
- author = {Jan Hajer},
- date = {2022-11-02},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep-paper},
- url = {https://ctan.org/pkg/hep-paper},
-}
-
-@manual{ctan-hep-reference,
- title = {The \texttt{hep-reference} package},
- subtitle = {Adjustments for publications in High Energy Physics},
- author = {Jan Hajer},
- date = {2022-11-02},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep-reference},
- url = {https://ctan.org/pkg/hep-reference},
-}
-
-@manual{ctan-hep-text,
- title = {The \texttt{hep-text} package},
- subtitle = {List and text extensions},
- author = {Jan Hajer},
- date = {2021-11-26},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep-text},
- url = {https://ctan.org/pkg/hep-text},
-}
-
-@manual{ctan-hep-title,
- title = {The \texttt{hep-title} package},
- subtitle = {Extensions for the title page},
- author = {Jan Hajer},
- date = {2022-11-01},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep-title},
- url = {https://ctan.org/pkg/hep-title},
-}
-
-@manual{ctan-hep,
- title = {The \texttt{hep} package},
- subtitle = {A "convenience wrapper" for High Energy Physics packages},
- author = {Andy Buckley},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hep},
- url = {https://ctan.org/pkg/hep},
- annotation = {Loads the author’s and
- packages, and a
- selection of others that are useful in High Energy Physics papers, etc.},
-}
-
-@manual{ctan-hepnames,
- title = {The \texttt{hepnames} package},
- subtitle = {Pre-defined high energy particle names},
- author = {Andy Buckley},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hepnames},
- url = {https://ctan.org/pkg/hepnames},
-}
-
-@manual{ctan-hepparticles,
- title = {The \texttt{HEPparticles} package},
- subtitle = {Macros for typesetting high energy physics particle names},
- author = {Andy Buckley},
- date = {2020-03-09},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hepparticles},
- url = {https://ctan.org/pkg/hepparticles},
-}
-
-@manual{ctan-hepthesis,
- title = {The \texttt{hepthesis} package},
- subtitle = {A class for academic reports, especially PhD theses},
- author = {Andy Buckley},
- date = {2017-12-12},
- version = {1.5.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hepthesis},
- url = {https://ctan.org/pkg/hepthesis},
-}
-
-@manual{ctan-hepunits,
- title = {The \texttt{Hepunits} package},
- subtitle = {A set of units useful in high energy physics applications},
- author = {Andy Buckley},
- date = {2020-04-10},
- version = {2.0.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hepunits},
- url = {https://ctan.org/pkg/hepunits},
- annotation = {Hepunits is a \LaTeX{} package built on the
- package which adds a
- collection of useful HEP units to the existing SIunits set. These
- include the energy units , ,
- and the derived momentum and mass units
- , and so on.},
-}
-
-@manual{ctan-here,
- title = {The \texttt{here} package},
- subtitle = {Emulation of obsolete package for "here" floats},
- author = {Karl Berry},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/here},
- url = {https://ctan.org/pkg/here},
-}
-
-@manual{ctan-hereapplies,
- title = {The \texttt{hereapplies} package},
- subtitle = {A \LaTeX{} package for referencing groups of pages that share something in common},
- author = {{Unknown}},
- date = {2022-12-11},
- version = {1.0.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hereapplies},
- url = {https://ctan.org/pkg/hereapplies},
- annotation = {is a \LaTeX{} package that allows to collect groups
- of labels and reference them altogether. It can be used for creating informal
- glossaries that cross-link concepts to their applications, or simply mentioning
- multiple pages that share something in common.},
-}
-
-@manual{ctan-heros-otf,
- title = {The \texttt{heros-otf} package},
- subtitle = {Using the OpenType fonts \TeX{} Gyre Heros>},
- author = {Herbert Voß},
- date = {2022-10-14},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/heros-otf},
- url = {https://ctan.org/pkg/heros-otf},
-}
-
-@manual{ctan-hershey-mp,
- title = {The \texttt{hershey-mp} package},
- subtitle = {MetaPost support for the Hershey font file format},
- author = {Esger Renkema},
- date = {2022-11-02},
- version = {2022/1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/hershey-mp},
- url = {https://ctan.org/pkg/hershey-mp},
-}
-
-@manual{ctan-hershey,
- title = {The \texttt{hershey} package},
- subtitle = {Experiments with the Hershey fonts},
- author = {Ken Yap},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/hershey},
- url = {https://ctan.org/pkg/hershey},
-}
-
-@manual{ctan-heuristica,
- title = {The \texttt{heuristica} package},
- subtitle = {Fonts extending Utopia, with \LaTeX{} support files},
- author = {Michael Sharpe},
- date = {2019-06-11},
- version = {1.092},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/heuristica},
- url = {https://ctan.org/pkg/heuristica},
-}
-
-@manual{ctan-hex,
- title = {The \texttt{hex} package},
- subtitle = {Print a counter in hexadecimal},
- author = {Eric Domenjoud},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/hex.sty},
- url = {https://ctan.org/pkg/hex},
- annotation = {Defines a macro that takes a counter name as
- argument.},
-}
-
-@manual{ctan-hexboard,
- title = {The \texttt{hexboard} package},
- subtitle = {For drawing Hex boards and games},
- author = {Peter Rowlett and Chris Sangwin},
- date = {2022-02-23},
- version = {1.0},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/hexboard},
- url = {https://ctan.org/pkg/hexboard},
-}
-
-@manual{ctan-hexdump,
- title = {The \texttt{hexdump} package},
- subtitle = {Read and typeset ASCII hexdump files},
- author = {Thomas Hillebrand},
- date = {2016-06-24},
- version = {0.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/hexdump.sty},
- url = {https://ctan.org/pkg/hexdump},
-}
-
-@manual{ctan-hexgame,
- title = {The \texttt{hexgame} package},
- subtitle = {Provide an environment to draw a hexgame-board},
- author = {Meron Brouwer},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hexgame},
- url = {https://ctan.org/pkg/hexgame},
-}
-
-@manual{ctan-hf-tikz,
- title = {The \texttt{hf-tikz} package},
- subtitle = {A simple way to highlight formulas and formula parts},
- author = {Claudio Fiandrino},
- date = {2016-06-24},
- version = {0.3a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/hf-tikz},
- url = {https://ctan.org/pkg/hf-tikz},
- annotation = {The package provides a way to highlight formulas and formula parts
- in both documents and presentations, us .},
-}
-
-@manual{ctan-hfbright,
- title = {The \texttt{hfbright} package},
- subtitle = {The hfbright fonts},
- author = {Harald Harders},
- date = {2019-03-12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/hfbright},
- url = {https://ctan.org/pkg/hfbright},
- annotation = {These are Adobe Type 1 versions of the OT1-encoded and maths parts of the
- fonts.},
-}
-
-@manual{ctan-hfoldsty,
- title = {The \texttt{hfoldsty} package},
- subtitle = {Old style numerals with EC fonts},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {1.15},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/hfoldsty},
- url = {https://ctan.org/pkg/hfoldsty},
- annotation = {The hfoldsty package provides virtual fonts for using oldstyle
- (0123456789) figures with the European Computer Modern fonts.
- It does a similar job as the package
- by Sebastian Kirsch but includes a couple of improvements, i.e.,
- better kerning with guillemets, and support for character
- protruding using the package.},
-}
-
-@manual{ctan-hfutexam,
- title = {The \texttt{HFUTExam} package},
- subtitle = {Exam class for Hefei University of Technology (China)},
- author = {Shenxing Zhang},
- date = {2023-03-11},
- version = {1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hfutexam},
- url = {https://ctan.org/pkg/hfutexam},
-}
-
-@manual{ctan-hfutthesis,
- title = {The \texttt{hfutthesis} package},
- subtitle = {\LaTeX{} Thesis Template for Hefei University of Technology},
- author = {Zhenhao Yin},
- date = {2022-08-02},
- version = {1.0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/hfutthesis},
- url = {https://ctan.org/pkg/hfutthesis},
- annotation = {This project is based on the
-
- \LaTeX{} template of Hefei University of Technology compiled on
- the basis of
- ,
- in accordance with the latest version of
-
- and .},
-}
-
-@manual{ctan-hge,
- title = {The \texttt{hge} package},
- subtitle = {An “Old English” font},
- author = {{Unknown}},
- date = {2022-04-06},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/hge},
- url = {https://ctan.org/pkg/hge},
-}
-
-@manual{ctan-hhline,
- title = {The \texttt{hhline} package},
- subtitle = {Better horizontal lines in tabulars and arrays},
- author = {David Carlisle},
- date = {2021-06-01},
- version = {2.04},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/hhline},
-}
-
-@manual{ctan-hhtensor,
- title = {The \texttt{hhtensor} package},
- subtitle = {Print vectors, matrices, and tensors},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.61},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hhtensor},
- url = {https://ctan.org/pkg/hhtensor},
-}
-
-@manual{ctan-hideanswer,
- title = {The \texttt{hideanswer} package},
- subtitle = {Generate documents with and without answers by toggling a switch},
- author = {Yukoh Kusakabe},
- date = {2022-07-15},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hideanswer},
- url = {https://ctan.org/pkg/hideanswer},
-}
-
-@manual{ctan-hieroglf,
- title = {The \texttt{hieroglf} package},
- subtitle = {The "poor man's" Egyptian Hieroglyphic font},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/archaic/hieroglf},
- url = {https://ctan.org/pkg/hieroglf},
-}
-
-@manual{ctan-hieroglyph,
- title = {The \texttt{hieroglyph} package},
- subtitle = {Hieroglyph fonts and other support},
- author = {Serge Rosmorduc},
- date = {2018-01-06},
- version = {3.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/hieroglyph},
- url = {https://ctan.org/pkg/hieroglyph},
- annotation = {HieroTeX is a system for typesetting ancient Egyptian hieroglyphs.
- It contains a hieroglyphic font, a number of style files, and a
- helper program in C called which allows one to type
- hieroglyphic texts using the ‘manuel de codage’,
- which is the current standard for encoding ancient Egyptian. The
- fonts in the base system are distributed as Metafont source, but
- Adobe type 1 versions are also provided.},
-}
-
-@manual{ctan-highlight,
- title = {The \texttt{highlight} package},
- subtitle = {Converts source code to syntax highlighted \TeX{} or \LaTeX{}},
- author = {André Simon},
- date = {2016-06-24},
- version = {2.16},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/highlight},
- url = {https://ctan.org/pkg/highlight},
-}
-
-@manual{ctan-highlightlatex,
- title = {The \texttt{highlightlatex} package},
- subtitle = {Syntax highlighting for \LaTeX{}},
- author = {Vincent Kuhlmann},
- date = {2021-03-18},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/highlightlatex},
- url = {https://ctan.org/pkg/highlightlatex},
- annotation = {This package provides extensive colored syntax highlighting for
- \LaTeX{}. For this purpose it builds on the generic
- package.},
-}
-
-@manual{ctan-hilowres,
- title = {The \texttt{hilowres} package},
- subtitle = {Support high and low resolution versions of same picture},
- author = {Johann Gerell},
- date = {2019-06-21},
- version = {1.0},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hilowres},
- url = {https://ctan.org/pkg/hilowres},
- annotation = {A package to simplify the inclusion of low resolution versions
- of high resolution images, if each pair of files have the
- same basename (e.g., and
- ). The package
- is a simple wrapper around the command of
- the package.},
-}
-
-@manual{ctan-hindawi-latex-template,
- title = {The \texttt{hindawi-latex-template} package},
- subtitle = {A \LaTeX{} template for authors of the Hindawi journals},
- author = {Shanu Kumar},
- date = {2021-02-21},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hindawi-latex-template},
- url = {https://ctan.org/pkg/hindawi-latex-template},
-}
-
-@manual{ctan-hindmadurai,
- title = {The \texttt{hindmadurai} package},
- subtitle = {The HindMadurai font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-01-13},
- version = {0.0.1},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/hindmadurai},
- url = {https://ctan.org/pkg/hindmadurai},
-}
-
-@manual{ctan-histogr,
- title = {The \texttt{histogr} package},
- subtitle = {Draw histograms with the \LaTeX{} picture environment},
- author = {Rainer Schöpf},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/histogr},
- url = {https://ctan.org/pkg/histogr},
-}
-
-@manual{ctan-historische-zeitschrift,
- title = {The \texttt{historische-zeitschrift} package},
- subtitle = {Bib\LaTeX{} style for the journal 'Historische Zeitschrift'},
- author = {Dominik Waßenhoven},
- date = {2016-12-02},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/historische-zeitschrift},
- url = {https://ctan.org/pkg/historische-zeitschrift},
-}
-
-@manual{ctan-histyle,
- title = {The \texttt{histyle} package},
- subtitle = {A "HighStyle" environment for \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/histyle},
- url = {https://ctan.org/pkg/histyle},
-}
-
-@manual{ctan-hitec,
- title = {The \texttt{hitec} package},
- subtitle = {Class for documentation},
- author = {Eli Billauer},
- date = {2016-06-24},
- version = {0.0(beta)},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hitec},
- url = {https://ctan.org/pkg/hitec},
-}
-
-@manual{ctan-hitex,
- title = {The \texttt{hitex} package},
- subtitle = {A \TeX{} extension writing HINT output for on-screen reading},
- author = {Martin Ruckert},
- date = {2022-06-19},
- license = {x11},
- url = {https://ctan.org/pkg/hitex},
-}
-
-@manual{ctan-hithesis,
- title = {The \texttt{hithesis} package},
- subtitle = {Harbin Institute of Technology Thesis Template},
- author = {Chu Yanshuo},
- date = {2022-07-29},
- version = {2.0.11},
- license = {lppl1.3a},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/hithesis},
- url = {https://ctan.org/pkg/hithesis},
-}
-
-@manual{ctan-hitreport,
- title = {The \texttt{hitreport} package},
- subtitle = {Harbin Institute of Technology Report \LaTeX{} Template},
- author = {Xiao Sun},
- date = {2021-03-18},
- version = {1.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hitreport},
- url = {https://ctan.org/pkg/hitreport},
-}
-
-@manual{ctan-hitszbeamer,
- title = {The \texttt{hitszbeamer} package},
- subtitle = {A beamer theme for Harbin Institute of Technology, ShenZhen},
- author = {Jingxuan Yang},
- date = {2020-04-11},
- version = {1.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/hitszbeamer},
- url = {https://ctan.org/pkg/hitszbeamer},
-}
-
-@manual{ctan-hitszthesis,
- title = {The \texttt{HITSZThesis} package},
- subtitle = {A dissertation template for Harbin Institute of Technology, ShenZhen},
- author = {Jingxuan Yang},
- date = {2021-11-16},
- version = {3.2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hitszthesis},
- url = {https://ctan.org/pkg/hitszthesis},
-}
-
-@manual{ctan-hktex,
- title = {The \texttt{hktex} package},
- subtitle = {A \TeX{}/\LaTeX{} equivalent for Android},
- author = {Kwanleung Tse},
- date = {2016-06-24},
- version = {2.04},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/systems/android/hktex},
- url = {https://ctan.org/pkg/hktex},
-}
-
-@manual{ctan-hlatex-fonts,
- title = {The \texttt{H\LaTeX{} fonts} package},
- subtitle = {A collection of Korean (Hangul) fonts},
- author = {Koaunghi Un},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/korean/HLaTeX},
- url = {https://ctan.org/pkg/hlatex-fonts},
-}
-
-@manual{ctan-hlatex,
- title = {The \texttt{hlatex} package},
- subtitle = {Support for the Korean language},
- author = {Koaunghi Un},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/korean/HLaTeX},
- url = {https://ctan.org/pkg/hlatex},
-}
-
-@manual{ctan-hletter,
- title = {The \texttt{hletter} package},
- subtitle = {Flexible letter typesetting with flexible page headings},
- author = {Brian Housley},
- date = {2016-06-24},
- version = {4.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hletter},
- url = {https://ctan.org/pkg/hletter},
- annotation = {The package permits the user to specify easily, with the aid of
- self defined key-words, letters (with a logo and private) and
- headings. The heading may include a footer and the letter
- provides commands to include a scanned signature and two signees.
- The package works with the package.},
-}
-
-@manual{ctan-hlist,
- title = {The \texttt{hlist} package},
- subtitle = {Horizontal and columned lists},
- author = {Christian Tellechea},
- date = {2017-08-08},
- version = {0.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/hlist},
- url = {https://ctan.org/pkg/hlist},
-}
-
-@manual{ctan-hmtrump,
- title = {The \texttt{hmtrump} package},
- subtitle = {Describe card games},
- author = {Shoma Hitomi},
- date = {2019-08-06},
- version = {1.2a},
- license = {cc-by-sa-4,other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/hmtrump},
- url = {https://ctan.org/pkg/hmtrump},
-}
-
-@manual{ctan-hobby,
- title = {The \texttt{hobby} package},
- subtitle = {An implementation of Hobby’s algorithm for PGF/TikZ},
- author = {Andrew Stacey},
- date = {2017-06-01},
- version = {1.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/hobby},
- url = {https://ctan.org/pkg/hobby},
-}
-
-@manual{ctan-hobete,
- title = {The \texttt{hobete} package},
- subtitle = {Unofficial beamer theme for the University of Hohenheim},
- author = {Tobias Görlach},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/hobete},
- url = {https://ctan.org/pkg/hobete},
-}
-
-@manual{ctan-hobsub,
- title = {The \texttt{hobsub} package},
- subtitle = {Construct package bundles},
- author = {Heiko Oberdiek},
- date = {2019-11-17},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hobsub},
- url = {https://ctan.org/pkg/hobsub},
-}
-
-@manual{ctan-hoffset-voffset,
- title = {The \texttt{hoffset-voffset} package},
- subtitle = {Calculate values for \textbackslash{}hoffset and \textbackslash{}voffset},
- author = {Anatoly A. Zabelin},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/hoffset-voffset},
- url = {https://ctan.org/pkg/hoffset-voffset},
-}
-
-@manual{ctan-hologo,
- title = {The \texttt{hologo} package},
- subtitle = {A collection of logos with bookmark support},
- author = {Heiko Oberdiek},
- date = {2021-11-17},
- version = {1.15},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/hologo},
- url = {https://ctan.org/pkg/hologo},
- annotation = {The package defines a single command , whose
- argument is the usual case-confused ASCII version of the logo.
- The command is bookmark-enabled, so that every logo becomes
- available in bookmarks without further work.},
-}
-
-@manual{ctan-holtpolt,
- title = {The \texttt{holtpolt} package},
- subtitle = {Typeset Maxwell's non-commutative division},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/holtpolt.sty},
- url = {https://ctan.org/pkg/holtpolt},
-}
-
-@manual{ctan-holtxdoc,
- title = {The \texttt{holtxdoc} package},
- subtitle = {Documentation macros for oberdiek bundle, etc},
- author = {Heiko Oberdiek},
- date = {2019-11-15},
- version = {0.29},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/holtxdoc.dtx},
- url = {https://ctan.org/pkg/holtxdoc},
- annotation = {These are personal macros, which are not necessarily useful to
- other authors (they are provided as part of the source of others
- of the author’s packages). Macros that may be of use to other
- authors are available separately, in package
- .},
-}
-
-@manual{ctan-hook-pre-commit-pkg,
- title = {The \texttt{hook-pre-commit-pkg} package},
- subtitle = {Pre-commit git hook for \LaTeX{} package developpers},
- author = {Maïeul Rouquette},
- date = {2017-04-18},
- version = {1.1.2},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/hook-pre-commit-pkg},
- url = {https://ctan.org/pkg/hook-pre-commit-pkg},
-}
-
-@manual{ctan-hopatch,
- title = {The \texttt{hopatch} package},
- subtitle = {Load patches for packages},
- author = {Heiko Oberdiek},
- date = {2023-01-07},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hopatch},
- url = {https://ctan.org/pkg/hopatch},
-}
-
-@manual{ctan-horoscop,
- title = {The \texttt{horoscop} package},
- subtitle = {Generate astrological charts in \LaTeX{}},
- author = {Matthew Skala},
- date = {2020-07-31},
- version = {1.01},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/horoscop},
- url = {https://ctan.org/pkg/horoscop},
- annotation = {The horoscop package provides a unified interface for astrological
- font packages; typesetting with
- of standard wheel charts and some variations, in PostScript- and
- PDF-generating \TeX{} engines; and access to external calculation
- software (Astrolog and Swiss Ephemeris) for computing object
- positions.},
-}
-
-@manual{ctan-hp2pl,
- title = {The \texttt{HPtfm2pl} package},
- subtitle = {Create \TeX{} PL files from HP AutoFont Support},
- author = {Norman Walsh},
- date = {2018-01-06},
- version = {1.0b beta},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/hp2pl},
- url = {https://ctan.org/pkg/hp2pl},
-}
-
-@manual{ctan-hp2xx,
- title = {The \texttt{hp2xx} package},
- subtitle = {HP GL converter},
- author = {{Unknown}},
- date = {2017-04-18},
- version = {3.4.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/hp2xx},
- url = {https://ctan.org/pkg/hp2xx},
-}
-
-@manual{ctan-hpgl2ps,
- title = {The \texttt{hpgl2ps} package},
- subtitle = {Translate HPGL to PostScript},
- author = {Doc McCormick},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/hpgl2ps},
- url = {https://ctan.org/pkg/hpgl2ps},
-}
-
-@manual{ctan-hpsdiss,
- title = {The \texttt{hpsdiss} package},
- subtitle = {A dissertation class},
- author = {Hanspeter Schmid},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hpsdiss},
- url = {https://ctan.org/pkg/hpsdiss},
-}
-
-@manual{ctan-href-ul,
- title = {The \texttt{href-ul} package},
- subtitle = {Underscored \LaTeX{} hyperlinks},
- author = {Yegor Bugayenko},
- date = {2022-10-31},
- version = {0.3.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/href-ul},
- url = {https://ctan.org/pkg/href-ul},
- annotation = {This \LaTeX{} package makes hyperlinks underscored, just like on the web.
- The package uses
- and
- .},
-}
-
-@manual{ctan-hrefhide,
- title = {The \texttt{hrefhide} package},
- subtitle = {Suppress hyper links when printing},
- author = {Hans-Martin Münch},
- date = {2023-02-26},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hrefhide},
- url = {https://ctan.org/pkg/hrefhide},
-}
-
-@manual{ctan-hrhyph,
- title = {The \texttt{hrhyph} package},
- subtitle = {Croatian hyphenation},
- author = {Igor Marinović},
- date = {2018-01-06},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/hyphenation/hrhyph.tex},
- url = {https://ctan.org/pkg/hrhyph},
-}
-
-@manual{ctan-hrlatex,
- title = {The \texttt{hrlatex} package},
- subtitle = {\LaTeX{} support for Croatian documents},
- author = {Marcel Maretić},
- date = {2018-01-06},
- version = {0.23},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/croatian/hrlatex},
- url = {https://ctan.org/pkg/hrlatex},
- annotation = {This package simplifies creation of new documents for the
- (average) Croatian user. As an example, a class file
- (designed for the graduation thesis at the University of Zagreb)
- and sample thesis documents are included.},
-}
-
-@manual{ctan-hsindex,
- title = {The \texttt{hsindex} package},
- subtitle = {An alternative index processor to imakeidx written with Haskell},
- author = {Jean-Luc Joulin},
- date = {2022-04-05},
- version = {0.12.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/indexing/hsindex},
- url = {https://ctan.org/pkg/hsindex},
-}
-
-@manual{ctan-html2latex,
- title = {The \texttt{html2latex} package},
- subtitle = {Convert HTML to \LaTeX{}},
- author = {Peter Thatcher and Stan Seibert and Nathan Torkington and Roland Reimers},
- date = {2017-04-18},
- version = {1.1},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/html2latex},
- url = {https://ctan.org/pkg/html2latex},
-}
-
-@manual{ctan-htmlhelp,
- title = {The \texttt{htmlhelp} package},
- subtitle = {HTML translation of VMS help files},
- author = {Norman Walsh and George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/htmlhelp},
- url = {https://ctan.org/pkg/htmlhelp},
-}
-
-@manual{ctan-hu-berlin-bundle,
- title = {The \texttt{hu-berlin-bundle} package},
- subtitle = {\LaTeX{} classes for the Humboldt-Universität zu Berlin},
- author = {Lukas C. Bossert},
- date = {2021-01-31},
- version = {1.1.1},
- license = {lppl1.3c,gpl2,bsd3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/hu-berlin-bundle},
- url = {https://ctan.org/pkg/hu-berlin-bundle},
-}
-
-@manual{ctan-huawei,
- title = {The \texttt{huawei} package},
- subtitle = {Template for Huawei documents},
- author = {Yegor Bugayenko},
- date = {2022-12-13},
- version = {0.15.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/huawei},
- url = {https://ctan.org/pkg/huawei},
-}
-
-@manual{ctan-huaz,
- title = {The \texttt{huaz} package},
- subtitle = {Automatic Hungarian definite articles},
- author = {Tibor Tómács},
- date = {2022-11-05},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/huaz},
- url = {https://ctan.org/pkg/huaz},
- annotation = {In Hungarian there are two definite articles, “a” and “az”,
- which are determined by the pronunciation of the subsequent
- word. The definite article is “az”, if the first phoneme of
- the pronounced word is a vowel, otherwise it is “a”.
- The package helps the user to insert automatically
- the correct definite article for cross-references and
- other commands containing text.},
-}
-
-@manual{ctan-huhyph,
- title = {The \texttt{huhyph} package},
- subtitle = {Hyphenation patterns for the Hungarian language},
- author = {Gyula Mayer},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/hyphenation/huhyph.tex},
- url = {https://ctan.org/pkg/huhyph},
- annotation = {This set of patterns is now superseded by those in the
- .},
-}
-
-@manual{ctan-hulipsum,
- title = {The \texttt{hulipsum} package},
- subtitle = {Hungarian dummy text (Lórum ipse)},
- author = {Tibor Tómács},
- date = {2020-11-03},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hulipsum},
- url = {https://ctan.org/pkg/hulipsum},
-}
-
-@manual{ctan-humanbio,
- title = {The \texttt{humanbio} package},
- subtitle = {Bibliography style for "Human Biology"},
- author = {Alan Rogers},
- date = {2016-06-24},
- version = {1.1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/humanbio.bst},
- url = {https://ctan.org/pkg/humanbio},
- annotation = {A style derived from in the
- bundle, adopting further
- features from ; use with the
- \LaTeX{} package that comes with astron.},
-}
-
-@manual{ctan-humanist,
- title = {The \texttt{humanist} package},
- subtitle = {Humanist manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2018-01-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/humanist},
- url = {https://ctan.org/pkg/humanist},
-}
-
-@manual{ctan-humannat,
- title = {The \texttt{humannat} package},
- subtitle = {Bibliography style for "Human Nature" and "American Anthropologist"},
- author = {Alan Rogers},
- date = {2016-06-24},
- version = {1.03},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/humannat.bst},
- url = {https://ctan.org/pkg/humannat},
- annotation = {A style derived from in the
- distribution, adopting further
- features from ; use with the
- \LaTeX{} package that comes with astron.},
-}
-
-@manual{ctan-huncial,
- title = {The \texttt{huncial} package},
- subtitle = {Fonts based on the half Uncial manuscript book-hand},
- author = {Peter R. Wilson},
- date = {2016-07-29},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/huncial},
- url = {https://ctan.org/pkg/huncial},
-}
-
-@manual{ctan-hungarian,
- title = {The \texttt{hungarian} package},
- subtitle = {New Hungarian hyphenation patterns},
- author = {Bence Nagy},
- date = {2016-11-05},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/hungarian/hyphenation},
- url = {https://ctan.org/pkg/hungarian},
- annotation = {These patterns are a modern substitute for those in the
- package.},
-}
-
-@manual{ctan-hustthesis,
- title = {The \texttt{hustthesis} package},
- subtitle = {Unofficial thesis template for Huazhong University},
- author = {Xu Cheng},
- date = {2017-04-18},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hustthesis},
- url = {https://ctan.org/pkg/hustthesis},
-}
-
-@manual{ctan-hvarabic,
- title = {The \texttt{hvarabic} package},
- subtitle = {Macros for RTL typesetting},
- author = {Herbert Voß},
- date = {2021-06-01},
- version = {0.02},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hvarabic},
- url = {https://ctan.org/pkg/hvarabic},
-}
-
-@manual{ctan-hvdashln,
- title = {The \texttt{hvdashln} package},
- subtitle = {Horizontal and vertical dashed lines in arrays and tabulars},
- author = {Hiroshi Nakashima},
- date = {2018-01-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/hvdashln.sty},
- url = {https://ctan.org/pkg/hvdashln},
-}
-
-@manual{ctan-hvextern,
- title = {The \texttt{hvextern} package},
- subtitle = {Write and execute external code, and insert the output},
- author = {Herbert Voß},
- date = {2023-01-29},
- version = {0.33},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hvextern},
- url = {https://ctan.org/pkg/hvextern},
-}
-
-@manual{ctan-hvfloat,
- title = {The \texttt{hvfloat} package},
- subtitle = {Controlling captions, fullpage and doublepage floats},
- author = {Herbert Voß},
- date = {2023-01-28},
- version = {2.45},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hvfloat},
- url = {https://ctan.org/pkg/hvfloat},
- annotation = {This package defines a macro to place objects (tables and
- figures) and their captions in different positions with
- different rotating angles within a float. All objects and captions can be
- framed. The main command is ; a simple example is
- .
- Options are provided to place captions to the right or left, and
- rotated. Setting nonFloat=true results in placing the float
- here.},
-}
-
-@manual{ctan-hvindex,
- title = {The \texttt{hvindex} package},
- subtitle = {Support for indexing},
- author = {Herbert Voß},
- date = {2022-01-25},
- version = {0.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hvindex},
- url = {https://ctan.org/pkg/hvindex},
- annotation = {The package simplifies the indexing of words using the
- command of .
- With the package, to index a word in a text, you only have to type
- it once; the package makes sure it is both typeset and indexed.},
-}
-
-@manual{ctan-hvlogos,
- title = {The \texttt{hvlogos} package},
- subtitle = {Print \TeX{}-related names as logo},
- author = {Herbert Voß},
- date = {2022-05-08},
- version = {0.09},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hvlogos},
- url = {https://ctan.org/pkg/hvlogos},
-}
-
-@manual{ctan-hvmath-fonts,
- title = {The \texttt{hvmath-fonts} package},
- subtitle = {Bitmap versions of the Micropress HV-Math fonts (Helvetica Maths)},
- author = {{MicroPress}},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/micropress/hvmath},
- url = {https://ctan.org/pkg/hvmath-fonts},
-}
-
-@manual{ctan-hvmath,
- title = {The \texttt{hvmath} package},
- subtitle = {Support for using the Micropress HV-Math fonts (Helvetica Maths)},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx/hvmath},
- url = {https://ctan.org/pkg/hvmath},
- annotation = {Typeset math in a style that suits the Adobe Helvetica
- text fonts. Commercial (Adobe type 1) versions of the HV-Math
- fonts are available from Micropress; free bitmap versions of the
- fonts from the
- directories.},
-}
-
-@manual{ctan-hvpygmentex,
- title = {The \texttt{hvpygmentex} package},
- subtitle = {Syntax-Highlighting of program code},
- author = {Herbert Voß},
- date = {2022-03-08},
- version = {0.01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hvpygmentex},
- url = {https://ctan.org/pkg/hvpygmentex},
- annotation = {The package is based on but
- provides an automatic run from within the document itself, with
- the option . It does not need the additional action
- by the user to run the external program to create
- the code snippets.},
-}
-
-@manual{ctan-hvqrurl,
- title = {The \texttt{hvqrurl} package},
- subtitle = {Insert a QR code in the margin},
- author = {Herbert Voß},
- date = {2021-05-18},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hvqrurl},
- url = {https://ctan.org/pkg/hvqrurl},
- annotation = {This package allows to draw an URL as a QR code into the margin
- of a one- or twosided document. The following packages are
- loaded by default:
- ,
- ,
- ,
- and
- .},
-}
-
-@manual{ctan-hwemoji,
- title = {The \texttt{hwemoji} package},
- subtitle = {Unicode emoji support for pdf\LaTeX{} with sequences},
- author = {{Unknown}},
- date = {2022-11-16},
- version = {1.0},
- license = {lppl1.3c,cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hwemoji},
- url = {https://ctan.org/pkg/hwemoji},
-}
-
-@manual{ctan-hwkatakana,
- title = {The \texttt{hwkatakana} package},
- subtitle = {Half-width katakana fonts},
- author = {Gernot Hassenpflug},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/hwkatakana},
- url = {https://ctan.org/pkg/hwkatakana},
-}
-
-@manual{ctan-hyacc-cm,
- title = {The \texttt{hyacc-cm} package},
- subtitle = {Hyphenation using 7-bit fonts},
- author = {Daniel Flipo and Laurent Siebenmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/hyacc-cm},
- url = {https://ctan.org/pkg/hyacc-cm},
-}
-
-@manual{ctan-hybrid-latex,
- title = {The \texttt{hybrid-latex} package},
- subtitle = {Allow active Python code in \LaTeX{} documents},
- author = {Leo Christopher Brewin},
- date = {2018-10-04},
- version = {0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hybrid-latex},
- url = {https://ctan.org/pkg/hybrid-latex},
-}
-
-@manual{ctan-hycolor,
- title = {The \texttt{hycolor} package},
- subtitle = {Implements colour for packages hyperref and bookmark},
- author = {Heiko Oberdiek},
- date = {2020-01-28},
- version = {1.10},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hycolor},
- url = {https://ctan.org/pkg/hycolor},
- annotation = {This package provides the code for the option
- that is used by packages
- and .
- It is not intended as package for the user.},
-}
-
-@manual{ctan-hypbmsec,
- title = {The \texttt{hypbmsec} package},
- subtitle = {Hypertext bookmarks in sectioning commands},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {2.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/hypbmsec.dtx},
- url = {https://ctan.org/pkg/hypbmsec},
-}
-
-@manual{ctan-hypcap,
- title = {The \texttt{hypcap} package},
- subtitle = {Adjusting the anchors of captions},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/hypcap.dtx},
- url = {https://ctan.org/pkg/hypcap},
-}
-
-@manual{ctan-hypdestopt,
- title = {The \texttt{hypdestopt} package},
- subtitle = {Hyperref destination optimizer},
- author = {Heiko Oberdiek},
- date = {2020-09-07},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hypdestopt},
- url = {https://ctan.org/pkg/hypdestopt},
- annotation = {This package supports 's
- pdfTeX driver. It removes unnecessary destinations
- and shortens the destination names or uses numbered destinations
- to get smaller PDF files.},
-}
-
-@manual{ctan-hypdoc,
- title = {The \texttt{hypdoc} package},
- subtitle = {Hyper extensions for doc.sty},
- author = {Heiko Oberdiek},
- date = {2023-01-23},
- version = {1.18},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hypdoc},
- url = {https://ctan.org/pkg/hypdoc},
- annotation = {This package adds hypertext features to the package
- that is used in the documentation
- system of . Bookmarks are added
- and references are linked as far as possible.},
-}
-
-@manual{ctan-hypdvips,
- title = {The \texttt{hypdvips} package},
- subtitle = {Hyperref extensions for use with dvips},
- author = {Raimund Niedrist},
- date = {2019-08-01},
- version = {3.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hypdvips},
- url = {https://ctan.org/pkg/hypdvips},
- annotation = {The hypdvips package fixes some problems when using
- with dvips. It also adds
- support for breaking links, file attachments, embedded documents
- and different types of GoTo-links. The cooperation of hyperref
- with is improved, which in
- addition allows an enhanced back-referencing system.},
-}
-
-@manual{ctan-hyper,
- title = {The \texttt{hyper} package},
- subtitle = {Hypertext cross referencing},
- author = {Michael Mehlich},
- date = {2016-06-24},
- version = {4.2d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyper},
- url = {https://ctan.org/pkg/hyper},
-}
-
-@manual{ctan-hyperbar,
- title = {The \texttt{hyperbar} package},
- subtitle = {Add interactive Barcode fields to PDF forms},
- author = {Marcel Krüger},
- date = {2018-07-07},
- version = {0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyperbar},
- url = {https://ctan.org/pkg/hyperbar},
-}
-
-@manual{ctan-hyperlatex,
- title = {The \texttt{hyperlatex} package},
- subtitle = {A restricted \LaTeX{} system that also produces HTML},
- author = {Otfried Cheong and Tom Sgouros},
- date = {2017-04-18},
- version = {2.9},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/hyperlatex},
- url = {https://ctan.org/pkg/hyperlatex},
-}
-
-@manual{ctan-hypernat,
- title = {The \texttt{hypernat} package},
- subtitle = {Allow hyperref and natbib to work together},
- author = {Jens Berger},
- date = {2020-01-04},
- version = {1.0b},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hypernat},
- url = {https://ctan.org/pkg/hypernat},
- annotation = {Allows package and the
- package with options
- 'numbers' and 'sort\&compress' to work together. This means that
- multiple sequential citations (e.g [3,2,1]) will be compressed
- to [1-3], where the '1' and the '3' are (color-)linked to the
- bibliography.},
-}
-
-@manual{ctan-hyperref,
- title = {The \texttt{hyperref} package},
- subtitle = {Extensive support for hypertext in \LaTeX{}},
- author = {Heiko Oberdiek and Sebastian Rahtz and {Oberdiek Package Support Group} and {The \LaTeX{} Project Team}},
- date = {2023-02-08},
- version = {7.00v},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyperref},
- url = {https://ctan.org/pkg/hyperref},
-}
-
-@manual{ctan-hyperxmp,
- title = {The \texttt{hyperxmp} package},
- subtitle = {Embed XMP metadata within a \LaTeX{} document},
- author = {Scott Pakin},
- date = {2023-02-20},
- version = {5.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyperxmp},
- url = {https://ctan.org/pkg/hyperxmp},
-}
-
-@manual{ctan-hypgotoe,
- title = {The \texttt{hypgotoe} package},
- subtitle = {Links to embedded files},
- author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/hypgotoe.dtx},
- url = {https://ctan.org/pkg/hypgotoe},
-}
-
-@manual{ctan-hyph-utf8,
- title = {The \texttt{hyph-utf8} package},
- subtitle = {Hyphenation patterns expressed in UTF-8},
- author = {Mojca Miklavec and Arthur Rosendahl and Manuel Pégourié-Gonnard and Élie Roux and Khaled Hosny},
- date = {2021-08-26},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/hyph-utf8},
- url = {https://ctan.org/pkg/hyph-utf8},
-}
-
-@manual{ctan-hyphen-accent,
- title = {The \texttt{hyphen-accent} package},
- subtitle = {\LaTeX{} 2.09 code for using DC fonts},
- author = {Daniel Taupin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/hyphen-accent},
- url = {https://ctan.org/pkg/hyphen-accent},
-}
-
-@manual{ctan-hyphen-spanish,
- title = {The \texttt{hyphen-spanish} package},
- subtitle = {Standard hyphenation rules for Spanish},
- author = {Javier Bezos López and Francesc Carmona},
- date = {2020-04-20},
- version = {5.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/spanish/hyphen-spanish},
- url = {https://ctan.org/pkg/hyphen-spanish},
- annotation = {This directory is a permanent place for the latest official
- release of the hyphenation patterns for the Spanish language,
- valid for
- ,
- , and
- ,
- with the tools used to generate them.},
-}
-
-@manual{ctan-hyphenat,
- title = {The \texttt{hyphenat} package},
- subtitle = {Disable/enable hypenation},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {2.3c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyphenat},
- url = {https://ctan.org/pkg/hyphenat},
-}
-
-@manual{ctan-hyphenation-greek,
- title = {The \texttt{hyphenation-greek} package},
- subtitle = {Hyphenation patterns for ancient and modern Greek},
- author = {Dimitrios Filippou},
- date = {2016-06-24},
- version = {4.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/elhyphen},
- url = {https://ctan.org/pkg/hyphenation-greek},
- annotation = {Contains the hyphenation patterns for ancient Greek and modern
- Greek in polytonic (multi-accent) and monotonic (uni-accent)
- systems. The hyphenation patterns will work perfectly with the
- babel option or with Dryllerakis’
- GreeKTeX. The patterns can
- easily be converted for use with the fonts (see the
- package),
- or with Omega/Lambda (see the
- package).
- For any other Greek package, the patterns will have to be re-coded.},
-}
-
-@manual{ctan-hyphenex,
- title = {The \texttt{hyphenex} package},
- subtitle = {US English hyphenation exceptions file},
- author = {Werner Lemberg and Barbara Beeton and Karl Berry},
- date = {2021-08-26},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/digests/tugboat/hyphenex},
- url = {https://ctan.org/pkg/hyphenex},
-}
-
-@manual{ctan-hyphsubst,
- title = {The \texttt{hyphsubst} package},
- subtitle = {Substitute hyphenation patterns},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/hyphsubst.dtx},
- url = {https://ctan.org/pkg/hyphsubst},
-}
-
-@manual{ctan-hypht1,
- title = {The \texttt{hypht1} package},
- subtitle = {Additional hyphenation patterns},
- author = {Bernd Raichle},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/hypht1.tex},
- url = {https://ctan.org/pkg/hypht1},
-}
-
-@manual{ctan-hyplain,
- title = {The \texttt{HyPlain} package},
- subtitle = {Basic support for multiple languages in Plain \TeX{}},
- author = {Enrico Gregorio},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/hyplain},
- url = {https://ctan.org/pkg/hyplain},
-}
-
-@manual{ctan-i-ching,
- title = {The \texttt{i-ching} package},
- subtitle = {An i-ching package},
- author = {Włodek Bzyl},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/i-ching},
- url = {https://ctan.org/pkg/i-ching},
- annotation = {A complete Plain \TeX{}-based i-ching divination system, including an
- Adobe Type 1 font for the characters. Translations are derived
- from Alan Stanier's work in his
- package.},
-}
-
-@manual{ctan-iagproc,
- title = {The \texttt{iagproc} package},
- subtitle = {Class for two column IAG Proceedings articles},
- author = {Martin Vermeer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/iagproc.cls},
- url = {https://ctan.org/pkg/iagproc},
-}
-
-@manual{ctan-iahyphen,
- title = {The \texttt{iahyphen} package},
- subtitle = {Hyphenation patterns for Interlingua},
- author = {Peter Kleiweg},
- date = {2016-06-24},
- version = {0.2c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/iahyphen.tex},
- url = {https://ctan.org/pkg/iahyphen},
- annotation = {is an
- “international auxiliary language”.},
-}
-
-@manual{ctan-ibarra,
- title = {The \texttt{ibarra} package},
- subtitle = {\LaTeX{} support for the Ibarra Real Nova family of fonts},
- author = {Bob Tennent},
- date = {2022-10-01},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/ibarra},
- url = {https://ctan.org/pkg/ibarra},
-}
-
-@manual{ctan-ibm,
- title = {The \texttt{ibm} package},
- subtitle = {Metrics for IBM fonts},
- author = {Sebastian Rahtz},
- date = {2019-06-21},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/fonts/psfonts/ibm},
- url = {https://ctan.org/pkg/ibm},
-}
-
-@manual{ctan-ibmres-tex,
- title = {The \texttt{ibmres-tex} package},
- subtitle = {A semi-automated approach to the production of resumes},
- author = {George B Leeman},
- date = {2016-06-24},
- version = {1.01},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/ibmres-tex},
- url = {https://ctan.org/pkg/ibmres-tex},
-}
-
-@manual{ctan-ibrackets,
- title = {The \texttt{ibrackets} package},
- subtitle = {Intelligent brackets},
- author = {Antoine Missier},
- date = {2022-12-28},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ibrackets},
- url = {https://ctan.org/pkg/ibrackets},
- annotation = {This small package provides a new definition of brackets and
- as active characters to get correct blank spaces in mathematical mode when using
- for open intervals. Instead of parenthesis: is equivalent to
- .},
-}
-
-@manual{ctan-ibycus-babel,
- title = {The \texttt{ibycus-babel} package},
- subtitle = {Use the Ibycus 4 Greek font with Babel},
- author = {Peter J. Heslin},
- date = {2016-06-24},
- version = {3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/greek/ibycus-babel},
- url = {https://ctan.org/pkg/ibycus-babel},
- annotation = {The package allows you to use the Ibycus 4 font for ancient
- Greek with Babel. It uses a Perl script to generate
- hyphenation patterns for Ibycus from those for the ordinary
- Babel encoding, . It
- sets up as a pseudo-language you can specify in
- the normal Babel manner. For proper hyphenation of Greek quoted
- in mid-paragraph, you should use it with (all
- current distributions of \LaTeX{} are built
- with , so the constraint should not
- be onerous).},
-}
-
-@manual{ctan-ibygrk,
- title = {The \texttt{ibygrk} package},
- subtitle = {Fonts and macros to typeset ancient Greek},
- author = {Walter A. Schmidt and Keiran Harcombe and Pierre A. MacKay},
- date = {2021-12-07},
- version = {4.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/greek/ibygrk},
- url = {https://ctan.org/pkg/ibygrk},
-}
-
-@manual{ctan-icehyph,
- title = {The \texttt{icehyph} package},
- subtitle = {Icelandic hyphenation patterns},
- author = {Jörgen Pind and Marteinn Sverrisson},
- date = {2016-11-05},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/icehyph.tex},
- url = {https://ctan.org/pkg/icehyph},
- annotation = {Hyphenation patterns for Icelandic; apparently designed for a
- modern encoding (by contrast with
- , whose encoding is not
- apparently published.},
-}
-
-@manual{ctan-icelandic,
- title = {The \texttt{icelandic} package},
- subtitle = {Icelandic Fonts},
- author = {Jörgen Pind},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/icelandic},
- url = {https://ctan.org/pkg/icelandic},
-}
-
-@manual{ctan-iching,
- title = {The \texttt{iching} package},
- subtitle = {A font for I Ching divinations},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/iching},
- url = {https://ctan.org/pkg/iching},
- annotation = {A \LaTeX{} file is provided to print out divinations, using the
- font (supplied as Metafont source). The macro
- in the \LaTeX{} file is a simplified beast, in which significance is
- only accorded to one line in the hexagram.},
-}
-
-@manual{ctan-icite,
- title = {The \texttt{icite} package},
- subtitle = {Indices locorum citatorum},
- author = {Robert Alessi},
- date = {2020-03-05},
- version = {1.3a},
- license = {gpl3+,cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/icite},
- url = {https://ctan.org/pkg/icite},
- annotation = {The package is designed to produce from BibTeX or Bib\LaTeX{} bibliographical databases
- the different indices of authors and works cited which are called indices locorum citatorum.
- It relies on a specific command and can operate with either BibTeX or BibLaTeX.},
-}
-
-@manual{ctan-icomma,
- title = {The \texttt{icomma} package},
- subtitle = {Intelligent commas for decimal numbers},
- author = {Walter A. Schmidt},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/was},
- url = {https://ctan.org/pkg/icomma},
-}
-
-@manual{ctan-icon-appr,
- title = {The \texttt{icon-appr} package},
- subtitle = {Creates icon appearances for form buttons},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/icon-appr},
- url = {https://ctan.org/pkg/icon-appr},
-}
-
-@manual{ctan-icons,
- title = {The \texttt{icons} package},
- subtitle = {TeX icons},
- author = {Manuel Carriba and Hippocrates Sendoukas},
- date = {2016-06-24},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/support/icons},
- url = {https://ctan.org/pkg/icons},
-}
-
-@manual{ctan-icsv,
- title = {The \texttt{icsv} package},
- subtitle = {Class for typesetting articles for the ICSV conference},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/conferences/icsv},
- url = {https://ctan.org/pkg/icsv},
- annotation = {This is an ad-hoc class for typesetting articles for the ICSV
- conference, based on the earler
- by the same author.},
-}
-
-@manual{ctan-idealfonts,
- title = {The \texttt{idealfonts} package},
- subtitle = {Font and \LaTeX{} support for Textures users},
- author = {Bernard Gaulle},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/mac/textures/contrib/IdealFonts},
- url = {https://ctan.org/pkg/idealfonts},
-}
-
-@manual{ctan-identkey,
- title = {The \texttt{identkey} package},
- subtitle = {Typesetting bracketed dichotomous identification keys},
- author = {Robert White},
- date = {2021-03-31},
- version = {0.1.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/identkey},
- url = {https://ctan.org/pkg/identkey},
-}
-
-@manual{ctan-idverb,
- title = {The \texttt{idverb} package},
- subtitle = {Inline verbatim identifiers},
- author = {Joachim Schrod},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/js-misc},
- url = {https://ctan.org/pkg/idverb},
- annotation = {Typeset identifiers (and other short things) verbatim, using the
- notation. This package is part of the
- bundle.},
-}
-
-@manual{ctan-idxcmds,
- title = {The \texttt{idxcmds} package},
- subtitle = {Semantic commands for adding formatted index entries},
- author = {Clemens Niederberger},
- date = {2020-03-25},
- version = {0.2c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/idxcmds},
- url = {https://ctan.org/pkg/idxcmds},
-}
-
-@manual{ctan-idxlayout,
- title = {The \texttt{idxlayout} package},
- subtitle = {Configurable index layout, responsive to KOMA-Script and memoir},
- author = {Thomas Titz},
- date = {2016-06-24},
- version = {0.4d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/idxlayout},
- url = {https://ctan.org/pkg/idxlayout},
- annotation = {The idxlayout package offers a key-value interface to configure
- index layout parameters, e.g. allowing for three-column indexes or
- for “parent” items and their affiliated subitems
- being typeset as a single paragraph. The package is responsive to
- the index-related options and commands of the
- and
- classes.},
-}
-
-@manual{ctan-idxtex,
- title = {The \texttt{idxtex} package},
- subtitle = {An index processor},
- author = {R L Aurbach and Fred Hantelmann and Stefano Ianigro},
- date = {2016-06-24},
- version = {3.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/indexing/glo+idxtex},
- url = {https://ctan.org/pkg/idxtex},
-}
-
-@manual{ctan-ieeeannot,
- title = {The \texttt{IEEEannot} package},
- subtitle = {A sorting version of IEEEtran.bst},
- author = {Titus Barik and Michael Shell},
- date = {2017-04-18},
- version = {1.11},
- license = {artistic},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/IEEEannot.bst},
- url = {https://ctan.org/pkg/ieeeannot},
-}
-
-@manual{ctan-ieeeconf,
- title = {The \texttt{IEEEconf} package},
- subtitle = {Macros for IEEE conference proceedings},
- author = {Scott Pakin},
- date = {2021-06-23},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/IEEEconf},
- url = {https://ctan.org/pkg/ieeeconf},
- annotation = {The IEEEconf class implements the
-
- dictated by the IEEE Computer Society Press for conference proceedings.},
-}
-
-@manual{ctan-ieeepes,
- title = {The \texttt{ieeepes} package},
- subtitle = {IEEE Power Engineering Society Transactions},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- version = {4.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ieeepes},
- url = {https://ctan.org/pkg/ieeepes},
-}
-
-@manual{ctan-ieeetran,
- title = {The \texttt{IEEEtran} package},
- subtitle = {Document class for IEEE Transactions journals and conferences},
- author = {Michael Shell},
- date = {2021-06-24},
- version = {1.8b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/IEEEtran},
- url = {https://ctan.org/pkg/ieeetran},
-}
-
-@manual{ctan-ieeetrantools,
- title = {The \texttt{ieeetrantools} package},
- subtitle = {Functionality from IEEEtran for use with other classes},
- author = {Michael Shell},
- date = {2021-06-24},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/IEEEtran/tools},
- url = {https://ctan.org/pkg/ieeetrantools},
- annotation = {The package provides several commands from the
- so that they can
- be used under other \LaTeX{} classes; the package should not be used
- in a document that uses that parent class. The user guide only covers the
- ways in which usage differs from that in the parent class; thus
- the documentation of that class should be regarded as part of the
- documentation for the package.},
-}
-
-@manual{ctan-ieejtran,
- title = {The \texttt{IEEJtran} package},
- subtitle = {Unofficial bibliography style file for the Institute of Electrical Engineers of Japan},
- author = {Haruki Ejiri},
- date = {2023-01-27},
- version = {0.19},
- license = {mit},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/ieejtran},
- url = {https://ctan.org/pkg/ieejtran},
- annotation = {This package provides an BibTeX style
- for authors of the Institute of Electrical Engineers of
- Japan (IEEJ) transactions journals and conferences.},
-}
-
-@manual{ctan-ietfbibs,
- title = {The \texttt{ietfbibs} package},
- subtitle = {Generate BibTeX entries for various IETF index files},
- author = {Richard Mortier},
- date = {2017-04-18},
- version = {1.0.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/ietfbibs},
- url = {https://ctan.org/pkg/ietfbibs},
-}
-
-@manual{ctan-iexec,
- title = {The \texttt{iexec} package},
- subtitle = {Execute shell commands and input their output},
- author = {Yegor Bugayenko},
- date = {2022-11-01},
- version = {0.11.4},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/iexec},
- url = {https://ctan.org/pkg/iexec},
- annotation = {With the help of the command, you can execute
- a shell command and then input its output into your document.
- This package also lets you use any special symbols inside your command.},
-}
-
-@manual{ctan-ifacmtg,
- title = {The \texttt{ifacmtg} package},
- subtitle = {Elsevier Science preprint style for IFAC meetings},
- author = {Simon Pepping},
- date = {2016-06-24},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifacmtg},
- url = {https://ctan.org/pkg/ifacmtg},
- annotation = {To prepare a paper for an IFAC meeting, using \LaTeX{}, the author
- needs a bibliography style such as
- .},
-}
-
-@manual{ctan-ifallfalse,
- title = {The \texttt{ifallfalse} package},
- subtitle = {Compare a string against a set of other strings},
- author = {Dennis Chen},
- date = {2021-07-23},
- version = {2.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifallfalse},
- url = {https://ctan.org/pkg/ifallfalse},
-}
-
-@manual{ctan-ifdraft,
- title = {The \texttt{ifdraft} package},
- subtitle = {Detect “draft” and “final” class options},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/ifdraft.dtx},
- url = {https://ctan.org/pkg/ifdraft},
-}
-
-@manual{ctan-ifetex,
- title = {The \texttt{ifetex} package},
- subtitle = {Provides \textbackslash{}ifetex switch},
- author = {{The \LaTeX{} Project Team} and Martin Scharrer},
- date = {2022-10-26},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/iftex},
- url = {https://ctan.org/pkg/ifetex},
-}
-
-@manual{ctan-iffont,
- title = {The \texttt{iffont} package},
- subtitle = {Conditionally load fonts with fontspec},
- author = {Benjamin Weiss},
- date = {2017-04-18},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/iffont},
- url = {https://ctan.org/pkg/iffont},
-}
-
-@manual{ctan-iflang,
- title = {The \texttt{iflang} package},
- subtitle = {Expandable checks for the current language},
- author = {Heiko Oberdiek},
- date = {2018-09-08},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/iflang.dtx},
- url = {https://ctan.org/pkg/iflang},
-}
-
-@manual{ctan-ifluatex,
- title = {The \texttt{ifluatex} package},
- subtitle = {Provides the \textbackslash{}ifluatex switch},
- author = {{The \LaTeX{} Project Team} and Heiko Oberdiek},
- date = {2022-02-05},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/iftex},
- url = {https://ctan.org/pkg/ifluatex},
-}
-
-@manual{ctan-ifmslide,
- title = {The \texttt{ifmslide} package},
- subtitle = {Presentation slides for screen and printouts},
- author = {Thomas Emmel},
- date = {2016-06-24},
- version = {0.47},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifmslide},
- url = {https://ctan.org/pkg/ifmslide},
- annotation = {This package is used to produce printed slides with \LaTeX{} and
- online presentations with pdfLaTeX. It is provided by the
- ‘Institute of Mechanics’ (ifm) Univ. of
- Technology Darmstadt, Germany. It is based on ideas of
- , but completely rewritten
- for compatibility with texpower and
- . The manual
- describes all functions and provides a sample.},
-}
-
-@manual{ctan-ifmtarg,
- title = {The \texttt{ifmtarg} package},
- subtitle = {If-then-else command for processing potentially empty arguments},
- author = {Will Robertson and Peter R. Wilson},
- date = {2018-04-16},
- version = {1.2b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifmtarg},
- url = {https://ctan.org/pkg/ifmtarg},
-}
-
-@manual{ctan-ifnextok,
- title = {The \texttt{ifnextok} package},
- subtitle = {Utility macro: peek ahead without ignoring spaces},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifnextok},
- url = {https://ctan.org/pkg/ifnextok},
-}
-
-@manual{ctan-ifoddpage,
- title = {The \texttt{ifoddpage} package},
- subtitle = {Determine if the current page is odd or even},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifoddpage},
- url = {https://ctan.org/pkg/ifoddpage},
- annotation = {The package provides an conditional to determine
- if the current page is odd or even. The macro
- must be used direct before to check the page number using a label.
- Two compiler runs are therefore required to achieve correct results.
- In addition, the conditional is provided
- which is also true in oneside mode where all pages use the odd page layout.},
-}
-
-@manual{ctan-ifpdf,
- title = {The \texttt{ifpdf} package},
- subtitle = {Provides the \textbackslash{}ifpdf conditional},
- author = {{The \LaTeX{} Project Team} and Heiko Oberdiek},
- date = {2022-02-05},
- version = {3.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/iftex},
- url = {https://ctan.org/pkg/ifpdf},
-}
-
-@manual{ctan-ifplatform,
- title = {The \texttt{ifplatform} package},
- subtitle = {Conditionals to test which platform is being used},
- author = {Will Robertson and Johannes Große},
- date = {2017-12-07},
- version = {0.4a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifplatform},
- url = {https://ctan.org/pkg/ifplatform},
-}
-
-@manual{ctan-ifptex,
- title = {The \texttt{ifptex} package},
- subtitle = {Check if the engine is pTeX or one of its derivatives},
- author = {Takayuki Yato},
- date = {2022-04-08},
- version = {2.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/generic/ifptex},
- url = {https://ctan.org/pkg/ifptex},
- annotation = {The package is a counterpart of
- ,
- , etc.
- for the engine.
- The package is an alias to
- provided for backward compatibility.},
-}
-
-@manual{ctan-ifsym,
- title = {The \texttt{ifsym} package},
- subtitle = {A collection of symbols},
- author = {Ingo Klöckl},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/ifsym},
- url = {https://ctan.org/pkg/ifsym},
-}
-
-@manual{ctan-iftex,
- title = {The \texttt{iftex} package},
- subtitle = {Am I running under pdfTeX, XeTeX or LuaTeX?},
- author = {{The \LaTeX{} Project Team} and Vafa Khalighi},
- date = {2022-02-05},
- version = {1.0f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/iftex},
- url = {https://ctan.org/pkg/iftex},
-}
-
-@manual{ctan-ifthen,
- title = {The \texttt{ifthen} package},
- subtitle = {Conditional commands in \LaTeX{} documents},
- author = {Leslie Lamport and David Carlisle and {The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.1d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/ifthen},
-}
-
-@manual{ctan-ifthenx,
- title = {The \texttt{ifthenx} package},
- subtitle = {Extra tests for \textbackslash{}ifthenelse},
- author = {Geoffrey Jones},
- date = {2016-06-24},
- version = {0.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ifthenx},
- url = {https://ctan.org/pkg/ifthenx},
-}
-
-@manual{ctan-ifvtex,
- title = {The \texttt{ifvtex} package},
- subtitle = {Detects use of VTeX and its facilities},
- author = {{The \LaTeX{} Project Team} and Heiko Oberdiek},
- date = {2022-02-05},
- version = {1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/iftex},
- url = {https://ctan.org/pkg/ifvtex},
-}
-
-@manual{ctan-ifxetex,
- title = {The \texttt{ifxetex} package},
- subtitle = {Am I running under XeTeX?},
- author = {{The \LaTeX{} Project Team} and Will Robertson},
- date = {2022-02-05},
- version = {0.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/iftex},
- url = {https://ctan.org/pkg/ifxetex},
-}
-
-@manual{ctan-ifxptex,
- title = {The \texttt{ifxptex} package},
- subtitle = {Detect pTeX and its derivatives},
- author = {Yue Zhang},
- date = {2017-12-27},
- version = {0.2},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/generic/ifxptex},
- url = {https://ctan.org/pkg/ifxptex},
-}
-
-@manual{ctan-igo,
- title = {The \texttt{igo} package},
- subtitle = {Fonts and macro to typeset Go diagrams},
- author = {Étienne Dupuis},
- date = {2016-06-24},
- version = {0.62},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/igo},
- url = {https://ctan.org/pkg/igo},
- annotation = {This package is based on the package
- written in 1991 by Hanna
- Kołodziejska which provides typesetting facilities for Go games
- and positions. Although igo contains roughly the same commands
- as the original package and uses the fonts created by
- Kołodziejska, it has been improved in a number of ways. It uses
- command names less likely to conflict with standard AMS
- packages. It allows different board sizes to be used. It
- understands a standardized notation for board coordinates. And
- it provides a facility to work on more than one board.
- Moreover, a few commands were reworked to define positions or
- game sequences more conveniently.},
-}
-
-@manual{ctan-iitem,
- title = {The \texttt{iitem} package},
- subtitle = {Multiple level of lists in one list-like environment},
- author = {Ben Vitecek},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/iitem},
- url = {https://ctan.org/pkg/iitem},
- annotation = {The package defines multiple level lists within one list-like environment.
- instead of writing
-
- this package allows you to write},
-}
-
-@manual{ctan-ijc,
- title = {The \texttt{ijc} package},
- subtitle = {International Journal of Control style},
- author = {Silvano Balemi},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/ijc},
- url = {https://ctan.org/pkg/ijc},
-}
-
-@manual{ctan-ijcai89,
- title = {The \texttt{ijcai89} package},
- subtitle = {Format papers for IJCAI 1989},
- author = {Peter Patel-Schneider},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/ijcai89},
- url = {https://ctan.org/pkg/ijcai89},
-}
-
-@manual{ctan-ijmart,
- title = {The \texttt{ijmart} package},
- subtitle = {\LaTeX{} Class for the Israel Journal of Mathematics},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ijmart},
- url = {https://ctan.org/pkg/ijmart},
- annotation = {The Israel Journal of Mathematics is published by The Hebrew
- University Magnes Press. This class provides \LaTeX{} support for
- its authors and editors. It strives to achieve the distinct
- “look and feel” of the journal, while having the
- interface similar to that of the
- document class. This will help
- authors already familiar with amsart to easily submit manuscripts
- for The Israel Journal of Mathematics or to put the preprints in
- with minimal changes in the
- \LaTeX{} source.},
-}
-
-@manual{ctan-ijqc,
- title = {The \texttt{ijqc} package},
- subtitle = {BibTeX style file for the Intl. J. Quantum Chem},
- author = {Richard J Mathar},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/ijqc},
- url = {https://ctan.org/pkg/ijqc},
-}
-
-@manual{ctan-ijsra,
- title = {The \texttt{ijsra} package},
- subtitle = {\LaTeX{} document class for the International Journal of Student Research in Archaeology},
- author = {Lukas C. Bossert},
- date = {2017-07-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ijsra},
- url = {https://ctan.org/pkg/ijsra},
-}
-
-@manual{ctan-imac,
- title = {The \texttt{imac} package},
- subtitle = {International Modal Analysis Conference format},
- author = {Joseph Slater},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/imac},
- url = {https://ctan.org/pkg/imac},
-}
-
-@manual{ctan-image-gallery,
- title = {The \texttt{image-gallery} package},
- subtitle = {Create an overview of pictures from a digital camera or from other sources},
- author = {Rolf Niepraschk},
- date = {2016-06-24},
- version = {1.0j},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/image-gallery},
- url = {https://ctan.org/pkg/image-gallery},
-}
-
-@manual{ctan-imakeidx,
- title = {The \texttt{imakeidx} package},
- subtitle = {A package for producing multiple indexes},
- author = {Claudio Beccari and Enrico Gregorio},
- date = {2016-10-15},
- version = {1.3e},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/imakeidx},
- url = {https://ctan.org/pkg/imakeidx},
- annotation = {The package enables the user to produce and typeset one or more
- indexes simultaneously with a document. The package is known to
- work in \LaTeX{} documents processed with pdfLaTeX, \XeLaTeX{} and
- LuaLaTeX. If is used for
- processing the index entries, no particular setting up is needed
- when \TeX{} Live is used. Using or
- other programs it is necessary to enable shell escape; shell
- escape is also needed if
- is used.},
-}
-
-@manual{ctan-imaketex,
- title = {The \texttt{Imake-TeX} package},
- subtitle = {An Imake system for \TeX{}},
- author = {Rainer Klute},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/imaketex},
- url = {https://ctan.org/pkg/imaketex},
-}
-
-@manual{ctan-imfellenglish,
- title = {The \texttt{imfellEnglish} package},
- subtitle = {IM Fell English fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-01},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/imfellenglish},
- url = {https://ctan.org/pkg/imfellenglish},
-}
-
-@manual{ctan-imfellflowers,
- title = {The \texttt{imfellflowers} package},
- subtitle = {IM Fell Flower OpenType fonts},
- author = {Bob Tennent},
- date = {2019-10-14},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/imfellflowers},
- url = {https://ctan.org/pkg/imfellflowers},
-}
-
-@manual{ctan-impatient,
- title = {The \texttt{impatient} package},
- subtitle = {Free edition of the book "TeX for the Impatient"},
- author = {Paul W. Abrahams and Kathryn A. Hargreaves and Karl Berry},
- date = {2020-01-07},
- version = {2020},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/impatient},
- url = {https://ctan.org/pkg/impatient},
-}
-
-@manual{ctan-impnattypo,
- title = {The \texttt{impnattypo} package},
- subtitle = {Support typography of l’Imprimerie Nationale Française},
- author = {Raphaël Pinson},
- date = {2019-03-04},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/impnattypo},
- url = {https://ctan.org/pkg/impnattypo},
-}
-
-@manual{ctan-import,
- title = {The \texttt{import} package},
- subtitle = {Establish input relative to a directory},
- author = {Donald Arseneau},
- date = {2020-04-03},
- version = {6.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/import},
- url = {https://ctan.org/pkg/import},
-}
-
-@manual{ctan-impose,
- title = {The \texttt{impose} package},
- subtitle = {PostScript imposition and support utilities},
- author = {Dov Grobgeld},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/impose},
- url = {https://ctan.org/pkg/impose},
-}
-
-@manual{ctan-imprintmtshadow,
- title = {The \texttt{imprintmtshadow} package},
- subtitle = {Support files for the Monotype Imprint Shadow fonts},
- author = {Boris Veytsman},
- date = {2021-09-11},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/imprintmtshadow},
- url = {https://ctan.org/pkg/imprintmtshadow},
-}
-
-@manual{ctan-imsproc,
- title = {The \texttt{imsproc} package},
- subtitle = {Typeset IMS conference proceedings},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/imsproc},
- url = {https://ctan.org/pkg/imsproc},
-}
-
-@manual{ctan-imtekda,
- title = {The \texttt{IMTEKda} package},
- subtitle = {IMTEK thesis class},
- author = {Simon Dreher},
- date = {2016-06-24},
- version = {1.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/imtekda},
- url = {https://ctan.org/pkg/imtekda},
-}
-
-@manual{ctan-incgraph,
- title = {The \texttt{incgraph} package},
- subtitle = {Sophisticated graphics inclusion in a PDF document},
- author = {Thomas F. Sturm},
- date = {2021-10-20},
- version = {1.2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/incgraph},
- url = {https://ctan.org/pkg/incgraph},
-}
-
-@manual{ctan-includernw,
- title = {The \texttt{includeRnw} package},
- subtitle = {Include .Rnw inside .tex},
- author = {Andreas Storvik Strauman},
- date = {2018-05-01},
- version = {0.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/includernw},
- url = {https://ctan.org/pkg/includernw},
-}
-
-@manual{ctan-includex,
- title = {The \texttt{includex} package},
- subtitle = {Extended \textbackslash{}include},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {0.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein/unsupported},
- url = {https://ctan.org/pkg/includex},
-}
-
-@manual{ctan-inconsolata,
- title = {The \texttt{inconsolata} package},
- subtitle = {A monospaced font, with support files for use with \TeX{}},
- author = {Raph Levien and Karl Berry and Michael Sharpe},
- date = {2019-06-23},
- version = {1.121},
- license = {ofl,apache2,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/inconsolata},
- url = {https://ctan.org/pkg/inconsolata},
-}
-
-@manual{ctan-indent,
- title = {The \texttt{indent} package},
- subtitle = {Environments that change margins},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/indent.sty},
- url = {https://ctan.org/pkg/indent},
-}
-
-@manual{ctan-indentfirst,
- title = {The \texttt{indentfirst} package},
- subtitle = {Indent first paragraph after section header},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.03},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/indentfirst},
- annotation = {This minimalist package is part of the
-
- bundle in the \LaTeX{}
- distribution.},
-}
-
-@manual{ctan-index,
- title = {The \texttt{index} package},
- subtitle = {Extended index for \LaTeX{} including multiple indexes},
- author = {David M. Jones},
- date = {2016-06-24},
- version = {4.1beta},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/index},
- url = {https://ctan.org/pkg/index},
- annotation = {This is a reimplementation of \LaTeX{}'s indexing macros to provide
- better support for indexing. For example, it supports multiple
- indexes in a single document and provides a more robust
- command. It supplies short hand notations for the
- command () and a * variation of
- (abbreviated ) that prints the
- word being indexed, as well as creating an index entry for it.},
-}
-
-@manual{ctan-indextools,
- title = {The \texttt{indextools} package},
- subtitle = {Producing multiple indices},
- author = {Maïeul Rouquette},
- date = {2016-06-24},
- version = {1.5.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/indextools},
- url = {https://ctan.org/pkg/indextools},
-}
-
-@manual{ctan-indic-type1,
- title = {The \texttt{indic-type1} package},
- subtitle = {Indic Type 1 fonts converted from public Metafont sources},
- author = {Karel Píška},
- date = {2020-06-07},
- version = {2.05a},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/indic},
- url = {https://ctan.org/pkg/indic-type1},
-}
-
-@manual{ctan-induni-om,
- title = {The \texttt{induni-om} package},
- subtitle = {Omega fonts for characters used in study of Sanskrit},
- author = {John Smith},
- date = {2020-06-07},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/induni-om},
- url = {https://ctan.org/pkg/induni-om},
- annotation = {The files are a comprehensive set of virtual fonts for the Latin
- glyphs used in the study of Sanskrit and similar languages. The
- virtual fonts are built for use with
- , and use the
- as
- base fonts.},
-}
-
-@manual{ctan-indxcite,
- title = {The \texttt{indxcite} package},
- subtitle = {Generate author index based on citations},
- author = {James Ashton},
- date = {2016-06-24},
- version = {1.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/indxcite},
- url = {https://ctan.org/pkg/indxcite},
- annotation = {A package to automatically generate an Author Index based
- on citations made using BibTeX. It requires the use of the
- and
- packages and \LaTeX{}2e.},
-}
-
-@manual{ctan-infpic,
- title = {The \texttt{infpic} package},
- subtitle = {Macros to insert pictures in paragraphs},
- author = {Oldrich Ulrych},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/infpic},
- url = {https://ctan.org/pkg/infpic},
-}
-
-@manual{ctan-infwarerr,
- title = {The \texttt{infwarerr} package},
- subtitle = {Complete set of information/warning/error message macros},
- author = {Heiko Oberdiek},
- date = {2019-12-06},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/infwarerr},
- url = {https://ctan.org/pkg/infwarerr},
-}
-
-@manual{ctan-inhyph,
- title = {The \texttt{inhyph} package},
- subtitle = {Hyphenation patterns for Bahasa Indonesia},
- author = {Jörg Knappen and Terry Mart},
- date = {2018-01-06},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/hyphenation/inhyph.tex},
- url = {https://ctan.org/pkg/inhyph},
-}
-
-@manual{ctan-initials,
- title = {The \texttt{initials} package},
- subtitle = {Adobe Type 1 decorative initial fonts},
- author = {Dieter Steffmann and Maurizio Loreti},
- date = {2019-07-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/initials},
- url = {https://ctan.org/pkg/initials},
- annotation = {For each font, at least a and a file
- is provided, with an file for use with \LaTeX{}.},
-}
-
-@manual{ctan-inkpaper,
- title = {The \texttt{inkpaper} package},
- subtitle = {A mathematical paper template},
- author = {Moyan Liang},
- date = {2019-07-06},
- version = {1.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/inkpaper},
- url = {https://ctan.org/pkg/inkpaper},
-}
-
-@manual{ctan-inline-images,
- title = {The \texttt{inline-images} package},
- subtitle = {Inline images in base64 encoding},
- author = {Marc Wäckerlin},
- date = {2021-09-16},
- version = {1.0},
- license = {lgpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/inline-images},
- url = {https://ctan.org/pkg/inline-images},
-}
-
-@manual{ctan-inlinebib,
- title = {The \texttt{inlinebib} package},
- subtitle = {Citations in footnotes},
- author = {René Seindal},
- date = {2018-01-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/inlinebib},
- url = {https://ctan.org/pkg/inlinebib},
-}
-
-@manual{ctan-inlinedef,
- title = {The \texttt{inlinedef} package},
- subtitle = {Inline expansions within definitions},
- author = {Stephen Hicks},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/inlinedef},
- url = {https://ctan.org/pkg/inlinedef},
- annotation = {The package provides a macro that precedes a
- or . Within the definition text of an
- inlined definition, keywords such as may be used
- to selectively inline certain expansions at definition-time. This
- eases the process of redefining macros in terms of the original
- definition, as well as definitions in which the token that must be
- expanded is deep within, where would be
- difficult and is not suitable. Another application
- is as an easier version of , by defining a
- macro in terms of expanded local variables, then ending the group
- with .},
-}
-
-@manual{ctan-inlinelabel,
- title = {The \texttt{inlinelabel} package},
- subtitle = {Assign equation numbers to inline equations},
- author = {Yukoh Kusakabe},
- date = {2022-07-15},
- version = {1.2.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/inlinelabel},
- url = {https://ctan.org/pkg/inlinelabel},
-}
-
-@manual{ctan-innerscript,
- title = {The \texttt{innerscript} package},
- subtitle = {Modifies automatic mathematics spacing},
- author = {Conrad Kosowsky},
- date = {2021-02-11},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/innerscript},
- url = {https://ctan.org/pkg/innerscript},
- annotation = {This package modifies two aspects of \TeX{}'s automatic interatom
- mathematics spacing. It uses LuaTeX's primitives
- to make superscripts and subscripts more closely resemble
- and math and to treat
- subformulas as ,
- effectively eliminating this class.},
-}
-
-@manual{ctan-inputenc,
- title = {The \texttt{inputenc} package},
- subtitle = {Accept different input encodings},
- author = {Alan Jeffrey and Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.3d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/inputenc},
-}
-
-@manual{ctan-inputenx,
- title = {The \texttt{inputenx} package},
- subtitle = {Enhanced input encoding handling},
- author = {Heiko Oberdiek},
- date = {2019-12-01},
- version = {1.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/inputenx},
- url = {https://ctan.org/pkg/inputenx},
- annotation = {This package deals with input encodings. It provides a wider range
- of input encodings using standard mappings, than does
- ; it also covers nearly all
- slots. In this way, it serves as more uptodate replacement for package
- .},
-}
-
-@manual{ctan-inputfile,
- title = {The \texttt{inputfile} package},
- subtitle = {Input \LaTeX{} files, remembering the file name},
- author = {R. Tucci},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/inputfile.sty},
- url = {https://ctan.org/pkg/inputfile},
- annotation = {The package keeps the file name as the file is input; the name of
- the current file may be retrieved using the command
- .},
-}
-
-@manual{ctan-inputnormalization,
- title = {The \texttt{inputnormalization} package},
- subtitle = {Wrapper for XeTeX's and LuaTeX's input normalization},
- author = {Marcel Krüger},
- date = {2021-07-07},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/generic/inputnormalization},
- url = {https://ctan.org/pkg/inputnormalization},
- annotation = {This package provides a cross engine interface to normalizing
- input before it's read by \TeX{}. It is based on XeTeX's
- primitive and for LuaTeX.},
-}
-
-@manual{ctan-inputtrc,
- title = {The \texttt{inputtrc} package},
- subtitle = {Trace which file loads which},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/inputtrc},
- url = {https://ctan.org/pkg/inputtrc},
-}
-
-@manual{ctan-inriafonts,
- title = {The \texttt{inriafonts} package},
- subtitle = {Inria fonts with \LaTeX{} support},
- author = {Nicolas Markey},
- date = {2019-01-28},
- version = {1.0},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/inriafonts},
- url = {https://ctan.org/pkg/inriafonts},
-}
-
-@manual{ctan-inrstex,
- title = {The \texttt{inrstex} package},
- subtitle = {Extended Plain \TeX{} for use with MLTeX},
- author = {Michael J. Ferguson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/inrstex},
- url = {https://ctan.org/pkg/inrstex},
- annotation = {INRSTeX supports the preparation of documents in several
- languages, using ordinary fonts. It is usable with any \TeX{}
- system, but is most useful when using ordinary CM fonts with an
- system. The macros include
- support for PostScript graphics.},
-}
-
-@manual{ctan-insbox,
- title = {The \texttt{insbox} package},
- subtitle = {Insert pictures/boxes into paragraphs},
- author = {Michal Gulczynski},
- date = {2016-06-24},
- version = {2.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/insbox},
- url = {https://ctan.org/pkg/insbox},
-}
-
-@manual{ctan-inscrutable,
- title = {The \texttt{inscrutable} package},
- subtitle = {A response to Perl hackers' silliness},
- author = {Andrew Greene},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/inscrutable.tex},
- url = {https://ctan.org/pkg/inscrutable},
-}
-
-@manual{ctan-insdljs,
- title = {The \texttt{insdljs} package},
- subtitle = {Insert document-level JavaScript in \LaTeX{} documents},
- author = {Donald P. Story},
- date = {2021-06-19},
- version = {2.5.5},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/acrotex},
- url = {https://ctan.org/pkg/insdljs},
-}
-
-@manual{ctan-inslrmaj,
- title = {The \texttt{inslrmaj} package},
- subtitle = {Fonts based on the Insular Majuscule manuscript book-hand},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/inslrmaj},
- url = {https://ctan.org/pkg/inslrmaj},
-}
-
-@manual{ctan-inslrmin,
- title = {The \texttt{inslrmin} package},
- subtitle = {Fonts based on the Insular Minuscule manuscript book-hand},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/inslrmin},
- url = {https://ctan.org/pkg/inslrmin},
-}
-
-@manual{ctan-install-latex-guide-zh-cn,
- title = {The \texttt{Install-LaTeX-Guide-zh-cn} package},
- subtitle = {A short introduction to \LaTeX{} installation written in Chinese},
- author = {Ran Wang},
- date = {2023-01-02},
- version = {2023.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/install-latex-guide-zh-cn},
- url = {https://ctan.org/pkg/install-latex-guide-zh-cn},
-}
-
-@manual{ctan-installfont,
- title = {The \texttt{installfont} package},
- subtitle = {A bash script for installing a \LaTeX{} font family},
- author = {Josef Kleber},
- date = {2018-01-06},
- version = {1.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/installfont},
- url = {https://ctan.org/pkg/installfont},
-}
-
-@manual{ctan-intcalc,
- title = {The \texttt{intcalc} package},
- subtitle = {Expandable arithmetic operations with integers},
- author = {Heiko Oberdiek},
- date = {2019-12-21},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/intcalc},
- url = {https://ctan.org/pkg/intcalc},
- annotation = {This package provides expandable arithmetic operations
- with integers, using the e-TeX extension if it
- is available.},
-}
-
-@manual{ctan-inter,
- title = {The \texttt{inter} package},
- subtitle = {The inter font face with support for \LaTeX{}, \XeLaTeX{}, and LuaLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-04-17},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/inter},
- url = {https://ctan.org/pkg/inter},
- annotation = {This package provides \LaTeX{}, pdfLaTeX, \XeLaTeX{} and Lua\LaTeX{} support for the
- Inter Sans family of fonts (version 3.015), designed by Rasmus Andersson.
- Inter is a typeface specially designed for user interfaces with focus
- on high legibility of small-to-medium sized text on computer screens.
- The family features a tall x-height to aid in readability of mixed-case
- and lower-case text.},
-}
-
-@manual{ctan-interactiveanimation,
- title = {The \texttt{interactiveanimation} package},
- subtitle = {Create PDF files with branching animations},
- author = {Luis Gonzáles and Javier Toro and Pedro Linares},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/interactiveanimation},
- url = {https://ctan.org/pkg/interactiveanimation},
-}
-
-@manual{ctan-interactiveplot,
- title = {The \texttt{interactiveplot} package},
- subtitle = {Provides an interface to create interactive 2D/3D functions inside a PDF file},
- author = {Roberto Bock and Pedro Linares and Javier Toro},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/interactiveplot},
- url = {https://ctan.org/pkg/interactiveplot},
-}
-
-@manual{ctan-interactiveworkbook,
- title = {The \texttt{interactiveworkbook} package},
- subtitle = {LaTeX-based interactive PDF on the Web},
- author = {Jonathan Kuhn},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/interactiveworkbook},
- url = {https://ctan.org/pkg/interactiveworkbook},
-}
-
-@manual{ctan-interchar,
- title = {The \texttt{interchar} package},
- subtitle = {Managing character class schemes in XeTeX},
- author = {Zou Hu},
- date = {2017-04-18},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/interchar},
- url = {https://ctan.org/pkg/interchar},
-}
-
-@manual{ctan-interfaces,
- title = {The \texttt{interfaces} package},
- subtitle = {Set parameters for other packages, conveniently},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/interfaces},
- url = {https://ctan.org/pkg/interfaces},
-}
-
-@manual{ctan-interpol,
- title = {The \texttt{interpol} package},
- subtitle = {Add interpolation to MetaPost graph package},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- version = {1.04},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/misc/interpol.mp},
- url = {https://ctan.org/pkg/interpol},
-}
-
-@manual{ctan-interpreter,
- title = {The \texttt{interpreter} package},
- subtitle = {Translate input files on the fly},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/interpreter},
- url = {https://ctan.org/pkg/interpreter},
-}
-
-@manual{ctan-interval,
- title = {The \texttt{interval} package},
- subtitle = {Format mathematical intervals, ensuring proper spacing},
- author = {Lars Madsen},
- date = {2019-03-06},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/interval},
- url = {https://ctan.org/pkg/interval},
-}
-
-@manual{ctan-intex,
- title = {The \texttt{intex} package},
- subtitle = {Support typesetting and indexing words and phrases},
- author = {Martin Thorsen Ranange},
- date = {2016-06-24},
- version = {1.8.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/intex},
- url = {https://ctan.org/pkg/intex},
-}
-
-@manual{ctan-intopdf,
- title = {The \texttt{intopdf} package},
- subtitle = {Embed non-PDF files into PDF with hyperlink},
- author = {Marcel Krüger},
- date = {2022-07-26},
- version = {0.4.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/intopdf},
- url = {https://ctan.org/pkg/intopdf},
-}
-
-@manual{ctan-intro-scientific,
- title = {The \texttt{intro-scientific} package},
- subtitle = {Introducing scientific/mathematical documents using \LaTeX{}},
- author = {Andrew J. Bennieston},
- date = {2016-06-24},
- version = {5th edition},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/intro-scientific},
- url = {https://ctan.org/pkg/intro-scientific},
-}
-
-@manual{ctan-inversepath,
- title = {The \texttt{inversepath} package},
- subtitle = {Calculate inverse file paths},
- author = {Will Robertson},
- date = {2018-01-06},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/inversepath},
- url = {https://ctan.org/pkg/inversepath},
-}
-
-@manual{ctan-invertedparagraphs,
- title = {The \texttt{invertedparagraphs} package},
- subtitle = {Indented text with negative paragraph indentation},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/invertedparagraphs.tex},
- url = {https://ctan.org/pkg/invertedparagraphs},
-}
-
-@manual{ctan-invoice-class,
- title = {The \texttt{invoice-class} package},
- subtitle = {Produces a standard US invoice from a CSV file},
- author = {Alan Munn},
- date = {2019-01-20},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/invoice-class},
- url = {https://ctan.org/pkg/invoice-class},
-}
-
-@manual{ctan-invoice,
- title = {The \texttt{invoice} package},
- subtitle = {Generate invoices},
- author = {Oliver Corff},
- date = {2018-08-07},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/invoice},
- url = {https://ctan.org/pkg/invoice},
-}
-
-@manual{ctan-invoice2,
- title = {The \texttt{invoice2} package},
- subtitle = {Intelligent invoices with \LaTeX{}3},
- author = {Simon Dierl},
- date = {2018-01-17},
- version = {},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/invoice2},
- url = {https://ctan.org/pkg/invoice2},
-}
-
-@manual{ctan-iodhbwm,
- title = {The \texttt{iodhbwm} package},
- subtitle = {Unofficial template of the DHBW Mannheim},
- author = {Felix Faltin},
- date = {2021-02-17},
- version = {1.2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/iodhbwm},
- url = {https://ctan.org/pkg/iodhbwm},
- annotation = {This package provides an template of the
- for the
- creation of bachelor thesis, studies or project work with
- \LaTeX{}. The aim of the package is the quick creation of a basic
- framework without much effort.},
-}
-
-@manual{ctan-ionumbers,
- title = {The \texttt{ionumbers} package},
- subtitle = {Restyle numbers in maths mode},
- author = {Christian Schneider},
- date = {2018-01-06},
- version = {0.3.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ionumbers},
- url = {https://ctan.org/pkg/ionumbers},
-}
-
-@manual{ctan-iopart-num,
- title = {The \texttt{iopart-num} package},
- subtitle = {Numeric citation style for IOP journals},
- author = {Mark Caprio},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/iopart-num},
- url = {https://ctan.org/pkg/iopart-num},
-}
-
-@manual{ctan-ipa,
- title = {The \texttt{ipa} package},
- subtitle = {\LaTeX{} macros for using WSUIPA fonts},
- author = {Denis B. Roegel and Andrej Brodnik},
- date = {2019-06-21},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/wsuipa},
- url = {https://ctan.org/pkg/ipa},
- annotation = {The package comprises alternative \LaTeX{} support of the
- fonts.
- On CTAN (and in the \TeX{} Live distribution),
- these macros are to be found with the fonts themselves.},
-}
-
-@manual{ctan-ipaex-type1,
- title = {The \texttt{ipaex-type1} package},
- subtitle = {IPAex fonts converted to Type-1 format Unicode subfonts},
- author = {Takayuki Yato},
- date = {2018-05-13},
- version = {0.5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/ipaex-type1},
- url = {https://ctan.org/pkg/ipaex-type1},
-}
-
-@manual{ctan-ipaex,
- title = {The \texttt{ipaex} package},
- subtitle = {IPA (Japanese) fonts},
- author = {{Information-technology Promotion Agency, Japan} and Hironori Kitagawa and Norbert Preining},
- date = {2021-05-26},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/ipaex},
- url = {https://ctan.org/pkg/ipaex},
-}
-
-@manual{ctan-is-bst,
- title = {The \texttt{is-bst} package},
- subtitle = {Extended versions of standard BibTeX styles},
- author = {Nelson H. F. Beebe},
- date = {2019-11-05},
- version = {2.03},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/is-bst},
- url = {https://ctan.org/pkg/is-bst},
-}
-
-@manual{ctan-iscram,
- title = {The \texttt{iscram} package},
- subtitle = {A \LaTeX{} class to publish article to ISCRAM conferences},
- author = {Paul Gaborit},
- date = {2018-01-07},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/iscram},
- url = {https://ctan.org/pkg/iscram},
-}
-
-@manual{ctan-isf,
- title = {The \texttt{isf} package},
- subtitle = {Access italic computer modern sans in \LaTeX{} 2.09},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/isf.sty},
- url = {https://ctan.org/pkg/isf},
-}
-
-@manual{ctan-ishyph,
- title = {The \texttt{ishyph} package},
- subtitle = {Hyphenation patterns for Icelandic},
- author = {Jörgen Pind},
- date = {2016-11-05},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/hyphenation/ishyph.tex},
- url = {https://ctan.org/pkg/ishyph},
- annotation = {These patterns are supposedly based on the encoding of the
- ‘Icelandic Roman’ fonts, so are probably of little
- use nowadays without some translation process; the
- is probably a better bet, nowadays.},
-}
-
-@manual{ctan-isi2bib,
- title = {The \texttt{isi2bib-vim} package},
- subtitle = {Vim script to convert bib database from ISI to BibTeX format},
- author = {Ajit Thakkar},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/vim/isi2bib.vim},
- url = {https://ctan.org/pkg/isi2bib},
-}
-
-@manual{ctan-isi2bibtex,
- title = {The \texttt{isi2bibtex} package},
- subtitle = {Converter for ISI to BibTeX},
- author = {John J. Lee},
- date = {2016-10-27},
- version = {0.33},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/isi2bibtex},
- url = {https://ctan.org/pkg/isi2bibtex},
-}
-
-@manual{ctan-iso-tex,
- title = {The \texttt{ISO-TeX} package},
- subtitle = {Display (La)TeX accented letters in GNU Emacs},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/iso-tex},
- url = {https://ctan.org/pkg/iso-tex},
-}
-
-@manual{ctan-iso,
- title = {The \texttt{iso} package},
- subtitle = {Generic ISO standards typesetting macros},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {2.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isostds/iso},
- url = {https://ctan.org/pkg/iso},
-}
-
-@manual{ctan-iso10303,
- title = {The \texttt{iso10303} package},
- subtitle = {Typesetting the STEP standards},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isostds/iso10303},
- url = {https://ctan.org/pkg/iso10303},
- annotation = {Class and package files building on
- for typesetting the ISO 10303 (STEP) standards. Standard
- documents prepared using these packages have been published by ISO.},
-}
-
-@manual{ctan-iso209,
- title = {The \texttt{iso209} package},
- subtitle = {A document style for ISO standards},
- author = {Nicolas North},
- date = {2016-06-24},
- version = {2.6},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/iso},
- url = {https://ctan.org/pkg/iso209},
- annotation = {An early predecessor of Wilson’s
- .},
-}
-
-@manual{ctan-isodate,
- title = {The \texttt{isodate} package},
- subtitle = {Tune the output format of dates according to language},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {2.28},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isodate},
- url = {https://ctan.org/pkg/isodate},
-}
-
-@manual{ctan-isodoc,
- title = {The \texttt{isodoc} package},
- subtitle = {A \LaTeX{} class for typesetting letters and invoices},
- author = {Wybo H. Dekker},
- date = {2021-06-25},
- version = {1.14},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isodoc},
- url = {https://ctan.org/pkg/isodoc},
-}
-
-@manual{ctan-isolatin1,
- title = {The \texttt{isolatin1} package},
- subtitle = {An obsolete means to use ISO 8859-1 with \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {0.9},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/isolatin1.sty},
- url = {https://ctan.org/pkg/isolatin1},
-}
-
-@manual{ctan-isomath,
- title = {The \texttt{isomath} package},
- subtitle = {Mathematics style for science and technology},
- author = {Günter Milde},
- date = {2018-01-06},
- version = {0.6.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isomath},
- url = {https://ctan.org/pkg/isomath},
-}
-
-@manual{ctan-isonums,
- title = {The \texttt{isonums} package},
- subtitle = {Display numbers in maths mode according to ISO 31-0},
- author = {Martin Väth and Luis Rivera},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isonums},
- url = {https://ctan.org/pkg/isonums},
- annotation = {The package makes a quick hack to
- to display numbers in maths mode
- according to ISO 31-0, regardless of input format (European
- \$1.235,7\$ or Anglo-American \$1,235.7\$). The options [euro, anglo]
- control the global input format. Default input format is anglo.
- Documentation is included as comments to the text source.},
-}
-
-@manual{ctan-isopt,
- title = {The \texttt{isopt} package},
- subtitle = {Writing a \TeX{} length with a space between number and unit},
- author = {Herbert Voß},
- date = {2018-01-07},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isopt},
- url = {https://ctan.org/pkg/isopt},
- annotation = {Writing a \TeX{} length with \textbackslash{}the writes the value and the unit
- without a space. Package isopt provides a macro
- which inserts a user defined space between number and unit.},
-}
-
-@manual{ctan-isorot,
- title = {The \texttt{isorot} package},
- subtitle = {Rotation of document elements},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isorot},
- url = {https://ctan.org/pkg/isorot},
- annotation = {The package is for rotation of document elements. It is a
- combination of the package
- and an extension of the
- package. The package is designed for use with the
- but may be used with any
- normal class.},
-}
-
-@manual{ctan-isotope,
- title = {The \texttt{isotope} package},
- subtitle = {A package for typesetting isotopes},
- author = {Heiko Bauke},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/isotope},
- url = {https://ctan.org/pkg/isotope},
- annotation = {The package provides a command for setting the atomic
- weight and atomic number indications of isotopes. (The naive way
- of doing the job with (La)TeX mathematics commands produces an
- unsatisfactory result.)},
-}
-
-@manual{ctan-ispell,
- title = {The \texttt{ispell} package},
- subtitle = {Multi-platform spell checker},
- author = {Kevin Atkinson},
- date = {2020-09-09},
- version = {3.3.02},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/ispell},
- url = {https://ctan.org/pkg/ispell},
-}
-
-@manual{ctan-issuulinks,
- title = {The \texttt{issuulinks} package},
- subtitle = {Produce external links instead of internal ones},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/issuulinks},
- url = {https://ctan.org/pkg/issuulinks},
-}
-
-@manual{ctan-ist21,
- title = {The \texttt{ist21} package},
- subtitle = {Title page for the old BSI IST/21 committee},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/ist21.sty},
- url = {https://ctan.org/pkg/ist21},
-}
-
-@manual{ctan-istgame,
- title = {The \texttt{istgame} package},
- subtitle = {Draw Game Trees with TikZ},
- author = {In-Sung Cho},
- date = {2022-03-23},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/istgame},
- url = {https://ctan.org/pkg/istgame},
-}
-
-@manual{ctan-ital,
- title = {The \texttt{ital} package},
- subtitle = {Automatic italic correction},
- author = {Dan Bernstein},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/ital.sty},
- url = {https://ctan.org/pkg/ital},
-}
-
-@manual{ctan-italic,
- title = {The \texttt{italic} package},
- subtitle = {Automatic italic correction for italic and slanted text},
- author = {Hunter Goatley},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/italic.sty},
- url = {https://ctan.org/pkg/italic},
- annotation = {The package defines commands and ,
- somewhat simpler than those in ,
- which package has wider coverage.},
-}
-
-@manual{ctan-ite,
- title = {The \texttt{iTe} package},
- subtitle = {Interactive \TeX{} editor},
- author = {Wolfgang Kühn},
- date = {2016-06-24},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/ite},
- url = {https://ctan.org/pkg/ite},
-}
-
-@manual{ctan-ithyph,
- title = {The \texttt{ithyph} package},
- subtitle = {Hyphenation patterns for the Italian language},
- author = {Claudio Beccari},
- date = {2018-10-09},
- version = {4.8g},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/language/hyphenation/ithyph.tex},
- url = {https://ctan.org/pkg/ithyph},
-}
-
-@manual{ctan-itnumpar,
- title = {The \texttt{itnumpar} package},
- subtitle = {Spell numbers in words (Italian)},
- author = {Enrico Gregorio},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/itnumpar},
- url = {https://ctan.org/pkg/itnumpar},
-}
-
-@manual{ctan-itrans-processor,
- title = {The \texttt{itrans-processor} package},
- subtitle = {Transliteration of Indian Languages},
- author = {Avinash Chopde},
- date = {2017-04-18},
- version = {5.32},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/indian/itrans},
- url = {https://ctan.org/pkg/itrans-processor},
-}
-
-@manual{ctan-ivd2dvi,
- title = {The \texttt{ivd2dvi} package},
- subtitle = {Convert IVD-DVI files to DVI},
- author = {Larry Denenberg},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/dviware/ivd2dvi},
- url = {https://ctan.org/pkg/ivd2dvi},
- annotation = {The \TeX{} extension \TeX{}-XeT (single hyphen: not to be confused with
- ) produces
- ‘IVD-DVI’ files which extend DVI files with
- ‘reflection’ commands for horizontal reversal of
- text. In general, IVD-DVI files cannot be processed by an ordinary
- DVI processor; will convert such a file to DVI so
- that it can be processed by a normal DVI driver.},
-}
-
-@manual{ctan-iwhdp,
- title = {The \texttt{iwhdp} package},
- subtitle = {Halle Institute for Economic Research (IWH) Discussion Papers},
- author = {Wilfried Ehrenfeld},
- date = {2016-06-24},
- version = {0.50},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/iwhdp},
- url = {https://ctan.org/pkg/iwhdp},
-}
-
-@manual{ctan-iwona,
- title = {The \texttt{iwona} package},
- subtitle = {A two-element sans-serif font},
- author = {Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {0.995b},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/iwona},
- url = {https://ctan.org/pkg/iwona},
-}
-
-@manual{ctan-izhitsa,
- title = {The \texttt{izhitsa} package},
- subtitle = {Support for the old Russian font "Izhitsa"},
- author = {Oleg V. Motygin},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/old_slavonic/izhitsa},
- url = {https://ctan.org/pkg/izhitsa},
-}
-
-@manual{ctan-jablantile,
- title = {The \texttt{jablantile} package},
- subtitle = {Metafont version of tiles in the style of Slavik Jablan},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/jablantile},
- url = {https://ctan.org/pkg/jablantile},
- annotation = {This is a small Metafont font to implement the modular tiles
- described by Slavik Jablan. For an outline of the theoretical
- structure of the tiles, see (for example)
- .},
-}
-
-@manual{ctan-jabref,
- title = {The \texttt{jabref} package},
- subtitle = {Graphical frontend to manage BibTeX databases},
- author = {{The JabRef Project} and Oliver Kopp and Morten Alver and Nizar Batada},
- date = {2023-01-17},
- version = {5.9},
- license = {mit},
- url = {https://ctan.org/pkg/jabref},
-}
-
-@manual{ctan-jacow,
- title = {The \texttt{jacow} package},
- subtitle = {A class for submissions to the proceedings of conferences on JACoW.org},
- author = {Volker RW Schaa},
- date = {2022-04-17},
- version = {2.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jacow},
- url = {https://ctan.org/pkg/jacow},
- annotation = {The class is used for submissions to the proceedings of conferences on
- ,
- an international collaboration that publishes the proceedings of accelerator
- conferences held around the world.},
-}
-
-@manual{ctan-jadetex,
- title = {The \texttt{jadetex} package},
- subtitle = {Macros supporting Jade DSSSL output},
- author = {Sebastian Rahtz and Ian Castle},
- date = {2017-04-18},
- version = {3.13},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/jadetex},
- url = {https://ctan.org/pkg/jadetex},
-}
-
-@manual{ctan-jamtimes,
- title = {The \texttt{jamtimes} package},
- subtitle = {Expanded Times Roman fonts},
- author = {Boris Veytsman},
- date = {2009-11-07},
- version = {1.12},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/jamtimes},
- url = {https://ctan.org/pkg/jamtimes},
-}
-
-@manual{ctan-japanese-mathformulas,
- title = {The \texttt{japanese-mathformulas} package},
- subtitle = {Compiling basic math formulas in Japanese using LuaLaTeX},
- author = {{Unknown}},
- date = {2022-10-10},
- version = {1.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/japanese-mathformulas},
- url = {https://ctan.org/pkg/japanese-mathformulas},
-}
-
-@manual{ctan-japanese-otf-uptex,
- title = {The \texttt{japanese-otf-uptex} package},
- subtitle = {Support for Japanese OTF files in upLaTeX},
- author = {Takuji Tanaka and Norbert Preining and {Japanese \TeX{} Development Community}},
- date = {2022-08-01},
- license = {bsd3},
- mirror = {https://mirror.ctan.org//macros/jptex/latex/japanese-otf},
- url = {https://ctan.org/pkg/japanese-otf-uptex},
- annotation = {This bundle has been merged into
- .},
-}
-
-@manual{ctan-japanese-otf,
- title = {The \texttt{japanese-otf} package},
- subtitle = {Advanced font selection for platex and its friends},
- author = {Norbert Preining and {Japanese \TeX{} Development Community} and Takuji Tanaka},
- date = {2023-02-23},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/japanese-otf},
- url = {https://ctan.org/pkg/japanese-otf},
- annotation = {The package contains p\LaTeX{} support files and virtual fonts for
- supporting a wide variety of fonts in \LaTeX{} using the
- .},
-}
-
-@manual{ctan-jas99,
- title = {The \texttt{jas99} package},
- subtitle = {BibTeX style for American Meteorological Society (AMS)},
- author = {Mike Moran and Piotr J. Flatau},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/biblio/bibtex/contrib/misc/jas99.bst},
- url = {https://ctan.org/pkg/jas99},
- annotation = {This style is a development of
- , and is in its turn
- superseded by .},
-}
-
-@manual{ctan-jas99m,
- title = {The \texttt{jas99\_m} package},
- subtitle = {BibTeX style for American Meteorological Society (AMS)},
- author = {Ryo Furue},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/obsolete/biblio/bibtex/contrib/misc/jas99_m.bst},
- url = {https://ctan.org/pkg/jas99m},
-}
-
-@manual{ctan-jasthesis,
- title = {The \texttt{jasthesis} package},
- subtitle = {A 'standard' thesis class},
- author = {James Shepherd},
- date = {2016-06-24},
- version = {0.5},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jasthesis},
- url = {https://ctan.org/pkg/jasthesis},
-}
-
-@manual{ctan-javabib,
- title = {The \texttt{JavaBib} package},
- subtitle = {A BibTeX file manager written in Java},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {III},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/JavaBib},
- url = {https://ctan.org/pkg/javabib},
-}
-
-@manual{ctan-javadoc,
- title = {The \texttt{javadoc} package},
- subtitle = {Documenting source code},
- author = {Matthias Jolle Kiesel},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/javadoc},
- url = {https://ctan.org/pkg/javadoc},
-}
-
-@manual{ctan-javadvi,
- title = {The \texttt{javaDVI} package},
- subtitle = {DVI viewer and printer coded in Java},
- author = {James Hurt},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/dviware/javadvi},
- url = {https://ctan.org/pkg/javadvi},
- annotation = {javaDVI is a DVI viewer and printer coded in Java, and running
- under the Java RTE 1.3 using the
- .
- The fonts are included as a file, a format suitable
- for use with javaDVI.},
-}
-
-@manual{ctan-javascript-texed,
- title = {The \texttt{javascript\_TeXed} package},
- subtitle = {Small MikTeX-editor for Win32 Intel platform},
- author = {Nick Yasko},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/support/javascript_TeXed},
- url = {https://ctan.org/pkg/javascript-texed},
-}
-
-@manual{ctan-javatex,
- title = {The \texttt{javatex} package},
- subtitle = {A Java implementation of \TeX{}},
- author = {Timothy Murphy},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/javatex},
- url = {https://ctan.org/pkg/javatex},
-}
-
-@manual{ctan-jbact,
- title = {The \texttt{jbact} package},
- subtitle = {BibTeX style for biology journals},
- author = {Thomas Schneider},
- date = {2019-11-12},
- version = {1.30},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/jbact.bst},
- url = {https://ctan.org/pkg/jbact},
-}
-
-@manual{ctan-jbibtexmanager,
- title = {The \texttt{JBibtexManager} package},
- subtitle = {Managing citations in BibTeX format},
- author = {Nizar Batada},
- date = {2017-04-18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/jbibtexmanager},
- url = {https://ctan.org/pkg/jbibtexmanager},
-}
-
-@manual{ctan-jcc,
- title = {The \texttt{jcc} package},
- subtitle = {BibTeX style file for J. Comp. Chem},
- author = {Jörg-Rüdiger Hill and Antonio Cervellino},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/chem-journal/jcc.bst},
- url = {https://ctan.org/pkg/jcc},
-}
-
-@manual{ctan-jeep,
- title = {The \texttt{jeep} package},
- subtitle = {Modified \LaTeX{}2.09 article and report styles},
- author = {G. W. Stewart},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/jeep},
- url = {https://ctan.org/pkg/jeep},
-}
-
-@manual{ctan-jeopardy,
- title = {The \texttt{jeopardy} package},
- subtitle = {Build a jeopardy game in \LaTeX{}},
- author = {Robert Mařík},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jeopardy},
- url = {https://ctan.org/pkg/jeopardy},
-}
-
-@manual{ctan-jeuxcartes,
- title = {The \texttt{JeuxCartes} package},
- subtitle = {Macros to insert playing cards},
- author = {Cédric Pierquet},
- date = {2023-02-26},
- version = {0.2.3},
- license = {lppl1.3c,lgpl2.1,pd,cc-by-sa-4,pd,mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jeuxcartes},
- url = {https://ctan.org/pkg/jeuxcartes},
- annotation = {This package provides macros to insert playing cards,
- single, or hand, or random-hand, Poker or French Tarot
- or Uno, from files.},
-}
-
-@manual{ctan-jflap2tikz,
- title = {The \texttt{jflap2tikz} package},
- subtitle = {Convert JFlap file into a \LaTeX{} file depicting the automaton using TikZ},
- author = {Andrew Mertz},
- date = {2016-06-24},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/jflap2tikz},
- url = {https://ctan.org/pkg/jflap2tikz},
- annotation = {JFlap is an excellent piece of software for experimenting with
- finite state machines, Turing machines and for exploring many aspects
- of the theory of computation. JFLAP2TikZ is a script that converts
- a JFlap ‘’ file representing a finite automaton, push
- down automaton, or Turing machine to \LaTeX{} file depicting the
- automaton graphically using TikZ.},
-}
-
-@manual{ctan-jfmutil,
- title = {The \texttt{jfmutil} package},
- subtitle = {Utility to process pTeX-extended TFM and VF},
- author = {Takayuki Yato},
- date = {2021-11-07},
- version = {1.3.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/fonts/utilities/jfmutil},
- url = {https://ctan.org/pkg/jfmutil},
- annotation = {This program provides functionality to process data files
- (JFM and VF) that form logical fonts used in
- .
- The functions currently available include:},
-}
-
-@manual{ctan-jfontmaps,
- title = {The \texttt{jfontmaps} package},
- subtitle = {Font maps and configuration tools for Japanese fonts},
- author = {Norbert Preining},
- date = {2017-01-16},
- version = {20161108.0},
- license = {pd,gpl3},
- mirror = {https://mirror.ctan.org/obsolete/language/japanese/jfontmaps},
- url = {https://ctan.org/pkg/jfontmaps},
-}
-
-@manual{ctan-jhep,
- title = {The \texttt{jhep} package},
- subtitle = {Class for JHEP},
- author = {Fabrizio Nesti},
- date = {2016-06-24},
- version = {3.1.2},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jhep},
- url = {https://ctan.org/pkg/jhep},
-}
-
-@manual{ctan-jieeetran,
- title = {The \texttt{jIEEEtran} package},
- subtitle = {UnofficiaL BibTeX style for citing Japanese articles in IEEE format},
- author = {Haruki Ejiri},
- date = {2023-01-27},
- version = {0.19},
- license = {mit},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/jieeetran},
- url = {https://ctan.org/pkg/jieeetran},
- annotation = {This package provides an BibTeX style
- for authors trying to cite Japanese articles in the Institute
- of Electrical and Electronics Engineers (IEEE) format.},
-}
-
-@manual{ctan-jigsaw,
- title = {The \texttt{jigsaw} package},
- subtitle = {Draw jigsaw pieces with TikZ},
- author = {{Unknown}},
- date = {2023-02-21},
- version = {0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/jigsaw},
- url = {https://ctan.org/pkg/jigsaw},
-}
-
-@manual{ctan-jj-game,
- title = {The \texttt{jj-game} package},
- subtitle = {A \LaTeX{} class to construct Jeopardy-like games},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {3.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jj_game},
- url = {https://ctan.org/pkg/jj-game},
-}
-
-@manual{ctan-jkmath,
- title = {The \texttt{jkmath} package},
- subtitle = {Macros for mathematics that make the code more readable},
- author = {Jonas Kaerts},
- date = {2018-04-29},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jkmath},
- url = {https://ctan.org/pkg/jkmath},
- annotation = {Inspired by the package on CTAN,
- the package defines some simple macros for mathematical notation
- which make the code more readable and/or allow flexibility
- in typesetting material.},
-}
-
-@manual{ctan-jknappen,
- title = {The \texttt{jknappen} package},
- subtitle = {Miscellaneous packages by Joerg Knappen},
- author = {Jörg Knappen},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen},
- url = {https://ctan.org/pkg/jknappen},
-}
-
-@manual{ctan-jkthesis,
- title = {The \texttt{jkthesis} package},
- subtitle = {Document class for formatting a thesis},
- author = {Jochen Küpper},
- date = {2019-06-21},
- version = {1.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jkthesis},
- url = {https://ctan.org/pkg/jkthesis},
-}
-
-@manual{ctan-jlabels,
- title = {The \texttt{jlabels} package},
- subtitle = {Make letter-sized pages of labels},
- author = {Jamal K. Tartir},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jlabels},
- url = {https://ctan.org/pkg/jlabels},
-}
-
-@manual{ctan-jlm,
- title = {The \texttt{jlm} package},
- subtitle = {Jörg's \LaTeX{} Mode - an advanced \LaTeX{} mode for Jed},
- author = {Jörg Sommer},
- date = {2016-06-24},
- version = {188},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/jed/jlm},
- url = {https://ctan.org/pkg/jlm},
-}
-
-@manual{ctan-jlreq-deluxe,
- title = {The \texttt{jlreq-deluxe} package},
- subtitle = {Multi-weight Japanese font support for the jlreq class},
- author = {Yukimasa Morimi},
- date = {2023-02-23},
- version = {0.4.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/jlreq-deluxe},
- url = {https://ctan.org/pkg/jlreq-deluxe},
- annotation = {This package provides multi-weight Japanese font support
- for the class.},
-}
-
-@manual{ctan-jlreq,
- title = {The \texttt{jlreq} package},
- subtitle = {Japanese document class based on requirements for Japanese text layout},
- author = {Noriyuki Abe},
- date = {2023-03-05},
- version = {},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/jlreq},
- url = {https://ctan.org/pkg/jlreq},
-}
-
-@manual{ctan-jmakepdfx,
- title = {The \texttt{jmakepdfx} package},
- subtitle = {A Java interface to Ghostscript to convert PDF to PDF/X},
- author = {Nicola Talbot},
- date = {2017-04-18},
- version = {0.3b},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/jmakepdfx},
- url = {https://ctan.org/pkg/jmakepdfx},
- annotation = {The package provides Java GUI application that uses Ghostscript to
- convert PDF files to PDF/X. There is a choice of CMYK or
- greyscale profile. This uses Ghostscript’s
- setting, which is analogous to Acrobat
- Distiller's “Prepress Optimized” setting.},
-}
-
-@manual{ctan-jmb,
- title = {The \texttt{jmb} package},
- subtitle = {BibTeX style for the Journal of Theoretical Biology},
- author = {Thomas Schneider},
- date = {2019-11-12},
- version = {1.21},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/jmb},
- url = {https://ctan.org/pkg/jmb},
-}
-
-@manual{ctan-jmlr,
- title = {The \texttt{jmlr} package},
- subtitle = {Class files for the Journal of Machine Learning Research},
- author = {Nicola Talbot},
- date = {2022-02-09},
- version = {1.30},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jmlr},
- url = {https://ctan.org/pkg/jmlr},
-}
-
-@manual{ctan-jmsdelim,
- title = {The \texttt{jmsdelim} package},
- subtitle = {A package for compositional delimiter sizing},
- author = {Jonathan Sterling},
- date = {2022-03-12},
- version = {0.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jmsdelim},
- url = {https://ctan.org/pkg/jmsdelim},
-}
-
-@manual{ctan-jneurosci,
- title = {The \texttt{jneurosci} package},
- subtitle = {BibTeX style for the Journal of Neuroscience},
- author = {Matthias Hennig},
- date = {2016-06-24},
- version = {1.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/jneurosci},
- url = {https://ctan.org/pkg/jneurosci},
-}
-
-@manual{ctan-jnuexam,
- title = {The \texttt{jnuexam} package},
- subtitle = {Exam class for Jinan University},
- author = {Jianrui Lyu},
- date = {2020-11-06},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jnuexam},
- url = {https://ctan.org/pkg/jnuexam},
-}
-
-@manual{ctan-jobname-suffix,
- title = {The \texttt{jobname-suffix} package},
- subtitle = {Compile differently based on the filename},
- author = {Jason Siefken},
- date = {2021-09-11},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jobname-suffix},
- url = {https://ctan.org/pkg/jobname-suffix},
- annotation = {This package allows to compile a document differently depending
- on the portion of the document’s file name (internally, the
- ) that comes after the first “-” character.
- This allows one to have one source file and multiple links to
- this source file that each compile differently.},
-}
-
-@manual{ctan-josefin,
- title = {The \texttt{josefin} package},
- subtitle = {Josefin fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-01},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/josefin},
- url = {https://ctan.org/pkg/josefin},
-}
-
-@manual{ctan-jourcl,
- title = {The \texttt{jourcl} package},
- subtitle = {Cover letter for journal submissions},
- author = {Rok Kukovec},
- date = {2022-12-16},
- version = {},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jourcl},
- url = {https://ctan.org/pkg/jourcl},
-}
-
-@manual{ctan-joy-of-tex,
- title = {The \texttt{joy-of-tex} package},
- subtitle = {User documentation for the AMS-TeX macro collection},
- author = {{The American Mathematical Society}},
- date = {2021-09-11},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/info/joy-of-tex},
- url = {https://ctan.org/pkg/joy-of-tex},
-}
-
-@manual{ctan-jpeg2ps-os2,
- title = {The \texttt{jpeg2ps-os2} package},
- subtitle = {JPEG to PostScript converter for OS/2},
- author = {Rolf Niepraschk and Stefan A. Deutscher},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/jpeg2ps/os2},
- url = {https://ctan.org/pkg/jpeg2ps-os2},
- annotation = {OS/2 port of .},
-}
-
-@manual{ctan-jpeg2ps,
- title = {The \texttt{jpeg2ps} package},
- subtitle = {Convert JPEG files to PostScript Level 2 or 3 EPS},
- author = {Thomas Merz},
- date = {2016-06-24},
- version = {1.8},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/jpeg2ps},
- url = {https://ctan.org/pkg/jpeg2ps},
-}
-
-@manual{ctan-jphysiol,
- title = {The \texttt{jphysiol} package},
- subtitle = {BibTeX style for the Journal of Physiology},
- author = {Matthias Hennig},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/jphysiol},
- url = {https://ctan.org/pkg/jphysiol},
-}
-
-@manual{ctan-jpicedt,
- title = {The \texttt{JPicEdt} package},
- subtitle = {A graphical editor generating \LaTeX{} commands},
- author = {Sylvain Reynal and Vincent Belaïche},
- date = {2019-06-09},
- version = {1.3.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/jpicedt},
- url = {https://ctan.org/pkg/jpicedt},
-}
-
-@manual{ctan-jpneduenumerate,
- title = {The \texttt{jpneduenumerate} package},
- subtitle = {Enumerative expressions in Japanese education},
- author = {Yukoh Kusakabe},
- date = {2022-07-15},
- version = {1.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jpneduenumerate},
- url = {https://ctan.org/pkg/jpneduenumerate},
-}
-
-@manual{ctan-jpnedumathsymbols,
- title = {The \texttt{jpnedumathsymbols} package},
- subtitle = {Mathematical equation representation in Japanese education},
- author = {Yukoh Kusakabe},
- date = {2022-07-15},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jpnedumathsymbols},
- url = {https://ctan.org/pkg/jpnedumathsymbols},
-}
-
-@manual{ctan-jpsj,
- title = {The \texttt{jpsj} package},
- subtitle = {Document Class for Journal of the Physical Society of Japan},
- author = {Makoto Kuwabara},
- date = {2023-02-22},
- version = {1.2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jpsj},
- url = {https://ctan.org/pkg/jpsj},
-}
-
-@manual{ctan-jqt1999,
- title = {The \texttt{jqt1999} package},
- subtitle = {Journal of Quality Technology BibTeX format},
- author = {David Forrest},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/jqt1999.bst},
- url = {https://ctan.org/pkg/jqt1999},
- annotation = {This is a derivative work of Oren Patashnik's apalike BibTeX
- style. It is a BibTeX file for the Journal of Quality Technology
- that can be used with . It
- puts semicolons between authors, quotes around titles, and 'pp.'
- before page numbers.},
-}
-
-@manual{ctan-js-misc,
- title = {The \texttt{js-misc} package},
- subtitle = {Miscellaneous macros from Joachim Schrod},
- author = {Joachim Schrod},
- date = {2016-07-17},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/js-misc},
- url = {https://ctan.org/pkg/js-misc},
-}
-
-@manual{ctan-jsclasses,
- title = {The \texttt{jsclasses} package},
- subtitle = {Classes tailored for use with Japanese},
- author = {Haruhiko Okumura and {Japanese \TeX{} Development Community}},
- date = {2023-02-23},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/jsclasses},
- url = {https://ctan.org/pkg/jsclasses},
-}
-
-@manual{ctan-jslectureplanner,
- title = {The \texttt{jslectureplanner} package},
- subtitle = {Creation and management of university course material},
- author = {Jürgen Spitzmüller},
- date = {2020-12-08},
- version = {1.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jslectureplanner},
- url = {https://ctan.org/pkg/jslectureplanner},
-}
-
-@manual{ctan-jspell,
- title = {The \texttt{jspell} package},
- subtitle = {An ASCII file spelling checker},
- author = {Joohee Jeong},
- date = {2016-06-24},
- version = {2.11},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/jspell},
- url = {https://ctan.org/pkg/jspell},
-}
-
-@manual{ctan-jtb,
- title = {The \texttt{jtb} package},
- subtitle = {BibTeX style for Journal of Theoretical Biology},
- author = {Alan Rogers},
- date = {2016-06-24},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/jtb.bst},
- url = {https://ctan.org/pkg/jtb},
-}
-
-@manual{ctan-jtbnew,
- title = {The \texttt{jtbnew} package},
- subtitle = {BibTeX style for Journal of Theoretical Biology},
- author = {Yuri Robbers},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/jtbnew.bst},
- url = {https://ctan.org/pkg/jtbnew},
- annotation = {Developed using ;
- apparently intended to supersede .},
-}
-
-@manual{ctan-jumplines,
- title = {The \texttt{jumplines} package},
- subtitle = {Articles with teasers and continuation later on},
- author = {Christian Hupfer},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jumplines},
- url = {https://ctan.org/pkg/jumplines},
-}
-
-@manual{ctan-junicode,
- title = {The \texttt{junicode} package},
- subtitle = {A TrueType font for mediaevalists},
- author = {Peter S. Baker},
- date = {2021-12-10},
- version = {1.0.2},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/junicode},
- url = {https://ctan.org/pkg/junicode},
-}
-
-@manual{ctan-jupynotex,
- title = {The \texttt{jupynotex} package},
- subtitle = {Include whole or partial Jupyter notebooks in \LaTeX{} documents},
- author = {Facundo Batista},
- date = {2020-10-28},
- version = {0.1},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jupynotex},
- url = {https://ctan.org/pkg/jupynotex},
-}
-
-@manual{ctan-jura,
- title = {The \texttt{jura} package},
- subtitle = {A document class for German legal texts},
- author = {Felix Braun},
- date = {2016-06-24},
- version = {4.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jura},
- url = {https://ctan.org/pkg/jura},
- annotation = {Implements the standard layout for German term papers in law
- (one-and-half linespacing, 7 cm margins, etc.). Includes
- that permits alphanumeric
- section numbering (e.g., A. Introduction; III. International
- Law).},
-}
-
-@manual{ctan-juraabbrev,
- title = {The \texttt{juraabbrev} package},
- subtitle = {Abbreviations for typesetting (German) juridical documents},
- author = {Lucas Wartenburger},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/juraabbrev},
- url = {https://ctan.org/pkg/juraabbrev},
-}
-
-@manual{ctan-jurabib,
- title = {The \texttt{jurabib} package},
- subtitle = {Extended BibTeX citation support for the humanities and legal texts},
- author = {Jens Berger},
- date = {2017-04-18},
- version = {0.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jurabib},
- url = {https://ctan.org/pkg/jurabib},
-}
-
-@manual{ctan-juramisc,
- title = {The \texttt{juramisc} package},
- subtitle = {Typesetting German juridical documents},
- author = {Axel Sodtalbers},
- date = {2018-01-06},
- version = {0.91},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/juramisc},
- url = {https://ctan.org/pkg/juramisc},
- annotation = {A collection of classes for typesetting court sentences, legal opinions,
- books and dissertations for German lawyers. A
- class is also provided, which may not yet be complete.},
-}
-
-@manual{ctan-jurarsp,
- title = {The \texttt{jurarsp} package},
- subtitle = {Citations of judgements and official documents in (German) juridical documents},
- author = {Lucas Wartenburger},
- date = {2016-06-24},
- version = {0.52},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jurarsp},
- url = {https://ctan.org/pkg/jurarsp},
-}
-
-@manual{ctan-justfontitte,
- title = {The \texttt{JustFontItTE} package},
- subtitle = {JustFontIt \TeX{} Edition},
- author = {Alexei Kostin},
- date = {2016-06-24},
- version = {1.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/utilities/JustFontItTE},
- url = {https://ctan.org/pkg/justfontitte},
-}
-
-@manual{ctan-jvlisting,
- title = {The \texttt{jvlisting} package},
- subtitle = {A replacement for \LaTeX{}'s verbatim package},
- author = {Jochen Voss},
- date = {2016-06-24},
- version = {0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jvlisting},
- url = {https://ctan.org/pkg/jvlisting},
-}
-
-@manual{ctan-jwjournal,
- title = {The \texttt{jwjournal} package},
- subtitle = {A personal class for writing journals},
- author = {Jinwen XU},
- date = {2023-01-07},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jwjournal},
- url = {https://ctan.org/pkg/jwjournal},
-}
-
-@manual{ctan-kalendarium,
- title = {The \texttt{kalendarium} package},
- subtitle = {Print dates according to the classical Latin calendar},
- author = {Andrew Smith},
- date = {2018-09-26},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kalendarium},
- url = {https://ctan.org/pkg/kalendarium},
- annotation = {is a \LaTeX{}3 package that provides several macros with
- which to print dates in classical Latin given days on the Julian or Gregorian calendars,
- using the same syntax used by ancient Roman authors. The format of these dates may be
- customised either in the package options or on a per-command basis; these options also
- allow for the generation of date strings according to different eras of the Classical period.},
-}
-
-@manual{ctan-kalender-209,
- title = {The \texttt{kalender-209} package},
- subtitle = {Produce page-per-day calendars},
- author = {Andreas Schrell},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/kalender.tex},
- url = {https://ctan.org/pkg/kalender-209},
-}
-
-@manual{ctan-kalender,
- title = {The \texttt{kalender} package},
- subtitle = {Create a calendar, in German},
- author = {Jörg Söhner},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kalender},
- url = {https://ctan.org/pkg/kalender},
-}
-
-@manual{ctan-kanaparser,
- title = {The \texttt{kanaparser} package},
- subtitle = {Kana parser for LuaTeX},
- author = {Adam Zahumensky},
- date = {2018-06-24},
- version = {1.0},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/kanaparser},
- url = {https://ctan.org/pkg/kanaparser},
-}
-
-@manual{ctan-kanbun,
- title = {The \texttt{kanbun} package},
- subtitle = {Typeset kanbun-kundoku with support for kanbun annotation},
- author = {Yuanhao Chen},
- date = {2022-02-14},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kanbun},
- url = {https://ctan.org/pkg/kanbun},
-}
-
-@manual{ctan-kantlipsum,
- title = {The \texttt{kantlipsum} package},
- subtitle = {Generate sentences in Kant's style},
- author = {Enrico Gregorio},
- date = {2019-07-25},
- version = {0.8a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kantlipsum},
- url = {https://ctan.org/pkg/kantlipsum},
-}
-
-@manual{ctan-karnaugh-map,
- title = {The \texttt{karnaugh-map} package},
- subtitle = {\LaTeX{} package for drawing karnaugh maps with up to 6 variables},
- author = {Mattias Jacobsson},
- date = {2022-01-15},
- version = {2.0},
- license = {cc-by-sa-3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/karnaugh-map},
- url = {https://ctan.org/pkg/karnaugh-map},
-}
-
-@manual{ctan-karnaugh,
- title = {The \texttt{karnaugh} package},
- subtitle = {Typeset Karnaugh-Veitch-maps},
- author = {Andreas W. Wieland},
- date = {2016-11-25},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/karnaugh},
- url = {https://ctan.org/pkg/karnaugh},
-}
-
-@manual{ctan-karnaughmap,
- title = {The \texttt{karnaughmap} package},
- subtitle = {Typeset Karnaugh maps},
- author = {Vonbun Michael},
- date = {2016-11-25},
- version = {2.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/karnaughmap},
- url = {https://ctan.org/pkg/karnaughmap},
-}
-
-@manual{ctan-karta,
- title = {The \texttt{karta} package},
- subtitle = {Cartographic signs},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/karta},
- url = {https://ctan.org/pkg/karta},
-}
-
-@manual{ctan-kaytannollista-latexia,
- title = {The \texttt{kaytannollista-latexia} package},
- subtitle = {Practical manual for \LaTeX{} (Finnish)},
- author = {Teemu Likonen},
- date = {2023-01-04},
- version = {2023},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/info/kaytannollista-latexia},
- url = {https://ctan.org/pkg/kaytannollista-latexia},
-}
-
-@manual{ctan-kblocks,
- title = {The \texttt{kblocks} package},
- subtitle = {Easily typeset Control Block Diagrams and Signal Flow Graphs},
- author = {Oluwasegun Somefun},
- date = {2021-02-04},
- version = {2.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/kblocks},
- url = {https://ctan.org/pkg/kblocks},
-}
-
-@manual{ctan-kbordermatrix,
- title = {The \texttt{kbordermatrix} package},
- subtitle = {\LaTeX{} version of \textbackslash{}bordermatrix},
- author = {Kim C Border},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/kbordermatrix.sty},
- url = {https://ctan.org/pkg/kbordermatrix},
- annotation = {The package defines along the lines of
- Plain \TeX{}'s .},
-}
-
-@manual{ctan-kdgdocs,
- title = {The \texttt{kdgdocs} package},
- subtitle = {Document classes for Karel de Grote University College},
- author = {Paul Levrie and Walter Daems},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kdgdocs},
- url = {https://ctan.org/pkg/kdgdocs},
-}
-
-@manual{ctan-kdgreek,
- title = {The \texttt{kdgreek} package},
- subtitle = {Greek fonts and macros},
- author = {K J Dryllerakis},
- date = {2016-06-24},
- version = {3.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/greek/kd},
- url = {https://ctan.org/pkg/kdgreek},
-}
-
-@manual{ctan-kdpcover,
- title = {The \texttt{kdpcover} package},
- subtitle = {Covers for books published by Kindle Direct Publishing},
- author = {Yegor Bugayenko},
- date = {2022-11-30},
- version = {0.5.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kdpcover},
- url = {https://ctan.org/pkg/kdpcover},
- annotation = {The problem this class solves is
-
- to change the size of the cover PDF according to the
- number of pages in the book — the bigger the book,
- the larger the spine of the book must be.
- The provided class makes the necessary calculations on-the-fly,
- using the tool.
- Obviously, you need to have it installed.
- Also, you must run with the
- option, in order to
- allow \LaTeX{} to run .},
-}
-
-@manual{ctan-kelly-greek-font,
- title = {The \texttt{kelly-greek-font} package},
- subtitle = {Simple fonts for Greek},
- author = {Brian Hamilton Kelly},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/greek/kelly},
- url = {https://ctan.org/pkg/kelly-greek-font},
-}
-
-@manual{ctan-kerkis,
- title = {The \texttt{kerkis} package},
- subtitle = {Kerkis (Greek) font family},
- author = {Antonis Tsolomitis},
- date = {2021-08-26},
- version = {1.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/greek/kerkis},
- url = {https://ctan.org/pkg/kerkis},
-}
-
-@manual{ctan-kerntest,
- title = {The \texttt{kerntest} package},
- subtitle = {Print tables and generate control files to adjust kernings},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {1.32},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kerntest},
- url = {https://ctan.org/pkg/kerntest},
-}
-
-@manual{ctan-ketcindy,
- title = {The \texttt{ketcindy} package},
- subtitle = {Creating graphics for \TeX{} using Cinderella},
- author = {Setsuo Takato},
- date = {2021-03-10},
- version = {20191225.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/ketcindy},
- url = {https://ctan.org/pkg/ketcindy},
-}
-
-@manual{ctan-keycommand,
- title = {The \texttt{keycommand} package},
- subtitle = {Simple creation of commands with key-value arguments},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {3.1415},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keycommand},
- url = {https://ctan.org/pkg/keycommand},
-}
-
-@manual{ctan-keyfloat,
- title = {The \texttt{keyfloat} package},
- subtitle = {Provides a key/value interface for generating floats},
- author = {Brian Dunn},
- date = {2023-01-03},
- version = {2.08},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keyfloat},
- url = {https://ctan.org/pkg/keyfloat},
- annotation = {The keyfloat package provides a key/value user interface for
- quickly creating figures with a single image each, figures with
- arbitrary contents, tables, subfloats, rows of floats, floats
- located [H]ere, floats in the [M]argin, and floats with text
- [W]rapped around them.
-
- Key/value combinations may specify a caption and label, a width
- proportional to \textbackslash{}linewidth, a fixed width and/or height,
- rotation, scaling, a tight or loose frame, an \textbackslash{}arraystretch, a
- continued float, additional supplemental text, and an
- artist/author's name with automatic index entry. When used with
- the tocdata package, the name also appears in the List of
- Figures.
-
- Floats may be placed into a row environment, and are typeset to
- fit within the given number of columns, continuing to the next
- row if necessary. Nested sub-rows may be used to generate
- layouts such as two small figures placed vertically next to one
- larger figure.
-
- Subfloats are supported by two environments.},
-}
-
-@manual{ctan-keyindex,
- title = {The \texttt{keyindex} package},
- subtitle = {Index entries by key lookup},
- author = {Richard Zach},
- date = {2019-05-01},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keyindex},
- url = {https://ctan.org/pkg/keyindex},
- annotation = {The package provides functionality for producing an index without
- directly entering index entries into the text using the
- command, but instead by looking up short keys and printing a predefined
- string in the main text and adding a corresponding index entry.
- The standard use case is the production of an index of names.},
-}
-
-@manual{ctan-keyparse,
- title = {The \texttt{keyparse} package},
- subtitle = {Key based parser},
- author = {Erwann Rogard},
- date = {2021-08-20},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keyparse},
- url = {https://ctan.org/pkg/keyparse},
-}
-
-@manual{ctan-keyreader,
- title = {The \texttt{keyreader} package},
- subtitle = {A robust interface to xkeyval},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.5b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keyreader},
- url = {https://ctan.org/pkg/keyreader},
-}
-
-@manual{ctan-keystroke,
- title = {The \texttt{keystroke} package},
- subtitle = {Graphical representation of keys on keyboard},
- author = {Rolf Niepraschk},
- date = {2016-06-24},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keystroke},
- url = {https://ctan.org/pkg/keystroke},
-}
-
-@manual{ctan-keyval,
- title = {The \texttt{keyval} package},
- subtitle = {Process 'key=value' schemes},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.15},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/keyval},
-}
-
-@manual{ctan-keyval2e,
- title = {The \texttt{keyval2e} package},
- subtitle = {A lightweight and robust key-value parser},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keyval2e},
- url = {https://ctan.org/pkg/keyval2e},
- annotation = {The package provides lightweight and robust facilities for
- creating and managing keys. Its machinery isn’t as
- extensive as that of, e.g., the
- package, but it is equally
- robust; ease of use and speed of processing are the design aims of
- the package.},
-}
-
-@manual{ctan-keyvaltable,
- title = {The \texttt{keyvaltable} package},
- subtitle = {Re-usable table layouts separating content and presentation},
- author = {Richard Grewe},
- date = {2022-12-31},
- version = {2.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/keyvaltable},
- url = {https://ctan.org/pkg/keyvaltable},
-}
-
-@manual{ctan-kfupm-math-exam,
- title = {The \texttt{kfupm-math-exam} package},
- subtitle = {A \LaTeX{} document style to produce homework, quiz and exam papers},
- author = {Mohammed Alshahrani},
- date = {2022-07-31},
- version = {0.1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kfupm-math-exam},
- url = {https://ctan.org/pkg/kfupm-math-exam},
-}
-
-@manual{ctan-kile,
- title = {The \texttt{kile} package},
- subtitle = {A user friendly \TeX{}/\LaTeX{} editor for KDE},
- author = {Jeroen Wijnhout and Pascal Brachet},
- date = {2017-04-18},
- version = {2.0},
- license = {gpl},
- url = {https://ctan.org/pkg/kile},
-}
-
-@manual{ctan-kinematikz,
- title = {The \texttt{kinematikz} package},
- subtitle = {Design kinematic chains and mechanisms},
- author = {Vitor Santos},
- date = {2021-09-11},
- version = {1.0},
- license = {lppl1.3,gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/kinematikz},
- url = {https://ctan.org/pkg/kinematikz},
-}
-
-@manual{ctan-kix,
- title = {The \texttt{kix} package},
- subtitle = {Typeset KIX codes},
- author = {Sander Stoks},
- date = {2016-06-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kix},
- url = {https://ctan.org/pkg/kix},
-}
-
-@manual{ctan-kixfont,
- title = {The \texttt{KIXfont} package},
- subtitle = {A font for KIX codes},
- author = {Rick van Rein},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/kixfont},
- url = {https://ctan.org/pkg/kixfont},
-}
-
-@manual{ctan-klinz,
- title = {The \texttt{klinz} package},
- subtitle = {A Klingon font},
- author = {Karl Günter Wünsch},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/klinz},
- url = {https://ctan.org/pkg/klinz},
-}
-
-@manual{ctan-kmrhyph,
- title = {The \texttt{kmrhyph} package},
- subtitle = {Hyphenation patterns for Kurmanji, T1 encoded},
- author = {Jörg Knappen},
- date = {2018-04-25},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/kmrhyph.tex},
- url = {https://ctan.org/pkg/kmrhyph},
-}
-
-@manual{ctan-knit,
- title = {The \texttt{knit} package},
- subtitle = {Tangle and weave with multiple change files},
- author = {Wolfgang Appelt},
- date = {2016-06-24},
- version = {2.7},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/web/knit},
- url = {https://ctan.org/pkg/knit},
- annotation = {Knit and twist are represented as change files from
- and
- (respectively). In each case,
- they act in the same way as the parent program, but can process
- more than one change file at the same time.},
-}
-
-@manual{ctan-knitting,
- title = {The \texttt{knitting} package},
- subtitle = {Produce knitting charts, in Plain \TeX{} or \LaTeX{}},
- author = {Ariel Barton},
- date = {2019-04-06},
- version = {3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/knitting},
- url = {https://ctan.org/pkg/knitting},
-}
-
-@manual{ctan-knittingpattern,
- title = {The \texttt{knittingpattern} package},
- subtitle = {Create knitting patterns},
- author = {Hugh Griffiths},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/knittingpattern},
- url = {https://ctan.org/pkg/knittingpattern},
-}
-
-@manual{ctan-knot,
- title = {The \texttt{knot} package},
- subtitle = {A Celtic knotwork font},
- author = {Jo Jaquina},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/knot},
- url = {https://ctan.org/pkg/knot},
-}
-
-@manual{ctan-knowledge,
- title = {The \texttt{knowledge} package},
- subtitle = {Displaying, hyperlinking, and indexing notions in a document},
- author = {Thomas Colcombet},
- date = {2022-02-12},
- version = {1.28},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/knowledge},
- url = {https://ctan.org/pkg/knowledge},
-}
-
-@manual{ctan-knst,
- title = {The \texttt{knst} package},
- subtitle = {Multiple-guess tests},
- author = {Jordi Saludes},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/knst},
- url = {https://ctan.org/pkg/knst},
-}
-
-@manual{ctan-knuth-base,
- title = {The \texttt{knuth-base} package},
- subtitle = {The current state of Knuth's contributions},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth},
- url = {https://ctan.org/pkg/knuth-base},
- annotation = {This directory tree holds copies of material on Knuth’s
- mirror site. The material is divided into two main parts:
- – the , and
- – .},
-}
-
-@manual{ctan-knuth-dist,
- title = {The \texttt{knuth-dist} package},
- subtitle = {The current state of Knuth's contributions},
- author = {Donald E. Knuth},
- date = {2021-02-10},
- version = {},
- license = {knuth,pd},
- mirror = {https://mirror.ctan.org/systems/knuth/dist},
- url = {https://ctan.org/pkg/knuth-dist},
-}
-
-@manual{ctan-knuth-errata,
- title = {The \texttt{knuth-errata} package},
- subtitle = {Knuth’s published errata},
- author = {Donald E. Knuth},
- date = {2021-04-03},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/errata},
- url = {https://ctan.org/pkg/knuth-errata},
-}
-
-@manual{ctan-knuth-hint,
- title = {The \texttt{knuth-hint} package},
- subtitle = {HINT collection of typeset C/WEB sources in \TeX{} Live},
- author = {Andreas Scherer},
- date = {2022-04-07},
- version = {1.0},
- license = {pd,knuth},
- mirror = {https://mirror.ctan.org/info/knuth-hint},
- url = {https://ctan.org/pkg/knuth-hint},
-}
-
-@manual{ctan-knuth-letter,
- title = {The \texttt{knuth-letter} package},
- subtitle = {Knuth’s example letter macros},
- author = {Donald E. Knuth},
- date = {2021-03-09},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/local/lib/letterformat.tex},
- url = {https://ctan.org/pkg/knuth-letter},
- annotation = {These are Knuth’s own letter macros. Documentation is entirely
- missing from the archive, but the macros are discussed in some
- detail in the \TeX{}book (which says it is describing
- ).},
-}
-
-@manual{ctan-knuth-lib,
- title = {The \texttt{knuth-lib} package},
- subtitle = {Core \TeX{} and Metafont sources from Knuth},
- author = {Donald E. Knuth},
- date = {2021-02-27},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/lib},
- url = {https://ctan.org/pkg/knuth-lib},
-}
-
-@manual{ctan-knuth-local,
- title = {The \texttt{knuth-local} package},
- subtitle = {Knuth’s local information},
- author = {Donald E. Knuth},
- date = {2021-03-09},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/knuth/local},
- url = {https://ctan.org/pkg/knuth-local},
- annotation = {A collection of experimental programs and developments based on,
- or complementary to, the matter in his
- .},
-}
-
-@manual{ctan-knuth-pdf,
- title = {The \texttt{knuth-pdf} package},
- subtitle = {PDF collection of typeset C/WEB sources in \TeX{} Live},
- author = {Andreas Scherer},
- date = {2022-04-06},
- version = {2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/knuth-pdf},
- url = {https://ctan.org/pkg/knuth-pdf},
-}
-
-@manual{ctan-koi8,
- title = {The \texttt{koi8} package},
- subtitle = {KOI-8 input support},
- author = {Uri Blumenthal},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koi8},
- url = {https://ctan.org/pkg/koi8},
- annotation = {A package to perform internal translation from the KOI-8
- encoding (de-facto standard of the Russian Unix world) to the
- “alternative encoding” used by most (pre-UTF-8) Cyrillic
- packages. You still need one of these packages for the actual
- Russian typesetting. The style works with all major Cyrillic
- packages, including cmcyr, ,
- .},
-}
-
-@manual{ctan-koma-moderncvclassic,
- title = {The \texttt{koma-moderncvclassic} package},
- subtitle = {Makes the style and command of moderncv (style classic) available
- for koma-classes and thus compatible with BibLaTeX},
- author = {Salome Södergran},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-moderncvclassic},
- url = {https://ctan.org/pkg/koma-moderncvclassic},
- annotation = {This package provides an imitation of the
- class
- with the classic style (by Xavier Danaux), to be used in
- conjunction with the .
- Thus it is possible to configure pagelayout, headings etc.
- the way it is done in koma-classes. Moreover, it is possible
- to use BibLaTeX, while the original moderncv-class is
- incompatible with BibLaTeX.},
-}
-
-@manual{ctan-koma-script-examples-3,
- title = {The \texttt{koma-script-examples-3} package},
- subtitle = {Examples from the 3rd edition of the KOMA-Script book},
- author = {Markus Kohm},
- date = {2022-07-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/KOMA-Script-3},
- url = {https://ctan.org/pkg/koma-script-examples-3},
-}
-
-@manual{ctan-koma-script-examples-4,
- title = {The \texttt{koma-script-examples-4} package},
- subtitle = {Examples from the 4th edition of the KOMA-Script book},
- author = {Markus Kohm},
- date = {2022-07-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/KOMA-Script-4},
- url = {https://ctan.org/pkg/koma-script-examples-4},
-}
-
-@manual{ctan-koma-script-examples-5,
- title = {The \texttt{koma-script-examples-5} package},
- subtitle = {Examples from the 5th edition of the KOMA-Script book},
- author = {Markus Kohm},
- date = {2022-07-04},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/KOMA-Script-5},
- url = {https://ctan.org/pkg/koma-script-examples-5},
-}
-
-@manual{ctan-koma-script-examples,
- title = {The \texttt{koma-script-examples} package},
- subtitle = {Examples from the KOMA-Script book},
- author = {Markus Kohm},
- date = {2022-07-04},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/examples/KOMA-Script-6},
- url = {https://ctan.org/pkg/koma-script-examples},
-}
-
-@manual{ctan-koma-script-obsolete,
- title = {The \texttt{koma-script-obsolete} package},
- subtitle = {Deprecated packages from koma-script},
- author = {Markus Kohm},
- date = {2022-07-04},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/koma-script-obsolete},
- url = {https://ctan.org/pkg/koma-script-obsolete},
-}
-
-@manual{ctan-koma-script-sfs,
- title = {The \texttt{koma-script-sfs} package},
- subtitle = {Koma-script letter class option for Finnish},
- author = {Hannu Väisänen},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script-SFS},
- url = {https://ctan.org/pkg/koma-script-sfs},
- annotation = {A parameter set for
- letters on A4 paper, complying with Finnish standards SFS 2486,
- 2487 and 2488; suitable for window envelopes with window on the
- left size in the sizes C5, C65, E5 and E65 (although, because the
- address window is smaller, for sizes E5 and E65 the address may
- not fit within the window, but ordinary 3-line address should fit).},
-}
-
-@manual{ctan-koma-script,
- title = {The \texttt{koma-script} package},
- subtitle = {A bundle of versatile classes and packages},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/koma-script},
-}
-
-@manual{ctan-komacv-rg,
- title = {The \texttt{komacv-rg} package},
- subtitle = {\LaTeX{} packages that aid in creating CVs based on the komacv class and creating related documents},
- author = {Richard Grewe},
- date = {2018-11-03},
- version = {0.9.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/komacv-rg},
- url = {https://ctan.org/pkg/komacv-rg},
-}
-
-@manual{ctan-komacv,
- title = {The \texttt{komacv} package},
- subtitle = {Typesetting a beautiful CV with various style options},
- author = {Salome Södergran},
- date = {2021-02-12},
- version = {1.1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/komacv},
- url = {https://ctan.org/pkg/komacv},
-}
-
-@manual{ctan-konwerter,
- title = {The \texttt{konwerter} package},
- subtitle = {A program for automatic numbering of compounds in chemical publications},
- author = {Piotr Wawrzyniak},
- date = {2017-04-18},
- version = {0.2.4},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/konwerter},
- url = {https://ctan.org/pkg/konwerter},
- annotation = {Konwerter automatically numbers compounds in chemical publications
- created by . It is written in
- C++ and works both in Unix and Windows operating
- systems. It works similar to \LaTeX{} and
- commands. Instead of giving number to every
- compound you give them labels and then refer to the structure in
- the text using the same label. The konwerter is able to resolve
- labels to numbers both in the eps files and in the text.},
-}
-
-@manual{ctan-kotex-oblivoir,
- title = {The \texttt{kotex-oblivoir} package},
- subtitle = {A \LaTeX{} document class for typesetting Korean documents},
- author = {Kihwang Lee and Kangsoo Kim},
- date = {2023-03-09},
- version = {3.2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/language/korean/kotex-oblivoir},
- url = {https://ctan.org/pkg/kotex-oblivoir},
-}
-
-@manual{ctan-kotex-plain,
- title = {The \texttt{kotex-plain} package},
- subtitle = {Macros for typesetting Korean under Plain \TeX{}},
- author = {Kihwang Lee},
- date = {2022-06-22},
- version = {3.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/language/korean/kotex-plain},
- url = {https://ctan.org/pkg/kotex-plain},
-}
-
-@manual{ctan-kotex-utf,
- title = {The \texttt{kotex-utf} package},
- subtitle = {Typeset Hangul, coded in UTF-8},
- author = {Kihwang Lee},
- date = {2022-06-22},
- version = {3.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/language/korean/kotex-utf},
- url = {https://ctan.org/pkg/kotex-utf},
-}
-
-@manual{ctan-kotex-utils,
- title = {The \texttt{kotex-utils} package},
- subtitle = {Utility scripts and support files for typesetting Korean},
- author = {Kihwang Lee},
- date = {2016-06-24},
- version = {2.1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/korean/kotex-utils},
- url = {https://ctan.org/pkg/kotex-utils},
-}
-
-@manual{ctan-kpathsea,
- title = {The \texttt{kpathsea} package},
- subtitle = {Path searching library for \TeX{}-related files},
- author = {{The \TeX{} Live Team} and Olaf Weber},
- date = {2022-01-28},
- license = {lgpl2.1},
- url = {https://ctan.org/pkg/kpathsea},
- annotation = {Kpathsea is a library and utility programs which provide path
- searching facilities for \TeX{} file types, including the
- self-locating feature required for movable installations, layered
- on top of a general search mechanism. It is not distributed
- separately, but rather is released and maintained as part of the
- .},
-}
-
-@manual{ctan-kpfonts-otf,
- title = {The \texttt{kpfonts-otf} package},
- subtitle = {OTF version of the Kp-fonts},
- author = {Daniel Flipo},
- date = {2023-01-16},
- version = {0.48},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/kpfonts-otf},
- url = {https://ctan.org/pkg/kpfonts-otf},
-}
-
-@manual{ctan-kpfonts,
- title = {The \texttt{kpfonts} package},
- subtitle = {A complete set of fonts for text and mathematics},
- author = {Christophe Caignaert},
- date = {2023-01-19},
- version = {3.35},
- license = {lppl,gpl},
- mirror = {https://mirror.ctan.org/fonts/kpfonts},
- url = {https://ctan.org/pkg/kpfonts},
-}
-
-@manual{ctan-ksfh-nat,
- title = {The \texttt{ksfh-nat} package},
- subtitle = {BibTeX style for KSFH Munich},
- author = {Matthias Bilger},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/ksfh_nat},
- url = {https://ctan.org/pkg/ksfh-nat},
-}
-
-@manual{ctan-ksp-thesis,
- title = {The \texttt{ksp-thesis} package},
- subtitle = {A \LaTeX{} class for theses published with KIT Scientific Publishing},
- author = {David Heinze},
- date = {2017-04-18},
- version = {1.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ksp-thesis},
- url = {https://ctan.org/pkg/ksp-thesis},
-}
-
-@manual{ctan-ktexshell,
- title = {The \texttt{KTeXShell} package},
- subtitle = {Graphical frontend to \TeX{}},
- author = {Arnd Fischer},
- date = {2018-11-15},
- version = {0.4.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/support/ktexshell},
- url = {https://ctan.org/pkg/ktexshell},
-}
-
-@manual{ctan-ktv-texdata,
- title = {The \texttt{ktv-texdata} package},
- subtitle = {Extract subsets of documents},
- author = {Ky-Anh Huynh},
- date = {2020-03-19},
- version = {05.34},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ktv-texdata},
- url = {https://ctan.org/pkg/ktv-texdata},
-}
-
-@manual{ctan-ku-template,
- title = {The \texttt{ku-template} package},
- subtitle = {Copenhagen University or faculty logo for front page},
- author = {Lucas Alexander V. Pedersen},
- date = {2017-11-28},
- version = {0.02},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ku-template},
- url = {https://ctan.org/pkg/ku-template},
-}
-
-@manual{ctan-kurdishlipsum,
- title = {The \texttt{kurdishlipsum} package},
- subtitle = {A ‘lipsum’ package for the Kurdish language},
- author = {Asaad Abozeid Jund},
- date = {2018-05-07},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/kurdishlipsum},
- url = {https://ctan.org/pkg/kurdishlipsum},
-}
-
-@manual{ctan-kurier,
- title = {The \texttt{kurier} package},
- subtitle = {A two-element sans-serif typeface},
- author = {Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {0.995b},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/kurier},
- url = {https://ctan.org/pkg/kurier},
-}
-
-@manual{ctan-kuvio,
- title = {The \texttt{kuvio} package},
- subtitle = {Drawing macros and fonts for diagrams},
- author = {Anders Svensson},
- date = {2017-05-30},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/kuvio},
- url = {https://ctan.org/pkg/kuvio},
- annotation = {Commutative diagrams using PostScript specials (uses
- definitions for , but the macros
- are designed for flexibility in this respect).},
-}
-
-@manual{ctan-kvdefinekeys,
- title = {The \texttt{kvdefinekeys} package},
- subtitle = {Define keys for use in the kvsetkeys package},
- author = {Heiko Oberdiek},
- date = {2019-12-21},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kvdefinekeys},
- url = {https://ctan.org/pkg/kvdefinekeys},
- annotation = {The package provides a macro (analogous to
- , to
- define keys for use by .},
-}
-
-@manual{ctan-kvmap,
- title = {The \texttt{kvmap} package},
- subtitle = {Create Karnaugh maps with \LaTeX{}},
- author = {Ben Frank},
- date = {2020-09-16},
- version = {0.3.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kvmap},
- url = {https://ctan.org/pkg/kvmap},
- annotation = {This \LaTeX{} package allows the creation of (even large) Karnaugh
- maps. It provides a tabular-like input syntax and support for
- drawing bundles (implicants) around adjacent values. It is based
- on an .},
-}
-
-@manual{ctan-kvoptions,
- title = {The \texttt{kvoptions} package},
- subtitle = {Key value format for package options},
- author = {Heiko Oberdiek},
- date = {2022-06-16},
- version = {3.15},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kvoptions},
- url = {https://ctan.org/pkg/kvoptions},
-}
-
-@manual{ctan-kvsetkeys,
- title = {The \texttt{kvsetkeys} package},
- subtitle = {Key value parser with default handler support},
- author = {Heiko Oberdiek},
- date = {2022-10-05},
- version = {1.19},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/kvsetkeys},
- url = {https://ctan.org/pkg/kvsetkeys},
- annotation = {This package provides \textbackslash{}kvsetkeys, a variant of package
- 's . It allows
- the user to specify a handler that deals with unknown options.
- Active commas and equal signs may be used (e.g. see
- 's shorthands) and only one level
- of curly braces are removed from the values.},
-}
-
-@manual{ctan-l2a,
- title = {The \texttt{l2a} package},
- subtitle = {\LaTeX{} to ASCII},
- author = {Gisle Hannemyr},
- date = {2018-01-06},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/l2a},
- url = {https://ctan.org/pkg/l2a},
-}
-
-@manual{ctan-l2picfaq,
- title = {The \texttt{l2picfaq} package},
- subtitle = {\LaTeX{} pictures "how-to" (German)},
- author = {Dominik Bischoff},
- date = {2016-06-24},
- version = {1.50},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/l2picfaq/german},
- url = {https://ctan.org/pkg/l2picfaq},
-}
-
-@manual{ctan-l2tabu-english,
- title = {The \texttt{l2tabu-english} package},
- subtitle = {English translation of "Obsolete packages and commands"},
- author = {Mark Trettin and Jürgen Fenn},
- date = {2016-06-24},
- version = {1.8.5.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/l2tabu/english},
- url = {https://ctan.org/pkg/l2tabu-english},
- annotation = {English translation of the
- practical guide to \LaTeX{}2e by Mark Trettin. A list of obsolete
- packages and commands.},
-}
-
-@manual{ctan-l2tabu-french,
- title = {The \texttt{l2tabu-french} package},
- subtitle = {French translation of l2tabu},
- author = {Bernard Alfonsi and Yvon Henel},
- date = {2016-06-24},
- version = {2.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/l2tabu/french},
- url = {https://ctan.org/pkg/l2tabu-french},
- annotation = {French translation of .},
-}
-
-@manual{ctan-l2tabu-italian,
- title = {The \texttt{l2tabu-italian} package},
- subtitle = {Italian Translation of Obsolete packages and commands},
- author = {Emanuele Zannarini and Mauro Sacchetto},
- date = {2016-06-24},
- version = {2.3},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/l2tabu/italian},
- url = {https://ctan.org/pkg/l2tabu-italian},
- annotation = {Italian translation of the
- practical guide to \LaTeX{}2e (a list of obsolete packages and
- commands).},
-}
-
-@manual{ctan-l2tabu-spanish,
- title = {The \texttt{l2tabu-spanish} package},
- subtitle = {Spanish translation of "Obsolete packages and commands"},
- author = {Mark Trettin and Gonzalo Medina Arellano},
- date = {2016-06-24},
- version = {1.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/l2tabu/spanish},
- url = {https://ctan.org/pkg/l2tabu-spanish},
- annotation = {A Spanish translation of the
- practical guide to \LaTeX{}2e by Mark Trettin. A list of obsolete
- packages, commands and usages.},
-}
-
-@manual{ctan-l2tabu,
- title = {The \texttt{l2tabu} package},
- subtitle = {Obsolete packages and commands},
- author = {Marc Ensenbach and Mark Trettin},
- date = {2022-06-12},
- version = {2.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/l2tabu/german},
- url = {https://ctan.org/pkg/l2tabu},
-}
-
-@manual{ctan-l2x,
- title = {The \texttt{l2x} package},
- subtitle = {\LaTeX{} to ASCII},
- author = {Henning Schulzrinne},
- date = {2016-06-24},
- version = {1.4},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/support/l2x},
- url = {https://ctan.org/pkg/l2x},
-}
-
-@manual{ctan-l3backend,
- title = {The \texttt{l3backend} package},
- subtitle = {LaTeX3 backend drivers},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-01-16},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3backend},
- url = {https://ctan.org/pkg/l3backend},
-}
-
-@manual{ctan-l3build,
- title = {The \texttt{l3build} package},
- subtitle = {A testing and building system for (La)TeX},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-03-08},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3build},
- url = {https://ctan.org/pkg/l3build},
-}
-
-@manual{ctan-l3docstrip,
- title = {The \texttt{l3docstrip} package},
- subtitle = {Strip documentation in \LaTeX{}3 source},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-23},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel},
- url = {https://ctan.org/pkg/l3docstrip},
-}
-
-@manual{ctan-l3experimental,
- title = {The \texttt{l3experimental} package},
- subtitle = {Experimental \LaTeX{}3 concepts},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-01-24},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3experimental},
- url = {https://ctan.org/pkg/l3experimental},
-}
-
-@manual{ctan-l3kernel,
- title = {The \texttt{l3kernel} package},
- subtitle = {LaTeX3 programming conventions},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-23},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel},
- url = {https://ctan.org/pkg/l3kernel},
-}
-
-@manual{ctan-l3keys2e,
- title = {The \texttt{l3keys2e} package},
- subtitle = {LaTeX2e option processing using \LaTeX{}3 keys},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-02},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages},
- url = {https://ctan.org/pkg/l3keys2e},
-}
-
-@manual{ctan-l3packages,
- title = {The \texttt{l3packages} package},
- subtitle = {High-level \LaTeX{}3 concepts},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-02},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages},
- url = {https://ctan.org/pkg/l3packages},
-}
-
-@manual{ctan-l3regex,
- title = {The \texttt{l3regex} package},
- subtitle = {Regular expression facilities for \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-23},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel/l3regex.dtx},
- url = {https://ctan.org/pkg/l3regex},
-}
-
-@manual{ctan-la,
- title = {The \texttt{la} package},
- subtitle = {School handwriting fonts},
- author = {Johannes Heuer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/la},
- url = {https://ctan.org/pkg/la},
-}
-
-@manual{ctan-laansort,
- title = {The \texttt{laansort} package},
- subtitle = {Sorting within \TeX{}},
- author = {Kees van der Laan},
- date = {2021-08-26},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/laansort},
- url = {https://ctan.org/pkg/laansort},
-}
-
-@manual{ctan-labbook,
- title = {The \texttt{labbook} package},
- subtitle = {Typeset laboratory journals},
- author = {Frank Küster},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/labbook},
- url = {https://ctan.org/pkg/labbook},
-}
-
-@manual{ctan-label-pln,
- title = {The \texttt{label-pln} package},
- subtitle = {Print address labels in three columns},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/label.tex},
- url = {https://ctan.org/pkg/label-pln},
-}
-
-@manual{ctan-labelcas,
- title = {The \texttt{labelcas} package},
- subtitle = {Check the existence of labels, and fork accordingly},
- author = {Ulrich Diez},
- date = {2016-06-24},
- version = {1.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/labelcas},
- url = {https://ctan.org/pkg/labelcas},
-}
-
-@manual{ctan-labelfig,
- title = {The \texttt{labelfig} package},
- subtitle = {Label \LaTeX{} 2.09 figures included in documents},
- author = {Laurent Siebenmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/labelfig},
- url = {https://ctan.org/pkg/labelfig},
-}
-
-@manual{ctan-labelmac3,
- title = {The \texttt{labelmac3} package},
- subtitle = {Print Avery 5160 labels for laser printers},
- author = {R. Bharat Rao},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/labelmac3.tex},
- url = {https://ctan.org/pkg/labelmac3},
- annotation = {Accepts commands, whose arguments are printed 30
- to a page, in boxes of dimension 2.625" x 1".},
-}
-
-@manual{ctan-labelmag,
- title = {The \texttt{labelmag} package},
- subtitle = {Manage a collection of labels},
- author = {Peter Willadt},
- date = {2016-06-24},
- license = {nosource},
- mirror = {https://mirror.ctan.org/systems/win32/texhelpers/labelmag},
- url = {https://ctan.org/pkg/labelmag},
-}
-
-@manual{ctan-labels,
- title = {The \texttt{labels} package},
- subtitle = {Print sheets of sticky labels},
- author = {Julian Gilbey and Sebastian Rahtz and Grant Gustafson},
- date = {2016-06-24},
- version = {.13},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/labels},
- url = {https://ctan.org/pkg/labels},
-}
-
-@manual{ctan-labels4easylist,
- title = {The \texttt{labels4easylist} package},
- subtitle = {Add reference labels to easylist items},
- author = {Robert Paciorek},
- date = {2019-05-16},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/labels4easylist},
- url = {https://ctan.org/pkg/labels4easylist},
- annotation = {This package provides the macro for adding
- configurable reference labels to items.},
-}
-
-@manual{ctan-labelschanged,
- title = {The \texttt{labelschanged} package},
- subtitle = {Identify labels which cause endless “may have changed” warnings},
- author = {Brian Dunn},
- date = {2017-12-13},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/labelschanged},
- url = {https://ctan.org/pkg/labelschanged},
-}
-
-@manual{ctan-lablst-pkg,
- title = {The \texttt{lablst-pkg} package},
- subtitle = {List names of labels in a document},
- author = {Charles Karney},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/lablst.sty},
- url = {https://ctan.org/pkg/lablst-pkg},
-}
-
-@manual{ctan-labtex,
- title = {The \texttt{labtex} package},
- subtitle = {Label diagrams produced in Metafont},
- author = {Alan Hoenig},
- date = {2016-06-24},
- version = {0.9},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/labtex},
- url = {https://ctan.org/pkg/labtex},
-}
-
-@manual{ctan-labyrinth,
- title = {The \texttt{labyrinth} package},
- subtitle = {Draw labyrinths and solution paths},
- author = {Francesco Zigliotto},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/labyrinth},
- url = {https://ctan.org/pkg/labyrinth},
-}
-
-@manual{ctan-lacheck,
- title = {The \texttt{lacheck} package},
- subtitle = {\LaTeX{} checker},
- author = {Kresten Krab Thorup and Per Abrahamsen and {The \TeX{} Live Team}},
- date = {2017-06-27},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/lacheck},
- url = {https://ctan.org/pkg/lacheck},
-}
-
-@manual{ctan-ladder,
- title = {The \texttt{ladder} package},
- subtitle = {Draw simple ladder diagrams using TikZ},
- author = {Aurélien Cadiou},
- date = {2017-10-09},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/ladder},
- url = {https://ctan.org/pkg/ladder},
-}
-
-@manual{ctan-lahyph,
- title = {The \texttt{lahyph} package},
- subtitle = {Hyphenation patterns for the Latin language},
- author = {Claudio Beccari},
- date = {2016-11-05},
- version = {3.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/lahyph.tex},
- url = {https://ctan.org/pkg/lahyph},
-}
-
-@manual{ctan-laletter,
- title = {The \texttt{laletter} package},
- subtitle = {Los Alamos letter style},
- author = {Steve Sydoriak},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/laletter},
- url = {https://ctan.org/pkg/laletter},
-}
-
-@manual{ctan-lambda-lists,
- title = {The \texttt{lambda-lists} package},
- subtitle = {Lists in \TeX{}'s mouth},
- author = {Alan Jeffrey},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/lambda-lists},
- url = {https://ctan.org/pkg/lambda-lists},
-}
-
-@manual{ctan-lambdax,
- title = {The \texttt{lambdax} package},
- subtitle = {Use Lambda expression within \LaTeX{}},
- author = {Erwann Rogard},
- date = {2021-08-20},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lambdax},
- url = {https://ctan.org/pkg/lambdax},
-}
-
-@manual{ctan-lamemo,
- title = {The \texttt{lamemo} package},
- subtitle = {Memo style as used at Los Alamos},
- author = {Steve Sydoriak},
- date = {2021-08-26},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/lamemo},
- url = {https://ctan.org/pkg/lamemo},
-}
-
-@manual{ctan-lametex,
- title = {The \texttt{lametex} package},
- subtitle = {A PostScript translator for a subset of \LaTeX{}},
- author = {Jonathan Monsarrat},
- date = {2018-09-15},
- version = {1.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/lametex},
- url = {https://ctan.org/pkg/lametex},
-}
-
-@manual{ctan-lamstex-index,
- title = {The \texttt{lamstex-index} package},
- subtitle = {Index processor for LamsTeX},
- author = {Michael Spivak},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/indexing/lamstex-index},
- url = {https://ctan.org/pkg/lamstex-index},
-}
-
-@manual{ctan-lamstex,
- title = {The \texttt{LamsTeX} package},
- subtitle = {A merge of the best in AMS-TeX and \LaTeX{}},
- author = {Michael Spivak},
- date = {2018-01-06},
- version = {2.01},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/lamstex},
- url = {https://ctan.org/pkg/lamstex},
-}
-
-@manual{ctan-landscape,
- title = {The \texttt{landscape} package},
- subtitle = {Set up for typesetting in landscape},
- author = {Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/landscape.sty},
- url = {https://ctan.org/pkg/landscape},
-}
-
-@manual{ctan-langcode,
- title = {The \texttt{langcode} package},
- subtitle = {Simple language-dependent settings based on language codes},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/langcode},
- url = {https://ctan.org/pkg/langcode},
-}
-
-@manual{ctan-langnames,
- title = {The \texttt{langnames} package},
- subtitle = {Name languages and their genetic affiliations consistently},
- author = {Alejandro García Matarredona and {Unknown}},
- date = {2023-01-09},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/langnames},
- url = {https://ctan.org/pkg/langnames},
-}
-
-@manual{ctan-langsci-affiliations,
- title = {The \texttt{langsci-affiliations} package},
- subtitle = {Collect and order authors and affiliations},
- author = {Felix Kopecky},
- date = {2021-03-26},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/langsci/langsci-affiliations.sty},
- url = {https://ctan.org/pkg/langsci-affiliations},
-}
-
-@manual{ctan-langsci-avm,
- title = {The \texttt{langsci-avm} package},
- subtitle = {Feature structures and attribute-value matrices (AVM)},
- author = {Felix Kopecky},
- date = {2023-02-21},
- version = {0.3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/langsci-avm},
- url = {https://ctan.org/pkg/langsci-avm},
-}
-
-@manual{ctan-langsci,
- title = {The \texttt{langsci} package},
- subtitle = {Typeset books for publication with Language Science Press},
- author = {Sebastian Nordhoff},
- date = {2023-02-11},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/langsci},
- url = {https://ctan.org/pkg/langsci},
-}
-
-@manual{ctan-lapdf,
- title = {The \texttt{lapdf} package},
- subtitle = {PDF drawing directly in \TeX{} documents},
- author = {Detlef Reimers},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lapdf},
- url = {https://ctan.org/pkg/lapdf},
-}
-
-@manual{ctan-laps,
- title = {The \texttt{laps} package},
- subtitle = {Zero-width boxes for annotations, etc},
- author = {{Unknown}},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/laps.tex},
- url = {https://ctan.org/pkg/laps},
- annotation = {Provides macros extends the / set in
- Plain \TeX{}:},
-}
-
-@manual{ctan-lastbib,
- title = {The \texttt{lastbib} package},
- subtitle = {Record the number of citations in a document},
- author = {Berik I. Tuleuov},
- date = {2017-05-30},
- version = {2.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lastbib},
- url = {https://ctan.org/pkg/lastbib},
- annotation = {The package records the number of citations in a document, and
- provides a command () to print the number.},
-}
-
-@manual{ctan-lastpackage,
- title = {The \texttt{lastpackage} package},
- subtitle = {Indicates the last loaded package},
- author = {Matthias Pospiech},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lastpackage},
- url = {https://ctan.org/pkg/lastpackage},
-}
-
-@manual{ctan-lastpage,
- title = {The \texttt{lastpage} package},
- subtitle = {Reference last page for Page N of M type footers},
- author = {Hans-Martin Münch and Jeffrey Goldberg},
- date = {2023-03-07},
- version = {2.0a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lastpage},
- url = {https://ctan.org/pkg/lastpage},
- annotation = {Reference the number of pages in your \LaTeX{} document through
- the introduction of a new label which can be referenced like
- to give a reference to the last
- page of a document. It is particularly useful in the page footer
- that says: Page N of M.},
-}
-
-@manual{ctan-latable,
- title = {The \texttt{LaTable} package},
- subtitle = {A near-WYSIWYG editor for \LaTeX{} tables},
- author = {Alex A. Denisov},
- date = {2016-06-24},
- version = {0.7},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/latable},
- url = {https://ctan.org/pkg/latable},
-}
-
-@manual{ctan-lated,
- title = {The \texttt{lated} package},
- subtitle = {Graphical \LaTeX{} picture editor},
- author = {Eugene K. Ressler},
- date = {2018-01-06},
- version = {1.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/systems/msdos/lated},
- url = {https://ctan.org/pkg/lated},
-}
-
-@manual{ctan-latex-amsmath-dev,
- title = {The \texttt{latex-amsmath-dev} package},
- subtitle = {Development pre-release of the \LaTeX{} amsmath bundle},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-11-02},
- version = {2023-05-01 pre-release 0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex-dev/required/amsmath},
- url = {https://ctan.org/pkg/latex-amsmath-dev},
- annotation = {This is a pre-release version of the standard
- .
- It accompanies the pre-testing kernel code
- (),
- and is intended for testing by knowledgeable users.},
-}
-
-@manual{ctan-latex-amsmath,
- title = {The \texttt{latex-amsmath} package},
- subtitle = {AMS mathematical facilities for \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/latex-amsmath},
-}
-
-@manual{ctan-latex-base-dev,
- title = {The \texttt{latex-base-dev} package},
- subtitle = {Development pre-release of the \LaTeX{} kernel},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-03-09},
- version = {2023-06-01 pre-release 2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex-dev/base},
- url = {https://ctan.org/pkg/latex-base-dev},
- annotation = {This package provides a testing release for upcoming \LaTeX{}2e
- kernel changes. Testing by the \LaTeX{} team itself suggests that
- the code is stable and usable, but wider use by knowledgeable
- users is required by adding these changes to the release \LaTeX{} kernel.
- Typically, the code here will be used by a \TeX{} system to
- create dedicated formats, for example ,
- which can then be used explicitly for testing.},
-}
-
-@manual{ctan-latex-base,
- title = {The \texttt{latex-base} package},
- subtitle = {Base sources of \LaTeX{}},
- author = {{The \LaTeX{} Project Team} and Frank Mittelbach},
- date = {2022-12-01},
- version = {2022-11-01 PL1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/latex-base},
- annotation = {This bundle comprises the source of \LaTeX{} itself, together with
- several packages which are considered ‘part of the
- kernel’. This bundle, together with the
- packages, constitutes what
- every \LaTeX{} distribution should contain.},
-}
-
-@manual{ctan-latex-bib-ex,
- title = {The \texttt{latex-bib-ex} package},
- subtitle = {Examples for the book Bibliografien mit \LaTeX{}},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/LaTeX-Bib},
- url = {https://ctan.org/pkg/latex-bib-ex},
-}
-
-@manual{ctan-latex-bib2-ex,
- title = {The \texttt{latex-bib2-ex} package},
- subtitle = {Examples for the book Bibliografien mit \LaTeX{}},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/LaTeX-Bib2},
- url = {https://ctan.org/pkg/latex-bib2-ex},
-}
-
-@manual{ctan-latex-bnf,
- title = {The \texttt{latex-bnf} package},
- subtitle = {\LaTeX{} macros for typing BNF specifications},
- author = {Martin J. Osborne},
- date = {2016-06-24},
- version = {1.1a},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/tex-bnf},
- url = {https://ctan.org/pkg/latex-bnf},
- annotation = {The package defines an environment .
- The contents of the environment is a context-free grammar, and the
- environment will pretty-print it.},
-}
-
-@manual{ctan-latex-brochure,
- title = {The \texttt{LaTeX-brochure} package},
- subtitle = {A publicity flyer for \LaTeX{}},
- author = {Peter Flynn},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/latex-brochure},
- url = {https://ctan.org/pkg/latex-brochure},
-}
-
-@manual{ctan-latex-course,
- title = {The \texttt{latex-course} package},
- subtitle = {A \LaTeX{} course as a projected presentation},
- author = {Engelbert Buxbaum},
- date = {2016-06-24},
- version = {2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/latex-course},
- url = {https://ctan.org/pkg/latex-course},
- annotation = {A brief Beamer-based slide presentation on \LaTeX{}, based on
- , which
- the author has translated to English and taken to \LaTeX{}2e/Beamer.
- Additional material was taken from the
- .},
-}
-
-@manual{ctan-latex-cyrillic,
- title = {The \texttt{cyrillic} package},
- subtitle = {Support for Cyrillic fonts in \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-16},
- version = {2022-06-01-PL1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/required/cyrillic},
- url = {https://ctan.org/pkg/latex-cyrillic},
-}
-
-@manual{ctan-latex-doc-ptr,
- title = {The \texttt{latex-doc-ptr} package},
- subtitle = {A direction-finder for \LaTeX{} resources available online},
- author = {Jim Hefferon and Manuel Pégourié-Gonnard and Karl Berry},
- date = {2021-01-02},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/latex-doc-ptr},
- url = {https://ctan.org/pkg/latex-doc-ptr},
-}
-
-@manual{ctan-latex-doc,
- title = {The \texttt{latex-doc} package},
- subtitle = {Documentation supplied as part of the \LaTeX{} distribution},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-12-01},
- version = {2022-11-01 PL1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/latex-doc},
- annotation = {A collection of documentation that is provided with \LaTeX{} itself,
- listed in the package.
- Note that (apart from notices of releases) the documentation
- mostly covers changes and details of adaptations; there are
- no complete tutorials, such as you might find in the
- or
- the .},
-}
-
-@manual{ctan-latex-errata,
- title = {The \texttt{latex-errata} package},
- subtitle = {Errata for the \LaTeX{} Manual},
- author = {Leslie Lamport},
- date = {2021-11-13},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/latex-errata},
- annotation = {These are all the errors and omissions to the manual, , second edition, published by
- Addison-Wesley, reported as of 18 Jan 2006.},
-}
-
-@manual{ctan-latex-essential,
- title = {The \texttt{latex-essential} package},
- subtitle = {Essential information for writing \LaTeX{} documents},
- author = {Jon Warbrick and Luis Rivera},
- date = {2016-06-24},
- version = {03},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/latex-essential},
- url = {https://ctan.org/pkg/latex-essential},
-}
-
-@manual{ctan-latex-firstaid-dev,
- title = {The \texttt{latex-firstaid-dev} package},
- subtitle = {Development pre-release of the \LaTeX{} firstaid package},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-12-03},
- version = {1.0w},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex-dev/required/firstaid},
- url = {https://ctan.org/pkg/latex-firstaid-dev},
- annotation = {This is a pre-release version of the standard
- .
- It accompanies the pre-testing kernel code
- (),
- and is intended for testing by knowledgeable users.},
-}
-
-@manual{ctan-latex-firstaid,
- title = {The \texttt{latex-firstaid} package},
- subtitle = {First aid for external \LaTeX{} files and packages that need updating},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {1.0u},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/firstaid},
- url = {https://ctan.org/pkg/latex-firstaid},
-}
-
-@manual{ctan-latex-fonts,
- title = {The \texttt{latex-fonts} package},
- subtitle = {A collection of fonts used in \LaTeX{} distributions},
- author = {Donald E. Knuth and Leslie Lamport and Pierre A. MacKay and Richard Schwartz and Michael Melliar-Smith},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/latex},
- url = {https://ctan.org/pkg/latex-fonts},
-}
-
-@manual{ctan-latex-for-undergraduates,
- title = {The \texttt{latex-for-undergraduates} package},
- subtitle = {A tutorial aimed at introducing undergraduate students to \LaTeX{}},
- author = {Andrew Lounsbury},
- date = {2022-10-07},
- version = {1.0.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/latex-for-undergraduates},
- url = {https://ctan.org/pkg/latex-for-undergraduates},
-}
-
-@manual{ctan-latex-git-log,
- title = {The \texttt{latex-git-log} package},
- subtitle = {Typeset git log information},
- author = {Robin Schneider},
- date = {2020-02-27},
- version = {1.0.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/latex-git-log},
- url = {https://ctan.org/pkg/latex-git-log},
-}
-
-@manual{ctan-latex-graphics-dev,
- title = {The \texttt{latex-graphics-dev} package},
- subtitle = {Development pre-release of the \LaTeX{} graphics bundle},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-11-02},
- version = {2023-05-01 pre-release 0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex-dev/required/graphics},
- url = {https://ctan.org/pkg/latex-graphics-dev},
- annotation = {This is a pre-release version of the standard
- .
- It accompanies the pre-testing kernel code
- (),
- and is intended for testing by knowledgeable users.},
-}
-
-@manual{ctan-latex-graphics,
- title = {The \texttt{latex-graphics} package},
- subtitle = {The \LaTeX{} standard graphics bundle},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/latex-graphics},
-}
-
-@manual{ctan-latex-hlp,
- title = {The \texttt{latex-hlp} package},
- subtitle = {A VMS help file for \LaTeX{} 2.09},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {1.0a},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/latex.hlp},
- url = {https://ctan.org/pkg/latex-hlp},
-}
-
-@manual{ctan-latex-info,
- title = {The \texttt{latex-info} package},
- subtitle = {Unofficial reference manual for \LaTeX{}},
- author = {Stefan Steffens and George Greenwade},
- date = {2016-06-24},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/info/latex-info},
- url = {https://ctan.org/pkg/latex-info},
-}
-
-@manual{ctan-latex-lab-dev,
- title = {The \texttt{latex-lab-dev} package},
- subtitle = {\LaTeX{} laboratory: Development pre-release},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-03-09},
- version = {2023-06-01 pre-release 2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex-dev/required/latex-lab},
- url = {https://ctan.org/pkg/latex-lab-dev},
- annotation = {This package provides a testing release for upcoming changes
- to the bundle,
- which provides a route for additions to the \LaTeX{} kernel
- to be stablised.
- It accompanies the pre-testing kernel code
- (),
- and is intended for testing by knowledgeable users.},
-}
-
-@manual{ctan-latex-lab,
- title = {The \texttt{latex-lab} package},
- subtitle = {\LaTeX{} laboratory},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/latex-lab},
- url = {https://ctan.org/pkg/latex-lab},
-}
-
-@manual{ctan-latex-make,
- title = {The \texttt{latex-make} package},
- subtitle = {Easy compiling of complex (and simple) \LaTeX{} documents},
- author = {Vincent Danjean},
- date = {2021-10-26},
- version = {2.4.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/latex-make},
- url = {https://ctan.org/pkg/latex-make},
-}
-
-@manual{ctan-latex-mr,
- title = {The \texttt{latex-mr} package},
- subtitle = {A practical guide to \LaTeX{} and Polyglossia for Marathi and other Indian languages},
- author = {Rohit Dilip Holkar},
- date = {2020-06-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/latex-mr},
- url = {https://ctan.org/pkg/latex-mr},
- annotation = {The package provides a short guide to \LaTeX{} and specifically to the
- package.
- This document aims to introduce \LaTeX{} and polyglossia for Indian languages.
- Though the document often discusses the language Marathi,
- the discussion applies to other India languages also,
- with some minute changes which are described in Section 1.2.
- We assume that the user of this document knows basic (La)TeX
- or has, at least, tried her hand on it.
- This document is not very suitable for
- first time users.},
-}
-
-@manual{ctan-latex-notes-zh-cn,
- title = {The \texttt{latex-notes-zh-cn} package},
- subtitle = {Chinese Introduction to \TeX{} and \LaTeX{}},
- author = {Alpha Huang},
- date = {2021-12-29},
- version = {1.20},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/latex-notes-zh-cn},
- url = {https://ctan.org/pkg/latex-notes-zh-cn},
-}
-
-@manual{ctan-latex-papersize,
- title = {The \texttt{latex-papersize} package},
- subtitle = {Calculate \LaTeX{} settings for any font and paper size},
- author = {Silas Brown},
- date = {2019-12-14},
- version = {1.63},
- license = {apache2},
- mirror = {https://mirror.ctan.org/support/latex-papersize},
- url = {https://ctan.org/pkg/latex-papersize},
-}
-
-@manual{ctan-latex-pro-pragmatiky,
- title = {The \texttt{latex-pro-pragmatiky} package},
- subtitle = {\LaTeX{} for pragmatists},
- author = {Pavel Satrapa},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/czech/latex-pro-pragmatiky},
- url = {https://ctan.org/pkg/latex-pro-pragmatiky},
-}
-
-@manual{ctan-latex-referenz,
- title = {The \texttt{LaTeX-Referenz} package},
- subtitle = {Examples from the book "\LaTeX{} Referenz"},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/LaTeX-Referenz},
- url = {https://ctan.org/pkg/latex-referenz},
-}
-
-@manual{ctan-latex-refsheet,
- title = {The \texttt{latex-refsheet} package},
- subtitle = {\LaTeX{} Reference Sheet for a thesis with KOMA-Script},
- author = {Marion Lammarsch and Elke Schubert},
- date = {2017-08-21},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/latex-refsheet},
- url = {https://ctan.org/pkg/latex-refsheet},
- annotation = {This \LaTeX{} Reference Sheet is for writing a thesis using
- the document classes
- (,
- ,
- )
- and all the packages needed for a thesis in natural sciences.},
-}
-
-@manual{ctan-latex-sciences-humaines,
- title = {The \texttt{latex-sciences-humaines} package},
- subtitle = {(Xe)\LaTeX{} Appliqué aux sciences humaines},
- author = {Maïeul Rouquette},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/latex-sciences-humaines.pdf},
- url = {https://ctan.org/pkg/latex-sciences-humaines},
-}
-
-@manual{ctan-latex-tabellen,
- title = {The \texttt{latex-tabellen} package},
- subtitle = {\LaTeX{} Tabellen},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/Tabellen2},
- url = {https://ctan.org/pkg/latex-tabellen},
-}
-
-@manual{ctan-latex-tds,
- title = {The \texttt{LaTeX-tds} package},
- subtitle = {A structured copy of the \LaTeX{} distribution},
- author = {Heiko Oberdiek},
- date = {2021-03-14},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/latex-tds},
- url = {https://ctan.org/pkg/latex-tds},
-}
-
-@manual{ctan-latex-tools-dev,
- title = {The \texttt{latex-tools-dev} package},
- subtitle = {Development pre-release of the \LaTeX{} tools bundle},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-11-02},
- version = {2023-05-01 pre-release 0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex-dev/required/tools},
- url = {https://ctan.org/pkg/latex-tools-dev},
- annotation = {This is a pre-release version of the standard
- .
- It accompanies the pre-testing kernel code
- (),
- and is intended for testing by knowledgeable users.},
-}
-
-@manual{ctan-latex-tools,
- title = {The \texttt{latex-tools} package},
- subtitle = {The \LaTeX{} standard tools bundle},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/latex-tools},
- annotation = {A collection of (variously) simple tools provided as part of the
- \LaTeX{} distribution,
- comprising the packages:
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- , and
- .},
-}
-
-@manual{ctan-latex-uni8,
- title = {The \texttt{latex-uni8} package},
- subtitle = {Universal inputenc, fontenc, and babel for pdf\LaTeX{} and LuaLaTeX},
- author = {Péter Szabó},
- date = {2019-01-20},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/latex-uni8},
- url = {https://ctan.org/pkg/latex-uni8},
- annotation = {This package provides a \LaTeX{} style file which makes it easy
- to use input encoding (UTF-8 by default, can be changed),
- (optional),
- (T1 if
- is not used),
- (English language by default),
- hyphenation, underline (with ),
- default text and math fonts (Computer Modern or Times),
- and paper sizes correctly with both pdf\LaTeX{} and LuaLaTeX.},
-}
-
-@manual{ctan-latex-veryshortguide,
- title = {The \texttt{LaTeX-veryshortguide} package},
- subtitle = {The Very Short Guide to \LaTeX{}},
- author = {Peter Flynn},
- date = {2020-05-21},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/latex-veryshortguide},
- url = {https://ctan.org/pkg/latex-veryshortguide},
-}
-
-@manual{ctan-latex-via-exemplos,
- title = {The \texttt{latex-via-exemplos} package},
- subtitle = {A \LaTeX{} course written in brazilian portuguese language},
- author = {Sadao Massago},
- date = {2022-05-18},
- version = {0.5.8},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/info/latex-via-exemplos},
- url = {https://ctan.org/pkg/latex-via-exemplos},
-}
-
-@manual{ctan-latex,
- title = {The \texttt{latex} package},
- subtitle = {A \TeX{} macro package that defines \LaTeX{}},
- author = {{The \LaTeX{} Project Team} and Leslie Lamport},
- date = {2022-12-01},
- version = {2022-11-01 PL1},
- license = {lppl1.3c},
- url = {https://ctan.org/pkg/latex},
-}
-
-@manual{ctan-latex209,
- title = {The \texttt{latex209} package},
- subtitle = {Old, unsupported, \LaTeX{}},
- author = {Leslie Lamport},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/distribs},
- url = {https://ctan.org/pkg/latex209},
-}
-
-@manual{ctan-latex2e-help-texinfo-fr,
- title = {The \texttt{latex2e-help-texinfo-fr} package},
- subtitle = {A French translation of “latex2e-help-texinfo”},
- author = {Vincent Belaïche},
- date = {2022-08-29},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/latex2e-help-texinfo-fr},
- url = {https://ctan.org/pkg/latex2e-help-texinfo-fr},
- annotation = {This package provides a complete French translation of
- .},
-}
-
-@manual{ctan-latex2e-help-texinfo,
- title = {The \texttt{latex2e-help-texinfo} package},
- subtitle = {Unofficial reference manual covering \LaTeX{}2e},
- author = {Karl Berry and Torsten Martinsen and George Greenwade and Stephen Gilmore and Jim Hefferon},
- date = {2023-01-15},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/latex2e-help-texinfo},
- url = {https://ctan.org/pkg/latex2e-help-texinfo},
-}
-
-@manual{ctan-latex2e-reference,
- title = {The \texttt{latex2e-reference} package},
- subtitle = {A reference for \LaTeX{} in HTML},
- author = {Martin “Herbert” Dietze},
- date = {2018-07-23},
- version = {1.6},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/info/latex2e-reference},
- url = {https://ctan.org/pkg/latex2e-reference},
-}
-
-@manual{ctan-latex2html,
- title = {The \texttt{latex2html} package},
- subtitle = {Convert \LaTeX{} into HTML documents},
- author = {Nikos Drakos and Ross Moore and Daniel Gildea and Paulo Ney de Souza and Roland Stigge},
- date = {2019-06-24},
- license = {gpl},
- url = {https://ctan.org/pkg/latex2html},
-}
-
-@manual{ctan-latex2man,
- title = {The \texttt{latex2man} package},
- subtitle = {Translate \LaTeX{}-based manual pages into Unix man format},
- author = {Jürgen Vollmer},
- date = {2018-11-25},
- version = {1.29},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/support/latex2man},
- url = {https://ctan.org/pkg/latex2man},
-}
-
-@manual{ctan-latex2nemeth,
- title = {The \texttt{Latex2Nemeth} package},
- subtitle = {Convert \LaTeX{} source to Braille with math in Nemeth},
- author = {Andreas Papasalouros and Antonis Tsolomitis},
- date = {2022-12-13},
- version = {1.1.3},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/latex2nemeth},
- url = {https://ctan.org/pkg/latex2nemeth},
-}
-
-@manual{ctan-latex2rtf,
- title = {The \texttt{latex2rtf} package},
- subtitle = {Convert \LaTeX{} into Rich Text Format},
- author = {Wilfried Hennings and Fernando Dorner and Andreas Granzer},
- date = {2017-04-18},
- version = {2.3.8},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/latex2rtf},
- url = {https://ctan.org/pkg/latex2rtf},
- annotation = {Translates \LaTeX{} text into RTF (Rich Text Format as used by
- Microsoft Word and the like). Graphics and tables are converted as
- are cross references and the bibliography; many packages are
- supported (in whole or as implementation of a subset of their
- commands) — for example, the whole of
- is implemented.},
-}
-
-@manual{ctan-latex4jed,
- title = {The \texttt{latex4jed} package},
- subtitle = {A much enhanced \LaTeX{} mode for the Jed editor},
- author = {Guido Gonzato},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/jed/latex4jed},
- url = {https://ctan.org/pkg/latex4jed},
- annotation = {This S-Lang file for the
- editor provides a
- much enhanced \LaTeX{} mode in the fashion of AUC \TeX{}: menus,
- shortcuts, templates, syntax highlighting, document outline,
- integrated debugging,symbol completion, full integration with
- external programs, and more. It was designed with both the
- beginner and the advanced \LaTeX{} user in mind.},
-}
-
-@manual{ctan-latex4musicians,
- title = {The \texttt{LaTeX4Musicians} package},
- subtitle = {A guide for combining \LaTeX{} and music},
- author = {Guido Gonzato},
- date = {2019-01-19},
- version = {1.0.1},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/latex4musicians},
- url = {https://ctan.org/pkg/latex4musicians},
-}
-
-@manual{ctan-latex4wp-it,
- title = {The \texttt{latex4wp-it} package},
- subtitle = {\LaTeX{} guide for word processor users, in Italian},
- author = {Guido Gonzato},
- date = {2016-06-24},
- version = {1.0.10},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/latex4wp-it},
- url = {https://ctan.org/pkg/latex4wp-it},
- annotation = {The package provides a version of the
- in Italian},
-}
-
-@manual{ctan-latex4wp,
- title = {The \texttt{latex4wp} package},
- subtitle = {A \LaTeX{} guide specifically designed for word processor users},
- author = {Guido Gonzato},
- date = {2016-06-24},
- version = {1.0.10},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/latex4wp},
- url = {https://ctan.org/pkg/latex4wp},
-}
-
-@manual{ctan-latexalpha2,
- title = {The \texttt{latexalpha2} package},
- subtitle = {Embed Mathematica code and plots into \LaTeX{}},
- author = {Yi Liu},
- date = {2019-03-05},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/latexalpha2},
- url = {https://ctan.org/pkg/latexalpha2},
-}
-
-@manual{ctan-latexbangla,
- title = {The \texttt{latexbangla} package},
- subtitle = {Enhanced \LaTeX{} integration for Bangla},
- author = {Adib Hasan},
- date = {2020-06-07},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/bengali/latexbangla},
- url = {https://ctan.org/pkg/latexbangla},
-}
-
-@manual{ctan-latexbug,
- title = {The \texttt{latexbug} package},
- subtitle = {Bug-classification for \LaTeX{} related bugs},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-14},
- version = {1.0n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/latexbug},
- url = {https://ctan.org/pkg/latexbug},
-}
-
-@manual{ctan-latexcad,
- title = {The \texttt{latexcad} package},
- subtitle = {A CAD drawing package},
- author = {John Leis},
- date = {2016-06-18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/systems/msdos/latexcad.zip},
- url = {https://ctan.org/pkg/latexcad},
-}
-
-@manual{ctan-latexcheat-de,
- title = {The \texttt{latexcheat-de} package},
- subtitle = {A \LaTeX{} cheat sheet, in German},
- author = {Tammo Schwindt},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/latexcheat/latexcheat-de},
- url = {https://ctan.org/pkg/latexcheat-de},
-}
-
-@manual{ctan-latexcheat-esmx,
- title = {The \texttt{latexcheat-esmx} package},
- subtitle = {A \LaTeX{} cheat sheet, in Spanish},
- author = {Luis Rivera and Winston Chang},
- date = {2016-06-24},
- version = {2.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/latexcheat/latexcheat-esmx},
- url = {https://ctan.org/pkg/latexcheat-esmx},
- annotation = {This is a translation to Spanish (Castellano) of Winston
- Chang’s
- (a reference sheet for writing scientific papers).},
-}
-
-@manual{ctan-latexcheat-ptbr,
- title = {The \texttt{latexcheat-ptbr} package},
- subtitle = {A \LaTeX{} cheat sheet, in Brazilian Portuguese},
- author = {Silvio Cesar Garcia Granja and Winston Chang},
- date = {2016-06-24},
- version = {1.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/latexcheat/latexcheat-ptbr},
- url = {https://ctan.org/pkg/latexcheat-ptbr},
- annotation = {This is a translation to Brazilian Portuguese of Winston Chang’s},
-}
-
-@manual{ctan-latexcheat,
- title = {The \texttt{latexcheat} package},
- subtitle = {A \LaTeX{} cheat sheet},
- author = {Winston Chang},
- date = {2016-06-24},
- version = {1.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/latexcheat/latexcheat},
- url = {https://ctan.org/pkg/latexcheat},
-}
-
-@manual{ctan-latexcolors,
- title = {The \texttt{latexcolors} package},
- subtitle = {Use color definitions from latexcolor.com},
- author = {Tobias Plüss},
- date = {2019-01-30},
- version = {0.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/latexcolors},
- url = {https://ctan.org/pkg/latexcolors},
- annotation = {Built on top of the
- package, the package defines the set of
- colors shown on
- for use in
- documents typeset with \LaTeX{} \& friends.},
-}
-
-@manual{ctan-latexcount,
- title = {The \texttt{latexcount} package},
- subtitle = {Perl script to count words of \LaTeX{} documents},
- author = {P.D. Magnus},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/latexcount},
- url = {https://ctan.org/pkg/latexcount},
-}
-
-@manual{ctan-latexcourse-rug,
- title = {The \texttt{latexcourse-rug} package},
- subtitle = {A \LaTeX{} course book},
- author = {Siep Kroonenberg},
- date = {2018-01-06},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/latexcourse-rug},
- url = {https://ctan.org/pkg/latexcourse-rug},
-}
-
-@manual{ctan-latexdb,
- title = {The \texttt{LaTeXDB} package},
- subtitle = {Integrates \LaTeX{} and SQL databases},
- author = {Hans-Georg Eßer},
- date = {2021-04-21},
- version = {0.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/latexdb},
- url = {https://ctan.org/pkg/latexdb},
-}
-
-@manual{ctan-latexdemo,
- title = {The \texttt{latexdemo} package},
- subtitle = {Demonstrate \LaTeX{} code with its resulting output},
- author = {Matthias Pospiech},
- date = {2020-05-09},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/latexdemo},
- url = {https://ctan.org/pkg/latexdemo},
-}
-
-@manual{ctan-latexdiff,
- title = {The \texttt{latexdiff} package},
- subtitle = {Determine and mark up significant differences between \LaTeX{} files},
- author = {Frederik Tilmann},
- date = {2022-11-09},
- version = {1.3.3},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/latexdiff},
- url = {https://ctan.org/pkg/latexdiff},
- annotation = {Latexdiff is a Perl script for visual mark up and revision of
- significant differences between two \LaTeX{} files. Various options
- are available for visual markup using standard \LaTeX{} packages such
- as . Changes not directly
- affecting visible text, for example in formatting commands, are
- still marked in the \LaTeX{} source. A rudimentary revision
- facilility is provided by another Perl script, latexrevise, which
- accepts or rejects all changes. Manual editing of the difference
- file can be used to override this default behaviour and accept or
- reject selected changes only.},
-}
-
-@manual{ctan-latexdraw,
- title = {The \texttt{latexdraw} package},
- subtitle = {CAD oriented drawing program},
- author = {Hans-Jurgen Siegert},
- date = {2018-09-15},
- version = {15.29},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/support/latexdraw},
- url = {https://ctan.org/pkg/latexdraw},
- annotation = {An X-Windows based CAD orientated drawing program which
- generates \LaTeX{} output using latexdraw.sty, based on
- . The picture may be
- generated as complete \LaTeX{}-source or as a picture-environment to
- be included in other documents. You must translate the dvi-file
- generated by \LaTeX{} to a PostScript-file using dvips before you can
- view or print the document.},
-}
-
-@manual{ctan-latexfileinfo-pkgs,
- title = {The \texttt{latexfileinfo-pkgs} package},
- subtitle = {A comparison of packages showing \LaTeX{} file information},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.22},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/latexfileinfo-pkgs},
- url = {https://ctan.org/pkg/latexfileinfo-pkgs},
-}
-
-@manual{ctan-latexfileversion,
- title = {The \texttt{latexfileversion} package},
- subtitle = {Prints the version and date of a \LaTeX{} class or style file},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/latexfileversion},
- url = {https://ctan.org/pkg/latexfileversion},
-}
-
-@manual{ctan-latexgit,
- title = {The \texttt{LaTeXgit} package},
- subtitle = {A \LaTeX{} git wrapper},
- author = {Camil Staps},
- date = {2020-04-20},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/latexgit},
- url = {https://ctan.org/pkg/latexgit},
-}
-
-@manual{ctan-latexindent,
- title = {The \texttt{latexindent} package},
- subtitle = {Indent a \LaTeX{} document, highlighting the programming structure},
- author = {Chris Hughes},
- date = {2023-02-19},
- version = {3.20.3},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/latexindent},
- url = {https://ctan.org/pkg/latexindent},
-}
-
-@manual{ctan-latexinfo,
- title = {The \texttt{latexinfo} package},
- subtitle = {Texinfo for \LaTeX{} 2.09},
- author = {Michael E. Clarkson and Richard M. Stallman},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/latexinfo},
- url = {https://ctan.org/pkg/latexinfo},
-}
-
-@manual{ctan-latexmake,
- title = {The \texttt{latexmake} package},
- subtitle = {\LaTeX{} Makefile},
- author = {Evan McLean and David J. Musliner and Tong Sun},
- date = {2016-06-24},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/latexmake},
- url = {https://ctan.org/pkg/latexmake},
-}
-
-@manual{ctan-latexmk,
- title = {The \texttt{latexmk} package},
- subtitle = {Fully automated \LaTeX{} document generation},
- author = {John Collins and Evan McLean and David J. Musliner},
- date = {2023-01-07},
- version = {4.79},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/latexmk},
- url = {https://ctan.org/pkg/latexmk},
-}
-
-@manual{ctan-latexmng,
- title = {The \texttt{LaTexMng} package},
- subtitle = {An integrated development environment for Windows},
- author = {Petr Vabishchevich},
- date = {2016-06-24},
- version = {2.0},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/win32/latexmng},
- url = {https://ctan.org/pkg/latexmng},
-}
-
-@manual{ctan-latexmp,
- title = {The \texttt{latexMP} package},
- subtitle = {Interface for \LaTeX{}-based typesetting in MetaPost},
- author = {Jens-Uwe Morawski},
- date = {2020-06-21},
- version = {1.2.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/latexmp},
- url = {https://ctan.org/pkg/latexmp},
- annotation = {The MetaPost package latexMP implements a user-friendly
- interface to access \LaTeX{}-based typesetting capabilities in
- MetaPost. The text to be typeset is given as string. This
- allows even dynamic text elements, for example counters, to be
- used in labels. Compared to other implementations it is much
- more flexible, since it can be used as direct replacement for
- , and much faster, compared for example to the
- solution provided by .},
-}
-
-@manual{ctan-latexn,
- title = {The \texttt{latexn} package},
- subtitle = {Run \LaTeX{} as many times as needed},
- author = {John Collins},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/latexn},
- url = {https://ctan.org/pkg/latexn},
-}
-
-@manual{ctan-latexpand,
- title = {The \texttt{latexpand} package},
- subtitle = {Expand \textbackslash{}input and \textbackslash{}include in a \LaTeX{} document},
- author = {Matthieu Moy and David J. Musliner and Matthew Lovell},
- date = {2023-02-27},
- version = {1.7.2},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/support/latexpand},
- url = {https://ctan.org/pkg/latexpand},
- annotation = {Latexpand is a Perl script that simply replaces
- and commands with the content of the
- input or included file. The script does not deal with
- commands.},
-}
-
-@manual{ctan-latexpix,
- title = {The \texttt{LaTeXPiX} package},
- subtitle = {\LaTeX{} picture editor for Windows},
- author = {N. J. H. M. van Beurden},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/systems/win32/latexpix},
- url = {https://ctan.org/pkg/latexpix},
-}
-
-@manual{ctan-latexrelease,
- title = {The \texttt{latexrelease} package},
- subtitle = {\LaTeX{} release emulation},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.0o},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/latexrelease},
-}
-
-@manual{ctan-latexrender,
- title = {The \texttt{LatexRender} package},
- subtitle = {Use \LaTeX{} in PHP programs},
- author = {Steve Mayer and Benjamin Zeiss},
- date = {2018-01-06},
- version = {0.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/latexrender},
- url = {https://ctan.org/pkg/latexrender},
- annotation = {LatexRender is a set of scripts that allows one to call \LaTeX{}
- from PHP programs; in particular, this allows users to enter
- \LaTeX{} commands in a forum and, on posting, have it replaced by
- a suitable gif or png. LatexRender requires \LaTeX{} and
- ImageMagick to be installed. The open source PHP code was
- originally designed for use with phpBB, but it can be adapted
- for use with other PHP programs. Details and example
- installations may be found in the maintainer's
- .},
-}
-
-@manual{ctan-latexwide,
- title = {The \texttt{LaTeX-WIDE} package},
- subtitle = {Multifunctional editor for \LaTeX{}},
- author = {Yuri Lubenets},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/systems/win32/LaTeX_WIDE},
- url = {https://ctan.org/pkg/latexwide},
-}
-
-@manual{ctan-latexwizard,
- title = {The \texttt{latexwizard} package},
- subtitle = {Create the header of a \LaTeX{} document},
- author = {Peter Willadt},
- date = {2016-06-24},
- version = {1.0 beta 4},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/win32/texhelpers/latexwizard},
- url = {https://ctan.org/pkg/latexwizard},
-}
-
-@manual{ctan-latin,
- title = {The \texttt{latin} package},
- subtitle = {Latin language definition for Babel},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {2/0f},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/latin},
- url = {https://ctan.org/pkg/latin},
-}
-
-@manual{ctan-latin1jk,
- title = {The \texttt{latin1jk} package},
- subtitle = {Inputenc encoding for verbatim ISO 8859-1 use},
- author = {Jörg Knappen},
- date = {2018-01-06},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/latin1jk.def},
- url = {https://ctan.org/pkg/latin1jk},
-}
-
-@manual{ctan-latin2jk,
- title = {The \texttt{latin2jk} package},
- subtitle = {Inputenc encoding for verbatim ISO 8859-2 use},
- author = {Jörg Knappen},
- date = {2018-01-06},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/latin2jk.def},
- url = {https://ctan.org/pkg/latin2jk},
-}
-
-@manual{ctan-latin3jk,
- title = {The \texttt{latin3jk} package},
- subtitle = {Inputenc encoding for verbatim ISO 8859-3 use},
- author = {Jörg Knappen},
- date = {2018-01-06},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/latin3jk.def},
- url = {https://ctan.org/pkg/latin3jk},
-}
-
-@manual{ctan-latino-sine-flexione,
- title = {The \texttt{latino-sine-flexione} package},
- subtitle = {\LaTeX{} support for documents written in Peano’s Interlingua},
- author = {Victore Leve},
- date = {2020-01-21},
- version = {1.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/latino-sine-flexione},
- url = {https://ctan.org/pkg/latino-sine-flexione},
-}
-
-@manual{ctan-lato,
- title = {The \texttt{lato} package},
- subtitle = {Lato font family and \LaTeX{} support},
- author = {Mohamed El Morabity and Łukasz Dziedzic},
- date = {2019-06-24},
- version = {3.3},
- license = {ofl,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/lato},
- url = {https://ctan.org/pkg/lato},
-}
-
-@manual{ctan-layaureo,
- title = {The \texttt{Layaureo} package},
- subtitle = {A package to improve the A4 page layout},
- author = {Fabiano Busdraghi},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/layaureo},
- url = {https://ctan.org/pkg/layaureo},
- annotation = {This package produces a wide page layout for documents that
- use A4 paper size. Moreover, LayAureo provides both a simple
- hook for leaving an empty space which is required if pages are
- bundled by a press binding (use option ), and an
- option called big which it forces typearea to become maximum.},
-}
-
-@manual{ctan-layout,
- title = {The \texttt{layout} package},
- subtitle = {View the layout of a document},
- author = {Kent McPherson and Johannes L. Braams and Hideo Umeki and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.2e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/layout},
-}
-
-@manual{ctan-layouts,
- title = {The \texttt{layouts} package},
- subtitle = {Display various elements of a document's layout},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {2.6d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/layouts},
- url = {https://ctan.org/pkg/layouts},
-}
-
-@manual{ctan-lazylist,
- title = {The \texttt{lazylist} package},
- subtitle = {Lists in \TeX{}’s “mouth”},
- author = {Alan Jeffrey},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lazylist},
- url = {https://ctan.org/pkg/lazylist},
-}
-
-@manual{ctan-lb2-examples,
- title = {The \texttt{lb2-examples} package},
- subtitle = {Examples from “Der \LaTeX{} Begleiter”},
- author = {Frank Mittelbach},
- date = {2016-06-24},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/lb2},
- url = {https://ctan.org/pkg/lb2-examples},
-}
-
-@manual{ctan-lccaps,
- title = {The \texttt{lccaps} package},
- subtitle = {Lowercased (spaced) small capitals},
- author = {Ruben Giannotti},
- date = {2018-01-26},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lccaps},
- url = {https://ctan.org/pkg/lccaps},
-}
-
-@manual{ctan-lcd,
- title = {The \texttt{lcd} package},
- subtitle = {Alphanumerical LCD-style displays},
- author = {Mike Kaufmann},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lcd},
- url = {https://ctan.org/pkg/lcd},
-}
-
-@manual{ctan-lcdf-typetools,
- title = {The \texttt{LCDF-typetools} package},
- subtitle = {A bundle of outline font manipulation tools},
- author = {Eddie Kohler},
- date = {2020-02-20},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/lcdf-typetools},
- url = {https://ctan.org/pkg/lcdf-typetools},
-}
-
-@manual{ctan-lcg,
- title = {The \texttt{lcg} package},
- subtitle = {Generate random integers},
- author = {Erich Janka},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lcg},
- url = {https://ctan.org/pkg/lcg},
-}
-
-@manual{ctan-lcircuit,
- title = {The \texttt{lcircuit} package},
- subtitle = {Circuit symbols for use in \LaTeX{} picture mode},
- author = {Adrian Johnstone},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/lcircuit},
- url = {https://ctan.org/pkg/lcircuit},
-}
-
-@manual{ctan-lcyw,
- title = {The \texttt{lcyw} package},
- subtitle = {Make Classic Cyrillic CM fonts accessible in \LaTeX{}},
- author = {Vladimir Lidovski},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lcyw},
- url = {https://ctan.org/pkg/lcyw},
- annotation = {The package makes the
-
- accessible for use with \LaTeX{}.},
-}
-
-@manual{ctan-ldiff,
- title = {The \texttt{ldiff} package},
- subtitle = {A script for marking the differences between two \LaTeX{} files},
- author = {Dekel Tsur},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/ldiff},
- url = {https://ctan.org/pkg/ldiff},
-}
-
-@manual{ctan-leading,
- title = {The \texttt{leading} package},
- subtitle = {Define leading with a length},
- author = {Will Robertson},
- date = {2018-01-06},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/leading},
- url = {https://ctan.org/pkg/leading},
- annotation = {The package defines a command , whose argument is
- a that specifies the nominal distance
- between consecutive baselines of typeset text. The command
- replaces the rather more difficult \LaTeX{} command
- , where the leading is
- specified by reference to the font size.},
-}
-
-@manual{ctan-leadsheets,
- title = {The \texttt{leadsheets} package},
- subtitle = {Typesetting leadsheets and songbooks},
- author = {Clemens Niederberger},
- date = {2022-01-05},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/leadsheets},
- url = {https://ctan.org/pkg/leadsheets},
-}
-
-@manual{ctan-leaflet,
- title = {The \texttt{leaflet} package},
- subtitle = {Create small handouts (flyers)},
- author = {Walter A. Schmidt and Rolf Niepraschk and Hubert Gäßlein and Jürgen Schlegelmilch},
- date = {2020-11-07},
- version = {2.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/leaflet},
- url = {https://ctan.org/pkg/leaflet},
-}
-
-@manual{ctan-leawood,
- title = {The \texttt{leawood} package},
- subtitle = {\LaTeX{} support for use of ITC Leawood font family},
- author = {Scott Pakin},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/leawood},
- url = {https://ctan.org/pkg/leawood},
-}
-
-@manual{ctan-lebhart,
- title = {The \texttt{lebhart} package},
- subtitle = {Write your articles in a colorful way},
- author = {Jinwen XU},
- date = {2023-01-06},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/lebhart},
- url = {https://ctan.org/pkg/lebhart},
-}
-
-@manual{ctan-lecturer,
- title = {The \texttt{lecturer} package},
- subtitle = {On-screen presentations for (almost) all formats},
- author = {Paul Isambert},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/lecturer},
- url = {https://ctan.org/pkg/lecturer},
-}
-
-@manual{ctan-lectures,
- title = {The \texttt{lectures} package},
- subtitle = {A document class for quickly drafting nice looking lecture notes},
- author = {Luca Cappelletti},
- date = {2020-02-02},
- version = {1.0.5},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lectures},
- url = {https://ctan.org/pkg/lectures},
- annotation = {This \LaTeX{} documentclass provides a number of gimmicks to draft
- nice looking lecture notes, such as a number of theorem environments,
- automatic spacing and alignment of figures and much more.
- More information is available in the
- .},
-}
-
-@manual{ctan-lectureslides,
- title = {The \texttt{lectureslides} package},
- subtitle = {Combine single PDF files into one file},
- author = {Taihao Zhang},
- date = {2022-03-08},
- version = {1.0},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lectureslides},
- url = {https://ctan.org/pkg/lectureslides},
-}
-
-@manual{ctan-led,
- title = {The \texttt{LEd} package},
- subtitle = {An environment for \LaTeX{} document development},
- author = {Sebastian Deorowicz and Adam Skorczynski},
- date = {2017-04-18},
- version = {0.46 beta},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/LEd},
- url = {https://ctan.org/pkg/led},
-}
-
-@manual{ctan-ledarab,
- title = {The \texttt{ledarab} package},
- subtitle = {Typeset scholarly editions in arabic},
- author = {Peter R. Wilson and Vafa Khalighi and Maïeul Rouquette and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ledmac},
- url = {https://ctan.org/pkg/ledarab},
-}
-
-@manual{ctan-ledmac,
- title = {The \texttt{ledmac} package},
- subtitle = {Typeset scholarly editions},
- author = {Peter R. Wilson and Vafa Khalighi and Maïeul Rouquette and {bidi-tex GitHub Organisation}},
- date = {2018-11-28},
- version = {0.19.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ledmac},
- url = {https://ctan.org/pkg/ledmac},
-}
-
-@manual{ctan-ledpar,
- title = {The \texttt{ledpar} package},
- subtitle = {Typeset scholarly editions in parallel texts},
- author = {Peter R. Wilson and Vafa Khalighi and Maïeul Rouquette and {bidi-tex GitHub Organisation}},
- date = {2018-11-28},
- version = {0.14a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ledmac},
- url = {https://ctan.org/pkg/ledpar},
-}
-
-@manual{ctan-leftidx,
- title = {The \texttt{leftidx} package},
- subtitle = {Left and right subscripts and superscripts in math mode},
- author = {Harald Harders},
- date = {2019-03-12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/leftidx},
- url = {https://ctan.org/pkg/leftidx},
-}
-
-@manual{ctan-leftindex,
- title = {The \texttt{leftindex} package},
- subtitle = {Left indices with better spacing},
- author = {Sebastian Ørsted},
- date = {2020-08-31},
- version = {0.1beta},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/leftindex},
- url = {https://ctan.org/pkg/leftindex},
-}
-
-@manual{ctan-leiletter,
- title = {The \texttt{LEIletter} package},
- subtitle = {A letter class for Leiden University},
- author = {Michiel Kreutzer},
- date = {2020-10-07},
- version = {1.3},
- license = {lppl1.3c,cc-by-sa-3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/leiletter},
- url = {https://ctan.org/pkg/leiletter},
-}
-
-@manual{ctan-leipzig,
- title = {The \texttt{leipzig} package},
- subtitle = {Typeset and index linguistic gloss abbreviations},
- author = {Natalie Weber},
- date = {2019-10-18},
- version = {2.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/leipzig},
- url = {https://ctan.org/pkg/leipzig},
- annotation = {The leipzig package provides a set of macros for standard
- glossing abbreviations, with options to create new ones. They are
- mnemonic (e.g. for accusative, abbreviated
- ). These abbre can be used alone or on top of the
- package for easy
- indexing and glossary printing.},
-}
-
-@manual{ctan-lengthconvert,
- title = {The \texttt{lengthconvert} package},
- subtitle = {Express lengths in arbitrary units},
- author = {Marco Daniel},
- date = {2020-05-07},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lengthconvert},
- url = {https://ctan.org/pkg/lengthconvert},
-}
-
-@manual{ctan-letgut,
- title = {The \texttt{letgut} package},
- subtitle = {Class for the newsletter “La Lettre GUTenberg” of the French \TeX{} User Group GUTenberg},
- author = {{Association GUTenberg}},
- date = {2023-01-14},
- version = {0.9.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/letgut},
- url = {https://ctan.org/pkg/letgut},
-}
-
-@manual{ctan-letltxmacro,
- title = {The \texttt{letltxmacro} package},
- subtitle = {Let assignment for \LaTeX{} macros},
- author = {Heiko Oberdiek},
- date = {2019-12-06},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/letltxmacro},
- url = {https://ctan.org/pkg/letltxmacro},
- annotation = {TeX’s assignment does not work for \LaTeX{} macros
- with optional arguments or for macros that are defined
- as robust macros by . This package
- defines that also takes care of the involved
- internal macros.},
-}
-
-@manual{ctan-letter-plain,
- title = {The \texttt{letter-plain} package},
- subtitle = {Letter macros for Plain \TeX{}},
- author = {{Unknown}},
- date = {2021-03-09},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/letter.tex},
- url = {https://ctan.org/pkg/letter-plain},
- annotation = {These macros would seem to be used by Knuth himself
- (a
- with a slightly different default address may be found in the CTAN
- copy of
- of macros).},
-}
-
-@manual{ctan-letter,
- title = {The \texttt{letter} package},
- subtitle = {The standard \LaTeX{}2e letter document class},
- author = {Leslie Lamport and Frank Mittelbach and Rainer Schöpf and {The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.3c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/letter},
- annotation = {This is the Standard Letter Document Class for
- .},
-}
-
-@manual{ctan-letter1,
- title = {The \texttt{letter1} package},
- subtitle = {Letter formatting macros},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/letter1},
- url = {https://ctan.org/pkg/letter1},
-}
-
-@manual{ctan-lettergothic,
- title = {The \texttt{lettergothic} package},
- subtitle = {The Adobe Type 1 font family Letter GothicType},
- author = {{URW GmbH} and Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/urw/lettergothic},
- url = {https://ctan.org/pkg/lettergothic},
-}
-
-@manual{ctan-lettermac,
- title = {The \texttt{lettermac} package},
- subtitle = {Simple macros for writing letters (Plain \TeX{})},
- author = {J. Daniel Smith},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/lettermac.tex},
- url = {https://ctan.org/pkg/lettermac},
-}
-
-@manual{ctan-letterspacing,
- title = {The \texttt{letterspacing} package},
- subtitle = {Letter spacing},
- author = {Philip Taylor},
- date = {2020-04-11},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/generic/misc/letterspacing.tex},
- url = {https://ctan.org/pkg/letterspacing},
-}
-
-@manual{ctan-letterswitharrows,
- title = {The \texttt{letterswitharrows} package},
- subtitle = {Draw arrows over math letters},
- author = {Maximilian Teegen},
- date = {2021-07-19},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/letterswitharrows},
- url = {https://ctan.org/pkg/letterswitharrows},
-}
-
-@manual{ctan-lettre,
- title = {The \texttt{lettre} package},
- subtitle = {Letters and faxes in French},
- author = {Denis Mégevand and Vincent Belaïche},
- date = {2020-04-13},
- version = {3.002},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lettre},
- url = {https://ctan.org/pkg/lettre},
- annotation = {Developed from the ancestor of the standard
- class, at the Observatoire de
- Genève.},
-}
-
-@manual{ctan-lettrine,
- title = {The \texttt{lettrine} package},
- subtitle = {Typeset dropped capitals},
- author = {Daniel Flipo},
- date = {2022-09-25},
- version = {2.30},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lettrine},
- url = {https://ctan.org/pkg/lettrine},
-}
-
-@manual{ctan-levy-font,
- title = {The \texttt{levy-font} package},
- subtitle = {Fonts for typesetting classical greek},
- author = {Silvio Levy and Dominik Wujastyk and Reinhard Wonneberger},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/greek/levy},
- url = {https://ctan.org/pkg/levy-font},
- annotation = {These fonts are derivatives of Kunth's CM fonts. Macros for use
- with Plain \TeX{} are included in the package; for use with \LaTeX{}, see
- (with English documentation) or
- (with German documentation).},
-}
-
-@manual{ctan-levy-latex,
- title = {The \texttt{levy-latex} package},
- subtitle = {Macros for using Silvio Levy's Greek fonts},
- author = {Andreas Dafferner},
- date = {2016-06-18},
- version = {1.0a},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/levy},
- url = {https://ctan.org/pkg/levy-latex},
-}
-
-@manual{ctan-lewis,
- title = {The \texttt{lewis} package},
- subtitle = {Draw Lewis structures},
- author = {Kent Horvath},
- date = {2016-06-24},
- version = {0.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lewis},
- url = {https://ctan.org/pkg/lewis},
-}
-
-@manual{ctan-lexend,
- title = {The \texttt{lexend} package},
- subtitle = {The Lexend fonts for \XeLaTeX{} and Lua\LaTeX{} through fontspec},
- author = {Yannick Schinko},
- date = {2021-01-30},
- version = {1.1.0.70},
- license = {lppl1.3c,ofl},
- mirror = {https://mirror.ctan.org/fonts/lexend},
- url = {https://ctan.org/pkg/lexend},
-}
-
-@manual{ctan-lexikon,
- title = {The \texttt{lexikon} package},
- subtitle = {Macros for a two language dictionary},
- author = {Axel Kielhorn},
- date = {2016-06-18},
- version = {1.0c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lexikon},
- url = {https://ctan.org/pkg/lexikon},
-}
-
-@manual{ctan-lexitex,
- title = {The \texttt{lexitex} package},
- subtitle = {Footnote-style citations for law journals},
- author = {Frank Bennett},
- date = {2016-06-24},
- version = {2.0j},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lexitex},
- url = {https://ctan.org/pkg/lexitex},
- annotation = {A predecessor of the system.},
-}
-
-@manual{ctan-lexref,
- title = {The \texttt{lexref} package},
- subtitle = {Convenient and uniform references to legal provisions},
- author = {Adrien Vion},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lexref},
- url = {https://ctan.org/pkg/lexref},
-}
-
-@manual{ctan-lextex,
- title = {The \texttt{lextex} package},
- subtitle = {Typesetting legal documents using plain \TeX{}},
- author = {Roger Horne},
- date = {2016-06-24},
- version = {1.005},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/lextex},
- url = {https://ctan.org/pkg/lextex},
- annotation = {LeXTeX is a collection of macros intended to enable English
- lawyers, and in particular Barristers, to format their work using
- Plain \TeX{}. The bundle incorporates the ruled table macros from
- .},
-}
-
-@manual{ctan-lfb,
- title = {The \texttt{lfb} package},
- subtitle = {A Greek font with normal and bold variants},
- author = {Laurie Field},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/greek/lfb},
- url = {https://ctan.org/pkg/lfb},
-}
-
-@manual{ctan-lfonts-ams,
- title = {The \texttt{lfonts-ams} package},
- subtitle = {Use AMS fonts as standard \LaTeX{} 2.09 fonts},
- author = {David R. Fuchs},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/lfonts_ams/lfonts_ams.tex},
- url = {https://ctan.org/pkg/lfonts-ams},
-}
-
-@manual{ctan-lgc-examples,
- title = {The \texttt{lgc-examples} package},
- subtitle = {Examples from The \LaTeX{} Graphics Companion},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/lgc},
- url = {https://ctan.org/pkg/lgc-examples},
-}
-
-@manual{ctan-lgc2-examples,
- title = {The \texttt{lgc2-examples} package},
- subtitle = {Examples from The \LaTeX{} Graphics Companion, second edition},
- author = {Frank Mittelbach and Sebastian Rahtz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/lgc2},
- url = {https://ctan.org/pkg/lgc2-examples},
-}
-
-@manual{ctan-lgraph,
- title = {The \texttt{lgraph} package},
- subtitle = {A program to generate graphs},
- author = {Sunil Podar},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/contrib/lgraph},
- url = {https://ctan.org/pkg/lgraph},
-}
-
-@manual{ctan-lgreek,
- title = {The \texttt{lgreek} package},
- subtitle = {\LaTeX{} macros for using Silvio Levy's Greek fonts},
- author = {Timothy Murphy},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lgreek},
- url = {https://ctan.org/pkg/lgreek},
-}
-
-@manual{ctan-lgrind,
- title = {The \texttt{lgrind} package},
- subtitle = {Produce beautiful listings of source code with \LaTeX{}},
- author = {Michael Piefel},
- date = {2016-06-24},
- version = {3.67},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/support/lgrind},
- url = {https://ctan.org/pkg/lgrind},
-}
-
-@manual{ctan-lgrmath,
- title = {The \texttt{lgrmath} package},
- subtitle = {Use LGR-encoded fonts in math mode},
- author = {Jean-François Burnol},
- date = {2022-11-26},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lgrmath},
- url = {https://ctan.org/pkg/lgrmath},
-}
-
-@manual{ctan-lgrx,
- title = {The \texttt{lgrx} package},
- subtitle = {Obsolete package for Greek in text},
- author = {Günter Milde},
- date = {2016-06-24},
- version = {0.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/lgrx},
- url = {https://ctan.org/pkg/lgrx},
-}
-
-@manual{ctan-lh,
- title = {The \texttt{lh} package},
- subtitle = {Cyrillic fonts that support \LaTeX{} standard encodings},
- author = {Andrey Khodulev and Olga Lapko and Alexander Berdnikov and Vladimir Volovich},
- date = {2016-06-24},
- version = {3.5g},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/lh},
- url = {https://ctan.org/pkg/lh},
-}
-
-@manual{ctan-lhcyr,
- title = {The \texttt{lhcyr} package},
- subtitle = {A non-standard Cyrillic input scheme},
- author = {Vadim V. Zhytnikov},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lhcyr},
- url = {https://ctan.org/pkg/lhcyr},
-}
-
-@manual{ctan-lhelp,
- title = {The \texttt{lhelp} package},
- subtitle = {Miscellaneous helper packages},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- version = {2.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lhelp},
- url = {https://ctan.org/pkg/lhelp},
-}
-
-@manual{ctan-libertine-legacy,
- title = {The \texttt{libertine-legacy} package},
- subtitle = {Linux Libertine fonts for (La)TeX and pdf(La)TeX users},
- author = {Bob Tennent and Michael Niedermair},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/libertine-legacy},
- url = {https://ctan.org/pkg/libertine-legacy},
-}
-
-@manual{ctan-libertine-type1,
- title = {The \texttt{libertine-type1} package},
- subtitle = {(pdf)\LaTeX{} support for the Libertine family of fonts},
- author = {Bob Tennent},
- date = {2016-06-24},
- version = {5.3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/libertine-type1},
- url = {https://ctan.org/pkg/libertine-type1},
-}
-
-@manual{ctan-libertine,
- title = {The \texttt{libertine} package},
- subtitle = {Use of Linux Libertine and Biolinum fonts with \LaTeX{}},
- author = {Bob Tennent},
- date = {2022-09-12},
- version = {5.3.0},
- license = {gpl,ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/libertine},
- url = {https://ctan.org/pkg/libertine},
-}
-
-@manual{ctan-libertinegc,
- title = {The \texttt{libertinegc} package},
- subtitle = {Libertine add-on to support Greek and Cyrillic},
- author = {Michael Sharpe},
- date = {2017-06-16},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/libertinegc},
- url = {https://ctan.org/pkg/libertinegc},
- annotation = {The package provides \LaTeX{} support files to access the Greek and
- Cyrillic glyphs in LinuxLibertine. It functions as an add-on to
- the package, using
- filenames and macro names that are compatible with that package.
- Supported encodings: LGR, T2A, T2B, T2C, OT2.},
-}
-
-@manual{ctan-libertineotf,
- title = {The \texttt{libertineotf} package},
- subtitle = {Linux Libertine fonts for use with Lua(La)TeX and Xe(La)TeX},
- author = {Patrick Gundlach and Michael Niedermair},
- date = {2016-06-24},
- version = {5.13-8},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/obsolete/fonts/libertineotf},
- url = {https://ctan.org/pkg/libertineotf},
-}
-
-@manual{ctan-libertinus-fonts,
- title = {The \texttt{libertinus-fonts} package},
- subtitle = {The Libertinus font family},
- author = {Khaled Hosny and Caleb Maclennan},
- date = {2021-02-26},
- version = {7.040},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/libertinus-fonts},
- url = {https://ctan.org/pkg/libertinus-fonts},
-}
-
-@manual{ctan-libertinus-otf,
- title = {The \texttt{libertinus-otf} package},
- subtitle = {Support for Libertinus OpenType},
- author = {Herbert Voß},
- date = {2021-07-23},
- version = {0.29},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/libertinus-otf},
- url = {https://ctan.org/pkg/libertinus-otf},
-}
-
-@manual{ctan-libertinus-type1,
- title = {The \texttt{libertinus-type1} package},
- subtitle = {Support for using Libertinus fonts with \LaTeX{}/pdfLaTeX},
- author = {Bob Tennent},
- date = {2022-11-07},
- version = {},
- license = {gpl2,ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/libertinus-type1},
- url = {https://ctan.org/pkg/libertinus-type1},
-}
-
-@manual{ctan-libertinus,
- title = {The \texttt{libertinus} package},
- subtitle = {Wrapper to use the correct libertinus package according to the used \TeX{} engine},
- author = {Herbert Voß},
- date = {2021-06-16},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/libertinus},
- url = {https://ctan.org/pkg/libertinus},
-}
-
-@manual{ctan-libertinust1math,
- title = {The \texttt{LibertinusT1Math} package},
- subtitle = {A Type 1 font and \LaTeX{} support for Libertinus Math},
- author = {Michael Sharpe},
- date = {2022-01-26},
- version = {2.0.2},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/libertinust1math},
- url = {https://ctan.org/pkg/libertinust1math},
-}
-
-@manual{ctan-libgreek,
- title = {The \texttt{libgreek} package},
- subtitle = {Greek letters in math mode from Libertinus or Linux Libertine/Biolinum},
- author = {Jean-François Burnol},
- date = {2022-11-14},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/libgreek},
- url = {https://ctan.org/pkg/libgreek},
-}
-
-@manual{ctan-librarian,
- title = {The \texttt{librarian} package},
- subtitle = {Tools to create bibliographies in \TeX{}},
- author = {Paul Isambert},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/librarian},
- url = {https://ctan.org/pkg/librarian},
-}
-
-@manual{ctan-librebaskerville,
- title = {The \texttt{librebaskerville} package},
- subtitle = {The Libre Baskerville family of fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-17},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/librebaskerville},
- url = {https://ctan.org/pkg/librebaskerville},
-}
-
-@manual{ctan-librebodoni,
- title = {The \texttt{librebodoni} package},
- subtitle = {Libre Bodoni fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-18},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/librebodoni},
- url = {https://ctan.org/pkg/librebodoni},
-}
-
-@manual{ctan-librecaslon,
- title = {The \texttt{librecaslon} package},
- subtitle = {Libre Caslon fonts, with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-18},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/librecaslon},
- url = {https://ctan.org/pkg/librecaslon},
-}
-
-@manual{ctan-librefranklin,
- title = {The \texttt{librefranklin} package},
- subtitle = {\LaTeX{} support for the Libre-Franklin family of fonts},
- author = {Bob Tennent},
- date = {2022-09-19},
- version = {},
- license = {lppl,ofl},
- mirror = {https://mirror.ctan.org/fonts/librefranklin},
- url = {https://ctan.org/pkg/librefranklin},
-}
-
-@manual{ctan-libris,
- title = {The \texttt{libris} package},
- subtitle = {Libris ADF fonts, with \LaTeX{} support},
- author = {Hirwen Harendal and Clea F. Rees},
- date = {2017-04-18},
- version = {1.007},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/libris},
- url = {https://ctan.org/pkg/libris},
-}
-
-@manual{ctan-lie-hasse,
- title = {The \texttt{lie-hasse} package},
- subtitle = {Draw Hasse diagrams},
- author = {Benjamin McKay},
- date = {2021-03-24},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/lie-hasse},
- url = {https://ctan.org/pkg/lie-hasse},
- annotation = {This package draws Hasse diagrams of the partially ordered sets
- of the simple roots of any complex simple Lie algebra. It uses
- the Dynkin diagrams package .},
-}
-
-@manual{ctan-lifia-th,
- title = {The \texttt{lifia-th} package},
- subtitle = {A thesis class for LIFIA, Grenoble},
- author = {Wilfried Pfister},
- date = {2016-06-24},
- version = {2.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lifia-th},
- url = {https://ctan.org/pkg/lifia-th},
-}
-
-@manual{ctan-liftarm,
- title = {The \texttt{liftarm} package},
- subtitle = {Draw liftarms},
- author = {Matthias Floré},
- date = {2022-04-07},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/liftarm},
- url = {https://ctan.org/pkg/liftarm},
-}
-
-@manual{ctan-ligatex,
- title = {The \texttt{LigaTeX} package},
- subtitle = {Remove unnecessary ligatures},
- author = {Gerhard Killesreiter},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/ligatex},
- url = {https://ctan.org/pkg/ligatex},
- annotation = {LigaTeX removes unnecessary ligatures (accented characters written
- out as more than one letter) from \TeX{} files (for example,
- it translates “” to “”). The program
- currently only works with texts written in German. However, the author
- welcomes additions to LigaTeX in order to make it usable with any
- language.},
-}
-
-@manual{ctan-light-latex-make,
- title = {The \texttt{Light \LaTeX{} Make} package},
- subtitle = {llmk: A build tool for \LaTeX{} documents},
- author = {Takuto Asakura},
- date = {2023-03-08},
- version = {1.2.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/light-latex-make},
- url = {https://ctan.org/pkg/light-latex-make},
-}
-
-@manual{ctan-ligtype,
- title = {The \texttt{ligtype} package},
- subtitle = {Comprehensive ligature suppression functionalities},
- author = {Thomas Kelkel},
- date = {2022-06-13},
- version = {0.1b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/ligtype},
- url = {https://ctan.org/pkg/ligtype},
-}
-
-@manual{ctan-lilyglyphs,
- title = {The \texttt{lilyglyphs} package},
- subtitle = {Access lilypond fragments and glyphs, in \LaTeX{}},
- author = {Urs Liska},
- date = {2020-10-04},
- version = {0.2.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/lilyglyphs},
- url = {https://ctan.org/pkg/lilyglyphs},
-}
-
-@manual{ctan-limap,
- title = {The \texttt{limap} package},
- subtitle = {Typeset maps and blocks according to the Information Mapping® method},
- author = {Gerd Neugebauer},
- date = {2017-07-21},
- version = {2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gene/limap},
- url = {https://ctan.org/pkg/limap},
-}
-
-@manual{ctan-limecv,
- title = {The \texttt{limecv} package},
- subtitle = {A (Xe/Lua)\LaTeX{} document class for curriculum vitæ},
- author = {Olivier Pieters},
- date = {2021-12-01},
- version = {0.1.12},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/limecv},
- url = {https://ctan.org/pkg/limecv},
- annotation = {is a (Xe/Lua)\LaTeX{} document class to write
- curriculum vitæ. It is designed with the following design rules:
- simple, elegant and clean. To this end, it offers several
- environments and macros for convenience.},
-}
-
-@manual{ctan-lineara,
- title = {The \texttt{linearA} package},
- subtitle = {Linear A script fonts},
- author = {Apostolos Syropoulos},
- date = {2022-04-29},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/linearA},
- url = {https://ctan.org/pkg/lineara},
-}
-
-@manual{ctan-linearb,
- title = {The \texttt{linearb} package},
- subtitle = {Linear B script used in the Bronze Age for Mycenaean Greek},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/linearb},
- url = {https://ctan.org/pkg/linearb},
-}
-
-@manual{ctan-linebreaker,
- title = {The \texttt{linebreaker} package},
- subtitle = {Prevent overflow boxes with LuaLaTeX},
- author = {Michal Hoftich},
- date = {2023-03-07},
- version = {0.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/linebreaker},
- url = {https://ctan.org/pkg/linebreaker},
- annotation = {This package tries to prevent overflow lines in paragraphs or boxes.
- It changes LuaTeX’s callback and
- re-typesets the paragraph with increased values of
- and until the overflow no longer happens.
- If that doesn’t help, it chooses the solution with the lowest badness.},
-}
-
-@manual{ctan-linegoal,
- title = {The \texttt{linegoal} package},
- subtitle = {A “dimen” that returns the space left on the line},
- author = {Florent Chervet},
- date = {2020-03-09},
- version = {2.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/linegoal},
- url = {https://ctan.org/pkg/linegoal},
-}
-
-@manual{ctan-lineno,
- title = {The \texttt{lineno} package},
- subtitle = {Line numbers on paragraphs},
- author = {Stephan Böttcher and Uwe Lück and Karl Wette},
- date = {2023-01-19},
- version = {5.1},
- license = {lppl1.3a},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lineno},
- url = {https://ctan.org/pkg/lineno},
-}
-
-@manual{ctan-linenoamsmath,
- title = {The \texttt{linenoamsmath} package},
- subtitle = {Use the lineno package together with amsmath},
- author = {Karl Wette},
- date = {2022-12-06},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/linenoamsmath},
- url = {https://ctan.org/pkg/linenoamsmath},
-}
-
-@manual{ctan-ling-macros,
- title = {The \texttt{ling-macros} package},
- subtitle = {Macros for typesetting formal linguistics},
- author = {Andrew McKenzie},
- date = {2016-10-17},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ling-macros},
- url = {https://ctan.org/pkg/ling-macros},
-}
-
-@manual{ctan-lingtrees,
- title = {The \texttt{lingtrees} package},
- subtitle = {Linguistics trees preprocessor and macros},
- author = {Avery D Andrews},
- date = {2018-09-15},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/LingTrees},
- url = {https://ctan.org/pkg/lingtrees},
- annotation = {LingTrees is a package for formatting linguistics trees,
- consisting of a preprocessor that converts an indented list format
- into \LaTeX{} macros, and some macros for doing the layout and line
- drawing. The line drawing may be done either by
- or by
- (PSTricks gives the user
- more functionality).},
-}
-
-@manual{ctan-linguex,
- title = {The \texttt{linguex} package},
- subtitle = {Format linguists' examples},
- author = {Wolfgang Sternefeld},
- date = {2016-06-24},
- version = {4.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/linguex},
- url = {https://ctan.org/pkg/linguex},
-}
-
-@manual{ctan-linguisticspro,
- title = {The \texttt{linguisticspro} package},
- subtitle = {LinguisticsPro fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-28},
- version = {},
- license = {lppl,ofl},
- mirror = {https://mirror.ctan.org/fonts/linguisticspro},
- url = {https://ctan.org/pkg/linguisticspro},
-}
-
-@manual{ctan-linop,
- title = {The \texttt{linop} package},
- subtitle = {Typeset linear operators as they appear in quantum theory or linear algebra},
- author = {Johannes Weytjens},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/linop},
- url = {https://ctan.org/pkg/linop},
-}
-
-@manual{ctan-linsys,
- title = {The \texttt{linsys} package},
- subtitle = {Typeset systems of linear equations},
- author = {Walter A. Kehowski},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/linsys.sty},
- url = {https://ctan.org/pkg/linsys},
-}
-
-@manual{ctan-lintex,
- title = {The \texttt{lintex} package},
- subtitle = {Tidy up after a \TeX{} run},
- author = {Maurizio Loreti and Ryan Kavanagh},
- date = {2016-06-24},
- version = {1.13},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/lintex},
- url = {https://ctan.org/pkg/lintex},
-}
-
-@manual{ctan-lion-msc,
- title = {The \texttt{lion-msc} package},
- subtitle = {\LaTeX{} class for B.Sc. and M.Sc. reports at Leiden Institute of Physics (LION)},
- author = {Michiel de Dood},
- date = {2020-06-04},
- version = {0.30},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lion-msc},
- url = {https://ctan.org/pkg/lion-msc},
-}
-
-@manual{ctan-lips,
- title = {The \texttt{lips} package},
- subtitle = {Text ellipses in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {2.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/lips},
-}
-
-@manual{ctan-lipsum,
- title = {The \texttt{lipsum} package},
- subtitle = {Easy access to the Lorem Ipsum and other dummy texts},
- author = {Patrick Happel and Phelype Oleinik},
- date = {2021-09-20},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lipsum},
- url = {https://ctan.org/pkg/lipsum},
- annotation = {This package gives you easy access to 150 paragraphs
- of the Lorem Ipsum dummy text provided by
- ,
- plus a growing list of other dummy texts
- in different languages.},
-}
-
-@manual{ctan-lisp-on-tex,
- title = {The \texttt{lisp-on-tex} package},
- subtitle = {Execute LISP code in a \LaTeX{} document},
- author = {Hakuta Shizuya},
- date = {2016-06-24},
- version = {2.0},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lisp-on-tex},
- url = {https://ctan.org/pkg/lisp-on-tex},
-}
-
-@manual{ctan-list,
- title = {The \texttt{list} package},
- subtitle = {List ASCII text files},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/list.tex},
- url = {https://ctan.org/pkg/list},
-}
-
-@manual{ctan-listbib,
- title = {The \texttt{listbib} package},
- subtitle = {Lists contents of BibTeX files},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- version = {2.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listbib},
- url = {https://ctan.org/pkg/listbib},
- annotation = {Generates listings of bibliographic data bases in
- format — for example
- for archival purposes. Included is a listbib.bst which is
- better suited for this purpose than the standard styles.},
-}
-
-@manual{ctan-listing-pln,
- title = {The \texttt{listing-pln} package},
- subtitle = {Almost-verbatim list programs},
- author = {B. H. Toby},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/listing.mac},
- url = {https://ctan.org/pkg/listing-pln},
- annotation = {This is a development (using the facilities of the
- bundle) of the
- author’s package.},
-}
-
-@manual{ctan-listing,
- title = {The \texttt{listing} package},
- subtitle = {Produce formatted program listings},
- author = {Volker Kuhlmann and Matthew Hebley},
- date = {2018-01-06},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listing},
- url = {https://ctan.org/pkg/listing},
- annotation = {The listing environment is provided and is similar to figure and
- table, although it is not a floating environment. Includes
- support for , , , and
- introduces , ,
- . It produces a file. It
- does not change (unless the option
- is used), so packages that change the layout
- of still work.},
-}
-
-@manual{ctan-listings-ext,
- title = {The \texttt{listings-ext} package},
- subtitle = {Automated input of source},
- author = {Joel M. Hoffman},
- date = {2016-06-24},
- version = {67},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listings-ext},
- url = {https://ctan.org/pkg/listings-ext},
-}
-
-@manual{ctan-listings,
- title = {The \texttt{listings} package},
- subtitle = {Typeset source code listings using \LaTeX{}},
- author = {Jobst Hoffmann and Brooks Moses and Carsten Heinz},
- date = {2023-02-27},
- version = {1.9},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listings},
- url = {https://ctan.org/pkg/listings},
-}
-
-@manual{ctan-listingsutf8,
- title = {The \texttt{listingsutf8} package},
- subtitle = {Allow UTF-8 in listings input},
- author = {Heiko Oberdiek},
- date = {2019-12-14},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listingsutf8},
- url = {https://ctan.org/pkg/listingsutf8},
- annotation = {Package does not support files
- with multi-byte encodings such as UTF-8. In the case of
- , a simple workaround is possible if a
- one-byte encoding exists that the file can be converted to. The
- package requires the e-TeX extensions under pdfTeX (in either PDF
- or DVI output mode).},
-}
-
-@manual{ctan-listlbls,
- title = {The \texttt{listlbls} package},
- subtitle = {Creates a list of all labels used throughout a document},
- author = {Norbert Melzer},
- date = {2021-08-26},
- version = {1.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listlbls},
- url = {https://ctan.org/pkg/listlbls},
-}
-
-@manual{ctan-listliketab,
- title = {The \texttt{listliketab} package},
- subtitle = {Typeset lists as tables},
- author = {Scott Pakin},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listliketab},
- url = {https://ctan.org/pkg/listliketab},
-}
-
-@manual{ctan-listofanswers,
- title = {The \texttt{listofanswers} package},
- subtitle = {Provide a list of answers to mathematical problems},
- author = {Robert Ipanaqué},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listofanswers},
- url = {https://ctan.org/pkg/listofanswers},
-}
-
-@manual{ctan-listofitems,
- title = {The \texttt{listofitems} package},
- subtitle = {Grab items in lists using user-specified sep char},
- author = {Christian Tellechea and Steven B. Segletes},
- date = {2019-08-21},
- version = {1.63},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/listofitems},
- url = {https://ctan.org/pkg/listofitems},
-}
-
-@manual{ctan-listofsymbols,
- title = {The \texttt{listofsymbols} package},
- subtitle = {Create and manipulate lists of symbols},
- author = {Stefan Spreng},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/listofsymbols},
- url = {https://ctan.org/pkg/listofsymbols},
-}
-
-@manual{ctan-literate,
- title = {The \texttt{literate} package},
- subtitle = {A literate programming system, not tied to any language},
- author = {Joachim Schrod},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/literate},
- url = {https://ctan.org/pkg/literate},
- annotation = {The system consists of two parts: a processor, ,
- which extracts program code from a literate source file, and a set
- of macros that will typeset the source file (possibly after
- application, by , of a change
- file). is distributed as a web source file.},
-}
-
-@manual{ctan-literaturnaya,
- title = {The \texttt{literaturnaya} package},
- subtitle = {The Literaturnaya family of fonts},
- author = {{ParaGraph International} and Vladimir Volovich and Anatoliy A. Malyarenko},
- date = {2021-09-11},
- version = {0.2},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/literat},
- url = {https://ctan.org/pkg/literaturnaya},
-}
-
-@manual{ctan-lithuanian,
- title = {The \texttt{lithuanian} package},
- subtitle = {Lithuanian language support},
- author = {Sigitas Tolušis},
- date = {2023-03-07},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/language/lithuanian},
- url = {https://ctan.org/pkg/lithuanian},
-}
-
-@manual{ctan-liturg,
- title = {The \texttt{liturg} package},
- subtitle = {Support for typesetting Catholic liturgical texts},
- author = {Donald P. Goodman},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/liturg},
- url = {https://ctan.org/pkg/liturg},
-}
-
-@manual{ctan-ljmetrics,
- title = {The \texttt{ljmetrics} package},
- subtitle = {Metrics for Laserjet built-in fonts},
- author = {Norman Walsh},
- date = {2016-06-24},
- version = {0.9},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/ljmetrics},
- url = {https://ctan.org/pkg/ljmetrics},
- annotation = {The distribution offers TFM (and PL) files derived from
- Hewlett-Packard's LaserJet IV Developers kit. No outlines are
- provided; the metrics are only usable with drivers adapted for
- output to the relevant printers (e.g.,
- ).},
-}
-
-@manual{ctan-lkort,
- title = {The \texttt{lkort} package},
- subtitle = {A short introduction to \LaTeX{}, in Dutch},
- author = {Pieter van Oostrum},
- date = {2019-06-21},
- license = {noinfo},
- url = {https://ctan.org/pkg/lkort},
-}
-
-@manual{ctan-lkproof,
- title = {The \texttt{LKproof} package},
- subtitle = {LK Proof figure macros},
- author = {Makoto Tatsuta},
- date = {2018-02-03},
- version = {3.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lkproof},
- url = {https://ctan.org/pkg/lkproof},
- annotation = {The package defines a pair of commands and
- , that are used in constructing LK proof
- diagrams.},
-}
-
-@manual{ctan-llist,
- title = {The \texttt{llist} package},
- subtitle = {List ASCII text files in landscape},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/llist.tex},
- url = {https://ctan.org/pkg/llist},
-}
-
-@manual{ctan-llncs,
- title = {The \texttt{llncs} package},
- subtitle = {Document class and bibliography style for Lecture Notes in Computer Science (LNCS)},
- author = {Markus Richter},
- date = {2022-09-05},
- version = {2.22},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/llncs},
- url = {https://ctan.org/pkg/llncs},
-}
-
-@manual{ctan-llncs209,
- title = {The \texttt{llncs209} package},
- subtitle = {Macros for Springer books},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex209/contrib/springer/llncs},
- url = {https://ctan.org/pkg/llncs209},
-}
-
-@manual{ctan-llncsconf,
- title = {The \texttt{llncsconf} package},
- subtitle = {\LaTeX{} package extending Springer's llncs class},
- author = {Achim D. Brucker},
- date = {2022-04-25},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/llncsconf},
- url = {https://ctan.org/pkg/llncsconf},
- annotation = {The package extends Springer’s class for adding additional notes
- describing the status of the paper (submitted, accepted) as well as for
- creating author-archived versions that include the references to the official
- version hosted by Springer (as requested by the copyright transfer agreement
- for Springer’s LNCS series).},
-}
-
-@manual{ctan-lm-math,
- title = {The \texttt{lm-math} package},
- subtitle = {OpenType maths fonts for Latin Modern},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.959},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/lm-math},
- url = {https://ctan.org/pkg/lm-math},
-}
-
-@manual{ctan-lm,
- title = {The \texttt{lm} package},
- subtitle = {Latin modern fonts in outline formats},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2021-09-16},
- version = {2.005},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/lm},
- url = {https://ctan.org/pkg/lm},
-}
-
-@manual{ctan-lmacs,
- title = {The \texttt{lmacs} package},
- subtitle = {A simple package for including support files},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lmacs},
- url = {https://ctan.org/pkg/lmacs},
-}
-
-@manual{ctan-lmake,
- title = {The \texttt{lmake} package},
- subtitle = {Process lists to do repetitive actions},
- author = {Shengjun Pan},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lmake},
- url = {https://ctan.org/pkg/lmake},
-}
-
-@manual{ctan-lms,
- title = {The \texttt{lms} package},
- subtitle = {\LaTeX{} 2.09 style for LMS journals},
- author = {Ben Garling and Rod Mulvey and Alison Woollatt},
- date = {2016-06-24},
- version = {0.6},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/lms},
- url = {https://ctan.org/pkg/lms},
- annotation = {The document style is a development of the standard
- \LaTeX{} 2.09 style. Source of a guide and of a
- usage sample are provided.},
-}
-
-@manual{ctan-ln03dvi,
- title = {The \texttt{ln03dvi} package},
- subtitle = {DVI to LN03 driver},
- author = {Matt Thomas},
- date = {2016-06-24},
- version = {1.2-013},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/ln03/thomas},
- url = {https://ctan.org/pkg/ln03dvi},
- annotation = {A development of , written in
- VAX C, but with conscious efforts to avoid VAX and VMS
- dependencies (though some dependencies do remain).},
-}
-
-@manual{ctan-lni,
- title = {The \texttt{lni} package},
- subtitle = {Official class for the “Lecture Notes in Informatics”},
- author = {Martin Sievers},
- date = {2021-03-02},
- version = {1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lni},
- url = {https://ctan.org/pkg/lni},
-}
-
-@manual{ctan-lobster2,
- title = {The \texttt{lobster2} package},
- subtitle = {Lobster Two fonts, with support for all \LaTeX{} engines},
- author = {Bob Tennent},
- date = {2022-09-19},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/lobster2},
- url = {https://ctan.org/pkg/lobster2},
-}
-
-@manual{ctan-locality,
- title = {The \texttt{locality} package},
- subtitle = {Various macros for keeping things local},
- author = {Jason Gross},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/locality},
- url = {https://ctan.org/pkg/locality},
-}
-
-@manual{ctan-localloc,
- title = {The \texttt{localloc} package},
- subtitle = {Macros for localizing \TeX{} register allocations},
- author = {Bernd Raichle},
- date = {2020-09-30},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/localloc},
- url = {https://ctan.org/pkg/localloc},
-}
-
-@manual{ctan-logbox,
- title = {The \texttt{logbox} package},
- subtitle = {e-TeX showbox facilities for exploration purposes},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/logbox},
- url = {https://ctan.org/pkg/logbox},
-}
-
-@manual{ctan-logfilter,
- title = {The \texttt{logfilter} package},
- subtitle = {Choose what you want to see of a (La)TeX log},
- author = {Kasper B. Graversen},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/logfilter},
- url = {https://ctan.org/pkg/logfilter},
-}
-
-@manual{ctan-loggates,
- title = {The \texttt{loggates} package},
- subtitle = {A small font for logic gates, and \LaTeX{} support},
- author = {Nico Verwer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/loggates},
- url = {https://ctan.org/pkg/loggates},
-}
-
-@manual{ctan-logic,
- title = {The \texttt{logic} package},
- subtitle = {A font for electronic logic design},
- author = {Rick Simpson},
- date = {2019-02-03},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/logic},
- url = {https://ctan.org/pkg/logic},
-}
-
-@manual{ctan-logical-markup-utils,
- title = {The \texttt{logical-markup-utils} package},
- subtitle = {Packages for language-dependent inline quotes and dashes},
- author = {Michał Masłowski},
- date = {2016-06-24},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/logical-markup-utils},
- url = {https://ctan.org/pkg/logical-markup-utils},
-}
-
-@manual{ctan-logicproof,
- title = {The \texttt{logicproof} package},
- subtitle = {Box proofs for propositional and predicate logic},
- author = {Alan Davidson},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/logicproof},
- url = {https://ctan.org/pkg/logicproof},
-}
-
-@manual{ctan-logicpuzzle,
- title = {The \texttt{logicpuzzle} package},
- subtitle = {Typeset (grid-based) logic puzzles},
- author = {Josef Kleber},
- date = {2017-04-18},
- version = {2.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/logicpuzzle},
- url = {https://ctan.org/pkg/logicpuzzle},
-}
-
-@manual{ctan-logix,
- title = {The \texttt{logix} package},
- subtitle = {Supplement to the Unicode math symbols},
- author = {Michael Lee Finney},
- date = {2022-06-22},
- version = {1.13},
- license = {ofl,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/logix},
- url = {https://ctan.org/pkg/logix},
-}
-
-@manual{ctan-logpap,
- title = {The \texttt{logpap} package},
- subtitle = {Generate logarithmic graph paper with \LaTeX{}},
- author = {Mike Kaufmann},
- date = {2016-06-24},
- version = {0.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/logpap},
- url = {https://ctan.org/pkg/logpap},
-}
-
-@manual{ctan-logreq,
- title = {The \texttt{logreq} package},
- subtitle = {Support for automation of the \LaTeX{} workflow},
- author = {Philipp Lehman},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/logreq},
- url = {https://ctan.org/pkg/logreq},
-}
-
-@manual{ctan-logsys,
- title = {The \texttt{logsys} package},
- subtitle = {Draw logarithmic coordinate systems},
- author = {Mogens Lemvig Hansen},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/coordsys},
- url = {https://ctan.org/pkg/logsys},
- annotation = {The package (part of the
- distribution) extends the
- package to provide logarithmic and double-logarithmic coordinate
- systems and grids.},
-}
-
-@manual{ctan-lollipop,
- title = {The \texttt{lollipop} package},
- subtitle = {TeX made easy},
- author = {Victor Eijkhout and Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {1.07},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/lollipop},
- url = {https://ctan.org/pkg/lollipop},
-}
-
-@manual{ctan-longdiv,
- title = {The \texttt{longdiv} package},
- subtitle = {Long division arithmetic problems},
- author = {Donald Arseneau},
- date = {2020-04-11},
- version = {1},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/misc/longdiv.tex},
- url = {https://ctan.org/pkg/longdiv},
- annotation = {Work out and print integer long division problems. Use:
- . The numerator and
- denominator (divisor and dividend) must be integers, and the
- quotient is an integer too. leaves the
- remainder from the division at the bottom of its diagram of the
- problem.},
-}
-
-@manual{ctan-longdivision,
- title = {The \texttt{longdivision} package},
- subtitle = {Typesets long division},
- author = {Hood Chatham},
- date = {2021-07-17},
- version = {1.2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/longdivision},
- url = {https://ctan.org/pkg/longdivision},
-}
-
-@manual{ctan-longfbox,
- title = {The \texttt{longfbox} package},
- subtitle = {Draw framed boxes with standard CSS attributes that can break over multiple pages},
- author = {Daan Leijen},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/longfbox},
- url = {https://ctan.org/pkg/longfbox},
-}
-
-@manual{ctan-longfigure,
- title = {The \texttt{longfigure} package},
- subtitle = {Provides a figure-like environment that break over pages},
- author = {Tim Arnold},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/longfigure},
- url = {https://ctan.org/pkg/longfigure},
-}
-
-@manual{ctan-longnamefilelist,
- title = {The \texttt{longnamefilelist} package},
- subtitle = {Tidy \textbackslash{}listfiles with long file names},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/longnamefilelist},
- url = {https://ctan.org/pkg/longnamefilelist},
- annotation = {The package equips \LaTeX{}’s command with an
- optional argument for the number of characters in the longest base
- filename. This way you get a neatly aligned file list even when
- it contains files whose base names have more than 8
- characters. The package can be combined with the
- package as explained in the
- documentation.},
-}
-
-@manual{ctan-longtable,
- title = {The \texttt{longtable} package},
- subtitle = {Allow tables to flow over page boundaries},
- author = {David Carlisle and David Kastrup and {The \LaTeX{} Project Team}},
- date = {2021-11-12},
- version = {4.17},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/longtable},
-}
-
-@manual{ctan-longtocline,
- title = {The \texttt{longtocline} package},
- subtitle = {Macros to produce a table of contents},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/longtocline.tex},
- url = {https://ctan.org/pkg/longtocline},
- annotation = {Defines a macro (3 arguments) that produces a
- table of contents line rather similar to that provided as standard
- in \LaTeX{}.},
-}
-
-@manual{ctan-lookbibtex,
- title = {The \texttt{lookbibtex} package},
- subtitle = {Tools for examining BibTeX files},
- author = {John Heidemann},
- date = {2016-06-24},
- version = {1.22},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/lookbibtex},
- url = {https://ctan.org/pkg/lookbibtex},
-}
-
-@manual{ctan-loops,
- title = {The \texttt{loops} package},
- subtitle = {General looping macros for use with \LaTeX{}},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/loops},
- url = {https://ctan.org/pkg/loops},
-}
-
-@manual{ctan-losymbol,
- title = {The \texttt{losymbol} package},
- subtitle = {Defines a mechanism for producing a list of symbols},
- author = {Gerry van Dooren},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/losymbol.sty},
- url = {https://ctan.org/pkg/losymbol},
-}
-
-@manual{ctan-lout,
- title = {The \texttt{lout} package},
- subtitle = {An alternative typesetting system},
- author = {Jeff Kingston},
- date = {2017-04-18},
- version = {3.40},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/lout},
- url = {https://ctan.org/pkg/lout},
-}
-
-@manual{ctan-loval,
- title = {The \texttt{loval} package},
- subtitle = {Round-cornered framed boxes},
- author = {Elmar Schalück},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/loval},
- url = {https://ctan.org/pkg/loval},
- annotation = {This appears to be an upgrade of the author’s
- package. It certainly performs
- better than that package; however, it is prone to tedious (and
- information-free) warning messages.},
-}
-
-@manual{ctan-lparse,
- title = {The \texttt{lparse} package},
- subtitle = {A Lua module for parsing key-value options},
- author = {Josef Friedrich},
- date = {2023-02-06},
- version = {0.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/lparse},
- url = {https://ctan.org/pkg/lparse},
-}
-
-@manual{ctan-lpform,
- title = {The \texttt{lpform} package},
- subtitle = {Typesetting linear programming formulations and sets of equations},
- author = {Marijn Waltman},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/lpform},
- url = {https://ctan.org/pkg/lpform},
-}
-
-@manual{ctan-lpic,
- title = {The \texttt{lpic} package},
- subtitle = {Put \LaTeX{} material over included graphics},
- author = {Rostislav Matveev},
- date = {2016-06-24},
- version = {0.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lpic},
- url = {https://ctan.org/pkg/lpic},
-}
-
-@manual{ctan-lplfitch,
- title = {The \texttt{lplfitch} package},
- subtitle = {Fitch-style natural deduction proofs},
- author = {Richard Zach},
- date = {2017-04-18},
- version = {0.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lplfitch},
- url = {https://ctan.org/pkg/lplfitch},
-}
-
-@manual{ctan-lps,
- title = {The \texttt{lps} package},
- subtitle = {Class for "Logic and Philosophy of Science"},
- author = {Gustavo Cevolani},
- date = {2016-06-24},
- version = {0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lps},
- url = {https://ctan.org/pkg/lps},
- annotation = {The
-
- journal is an online publication of the University of Trieste
- (Italy). The class builds on the standard article class to offer a
- format that \LaTeX{} authors may use when submitting to the journal.},
-}
-
-@manual{ctan-lpw,
- title = {The \texttt{lpw} package},
- subtitle = {A literate programming environment for Macs},
- author = {Norbert Lindenberg},
- date = {2016-06-24},
- version = {1.1},
- license = {shareware},
- mirror = {https://mirror.ctan.org/web/lpw},
- url = {https://ctan.org/pkg/lpw},
-}
-
-@manual{ctan-lroundrect,
- title = {The \texttt{lroundrect} package},
- subtitle = {\LaTeX{} macros for utilizing the roundrect MetaPost routines},
- author = {Donald P. Goodman},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lroundrect},
- url = {https://ctan.org/pkg/lroundrect},
- annotation = {This \LaTeX{} package provides ways to use the
- extremely configurable rounded rectangles of the
-
- MetaPost package with \LaTeX{}.
- It is chiefly useful for examples,
- but also has macros for particular types of boxes
- which are useful on their own.},
-}
-
-@manual{ctan-lsabon,
- title = {The \texttt{lsabon} package},
- subtitle = {Support files for the Linotype Sabon fonts},
- author = {Boris Veytsman},
- date = {2021-09-11},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/lsabon},
- url = {https://ctan.org/pkg/lsabon},
-}
-
-@manual{ctan-lsc,
- title = {The \texttt{lsc} package},
- subtitle = {Typesetting Live Sequence Charts},
- author = {Bernd Westphal},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lsc},
- url = {https://ctan.org/pkg/lsc},
-}
-
-@manual{ctan-lscape,
- title = {The \texttt{lscape} package},
- subtitle = {Place selected parts of a document in landscape},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {3.02},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/lscape},
-}
-
-@manual{ctan-lshort-bulgarian,
- title = {The \texttt{lshort-bulgarian} package},
- subtitle = {Bulgarian translation of the "Short Introduction to \LaTeX{}2e"},
- author = {Stefka Karakoleva},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/lshort/bulgarian},
- url = {https://ctan.org/pkg/lshort-bulgarian},
- annotation = {The source files, PostScript and PDF files of the Bulgarian
- translation of the
- “”.},
-}
-
-@manual{ctan-lshort-czech,
- title = {The \texttt{lshort-czech} package},
- subtitle = {Czech translation of the “Short Introduction to \LaTeX{}2e”},
- author = {Míchal Madr and Pavel Stříž and Tobias Oetiker},
- date = {2020-06-17},
- version = {4.27},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/lshort/czech},
- url = {https://ctan.org/pkg/lshort-czech},
- annotation = {This is the Czech translation of
- “”.},
-}
-
-@manual{ctan-lshort-dutch,
- title = {The \texttt{lshort-dutch} package},
- subtitle = {Introduction to \LaTeX{} in Dutch},
- author = {Stefan Becuwe and Bart Windels and Tobias Oetiker},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/lshort/dutch},
- url = {https://ctan.org/pkg/lshort-dutch},
- annotation = {This is the Dutch (Nederlands) translation of the
- .},
-}
-
-@manual{ctan-lshort-english,
- title = {The \texttt{lshort-english} package},
- subtitle = {A (Not So) Short Introduction to \LaTeX{}2e},
- author = {Tobias Oetiker},
- date = {2021-03-09},
- version = {6.4},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/info/lshort/english},
- url = {https://ctan.org/pkg/lshort-english},
-}
-
-@manual{ctan-lshort-estonian,
- title = {The \texttt{lshort-estonian} package},
- subtitle = {Estonian introduction to \LaTeX{}},
- author = {Reimo Palm},
- date = {2016-06-24},
- version = {5.05},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/info/lshort/estonian},
- url = {https://ctan.org/pkg/lshort-estonian},
- annotation = {This is the Estonian translation of
- .},
-}
-
-@manual{ctan-lshort-finnish,
- title = {The \texttt{lshort-finnish} package},
- subtitle = {Finnish introduction to \LaTeX{}},
- author = {Timo Hellgren},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/lshort/finnish},
- url = {https://ctan.org/pkg/lshort-finnish},
- annotation = {This is the Finnish translation of
- ,
- with added coverage of Finnish typesetting rules.},
-}
-
-@manual{ctan-lshort-french,
- title = {The \texttt{lshort-french} package},
- subtitle = {Short introduction to \LaTeX{}, French translation},
- author = {Samuel Colin and Manuel Pégourié-Gonnard and Tobias Oetiker},
- date = {2016-06-24},
- version = {5.01fr-0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/lshort/french},
- url = {https://ctan.org/pkg/lshort-french},
- annotation = {French version of
- .},
-}
-
-@manual{ctan-lshort-german,
- title = {The \texttt{lshort-german} package},
- subtitle = {German version of A Short
- Introduction to \LaTeX{}2e: \LaTeX{}2e-Kurzbeschreibung},
- author = {Walter A. Schmidt and Patrick Gundlach and Marco Daniel},
- date = {2020-06-17},
- version = {3.0c},
- license = {opl},
- mirror = {https://mirror.ctan.org/info/lshort/german},
- url = {https://ctan.org/pkg/lshort-german},
-}
-
-@manual{ctan-lshort-italian,
- title = {The \texttt{lshort-italian} package},
- subtitle = {Introduction to \LaTeX{} in Italian},
- author = {{GuIT (Gruppo Utilizzatori Italiani di \TeX{})} and Claudio Beccari and Giuseppe Bilotta},
- date = {2020-11-30},
- version = {6.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/lshort/italian},
- url = {https://ctan.org/pkg/lshort-italian},
- annotation = {This is the Italian translation of the
- .},
-}
-
-@manual{ctan-lshort-japanese,
- title = {The \texttt{lshort-japanese} package},
- subtitle = {Japanese version of A Short
- Introduction to \LaTeX{}2e},
- author = {Nomura Masataka},
- date = {2020-06-17},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/lshort/japanese},
- url = {https://ctan.org/pkg/lshort-japanese},
-}
-
-@manual{ctan-lshort-korean,
- title = {The \texttt{lshort-korean} package},
- subtitle = {Korean introduction to \LaTeX{}},
- author = {Kangsoo Kim and In-Sung Cho},
- date = {2021-03-17},
- version = {},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/lshort/korean},
- url = {https://ctan.org/pkg/lshort-korean},
- annotation = {A translation of Oetiker’s original
- .},
-}
-
-@manual{ctan-lshort-mongol,
- title = {The \texttt{lshort-mongol} package},
- subtitle = {Short introduction to \LaTeX{}, in Mongolian},
- author = {Dorjgotov Batumongke},
- date = {2016-06-24},
- version = {4.26},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/lshort/mongolian/lshort-mongol},
- url = {https://ctan.org/pkg/lshort-mongol},
- annotation = {A translation of Oetiker’s
- .},
-}
-
-@manual{ctan-lshort-mongolian,
- title = {The \texttt{lshort-mongolian} package},
- subtitle = {Short introduction to \LaTeX{} 2.09, Mongolian translation},
- author = {Dorjpalam Dorj and Oliver Corff},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/lshort/mongolian/lshort-mongolian},
- url = {https://ctan.org/pkg/lshort-mongolian},
-}
-
-@manual{ctan-lshort-persian,
- title = {The \texttt{lshort-persian} package},
- subtitle = {Persian (Farsi) introduction to \LaTeX{}},
- author = {Mehdi Omidali and Tobias Oetiker},
- date = {2016-06-24},
- version = {5.01},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/lshort/persian},
- url = {https://ctan.org/pkg/lshort-persian},
- annotation = {A Persian (Farsi) translation of Oetiker‘s
- .},
-}
-
-@manual{ctan-lshort-polish,
- title = {The \texttt{lshort-polish} package},
- subtitle = {Introduction to \LaTeX{} in Polish},
- author = {Janusz Goldasz and Ryszard Kubiak and Tomasz Przechlewski and Marcin Serwin},
- date = {2022-05-13},
- version = {6.4PL1},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/info/lshort/polish},
- url = {https://ctan.org/pkg/lshort-polish},
- annotation = {This is the Polish translation of
- .},
-}
-
-@manual{ctan-lshort-portuguese-br,
- title = {The \texttt{lshort-portuguese-br} package},
- subtitle = {Introduction to \LaTeX{} in Portuguese (Brazil)},
- author = {Demerson Andre Polli},
- date = {2016-06-24},
- version = {3.20},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/lshort/portuguese-BR},
- url = {https://ctan.org/pkg/lshort-portuguese-br},
- annotation = {This is the Brazilian Portuguese translation of
- .},
-}
-
-@manual{ctan-lshort-portuguese,
- title = {The \texttt{lshort-portuguese} package},
- subtitle = {Introduction to \LaTeX{} in Portuguese},
- author = {Alberto Manuel Brandão Simões},
- date = {2020-06-17},
- version = {5.01.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/lshort/portuguese},
- url = {https://ctan.org/pkg/lshort-portuguese},
- annotation = {This is the Portuguese translation of
- .},
-}
-
-@manual{ctan-lshort-russian,
- title = {The \texttt{lshort-russian} package},
- subtitle = {Russian introduction to \LaTeX{}},
- author = {Boris Tobotras},
- date = {2020-06-17},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/lshort/russian},
- url = {https://ctan.org/pkg/lshort-russian},
- annotation = {Russian version of},
-}
-
-@manual{ctan-lshort-slovak,
- title = {The \texttt{lshort-slovak} package},
- subtitle = {Slovak introduction to \LaTeX{}},
- author = {Jan Busa and Tobias Oetiker},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/lshort/slovak},
- url = {https://ctan.org/pkg/lshort-slovak},
- annotation = {A Slovak translation of Oetiker‘s
- .},
-}
-
-@manual{ctan-lshort-slovenian,
- title = {The \texttt{lshort-slovenian} package},
- subtitle = {Slovenian translation of lshort},
- author = {Bor Plestenjak},
- date = {2020-06-17},
- version = {4.20},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/lshort/slovenian},
- url = {https://ctan.org/pkg/lshort-slovenian},
- annotation = {A Slovenian translation of the
- .},
-}
-
-@manual{ctan-lshort-spanish,
- title = {The \texttt{lshort-spanish} package},
- subtitle = {Short introduction to \LaTeX{}, Spanish translation},
- author = {Carlos Enrique Carleos Artime and Luis Rivera and Daniel Vela},
- date = {2016-06-24},
- version = {0.5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/lshort/spanish},
- url = {https://ctan.org/pkg/lshort-spanish},
- annotation = {A Spanish translation of the
- ,
- version 20.},
-}
-
-@manual{ctan-lshort-thai,
- title = {The \texttt{lshort-thai} package},
- subtitle = {Introduction to \LaTeX{} in Thai},
- author = {Chakkapas Visavakul and Tobias Oetiker},
- date = {2020-06-17},
- version = {1.32},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/lshort/thai},
- url = {https://ctan.org/pkg/lshort-thai},
- annotation = {This is the Thai translation of the
- .},
-}
-
-@manual{ctan-lshort-turkish,
- title = {The \texttt{lshort-turkish} package},
- subtitle = {Turkish introduction to \LaTeX{}},
- author = {Bekir Karaoglu and Tobias Oetiker},
- date = {2016-06-24},
- version = {4.20},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/lshort/turkish},
- url = {https://ctan.org/pkg/lshort-turkish},
- annotation = {A Turkish translation of Oetiker‘s
- .},
-}
-
-@manual{ctan-lshort-ukr,
- title = {The \texttt{lshort-ukr} package},
- subtitle = {Ukrainian version of the \LaTeX{} introduction},
- author = {Maksym Polyakov},
- date = {2020-06-17},
- version = {4.00},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/lshort/ukrainian},
- url = {https://ctan.org/pkg/lshort-ukr},
- annotation = {Ukrainian version of},
-}
-
-@manual{ctan-lshort-vietnamese,
- title = {The \texttt{lshort-vietnamese} package},
- subtitle = {Vietnamese version of the \LaTeX{} introduction},
- author = {Tan Khoa Nguyen},
- date = {2020-06-17},
- version = {4.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/lshort/vietnamese},
- url = {https://ctan.org/pkg/lshort-vietnamese},
- annotation = {Vietnamese version of},
-}
-
-@manual{ctan-lshort-zh-cn,
- title = {The \texttt{lshort-zh-cn} package},
- subtitle = {Introduction to \LaTeX{}, in Chinese},
- author = {Zhaopeng Xing and Louis Stuart and Xiangdong Zeng},
- date = {2021-11-20},
- version = {6.03},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/lshort/chinese},
- url = {https://ctan.org/pkg/lshort-zh-cn},
- annotation = {A Chinese edition of the
- ,
- with additional information of typesetting Chinese language.},
-}
-
-@manual{ctan-lshort,
- title = {The \texttt{lshort} package},
- subtitle = {A short introduction to \LaTeX{} 2e},
- author = {Tobias Oetiker},
- date = {2016-06-24},
- license = {collection},
- mirror = {https://mirror.ctan.org/info/lshort},
- url = {https://ctan.org/pkg/lshort},
- annotation = {Lshort started as a translation and rationalisation of a
- ground-breaking German-language introduction to \LaTeX{}. It has
- since taken on a momentum of its own, and has itself been
- translated into a number of languages. Thus we have introductory
- text available to a wide proportion of the user community. The
- archive holds versions in
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- and
- .},
-}
-
-@manual{ctan-lstaddons,
- title = {The \texttt{lstaddons} package},
- subtitle = {Add-on packages for listings: autogobble and line background},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lstaddons},
- url = {https://ctan.org/pkg/lstaddons},
- annotation = {The bundle contains a small collection of add-on packages for
- the package. Current
- packages are:},
-}
-
-@manual{ctan-lstbayes,
- title = {The \texttt{lstbayes} package},
- subtitle = {Listings language driver for Bayesian modeling languages},
- author = {Jeffrey B. Arnold},
- date = {2018-07-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lstbayes},
- url = {https://ctan.org/pkg/lstbayes},
- annotation = {The package provides language drivers for the
- package
- for several languages not included in that package:
- BUGS, JAGS, and Stan.},
-}
-
-@manual{ctan-lstfiracode,
- title = {The \texttt{lstfiracode} package},
- subtitle = {Use Fira Code font for listings},
- author = {Ruixi Zhang},
- date = {2018-12-24},
- version = {0.1c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lstfiracode},
- url = {https://ctan.org/pkg/lstfiracode},
- annotation = {The package defines
- for the use with the
- package. This style contains almost all ligatures in Nikita
- Prokopov’s family of fonts.},
-}
-
-@manual{ctan-lt3graph,
- title = {The \texttt{lt3graph} package},
- subtitle = {Provide a graph datastructure for experimental \LaTeX{}3},
- author = {Michiel Helvensteijn},
- date = {2021-03-01},
- version = {0.1.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lt3graph},
- url = {https://ctan.org/pkg/lt3graph},
- annotation = {The package defines a ‘graph’ data structure, for use in documents
- that are using the
- .},
-}
-
-@manual{ctan-lt3luabridge,
- title = {The \texttt{lt3luabridge} package},
- subtitle = {Execute Lua code in any \TeX{} engine that exposes the shell},
- author = {Vít Novotný},
- date = {2022-10-24},
- version = {2.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/lt3luabridge},
- url = {https://ctan.org/pkg/lt3luabridge},
- annotation = {This is an (-generic) package
- for plain \TeX{}, \LaTeX{}, and ConTeXt that allows you to
- execute Lua code in LuaTeX or any other \TeX{} engine
- that exposes the shell.},
-}
-
-@manual{ctan-lt3rawobjects,
- title = {The \texttt{lt3rawobjects} package},
- subtitle = {Objects and proxies in \LaTeX{}3},
- author = {Paolo De Donato},
- date = {2022-12-09},
- version = {2.2},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lt3rawobjects},
- url = {https://ctan.org/pkg/lt3rawobjects},
-}
-
-@manual{ctan-ltablex,
- title = {The \texttt{ltablex} package},
- subtitle = {Table package extensions},
- author = {Anil Goel},
- date = {2017-09-28},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltablex},
- url = {https://ctan.org/pkg/ltablex},
-}
-
-@manual{ctan-ltabptch,
- title = {The \texttt{ltabptch} package},
- subtitle = {Bug fix for longtable},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {1.74d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltabptch},
- url = {https://ctan.org/pkg/ltabptch},
- annotation = {A patch for \LaTeX{} bugs tools/3180 and tools/3480. The patch
- applies to version 4.11 of .},
-}
-
-@manual{ctan-ltb2bib,
- title = {The \texttt{ltb2bib} package},
- subtitle = {Converts amsrefs' .ltb bibliographical databases to BibTeX format},
- author = {Laurent Bartholdi},
- date = {2018-01-07},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/ltb2bib},
- url = {https://ctan.org/pkg/ltb2bib},
-}
-
-@manual{ctan-ltcaption,
- title = {The \texttt{ltcaption} package},
- subtitle = {Fix some caption problems in longtables},
- author = {Axel Sommerfeldt},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/caption},
- url = {https://ctan.org/pkg/ltcaption},
-}
-
-@manual{ctan-ltnews,
- title = {The \texttt{ltnews} package},
- subtitle = {The latest \LaTeX{} news},
- author = {Frank Mittelbach and Chris Rowley and {The \LaTeX{} Project Team}},
- date = {2020-02-02},
- version = {1.06},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/ltnews},
-}
-
-@manual{ctan-ltoh,
- title = {The \texttt{ltoh} package},
- subtitle = {A converter from \LaTeX{} to HTML},
- author = {Russell Quong},
- date = {2018-01-06},
- version = {98a},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/ltoh},
- url = {https://ctan.org/pkg/ltoh},
-}
-
-@manual{ctan-ltt,
- title = {The \texttt{ltt} package},
- subtitle = {Example code for "\LaTeX{} Tipps und Tricks" book},
- author = {Ingo Klöckl},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/examples/ltt},
- url = {https://ctan.org/pkg/ltt},
-}
-
-@manual{ctan-ltx2mathml,
- title = {The \texttt{ltx2mathml} package},
- subtitle = {Convert \LaTeX{} math to MathML},
- author = {Peter Frane Jr},
- date = {2020-10-22},
- version = {1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/ltx2mathml},
- url = {https://ctan.org/pkg/ltx2mathml},
-}
-
-@manual{ctan-ltx2rtf,
- title = {The \texttt{ltx2rtf} package},
- subtitle = {A conversion program from \LaTeX{} to Rich Text Format},
- author = {Fernando Dorner and Andreas Granzer and Daniel Taupin},
- date = {2016-06-18},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/ltx2rtf},
- url = {https://ctan.org/pkg/ltx2rtf},
-}
-
-@manual{ctan-ltx2x,
- title = {The \texttt{ltx2x} package},
- subtitle = {Replace \LaTeX{} commands in a document by user-defined strings},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {0.92},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/ltx2x},
- url = {https://ctan.org/pkg/ltx2x},
-}
-
-@manual{ctan-ltx3pub,
- title = {The \texttt{ltx3pub} package},
- subtitle = {Early publications of the \LaTeX{} project},
- author = {Frank Mittelbach and Chris Rowley},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/ltx3pub},
- url = {https://ctan.org/pkg/ltx3pub},
-}
-
-@manual{ctan-ltx4yt,
- title = {The \texttt{ltx4yt} package},
- subtitle = {Play YouTube videos in the default browser},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltx4yt},
- url = {https://ctan.org/pkg/ltx4yt},
-}
-
-@manual{ctan-ltxcmds,
- title = {The \texttt{ltxcmds} package},
- subtitle = {Some \LaTeX{} kernel commands for general use},
- author = {Heiko Oberdiek},
- date = {2020-09-24},
- version = {1.25},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/ltxcmds},
- url = {https://ctan.org/pkg/ltxcmds},
-}
-
-@manual{ctan-ltxdiff,
- title = {The \texttt{ltxdiff} package},
- subtitle = {A Win32 program that compares tokens in two .tex files},
- author = {Bernd Becker},
- date = {2016-06-24},
- version = {0.9.0},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/ltxdiff},
- url = {https://ctan.org/pkg/ltxdiff},
-}
-
-@manual{ctan-ltxdoc,
- title = {The \texttt{ltxdoc} package},
- subtitle = {Class for documented \LaTeX{} macro files},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2022-12-01},
- version = {2.1i},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/ltxdoc},
-}
-
-@manual{ctan-ltxdockit,
- title = {The \texttt{ltxdockit} package},
- subtitle = {Documentation support},
- author = {Philipp Lehman},
- date = {2016-06-24},
- version = {1.2d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltxdockit},
- url = {https://ctan.org/pkg/ltxdockit},
-}
-
-@manual{ctan-ltxfileinfo,
- title = {The \texttt{ltxfileinfo} package},
- subtitle = {Print version information for a \LaTeX{} file},
- author = {Wybo H. Dekker},
- date = {2016-06-24},
- version = {2.04},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/ltxfileinfo},
- url = {https://ctan.org/pkg/ltxfileinfo},
- annotation = {displays version information for \LaTeX{} files.
- If no path information is given, the file is searched
- using .
- As an extra, for developers, the script will
- (use the or options)
- check the valididity of the
- statements in the files.
- The script uses code from
- Uwe Lück's .},
-}
-
-@manual{ctan-ltxgrid,
- title = {The \texttt{ltxgrid} package},
- subtitle = {Control of the page grid},
- author = {Arthur Ogawa},
- date = {2020-10-06},
- version = {4.1b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/revtex},
- url = {https://ctan.org/pkg/ltxgrid},
-}
-
-@manual{ctan-ltxguidex,
- title = {The \texttt{ltxguidex} package},
- subtitle = {An extended ltxguide class},
- author = {Rebecca Turner},
- date = {2019-04-15},
- version = {0.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltxguidex},
- url = {https://ctan.org/pkg/ltxguidex},
- annotation = {The document class extends with a set of environments
- and commands that make writing beautiful \LaTeX{} documentation
- easier and more natural.},
-}
-
-@manual{ctan-ltximg,
- title = {The \texttt{ltximg} package},
- subtitle = {Extract \LaTeX{} environments into separate image files},
- author = {Pablo González Luengo},
- date = {2021-05-22},
- version = {2.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/ltximg},
- url = {https://ctan.org/pkg/ltximg},
- annotation = {is a Perl script that automates the process of
- extracting and converting environments provided by , and other packages from
- input file to image formats and standalone files using
- and . It generates a
- file with only extracted environments and another with all
- extracted environments converted to .},
-}
-
-@manual{ctan-ltxindex,
- title = {The \texttt{ltxindex} package},
- subtitle = {A \LaTeX{} package to typeset indices with GNU’s Texindex},
- author = {Luis Rivera},
- date = {2020-04-11},
- version = {0.1c},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/ltxindex},
- url = {https://ctan.org/pkg/ltxindex},
-}
-
-@manual{ctan-ltxinput,
- title = {The \texttt{ltxinput} package},
- subtitle = {Find files input by a document},
- author = {J.J. Green},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/ltxinput},
- url = {https://ctan.org/pkg/ltxinput},
-}
-
-@manual{ctan-ltxkeys,
- title = {The \texttt{ltxkeys} package},
- subtitle = {A robust key parser for \LaTeX{}},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.0.3c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltxkeys},
- url = {https://ctan.org/pkg/ltxkeys},
-}
-
-@manual{ctan-ltxmisc,
- title = {The \texttt{ltxmisc} package},
- subtitle = {Miscellaneous \LaTeX{} packages, etc},
- author = {{Unknown}},
- date = {2016-06-18},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc},
- url = {https://ctan.org/pkg/ltxmisc},
-}
-
-@manual{ctan-ltxnew,
- title = {The \texttt{ltxnew} package},
- subtitle = {A simple means of creating commands},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltxnew},
- url = {https://ctan.org/pkg/ltxnew},
-}
-
-@manual{ctan-ltxtable,
- title = {The \texttt{ltxtable} package},
- subtitle = {Longtable and tabularx merge},
- author = {David Carlisle},
- date = {2022-03-14},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carlisle/ltxtable.tex},
- url = {https://ctan.org/pkg/ltxtable},
-}
-
-@manual{ctan-ltxtools,
- title = {The \texttt{ltxtools} package},
- subtitle = {A collection of \LaTeX{} API macros},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.0.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ltxtools},
- url = {https://ctan.org/pkg/ltxtools},
-}
-
-@manual{ctan-ltxutil,
- title = {The \texttt{ltxutil} package},
- subtitle = {\LaTeX{} utility macros},
- author = {Arthur Ogawa},
- date = {2020-10-06},
- version = {4.1h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/revtex},
- url = {https://ctan.org/pkg/ltxutil},
- annotation = {A collection of \LaTeX{} utilities; the package is distributed as
- part of the bundle.},
-}
-
-@manual{ctan-lua-alt-getopt,
- title = {The \texttt{lua-alt-getopt} package},
- subtitle = {Process application arguments the same way as getopt\_long},
- author = {Aleksey Cheusov and Khaled Hosny},
- date = {2020-09-17},
- version = {0.7.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/lualibs/lua-alt-getopt},
- url = {https://ctan.org/pkg/lua-alt-getopt},
-}
-
-@manual{ctan-lua-check-hyphen,
- title = {The \texttt{lua-check-hyphen} package},
- subtitle = {Mark hyphenations in a document, for checking},
- author = {Patrick Gundlach},
- date = {2018-04-19},
- version = {0.7a},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/lua-check-hyphen},
- url = {https://ctan.org/pkg/lua-check-hyphen},
-}
-
-@manual{ctan-lua-physical,
- title = {The \texttt{lua-physical} package},
- subtitle = {Functions and objects for the computation of physical quantities},
- author = {Thomas Jenni},
- date = {2021-05-08},
- version = {1.0.5},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/lua-physical},
- url = {https://ctan.org/pkg/lua-physical},
-}
-
-@manual{ctan-lua-typo,
- title = {The \texttt{lua-typo} package},
- subtitle = {Highlighting typographical flaws with LuaLaTeX},
- author = {Daniel Flipo},
- date = {2023-03-09},
- version = {0.65},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/lua-typo},
- url = {https://ctan.org/pkg/lua-typo},
-}
-
-@manual{ctan-lua-uca,
- title = {The \texttt{Lua-UCA} package},
- subtitle = {Unicode Collation Algorithm library for Lua},
- author = {Michal Hoftich},
- date = {2021-11-10},
- version = {0.1b},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/lualibs/lua-uca},
- url = {https://ctan.org/pkg/lua-uca},
-}
-
-@manual{ctan-lua-ul,
- title = {The \texttt{LuauL} package},
- subtitle = {Underlining for LuaLaTeX},
- author = {Marcel Krüger},
- date = {2022-06-01},
- version = {0.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/lua-ul},
- url = {https://ctan.org/pkg/lua-ul},
-}
-
-@manual{ctan-lua-uni-algos,
- title = {The \texttt{lua-uni-algos} package},
- subtitle = {Unicode algorithms for LuaTeX},
- author = {Marcel Krüger},
- date = {2022-02-26},
- version = {0.4.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/lua-uni-algos},
- url = {https://ctan.org/pkg/lua-uni-algos},
-}
-
-@manual{ctan-lua-visual-debug,
- title = {The \texttt{lua-visual-debug} package},
- subtitle = {Visual debugging with LuaLaTeX},
- author = {Patrick Gundlach},
- date = {2023-01-04},
- version = {0.9},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/lua-visual-debug},
- url = {https://ctan.org/pkg/lua-visual-debug},
-}
-
-@manual{ctan-lua-widow-control,
- title = {The \texttt{lua-widow-control} package},
- subtitle = {Automatically remove widows and orphans from any document},
- author = {Max Chernoff},
- date = {2022-11-22},
- version = {3.0.0},
- license = {other-free,cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/lua-widow-control},
- url = {https://ctan.org/pkg/lua-widow-control},
-}
-
-@manual{ctan-lua2dox,
- title = {The \texttt{lua2dox} package},
- subtitle = {Auto-documentation of lua code},
- author = {Simon Dales},
- date = {2020-04-11},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/web/lua2dox},
- url = {https://ctan.org/pkg/lua2dox},
-}
-
-@manual{ctan-luaaddplot,
- title = {The \texttt{luaaddplot} package},
- subtitle = {An extension to pgfplots’ \textbackslash{}addplot macro},
- author = {Reinhard Kotucha},
- date = {2022-03-30},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luaaddplot},
- url = {https://ctan.org/pkg/luaaddplot},
-}
-
-@manual{ctan-luabibentry,
- title = {The \texttt{luabibentry} package},
- subtitle = {Repeat BibTeX entries in a Lua\LaTeX{} document body},
- author = {Oliver Kopp},
- date = {2020-06-28},
- version = {0.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luabibentry},
- url = {https://ctan.org/pkg/luabibentry},
- annotation = {The package reimplements ,
- for use in LuaLaTeX.},
-}
-
-@manual{ctan-luabidi,
- title = {The \texttt{luabidi} package},
- subtitle = {Bidi functions for LuaTeX},
- author = {Vafa Khalighi and Arthur Rosendahl and {bidi-tex GitHub Organisation}},
- date = {2019-10-28},
- version = {0.5},
- license = {lppl1.3c,mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luabidi},
- url = {https://ctan.org/pkg/luabidi},
- annotation = {The package attempts to emulate the XeTeX
- package, in the context of LuaTeX.},
-}
-
-@manual{ctan-luacas,
- title = {The \texttt{luacas} package},
- subtitle = {A computer algebra system for users of LuaLaTeX},
- 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},
- url = {https://ctan.org/pkg/luacas},
-}
-
-@manual{ctan-luacensor,
- title = {The \texttt{luacensor} package},
- subtitle = {Securely redact sensitive information using Lua},
- author = {Elijah Z Granet},
- date = {2022-02-23},
- version = {1.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luacensor},
- url = {https://ctan.org/pkg/luacensor},
-}
-
-@manual{ctan-luacode,
- title = {The \texttt{luacode} package},
- subtitle = {Helper for executing lua code from within \TeX{}},
- author = {Manuel Pégourié-Gonnard},
- date = {2016-06-24},
- version = {1.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luacode},
- url = {https://ctan.org/pkg/luacode},
- annotation = {Executing Lua code from within \TeX{} with can
- sometimes be tricky: there is no easy way to use the percent
- character, counting backslashes may be hard, and Lua comments
- don’t work the way you expect. The package provides
- the command and the ()
- environments to help with these problems.},
-}
-
-@manual{ctan-luacolor,
- title = {The \texttt{luacolor} package},
- subtitle = {Color support based on LuaTeX’s node attributes},
- author = {Heiko Oberdiek},
- date = {2021-02-18},
- version = {1.17},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/luacolor},
- url = {https://ctan.org/pkg/luacolor},
-}
-
-@manual{ctan-luacomplex,
- title = {The \texttt{luacomplex} package},
- subtitle = {Operations on complex numbers inside \LaTeX{} documents using Lua},
- author = {{Chetan Shirore and Ajit Kumar}},
- date = {2023-02-14},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luacomplex},
- url = {https://ctan.org/pkg/luacomplex},
- annotation = {The luacomplex package is developed to define complex numbers and
- perform basic arithmetic on complex numbers in \LaTeX{}. It also loads
- the package. It provides an easy way
- to define complex numbers and perform operations on complex numbers. There is no
- particular environment for performing operations on complex numbers. The package
- commands can be used in any environment (including the mathematics environment).
- It is written in Lua, and the file is to be compiled with the Lua\LaTeX{} engine.},
-}
-
-@manual{ctan-luafindfont,
- title = {The \texttt{luafindfont} package},
- subtitle = {Search fonts in the LuaTeX font database},
- author = {Herbert Voß},
- date = {2022-11-03},
- version = {0.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/luafindfont},
- url = {https://ctan.org/pkg/luafindfont},
-}
-
-@manual{ctan-luagcd,
- title = {The \texttt{luagcd} package},
- subtitle = {Computation of gcd of integers inside \LaTeX{} using Lua},
- author = {{Chetan Shirore and Ajit Kumar}},
- date = {2023-01-01},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luagcd},
- url = {https://ctan.org/pkg/luagcd},
-}
-
-@manual{ctan-luahyphenrules,
- title = {The \texttt{luahyphenrules} package},
- subtitle = {Loading patterns in Lua\LaTeX{} with language.dat},
- author = {Javier Bezos López},
- date = {2020-08-28},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luahyphenrules},
- url = {https://ctan.org/pkg/luahyphenrules},
-}
-
-@manual{ctan-luaimageembed,
- title = {The \texttt{luaimageembed} package},
- subtitle = {Embed images as base64-encoded strings},
- author = {Christian Sachs},
- date = {2019-05-01},
- version = {0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luaimageembed},
- url = {https://ctan.org/pkg/luaimageembed},
-}
-
-@manual{ctan-luaindex,
- title = {The \texttt{luaindex} package},
- subtitle = {Create index using LuaLaTeX},
- author = {Markus Kohm},
- date = {2016-06-24},
- version = {0.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luaindex},
- url = {https://ctan.org/pkg/luaindex},
-}
-
-@manual{ctan-luainputenc,
- title = {The \texttt{luainputenc} package},
- subtitle = {Replacing inputenc for use in LuaTeX},
- author = {Élie Roux and Manuel Pégourié-Gonnard},
- date = {2017-04-18},
- version = {0.973},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luainputenc},
- url = {https://ctan.org/pkg/luainputenc},
-}
-
-@manual{ctan-luaintro,
- title = {The \texttt{luaintro} package},
- subtitle = {Examples from the book “Einführung in LuaTeX und LuaLaTeX”},
- author = {Herbert Voß},
- date = {2019-06-09},
- version = {0.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/luaintro},
- url = {https://ctan.org/pkg/luaintro},
-}
-
-@manual{ctan-luakeys,
- title = {The \texttt{luakeys} package},
- subtitle = {A Lua module for parsing key-value options},
- author = {Josef Friedrich},
- date = {2023-01-13},
- version = {0.13.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luakeys},
- url = {https://ctan.org/pkg/luakeys},
- annotation = {This package provides a Lua module that can parse
- key-value options like the \TeX{} packages
- ,
- ,
- ,
- ,
- etc.
- , however, accomplishes this task entirely
- by using the Lua language and does not rely on \TeX{}.
- Therefore this package can only be used with the \TeX{} engine
- .
- Since luakeys uses ,
- the parsing mechanism should be pretty robust.},
-}
-
-@manual{ctan-lualatex-doc-de,
- title = {The \texttt{lualatex-doc-de} package},
- subtitle = {Guide to Lua\LaTeX{} (German translation)},
- author = {Manuel Pégourié-Gonnard and Christine Römer},
- date = {2016-06-24},
- version = {1.0},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/luatex/lualatex-doc-de},
- url = {https://ctan.org/pkg/lualatex-doc-de},
- annotation = {The document is a German translation of the
- .
- Coverage
- supports both new users and package developers. Apart from the
- introductory material, the document gathers information from
- several sources, and offers links to others.},
-}
-
-@manual{ctan-lualatex-doc,
- title = {The \texttt{lualatex-doc} package},
- subtitle = {A guide to use of \LaTeX{} with LuaTeX},
- author = {Manuel Pégourié-Gonnard},
- date = {2016-06-24},
- version = {},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/luatex/lualatex-doc},
- url = {https://ctan.org/pkg/lualatex-doc},
-}
-
-@manual{ctan-lualatex-math,
- title = {The \texttt{lualatex-math} package},
- subtitle = {Fixes for mathematics-related Lua\LaTeX{} issues},
- author = {Philipp Stephani},
- date = {2022-01-01},
- version = {1.12},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/lualatex-math},
- url = {https://ctan.org/pkg/lualatex-math},
- annotation = {The package patches a few commands of the \LaTeX{}2e kernel and the
- and
- packages to be more
- compatible with the LuaTeX engine. It is only meaningful for
- Lua\LaTeX{} documents containing mathematical formulas, and does not
- exhibit any new functionality. The fixes are mostly moved from
- the package to this
- package since they are not directly related to Unicode mathematics
- typesetting.},
-}
-
-@manual{ctan-lualatex-platform,
- title = {The \texttt{luaLaTeX-platform} package},
- subtitle = {Load platform-specific code into LuaTeX},
- author = {Philipp Stephani},
- date = {2016-06-24},
- version = {0.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/systems/luatex/contrib/lualatex-platform},
- url = {https://ctan.org/pkg/lualatex-platform},
-}
-
-@manual{ctan-lualatex-truncate,
- title = {The \texttt{lualatex-truncate} package},
- subtitle = {A wrapper for using the truncate package with LuaLaTeX},
- author = {Sebastian Friedl},
- date = {2018-08-22},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/lualatex-truncate},
- url = {https://ctan.org/pkg/lualatex-truncate},
- annotation = {This package provides a wrapper for the
- package, thus
- fixing issues related to LuaTeX’s hyphenation algorithm.},
-}
-
-@manual{ctan-lualibs,
- title = {The \texttt{lualibs} package},
- subtitle = {Additional Lua functions for LuaTeX macro programmers},
- author = {Élie Roux and Philipp Gesang and {The \LaTeX{} Project Team}},
- date = {2022-10-04},
- version = {2.75},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/lualibs},
- url = {https://ctan.org/pkg/lualibs},
-}
-
-@manual{ctan-lualinalg,
- title = {The \texttt{lualinalg} package},
- subtitle = {A linear algebra package for \LaTeX{}},
- author = {{Chetan Shirore and Ajit Kumar}},
- date = {2023-02-24},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/lualinalg},
- url = {https://ctan.org/pkg/lualinalg},
-}
-
-@manual{ctan-luamathalign,
- title = {The \texttt{luamathalign} package},
- subtitle = {More flexible alignment in amsmath environments},
- author = {Marcel Krüger},
- date = {2022-05-04},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luamathalign},
- url = {https://ctan.org/pkg/luamathalign},
- annotation = {Allow aligning mathematical expressions on points where where direcly
- using is not possible, especially in nested macros or
- environments.},
-}
-
-@manual{ctan-luamaths,
- title = {The \texttt{luamaths} package},
- subtitle = {Provide standard mathematical operations inside \LaTeX{} documents using Lua},
- author = {{Chetan Shirore and Ajit Kumar}},
- date = {2022-12-30},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luamaths},
- url = {https://ctan.org/pkg/luamaths},
-}
-
-@manual{ctan-luamesh,
- title = {The \texttt{luamesh} package},
- subtitle = {Computes and draws 2D Delaunay triangulation},
- author = {Maxime Chupin},
- date = {2022-07-11},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luamesh},
- url = {https://ctan.org/pkg/luamesh},
-}
-
-@manual{ctan-luamodulartables,
- title = {The \texttt{luamodulartables} package},
- subtitle = {Generate modular addition and multiplication tables},
- author = {{Chetan Shirore and Ajit Kumar}},
- date = {2023-01-07},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luamodulartables},
- url = {https://ctan.org/pkg/luamodulartables},
- annotation = {This package is developed to generate modular addition and multiplication tables
- for positive integers. It provides an easy way to generate modular addition and modular multiplication
- tables for positive integers in \LaTeX{} documents. The commands in the package have optional arguments
- for the formatting of tables. These commands can be used in an environment similar to a
- or environment. The commands can also be used with the
- package, which provides nice formatting of tables in \LaTeX{}. It is written in Lua, and \TeX{} file
- is to be compiled with Lua\LaTeX{} engine.},
-}
-
@manual{ctan-luamplib,
title = {The \texttt{luamplib} package},
subtitle = {Use LuaTeX’s built-in MetaPost interpreter},
@@ -41162,2848 +24,6 @@
url = {https://ctan.org/pkg/luamplib},
}
-@manual{ctan-luaoptions,
- title = {The \texttt{luaoptions} package},
- subtitle = {Option handling for Lua\LaTeX{} packages},
- author = {Jacques Peron},
- date = {2022-11-02},
- version = {0.8},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luaoptions},
- url = {https://ctan.org/pkg/luaoptions},
- annotation = {This Lua\LaTeX{} package provides extensive support for handling
- , on package level and locally.
- It allows the declaration of sets of options, along with defaults,
- expected/allowed values and limited type checking.
- These options can be enforced as package options,
- changed at any point during a document, or overwritten locally
- by optional macro arguments.
- It is also possible to instantiate an Options object as an
- independent Lua object, without linking it to a package.
- can be used to enforce and prepopulate
- options, or it can be used to simply handle the parsing of
- optional arguments into proper Lua tables.},
-}
-
-@manual{ctan-luaotfload,
- title = {The \texttt{luaotfload} package},
- subtitle = {OpenType ‘loader’ for Plain \TeX{} and \LaTeX{}},
- author = {Élie Roux and Khaled Hosny and Manuel Pégourié-Gonnard and Will Robertson and Philipp Gesang and {The \LaTeX{} Project Team} and Ulrike Fischer and Marcel Krüger},
- date = {2022-10-03},
- version = {3.23},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luaotfload},
- url = {https://ctan.org/pkg/luaotfload},
-}
-
-@manual{ctan-luapackageloader,
- title = {The \texttt{luapackageloader} package},
- subtitle = {Allow LuaTeX to load external Lua packages},
- author = {Deepak Jois},
- date = {2019-12-22},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luapackageloader},
- url = {https://ctan.org/pkg/luapackageloader},
-}
-
-@manual{ctan-luaprogtable,
- title = {The \texttt{luaprogtable} package},
- subtitle = {Programmable table interface for LuaLaTeX},
- author = {Ziyue Xiang},
- date = {2020-08-18},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luaprogtable},
- url = {https://ctan.org/pkg/luaprogtable},
-}
-
-@manual{ctan-luapstricks,
- title = {The \texttt{luapstricks} package},
- subtitle = {A PSTricks backend for LuaLaTeX},
- author = {Marcel Krüger},
- date = {2023-02-18},
- version = {0.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/luapstricks},
- url = {https://ctan.org/pkg/luapstricks},
- annotation = {This package enables the use of
- directly in Lua\LaTeX{} documents, without invoking external programmes,
- by implementing a PostScript interpreter in Lua.
- Therefore it does not require shell escape to be enabled or
- special environments, and instead allows PSTricks to be used
- exactly like in based documents.},
-}
-
-@manual{ctan-luaquotes,
- title = {The \texttt{luaquotes} package},
- subtitle = {Smart setting of quotation marks},
- author = {Elijah Z Granet},
- date = {2023-01-25},
- version = {1.4.0},
- license = {lppl1.3c,cc-by-sa-3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luaquotes},
- url = {https://ctan.org/pkg/luaquotes},
-}
-
-@manual{ctan-luarandom,
- title = {The \texttt{luarandom} package},
- subtitle = {Create lists of random numbers},
- author = {Herbert Voß},
- date = {2019-06-09},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luarandom},
- url = {https://ctan.org/pkg/luarandom},
-}
-
-@manual{ctan-luaset,
- title = {The \texttt{luaset} package},
- subtitle = {Set Operations inside \LaTeX{} documents using Lua},
- author = {{Chetan Shirore and Ajit Kumar}},
- date = {2022-12-29},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luaset},
- url = {https://ctan.org/pkg/luaset},
- annotation = {The luaset package is developed to define finite sets and perform
- operations on them inside \LaTeX{} documents. There is no particular
- environment in the package for performing set operations. The package
- commands can be used in any environment (including the mathematics
- environment). It is written in Lua, and the file is to be compiled
- with the Lua\LaTeX{} engine. The time required for operations on sets
- is not an issue while compiling with the Lua\LaTeX{} engine. There is
- no need to install Lua on the users system as \TeX{} distributions
- (TeX Live or MikTeX) come bundled with LuaLaTeX.},
-}
-
-@manual{ctan-luasseq,
- title = {The \texttt{luasseq} package},
- subtitle = {Drawing spectral sequences in LuaLaTeX},
- author = {Tilman Bauer},
- date = {2023-01-10},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luasseq},
- url = {https://ctan.org/pkg/luasseq},
- annotation = {The package is an update of the author’s
- package, for use with LuaLaTeX.
- This version uses less memory, and operates faster than the
- original; it also offers several enhancements.},
-}
-
-@manual{ctan-luatex-def,
- title = {The \texttt{luatex-def} package},
- subtitle = {LuaTeX option file for color and graphics},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2022-09-23},
- version = {1.2d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphics-def},
- url = {https://ctan.org/pkg/luatex-def},
-}
-
-@manual{ctan-luatex-pkg,
- title = {The \texttt{luatex-pkg} package},
- subtitle = {Basic definitions for LuaTeX},
- author = {Heiko Oberdiek},
- date = {2019-11-15},
- license = {lppl1.3c},
- url = {https://ctan.org/pkg/luatex-pkg},
-}
-
-@manual{ctan-luatex,
- title = {The \texttt{luatex} package},
- subtitle = {The LuaTeX engine},
- author = {{The LuaTeX Team}},
- date = {2021-12-09},
- license = {gpl2+},
- url = {https://ctan.org/pkg/luatex},
-}
-
-@manual{ctan-luatex85,
- title = {The \texttt{luatex85} package},
- subtitle = {pdfTeX aliases for LuaTeX},
- author = {David Carlisle and Joseph Wright and {The \LaTeX{} Project Team}},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/luatex85},
- url = {https://ctan.org/pkg/luatex85},
-}
-
-@manual{ctan-luatexbase,
- title = {The \texttt{luatexbase} package},
- subtitle = {Basic resource management for LuaTeX code},
- author = {Manuel Pégourié-Gonnard and Philipp Gesang and Élie Roux and David Carlisle and Joseph Wright},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luatexbase},
- url = {https://ctan.org/pkg/luatexbase},
-}
-
-@manual{ctan-luatexja,
- title = {The \texttt{luatexja} package},
- subtitle = {Typeset Japanese with Lua(La)TeX},
- author = {Hironori Kitagawa},
- date = {2023-02-11},
- version = {20230211.0},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luatexja},
- url = {https://ctan.org/pkg/luatexja},
-}
-
-@manual{ctan-luatexko,
- title = {The \texttt{luatexko} package},
- subtitle = {Typeset Korean with Lua(La)TeX},
- author = {Dohyun Kim and Soojin Nam},
- date = {2022-11-01},
- version = {3.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luatexko},
- url = {https://ctan.org/pkg/luatexko},
-}
-
-@manual{ctan-luatextra,
- title = {The \texttt{luatextra} package},
- subtitle = {Additional macros for Plain \TeX{} and \LaTeX{} in LuaTeX},
- author = {Élie Roux and Manuel Pégourié-Gonnard},
- date = {2017-04-18},
- version = {1.0.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luatextra},
- url = {https://ctan.org/pkg/luatextra},
-}
-
-@manual{ctan-luatodonotes,
- title = {The \texttt{luatodonotes} package},
- subtitle = {Add editing annotations in a Lua\LaTeX{} document},
- author = {Fabian Lipp},
- date = {2020-02-17},
- version = {0.5},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luatodonotes},
- url = {https://ctan.org/pkg/luatodonotes},
-}
-
-@manual{ctan-luatruthtable,
- title = {The \texttt{luatruthtable} package},
- subtitle = {Generate truth tables of boolean values in LuaLaTeX},
- author = {{Chetan Shirore and Ajit Kumar}},
- date = {2022-09-25},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/luatruthtable},
- url = {https://ctan.org/pkg/luatruthtable},
-}
-
-@manual{ctan-luavlna,
- title = {The \texttt{luavlna} package},
- subtitle = {Prevent line breaks after single letter words, units, or academic titles},
- author = {Michal Hoftich},
- date = {2022-08-17},
- version = {0.1j},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luavlna},
- url = {https://ctan.org/pkg/luavlna},
-}
-
-@manual{ctan-luaxml,
- title = {The \texttt{luaxml} package},
- subtitle = {Lua library for reading and serialising XML files},
- author = {Michal Hoftich},
- date = {2021-10-07},
- version = {0.1q},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/luaxml},
- url = {https://ctan.org/pkg/luaxml},
- annotation = {LuaXML is a pure Lua library for reading and serializing
- XML files. The current release is aimed mainly at support
- for the package.
- The documentation was created by automatic conversion
- of original documentation in the source code.},
-}
-
-@manual{ctan-lucida-otf,
- title = {The \texttt{lucida-otf} package},
- subtitle = {Support for the Lucida Bright fonts (OpenType)},
- author = {Herbert Voß},
- date = {2021-09-11},
- version = {0.08},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/lucida-otf},
- url = {https://ctan.org/pkg/lucida-otf},
-}
-
-@manual{ctan-lucida,
- title = {The \texttt{lucida} package},
- subtitle = {Metrics, etc., for Lucida Bright and Lucida Math},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/bh/lucida},
- url = {https://ctan.org/pkg/lucida},
-}
-
-@manual{ctan-lucidabr,
- title = {The \texttt{lucidabr} package},
- subtitle = {PSNFSS support for Lucida Type 1 fonts},
- author = {{TUG Lucida Support Group}},
- date = {2021-09-11},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx/lucidabr},
- url = {https://ctan.org/pkg/lucidabr},
-}
-
-@manual{ctan-lucold,
- title = {The \texttt{lucold} package},
- subtitle = {Use old-style digits with Lucida fonts},
- author = {Maurizio Loreti},
- date = {2021-09-11},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lucold},
- url = {https://ctan.org/pkg/lucold},
- annotation = {The package provides the means to switch the rendering of all the
- digits of a document from ‘lining’ to ‘old-style’ numbers, when
- using Lucida fonts. The
- switch affects all digits in text mode, or all digits in text
- and math mode. It works both for normal weight and boldface
- text and math; since the boldface old-style digits are in
- the Lucida Expert font set, you need it for the boldface
- digits. Includes a set of AWK programs used to automatically
- build , , and files
- from the existing Lucida PSNFSS distribution, and that
- may easily changed for the generation
- of different virtual files for whatever font.},
-}
-
-@manual{ctan-lug,
- title = {The \texttt{lug} package},
- subtitle = {Create and edit \TeX{} Local User Group web pages},
- author = {Wybo H. Dekker},
- date = {2022-03-28},
- version = {3.00},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/lug},
- url = {https://ctan.org/pkg/lug},
-}
-
-@manual{ctan-lutabulartools,
- title = {The \texttt{lutabulartools} package},
- subtitle = {Some useful LuaLaTeX-based tabular tools},
- author = {Kale Ewasiuk},
- date = {2021-09-11},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/lutabulartools},
- url = {https://ctan.org/pkg/lutabulartools},
- annotation = {This package provides some useful commands for tabular matter.
- It uses Lua\LaTeX{} and offers the ability to combine the facilities
- of
- and
- with an easy to use syntax. It also adds some enhanced rules
- for the package.},
-}
-
-@manual{ctan-luximono,
- title = {The \texttt{LuxiMono} package},
- subtitle = {Free monospace fonts},
- author = {Walter A. Schmidt and Keiran Harcombe and Charles Bigelow and Kris Holmes},
- date = {2021-12-07},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/LuxiMono},
- url = {https://ctan.org/pkg/luximono},
- annotation = {LuxiMono is a family of general-purpose monospaced (typewriter)
- fonts. This distribution contains the fonts in Adobe Type 1
- format, and , and \LaTeX{}-related files are
- also provided.},
-}
-
-@manual{ctan-lwarp,
- title = {The \texttt{lwarp} package},
- subtitle = {Converts \LaTeX{} to HTML},
- author = {Brian Dunn},
- date = {2023-02-28},
- version = {0.911},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lwarp},
- url = {https://ctan.org/pkg/lwarp},
-}
-
-@manual{ctan-lwc-examples,
- title = {The \texttt{lwc-examples} package},
- subtitle = {Examples from The \LaTeX{} Web Companion},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/lwc},
- url = {https://ctan.org/pkg/lwc-examples},
-}
-
-@manual{ctan-lxfonts,
- title = {The \texttt{LXfonts} package},
- subtitle = {Set of slide fonts based on CM},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {2.0b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/lxfonts},
- url = {https://ctan.org/pkg/lxfonts},
-}
-
-@manual{ctan-lxmail,
- title = {The \texttt{lxmail} package},
- subtitle = {A letter-generator that produces \LaTeX{} output},
- author = {{Fasada}},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/lxmail},
- url = {https://ctan.org/pkg/lxmail},
-}
-
-@manual{ctan-ly1,
- title = {The \texttt{ly1} package},
- subtitle = {Support for LY1 \LaTeX{} encoding},
- author = {David Carlisle and Walter A. Schmidt and Karl Berry},
- date = {2022-06-11},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/ly1},
- url = {https://ctan.org/pkg/ly1},
-}
-
-@manual{ctan-lyluatex,
- title = {The \texttt{lyluatex} package},
- subtitle = {Commands to include lilypond scores within a (Lua)\LaTeX{} document},
- author = {Jacques Peron and {The Gregorio Project}},
- date = {2023-03-01},
- version = {1.1.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/lyluatex},
- url = {https://ctan.org/pkg/lyluatex},
-}
-
-@manual{ctan-lyx,
- title = {The \texttt{lyx} package},
- subtitle = {Document processor based on \LaTeX{}},
- author = {Matthias Ettrich},
- date = {2017-04-18},
- version = {1.3.2},
- license = {gpl},
- url = {https://ctan.org/pkg/lyx},
-}
-
-@manual{ctan-m-pictex,
- title = {The \texttt{m-pictex} package},
- subtitle = {Enable PicTeX to run with \LaTeX{}},
- author = {Tobias Burnus},
- date = {2016-06-24},
- license = {other-free},
- url = {https://ctan.org/pkg/m-pictex},
-}
-
-@manual{ctan-m-tx,
- title = {The \texttt{M-Tx} package},
- subtitle = {A preprocessor for pmx},
- author = {Bob Tennent and Dirk Laurie},
- date = {2022-08-19},
- version = {0.63d},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/m-tx},
- url = {https://ctan.org/pkg/m-tx},
- annotation = {M-Tx is a preprocessor to , which is
- itself a preprocessor to ,
- a music typesetting system. The prime motivation to the
- development of M-Tx was to provide lyrics for music to be
- typeset. In fact, pmx now provides a lyrics interface, but M-Tx
- continues in use by those who prefer its language.},
-}
-
-@manual{ctan-m3d,
- title = {The \texttt{m3D} package},
- subtitle = {Extension of plain MetaPost for 3D graphics},
- author = {Anthony Phan},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/m3D},
- url = {https://ctan.org/pkg/m3d},
-}
-
-@manual{ctan-maad,
- title = {The \texttt{maad} package},
- subtitle = {Mathematical Approximations and Documentation},
- author = {Harry A. Watson, Jr},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/maad},
- url = {https://ctan.org/pkg/maad},
- annotation = {A document describing the parameterisation of least-squares curve
- fitting, and showing how (using
- ) to display error bars.},
-}
-
-@manual{ctan-mab2bib,
- title = {The \texttt{mab2bib} package},
- subtitle = {Converter tools: MAB to BibTeX and UTF-8 to \LaTeX{} ASCII},
- author = {Henning Hraban Ramm},
- date = {2016-06-24},
- version = {0.2a},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/mab2bib},
- url = {https://ctan.org/pkg/mab2bib},
-}
-
-@manual{ctan-macbibtex,
- title = {The \texttt{macbibtex} package},
- subtitle = {BibTeX for the Macintosh},
- author = {Vince Darley},
- date = {2016-06-24},
- version = {1.1.7},
- license = {lppl},
- url = {https://ctan.org/pkg/macbibtex},
- annotation = {A port of which is
- distributed with for the
- Macintosh OS.},
-}
-
-@manual{ctan-macfont,
- title = {The \texttt{macfont} package},
- subtitle = {Convert Apple type 1 fonts for use under Windows},
- author = {Norman Walsh},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/macfont},
- url = {https://ctan.org/pkg/macfont},
-}
-
-@manual{ctan-macrolist,
- title = {The \texttt{macrolist} package},
- subtitle = {List operations for \LaTeX{}2e},
- author = {Dennis Chen},
- date = {2021-07-31},
- version = {2.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/macrolist},
- url = {https://ctan.org/pkg/macrolist},
-}
-
-@manual{ctan-macros2e,
- title = {The \texttt{macros2e} package},
- subtitle = {A list of internal \LaTeX{}2e macros},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.4a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/macros2e},
- url = {https://ctan.org/pkg/macros2e},
- annotation = {This document lists the internal macros defined by the \LaTeX{}2e base files
- which can also be useful to package authors. The macros are
- hyper-linked to their description in
- . For this to work both
- PDFs must be inside the same directory. This document is not yet
- complete in content and format and may miss some macros.},
-}
-
-@manual{ctan-macroswap,
- title = {The \texttt{macroswap} package},
- subtitle = {Swap the definitions of two \LaTeX{} macros},
- author = {Robert J Lee},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/macroswap},
- url = {https://ctan.org/pkg/macroswap},
-}
-
-@manual{ctan-mactex-basic,
- title = {The \texttt{mactex-basic} package},
- subtitle = {A basic \TeX{} distribution for the Macintosh},
- author = {{TUG TWG-MacTeX}},
- date = {2021-08-26},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/mac/mactex/BasicTeX.pkg},
- url = {https://ctan.org/pkg/mactex-basic},
-}
-
-@manual{ctan-mactex,
- title = {The \texttt{mactex} package},
- subtitle = {The \TeX{} Live Mac distribution},
- author = {{TUG TWG-MacTeX}},
- date = {2022-04-04},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/mac/mactex},
- url = {https://ctan.org/pkg/mactex},
-}
-
-@manual{ctan-mactextras,
- title = {The \texttt{mactextras} package},
- subtitle = {Extras for the MacTeX distribution},
- author = {{TUG TWG-MacTeX}},
- date = {2022-04-04},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/mac/mactex/MacTeXtras.zip},
- url = {https://ctan.org/pkg/mactextras},
- annotation = {MacTeXtras is a collection of auxiliary material for Macintosh
- machines, beyond what provides;
- it is distributed as a file, that contains extra
- programs, demos and documentation for MacTeX users.},
-}
-
-@manual{ctan-mactotex,
- title = {The \texttt{mactotex} package},
- subtitle = {Convert "Macintosh PostScript" for use with \TeX{}},
- author = {Adam Fedor},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/mactotex},
- url = {https://ctan.org/pkg/mactotex},
- annotation = {The program cleans out all the irrelevant things that the
- MACOS applications used to add, and restructures so that the files
- can be “used with \TeX{}”. The documentation talks
- about using , but it doesn't seem
- likely that this is actually necessary, 15 years after the program
- was written.},
-}
-
-@manual{ctan-mafr,
- title = {The \texttt{mafr} package},
- subtitle = {Mathematics in accord with French usage},
- author = {Christian Obrecht},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mafr},
- url = {https://ctan.org/pkg/mafr},
-}
-
-@manual{ctan-magaz,
- title = {The \texttt{magaz} package},
- subtitle = {Magazine layout},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {0.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/magaz},
- url = {https://ctan.org/pkg/magaz},
-}
-
-@manual{ctan-magic,
- title = {The \texttt{magic} package},
- subtitle = {A font to go with the Magic(TM) game},
- author = {Rainer Dörntge},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/magic},
- url = {https://ctan.org/pkg/magic},
- annotation = {A small set of symbols appropriate to the game. The font is
- expressed in Metafont; unusually, the size-specific file
- is input by , rather than the
- other way around.},
-}
-
-@manual{ctan-magicnum,
- title = {The \texttt{magicnum} package},
- subtitle = {Access \TeX{} systems’ “magic numbers”},
- author = {Heiko Oberdiek},
- date = {2019-12-01},
- version = {1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/magicnum},
- url = {https://ctan.org/pkg/magicnum},
-}
-
-@manual{ctan-magicwatermark,
- title = {The \texttt{magicwatermark} package},
- subtitle = {An easy and flexible way to set watermarks},
- author = {Lijun Guo},
- date = {2022-06-27},
- version = {1.0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/magicwatermark},
- url = {https://ctan.org/pkg/magicwatermark},
- annotation = {This package can flexibly set and clear watermarks.
- It is based on
- and
- , encapsulated by \LaTeX{}3.
- All watermark content is placed inside a TikZ node
- in the center of the page.},
-}
-
-@manual{ctan-magra,
- title = {The \texttt{magra} package},
- subtitle = {The Magra font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-01-13},
- version = {0.0.1},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/magra},
- url = {https://ctan.org/pkg/magra},
-}
-
-@manual{ctan-mahjong,
- title = {The \texttt{mahjong} package},
- subtitle = {Typeset Mahjong Tiles using MPSZ Notation},
- author = {Daniel Schmitz},
- date = {2021-04-24},
- version = {1.0.1},
- license = {mit,cc-by-1},
- mirror = {https://mirror.ctan.org/graphics/mahjong},
- url = {https://ctan.org/pkg/mahjong},
-}
-
-@manual{ctan-mailing,
- title = {The \texttt{mailing} package},
- subtitle = {Macros for mail merging},
- author = {Johannes L. Braams},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mailing},
- url = {https://ctan.org/pkg/mailing},
- annotation = {This package is for use when sending a large number of letters,
- all with the same body text. The package‘s
- command is used to specify who the
- letter is to be sent to; the body of the
- command specifies the text of the letters,
- possibly using macros defined in the .},
-}
-
-@manual{ctan-mailmerge,
- title = {The \texttt{mailmerge} package},
- subtitle = {Repeating text field substitution},
- author = {Miguel Vinícius Santini Frasson},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mailmerge},
- url = {https://ctan.org/pkg/mailmerge},
-}
-
-@manual{ctan-make-env,
- title = {The \texttt{make-env} package},
- subtitle = {Print USPS standard envelopes},
- author = {J. Daniel Smith},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/make-env},
- url = {https://ctan.org/pkg/make-env},
- annotation = {The package prints USPS standard envelopes, using the author’s
- and
- packages.},
-}
-
-@manual{ctan-make-latex,
- title = {The \texttt{make\_latex} package},
- subtitle = {\LaTeX{} Makefile},
- author = {David Beasley},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/make_latex},
- url = {https://ctan.org/pkg/make-latex},
-}
-
-@manual{ctan-make4ht,
- title = {The \texttt{make4ht} package},
- subtitle = {A build system for tex4ht},
- author = {Michal Hoftich},
- date = {2023-02-24},
- version = {0.3m},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/make4ht},
- url = {https://ctan.org/pkg/make4ht},
- annotation = {is a simple build system for , a \TeX{} to XML converter. It
- provides a command line tool that drives the conversion process.
- It also provides a library which can be used to create
- customized conversion tools.},
-}
-
-@manual{ctan-makebarcode,
- title = {The \texttt{makebarcode} package},
- subtitle = {Print various kinds 2/5 and Code 39 bar codes},
- author = {Zdeněk Wagner},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makebarcode},
- url = {https://ctan.org/pkg/makebarcode},
-}
-
-@manual{ctan-makebase,
- title = {The \texttt{makebase} package},
- subtitle = {Typeset counters in a different base},
- author = {Peter Flynn},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makebase},
- url = {https://ctan.org/pkg/makebase},
-}
-
-@manual{ctan-makebox,
- title = {The \texttt{makebox} package},
- subtitle = {Defines a \textbackslash{}makebox* command},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makebox},
- url = {https://ctan.org/pkg/makebox},
- annotation = {Define a command that does the same as a
- command, except that the width is given by
- a sample text instead of an explicit length measure.},
-}
-
-@manual{ctan-makecell,
- title = {The \texttt{makecell} package},
- subtitle = {Tabular column heads and multilined cells},
- author = {Olga Lapko},
- date = {2019-08-14},
- version = {0.1e},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makecell},
- url = {https://ctan.org/pkg/makecell},
-}
-
-@manual{ctan-makecirc,
- title = {The \texttt{MakeCirc} package},
- subtitle = {A MetaPost library for drawing electrical circuit diagrams},
- author = {Gustavo Sebastián Bustamante Argañaraz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/makecirc},
- url = {https://ctan.org/pkg/makecirc},
-}
-
-@manual{ctan-makecmds,
- title = {The \texttt{makecmds} package},
- subtitle = {The new \textbackslash{}makecommand command always (re)defines a command},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makecmds},
- url = {https://ctan.org/pkg/makecmds},
- annotation = {The package provides a command, which is
- like except it always (re)defines a
- command. There is also and
- for environments.},
-}
-
-@manual{ctan-makecookbook,
- title = {The \texttt{makecookbook} package},
- subtitle = {Make a Cookbook},
- author = {Terrence Murphy and Rosalie D’Amico},
- date = {2018-12-06},
- version = {0.85},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/makecookbook},
- url = {https://ctan.org/pkg/makecookbook},
-}
-
-@manual{ctan-makedoc,
- title = {The \texttt{makedoc} package},
- subtitle = {Preprocessing documentation with \TeX{}},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.52},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nicetext},
- url = {https://ctan.org/pkg/makedoc},
-}
-
-@manual{ctan-makedtx,
- title = {The \texttt{makedtx} package},
- subtitle = {Perl script to help generate dtx and ins files},
- author = {Nicola Talbot and Vincent Belaïche},
- date = {2018-02-21},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/makedtx},
- url = {https://ctan.org/pkg/makedtx},
- annotation = {The makedtx bundle is provided to help \LaTeX{}2e developers to
- write the code and documentation in separate files, and then
- combine them into a single file for distribution. It
- automatically generates the character table, and also writes
- the associated installation () script.},
-}
-
-@manual{ctan-makefonts,
- title = {The \texttt{makefonts} package},
- subtitle = {Shell scripts to generate bitmaps from Metafont sources},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- version = {2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/utilities/makefonts},
- url = {https://ctan.org/pkg/makefonts},
-}
-
-@manual{ctan-makeglos,
- title = {The \texttt{makeglos} package},
- subtitle = {Include a glossary into a document},
- author = {Thomas Henlich},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makeglos},
- url = {https://ctan.org/pkg/makeglos},
-}
-
-@manual{ctan-makeglossariesgui,
- title = {The \texttt{MakeGlossariesGUI} package},
- subtitle = {Java GUI alternative to makeglossaries script},
- author = {Nicola Talbot},
- date = {2020-03-10},
- version = {2.2},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/makeglossariesgui},
- url = {https://ctan.org/pkg/makeglossariesgui},
- annotation = {The package provides a Java GUI alternative to the makeglossaries
- Perl script (supplied by the
- package). The package
- was designed for people who don’t want to use the command prompt
- but can’t get their editor to run makeglossaries. It can also be
- used as a diagnostic tool when there are problems with the
- document glossaries.},
-}
-
-@manual{ctan-makeidx,
- title = {The \texttt{makeidx} package},
- subtitle = {Standard \LaTeX{} package for creating indexes},
- author = {{The \LaTeX{} Project Team}},
- date = {2019-10-04},
- version = {1.0m},
- license = {lppl,lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/makeidx},
-}
-
-@manual{ctan-makeindex,
- title = {The \texttt{makeindex} package},
- subtitle = {Process index output to produce typesettable code},
- author = {Pehong Chen and Nelson H. F. Beebe},
- date = {2022-02-05},
- version = {2.12},
- license = {other-free},
- mirror = {https://mirror.ctan.org/indexing/makeindex},
- url = {https://ctan.org/pkg/makeindex},
- annotation = {A general purpose hierarchical index generator; it accepts one or
- more input files (often produced by a text formatter such as \TeX{}
- or troff), sorts the entries, and produces an output file which
- can be formatted. The formats of the input and output files are
- specified in a style file; by default, input is assumed to be an
- file, as generated by \LaTeX{}.},
-}
-
-@manual{ctan-makeindexk,
- title = {The \texttt{makeindexk} package},
- subtitle = {Makeindex development sources},
- author = {Pehong Chen and {The \TeX{} Live Team}},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/indexing/makeindexk},
- url = {https://ctan.org/pkg/makeindexk},
- annotation = {The package contains the development sources of
- , as derived from the
- subversion repository.},
-}
-
-@manual{ctan-makelabels,
- title = {The \texttt{makelabels} package},
- subtitle = {Add a ‘\textbackslash{}makelabels’ feature to KOMA-Script letter classes and package},
- author = {Markus Kohm},
- date = {2021-08-21},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makelabels},
- url = {https://ctan.org/pkg/makelabels},
-}
-
-@manual{ctan-makeplot,
- title = {The \texttt{makeplot} package},
- subtitle = {Easy plots from Matlab in \LaTeX{}},
- author = {José-Emilio Vila-Forcén},
- date = {2016-06-24},
- version = {1.0.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/makeplot},
- url = {https://ctan.org/pkg/makeplot},
-}
-
-@manual{ctan-makeprog,
- title = {The \texttt{makeprog} package},
- subtitle = {A literate system for \TeX{} programming},
- author = {Joachim Schrod},
- date = {2016-06-24},
- version = {1.0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/makeprog},
- url = {https://ctan.org/pkg/makeprog},
-}
-
-@manual{ctan-maker,
- title = {The \texttt{maker} package},
- subtitle = {Include Arduino or Processing code in \LaTeX{} documents},
- author = {Fausto Mauricio Lagos Suárez},
- date = {2017-07-19},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/maker},
- url = {https://ctan.org/pkg/maker},
-}
-
-@manual{ctan-makerobust,
- title = {The \texttt{makerobust} package},
- subtitle = {Making a macro robust (legacy package)},
- author = {Heiko Oberdiek},
- date = {2019-11-17},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/makerobust},
- url = {https://ctan.org/pkg/makerobust},
-}
-
-@manual{ctan-makerobust209,
- title = {The \texttt{makerobust209} package},
- subtitle = {Make an existing \LaTeX{} command robust},
- author = {David Carlisle},
- date = {2016-06-24},
- version = {1.01},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/makerobust.sty},
- url = {https://ctan.org/pkg/makerobust209},
- annotation = {The package provides a command that converts
- the definition of a command to a robust one.},
-}
-
-@manual{ctan-makeshape,
- title = {The \texttt{makeshape} package},
- subtitle = {Declare new PGF shapes},
- author = {Adrian P. Robson},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/makeshape},
- url = {https://ctan.org/pkg/makeshape},
-}
-
-@manual{ctan-maketable,
- title = {The \texttt{maketable} package},
- subtitle = {Convert Word or Excel tables to \TeX{} tabular structures},
- author = {Gunter Maier},
- date = {2019-02-03},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/maketable},
- url = {https://ctan.org/pkg/maketable},
-}
-
-@manual{ctan-makor2,
- title = {The \texttt{Makor 2} package},
- subtitle = {Typeset pointed Hebrew using Omega},
- author = {Alan Hoenig},
- date = {2021-08-26},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hebrew/makor},
- url = {https://ctan.org/pkg/makor2},
-}
-
-@manual{ctan-malayalam-latex,
- title = {The \texttt{malayalam-latex} package},
- subtitle = {\LaTeX{} for Malayalam},
- author = {A. J. Alex},
- date = {2018-01-06},
- version = {0.9.7},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/language/malayalam},
- url = {https://ctan.org/pkg/malayalam-latex},
-}
-
-@manual{ctan-malayalam-obsolete,
- title = {The \texttt{malayalam-obsolete} package},
- subtitle = {Fonts for typesetting Malayalam, with a pre-processor},
- author = {Jeroen Hellingman},
- date = {2016-06-18},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/language/malayalam},
- url = {https://ctan.org/pkg/malayalam-obsolete},
-}
-
-@manual{ctan-malayalam-omega,
- title = {The \texttt{malayalam-omega} package},
- subtitle = {Typesetting Malayalam using Omega},
- author = {A. J. Alex},
- date = {2016-06-24},
- version = {1.0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/omega/latex/contrib/malayalam-omega},
- url = {https://ctan.org/pkg/malayalam-omega},
-}
-
-@manual{ctan-maltese,
- title = {The \texttt{maltese} package},
- subtitle = {Support input in Maltese},
- author = {Paulseph-John Farrugia},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/maltese},
- url = {https://ctan.org/pkg/maltese},
-}
-
-@manual{ctan-malvern,
- title = {The \texttt{malvern} package},
- subtitle = {A sans-serif font family},
- author = {Damian Cugley},
- date = {2016-06-24},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/malvern},
- url = {https://ctan.org/pkg/malvern},
-}
-
-@manual{ctan-mandel,
- title = {The \texttt{mandel} package},
- subtitle = {Compute the Mandelbrot set},
- author = {{Unknown}},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/mandel.tex},
- url = {https://ctan.org/pkg/mandel},
-}
-
-@manual{ctan-mandi,
- title = {The \texttt{mandi} package},
- subtitle = {Macros for introductory physics and astronomy},
- author = {Paul J. Heafner},
- date = {2022-01-27},
- version = {3.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mandi},
- url = {https://ctan.org/pkg/mandi},
-}
-
-@manual{ctan-manfnt,
- title = {The \texttt{manfnt} package},
- subtitle = {\LaTeX{} support for the \TeX{} book symbols},
- author = {Axel Kielhorn},
- date = {2020-04-03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/manfnt},
- url = {https://ctan.org/pkg/manfnt},
- annotation = {A \LaTeX{} package for easy access to the symbols of the Knuth's
- , such as
- the Dangerous Bend and Manual-errata Arrow.},
-}
-
-@manual{ctan-manjutex,
- title = {The \texttt{manjutex} package},
- subtitle = {Manju language support},
- author = {Oliver Corff},
- date = {2019-06-21},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/language/manju/manjutex},
- url = {https://ctan.org/pkg/manjutex},
-}
-
-@manual{ctan-manpage,
- title = {The \texttt{manpage} package},
- subtitle = {Man pages in \LaTeX{}},
- author = {Rong Chen},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/manpage},
- url = {https://ctan.org/pkg/manpage},
-}
-
-@manual{ctan-manual,
- title = {The \texttt{manual} package},
- subtitle = {Knuth's "manual" fonts},
- author = {Donald E. Knuth and Taco Hoekwater},
- date = {2016-11-05},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/manual},
- url = {https://ctan.org/pkg/manual},
- annotation = {Metafont (by Donald Knuth) and Adobe Type 1 (by Taco Hoekwater)
- versions of the font containing the odd symbols Knuth uses in his
- books. \LaTeX{} support is available using the
- package},
-}
-
-@manual{ctan-manual209,
- title = {The \texttt{manual209} package},
- subtitle = {A document style for manuals},
- author = {Ted Nieland},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/manual},
- url = {https://ctan.org/pkg/manual209},
- annotation = {A \LaTeX{} 2.09 document style, based on , with
- modifications for manual generation and maintenance (including
- per-chapter page numbering, as in the
- package).},
-}
-
-@manual{ctan-manuscript,
- title = {The \texttt{Manuscript} package},
- subtitle = {Emulate look of a document typed on a typewriter},
- author = {Matej Cepl},
- date = {2017-04-18},
- version = {1.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/manuscript},
- url = {https://ctan.org/pkg/manuscript},
-}
-
-@manual{ctan-manyfoot,
- title = {The \texttt{manyfoot} package},
- subtitle = {Adds footnote levels to standard \LaTeX{}’s footnote mechanism},
- author = {Alexander I. Rozhenko},
- date = {2019-08-03},
- version = {1.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/manyfoot},
-}
-
-@manual{ctan-manyind,
- title = {The \texttt{manyind} package},
- subtitle = {Provides support for many indexes},
- author = {Wilberd van der Kallen},
- date = {2019-01-30},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/manyind},
- url = {https://ctan.org/pkg/manyind},
-}
-
-@manual{ctan-mapcodes,
- title = {The \texttt{mapcodes} package},
- subtitle = {Support for multiple character sets and encodings},
- author = {Michael Piotrowski},
- date = {2019-06-21},
- version = {1.04},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mapcodes},
- url = {https://ctan.org/pkg/mapcodes},
- annotation = {Mapcodes is an early package covering the same ground as the
- standard \LaTeX{} . It
- provides for input in ISO Latin-1 and -2, IBM codepages 850 and
- 852, and HP, Macintosh and Atari encodings.},
-}
-
-@manual{ctan-maple,
- title = {The \texttt{maple} package},
- subtitle = {Styles and examples for the MAPLE newsletter},
- author = {{Unknown}},
- date = {2016-06-18},
- version = {1.8},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/maple},
- url = {https://ctan.org/pkg/maple},
-}
-
-@manual{ctan-marathi,
- title = {The \texttt{marathi} package},
- subtitle = {Typeset Marathi language using \XeLaTeX{} or LuaLaTeX},
- author = {{Unknown}},
- date = {2022-01-21},
- version = {1.7},
- license = {gpl3+,other-free,fdl},
- mirror = {https://mirror.ctan.org/language/marathi},
- url = {https://ctan.org/pkg/marathi},
-}
-
-@manual{ctan-marcellus,
- title = {The \texttt{Marcellus} package},
- subtitle = {Marcellus fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-20},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/marcellus},
- url = {https://ctan.org/pkg/marcellus},
- annotation = {This package provides \LaTeX{}, pdfLaTeX, \XeLaTeX{} and LuaLaTeX
- support for the Marcellus family of fonts, designed by
- Brian J. Bonislawsky.
-
- Marcellus is a flared-serif family, inspired by classic
- Roman inscription letterforms.
- There is currently just a regular weight and small-caps.
- The regular weight will be silently substituted for bold.},
-}
-
-@manual{ctan-margbib,
- title = {The \texttt{margbib} package},
- subtitle = {Display bibitem tags in the margins},
- author = {Karsten Tinnefeld},
- date = {2018-09-14},
- version = {1.0c},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/margbib},
- url = {https://ctan.org/pkg/margbib},
-}
-
-@manual{ctan-marginal,
- title = {The \texttt{marginal} package},
- subtitle = {Extensions to \textbackslash{}marginpar handling},
- author = {Sigitas Tolušis},
- date = {2016-06-29},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/marginal},
- url = {https://ctan.org/pkg/marginal},
-}
-
-@manual{ctan-marginfit,
- title = {The \texttt{marginfit} package},
- subtitle = {Improved margin notes},
- author = {Maurice Leclaire},
- date = {2018-07-26},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/marginfit},
- url = {https://ctan.org/pkg/marginfit},
-}
-
-@manual{ctan-marginfix,
- title = {The \texttt{marginfix} package},
- subtitle = {Patch \textbackslash{}marginpar to avoid overfull margins},
- author = {Stephen Hicks},
- date = {2020-05-07},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/marginfix},
- url = {https://ctan.org/pkg/marginfix},
- annotation = {Authors using \LaTeX{} to typeset books with significant margin
- material often run into the problem of long notes running off the
- bottom of the page. A typical workaround is to
- insert commands by hand, but this is a tedious
- process that is invalidated when pagination changes. Another
- workaround is ’s
- function, but this can be unsatisfying for short textual notes,
- and standard marginpars cannot be mixed with sidebars. This
- package implements a solution to make marginpars “just work” by
- keeping a list of floating inserts and arranging them
- intelligently in the output routine.},
-}
-
-@manual{ctan-marginnote,
- title = {The \texttt{marginnote} package},
- subtitle = {Notes in the margin, even where \textbackslash{}marginpar fails},
- author = {Markus Kohm},
- date = {2018-08-09},
- version = {1.4b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/marginnote},
- url = {https://ctan.org/pkg/marginnote},
- annotation = {This package provides the command that may be
- used instead of at almost every place where
- cannot be used, e.g., inside floats,
- footnotes, or in frames made with the
- package.},
-}
-
-@manual{ctan-marginote,
- title = {The \texttt{marginote} package},
- subtitle = {Make numbered notes in the margin},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {2.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/marginote.sty},
- url = {https://ctan.org/pkg/marginote},
-}
-
-@manual{ctan-markdown,
- title = {The \texttt{markdown} package},
- subtitle = {Converting and rendering markdown documents inside \TeX{}},
- author = {Vít Novotný},
- date = {2023-02-28},
- version = {2.21.0-0-gee15b88},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/markdown},
- url = {https://ctan.org/pkg/markdown},
-}
-
-@manual{ctan-marnote,
- title = {The \texttt{marnote} package},
- subtitle = {Place text in the margin of a document},
- author = {James Darrell McCauley},
- date = {2016-06-24},
- version = {0.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/marnote.sty},
- url = {https://ctan.org/pkg/marnote},
-}
-
-@manual{ctan-marvosym,
- title = {The \texttt{marvosym} package},
- subtitle = {Martin Vogel's Symbols (marvosym) font},
- author = {Thomas Henlich and Martin Vogel and Mojca Miklavec},
- date = {2017-04-18},
- version = {2.2a},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/marvosym},
- url = {https://ctan.org/pkg/marvosym},
-}
-
-@manual{ctan-matapli,
- title = {The \texttt{matapli} package},
- subtitle = {Class for the french journal “MATAPLI”},
- author = {Maxime Chupin},
- date = {2022-03-11},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/matapli},
- url = {https://ctan.org/pkg/matapli},
- annotation = {This is a class for the french journal “MATAPLI” of the (SMAI).},
-}
-
-@manual{ctan-matc3,
- title = {The \texttt{matc3} package},
- subtitle = {Commands for MatematicaC3 textbooks},
- author = {Dimitrios Vrettos},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/matc3},
- url = {https://ctan.org/pkg/matc3},
-}
-
-@manual{ctan-matc3mem,
- title = {The \texttt{matc3mem} package},
- subtitle = {Class for MatematicaC3 textbooks},
- author = {Dimitrios Vrettos},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/matc3mem},
- url = {https://ctan.org/pkg/matc3mem},
- annotation = {The class is a development of ,
- with additions (specifically, mathematical extensions) that
- provide support for writing the books for the Matematica C3
- project to produce free mathematical textbooks for use in Italian
- high schools.},
-}
-
-@manual{ctan-match_parens,
- title = {The \texttt{match\_parens} package},
- subtitle = {Find mismatches of parentheses, braces, (angle) brackets,
- in texts},
- author = {Wybo H. Dekker},
- date = {2018-01-06},
- version = {1.43},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/match_parens},
- url = {https://ctan.org/pkg/match_parens},
-}
-
-@manual{ctan-math-e,
- title = {The \texttt{math-e} package},
- subtitle = {Examples from the book Typesetting Mathematics with \LaTeX{}},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/Math-E},
- url = {https://ctan.org/pkg/math-e},
-}
-
-@manual{ctan-math-into-latex-4,
- title = {The \texttt{math-into-latex-4} package},
- subtitle = {Samples from Math into \LaTeX{}, 4th Edition},
- author = {George Grätzer},
- date = {2017-01-13},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/examples/Math_into_LaTeX-4},
- url = {https://ctan.org/pkg/math-into-latex-4},
-}
-
-@manual{ctan-mathabx-type1,
- title = {The \texttt{mathabx-type1} package},
- subtitle = {Outline version of the mathabx fonts},
- author = {Kohsaku Hotta},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/mathabx},
- url = {https://ctan.org/pkg/mathabx-type1},
- annotation = {This is an Adobe Type 1 outline version of the
- fonts.},
-}
-
-@manual{ctan-mathabx,
- title = {The \texttt{mathabx} package},
- subtitle = {Three series of mathematical symbols},
- author = {Anthony Phan},
- date = {2017-04-18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/mathabx},
- url = {https://ctan.org/pkg/mathabx},
-}
-
-@manual{ctan-mathalpha,
- title = {The \texttt{mathalpha} package},
- subtitle = {General package for loading maths alphabets in \LaTeX{}},
- author = {Michael Sharpe},
- date = {2021-11-18},
- version = {1.143},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathalpha},
- url = {https://ctan.org/pkg/mathalpha},
-}
-
-@manual{ctan-mathalphabets,
- title = {The \texttt{mathalphabets} package},
- subtitle = {Chinese introduction to mathematical alphabets},
- author = {Conden Chao},
- date = {2022-06-24},
- version = {4.0},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/info/mathalphabets},
- url = {https://ctan.org/pkg/mathalphabets},
-}
-
-@manual{ctan-mathastext,
- title = {The \texttt{mathastext} package},
- subtitle = {Use the text font in maths mode},
- author = {Jean-François Burnol},
- date = {2022-11-04},
- version = {1.3y},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathastext},
- url = {https://ctan.org/pkg/mathastext},
-}
-
-@manual{ctan-mathbbol,
- title = {The \texttt{mathbbol} package},
- subtitle = {Use the bbold fonts in mathematics},
- author = {Jörg Knappen},
- date = {2018-01-06},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen},
- url = {https://ctan.org/pkg/mathbbol},
-}
-
-@manual{ctan-mathcmd,
- title = {The \texttt{mathcmd} package},
- subtitle = {Mathematics support commands},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio},
- url = {https://ctan.org/pkg/mathcmd},
-}
-
-@manual{ctan-mathcommand,
- title = {The \texttt{mathcommand} package},
- subtitle = {\textbackslash{}newcommand-like commands for defining math macros},
- author = {Thomas Colcombet},
- date = {2021-06-07},
- version = {1.04},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathcommand},
- url = {https://ctan.org/pkg/mathcommand},
-}
-
-@manual{ctan-mathcomp,
- title = {The \texttt{mathcomp} package},
- subtitle = {Text symbols in maths mode},
- author = {Tilmann Böß},
- date = {2016-06-24},
- version = {0.1f},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathcomp},
- url = {https://ctan.org/pkg/mathcomp},
-}
-
-@manual{ctan-mathdesign,
- title = {The \texttt{mathdesign} package},
- subtitle = {Mathematical fonts to fit with particular text fonts},
- author = {Paul Pichaureau},
- date = {2016-06-24},
- version = {2.31},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/mathdesign},
- url = {https://ctan.org/pkg/mathdesign},
-}
-
-@manual{ctan-mathdots,
- title = {The \texttt{mathdots} package},
- subtitle = {Commands to produce dots in math that respect font size},
- author = {Daniel H. Luecking},
- date = {2016-06-24},
- version = {0.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/mathdots},
- url = {https://ctan.org/pkg/mathdots},
- annotation = {Redefines and , and defines
- . The dots produced by slant in
- the opposite direction to . All the commands are
- designed to change size appropriately in scripts, as well as in
- response to \LaTeX{} size changing commands. The commands may also be
- used in plain \TeX{}.},
-}
-
-@manual{ctan-mathematica,
- title = {The \texttt{mathematica} package},
- subtitle = {Support for fonts distributed with Mathematica},
- author = {Jens-Peer Kuska},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/Mathematica3.0},
- url = {https://ctan.org/pkg/mathematica},
- annotation = {Virtual \TeX{} fonts that can be used with the PostScript fonts
- distributed with Mathematica 3.0. The archives use a
- conforming directory structure. A
- style file for \LaTeX{}2e is included, that enables use of the
- fonts and the new symbols from \LaTeX{}2e.},
-}
-
-@manual{ctan-mathesatz-examples,
- title = {The \texttt{mathesatz-examples} package},
- subtitle = {Examples from the book "Mathematiksatz mit \LaTeX{}"},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/Math},
- url = {https://ctan.org/pkg/mathesatz-examples},
-}
-
-@manual{ctan-mathexam,
- title = {The \texttt{mathexam} package},
- subtitle = {Package for typesetting exams},
- author = {Jan Hlavacek},
- date = {2016-06-24},
- version = {1.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathexam},
- url = {https://ctan.org/pkg/mathexam},
-}
-
-@manual{ctan-mathfam256,
- title = {The \texttt{mathfam256} package},
- subtitle = {Extend math family up to 256 for pLaTeX/upLaTeX/Lamed},
- author = {Hironobu Yamashita},
- date = {2020-01-23},
- version = {0.5},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathfam256},
- url = {https://ctan.org/pkg/mathfam256},
- annotation = {This package increases the upper limit of math symbols up to 256,
- using primitives.
- These primitives were originally introduced in Omega
- and are currently available in the following formats:},
-}
-
-@manual{ctan-mathfixs,
- title = {The \texttt{mathfixs} package},
- subtitle = {Fix various layout issues in math mode},
- author = {Niklas Beisert},
- date = {2018-12-30},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathfixs},
- url = {https://ctan.org/pkg/mathfixs},
-}
-
-@manual{ctan-mathfont,
- title = {The \texttt{mathfont} package},
- subtitle = {Use TrueType and OpenType fonts in math mode},
- author = {Conrad Kosowsky},
- date = {2022-12-05},
- version = {2.2a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathfont},
- url = {https://ctan.org/pkg/mathfont},
-}
-
-@manual{ctan-mathgifg,
- title = {The \texttt{mathgifg} package},
- subtitle = {Support for Microsoft Georgia and ITC Franklin Gothic},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {0.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/mathgifg},
- url = {https://ctan.org/pkg/mathgifg},
-}
-
-@manual{ctan-mathinst,
- title = {The \texttt{mathinst} package},
- subtitle = {Merge font families to create mathematical font sets},
- author = {Alan Hoenig},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/mathinst},
- url = {https://ctan.org/pkg/mathinst},
- annotation = {A set of Perl and scripts
- to integrate mathematical fonts for use by (La)TeX using a family
- of Roman types and a set of raw math fonts (such as Euler, or the
- commercial MathTime or Lucida New Math fonts). All fonts are
- properly scaled for compatibility with the Roman fonts.},
-}
-
-@manual{ctan-mathkit,
- title = {The \texttt{mathkit} package},
- subtitle = {Generate maths fonts to match outline fonts},
- author = {Alan Hoenig},
- date = {2016-06-24},
- version = {0.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/mathkit},
- url = {https://ctan.org/pkg/mathkit},
-}
-
-@manual{ctan-mathlig,
- title = {The \texttt{mathlig} package},
- subtitle = {Define maths "ligatures"},
- author = {Jules Bean},
- date = {2020-04-11},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/misc/mathlig.tex},
- url = {https://ctan.org/pkg/mathlig},
-}
-
-@manual{ctan-mathpartir,
- title = {The \texttt{mathpartir} package},
- subtitle = {Typesetting sequences of math formulas, e.g. type inference rules},
- author = {Didier Remy},
- date = {2018-01-06},
- version = {1.3.2},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathpartir},
- url = {https://ctan.org/pkg/mathpartir},
-}
-
-@manual{ctan-mathpazo,
- title = {The \texttt{mathpazo} package},
- subtitle = {Fonts to typeset mathematics to match Palatino},
- author = {Diego Puga},
- date = {2018-01-06},
- version = {1.003},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/mathpazo},
- url = {https://ctan.org/pkg/mathpazo},
-}
-
-@manual{ctan-mathpple,
- title = {The \texttt{mathpple} package},
- subtitle = {Use PostScript Palatino for typesetting maths},
- author = {Walter A. Schmidt},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- url = {https://ctan.org/pkg/mathpple},
-}
-
-@manual{ctan-mathptm,
- title = {The \texttt{mathptm} package},
- subtitle = {Adobe Times Roman (or equivalent) for text and maths},
- author = {Alan Jeffrey and Sebastian Rahtz and Ulrik Vieth},
- date = {2016-06-24},
- license = {lppl},
- url = {https://ctan.org/pkg/mathptm},
- annotation = {The mathptm package is now obsolete, replaced by the
- package, which does the
- same job, better.},
-}
-
-@manual{ctan-mathptmx,
- title = {The \texttt{mathptmx} package},
- subtitle = {Use Times as default text font, and provide maths support},
- author = {Walter A. Schmidt and Alan Jeffrey and Sebastian Rahtz and Ulrik Vieth and {The \LaTeX{} Project Team}},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/required/psnfss},
- url = {https://ctan.org/pkg/mathptmx},
-}
-
-@manual{ctan-mathpunctspace,
- title = {The \texttt{mathpunctspace} package},
- subtitle = {Control the space after punctuation in math expressions},
- author = {Yuwsuke Kieda},
- date = {2018-02-27},
- version = {1.1},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathpunctspace},
- url = {https://ctan.org/pkg/mathpunctspace},
-}
-
-@manual{ctan-mathrsfs,
- title = {The \texttt{mathrsfs} package},
- subtitle = {Support for using RSFS fonts in maths},
- author = {Jörg Knappen},
- date = {2018-01-06},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen},
- url = {https://ctan.org/pkg/mathrsfs},
-}
-
-@manual{ctan-maths-symbols,
- title = {The \texttt{maths-symbols} package},
- subtitle = {Summary of mathematical symbols available in \LaTeX{}},
- author = {David Carlisle and Robin Fairbairns},
- date = {2017-04-18},
- version = {3.4},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/info/symbols/math},
- url = {https://ctan.org/pkg/maths-symbols},
- annotation = {A predecessor of the
- ,
- covering mathematical symbols available in standard \LaTeX{}
- (including the AMS symbols, if available at compile time).},
-}
-
-@manual{ctan-mathsci2bibtex,
- title = {The \texttt{mathsci2bibtex} package},
- subtitle = {Convert Mathsci database information to BibTeX},
- author = {Ilya Zakharevich},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/mathsci2bibtex},
- url = {https://ctan.org/pkg/mathsci2bibtex},
-}
-
-@manual{ctan-mathscinet,
- title = {The \texttt{mathscinet} package},
- subtitle = {Retrieve references from MathSciNet in BibTeX format},
- author = {Michael Tweedale},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/mathscinet},
- url = {https://ctan.org/pkg/mathscinet},
-}
-
-@manual{ctan-mathsemantics,
- title = {The \texttt{mathsemantics} package},
- subtitle = {Semantic math commands in \LaTeX{}},
- author = {Ronny Bergmann},
- date = {2022-05-16},
- version = {1.0.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathsemantics},
- url = {https://ctan.org/pkg/mathsemantics},
-}
-
-@manual{ctan-mathspad,
- title = {The \texttt{MathSpad} package},
- subtitle = {A mathematics-capable word processor with \LaTeX{} output},
- author = {Richard Verhoeven},
- date = {2016-06-24},
- version = {0.60},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/mathspad},
- url = {https://ctan.org/pkg/mathspad},
-}
-
-@manual{ctan-mathspec,
- title = {The \texttt{mathspec} package},
- subtitle = {Specify arbitrary fonts for mathematics in XeTeX},
- author = {Andrew Gilbert Moschou},
- date = {2018-01-06},
- version = {0.2b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/mathspec},
- url = {https://ctan.org/pkg/mathspec},
-}
-
-@manual{ctan-mathspic,
- title = {The \texttt{mathspic} package},
- subtitle = {A Perl filter program for use with PiCTeX},
- author = {Apostolos Syropoulos and Dick Nickalls},
- date = {2016-06-24},
- version = {1.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/mathspic},
- url = {https://ctan.org/pkg/mathspic},
-}
-
-@manual{ctan-mathstone,
- title = {The \texttt{mathstone} package},
- subtitle = {Use Adobe Stone Serif and Stone Sans for typesetting maths},
- author = {Luis Marco Adrián},
- date = {2021-09-11},
- version = {2.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/fonts/mathstone},
- url = {https://ctan.org/pkg/mathstone},
-}
-
-@manual{ctan-mathstyle,
- title = {The \texttt{mathstyle} package},
- subtitle = {Manage mathematics typesetting style},
- author = {Michael J. Downes and Morten Høgholm and Lars Madsen and Will Robertson and Joseph Wright},
- date = {2021-10-28},
- version = {0.98l},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/breqn},
- url = {https://ctan.org/pkg/mathstyle},
-}
-
-@manual{ctan-mathtex,
- title = {The \texttt{mathtex} package},
- subtitle = {A CGI program to use \LaTeX{} to put mathematics on the web},
- author = {John Forkosh},
- date = {2021-06-12},
- version = {1.05},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/mathtex},
- url = {https://ctan.org/pkg/mathtex},
-}
-
-@manual{ctan-mathtime-ltx,
- title = {The \texttt{mathtime-ltx} package},
- subtitle = {\LaTeX{} macros for using MathTime and MathTime Plus},
- author = {Frank Mittelbach and David Carlisle},
- date = {2022-05-13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx/mathtime},
- url = {https://ctan.org/pkg/mathtime-ltx},
-}
-
-@manual{ctan-mathtime-metrics,
- title = {The \texttt{mathtime-metrics} package},
- subtitle = {MathTime AFM files},
- author = {{Unknown}},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/mathtime},
- url = {https://ctan.org/pkg/mathtime-metrics},
-}
-
-@manual{ctan-mathtime-pln,
- title = {The \texttt{mathtime-pln} package},
- subtitle = {Plain \TeX{} macros for using MathTime and MathTime Plus},
- author = {Adam Lewenberg},
- date = {2018-01-06},
- version = {1.30},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/mathtime},
- url = {https://ctan.org/pkg/mathtime-pln},
-}
-
-@manual{ctan-mathtools,
- title = {The \texttt{mathtools} package},
- subtitle = {Mathematical tools to use with amsmath},
- author = {Morten Høgholm and Lars Madsen and {The \LaTeX{} Project Team} and Will Robertson and Joseph Wright},
- date = {2022-06-30},
- version = {1.29},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathtools},
- url = {https://ctan.org/pkg/mathtools},
-}
-
-@manual{ctan-mathtrip,
- title = {The \texttt{MathTrip} package},
- subtitle = {A trip to the wonderful world of mathematics},
- author = {Alain Aubord},
- date = {2022-10-02},
- version = {2.8},
- license = {nocommercial,lppl,bsd},
- mirror = {https://mirror.ctan.org/info/mathtrip},
- url = {https://ctan.org/pkg/mathtrip},
-}
-
-@manual{ctan-mathtype,
- title = {The \texttt{MathType} package},
- subtitle = {Evaluation version of a commercial equation editor},
- author = {Bruce Virga and Bob Mathews},
- date = {2019-02-13},
- version = {7},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/support/mathtype},
- url = {https://ctan.org/pkg/mathtype},
-}
-
-@manual{ctan-matlab-prettifier,
- title = {The \texttt{matlab-prettifier} package},
- subtitle = {Pretty-print Matlab source code},
- author = {Julien Cretel},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/matlab-prettifier},
- url = {https://ctan.org/pkg/matlab-prettifier},
- annotation = {The package extends the facilities of the
- package, to pretty-print
- Matlab and Octave source code. (Note that support of Octave syntax
- is not complete.)},
-}
-
-@manual{ctan-matlabweb,
- title = {The \texttt{matlabweb} package},
- subtitle = {Literate programming system for Matlab},
- author = {Mark Potse},
- date = {2016-06-24},
- version = {2.10},
- license = {gpl},
- mirror = {https://mirror.ctan.org/web/matlabweb},
- url = {https://ctan.org/pkg/matlabweb},
- annotation = {Matlabweb is a literate programming system for the Matlab
- language. Similar to CWEB, it is created with a slightly modified
- version of the system.
- Matlabweb can be used with plain \TeX{} or \LaTeX{}, the latter with
- help from the package.},
-}
-
-@manual{ctan-matrix-skeleton,
- title = {The \texttt{matrix-skeleton} package},
- subtitle = {A PGF/TikZ library that simplifies working with multiple matrix nodes},
- author = {Nicolas Dudebout},
- date = {2022-11-14},
- version = {1.1},
- license = {isc},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/matrix-skeleton},
- url = {https://ctan.org/pkg/matrix-skeleton},
- annotation = {The package provides a PGF/TikZ library that simplifies working with multiple matrix nodes.
- To do so, it correctly aligns groups of nodes with the content of the whole matrix.
- Furthermore, provides rows and columns for easy styling.},
-}
-
-@manual{ctan-mattens,
- title = {The \texttt{mattens} package},
- subtitle = {Matrices/tensor typesetting},
- author = {Danie Els},
- date = {2022-03-02},
- version = {1.3b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mattens},
- url = {https://ctan.org/pkg/mattens},
-}
-
-@manual{ctan-mattex,
- title = {The \texttt{mattex} package},
- subtitle = {Import Matlab values to \LaTeX{} documents},
- author = {Romeo Van Snick},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mattex},
- url = {https://ctan.org/pkg/mattex},
-}
-
-@manual{ctan-maybeload,
- title = {The \texttt{maybeload} package},
- subtitle = {Prevent reloading of files},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/maybeload.tex},
- url = {https://ctan.org/pkg/maybeload},
- annotation = {Defines a command , which will become
- if it's called for a second or subsequent time
- with a particular file name.},
-}
-
-@manual{ctan-maybemath,
- title = {The \texttt{maybemath} package},
- subtitle = {Make math bold or italic according to context},
- author = {Andy Buckley},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/maybemath},
- url = {https://ctan.org/pkg/maybemath},
-}
-
-@manual{ctan-maze,
- title = {The \texttt{maze} package},
- subtitle = {Generate random mazes},
- author = {Sicheng Du},
- date = {2023-01-10},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/maze},
- url = {https://ctan.org/pkg/maze},
- annotation = {This package can generate random square mazes of a specified
- size. The mazes generated by this package are natural and
- their solution is not too obvious.
- The output it based on the environment.},
-}
-
-@manual{ctan-mbboard,
- title = {The \texttt{mbboard} package},
- subtitle = {Comprehensive blackboard bold fonts},
- author = {Anthony Phan},
- date = {2016-06-24},
- version = {0.4},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/mbboard},
- url = {https://ctan.org/pkg/mbboard},
-}
-
-@manual{ctan-mbenotes,
- title = {The \texttt{mbenotes} package},
- subtitle = {Notes in tables or images},
- author = {Matthias Borck-Elsner},
- date = {2019-05-01},
- version = {2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/mbenotes},
- url = {https://ctan.org/pkg/mbenotes},
-}
-
-@manual{ctan-mboxfill,
- title = {The \texttt{mboxfill} package},
- subtitle = {Fill free space with a pattern},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/mboxfill},
-}
-
-@manual{ctan-mcaption,
- title = {The \texttt{mcaption} package},
- subtitle = {Put captions in the margin},
- author = {Stephan Hennig},
- date = {2016-06-24},
- version = {3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mcaption},
- url = {https://ctan.org/pkg/mcaption},
-}
-
-@manual{ctan-mceinleger,
- title = {The \texttt{mceinleger} package},
- subtitle = {Creating covers for music cassettes},
- author = {Florian Benischke},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mceinleger},
- url = {https://ctan.org/pkg/mceinleger},
- annotation = {A package for creating MC-covers on your own. It allows the
- creation of simple covers as well as covers with an
- additional page for more information about the cassette
- (table of contents e.g.). The
- package is required.},
-}
-
-@manual{ctan-mcexam,
- title = {The \texttt{mcexam} package},
- subtitle = {Create randomized Multiple Choice questions},
- author = {Jorre Vannieuwenhuyze},
- date = {2021-09-12},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mcexam},
- url = {https://ctan.org/pkg/mcexam},
-}
-
-@manual{ctan-mcf2graph,
- title = {The \texttt{mcf2graph} package},
- subtitle = {Draw chemical structure diagrams with MetaPost},
- author = {Akira Yamaji},
- date = {2023-01-29},
- version = {4.92},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/mcf2graph},
- url = {https://ctan.org/pkg/mcf2graph},
-}
-
-@manual{ctan-mcite,
- title = {The \texttt{mcite} package},
- subtitle = {Multiple items in a single citation},
- author = {Thorsten Ohl},
- date = {2016-06-24},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mcite},
- url = {https://ctan.org/pkg/mcite},
-}
-
-@manual{ctan-mciteplus,
- title = {The \texttt{mciteplus} package},
- subtitle = {Enhanced multiple citations},
- author = {Michael Shell},
- date = {2017-04-18},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mciteplus},
- url = {https://ctan.org/pkg/mciteplus},
- annotation = {The mciteplus \LaTeX{} package is an enhanced reimplementation of
- Thorsten Ohl’s package
- which provides support for the grouping of multiple citations
- together as is often done in physics journals. An extensive set
- of features provide for other applications such as reference
- sublisting.},
-}
-
-@manual{ctan-mcmthesis,
- title = {The \texttt{mcmthesis} package},
- subtitle = {Template designed for MCM/ICM},
- author = {Liam Huang and {Unknown} and Zhaoli Wang},
- date = {2021-01-05},
- version = {6.3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mcmthesis},
- url = {https://ctan.org/pkg/mcmthesis},
-}
-
-@manual{ctan-mctex,
- title = {The \texttt{mctex} package},
- subtitle = {Convert VAXIMA output to (La)TeX code},
- author = {Chokchai Leangsuksun},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/mctex},
- url = {https://ctan.org/pkg/mctex},
-}
-
-@manual{ctan-mdframed,
- title = {The \texttt{mdframed} package},
- subtitle = {Framed environments that can split at page boundaries},
- author = {Marco Daniel and Elke Schubert},
- date = {2018-09-15},
- version = {1.9b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdframed},
- url = {https://ctan.org/pkg/mdframed},
-}
-
-@manual{ctan-mdputu,
- title = {The \texttt{mdputu} package},
- subtitle = {Upright digits in Adobe Utopia Italic},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/mdputu},
- url = {https://ctan.org/pkg/mdputu},
- annotation = {The Annals of Mathematics uses italics for theorems. However,
- slanted digits and parentheses look disturbing when surrounded by
- (upright) mathematics. This package provides virtual fonts with
- italics and upright digits and punctuation, as an extension to
- .},
-}
-
-@manual{ctan-mdsymbol,
- title = {The \texttt{mdsymbol} package},
- subtitle = {Symbol fonts to match Adobe Myriad Pro},
- author = {Sebastian Schubert},
- date = {2016-06-24},
- version = {0.5},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/mdsymbol},
- url = {https://ctan.org/pkg/mdsymbol},
-}
-
-@manual{ctan-mdvi,
- title = {The \texttt{mdvi} package},
- subtitle = {A DVI previewer},
- author = {Matias Atria},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/dviware/mdvi},
- url = {https://ctan.org/pkg/mdvi},
-}
-
-@manual{ctan-mdwfonts,
- title = {The \texttt{mdwfonts} package},
- subtitle = {A model for font manipulation},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwfonts},
- url = {https://ctan.org/pkg/mdwfonts},
-}
-
-@manual{ctan-mdwlist,
- title = {The \texttt{mdwlist} package},
- subtitle = {Miscellaneous list-related commands},
- author = {Mark Wooding},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/mdwlist},
-}
-
-@manual{ctan-mdwmath,
- title = {The \texttt{mdwmath} package},
- subtitle = {Some maths extensions},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/mdwmath},
-}
-
-@manual{ctan-mdwtab,
- title = {The \texttt{mdwtab} package},
- subtitle = {A reimplementation of tabular and array environments},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.9},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/mdwtab},
-}
-
-@manual{ctan-mdwtools,
- title = {The \texttt{mdwtools} package},
- subtitle = {Miscellaneous tools by Mark Wooding},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.05.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/mdwtools},
-}
-
-@manual{ctan-mecaso,
- title = {The \texttt{mecaso} package},
- subtitle = {Formulas frequently used in rigid body mechanics},
- author = {Youssef Derrazi},
- date = {2021-09-07},
- version = {1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mecaso},
- url = {https://ctan.org/pkg/mecaso},
-}
-
-@manual{ctan-media4svg,
- title = {The \texttt{media4svg} package},
- subtitle = {Multimedia inclusion for the dvisvgm backend},
- author = {Alexander Grahn},
- date = {2022-10-12},
- version = {0.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/media4svg},
- url = {https://ctan.org/pkg/media4svg},
-}
-
-@manual{ctan-media9,
- title = {The \texttt{media9} package},
- subtitle = {Multimedia inclusion package with Adobe Reader-9/X compatibility},
- author = {Alexander Grahn},
- date = {2022-08-04},
- version = {1.25},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/media9},
- url = {https://ctan.org/pkg/media9},
-}
-
-@manual{ctan-medstarbeamer,
- title = {The \texttt{medstarbeamer} package},
- subtitle = {Beamer document class for MedStar Health Research Institute},
- author = {Anagha Kumar},
- date = {2018-04-22},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/medstarbeamer},
- url = {https://ctan.org/pkg/medstarbeamer},
-}
-
-@manual{ctan-meetingmins,
- title = {The \texttt{meetingmins} package},
- subtitle = {Format written minutes of meetings},
- author = {Brian Beitzel},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/meetingmins},
- url = {https://ctan.org/pkg/meetingmins},
-}
-
-@manual{ctan-megatape,
- title = {The \texttt{megatape} package},
- subtitle = {Make cassette tape labels},
- author = {Martin Nickel},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/megatape},
- url = {https://ctan.org/pkg/megatape},
- annotation = {The package is an extension of the
- package.},
-}
-
-@manual{ctan-mem,
- title = {The \texttt{mem} package},
- subtitle = {A multilingual system for Lamed},
- author = {Javier Bezos López},
- date = {2017-04-18},
- version = {0.0004},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/exptl/mem},
- url = {https://ctan.org/pkg/mem},
- annotation = {This package consists of experimental code for a multiligual
- system for Lamed (i.e., \LaTeX{} running over
- ). This distribution has
- pre-alpha status, and is offered for experimentation and to
- attract contributions.},
-}
-
-@manual{ctan-membranecomputing,
- title = {The \texttt{membranecomputing} package},
- subtitle = {Membrane Computing notation},
- author = {David Orellana Martín},
- date = {2022-10-05},
- version = {0.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/membranecomputing},
- url = {https://ctan.org/pkg/membranecomputing},
-}
-
-@manual{ctan-memdesign,
- title = {The \texttt{memdesign} package},
- subtitle = {Notes on book design},
- author = {Peter R. Wilson and Lars Madsen},
- date = {2018-09-16},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/memdesign},
- url = {https://ctan.org/pkg/memdesign},
-}
-
-@manual{ctan-memexsupp,
- title = {The \texttt{memexsupp} package},
- subtitle = {Experimental memoir support},
- author = {Lars Madsen},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/memexsupp},
- url = {https://ctan.org/pkg/memexsupp},
- annotation = {A package of code proposed as supporting material for
- . The package is intended as a
- test bed for such code, which may in the fullness of time be
- adopted into the main memoir release.},
-}
-
-@manual{ctan-memhfixc,
- title = {The \texttt{memhfixc} package},
- subtitle = {Adjustment for using hyperref in memoir documents},
- author = {Peter R. Wilson and Lars Madsen},
- date = {2022-11-17},
- version = {1.20},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/memoir},
- url = {https://ctan.org/pkg/memhfixc},
-}
-
-@manual{ctan-memo-pln,
- title = {The \texttt{memo-pln} package},
- subtitle = {Plain \TeX{} macros for memoranda},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/memo.tex},
- url = {https://ctan.org/pkg/memo-pln},
-}
-
-@manual{ctan-memo2,
- title = {The \texttt{memo2} package},
- subtitle = {A memo document style},
- author = {Kent McPherson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/memo2},
- url = {https://ctan.org/pkg/memo2},
- annotation = {A small document style (\LaTeX{} 2.09) which produces a presentable
- memorandum layout. The style will work under \LaTeX{} 2e (subject to
- the usual complaints), but requires the
- package.},
-}
-
-@manual{ctan-memo209,
- title = {The \texttt{memo209} package},
- subtitle = {A memo document style},
- author = {Mark Roth},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/memo},
- url = {https://ctan.org/pkg/memo209},
-}
-
-@manual{ctan-memoir,
- title = {The \texttt{memoir} package},
- subtitle = {Typeset fiction, non-fiction and mathematical books},
- author = {Peter R. Wilson and Lars Madsen},
- date = {2022-11-17},
- version = {3.7.19},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/memoir},
- url = {https://ctan.org/pkg/memoir},
-}
-
-@manual{ctan-memoirchapterstyles,
- title = {The \texttt{MemoirChapterStyles} package},
- subtitle = {Chapter styles in memoir class},
- author = {Lars Madsen},
- date = {2021-07-01},
- version = {1.7e},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/latex-samples/MemoirChapStyles},
- url = {https://ctan.org/pkg/memoirchapterstyles},
-}
-
-@manual{ctan-memory,
- title = {The \texttt{memory} package},
- subtitle = {Containers for data in \LaTeX{}},
- author = {Song Zhiwei},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/memory},
- url = {https://ctan.org/pkg/memory},
-}
-
-@manual{ctan-memorygraphs,
- title = {The \texttt{memorygraphs} package},
- subtitle = {TikZ styles to typeset graphs of program memory},
- author = {Camil Staps},
- date = {2019-01-07},
- version = {0.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/memorygraphs},
- url = {https://ctan.org/pkg/memorygraphs},
-}
-
-@manual{ctan-mendex-doc,
- title = {The \texttt{mendex-doc} package},
- subtitle = {Documentation for Mendex index processor},
- author = {{Japanese \TeX{} Development Community}},
- date = {2022-04-05},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/info/mendex-doc},
- url = {https://ctan.org/pkg/mendex-doc},
-}
-
-@manual{ctan-mensa-tex,
- title = {The \texttt{mensa-tex} package},
- subtitle = {Typeset simple school cafeteria menus},
- author = {Sebastian Friedl},
- date = {2017-12-05},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mensa-tex},
- url = {https://ctan.org/pkg/mensa-tex},
-}
-
-@manual{ctan-mentis,
- title = {The \texttt{mentis} package},
- subtitle = {A basis for books to be published by Mentis publishers},
- author = {Georg Michael Verweyen},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mentis},
- url = {https://ctan.org/pkg/mentis},
- annotation = {This \LaTeX{} class loads
- and provides changes necessary for publishing at Mentis
- publishers in Paderborn, Germany. It is not an official Mentis
- class, merely one developed by an author in close co-operation
- with Mentis.},
-}
-
-@manual{ctan-menu,
- title = {The \texttt{menu} package},
- subtitle = {Typesetting menus},
- author = {Knut Lickert},
- date = {2016-06-24},
- version = {0.994},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/menu},
- url = {https://ctan.org/pkg/menu},
- annotation = {The package defines command
- which assists typesetting of a path through a program's menu.},
-}
-
-@manual{ctan-menucard,
- title = {The \texttt{menucard} package},
- subtitle = {Typesetting menu cards with \LaTeX{}},
- author = {Sascha Frank},
- date = {2020-06-23},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/menucard},
- url = {https://ctan.org/pkg/menucard},
-}
-
-@manual{ctan-menukeys,
- title = {The \texttt{menukeys} package},
- subtitle = {Format menu sequences, paths and keystrokes from lists},
- author = {Tobias Weh and Jonathan P. Spratte},
- date = {2022-09-07},
- version = {1.6.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/menukeys},
- url = {https://ctan.org/pkg/menukeys},
-}
-
-@manual{ctan-meparticle,
- title = {The \texttt{MEP article} package},
- subtitle = {Class for Mechanical Engineering Publications},
- author = {Silvano Balemi},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/meparticle.sty},
- url = {https://ctan.org/pkg/meparticle},
-}
-
-@manual{ctan-meper,
- title = {The \texttt{meper} package},
- subtitle = {MetaPost editor and previewer},
- author = {Shengjun Pan},
- date = {2017-04-18},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/meper},
- url = {https://ctan.org/pkg/meper},
-}
-
-@manual{ctan-mercatormap,
- title = {The \texttt{mercatormap} package},
- subtitle = {Spherical Mercator coordinate systems and Web Mercator tile integration},
- author = {Thomas F. Sturm},
- date = {2020-08-06},
- version = {1.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mercatormap},
- url = {https://ctan.org/pkg/mercatormap},
-}
-
-@manual{ctan-merge,
- title = {The \texttt{merge} package},
- subtitle = {Perform mail merges in \LaTeX{}},
- author = {Graeme McKinstry},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/merge.sty},
- url = {https://ctan.org/pkg/merge},
-}
-
-@manual{ctan-merriweather,
- title = {The \texttt{merriweather} package},
- subtitle = {Merriweather and MerriweatherSans fonts, with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-20},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/merriweather},
- url = {https://ctan.org/pkg/merriweather},
-}
-
-@manual{ctan-messagebubbles,
- title = {The \texttt{messagebubbles} package},
- subtitle = {Display message bubbles as a conversation},
- author = {Simon Harrer},
- date = {2016-06-24},
- version = {0.0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/messagebubbles},
- url = {https://ctan.org/pkg/messagebubbles},
-}
-
-@manual{ctan-messagepassing,
- title = {The \texttt{messagepassing} package},
- subtitle = {Draw diagrams to represent communication protocols},
- author = {Martin Vassor},
- date = {2022-04-08},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/messagepassing},
- url = {https://ctan.org/pkg/messagepassing},
-}
-
-@manual{ctan-meta-mode,
- title = {The \texttt{meta-mode} package},
- subtitle = {Emacs mode for Metafont/post},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/emacs-modes/meta-mode.el},
- url = {https://ctan.org/pkg/meta-mode},
- annotation = {A GNU Emacs Lisp package that implements a major mode for
- editing
- or
- sources. It provides many features commonly found in
- Emacs editing modes for programming languages, such as
- automatic indenting of source code, syntactic highlighting
- (a.k.a. fontification), symbol completion, as well as
- miscellaneous other basic editing functions adapted to the
- mode-specific semantics such as motion commands or commands
- to mark, reindent, or comment-out environments or regions.},
-}
-
-@manual{ctan-metafont-beginners,
- title = {The \texttt{metafont-beginners} package},
- subtitle = {An introductory tutorial for Metafont},
- author = {Geoffrey Tobin},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/metafont/beginners},
- url = {https://ctan.org/pkg/metafont-beginners},
-}
-
-@manual{ctan-metafont,
- title = {The \texttt{Metafont} package},
- subtitle = {A system for specifying fonts},
- author = {Donald E. Knuth},
- date = {2022-02-01},
- version = {2.71828182},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/mf},
- url = {https://ctan.org/pkg/metafont},
-}
-
-@manual{ctan-metafp,
- title = {The \texttt{metafp} package},
- subtitle = {Some Experiences in Running Metafont and MetaPost},
- author = {Peter R. Wilson},
- date = {2016-06-18},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/metafont/metafp},
- url = {https://ctan.org/pkg/metafp},
-}
-
-@manual{ctan-metago,
- title = {The \texttt{metago} package},
- subtitle = {MetaPost output of Go positions},
- author = {Wentao Zheng},
- date = {2021-08-26},
- version = {0.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/metago},
- url = {https://ctan.org/pkg/metago},
-}
-
-@manual{ctan-metainfo,
- title = {The \texttt{metainfo} package},
- subtitle = {Typeset document outline with metainfo},
- author = {Jonathan Sauer},
- date = {2016-06-24},
- version = {0.9.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauerj},
- url = {https://ctan.org/pkg/metainfo},
- annotation = {The package picks up \TeX{} comments in document that are
- structured according to its rules, and typesets them. Operation
- is (typically in a
- separate document).},
-}
-
-@manual{ctan-metalogo,
- title = {The \texttt{metalogo} package},
- subtitle = {Extended \TeX{} logo macros},
- author = {Andrew Gilbert Moschou},
- date = {2019-01-20},
- version = {0.12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/metalogo},
- url = {https://ctan.org/pkg/metalogo},
-}
-
-@manual{ctan-metalogox,
- title = {The \texttt{metalogox} package},
- subtitle = {Adjust \TeX{} logos, with font detection},
- author = {Brian Dunn},
- date = {2023-01-03},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/metalogox},
- url = {https://ctan.org/pkg/metalogox},
-}
-
-@manual{ctan-metanorma,
- title = {The \texttt{metanorma} package},
- subtitle = {Write Metanorma standardization documents using LaTe},
- author = {Paolo Brasolin},
- date = {2020-05-05},
- version = {0.5.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/metanorma},
- url = {https://ctan.org/pkg/metanorma},
-}
-
-@manual{ctan-metaobj,
- title = {The \texttt{metaobj} package},
- subtitle = {MetaPost package providing high-level objects},
- author = {Denis B. Roegel},
- date = {2016-06-24},
- version = {0.93},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/metaobj},
- url = {https://ctan.org/pkg/metaobj},
-}
-
-@manual{ctan-metaplot,
- title = {The \texttt{MetaPlot} package},
- subtitle = {Plot-manipulation macros for use in MetaPost},
- author = {Brooks Moses},
- date = {2016-06-24},
- version = {0.91},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metaplot},
- url = {https://ctan.org/pkg/metaplot},
- annotation = {MetaPlot is a set of MetaPost macros for manipulating},
-}
-
-@manual{ctan-metapost-colorbrewer,
- title = {The \texttt{metapost-colorbrewer} package},
- subtitle = {An implementation of the colorbrewer2.org colours for MetaPost},
- author = {Toby Thurston},
- date = {2018-09-25},
- version = {},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/metapost-colorbrewer},
- url = {https://ctan.org/pkg/metapost-colorbrewer},
-}
-
-@manual{ctan-metapost-examples,
- title = {The \texttt{MetaPost examples} package},
- subtitle = {Example drawings using MetaPost},
- author = {Vincent Zoonekynd},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/metapost/examples},
- url = {https://ctan.org/pkg/metapost-examples},
-}
-
-@manual{ctan-metapost-matlab,
- title = {The \texttt{metapost-matlab} package},
- subtitle = {MetaPost data plotting in Matlab style},
- author = {Yang Yang},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/matlab},
- url = {https://ctan.org/pkg/metapost-matlab},
-}
-
@manual{ctan-metapost,
title = {The \texttt{metapost} package},
subtitle = {A development of Metafont for creating graphics},
@@ -44017,17943 +37,26 @@
SVG, rather than the bitmaps Metafont creates.},
}
-@manual{ctan-metastr,
- title = {The \texttt{metastr} package},
- subtitle = {Store and compose strings},
- author = {Niklas Beisert},
- date = {2020-09-02},
- version = {1.1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/metastr},
- url = {https://ctan.org/pkg/metastr},
-}
-
-@manual{ctan-metatex,
- title = {The \texttt{METATeX} package},
- subtitle = {Incorporate Metafont pictures in \TeX{} source},
- author = {Ramón Casares},
- date = {2018-01-06},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/metatex},
- url = {https://ctan.org/pkg/metatex},
-}
-
-@manual{ctan-metatype1,
- title = {The \texttt{metatype1} package},
- subtitle = {Generate Type 1 fonts from MetaPost},
- author = {{JNS team}},
- date = {2021-08-26},
- version = {0.56},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/utilities/metatype1},
- url = {https://ctan.org/pkg/metatype1},
-}
-
-@manual{ctan-metauml,
- title = {The \texttt{metauml} package},
- subtitle = {MetaPost library for typesetting UML diagrams},
- author = {Ovidiu Gheorghies},
- date = {2019-02-04},
- version = {0.2.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/metauml},
- url = {https://ctan.org/pkg/metauml},
-}
-
-@manual{ctan-method,
- title = {The \texttt{method} package},
- subtitle = {Typeset method and variable declarations},
- author = {Thomas Leineweber and Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {2.0b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/method},
- url = {https://ctan.org/pkg/method},
-}
-
-@manual{ctan-metre,
- title = {The \texttt{metre} package},
- subtitle = {Support for the work of classicists},
- author = {Gianfranco Boggio-Togna},
- date = {2018-01-06},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/metre},
- url = {https://ctan.org/pkg/metre},
-}
-
-@manual{ctan-metrix,
- title = {The \texttt{metrix} package},
- subtitle = {Typeset metric marks for Latin text},
- author = {Tobias Weh},
- date = {2019-10-09},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/metrix},
- url = {https://ctan.org/pkg/metrix},
-}
-
-@manual{ctan-mewltx,
- title = {The \texttt{mewltx} package},
- subtitle = {MicroEmacs for Windows \LaTeX{} interface},
- author = {Michael F. Reid},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/mewltx},
- url = {https://ctan.org/pkg/mewltx},
-}
-
-@manual{ctan-mex,
- title = {The \texttt{mex} package},
- subtitle = {Polish formats for \TeX{}},
- author = {Bogusław Jackowski and Marek Ryćko},
- date = {2021-03-22},
- version = {1.05a},
- license = {knuth},
- mirror = {https://mirror.ctan.org/language/polish/mex105a.zip},
- url = {https://ctan.org/pkg/mex},
-}
-
-@manual{ctan-mf-ps,
- title = {The \texttt{mf-ps} package},
- subtitle = {Metafont-PostScript conversions},
- author = {Bogusław Jackowski},
- date = {2019-06-21},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/MF-PS},
- url = {https://ctan.org/pkg/mf-ps},
-}
-
-@manual{ctan-mf2ps,
- title = {The \texttt{mf2ps} package},
- subtitle = {Modification of Metafont to produce PostScript output},
- author = {Shimon Yanai and Daniel Berry},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/mf2ps},
- url = {https://ctan.org/pkg/mf2ps},
-}
-
-@manual{ctan-mf2pt1,
- title = {The \texttt{mf2pt1} package},
- subtitle = {Convert stylized Metafont to PostScript Type 1},
- author = {Scott Pakin},
- date = {2021-12-04},
- version = {2.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/mf2pt1},
- url = {https://ctan.org/pkg/mf2pt1},
- annotation = {mf2pt1 is a Perl script that facilitates producing PostScript
- Type 1 fonts from a Metafont source file. It is not, as the
- name may imply, an automatic converter of arbitrary Metafont
- fonts to Type 1 format.
- mf2pt1 imposes a number of restrictions on the Metafont input.
- If these restrictions are met, mf2pt1 will produce valid
- Type 1 output with more accurate control points than can
- be reverse-engineered by \TeX{}trace,
- , and other programs
- which convert bitmaps to outline fonts.},
-}
-
-@manual{ctan-mf2pt3,
- title = {The \texttt{mf2pt3} package},
- subtitle = {Create Adobe Type 3 fonts},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/mf2pt3},
- url = {https://ctan.org/pkg/mf2pt3},
-}
-
-@manual{ctan-mf2tex,
- title = {The \texttt{mf2tex} package},
- subtitle = {Add labels into drawings created with Metafont},
- author = {Robert Spalek},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/mf2tex},
- url = {https://ctan.org/pkg/mf2tex},
-}
-
-@manual{ctan-mfbook,
- title = {The \texttt{mfbook} package},
- subtitle = {The source of The Metafontbook},
- author = {Donald E. Knuth},
- date = {2021-02-09},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/mf/mfbook.tex},
- url = {https://ctan.org/pkg/mfbook},
-}
-
-@manual{ctan-mff-util,
- title = {The \texttt{mff-util} package},
- subtitle = {Metafont management},
- author = {Damian Cugley},
- date = {2018-01-06},
- version = {2.9.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/utilities/mff-29},
- url = {https://ctan.org/pkg/mff-util},
-}
-
-@manual{ctan-mff,
- title = {The \texttt{mff} package},
- subtitle = {Multiple font formats},
- author = {Alexander Berdnikov and S. B. Turtia},
- date = {2016-06-24},
- version = {1.21},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mff},
- url = {https://ctan.org/pkg/mff},
- annotation = {A package to provide something similar to Adobe Type 1
- ‘multiple master’ fonts, but using Metafont; you
- specify a font by a set of Metafont parameters, and \TeX{} makes up
- an mf file to generate the required font. This package is not
- integrated with NFSS (or MakeTeXTFM) but it is …},
-}
-
-@manual{ctan-mfirstuc,
- title = {The \texttt{mfirstuc} package},
- subtitle = {Uppercase the first letter of a word},
- author = {Nicola Talbot},
- date = {2022-10-18},
- version = {2.08},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mfirstuc},
- url = {https://ctan.org/pkg/mfirstuc},
- annotation = {The package provides commands that
- uppercases the first letter in its argument (with a check for a
- semantic markup command at the start of the argument), and
- \textbackslash{}xmakefirstuc which expands the argument before uppercasing. It
- also provides which
- applies to each word in the
- , where the words are separated by
- regular spaces. (Exceptions can be made for words that
- shouldn't be converted.)},
-}
-
-@manual{ctan-mflogo-font,
- title = {The \texttt{mflogo-font} package},
- subtitle = {Metafont logo font},
- author = {Donald E. Knuth and Taco Hoekwater},
- date = {2022-02-01},
- version = {1.002},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/mflogo},
- url = {https://ctan.org/pkg/mflogo-font},
-}
-
-@manual{ctan-mflogo,
- title = {The \texttt{mflogo} package},
- subtitle = {\LaTeX{} support for Metafont logo fonts},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mflogo},
- url = {https://ctan.org/pkg/mflogo},
- annotation = {\LaTeX{} package and font definition file to access the Knuthian
- fonts described in
- ‘The Metafontbook’ and to typeset Metafont logos
- in \LaTeX{} documents.},
-}
-
-@manual{ctan-mflogo209,
- title = {The \texttt{mflogo209} package},
- subtitle = {Typeset the Metafont logo under \LaTeX{} 2.09},
- author = {Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/mf.sty},
- url = {https://ctan.org/pkg/mflogo209},
- annotation = {This package uses the \LaTeX{} 2.09 font selection system; current
- \LaTeX{} users need the package.},
-}
-
-@manual{ctan-mfnfss,
- title = {The \texttt{mfnfss} package},
- subtitle = {Packages to typeset oldgerman and pandora fonts in \LaTeX{}},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2020-01-19},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mfnfss},
- url = {https://ctan.org/pkg/mfnfss},
-}
-
-@manual{ctan-mfpic,
- title = {The \texttt{mfpic} package},
- subtitle = {Draw Metafont/post pictures from (La)TeX commands},
- author = {Daniel H. Luecking and Geoffrey Tobin},
- date = {2016-06-24},
- version = {1.10},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/mfpic},
- url = {https://ctan.org/pkg/mfpic},
-}
-
-@manual{ctan-mfpic4ode,
- title = {The \texttt{mfpic4ode} package},
- subtitle = {Macros to draw direction fields and solutions of ODEs},
- author = {Robert Mařík},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mfpic4ode},
- url = {https://ctan.org/pkg/mfpic4ode},
-}
-
-@manual{ctan-mftinc,
- title = {The \texttt{mftinc} package},
- subtitle = {Pretty-print Metafont source},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mftinc},
- url = {https://ctan.org/pkg/mftinc},
-}
-
-@manual{ctan-mftrace,
- title = {The \texttt{mftrace} package},
- subtitle = {Convert Metafont fonts to Adobe Type 1},
- author = {Han-Wen Nienhuys},
- date = {2017-04-18},
- license = {gpl},
- url = {https://ctan.org/pkg/mftrace},
-}
-
-@manual{ctan-mfware,
- title = {The \texttt{mfware} package},
- subtitle = {Supporting tools for use with Metafont},
- author = {Donald E. Knuth and Tom Rokicki and David R. Fuchs},
- date = {2021-08-26},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/mfware},
- url = {https://ctan.org/pkg/mfware},
- annotation = {A collection of programs (as web source) for processing the output
- of .},
-}
-
-@manual{ctan-mfwl,
- title = {The \texttt{MFwL} package},
- subtitle = {Making friends with \LaTeX{}},
- author = {Rohit Vishal Kumar},
- date = {2016-06-24},
- version = {2.00},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/MFwL},
- url = {https://ctan.org/pkg/mfwl},
-}
-
-@manual{ctan-mgltex,
- title = {The \texttt{mglTeX} package},
- subtitle = {High-quality graphics from MGL scripts embedded in \LaTeX{} documents},
- author = {Diego Sejas Viscarra and Alexey Balakin},
- date = {2022-05-03},
- version = {4.2},
- license = {gpl3,cc-by-sa-3},
- mirror = {https://mirror.ctan.org/graphics/mgltex},
- url = {https://ctan.org/pkg/mgltex},
-}
-
-@manual{ctan-mh,
- title = {The \texttt{mh} package},
- subtitle = {Stub for the (old) ‘mh’ bundle},
- author = {Morten Høgholm and Lars Madsen and Will Robertson and Joseph Wright},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- url = {https://ctan.org/pkg/mh},
- annotation = {The mh bundle was a series of packages to enhance the
- appearance of documents containing a lot of maths; the package
- were designed to support and extend the \LaTeX{}
-
- The packages (no longer distributed as a bundle) comprise:},
-}
-
-@manual{ctan-mhack,
- title = {The \texttt{mhack} package},
- subtitle = {Macros for marginal notes, in Plain \TeX{}},
- author = {Norman Walsh},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/mhack.tex},
- url = {https://ctan.org/pkg/mhack},
-}
-
-@manual{ctan-mhchem,
- title = {The \texttt{mhchem} package},
- subtitle = {Typeset chemical formulae/equations and H and P statements},
- author = {Martin Hensel},
- date = {2021-12-31},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mhchem},
- url = {https://ctan.org/pkg/mhchem},
-}
-
-@manual{ctan-mhequ,
- title = {The \texttt{mhequ} package},
- subtitle = {Multicolumn equations, tags, labels, sub-numbering},
- author = {Martin Hairer},
- date = {2022-11-09},
- version = {1.72},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mhequ},
- url = {https://ctan.org/pkg/mhequ},
-}
-
-@manual{ctan-mhs,
- title = {The \texttt{mhs} package},
- subtitle = {Historical mathematics},
- author = {K. Brix},
- date = {2017-05-30},
- version = {1.05i},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mhs},
- url = {https://ctan.org/pkg/mhs},
-}
-
-@manual{ctan-mhsetup,
- title = {The \texttt{mhsetup} package},
- subtitle = {The mathtools “setup” function},
- author = {Lars Madsen and {The \LaTeX{} Project Team} and Will Robertson and Joseph Wright and Morten Høgholm},
- date = {2021-04-12},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mathtools},
- url = {https://ctan.org/pkg/mhsetup},
-}
-
-@manual{ctan-mi-solns,
- title = {The \texttt{mi-solns} package},
- subtitle = {Extract solutions from exercises and quizzes},
- author = {Donald P. Story},
- date = {2019-01-12},
- version = {0.6},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mi-solns},
- url = {https://ctan.org/pkg/mi-solns},
-}
-
-@manual{ctan-miama,
- title = {The \texttt{miama} package},
- subtitle = {The Miama Nueva handwriting font with \LaTeX{} support},
- author = {Linus Romer},
- date = {2019-06-18},
- version = {1.1},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/miama},
- url = {https://ctan.org/pkg/miama},
-}
-
-@manual{ctan-microimp,
- title = {The \texttt{MicroIMP} package},
- subtitle = {A \TeX{}-based word processor},
- author = {{MicroPress}},
- date = {2016-06-24},
- version = {0.18},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/systems/win32/microimp},
- url = {https://ctan.org/pkg/microimp},
-}
-
-@manual{ctan-microtype-de,
- title = {The \texttt{microtype-de} package},
- subtitle = {Translation into German of the documentation of microtype},
- author = {Jenny Schröder and Sebastian Schwerdtfeger},
- date = {2019-11-19},
- version = {2.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/info/translations/microtype/de},
- url = {https://ctan.org/pkg/microtype-de},
-}
-
-@manual{ctan-microtype,
- title = {The \texttt{microtype} package},
- subtitle = {Subliminal refinements towards typographical perfection},
- author = {Robert Schlicht},
- date = {2023-03-07},
- version = {3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/microtype},
- url = {https://ctan.org/pkg/microtype},
-}
-
-@manual{ctan-mid2tex,
- title = {The \texttt{Mid2TeX/Free} package},
- subtitle = {Convert MIDI to MusicTeX input},
- author = {Andreas Köhler},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/mid2tex},
- url = {https://ctan.org/pkg/mid2tex},
-}
-
-@manual{ctan-midfloat,
- title = {The \texttt{midfloat} package},
- subtitle = {Mixing onecolumn and twocolumn modes at any place of page},
- author = {Sigitas Tolušis},
- date = {2021-10-11},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools},
- url = {https://ctan.org/pkg/midfloat},
-}
-
-@manual{ctan-midi2tex,
- title = {The \texttt{Midi2TeX/Free} package},
- subtitle = {Convert MIDI to MusicTeX input},
- author = {Hans Kuykens and Ad Verbruggen},
- date = {2016-06-24},
- version = {1.3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/midi2tex},
- url = {https://ctan.org/pkg/midi2tex},
-}
-
-@manual{ctan-midnight,
- title = {The \texttt{midnight} package},
- subtitle = {A set of useful macro tools},
- author = {Marcel van der Goot},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/midnight},
- url = {https://ctan.org/pkg/midnight},
-}
-
-@manual{ctan-midpage,
- title = {The \texttt{midpage} package},
- subtitle = {Environment for vertical centring},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/midpage},
- url = {https://ctan.org/pkg/midpage},
- annotation = {The environment will centre text, if immediately preceded and
- followed by .},
-}
-
-@manual{ctan-mif2xfig,
- title = {The \texttt{mif2xfig} package},
- subtitle = {Conversion between Frame Maker and Xfig},
- author = {Mikael Lundqvist},
- date = {2016-06-24},
- license = {noinfo},
- url = {https://ctan.org/pkg/mif2xfig},
-}
-
-@manual{ctan-miktex-portable,
- title = {The \texttt{miktex-portable} package},
- subtitle = {A version of MikTeX to carry around},
- author = {Christian Schenk},
- date = {2022-10-29},
- version = {22.10},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/win32/miktex/setup/windows-x64/basic-miktex-22.10-x64.exe},
- url = {https://ctan.org/pkg/miktex-portable},
- annotation = {The portable edition allows you to run MiKTeX from a portable storage device.
- Please note that there is no seperate installer. Just download the
- standard installer and rename it to .},
-}
-
-@manual{ctan-miktex,
- title = {The \texttt{miktex} package},
- subtitle = {A free \TeX{} distribution for MS-Windows},
- author = {Christian Schenk},
- date = {2022-08-04},
- version = {22.7},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/win32/miktex},
- url = {https://ctan.org/pkg/miktex},
-}
-
-@manual{ctan-miktex_update,
- title = {The \texttt{miktex\_update} package},
- subtitle = {A cygwin bash script for automatic updating and installing new packages of MiKTeX},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/miktex_update},
- url = {https://ctan.org/pkg/miktex_update},
- annotation = {The miktex\_update script offers automatic updating and installing of
- new packages of an existing
- installation. It supports direct connection with online repositories
- of the MiKTeX server network, as well as synchronizing a local repository
- (CTAN) with following update. In the end you should have an up-to-date
- and complete installation.},
-}
-
-@manual{ctan-mil,
- title = {The \texttt{mil} package},
- subtitle = {Samples from Math into \LaTeX{}},
- author = {George Grätzer},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/examples/mil},
- url = {https://ctan.org/pkg/mil},
-}
-
-@manual{ctan-mil3,
- title = {The \texttt{mil3} package},
- subtitle = {Samples from Math into \LaTeX{}, third edition},
- author = {George Grätzer},
- date = {2017-01-13},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/examples/mil3},
- url = {https://ctan.org/pkg/mil3},
-}
-
-@manual{ctan-miller,
- title = {The \texttt{miller} package},
- subtitle = {Typeset miller indices},
- author = {Harald Harders and Bjørn Pedersen},
- date = {2019-03-12},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/miller},
- url = {https://ctan.org/pkg/miller},
-}
-
-@manual{ctan-milog,
- title = {The \texttt{milog} package},
- subtitle = {A \LaTeX{} class for fulfilling the documentation duties
- according to the German minimum wage law MiLoG},
- author = {Josef Kleber},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/milog},
- url = {https://ctan.org/pkg/milog},
-}
-
-@manual{ctan-milstd,
- title = {The \texttt{milstd} package},
- subtitle = {Generate documents according to MIL STD 490},
- author = {Kent McPherson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/milstd},
- url = {https://ctan.org/pkg/milstd},
-}
-
-@manual{ctan-milsymb,
- title = {The \texttt{MilSymb} package},
- subtitle = {\LaTeX{} package for TikZ based drawing of military symbols as per NATO APP-6(C)},
- author = {Damian Crosby},
- date = {2020-03-15},
- version = {1.02},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/milsymb},
- url = {https://ctan.org/pkg/milsymb},
- annotation = {The package offers commands to draw military symbols as per
- .
- It has a set of commands for drawing all symbols found in the document
- up to the control measures, as well as support for custom non-standard symbols.
- Control measures are planned to be included in a future release.},
-}
-
-@manual{ctan-mimetex,
- title = {The \texttt{mimetex} package},
- subtitle = {Parse \LaTeX{} math expressions and emit gif or xbitmaps},
- author = {John Forkosh},
- date = {2021-09-15},
- version = {1.74},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/mimetex},
- url = {https://ctan.org/pkg/mimetex},
- annotation = {MimeTeX parses \LaTeX{} mathematics expressions, emitting either gif
- images or mime xbitmaps of them, rather than the usual \TeX{}
- DVI files. MimeTeX images are therefore easily inserted directly
- into html documents using a standard html img tag without
- intermediate dvi-to-gif conversion, and without storing lots
- of little gif image files, one file for each converted
- expression. This makes your web site and html documents more
- easily maintained. See
-
- for many examples demonstrating mimeTeX's features and usage.},
-}
-
-@manual{ctan-mindflow,
- title = {The \texttt{mindflow} package},
- subtitle = {Write your ideas in a clear way},
- author = {Jinwen XU},
- date = {2022-12-10},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mindflow},
- url = {https://ctan.org/pkg/mindflow},
-}
-
-@manual{ctan-minibox,
- title = {The \texttt{minibox} package},
- subtitle = {A simple type of box for \LaTeX{}},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {0.2a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minibox},
- url = {https://ctan.org/pkg/minibox},
-}
-
-@manual{ctan-minidocument,
- title = {The \texttt{minidocument} package},
- subtitle = {Creates miniature documents inside other \LaTeX{} documents},
- author = {Maurice Leclaire},
- date = {2018-01-07},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minidocument},
- url = {https://ctan.org/pkg/minidocument},
-}
-
-@manual{ctan-minifp,
- title = {The \texttt{minifp} package},
- subtitle = {Fixed-point real computations to 8 decimals},
- author = {Daniel H. Luecking},
- date = {2016-06-24},
- version = {0.96},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/minifp},
- url = {https://ctan.org/pkg/minifp},
-}
-
-@manual{ctan-miniltx,
- title = {The \texttt{miniltx} package},
- subtitle = {An abstract of \LaTeX{} facilities for use with Plain \TeX{}},
- author = {David Carlisle and Karl Berry},
- date = {2022-09-29},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/graphics/miniltx.tex},
- url = {https://ctan.org/pkg/miniltx},
- annotation = {Part of the
- collection which allows the use of \LaTeX{}’s graphics, colour,
- and picture mode commands in plain \TeX{} based formats.},
-}
-
-@manual{ctan-minim-hatching,
- title = {The \texttt{minim-hatching} package},
- subtitle = {Create tiling patterns with the minim-mp MetaPost processor},
- author = {Esger Renkema},
- date = {2022-03-03},
- version = {2022/1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/minim-hatching},
- url = {https://ctan.org/pkg/minim-hatching},
- annotation = {This is a small proof-of-concept library of tiling patterns for use with the
- MetaPost processor.},
-}
-
-@manual{ctan-minim-math,
- title = {The \texttt{minim-math} package},
- subtitle = {Extensive maths for LuaTeX},
- author = {Esger Renkema},
- date = {2023-03-06},
- version = {2023/1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/minim-math},
- url = {https://ctan.org/pkg/minim-math},
-}
-
-@manual{ctan-minim-mp,
- title = {The \texttt{minim-mp} package},
- subtitle = {Low-level mplib integration for LuaTeX},
- author = {Esger Renkema},
- date = {2023-03-06},
- version = {2023/1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/minim-mp},
- url = {https://ctan.org/pkg/minim-mp},
-}
-
-@manual{ctan-minim-pdf,
- title = {The \texttt{minim-pdf} package},
- subtitle = {Low-level PDF integration for LuaTeX},
- author = {Esger Renkema},
- date = {2023-03-06},
- version = {2023/1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/minim-pdf},
- url = {https://ctan.org/pkg/minim-pdf},
-}
-
-@manual{ctan-minim-xmp,
- title = {The \texttt{minim-xmp} package},
- subtitle = {Embed XMP metadata in PDF with LuaTeX},
- author = {Esger Renkema},
- date = {2023-03-06},
- version = {2023/1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/minim-xmp},
- url = {https://ctan.org/pkg/minim-xmp},
-}
-
-@manual{ctan-minim,
- title = {The \texttt{minim} package},
- subtitle = {A modern plain format for the LuaTeX engine},
- author = {Esger Renkema},
- date = {2023-03-06},
- version = {2023/1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/minim},
- url = {https://ctan.org/pkg/minim},
-}
-
-@manual{ctan-minimal,
- title = {The \texttt{minimal} package},
- subtitle = {A trivial class, for use when testing},
- author = {{The \LaTeX{} Project Team}},
- date = {2019-10-04},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/minimal},
-}
-
-@manual{ctan-minimalist,
- title = {The \texttt{minimalist} package},
- subtitle = {Write your articles or books in a simple and clear way},
- author = {Jinwen XU},
- date = {2023-03-07},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minimalist},
- url = {https://ctan.org/pkg/minimalist},
-}
-
-@manual{ctan-minion2newtx,
- title = {The \texttt{minion2newtx} package},
- subtitle = {Enable use of Minion Pro with newtx},
- author = {Michael Sharpe},
- date = {2020-05-03},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/minion2newtx},
- url = {https://ctan.org/pkg/minion2newtx},
- annotation = {The package is an add-on to the newtxmath package, providing
- metric files that allow use of the Roman and Greek letters from
- MinionPro Version 2 within
- using the ‘minion’ option.},
-}
-
-@manual{ctan-minionpro,
- title = {The \texttt{minionpro} package},
- subtitle = {\LaTeX{} support for Adobe MinionPro fonts},
- author = {Achim Blumensath},
- date = {2016-06-24},
- version = {2.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/minionpro},
- url = {https://ctan.org/pkg/minionpro},
-}
-
-@manual{ctan-minipage-marginpar,
- title = {The \texttt{minipage-marginpar} package},
- subtitle = {Minipages with marginal notes},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minipage-marginpar},
- url = {https://ctan.org/pkg/minipage-marginpar},
-}
-
-@manual{ctan-miniplot,
- title = {The \texttt{MiniPlot} package},
- subtitle = {A package for easy figure arrangement},
- author = {Tobias Wahl},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/miniplot},
- url = {https://ctan.org/pkg/miniplot},
-}
-
-@manual{ctan-minitoc,
- title = {The \texttt{minitoc} package},
- subtitle = {Produce a table of contents for each chapter, part or section},
- author = {Jean-Pierre Drucbert},
- date = {2021-10-31},
- version = {62},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minitoc},
- url = {https://ctan.org/pkg/minitoc},
-}
-
-@manual{ctan-minorrevision,
- title = {The \texttt{minorrevision} package},
- subtitle = {Quote and refer to a manuscript for minor revisions},
- author = {Matthieu Guillaumin},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minorrevision},
- url = {https://ctan.org/pkg/minorrevision},
-}
-
-@manual{ctan-minted,
- title = {The \texttt{minted} package},
- subtitle = {Highlighted source code for \LaTeX{}},
- author = {Geoffrey Poore and Konrad Rudolph},
- date = {2022-12-12},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minted},
- url = {https://ctan.org/pkg/minted},
- annotation = {The package that facilitates expressive syntax highlighting in
- \LaTeX{} using the powerful Pygments library. The package also
- provides options to customize the highlighted source code output
- using .},
-}
-
-@manual{ctan-mintspirit,
- title = {The \texttt{mintspirit} package},
- subtitle = {\LaTeX{} support for MintSpirit font families},
- author = {Bob Tennent},
- date = {2022-09-22},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/mintspirit},
- url = {https://ctan.org/pkg/mintspirit},
- annotation = {The package provides , ,
- and support for the MintSpirit
- and MintSpiritNo2 families of fonts, designed by Hirwen
- Harendal. MintSpirit was originally designed for use as a system
- font on a Linux Mint system. The No. 2 variant provides more
- conventional shapes for some glyphs.},
-}
-
-@manual{ctan-minutes,
- title = {The \texttt{minutes} package},
- subtitle = {Typeset the minutes of meetings},
- author = {Knut Lickert},
- date = {2016-09-30},
- version = {1.8f},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/minutes},
- url = {https://ctan.org/pkg/minutes},
-}
-
-@manual{ctan-mirr,
- title = {The \texttt{mirr} package},
- subtitle = {PostScript mirror header (for dvips)},
- author = {{BOP}},
- date = {2016-11-04},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/TeX-PS/mirr.hd},
- url = {https://ctan.org/pkg/mirr},
- annotation = {A small header for making a mirror of
- output files.},
-}
-
-@manual{ctan-mismath,
- title = {The \texttt{mismath} package},
- subtitle = {Miscellaneous mathematical macros},
- author = {Antoine Missier},
- date = {2023-03-05},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mismath},
- url = {https://ctan.org/pkg/mismath},
-}
-
-@manual{ctan-missaali,
- title = {The \texttt{missaali} package},
- subtitle = {A late medieval OpenType textura font},
- author = {Tommi Syrjänen},
- date = {2021-12-10},
- version = {2.0},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/missaali},
- url = {https://ctan.org/pkg/missaali},
-}
-
-@manual{ctan-mitpress,
- title = {The \texttt{mitpress} package},
- subtitle = {Typeset documents for MIT Press},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/mitpress.sty},
- url = {https://ctan.org/pkg/mitpress},
-}
-
-@manual{ctan-mk,
- title = {The \texttt{mk} package},
- subtitle = {A \TeX{} and \LaTeX{} maker},
- author = {Wybo H. Dekker},
- date = {2018-04-12},
- version = {3.07},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/latex_maker},
- url = {https://ctan.org/pkg/mk},
- annotation = {mk is a Bash script that, in close collaboration with
- (short for View and Print
- PDF/PostScript), is helpful in the cyclic process of editing,
- compiling, viewing, and printing a \LaTeX{}, \XeLaTeX{}, or plain
- \TeX{} document. Essentially, mk uses
- for compilation,
- for viewing and printing.},
-}
-
-@manual{ctan-mkbangtex,
- title = {The \texttt{mkbangtex} package},
- subtitle = {A preprocessor for BangTeX},
- author = {Koushik Ray},
- date = {2020-06-07},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/bengali/mkbangtex},
- url = {https://ctan.org/pkg/mkbangtex},
-}
-
-@manual{ctan-mkbib,
- title = {The \texttt{mkbib} package},
- subtitle = {BibTeX file creator},
- author = {Rudra Banerjee},
- date = {2016-06-24},
- version = {2.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/mkbib},
- url = {https://ctan.org/pkg/mkbib},
- annotation = {Mkbib is a generator of BibTeX files; it is interactive,
- using ; the user may search
-
- from within mkbib.},
-}
-
-@manual{ctan-mkjobtexmf,
- title = {The \texttt{mkjobtexmf} package},
- subtitle = {Generate a texmf tree for a particular job},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {0.8},
- license = {artistic},
- mirror = {https://mirror.ctan.org/support/mkjobtexmf},
- url = {https://ctan.org/pkg/mkjobtexmf},
-}
-
-@manual{ctan-mkpattern,
- title = {The \texttt{mkpattern} package},
- subtitle = {A utility for making hyphenation patterns},
- author = {Javier Múgica de Rivera},
- date = {2019-03-02},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/utils/mkpattern},
- url = {https://ctan.org/pkg/mkpattern},
-}
-
-@manual{ctan-mkpic,
- title = {The \texttt{mkpic} package},
- subtitle = {Perl interface to mfpic},
- author = {Wybo H. Dekker},
- date = {2016-06-24},
- version = {1.02},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/mkpic},
- url = {https://ctan.org/pkg/mkpic},
- annotation = {mkpic provides an easy interface for making small pictures with
- .
- To this end you create an input file consisting of commands,
- one per line, with space separated parameters
- (or you modify the DATA section of the mkpic script,
- which is used if you run it without an input file).
- For an extensive description see the file ,
- which is part of the distribution.},
-}
-
-@manual{ctan-mkpkfontdir,
- title = {The \texttt{mkpkfontdir} package},
- subtitle = {Manipulate TDS directories for PK fonts},
- author = {Yves Arrouye},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/mkpkfontdir},
- url = {https://ctan.org/pkg/mkpkfontdir},
-}
-
-@manual{ctan-mkstmp_pro,
- title = {The \texttt{mkstmp} package},
- subtitle = {Provides a simple workflow for creating custom stamps},
- author = {Donald P. Story},
- date = {2018-06-12},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mkstmpdad},
- url = {https://ctan.org/pkg/mkstmp_pro},
-}
-
-@manual{ctan-mla-paper,
- title = {The \texttt{mla-paper} package},
- subtitle = {Proper MLA formatting},
- author = {Ryan Aycock and Steven Wheelwright},
- date = {2019-05-04},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mla-paper},
- url = {https://ctan.org/pkg/mla-paper},
- annotation = {The package formats articles using the
- style
- (“MLA” = “Modern Language Association”).
- The aim is that students and other academics in the humanities
- should be able to typeset their materials, properly, with
- minimal effort on their part.},
-}
-
-@manual{ctan-mla,
- title = {The \texttt{mla} package},
- subtitle = {MLA BibTeX styles},
- author = {Thomas Weissert and Caitlin Shaw},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/mla},
- url = {https://ctan.org/pkg/mla},
-}
-
-@manual{ctan-mlacls,
- title = {The \texttt{mlacls} package},
- subtitle = {\LaTeX{} class for MLA papers},
- author = {Seth Price},
- date = {2021-09-14},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mlacls},
- url = {https://ctan.org/pkg/mlacls},
-}
-
-@manual{ctan-mlbib,
- title = {The \texttt{mlbib} package},
- subtitle = {Support for multilingual bibliographies},
- author = {Wenzel Matiaske},
- date = {2018-01-06},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mlbib},
- url = {https://ctan.org/pkg/mlbib},
-}
-
-@manual{ctan-mleftright,
- title = {The \texttt{mleftright} package},
- subtitle = {Variants of delimiters that act as maths open/close},
- author = {Heiko Oberdiek},
- date = {2019-12-06},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mleftright},
- url = {https://ctan.org/pkg/mleftright},
- annotation = {The package defines variants and
- of and , that make the delimiters
- act as and . These commands
- address spacing difficulties in subformulas.},
-}
-
-@manual{ctan-mlist,
- title = {The \texttt{mlist} package},
- subtitle = {Logical markup for lists},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {0.6a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mlist},
- url = {https://ctan.org/pkg/mlist},
-}
-
-@manual{ctan-mlmath,
- title = {The \texttt{MLMath} package},
- subtitle = {Mathematical notation for Machine Learning},
- author = {Zheng Ma},
- date = {2020-06-23},
- version = {1.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mlmath},
- url = {https://ctan.org/pkg/mlmath},
-}
-
-@manual{ctan-mlmodern,
- title = {The \texttt{MLModern} package},
- subtitle = {A blacker Type 1 version of Computer Modern, with multilingual support},
- author = {Daniel Benjamin Miller},
- date = {2021-01-18},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/mlmodern},
- url = {https://ctan.org/pkg/mlmodern},
-}
-
-@manual{ctan-mltex-ltx,
- title = {The \texttt{mltex-ltx} package},
- subtitle = {\LaTeX{} support for MLTeX},
- author = {Bernd Raichle},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mltex},
- url = {https://ctan.org/pkg/mltex-ltx},
- annotation = {Support for , the multilingual \TeX{}
- extension from Michael J. Ferguson.},
-}
-
-@manual{ctan-mltex,
- title = {The \texttt{mltex} package},
- subtitle = {The MLTeX system},
- author = {Bernd Raichle and Michael J. Ferguson},
- date = {2016-06-24},
- version = {2.2},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/generic/mltex},
- url = {https://ctan.org/pkg/mltex},
-}
-
-@manual{ctan-mluexercise,
- title = {The \texttt{mluexercise} package},
- subtitle = {Exercises/homework at the Martin Luther University Halle-Wittenberg},
- author = {{Fachschaftsrat Mathematik/Informatik Uni Halle}},
- date = {2020-11-25},
- version = {2.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mluexercise},
- url = {https://ctan.org/pkg/mluexercise},
-}
-
-@manual{ctan-mm,
- title = {The \texttt{mm} package},
- subtitle = {A jiffy Multiple Master tool},
- author = {Michel Goossens and Sebastian Rahtz},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/mm},
- url = {https://ctan.org/pkg/mm},
- annotation = {A set of simple scripts and programs for deriving instances from
- Adobe Multiple Master fonts for use with
- . The scripts use
- to derive metrics,
- etc.},
-}
-
-@manual{ctan-mma2ltx,
- title = {The \texttt{mma2ltx} package},
- subtitle = {Use Mathematica graphics in a \LaTeX{} document},
- author = {Giuseppe Ghibo},
- date = {2018-01-06},
- version = {1.23},
- license = {shareware},
- mirror = {https://mirror.ctan.org/graphics/mma2ltx},
- url = {https://ctan.org/pkg/mma2ltx},
-}
-
-@manual{ctan-mmafm,
- title = {The \texttt{mmafm} package},
- subtitle = {Font metrics for multiple-master font},
- author = {Eddie Kohler},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/lcdf-typetools},
- url = {https://ctan.org/pkg/mmafm},
-}
-
-@manual{ctan-mmap,
- title = {The \texttt{mmap} package},
- subtitle = {Include CMap resources in PDF files from pdfTeX},
- author = {Ross Moore},
- date = {2016-06-24},
- version = {1.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mmap},
- url = {https://ctan.org/pkg/mmap},
- annotation = {The package is an extension of with
- improved flexibility and coverage, including the ability to
- re-encode Knuth’s basic mathematics fonts.},
-}
-
-@manual{ctan-mmpfb,
- title = {The \texttt{mmpfb} package},
- subtitle = {Create instance of multiple-master font},
- author = {Eddie Kohler},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/lcdf-typetools},
- url = {https://ctan.org/pkg/mmpfb},
-}
-
-@manual{ctan-mmtools,
- title = {The \texttt{mmtools} package},
- subtitle = {Multiple master fonts tools},
- author = {Eddie Kohler},
- date = {2017-04-18},
- version = {1.13},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/utilities/mmtools},
- url = {https://ctan.org/pkg/mmtools},
-}
-
-@manual{ctan-mnhyphn,
- title = {The \texttt{mnhyphn} package},
- subtitle = {Hyphenation patterns for Mongolian},
- author = {Dorjgotov Batumongke},
- date = {2018-01-06},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/mnhyphn.tex},
- url = {https://ctan.org/pkg/mnhyphn},
- annotation = {Serves Mongolian written using Cyrillic letters, using T2A-encoded
- output. (Note that the bundle
- provides hyphenation patterns for its own encoding setup.)},
-}
-
-@manual{ctan-mnotes,
- title = {The \texttt{mnotes} package},
- subtitle = {Margin annotation for collaborative writing},
- author = {Saturnino Luz},
- date = {2022-05-25},
- version = {0.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mnotes},
- url = {https://ctan.org/pkg/mnotes},
-}
-
-@manual{ctan-mnras-plain,
- title = {The \texttt{mnras-plain} package},
- subtitle = {Plain \TeX{} macros for MNRAS},
- author = {Alison Woollatt},
- date = {2016-06-24},
- version = {1.6},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/mnras},
- url = {https://ctan.org/pkg/mnras-plain},
-}
-
-@manual{ctan-mnras,
- title = {The \texttt{mnras} package},
- subtitle = {Monthly Notices of the Royal Astronomical Society},
- author = {{Royal Astronomical Society} and Nadine Thompson and Kim Clube},
- date = {2020-07-02},
- version = {3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mnras},
- url = {https://ctan.org/pkg/mnras},
-}
-
-@manual{ctan-mnsymbol,
- title = {The \texttt{MnSymbol} package},
- subtitle = {Mathematical symbol font for Adobe MinionPro},
- author = {Achim Blumensath},
- date = {2019-06-09},
- version = {1.4},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/mnsymbol},
- url = {https://ctan.org/pkg/mnsymbol},
-}
-
-@manual{ctan-mnttex,
- title = {The \texttt{mnttex} package},
- subtitle = {Tools for the "The Secret History of the Mongols"},
- author = {Oliver Corff},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/mongolian/MNT},
- url = {https://ctan.org/pkg/mnttex},
-}
-
-@manual{ctan-modeles-factures-belges-assocs,
- title = {The \texttt{modeles-factures-belges-assocs} package},
- subtitle = {Generate invoices for Belgian non-profit organizations},
- author = {Robert Sebille and Rudy Cassart},
- date = {2019-02-12},
- version = {1.0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/modeles-factures-belges-assocs},
- url = {https://ctan.org/pkg/modeles-factures-belges-assocs},
- annotation = {This package provides templates and a file
- for generating invoices for Belgian non-profit organizations.},
-}
-
-@manual{ctan-moderncv,
- title = {The \texttt{moderncv} package},
- subtitle = {A modern curriculum vitae class},
- author = {Xavier Danaux and Stephan Lachnit},
- date = {2022-02-21},
- version = {2.3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/moderncv},
- url = {https://ctan.org/pkg/moderncv},
-}
-
-@manual{ctan-modernposter,
- title = {The \texttt{modernposter} package},
- subtitle = {A modern \LaTeX{} poster theme},
- author = {David Derler},
- date = {2018-04-03},
- version = {1.03.1},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/modernposter},
- url = {https://ctan.org/pkg/modernposter},
- annotation = {This class extends the
- class in that it adds support to easily create posters without
- the need for taking care of the layout at all. It allows to use
- to generate a fancy header containing the
- title information and also provides macros to position various
- different types of text boxes in a two-column layout. The color
- scheme is inspired by the theme.},
-}
-
-@manual{ctan-moderntimeline,
- title = {The \texttt{moderntimeline} package},
- subtitle = {Timelines for use with moderncv},
- author = {Raphaël Pinson},
- date = {2020-06-11},
- version = {0.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/moderntimeline},
- url = {https://ctan.org/pkg/moderntimeline},
- annotation = {The package provides commands to configure and to draw time line
- diagrams; such diagrams are designed to fit into
- documents written using the
- class.},
-}
-
-@manual{ctan-modes,
- title = {The \texttt{modes} package},
- subtitle = {A collection of Metafont mode\_def’s},
- author = {Karl Berry},
- date = {2022-01-16},
- version = {4.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/modes},
- url = {https://ctan.org/pkg/modes},
-}
-
-@manual{ctan-modguide,
- title = {The \texttt{modguide} package},
- subtitle = {The rules about modifying \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2019-10-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/modguide},
-}
-
-@manual{ctan-modiagram,
- title = {The \texttt{modiagram} package},
- subtitle = {Drawing molecular orbital diagrams},
- author = {Clemens Niederberger},
- date = {2020-11-08},
- version = {0.3a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/modiagram},
- url = {https://ctan.org/pkg/modiagram},
-}
-
-@manual{ctan-modref,
- title = {The \texttt{modref} package},
- subtitle = {Customisation of cross-references in \LaTeX{}},
- author = {Niel de Beaudrap},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/modref},
- url = {https://ctan.org/pkg/modref},
-}
-
-@manual{ctan-modroman,
- title = {The \texttt{modroman} package},
- subtitle = {Write numbers in lower case roman numerals},
- author = {Yvon Henel},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/modroman},
- url = {https://ctan.org/pkg/modroman},
- annotation = {This package provides only two macros viz.
- which writes the number given as argument in lower case roman
- numeral with a ‘j’ instead of a
- ‘i’ as the final letter of numbers greater than 1
- and which writes the value of a
- counter in the same way. You use the first in the same way as
- the \TeX{} primitive and the second as \LaTeX{}
- command . The default option is
- ‘vpourv’ with which 5 is
- ‘translated’ as ‘v’ and option
- ‘upourv’ whith which the same 5 is given as
- ‘u’.},
-}
-
-@manual{ctan-modular,
- title = {The \texttt{modular} package},
- subtitle = {Relative section headings for modular documents},
- author = {Daniel Thomas Sank},
- date = {2017-06-05},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/modular},
- url = {https://ctan.org/pkg/modular},
-}
-
-@manual{ctan-modulus,
- title = {The \texttt{modulus} package},
- subtitle = {A non-destructive modulus and integer quotient operator for \TeX{}},
- author = {Donald P. Goodman},
- date = {2018-05-05},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/modulus},
- url = {https://ctan.org/pkg/modulus},
-}
-
-@manual{ctan-mol2chemfig,
- title = {The \texttt{mol2chemfig} package},
- subtitle = {Convert chemical structures from MDL molfile format
- to chemfig source code},
- author = {Michael Palmer},
- date = {2023-01-17},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/mol2chemfig},
- url = {https://ctan.org/pkg/mol2chemfig},
- annotation = {The package contains , the Lua web client
- version of mol2chemfig. It is used from the command line but
- calls the mol2chemfig server for every request, to convert
- chemical structures from MDL molfile format or SMILES format to
- \TeX{} format for processing using .},
-}
-
-@manual{ctan-mongolian-babel,
- title = {The \texttt{mongolian-babel} package},
- subtitle = {A language definition file for Mongolian in Babel},
- author = {Dorjgotov Batumongke},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/mongolian/babel},
- url = {https://ctan.org/pkg/mongolian-babel},
-}
-
-@manual{ctan-monofill,
- title = {The \texttt{monofill} package},
- subtitle = {Alignment of plain text},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/monofill},
- url = {https://ctan.org/pkg/monofill},
-}
-
-@manual{ctan-monster,
- title = {The \texttt{monster} package},
- subtitle = {Obsolete name for Frankenstein},
- author = {Matt Swift},
- date = {2016-06-24},
- license = {gpl},
- url = {https://ctan.org/pkg/monster},
- annotation = {This is an (obsolete) 8+3-compliant name for the
- bundle.},
-}
-
-@manual{ctan-montex,
- title = {The \texttt{montex} package},
- subtitle = {Mongolian \LaTeX{}},
- author = {Oliver Corff},
- date = {2017-10-29},
- version = {IVu.04.092},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/mongolian/montex},
- url = {https://ctan.org/pkg/montex},
-}
-
-@manual{ctan-montserrat,
- title = {The \texttt{montserrat} package},
- subtitle = {Montserrat sans serif, otf and pfb, with \LaTeX{} support files},
- author = {Michael Sharpe},
- date = {2019-11-08},
- version = {1.03},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/montserrat},
- url = {https://ctan.org/pkg/montserrat},
-}
-
-@manual{ctan-moodle,
- title = {The \texttt{moodle} package},
- subtitle = {Generating Moodle quizzes via \LaTeX{}},
- author = {Anders O. F. Hendrickson and Matthieu Guerquin-Kern},
- 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},
-}
-
-@manual{ctan-moonphase,
- title = {The \texttt{moonphase} package},
- subtitle = {Font for representing the phases of the moon},
- author = {Stanislav Brabec},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/moonphase},
- url = {https://ctan.org/pkg/moonphase},
-}
-
-@manual{ctan-moredefs,
- title = {The \texttt{moredefs} package},
- subtitle = {\LaTeX{} defining, expansion, and debugging commands},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/moredefs},
-}
-
-@manual{ctan-moreenum,
- title = {The \texttt{moreenum} package},
- subtitle = {More enumeration options},
- author = {Seamus Bradley},
- date = {2016-06-24},
- version = {1.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/moreenum},
- url = {https://ctan.org/pkg/moreenum},
-}
-
-@manual{ctan-morefloats,
- title = {The \texttt{morefloats} package},
- subtitle = {Increase the number of simultaneous \LaTeX{} floats},
- author = {Don Hosek and Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.0h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/morefloats},
- url = {https://ctan.org/pkg/morefloats},
-}
-
-@manual{ctan-morehelp,
- title = {The \texttt{morehelp} package},
- subtitle = {Improve \LaTeX{} error messages},
- author = {Olaf Kummer},
- date = {2019-06-21},
- version = {0.1alpha},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/morehelp},
- url = {https://ctan.org/pkg/morehelp},
-}
-
-@manual{ctan-morehype,
- title = {The \texttt{morehype} package},
- subtitle = {Hypertext tools for use with \LaTeX{}},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {r0.83},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/morehype},
- url = {https://ctan.org/pkg/morehype},
-}
-
-@manual{ctan-moresize,
- title = {The \texttt{moresize} package},
- subtitle = {Allows font sizes up to 35.83pt},
- author = {Christian Cornelssen},
- date = {2016-06-24},
- version = {1.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/moresize},
- url = {https://ctan.org/pkg/moresize},
- annotation = {A package for using font sizes up to 35.88pt,
- for example with the EC fonts. New commands and
- for selecting font sizes are provided together with
- some options working around current \LaTeX{}2e shortcomings
- in using big font sizes. The package also provides options
- for improving the typesetting of paragraphs (or headlines)
- with embedded math expressions at font sizes above 17.28pt.},
-}
-
-@manual{ctan-moreverb,
- title = {The \texttt{moreverb} package},
- subtitle = {Extended verbatim},
- author = {Robin Fairbairns and Angus Duggan and Rainer Schöpf and Victor Eijkhout and David Carlisle},
- date = {2018-09-14},
- version = {2.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/moreverb},
- url = {https://ctan.org/pkg/moreverb},
-}
-
-@manual{ctan-morewrites,
- title = {The \texttt{morewrites} package},
- subtitle = {Always room for a new write stream},
- author = {Bruno Le Floch},
- date = {2018-12-29},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/morewrites},
- url = {https://ctan.org/pkg/morewrites},
-}
-
-@manual{ctan-morisawa,
- title = {The \texttt{morisawa} package},
- subtitle = {Enables selection of 5 standard Japanese fonts for p\LaTeX{} + dvips},
- author = {{Japanese \TeX{} Development Community}},
- date = {2021-11-15},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/morisawa},
- url = {https://ctan.org/pkg/morisawa},
- annotation = {The package enables selection of 5 standard Japanese fonts
- for p\LaTeX{} + dvips. It was originally written by
- Haruhiko Okumura as part of bundle,
- and the TFM/VF files were previously distributed as part of the
- package.},
-}
-
-@manual{ctan-morse,
- title = {The \texttt{morse} package},
- subtitle = {Support for printing Morse code signs},
- author = {Udo Heyl},
- date = {2016-06-24},
- version = {1.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/morse},
- url = {https://ctan.org/pkg/morse},
-}
-
-@manual{ctan-movie15,
- title = {The \texttt{movie15} package},
- subtitle = {Multimedia inclusion package},
- author = {Alexander Grahn},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/movie15},
- url = {https://ctan.org/pkg/movie15},
-}
-
-@manual{ctan-mp3d,
- title = {The \texttt{threed} package},
- subtitle = {3D animations},
- author = {Denis B. Roegel},
- date = {2016-06-24},
- version = {1.34},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mp3d},
- url = {https://ctan.org/pkg/mp3d},
- annotation = {Create animations of 3-dimensional objects (such as polyhedra)
- in .},
-}
-
-@manual{ctan-mparhack,
- title = {The \texttt{mparhack} package},
- subtitle = {Work around a \LaTeX{} bug in marginpars},
- author = {Stefan Ulrich and Ulrike Fischer},
- date = {2023-03-09},
- version = {1.5},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mparhack},
- url = {https://ctan.org/pkg/mparhack},
- annotation = {Works around the \LaTeX{} bug that s will
- sometimes come out at the wrong margin.},
-}
-
-@manual{ctan-mparrows,
- title = {The \texttt{mparrows} package},
- subtitle = {MetaPost module with different types of arrow heads},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {0.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mparrows},
- url = {https://ctan.org/pkg/mparrows},
- annotation = {A package to provide different types of arrow heads to be used with
- MetaPost commands and commands.},
-}
-
-@manual{ctan-mpattern,
- title = {The \texttt{mpattern} package},
- subtitle = {Patterns in MetaPost},
- author = {Piotr Bolek},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mpattern},
- url = {https://ctan.org/pkg/mpattern},
-}
-
-@manual{ctan-mpcolornames,
- title = {The \texttt{mpcolornames} package},
- subtitle = {Extend list of predefined colour names for MetaPost},
- author = {Stephan Hennig},
- date = {2018-01-06},
- version = {0.20},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mpcolornames},
- url = {https://ctan.org/pkg/mpcolornames},
- annotation = {The format
- provides only five built-in colour names (variables), all of which
- are defined in the RGB model: red, green and blue for the primary
- colours and black and white. The package makes more than 500
- colour names from different colour sets in different colour models
- available to MetaPost. Colour sets include X11, SVG, DVIPS and
- specifications.},
-}
-
-@manual{ctan-mpdinbrief,
- title = {The \texttt{mpdinbrief} package},
- subtitle = {An enhanced version of dinbrief},
- author = {Markus Pilzecker},
- date = {2016-06-24},
- version = {1.66},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mpdinbrief},
- url = {https://ctan.org/pkg/mpdinbrief},
- annotation = {A minor enhancement of ,
- implementing (as its parent package does) the letter layout rules of DIN
- (Deutsches Institut für Normung, German standardisation institute).},
-}
-
-@manual{ctan-mpedit,
- title = {The \texttt{MPEdit} package},
- subtitle = {MetaPost text editor for Win32},
- author = {Petr Vabishchevich},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/tools/MPEdit},
- url = {https://ctan.org/pkg/mpedit},
-}
-
-@manual{ctan-mpfonts,
- title = {The \texttt{mpfonts} package},
- subtitle = {Computer Modern Type 3 fonts converted using MetaPost},
- author = {Daniel Benjamin Miller},
- date = {2020-02-04},
- version = {},
- license = {knuth,lppl1.3c,ofl,other-free,pd},
- mirror = {https://mirror.ctan.org/fonts/mpfonts},
- url = {https://ctan.org/pkg/mpfonts},
-}
-
-@manual{ctan-mpgraphics,
- title = {The \texttt{mpgraphics} package},
- subtitle = {Process and display MetaPost figures inline},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mpgraphics},
- url = {https://ctan.org/pkg/mpgraphics},
-}
-
-@manual{ctan-mpman-ru,
- title = {The \texttt{mpman-ru} package},
- subtitle = {A Russian translation of the MetaPost manual},
- author = {John Hobby and Vladimir Lidovski},
- date = {2016-06-24},
- version = {1.004},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/metapost/doc/russian/mpman-ru},
- url = {https://ctan.org/pkg/mpman-ru},
- annotation = {A translation of the user manual, as distributed with
- itself.},
-}
-
-@manual{ctan-mpostinl,
- title = {The \texttt{mpostinl} package},
- subtitle = {Embed MetaPost figures within \LaTeX{} documents},
- author = {Niklas Beisert},
- date = {2018-12-31},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mpostinl},
- url = {https://ctan.org/pkg/mpostinl},
-}
-
-@manual{ctan-mpstoeps,
- title = {The \texttt{MPStoEPS} package},
- subtitle = {A convertor from MetaPost output to Encapsulated PostScript},
- author = {Troy L. Henderson},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/tools/mpstoeps},
- url = {https://ctan.org/pkg/mpstoeps},
-}
-
-@manual{ctan-mptrees,
- title = {The \texttt{mptrees} package},
- subtitle = {Probability trees with MetaPost},
- author = {Olivier Péault},
- date = {2021-11-02},
- version = {21.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mptrees},
- url = {https://ctan.org/pkg/mptrees},
-}
-
-@manual{ctan-mrcheckbib,
- title = {The \texttt{mrcheckbib} package},
- subtitle = {A BibTeX file verification tool},
- author = {John Cagnol},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/mrcheckbib},
- url = {https://ctan.org/pkg/mrcheckbib},
-}
-
-@manual{ctan-mrecog,
- title = {The \texttt{mrecog} package},
- subtitle = {Recognise un-escaped command names in maths},
- author = {Robert H Wentworth},
- date = {2016-06-24},
- version = {0.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/mrecog.tex},
- url = {https://ctan.org/pkg/mrecog},
-}
-
-@manual{ctan-ms,
- title = {The \texttt{ms} package},
- subtitle = {Various \LaTeX{} packages by Martin Schröder},
- author = {Martin Schröder and Marei Peischl},
- date = {2021-01-19},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ms},
- url = {https://ctan.org/pkg/ms},
-}
-
-@manual{ctan-msc,
- title = {The \texttt{msc} package},
- subtitle = {Draw MSC diagrams},
- author = {Ton van Deursen and Victor Bos and Sjouke Mauw and Reynaldo Gil Pons},
- date = {2022-05-13},
- version = {2.00},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/msc},
- url = {https://ctan.org/pkg/msc},
-}
-
-@manual{ctan-msg,
- title = {The \texttt{msg} package},
- subtitle = {A package for \LaTeX{} localisation},
- author = {Bernard Gaulle},
- date = {2019-01-02},
- version = {0.51},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/msg},
- url = {https://ctan.org/pkg/msg},
-}
-
-@manual{ctan-mslapa,
- title = {The \texttt{mslapa} package},
- subtitle = {Michael Landy’s APA citation style},
- author = {Michael S. Landy},
- date = {2019-12-27},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mslapa},
- url = {https://ctan.org/pkg/mslapa},
-}
-
-@manual{ctan-msu-thesis,
- title = {The \texttt{msu-thesis} package},
- subtitle = {Class for Michigan State University Master’s and PhD theses},
- author = {Alan Munn},
- date = {2023-01-04},
- version = {4.0b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/msu-thesis},
- url = {https://ctan.org/pkg/msu-thesis},
-}
-
-@manual{ctan-msx2msa,
- title = {The \texttt{msx2msa} package},
- subtitle = {Simulate msxm and msym fonts using msam and msbm},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/vf-files/msx2msa},
- url = {https://ctan.org/pkg/msx2msa},
-}
-
-@manual{ctan-msym,
- title = {The \texttt{msym} package},
- subtitle = {A partial implementation of the old msym10 font},
- author = {Berthold K. P. Horn},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/msym},
- url = {https://ctan.org/pkg/msym},
-}
-
-@manual{ctan-mt11p,
- title = {The \texttt{mt11p} package},
- subtitle = {Use MathTime complete under \LaTeX{}},
- author = {Drahoslav Lím},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/mt11p},
- url = {https://ctan.org/pkg/mt11p},
-}
-
-@manual{ctan-mtbe,
- title = {The \texttt{mtbe} package},
- subtitle = {Macros for "Mathematical \TeX{} by Example"},
- author = {Arvind Borde},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/mtbe},
- url = {https://ctan.org/pkg/mtbe},
- annotation = {Various groups of macros for typesetting the book. In particular,
- macros for dealing with the
- fonts that
- replace Knuth's own ().},
-}
-
-@manual{ctan-mtex,
- title = {The \texttt{mtex} package},
- subtitle = {The pioneering music-in-TeX macros},
- author = {Andrea Steinbach and Angelika Schofer},
- date = {2018-01-06},
- version = {0.92},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/mtex},
- url = {https://ctan.org/pkg/mtex},
- annotation = {This package, MuTeX (as it was originally known) the humble base
- by which both and
- (indirectly) were inspired.},
-}
-
-@manual{ctan-mtgreek,
- title = {The \texttt{mtgreek} package},
- subtitle = {Use italic and upright greek letters with mathtime},
- author = {Karsten Tinnefeld},
- date = {2016-06-24},
- version = {1.1+},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mtgreek},
- url = {https://ctan.org/pkg/mtgreek},
- annotation = {This package is an add-on to the
-
- a style to provide \TeX{} support for the use of the MathTime(tm)
- fonts (formerly distributed by YandY, Inc.). The MathTime
- package has uppercase Greek letters hardwired to be upright and
- only upright; this package provides a switch to choose between
- the two kinds of Greek uppercase letters.},
-}
-
-@manual{ctan-mtp2lite,
- title = {The \texttt{mtp2lite} package},
- subtitle = {Subset of MathTime Pro 2 font set},
- author = {Michael Spivak},
- date = {2017-04-18},
- version = {2 lite},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/mtp2lite},
- url = {https://ctan.org/pkg/mtp2lite},
-}
-
-@manual{ctan-mucproc,
- title = {The \texttt{mucproc} package},
- subtitle = {Conference proceedings for the German MuC-conference},
- author = {Marei Peischl},
- date = {2017-04-18},
- version = {1.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mucproc},
- url = {https://ctan.org/pkg/mucproc},
-}
-
-@manual{ctan-mugsthesis,
- title = {The \texttt{mugsthesis} package},
- subtitle = {Thesis class complying with Marquette University Graduate School requirements},
- author = {Paul D. Gessler},
- date = {2022-09-01},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mugsthesis},
- url = {https://ctan.org/pkg/mugsthesis},
- annotation = {The bundle offers a thesis class, based on
- , that complies with Marquette
- University Graduate School requirements.},
-}
-
-@manual{ctan-muling,
- title = {The \texttt{muling} package},
- subtitle = {MA Thesis class for the Department of Linguistics, University of Mumbai},
- author = {{Unknown}},
- date = {2022-01-21},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/muling},
- url = {https://ctan.org/pkg/muling},
-}
-
-@manual{ctan-multenum,
- title = {The \texttt{multenum} package},
- subtitle = {Multi-column enumerated lists},
- author = {Dennis Kletzing},
- date = {2016-06-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multenum},
- url = {https://ctan.org/pkg/multenum},
-}
-
-@manual{ctan-multiaudience,
- title = {The \texttt{multiaudience} package},
- subtitle = {Several versions of output from the same source},
- author = {Boris Veytsman},
- date = {2021-10-03},
- version = {1.04},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multiaudience},
- url = {https://ctan.org/pkg/multiaudience},
-}
-
-@manual{ctan-multibbl,
- title = {The \texttt{multibbl} package},
- subtitle = {Multiple bibliographies},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multibbl},
- url = {https://ctan.org/pkg/multibbl},
-}
-
-@manual{ctan-multibib,
- title = {The \texttt{multibib} package},
- subtitle = {Multiple bibliographies within one document},
- author = {Thorsten Hansen},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multibib},
- url = {https://ctan.org/pkg/multibib},
-}
-
-@manual{ctan-multibibliography,
- title = {The \texttt{multibibliography} package},
- subtitle = {Multiple versions of a bibliography, with different sort orders},
- author = {Michael Cohen and Yannis Haralambous and Boris Veytsman},
- date = {2019-03-02},
- version = {1.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multibibliography},
- url = {https://ctan.org/pkg/multibibliography},
-}
-
-@manual{ctan-multibox,
- title = {The \texttt{multibox} package},
- subtitle = {Multiple boxes and frames for the picture environment},
- author = {Brian Hamilton Kelly},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multibox},
- url = {https://ctan.org/pkg/multibox},
- annotation = {The package defines commands and
- , that take a sequence of texts to be placed
- in boxes; the arguments correspond to those of .},
-}
-
-@manual{ctan-multicap,
- title = {The \texttt{multicap} package},
- subtitle = {Format captions inside multicols},
- author = {John Vassilogiorgakis},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multicap},
- url = {https://ctan.org/pkg/multicap},
- annotation = {This is a package for formatting captions of column figures and
- column tabular material, which cannot be standard floats in a
- environment. The
- package also provides a convenient way to customise your
- captions, whether they be in multicols or not.},
-}
-
-@manual{ctan-multicol,
- title = {The \texttt{multicol} package},
- subtitle = {Intermix single and multiple columns},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2022-11-01},
- version = {1.9d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/multicol},
-}
-
-@manual{ctan-multicolpar,
- title = {The \texttt{multicolpar} package},
- subtitle = {Put successive paragraphs in different columns},
- author = {Mauro Orlandini and Max Hailperin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/multicolpar.sty},
- url = {https://ctan.org/pkg/multicolpar},
-}
-
-@manual{ctan-multicolrule,
- title = {The \texttt{multicolrule} package},
- subtitle = {Decorative rules between columns},
- author = {Karl Hagen},
- date = {2020-09-16},
- version = {1.3a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multicolrule},
- url = {https://ctan.org/pkg/multicolrule},
-}
-
-@manual{ctan-multidef,
- title = {The \texttt{multidef} package},
- subtitle = {Quickly define several similar macros},
- author = {Nicolas Markey},
- date = {2016-06-24},
- version = {1.10},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multidef},
- url = {https://ctan.org/pkg/multidef},
-}
-
-@manual{ctan-multido,
- title = {The \texttt{multido} package},
- subtitle = {A loop facility for Generic \TeX{}},
- author = {Timothy Van Zandt and Rolf Niepraschk and Herbert Voß},
- date = {2018-09-15},
- version = {1.42},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/multido},
- url = {https://ctan.org/pkg/multido},
- annotation = {The package provides the command, which was originally
- designed for use with .
- Fixed-point arithmetic is used when working on the loop variable,
- so that the package is equally applicable in graphics applications
- like PSTricks as it is with the more common integer loops.},
-}
-
-@manual{ctan-multienv,
- title = {The \texttt{multienv} package},
- subtitle = {Multiple environments using a “key=value” syntax},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multienv},
- url = {https://ctan.org/pkg/multienv},
- annotation = {The package provides a environment which permits
- easy addition of multiple environments using a
- syntax. Macros to define environments using this syntax are also
- provided.},
-}
-
-@manual{ctan-multiexpand,
- title = {The \texttt{multiexpand} package},
- subtitle = {Variations on the primitive command \textbackslash{}expandafter},
- author = {Bruno Le Floch},
- date = {2020-08-29},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/multiexpand},
- url = {https://ctan.org/pkg/multiexpand},
-}
-
-@manual{ctan-multifootnote,
- title = {The \texttt{multifootnote} package},
- subtitle = {Multiple numbers for the same footnote},
- author = {Jinwen XU},
- date = {2022-06-13},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multifootnote},
- url = {https://ctan.org/pkg/multifootnote},
-}
-
-@manual{ctan-multilang,
- title = {The \texttt{multilang} package},
- subtitle = {A \LaTeX{} package for maintaining multiple translations of a document},
- author = {Richard Grewe},
- date = {2018-11-03},
- version = {0.9b},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multilang},
- url = {https://ctan.org/pkg/multilang},
-}
-
-@manual{ctan-multind,
- title = {The \texttt{multind} package},
- subtitle = {Multiple indexes in \LaTeX{} documents},
- author = {F.W. Long},
- date = {2019-06-21},
- version = {1.1b},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/multind.sty},
- url = {https://ctan.org/pkg/multind},
-}
-
-@manual{ctan-multiobjective,
- title = {The \texttt{multiobjective} package},
- subtitle = {Symbols for multiobjective optimisation etc},
- author = {Luis Martí},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multiobjective},
- url = {https://ctan.org/pkg/multiobjective},
-}
-
-@manual{ctan-multiple-choice,
- title = {The \texttt{multiple-choice} package},
- subtitle = {\LaTeX{} package for multiple-choice questions},
- author = {Seiied-Mohammad-Javad Razavian},
- date = {2022-06-27},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multiple-choice},
- url = {https://ctan.org/pkg/multiple-choice},
- annotation = {This package adjusts the choices of the multiple-choice
- question automatically. It has been wholly inspired by the work of Enrico
- Gregorio and improved by Vafa Khalighi and I've just packed and redistributed it
- under the name of the package.},
-}
-
-@manual{ctan-multirow,
- title = {The \texttt{multirow} package},
- subtitle = {Create tabular cells spanning multiple rows},
- author = {Pieter van Oostrum and Jerry Leichter},
- date = {2021-03-15},
- version = {2.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/multirow},
- url = {https://ctan.org/pkg/multirow},
-}
-
-@manual{ctan-multitoc,
- title = {The \texttt{multitoc} package},
- subtitle = {Set table of contents in multiple columns},
- author = {Martin Schröder and Marei Peischl},
- date = {2020-11-24},
- version = {2.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ms},
- url = {https://ctan.org/pkg/multitoc},
-}
-
-@manual{ctan-munich,
- title = {The \texttt{munich} package},
- subtitle = {An alternative authordate bibliography style},
- author = {Martin Brixner},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/munich},
- url = {https://ctan.org/pkg/munich},
- annotation = {The Munich BibTeX style is produced with
- , as a German (and, more
- generally, Continental European) alternative to such author-date
- styles as and
- .},
-}
-
-@manual{ctan-musical,
- title = {The \texttt{musical} package},
- subtitle = {Typeset (musical) theatre scripts},
- author = {Dave Howell},
- date = {2020-04-16},
- version = {3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/musical},
- url = {https://ctan.org/pkg/musical},
-}
-
-@manual{ctan-musicography,
- title = {The \texttt{musicography} package},
- subtitle = {Accessing symbols for music writing with pdfLaTeX},
- author = {Andrew A. Cashner},
- date = {2023-02-15},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/musicography},
- url = {https://ctan.org/pkg/musicography},
-}
-
-@manual{ctan-musictex,
- title = {The \texttt{musictex} package},
- subtitle = {Typesetting music with \TeX{}},
- author = {Daniel Taupin},
- date = {2019-06-21},
- version = {5.20},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/musictex},
- url = {https://ctan.org/pkg/musictex},
- annotation = {MusicTeX is a set of macros, that first demonstrated the technique
- of simultaneous two-dimensional typesetting as applied to music.
- MusicTeX has its shortcomings (notably in the area of slurs), and
- is now largely superseded by .},
-}
-
-@manual{ctan-musikui,
- title = {The \texttt{musikui} package},
- subtitle = {Easy creation of “arithmetical restoration” puzzles},
- author = {Naoki Kaneko},
- date = {2018-05-03},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/musikui},
- url = {https://ctan.org/pkg/musikui},
-}
-
-@manual{ctan-musixguit,
- title = {The \texttt{musixguit} package},
- subtitle = {Easy notation for guitar music, in MusixTeX},
- author = {Clemens Niederberger},
- date = {2016-06-24},
- version = {1.2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/musixguit},
- url = {https://ctan.org/pkg/musixguit},
- annotation = {The package provides commands for typesetting notes for guitar,
- especially for simplifying guitar notation with
- .},
-}
-
-@manual{ctan-musixtex-egler,
- title = {The \texttt{musixtex-egler} package},
- subtitle = {Multi-pass music typesetting},
- author = {Andreas Egler and Daniel Taupin},
- date = {2016-06-24},
- version = {0.51},
- license = {nosell},
- mirror = {https://mirror.ctan.org/obsolete/macros/musixtex/egler},
- url = {https://ctan.org/pkg/musixtex-egler},
- annotation = {The original development of Taupin's original
- , using an auxiliary program
- to produce slurs. Revised and developed versions have subsequently been
- released as "";
- Andreas Egler has moved on to another (as yet un-released) package.},
-}
-
-@manual{ctan-musixtex-fonts,
- title = {The \texttt{musixtex-fonts} package},
- subtitle = {Fonts used by MusixTeX},
- author = {Bob Tennent and Takanori Uchiyama and Daniel Taupin},
- date = {2023-01-11},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/musixtex-fonts},
- url = {https://ctan.org/pkg/musixtex-fonts},
-}
-
-@manual{ctan-musixtex-t1fonts,
- title = {The \texttt{musixtex-t1fonts} package},
- subtitle = {Adobe Type 1 versions of MusiXTeX fonts},
- author = {Takanori Uchiyama},
- date = {2016-06-24},
- version = {1.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/musixtex/ps-type1/musixps-unix.tar.gz},
- url = {https://ctan.org/pkg/musixtex-t1fonts},
-}
-
-@manual{ctan-musixtex,
- title = {The \texttt{MusiXTeX} package},
- subtitle = {Sophisticated music typesetting},
- author = {Bob Tennent and Don Simons and Jean-Pierre Coulon and Hiroaki Morimoto and Olivier Vogel and Daniel Taupin and Andreas Egler and Ross Mitchell},
- date = {2023-01-11},
- version = {1.36},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/macros/musixtex},
- url = {https://ctan.org/pkg/musixtex},
-}
-
-@manual{ctan-musixtnt,
- title = {The \texttt{musixtnt} package},
- subtitle = {A MusiXTeX extension library that enables transformations of the effect of notes commands},
- author = {Bob Tennent},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/musixtnt},
- url = {https://ctan.org/pkg/musixtnt},
-}
-
-@manual{ctan-musuos,
- title = {The \texttt{musuos} package},
- subtitle = {Typeset papers for the department of music, Osnabrück},
- author = {Tobias Weh},
- date = {2016-06-24},
- version = {1.1d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/musuos},
- url = {https://ctan.org/pkg/musuos},
-}
-
-@manual{ctan-muthesis,
- title = {The \texttt{muthesis} package},
- subtitle = {Classes for University of Manchester Dept of Computer Science},
- author = {Graham Gough},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/muthesis},
- url = {https://ctan.org/pkg/muthesis},
-}
-
-@manual{ctan-mversion,
- title = {The \texttt{mversion} package},
- subtitle = {Keeping track of document versions},
- author = {Michael Schmeing},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mversion},
- url = {https://ctan.org/pkg/mversion},
-}
-
-@manual{ctan-mwcls,
- title = {The \texttt{mwcls} package},
- subtitle = {Polish-oriented document classes},
- author = {Marcin Woliński},
- date = {2018-01-06},
- version = {0.75},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mwcls},
- url = {https://ctan.org/pkg/mwcls},
- annotation = {mwcls is a set of document classes for \LaTeX{} 2e designed with
- Polish typographical tradition in mind. Classes include:
- ‘’ (which is a replacement for ‘’),
- ‘’ (replacing
- ‘’), and
- ‘’
- (replacing ‘’). Most features present
- in standard classes work
- with mwcls classes. Some extensions/exceptions include: sectioning
- commands allow for second optional argument (it is possible to
- state different texts for running head and for TOC), new
- environments ‘’ and ‘’ for
- lists with long items, page styles have variants for normal,
- opening, closing, and blank pages.},
-}
-
-@manual{ctan-mwe,
- title = {The \texttt{mwe} package},
- subtitle = {Packages and image files for MWEs},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mwe},
- url = {https://ctan.org/pkg/mwe},
- annotation = {The bundle provides several files useful when creating a minimal
- working example (MWE). The package itself loads a small set of
- packages often used when creating MWEs. In addition, a range of
- images are provided, which will be installed in the
- tree, so that they may be used in any (La)TeX document. This
- allows different users to share MWEs which include image commands,
- without the need to share image files or to use replacement code.},
-}
-
-@manual{ctan-mweights,
- title = {The \texttt{mweights} package},
- subtitle = {Support for multiple-weight font packages},
- author = {Bob Tennent},
- date = {2020-01-23},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mweights},
- url = {https://ctan.org/pkg/mweights},
-}
-
-@manual{ctan-mwrite,
- title = {The \texttt{mwrite} package},
- subtitle = {Write information to files},
- author = {Christopher Creutzig},
- date = {2016-06-24},
- version = {2.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mwrite},
- url = {https://ctan.org/pkg/mwrite},
- annotation = {The package enables a job to write information to arbitrarily many
- files with names . The package
- itself writes to a file ; the user should not
- ask for output to that, or to any of the other standard \LaTeX{} extensions.},
-}
-
-@manual{ctan-mxd,
- title = {The \texttt{mxd} package},
- subtitle = {Support for Mongolian “horizontal” (Xewtee Dorwoljin) script},
- author = {Oliver Corff},
- date = {2020-06-07},
- version = {0.4 alpha},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/mongolian/mxd},
- url = {https://ctan.org/pkg/mxd},
-}
-
-@manual{ctan-mxedruli,
- title = {The \texttt{mxedruli} package},
- subtitle = {A pair of fonts for different Georgian alphabets},
- author = {Johannes Heinecke},
- date = {2017-04-18},
- version = {3.3c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/georgian/mxedruli},
- url = {https://ctan.org/pkg/mxedruli},
-}
-
-@manual{ctan-mychemistry,
- title = {The \texttt{mychemistry} package},
- subtitle = {Create reaction schemes with \LaTeX{} and chemfig},
- author = {Clemens Niederberger},
- date = {2020-04-11},
- version = {1.99b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/mychemistry},
- url = {https://ctan.org/pkg/mychemistry},
-}
-
-@manual{ctan-mycv,
- title = {The \texttt{mycv} package},
- subtitle = {A list-driven CV class, allowing TikZ decorations},
- author = {Andrea Ghersi},
- date = {2016-06-24},
- version = {1.5.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mycv},
- url = {https://ctan.org/pkg/mycv},
- annotation = {The class provides a set of functionality for writing “curriculum
- vitae” with different layouts. The idea is that a user can write
- some custom configuration directives, by means of which is
- possible both to produce different c.v. layouts and quickly switch
- among them. In order to process such directives, the class uses a
- set of lists, provided by the package
- . Basic support for using
- decorations is also provided.},
-}
-
-@manual{ctan-myfilist,
- title = {The \texttt{myfilist} package},
- subtitle = {Configuring the output of the \textbackslash{}listfiles command},
- author = {Uwe Lück},
- date = {2018-01-06},
- version = {0.71},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fileinfo},
- url = {https://ctan.org/pkg/myfilist},
-}
-
-@manual{ctan-mylatex,
- title = {The \texttt{mylatex} package},
- subtitle = {Make a format containing a document’s preamble},
- author = {David Carlisle},
- date = {2020-10-28},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mylatex},
- url = {https://ctan.org/pkg/mylatex},
-}
-
-@manual{ctan-mylatexformat,
- title = {The \texttt{mylatexformat} package},
- subtitle = {Build a format based on the preamble of a \LaTeX{} file},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {3.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mylatexformat},
- url = {https://ctan.org/pkg/mylatexformat},
-}
-
-@manual{ctan-myletter,
- title = {The \texttt{myletter} package},
- subtitle = {An old letter class},
- author = {Axel Kielhorn},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/akletter},
- url = {https://ctan.org/pkg/myletter},
- annotation = {The class is superseded by the author’s
- .},
-}
-
-@manual{ctan-mynsfc,
- title = {The \texttt{mynsfc} package},
- subtitle = {Xe\LaTeX{} template for writing the main body of NSFC proposals},
- author = {Fei Qi},
- date = {2021-08-19},
- version = {1.30},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/mynsfc},
- url = {https://ctan.org/pkg/mynsfc},
-}
-
-@manual{ctan-na-border,
- title = {The \texttt{na-border} package},
- subtitle = {Decorative borders for texts in Arabic and French},
- author = {Naam Mohamed and Walid Laouidji},
- date = {2019-06-21},
- version = {0.1},
- license = {lppl,other-free},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/na-border},
- url = {https://ctan.org/pkg/na-border},
-}
-
-@manual{ctan-na-box,
- title = {The \texttt{na-box} package},
- subtitle = {Arabic-aware version of pas-cours package},
- author = {Naam Mohamed},
- date = {2017-08-28},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/na-box},
- url = {https://ctan.org/pkg/na-box},
- annotation = {This is a modified version of the
-
- package made compatible with
- \XeLaTeX{}/
- to write arabic documents with fancy boxed
- theorem-alike environments.},
-}
-
-@manual{ctan-na-position,
- title = {The \texttt{na-position} package},
- subtitle = {Tables of relative positions of curves and asymptotes or tangents in Arabic documents},
- author = {Naam Mohamed and Walid Laouidji},
- date = {2020-06-15},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/na-position},
- url = {https://ctan.org/pkg/na-position},
-}
-
-@manual{ctan-nabatean,
- title = {The \texttt{nabatean} package},
- subtitle = {Font for Nabatean script},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/nabatean},
- url = {https://ctan.org/pkg/nabatean},
-}
-
-@manual{ctan-nag,
- title = {The \texttt{nag} package},
- subtitle = {Detecting and warning about obsolete \LaTeX{} commands},
- author = {Ulrich M. Schwarz},
- date = {2016-06-24},
- version = {0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nag},
- url = {https://ctan.org/pkg/nag},
- annotation = {Old habits die hard. All the same, there are commands, classes and
- packages which are outdated and superseded. The nag package
- provides routines to warn the user about the use of such obsolete
- things. As an example, we provide an extension that detects many
- of the “sins” described in
- .},
-}
-
-@manual{ctan-nahuatl,
- title = {The \texttt{nahuatl} package},
- subtitle = {Render nahuatl glyphs},
- author = {Roberto Alvarez Zavala},
- date = {2021-10-15},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/nahuatl},
- url = {https://ctan.org/pkg/nahuatl},
-}
-
-@manual{ctan-naive-ebnf,
- title = {The \texttt{naive-ebnf} package},
- subtitle = {EBNF in Plain Text},
- author = {Yegor Bugayenko},
- date = {2023-02-21},
- version = {0.0.5},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/naive-ebnf},
- url = {https://ctan.org/pkg/naive-ebnf},
-}
-
-@manual{ctan-nameauth,
- title = {The \texttt{nameauth} package},
- subtitle = {Name authority mechanism for consistency in body text and index},
- author = {Charles P. Schaum},
- date = {2023-02-04},
- version = {3.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nameauth},
- url = {https://ctan.org/pkg/nameauth},
-}
-
-@manual{ctan-named,
- title = {The \texttt{named} package},
- subtitle = {"Named" bibliography style},
- author = {Peter Patel-Schneider},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/named},
- url = {https://ctan.org/pkg/named},
-}
-
-@manual{ctan-namedef,
- title = {The \texttt{namedef} package},
- subtitle = {TeX definitions with named parameters},
- author = {Phelype Oleinik},
- date = {2020-06-23},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/namedef},
- url = {https://ctan.org/pkg/namedef},
-}
-
-@manual{ctan-namedtensor,
- title = {The \texttt{namedtensor} package},
- subtitle = {Macros for named tensor notation},
- author = {David Chiang},
- date = {2022-12-21},
- version = {0.4},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/namedtensor},
- url = {https://ctan.org/pkg/namedtensor},
- annotation = {This style file provides macros for named tensor notation.
- Please see the paper
- ''
- for background on this notation.},
-}
-
-@manual{ctan-nameref,
- title = {The \texttt{nameref} package},
- subtitle = {Make reference to section names, etc},
- author = {Heiko Oberdiek and {Oberdiek Package Support Group} and Sebastian Rahtz},
- date = {2023-02-08},
- version = {2.50},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyperref},
- url = {https://ctan.org/pkg/nameref},
- annotation = {Defines a command, that makes reference to an object by
- its name (e.g., the title of a section or chapter). The package
- is part of the bundle, and
- works well with hyperref.},
-}
-
-@manual{ctan-namespc,
- title = {The \texttt{namespc} package},
- subtitle = {Rudimentary C++-like namespaces in \LaTeX{}},
- author = {Alexander Dreyer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/namespc},
- url = {https://ctan.org/pkg/namespc},
-}
-
-@manual{ctan-namunsrt,
- title = {The \texttt{namunsrt} package},
- subtitle = {An unsorted BibTeX style with labels provided in the database},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/namunsrt.bst},
- url = {https://ctan.org/pkg/namunsrt},
-}
-
-@manual{ctan-nanicolle,
- title = {The \texttt{nanicolle} package},
- subtitle = {Typesetting herbarium specimen labels},
- author = {Yuchang Yang},
- date = {2020-08-31},
- version = {2.03y},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/nanicolle},
- url = {https://ctan.org/pkg/nanicolle},
-}
-
-@manual{ctan-nanumtype1,
- title = {The \texttt{nanumtype1} package},
- subtitle = {Type1 subfonts of Nanum Korean fonts},
- author = {Dohyun Kim},
- date = {2016-06-24},
- version = {3.0},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/nanumtype1},
- url = {https://ctan.org/pkg/nanumtype1},
-}
-
-@manual{ctan-nar,
- title = {The \texttt{nar} package},
- subtitle = {BibTeX style for Nucleic Acid Research},
- author = {Thomas Schneider},
- date = {2016-06-24},
- version = {3.19},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/nar.bst},
- url = {https://ctan.org/pkg/nar},
-}
-
-@manual{ctan-nassflow,
- title = {The \texttt{nassflow} package},
- subtitle = {Drawing Nassi-Shneiderman diagrams and flowcharts},
- author = {C. M. Lindhout and Marion van Geest and Johannes L. Braams},
- date = {2017-09-23},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nassflow},
- url = {https://ctan.org/pkg/nassflow},
-}
-
-@manual{ctan-natbib,
- title = {The \texttt{natbib} package},
- subtitle = {Flexible bibliography support},
- author = {Patrick W. Daly and Arthur Ogawa},
- date = {2016-06-24},
- version = {8.31b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/natbib},
- url = {https://ctan.org/pkg/natbib},
- annotation = {The bundle provides a package that implements both author-year and
- numbered references, as well as much detailed of support for other
- bibliography use. Also Provided are
- versions of the standard BibTeX styles that are compatible with
- —, ,
- . The bibliography styles produced by
- are designed from the
- start to be compatible with .},
-}
-
-@manual{ctan-natded,
- title = {The \texttt{natded} package},
- subtitle = {Typeset natural deduction proofs},
- author = {Mohammad M. Ajallooeian},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/natded},
- url = {https://ctan.org/pkg/natded},
-}
-
-@manual{ctan-nath,
- title = {The \texttt{Nath} package},
- subtitle = {Natural mathematics notation},
- author = {Michal Marvan},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nath},
- url = {https://ctan.org/pkg/nath},
- annotation = {Nath is a \LaTeX{} (both 2e and 2.09) style to separate
- presentation and content in mathematical typography.
- The style delivers a particular context-dependent
- presentation on the basis of a rather coarse
- context-independent notation. Highlighted features:
- depending on the context, the command produces
- either built-up or case or solidus fractions, with
- parentheses added whenever required for preservation
- of the mathematical meaning; delimiters adapt their
- size to the material enclosed, rendering and
- almost obsolete.},
-}
-
-@manual{ctan-natmove,
- title = {The \texttt{natmove} package},
- subtitle = {Move punctuation following a citation},
- author = {Joseph Wright and Donald Arseneau},
- date = {2018-07-12},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/achemso},
- url = {https://ctan.org/pkg/natmove},
-}
-
-@manual{ctan-nature,
- title = {The \texttt{nature} package},
- subtitle = {Prepare papers for the journal Nature},
- author = {Peter Czoschke},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nature},
- url = {https://ctan.org/pkg/nature},
-}
-
-@manual{ctan-navigator,
- title = {The \texttt{navigator} package},
- subtitle = {PDF features across formats and engines},
- author = {Paul Isambert},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/navigator},
- url = {https://ctan.org/pkg/navigator},
-}
-
-@manual{ctan-navydocs,
- title = {The \texttt{navydocs} package},
- subtitle = {Support for Technical Reports by US Navy Organizations},
- author = {Peter A. Rochford},
- date = {2016-07-13},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/navydocs},
- url = {https://ctan.org/pkg/navydocs},
-}
-
-@manual{ctan-nb4latex,
- title = {The \texttt{nb4latex} package},
- subtitle = {Convert NotaBene4 to \LaTeX{}},
- author = {Guido Milanese},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/msdos/nb4latex},
- url = {https://ctan.org/pkg/nb4latex},
-}
-
-@manual{ctan-nbaseprt,
- title = {The \texttt{nbaseprt} package},
- subtitle = {Print numbers in non-decimal bases},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numprint},
- url = {https://ctan.org/pkg/nbaseprt},
-}
-
-@manual{ctan-nbaskerv,
- title = {The \texttt{nbaskerv} package},
- subtitle = {Metrics and \LaTeX{} support for ITC New Baskerville Font From Adobe},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.0c},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/psfonts/adobe/nbaskerv},
- url = {https://ctan.org/pkg/nbaskerv},
-}
-
-@manual{ctan-nccbbb,
- title = {The \texttt{nccbbb} package},
- subtitle = {“Poor man’s” blackboard bold},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccbbb},
-}
-
-@manual{ctan-nccboxes,
- title = {The \texttt{nccboxes} package},
- subtitle = {Elaborate box commands},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccboxes},
-}
-
-@manual{ctan-ncccomma,
- title = {The \texttt{ncccomma} package},
- subtitle = {Use comma as decimal separator in mathematics},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/ncccomma},
-}
-
-@manual{ctan-ncccropbox,
- title = {The \texttt{ncccropbox} package},
- subtitle = {Crop-marked boxes},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/ncccropbox},
-}
-
-@manual{ctan-ncccropmark,
- title = {The \texttt{ncccropmark} package},
- subtitle = {Draw cropmarks on the output page},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/ncccropmark},
-}
-
-@manual{ctan-nccfancyhdr,
- title = {The \texttt{nccfancyhdr} package},
- subtitle = {Extensive control of page headers and footers},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccfancyhdr},
-}
-
-@manual{ctan-nccfloats,
- title = {The \texttt{nccfloats} package},
- subtitle = {Extensions of the \LaTeX{} float mechanisms},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccfloats},
-}
-
-@manual{ctan-nccfoots,
- title = {The \texttt{nccfoots} package},
- subtitle = {User-generated footnote marks},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccfoots},
-}
-
-@manual{ctan-ncclatex,
- title = {The \texttt{NCC-LaTeX} package},
- subtitle = {An extended general-purpose class},
- author = {Alexander I. Rozhenko},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncclatex},
- url = {https://ctan.org/pkg/ncclatex},
- annotation = {The ncc class provides a framework for a common class to replace
- the standard article, book and report classes, and providing a
- “preprint” class. The class’s extensions
- are provided in a number of small packages, some of which may also
- be used with the
- standard classes. The ncclatex package also loads many of the
- packages of, and requires the latest version of the
- bundle.},
-}
-
-@manual{ctan-nccmath,
- title = {The \texttt{nccmath} package},
- subtitle = {Extended mathematics capabilities},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccmath},
-}
-
-@manual{ctan-nccparskip,
- title = {The \texttt{nccparskip} package},
- subtitle = {Modify skips between paragraphs},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccparskip},
-}
-
-@manual{ctan-nccpic,
- title = {The \texttt{nccpic} package},
- subtitle = {Extend the graphicx package for more formats},
- author = {Alexander I. Rozhenko},
- date = {2018-09-15},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccpic},
-}
-
-@manual{ctan-nccrules,
- title = {The \texttt{nccrules} package},
- subtitle = {Compose dashed lines},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccrules},
-}
-
-@manual{ctan-nccsect,
- title = {The \texttt{nccsect} package},
- subtitle = {A re-implementation of sections, captions and tocs},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccsect},
-}
-
-@manual{ctan-nccstretch,
- title = {The \texttt{nccstretch} package},
- subtitle = {Insert a stretch between each token of a string},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccstretch},
-}
-
-@manual{ctan-nccthm,
- title = {The \texttt{nccthm} package},
- subtitle = {Another theorem environment},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/nccthm},
- annotation = {This package's theorems have two distinguishing characteristics.
- First, theorem numbering uses dynamic counters (specified by
- using the package, which
- gives the user considerable flexibility in counting styles.
- Second, the environment isn't defined as a trivlist (as \LaTeX{}
- theorems are), which gives extra flexibility in using the
- environment. In addition, parameter definition is explicit and
- well-organised, and there is a QED-symbol-placing command.},
-}
-
-@manual{ctan-ncctools,
- title = {The \texttt{ncctools} package},
- subtitle = {A collection of general packages for \LaTeX{}},
- author = {Alexander I. Rozhenko},
- date = {2019-08-03},
- version = {3.5.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/ncctools},
- annotation = {The NCCtools bundle contains many packages for general use under
- \LaTeX{}; many are also used by .
- The bundle includes tools for:},
-}
-
-@manual{ctan-nchairx,
- title = {The \texttt{nChairX} package},
- subtitle = {Maths macros from chair X of Würzburg University},
- author = {Marvin Dippell},
- date = {2021-08-12},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nchairx},
- url = {https://ctan.org/pkg/nchairx},
-}
-
-@manual{ctan-nddiss,
- title = {The \texttt{nddiss} package},
- subtitle = {Notre Dame Dissertation format class},
- author = {Sameer Vijay and Donald Brower},
- date = {2018-01-06},
- version = {3.2017.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nddiss},
- url = {https://ctan.org/pkg/nddiss},
-}
-
-@manual{ctan-ndsu-thesis-2022,
- title = {The \texttt{ndsu-thesis-2022} package},
- subtitle = {North Dakota State University disquisition class 2022},
- author = {Igathinathane Cannayen},
- date = {2022-07-15},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ndsu-thesis-2022},
- url = {https://ctan.org/pkg/ndsu-thesis-2022},
-}
-
-@manual{ctan-ndsu-thesis,
- title = {The \texttt{ndsu-thesis} package},
- subtitle = {North Dakota State University disquisition class},
- author = {James Thorne and Aaron Feickert and Jonathan Totushek},
- date = {2018-02-14},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ndsu-thesis},
- url = {https://ctan.org/pkg/ndsu-thesis},
-}
-
-@manual{ctan-nedit-latex-extensions,
- title = {The \texttt{NEdit-LaTeX-Extensions} package},
- subtitle = {The \LaTeX{}-Mode is a set of macros for the NEdit text editor},
- author = {Jörg Fischer},
- date = {2020-11-25},
- version = {0.9.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/NEdit-LaTeX-Extensions},
- url = {https://ctan.org/pkg/nedit-latex-extensions},
-}
-
-@manual{ctan-needspace,
- title = {The \texttt{needspace} package},
- subtitle = {Insert pagebreak if not enough space},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.3d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/needspace},
- url = {https://ctan.org/pkg/needspace},
-}
-
-@manual{ctan-nehyph,
- title = {The \texttt{NL hyphenation} package},
- subtitle = {Hyphenation patterns for Dutch},
- author = {Piet Tutelaers},
- date = {2019-06-21},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/nehyph.tex},
- url = {https://ctan.org/pkg/nehyph},
-}
-
-@manual{ctan-nemocal,
- title = {The \texttt{nemocal} package},
- subtitle = {Calendar maker},
- author = {Joohee Jeong},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/nemocal},
- url = {https://ctan.org/pkg/nemocal},
-}
-
-@manual{ctan-nestquot,
- title = {The \texttt{nestquot} package},
- subtitle = {Alternate quotes between double and single with nesting},
- author = {Florian Hars},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nestquot},
- url = {https://ctan.org/pkg/nestquot},
- annotation = {Provides two new commands: and for
- nesting left and right quotes that properly change between double
- and single quotes according to their nesting level. For example,
- the input will be
- typeset as if it had been entered as
- “Foo ‘bar’ bletch”.},
-}
-
-@manual{ctan-neufont,
- title = {The \texttt{neufont} package},
- subtitle = {New font installation},
- author = {Björn Lorenz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/german/neufont.tex},
- url = {https://ctan.org/pkg/neufont},
-}
-
-@manual{ctan-neuralnetwork,
- title = {The \texttt{neuralnetwork} package},
- subtitle = {Graph-drawing for neural networks},
- author = {Mark K. Cowan},
- date = {2017-04-18},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/neuralnetwork},
- url = {https://ctan.org/pkg/neuralnetwork},
-}
-
-@manual{ctan-neuron,
- title = {The \texttt{neuron} package},
- subtitle = {BibTeX style for the journal Neuron},
- author = {Dan Rizzuto},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/neuron.bst},
- url = {https://ctan.org/pkg/neuron},
- annotation = {Generated by use of .},
-}
-
-@manual{ctan-nevelok,
- title = {The \texttt{nevelok} package},
- subtitle = {\LaTeX{} package for automatic definite articles for Hungarian},
- author = {Zalan Bodo},
- date = {2016-06-24},
- version = {1.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nevelok},
- url = {https://ctan.org/pkg/nevelok},
-}
-
-@manual{ctan-newalg,
- title = {The \texttt{newalg} package},
- subtitle = {Format algorithms like Cormen, Leiserson and Rivest},
- author = {Rick Farnbach and Paul Furnanz},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newalg},
- url = {https://ctan.org/pkg/newalg},
- annotation = {For comparison, see Cormen’s own
- .},
-}
-
-@manual{ctan-newapa,
- title = {The \texttt{newapa} package},
- subtitle = {Another APA citation mechanism},
- author = {Stephen N. Spencer and Young Ryu},
- date = {2019-12-27},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/newapa},
- url = {https://ctan.org/pkg/newapa},
-}
-
-@manual{ctan-newcastle-bst,
- title = {The \texttt{newcastle-bst} package},
- subtitle = {A BibTeX style to format reference lists in the Harvard at Newcastle style},
- author = {Luke Briggs},
- date = {2022-03-10},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/newcastle-bst},
- url = {https://ctan.org/pkg/newcastle-bst},
- annotation = {This package provides a style
- to format reference lists in the
-
- style recommended by Newcastle University.
- It should be used alongside for citations.},
-}
-
-@manual{ctan-newclude,
- title = {The \texttt{newclude} package},
- subtitle = {Reimplemented \textbackslash{}include system for \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/newclude},
-}
-
-@manual{ctan-newcommand,
- title = {The \texttt{newcommand} package},
- subtitle = {Generate new \LaTeX{} command definitions},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/newcommand},
- url = {https://ctan.org/pkg/newcommand},
- annotation = {Generating any other than the simple -style
- commands, in \LaTeX{}, is tedious (in the least). This script allows
- the specification of commands in a ‘natural’
- style; the script then generates macros to define the command.},
-}
-
-@manual{ctan-newcomputermodern,
- title = {The \texttt{NewComputerModern} package},
- subtitle = {Computer Modern fonts including matching non-latin alphabets},
- author = {Antonis Tsolomitis},
- date = {2023-03-03},
- version = {4.4},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/newcomputermodern},
- url = {https://ctan.org/pkg/newcomputermodern},
-}
-
-@manual{ctan-newenviron,
- title = {The \texttt{newenviron} package},
- subtitle = {Processing an environment’s body},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newenviron},
- url = {https://ctan.org/pkg/newenviron},
-}
-
-@manual{ctan-newfile,
- title = {The \texttt{newfile} package},
- subtitle = {User level management of \LaTeX{} input and output},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.0c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newfile},
- url = {https://ctan.org/pkg/newfile},
- annotation = {Commands are defined to manage the limited pool of input and
- output handles provided by \TeX{}. The so
- provided are mapped to various of the \LaTeX{} input and output
- mechanisms. Some facilities of the
- package are also mapped.},
-}
-
-@manual{ctan-newfloat,
- title = {The \texttt{newfloat} package},
- subtitle = {Define new floating environments},
- author = {Axel Sommerfeldt},
- date = {2019-11-27},
- version = {1.1l},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newfloat},
- url = {https://ctan.org/pkg/newfloat},
- annotation = {The package offers the command
- , which the user may use to
- define new floating environments which behave like the \LaTeX{}
- standard foating environments and
- .},
-}
-
-@manual{ctan-newinsert,
- title = {The \texttt{newinsert} package},
- subtitle = {Reworking Plain \TeX{}'s insert macros},
- author = {Walter D. Neumann},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/newinsert.tex},
- url = {https://ctan.org/pkg/newinsert},
- annotation = {Fixes various problems with and .},
-}
-
-@manual{ctan-newlfm,
- title = {The \texttt{newlfm} package},
- subtitle = {Write letters, facsimiles, and memos},
- author = {Paul A. Thompson},
- date = {2019-07-04},
- version = {9.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newlfm},
- url = {https://ctan.org/pkg/newlfm},
-}
-
-@manual{ctan-newpax,
- title = {The \texttt{newpax} package},
- subtitle = {Experimental package to extract and reinsert PDF annotations},
+@manual{ctan-chessboard,
+ title = {The \texttt{chessboard} package},
+ subtitle = {Print chess boards},
author = {Ulrike Fischer},
date = {2023-03-09},
- version = {0.53},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newpax},
- url = {https://ctan.org/pkg/newpax},
-}
-
-@manual{ctan-newproof,
- title = {The \texttt{newproof} package},
- subtitle = {Make commands to define proofs},
- author = {Mike Piff and Robin Fairbairns and David Carlisle},
- date = {2018-09-13},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/piff/newproof.sty},
- url = {https://ctan.org/pkg/newproof},
-}
-
-@manual{ctan-newpx,
- title = {The \texttt{newpx} package},
- subtitle = {Alternative uses of the PX fonts, with improved metrics},
- author = {Michael Sharpe},
- date = {2022-01-30},
- version = {1.505},
- license = {lppl,ofl},
- mirror = {https://mirror.ctan.org/fonts/newpx},
- url = {https://ctan.org/pkg/newpx},
-}
-
-@manual{ctan-newsletr,
- title = {The \texttt{newsletr} package},
- subtitle = {Macros for making newsletters with Plain \TeX{}},
- author = {Hunter Goatley},
- date = {2016-06-18},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/newsletr},
- url = {https://ctan.org/pkg/newsletr},
-}
-
-@manual{ctan-newspaper,
- title = {The \texttt{newspaper} package},
- subtitle = {Typeset newsletters to resemble newspapers},
- author = {Matthew Allen and David Griffith},
- date = {2018-12-30},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newspaper},
- url = {https://ctan.org/pkg/newspaper},
- annotation = {The newspaper package redefines the page style and
- command to produce a typeset page similar to
- that of a newspaper. It also provides several commands that
- (when used with other packages) simplify the writing of articles
- in a newspaper-style column format.},
-}
-
-@manual{ctan-newthm,
- title = {The \texttt{newthm} package},
- subtitle = {Obsolete version of ntheorem},
- author = {Wolfgang Andreas Schlechte},
- date = {2019-06-21},
- license = {noinfo},
- url = {https://ctan.org/pkg/newthm},
-}
-
-@manual{ctan-newtx,
- title = {The \texttt{newtx} package},
- subtitle = {Alternative uses of the TX fonts, with improved metrics},
- author = {Michael Sharpe},
- date = {2022-03-03},
- version = {1.71},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/newtx},
- url = {https://ctan.org/pkg/newtx},
-}
-
-@manual{ctan-newtxsf,
- title = {The \texttt{newtxsf} package},
- subtitle = {Sans-math fonts for use with newtx},
- author = {Michael Sharpe},
- date = {2021-05-16},
- version = {1.054},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/newtxsf},
- url = {https://ctan.org/pkg/newtxsf},
- annotation = {The package provides a maths support that amounts to modifications
- of the sans serif Roman and Greek
- letters with most symbols taken from (which
- must of course be installed and its map file enabled).},
-}
-
-@manual{ctan-newtxtt,
- title = {The \texttt{newtxtt} package},
- subtitle = {Enhancement of typewriter fonts from newtx},
- author = {Michael Sharpe},
- date = {2020-02-16},
- version = {1.056},
- license = {gpl3,lppl},
- mirror = {https://mirror.ctan.org/fonts/newtxtt},
- url = {https://ctan.org/pkg/newtxtt},
-}
-
-@manual{ctan-newunicodechar,
- title = {The \texttt{newunicodechar} package},
- subtitle = {Definitions of the meaning of Unicode characters},
- author = {Enrico Gregorio},
- date = {2018-04-08},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newunicodechar},
- url = {https://ctan.org/pkg/newunicodechar},
-}
-
-@manual{ctan-newvbtm,
- title = {The \texttt{newvbtm} package},
- subtitle = {Define your own verbatim-like environment},
- author = {Hiroshi Nakashima},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newvbtm},
- url = {https://ctan.org/pkg/newvbtm},
- annotation = {Defines general purpose macro named to
- define your own verbatim-like environment. It also has a
- supplementary style file varvbtm.sty to provide set of macros for
- variants of verbatim, such as tab emulation.},
-}
-
-@manual{ctan-newverbs,
- title = {The \texttt{newverbs} package},
- subtitle = {Define new versions of \textbackslash{}verb, including short verb versions},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.6a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/newverbs},
- url = {https://ctan.org/pkg/newverbs},
-}
-
-@manual{ctan-nextpage,
- title = {The \texttt{nextpage} package},
- subtitle = {Generalisations of the page advance commands},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-07-17},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/nextpage.sty},
- url = {https://ctan.org/pkg/nextpage},
- annotation = {Provides and variants that
- guarantee to end up on even/odd numbered pages; these 4 commands
- all have an optional argument whose content will be placed on any
- “empty” page generated.},
-}
-
-@manual{ctan-nexus-otf,
- title = {The \texttt{nexus-otf} package},
- subtitle = {Supporting for the Nexus OpenType or True Type Fonts},
- author = {Herbert Voß},
- date = {2019-06-21},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nexus-otf},
- url = {https://ctan.org/pkg/nexus-otf},
-}
-
-@manual{ctan-nfssext-cfr,
- title = {The \texttt{nfssext-cfr} package},
- subtitle = {Extensions to the \LaTeX{} NFSS},
- author = {Clea F. Rees and Philipp Lehman},
- date = {2017-03-29},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nfssext-cfr},
- url = {https://ctan.org/pkg/nfssext-cfr},
-}
-
-@manual{ctan-nfssfont,
- title = {The \texttt{nfssfont} package},
- subtitle = {Typesetting font tables using \LaTeX{}’s NFSS notation},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.2e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/nfssfont},
-}
-
-@manual{ctan-ngerman,
- title = {The \texttt{ngerman} package},
- subtitle = {Support for new German typography},
- author = {Bernd Raichle},
- date = {2016-06-24},
- version = {2.5e},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/german/ngerman.sty},
- url = {https://ctan.org/pkg/ngerman},
-}
-
-@manual{ctan-nicefilelist,
- title = {The \texttt{nicefilelist} package},
- subtitle = {Provide \textbackslash{}listfiles alignment},
- author = {Uwe Lück},
- date = {2023-02-14},
- version = {0.9b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nicefilelist},
- url = {https://ctan.org/pkg/nicefilelist},
-}
-
-@manual{ctan-nicefrac,
- title = {The \texttt{nicefrac} package},
- subtitle = {Typeset in-line fractions in a "nice" way},
- author = {Axel Reichert},
- date = {2016-06-24},
- version = {0.9b},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/units},
- url = {https://ctan.org/pkg/nicefrac},
-}
-
-@manual{ctan-niceframe-type1,
- title = {The \texttt{niceframe-type1} package},
- subtitle = {Type 1 versions of the fonts recommended in niceframe},
- author = {Rolf Niepraschk},
- date = {2017-06-23},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/niceframe},
- url = {https://ctan.org/pkg/niceframe-type1},
- annotation = {The bundle provides Adobe Type 1 versions of the fonts
- ,
- ,
- ,
- .},
-}
-
-@manual{ctan-niceframe,
- title = {The \texttt{niceframe} package},
- subtitle = {Support for fancy frames},
- author = {Marcus Ohlhaut},
- date = {2017-10-29},
- version = {1.1c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/niceframe},
- url = {https://ctan.org/pkg/niceframe},
- annotation = {The package defines means of drawing frames around boxes, using
- dingbat fonts. Some (Metafont) font sources are included; the
- fonts are available separately in
- .},
-}
-
-@manual{ctan-nicematrix,
- title = {The \texttt{nicematrix} package},
- subtitle = {Improve the typesetting of mathematical matrices with PGF},
- author = {François Pantigny},
- date = {2023-03-07},
- version = {6.16},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nicematrix},
- url = {https://ctan.org/pkg/nicematrix},
-}
-
-@manual{ctan-nicetext,
- title = {The \texttt{nicetext} package},
- subtitle = {Minimal markup for simple text (Wikipedia style) and documentation},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {r0.67},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nicetext},
- url = {https://ctan.org/pkg/nicetext},
-}
-
-@manual{ctan-niceverb,
- title = {The \texttt{niceverb} package},
- subtitle = {Minimising markup for documenting \LaTeX{} packages},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.51},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nicetext/use/niceverb.sty},
- url = {https://ctan.org/pkg/niceverb},
-}
-
-@manual{ctan-nidanfloat,
- title = {The \texttt{nidanfloat} package},
- subtitle = {Bottom placement option for double float in two column mode (nidan-kumi)},
- author = {{Japanese \TeX{} Development Community}},
- date = {2018-07-28},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nidanfloat},
- url = {https://ctan.org/pkg/nidanfloat},
-}
-
-@manual{ctan-nih,
- title = {The \texttt{nih} package},
- subtitle = {A class for NIH grant applications},
- author = {Bruce Donald},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nih},
- url = {https://ctan.org/pkg/nih},
-}
-
-@manual{ctan-nihbiosketch,
- title = {The \texttt{nihbiosketch} package},
- subtitle = {A class for NIH biosketches based on the 2015 updated format},
- author = {Paul M. Magwene},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nihbiosketch},
- url = {https://ctan.org/pkg/nihbiosketch},
-}
-
-@manual{ctan-nimbus15,
- title = {The \texttt{nimbus15} package},
- subtitle = {Support files for Nimbus 2015 Core fonts},
- author = {Michael Sharpe},
- date = {2021-04-07},
- version = {1.014},
- license = {other-free,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/nimbus15},
- url = {https://ctan.org/pkg/nimbus15},
-}
-
-@manual{ctan-nimsticks,
- title = {The \texttt{nimsticks} package},
- subtitle = {Draws sticks for games of multi-pile Nim},
- author = {Peter Rowlett},
- date = {2022-08-14},
- version = {2.0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/nimsticks},
- url = {https://ctan.org/pkg/nimsticks},
- annotation = {This \LaTeX{} package provides commands
- to draw a single nim stick and which represents
- games of multi-pile Nim.
- Nim sticks are drawn with a little random wobble so they look
- ‘thrown together’ and not too regular.
- The package also provides
- options to customise the size and colour of the sticks,
- and flexibility to draw heaps of different objects.},
-}
-
-@manual{ctan-ninecolors,
- title = {The \texttt{ninecolors} package},
- subtitle = {Select colors with proper WCAG color contrast},
- author = {Jianrui Lyu},
- date = {2022-02-13},
- version = {2022D},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ninecolors},
- url = {https://ctan.org/pkg/ninecolors},
-}
-
-@manual{ctan-njurepo,
- title = {The \texttt{NJUrepo} package},
- subtitle = {Reports for Nanjing University},
- author = {Zangwei Zheng},
- date = {2019-03-20},
- version = {1.1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/njurepo},
- url = {https://ctan.org/pkg/njurepo},
-}
-
-@manual{ctan-njustthesis,
- title = {The \texttt{njustthesis} package},
- subtitle = {Thesis template for the Nanjing University of Science and Technology},
- author = {Wu Zhenyu},
- date = {2022-03-08},
- version = {0.0.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/njustthesis},
- url = {https://ctan.org/pkg/njustthesis},
- annotation = {This is a thesis template for the
- .},
-}
-
-@manual{ctan-njuthesis,
- title = {The \texttt{njuthesis} package},
- subtitle = {\LaTeX{} thesis template for Nanjing University},
- author = {Yichen Zhao and Yu Xiong},
- date = {2019-01-01},
- version = {1.1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/njuthesis},
- url = {https://ctan.org/pkg/njuthesis},
-}
-
-@manual{ctan-njuvisual,
- title = {The \texttt{njuvisual} package},
- subtitle = {Display logos related to Nanjing University},
- author = {Yu Xiong},
- date = {2022-12-13},
- version = {0.3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/njuvisual},
- url = {https://ctan.org/pkg/njuvisual},
- annotation = {The package collects standard colors and
- logos related to Nanjing University, saves the vector logos
- as pictures and provides a
- user-friendly interface to display them in documents and beamers.},
-}
-
-@manual{ctan-nkarta,
- title = {The \texttt{nkarta} package},
- subtitle = {A "new" version of the karta cartographic fonts},
- author = {Daniel H. Luecking},
- date = {2016-06-24},
- version = {0.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/nkarta},
- url = {https://ctan.org/pkg/nkarta},
- annotation = {A development of the font,
- offering more mathematical stability in Metafont. A version that
- will produce the glyphs as Encapsulated PostScript, using
- MetaPost, is also provided.},
-}
-
-@manual{ctan-nl-interval,
- title = {The \texttt{nl-interval} package},
- subtitle = {Represent intervals on the number line},
- author = {Antero Neves},
- date = {2021-03-18},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/nl-interval},
- url = {https://ctan.org/pkg/nl-interval},
- annotation = {This package provides macros to simplify the process
- of representing intervals on the number line.
- It depends on
- ,
- , and
- .},
-}
-
-@manual{ctan-nlatexdb,
- title = {The \texttt{nlatexdb} package},
- subtitle = {Database reports using \LaTeX{} and .Net (or Mono)},
- author = {Robin Höns},
- date = {2016-06-24},
- version = {0.03},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/nlatexdb},
- url = {https://ctan.org/pkg/nlatexdb},
-}
-
-@manual{ctan-nlctdoc,
- title = {The \texttt{nlctdoc} package},
- subtitle = {Package documentation class},
- author = {Nicola Talbot},
- date = {2022-10-14},
- version = {1.08},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nlctdoc},
- url = {https://ctan.org/pkg/nlctdoc},
-}
-
-@manual{ctan-nmbib,
- title = {The \texttt{nmbib} package},
- subtitle = {Multiple versions of a bibliography, with different sort orders},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.04},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nmbib},
- url = {https://ctan.org/pkg/nmbib},
- annotation = {This package is a rewrite of the
- package
- providing multiple bibliographies with different sorting.
- The new version offers a number of citation commands,
- streamlines the creation of bibliographies,
- ensures compatibility with the
- package, and
- provides other improvements.},
-}
-
-@manual{ctan-nndraw,
- title = {The \texttt{nndraw} package},
- subtitle = {Draw neural networks},
- author = {Carlos Cardoso Dias},
- date = {2021-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/nndraw},
- url = {https://ctan.org/pkg/nndraw},
-}
-
-@manual{ctan-nnext,
- title = {The \texttt{nnext} package},
- subtitle = {Extension for the gb4e package},
- author = {Nicholas LaCara},
- date = {2020-10-08},
- version = {0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nnext},
- url = {https://ctan.org/pkg/nnext},
- annotation = {This is an add-on for the package
- used in linguistics. It implements the ,
- , , and commands
- from the package or the
- , , ,
- , and commands from the package.},
-}
-
-@manual{ctan-nnfootnote,
- title = {The \texttt{nnfootnote} package},
- subtitle = {"No number" footnotes},
- author = {T Mark Ellison},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/nnfootnote.sty},
- url = {https://ctan.org/pkg/nnfootnote},
- annotation = {Defines a command which leaves no mark, but
- adds its argument (and nothing else) to the footnote list for the
- page.},
-}
-
-@manual{ctan-noconflict,
- title = {The \texttt{noconflict} package},
- subtitle = {Resolve macro name conflict between packages},
- author = {M. Zahid Hossain},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/noconflict},
- url = {https://ctan.org/pkg/noconflict},
-}
-
-@manual{ctan-nodetree,
- title = {The \texttt{nodetree} package},
- subtitle = {Visualize node lists in a tree view},
- author = {Josef Friedrich},
- date = {2022-12-17},
- version = {2.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/nodetree},
- url = {https://ctan.org/pkg/nodetree},
- annotation = {is a development package that visualizes the
- structure of node lists. shows its debug
- informations in the console output when you compile a LuaTeX
- file. It uses a similar visual representation for node lists as
- the UNIX command for a folder structure.},
-}
-
-@manual{ctan-nofill,
- title = {The \texttt{nofill} package},
- subtitle = {Preserve spaces and line breaks when setting text},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/nofill.tex},
- url = {https://ctan.org/pkg/nofill},
- annotation = {The commands and bracket text in
- which multiple spaces are not collapsed into a single space, and
- spaces at the start of line are preserved.},
-}
-
-@manual{ctan-nohyph,
- title = {The \texttt{nohyph} package},
- subtitle = {Norwegian hyphenation},
- author = {Rune Kleveland and Ole Michael Selberg and Karl Ove Hufthammer},
- date = {2016-11-05},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/hyphenation/nohyph},
- url = {https://ctan.org/pkg/nohyph},
- annotation = {The directory holds the
- ,
- together with a couple of exception files, one for Norwegian
- Bokmål (nbhyph.tex) and one for Norwegian Nynorsk (nnhyph.tex).
- Each exception file may be used as a hyphenation file in its own
- right, since each also loads the main patterns.},
-}
-
-@manual{ctan-nohyphbx,
- title = {The \texttt{nohyphbx} package},
- subtitle = {General hyphenation patterns for Norwegian},
- author = {Rune Kleveland and Ole Michael Selberg},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/nohyph/nohyphbx.tex},
- url = {https://ctan.org/pkg/nohyphbx},
-}
-
-@manual{ctan-noindentafter,
- title = {The \texttt{noindentafter} package},
- subtitle = {Prevent paragraph indentation after environments or macros},
- author = {Michiel Helvensteijn and Falk Hanisch},
- date = {2021-05-14},
- version = {1.00},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/noindentafter},
- url = {https://ctan.org/pkg/noindentafter},
-}
-
-@manual{ctan-noitcrul,
- title = {The \texttt{noitcrul} package},
- subtitle = {Improved underlines in mathematics},
- author = {Paul Ebermann},
- date = {2020-03-09},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/noitcrul},
- url = {https://ctan.org/pkg/noitcrul},
- annotation = {The package provides a (maths mode) variant
- which doesn’t impose italics correction at the end.},
-}
-
-@manual{ctan-nolbreaks,
- title = {The \texttt{nolbreaks} package},
- subtitle = {No line breaks in text},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {1.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nolbreaks},
- url = {https://ctan.org/pkg/nolbreaks},
- annotation = {Use to prevent line breaks in
- “some text”. This has the advantage over
- that glue (rubber space) remains flexible. Most
- common cases are handled here ( is disabled,
- for example) but spaces hidden in macros or can still
- create break-points.},
-}
-
-@manual{ctan-nomencl,
- title = {The \texttt{nomencl} package},
- subtitle = {Produce lists of symbols as in nomenclature},
- author = {Boris Veytsman and C. V. Radhakrishnan and Lee Netherton and Bernd Schandl},
- date = {2021-11-11},
- version = {5.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nomencl},
- url = {https://ctan.org/pkg/nomencl},
- annotation = {Produces lists of symbols using the capabilities of the
- program.},
-}
-
-@manual{ctan-nomentbl,
- title = {The \texttt{nomentbl} package},
- subtitle = {Nomenclature typeset in a longtable},
- author = {Brian Elmegaard},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nomentbl},
- url = {https://ctan.org/pkg/nomentbl},
- annotation = {Nomentbl typeset nomenclatures in a longtable instead of the
- makeindex style of . A
- nomenclature entry may have three arguments: Symbol, description
- and physical unit.},
-}
-
-@manual{ctan-nonfloat,
- title = {The \texttt{nonfloat} package},
- subtitle = {Non-floating table and figure captions},
- author = {Kai Rascher},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nonfloat},
- url = {https://ctan.org/pkg/nonfloat},
-}
-
-@manual{ctan-nonumonpart,
- title = {The \texttt{nonumonpart} package},
- subtitle = {Prevent page numbers on part pages},
- author = {Yvon Henel},
- date = {2016-06-24},
- version = {1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nonumonpart},
- url = {https://ctan.org/pkg/nonumonpart},
-}
-
-@manual{ctan-nopageno,
- title = {The \texttt{nopageno} package},
- subtitle = {No page numbers in \LaTeX{} documents},
- author = {David Carlisle},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nopageno},
- url = {https://ctan.org/pkg/nopageno},
- annotation = {LaTeX’s standard styles use two page styles, one on normal
- pages and one on ‘opening’ pages with
- or , etc. Unfortunately
- there is only easy access to changing one of these two so if you
- want something other than ‘plain’ on the opening
- pages you must use on each such page. The
- package does provide a more
- flexible interface, but if you just want an empty page style on
- all pages then this package will do the job.},
-}
-
-@manual{ctan-noprot,
- title = {The \texttt{noprot} package},
- subtitle = {Avoid the need for protection},
- author = {Sami Sozuer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/noprot.sty},
- url = {https://ctan.org/pkg/noprot},
-}
-
-@manual{ctan-norbib,
- title = {The \texttt{norbib} package},
- subtitle = {Norwegian bibliography styles},
- author = {Dag Langmyhr},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/norbib},
- url = {https://ctan.org/pkg/norbib},
-}
-
-@manual{ctan-normalcolor,
- title = {The \texttt{normalcolor} package},
- subtitle = {Changing \textbackslash{}normalcolor},
- author = {Markus Kohm},
- date = {2016-11-16},
- version = {r11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/normalcolor},
- url = {https://ctan.org/pkg/normalcolor},
- annotation = {This package provides a command
- with the same syntax as the command
- either of package
- or of package .
- However, will not change
- the colour but the
- / color.},
-}
-
-@manual{ctan-nostarch,
- title = {The \texttt{nostarch} package},
- subtitle = {\LaTeX{} class for No Starch Press},
- author = {Boris Veytsman},
- date = {2017-04-18},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nostarch},
- url = {https://ctan.org/pkg/nostarch},
-}
-
-@manual{ctan-notes,
- title = {The \texttt{notes} package},
- subtitle = {Mark sections of a document},
- author = {Duncan Webb},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/notes},
- url = {https://ctan.org/pkg/notes},
- annotation = {The package provides environments to highlight significant
- portions of text within a document, by putting the text in a box
- and adding an icon in the margin. (The icons are provided as
- ‘fig’ sources, processable by
- .)},
-}
-
-@manual{ctan-notes2bib,
- title = {The \texttt{notes2bib} package},
- subtitle = {Integrating notes into the bibliography},
- author = {Joseph Wright},
- date = {2019-09-30},
- version = {2.0m},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/notes2bib},
- url = {https://ctan.org/pkg/notes2bib},
-}
-
-@manual{ctan-notespages,
- title = {The \texttt{NotesPages} package},
- subtitle = {Filling documents with notes pages and notes areas},
- author = {Mike Kaufmann},
- date = {2016-08-21},
- version = {0.8.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/notespages},
- url = {https://ctan.org/pkg/notespages},
-}
-
-@manual{ctan-notestex,
- title = {The \texttt{NotesTeX} package},
- subtitle = {An all-in-one \LaTeX{} notes package for students},
- author = {Aditya Dhumuntarao},
- date = {2017-09-26},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/notestex},
- url = {https://ctan.org/pkg/notestex},
-}
-
-@manual{ctan-notex-bst,
- title = {The \texttt{noTeX-bst} package},
- subtitle = {A BibTeX style that outputs HTML},
- author = {Sebastiano Vigna},
- date = {2016-10-28},
- license = {pd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/misc/noTeX.bst},
- url = {https://ctan.org/pkg/notex-bst},
-}
-
-@manual{ctan-noto-emoji,
- title = {The \texttt{noto-emoji} package},
- subtitle = {Noto Emoji fonts},
- author = {Xiangdong Zeng},
- date = {2022-03-22},
- version = {2.034},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/noto-emoji},
- url = {https://ctan.org/pkg/noto-emoji},
-}
-
-@manual{ctan-noto,
- title = {The \texttt{noto} package},
- subtitle = {Support for Noto fonts},
- author = {Bob Tennent},
- date = {2022-09-11},
- version = {},
- license = {lppl,ofl},
- mirror = {https://mirror.ctan.org/fonts/noto},
- url = {https://ctan.org/pkg/noto},
-}
-
-@manual{ctan-notoccite,
- title = {The \texttt{notoccite} package},
- subtitle = {Prevent trouble from citations in table of contents, etc},
- author = {Donald Arseneau},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/notoccite},
- url = {https://ctan.org/pkg/notoccite},
- annotation = {If you have commands in -like
- commands, or in , the citation will also appear
- in the table of contents, or list of whatever. If you are also
- using an unsrt-like bibliography style, these citations will come
- at the very start of the bibliography, which is confusing. This
- package suppresses the effect.},
-}
-
-@manual{ctan-notocjksc,
- title = {The \texttt{notoCJKsc} package},
- subtitle = {This package provides Noto CJK fonts},
- author = {Harry Zhou},
- date = {2021-09-11},
- version = {1.004},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/notocjksc},
- url = {https://ctan.org/pkg/notocjksc},
-}
-
-@manual{ctan-notocondensed,
- title = {The \texttt{notocondensed} package},
- subtitle = {Support for the condensed variants of the Noto fonts},
- author = {Bob Tennent},
- date = {2022-09-11},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/notocondensed},
- url = {https://ctan.org/pkg/notocondensed},
-}
-
-@manual{ctan-notomath,
- title = {The \texttt{notomath} package},
- subtitle = {Math support for Noto fonts},
- author = {Michael Sharpe},
- date = {2021-03-25},
- version = {1.02},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/notomath},
- url = {https://ctan.org/pkg/notomath},
- annotation = {Math support via
- for Google's .
- (Regular and Bold weights only.)},
-}
-
-@manual{ctan-novel,
- title = {The \texttt{novel} package},
- subtitle = {Class for printing fiction, such as novels},
- author = {Robert Allgeyer},
- date = {2023-02-15},
- version = {1.80},
- license = {lppl1.3c,ofl},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/novel},
- url = {https://ctan.org/pkg/novel},
-}
-
-@manual{ctan-noweb,
- title = {The \texttt{noweb} package},
- subtitle = {A simple extensible literate programming tool},
- author = {Norman Ramsey},
- date = {2018-06-29},
- version = {2.12},
- license = {other-free,bsd2},
- mirror = {https://mirror.ctan.org/web/noweb},
- url = {https://ctan.org/pkg/noweb},
-}
-
-@manual{ctan-nowidow,
- title = {The \texttt{nowidow} package},
- subtitle = {Avoid widows},
- author = {Raphaël Pinson},
- date = {2018-01-31},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nowidow},
- url = {https://ctan.org/pkg/nowidow},
-}
-
-@manual{ctan-nox,
- title = {The \texttt{nox} package},
- subtitle = {Adaptable tables},
- author = {Matthias Borck-Elsner and Rainer Schöpf},
- date = {2019-04-03},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nox},
- url = {https://ctan.org/pkg/nox},
-}
-
-@manual{ctan-npp-for-context,
- title = {The \texttt{npp-for-context} package},
- subtitle = {ConTeXt plugin for Notepad++},
- author = {Luigi Scarso and Idris Samawi Hamid},
- date = {2019-06-21},
- version = {0.98},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/npp-for-context},
- url = {https://ctan.org/pkg/npp-for-context},
-}
-
-@manual{ctan-nrc,
- title = {The \texttt{nrc} package},
- subtitle = {Class for the NRC technical journals},
- author = {Robin Fairbairns and Christina Thiele},
- date = {2016-06-24},
- version = {2.01a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nrc},
- url = {https://ctan.org/pkg/nrc},
- annotation = {Macros, and some documentation, for typesetting papers for
- submission to journals published by the National Research
- Council Research Press. At present, only (for
- two-column layout) should be used.},
-}
-
-@manual{ctan-ntabbing,
- title = {The \texttt{ntabbing} package},
- subtitle = {Simple tabbing extension for automatic line numbering},
- author = {Gideon Stupp},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ntabbing},
- url = {https://ctan.org/pkg/ntabbing},
- annotation = {An extension of the tabbing environment that supports automatic
- line numbering. The lines can be referenced using the standard
- and mechanism.},
-}
-
-@manual{ctan-ntg-maps,
- title = {The \texttt{ntg-maps} package},
- subtitle = {The NTG's journal MAPS},
- author = {{Nederlandstalige \TeX{} Gebruikersgroep}},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/usergrps/ntg/maps},
- url = {https://ctan.org/pkg/ntg-maps},
-}
-
-@manual{ctan-ntg,
- title = {The \texttt{ntg} package},
- subtitle = {Dutch \TeX{} Users Group information},
- author = {{Unknown}},
- date = {2016-06-18},
- license = {other-free},
- mirror = {https://mirror.ctan.org/usergrps/ntg},
- url = {https://ctan.org/pkg/ntg},
-}
-
-@manual{ctan-ntgclass,
- title = {The \texttt{ntgclass} package},
- subtitle = {"European" versions of standard classes},
- author = {Victor Eijkhout and Johannes L. Braams},
- date = {2023-01-10},
- version = {2.1f},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ntgclass},
- url = {https://ctan.org/pkg/ntgclass},
-}
-
-@manual{ctan-nth,
- title = {The \texttt{nth} package},
- subtitle = {Generate English ordinal numbers},
- author = {Donald Arseneau},
- date = {2020-04-11},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/misc/nth.sty},
- url = {https://ctan.org/pkg/nth},
- annotation = {The command generates English ordinal
- numbers of the form 1st, 2nd, 3rd, 4th, etc. \LaTeX{} package
- options may specify that the ordinal mark be superscripted, and that
- negative numbers may be treated; Plain \TeX{} users have no access to
- package options, so need to redefine macros for these changes.},
-}
-
-@manual{ctan-ntheorem-vn,
- title = {The \texttt{ntheorem-vn} package},
- subtitle = {Vietnamese translation of documentation of ntheorem},
- author = {Ky-Anh Huynh},
- date = {2020-03-19},
- version = {1.203},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/ntheorem/vn},
- url = {https://ctan.org/pkg/ntheorem-vn},
- annotation = {This is a translation of the documentation provided with
- .},
-}
-
-@manual{ctan-ntheorem,
- title = {The \texttt{ntheorem} package},
- subtitle = {Enhanced theorem environment},
- author = {Wolfgang May and Andreas Schedler},
- date = {2017-04-18},
- version = {1.33},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ntheorem},
- url = {https://ctan.org/pkg/ntheorem},
-}
-
-@manual{ctan-nts-l,
- title = {The \texttt{NTS-L} package},
- subtitle = {NTS mailing list digests},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {digest},
- mirror = {https://mirror.ctan.org/info/digests/nts-l},
- url = {https://ctan.org/pkg/nts-l},
- annotation = {This bundle holds postings from the
- mailing list , from 1992-05 to 1995-01.},
-}
-
-@manual{ctan-nts,
- title = {The \texttt{NTS} package},
- subtitle = {New Typesetting System},
- author = {{The NTS Project}},
- date = {2016-06-24},
- version = {1.00-beta},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/nts},
- url = {https://ctan.org/pkg/nts},
-}
-
-@manual{ctan-ntsfaq,
- title = {The \texttt{ntsfaq} package},
- subtitle = {Frequently answered questions about \TeX{} extension},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {5},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/NTS-FAQ},
- url = {https://ctan.org/pkg/ntsfaq},
-}
-
-@manual{ctan-nuc,
- title = {The \texttt{nuc} package},
- subtitle = {Notation for nuclear isotopes},
- author = {Neal Davis},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nuc},
- url = {https://ctan.org/pkg/nuc},
-}
-
-@manual{ctan-nucleardata,
- title = {The \texttt{nucleardata} package},
- subtitle = {Provides data about atomic nuclides for documents},
- author = {William G. Nettles},
- date = {2018-04-05},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nucleardata},
- url = {https://ctan.org/pkg/nucleardata},
- annotation = {The package provides data and commands for including nuclear
- and atomic mass and energy data in \LaTeX{} documents.
- It uses the package
- and requires to be called with the
- \TeX{} file as the argument.},
-}
-
-@manual{ctan-numalg,
- title = {The \texttt{numalg} package},
- subtitle = {BibTeX style for Kluwer's Numerical Algorithms},
- author = {Richard J Mathar},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/biblio/bibtex/contrib/misc/numalg.bst},
- url = {https://ctan.org/pkg/numalg},
-}
-
-@manual{ctan-numberedblock,
- title = {The \texttt{numberedblock} package},
- subtitle = {Print a block of code, with unique index number},
- author = {Steven B. Segletes},
- date = {2016-06-24},
- version = {1.10},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numberedblock},
- url = {https://ctan.org/pkg/numberedblock},
-}
-
-@manual{ctan-numberpt,
- title = {The \texttt{numberpt} package},
- subtitle = {Counters spelled out in Portuguese},
- author = {Miguel Vinícius Santini Frasson},
- date = {2019-07-21},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numberpt},
- url = {https://ctan.org/pkg/numberpt},
-}
-
-@manual{ctan-numending,
- title = {The \texttt{numending} package},
- subtitle = {Generates morphological end of units},
- author = {Dariya Kirillova},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numending},
- url = {https://ctan.org/pkg/numending},
-}
-
-@manual{ctan-numerica-plus,
- title = {The \texttt{numerica-plus} package},
- subtitle = {Iteration and recurrence relations: finding fixed points, zeros and extrema of functions},
- author = {Andrew Parsloe},
- date = {2021-12-15},
- version = {2.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numerica-plus},
- url = {https://ctan.org/pkg/numerica-plus},
-}
-
-@manual{ctan-numerica-tables,
- title = {The \texttt{numerica-tables} package},
- subtitle = {Create multi-column tables of mathematical functions},
- author = {Andrew Parsloe},
- date = {2021-12-15},
- version = {2.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numerica-tables},
- url = {https://ctan.org/pkg/numerica-tables},
-}
-
-@manual{ctan-numerica,
- title = {The \texttt{numerica} package},
- subtitle = {Numerically evaluate mathematical expressions in \LaTeX{} form},
- author = {Andrew Parsloe},
- date = {2021-12-12},
- version = {2.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numerica},
- url = {https://ctan.org/pkg/numerica},
-}
-
-@manual{ctan-numericplots,
- title = {The \texttt{numericplots} package},
- subtitle = {Plot numeric data (including Matlab export) using PSTricks},
- author = {Thomas König and Alexander Michel},
- date = {2016-06-24},
- version = {2.0.2},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/numericplots},
- url = {https://ctan.org/pkg/numericplots},
-}
-
-@manual{ctan-numline,
- title = {The \texttt{numline} package},
- subtitle = {\LaTeX{} macros for numbering lines},
- author = {Michal Jaegermann and James Fortune},
- date = {2019-06-21},
- version = {1.3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/numline},
- url = {https://ctan.org/pkg/numline},
-}
-
-@manual{ctan-numname,
- title = {The \texttt{numname} package},
- subtitle = {Convert a number to its English expression},
- author = {S Joshua Swamidass},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numname},
- url = {https://ctan.org/pkg/numname},
-}
-
-@manual{ctan-numnameru,
- title = {The \texttt{numnameru} package},
- subtitle = {Converts a number to the russian spelled out name},
- author = {{Vit}},
- date = {2018-01-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numnameru},
- url = {https://ctan.org/pkg/numnameru},
-}
-
-@manual{ctan-numprint,
- title = {The \texttt{numprint} package},
- subtitle = {Print numbers with separators and exponent if necessary},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {1.39},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numprint},
- url = {https://ctan.org/pkg/numprint},
-}
-
-@manual{ctan-numspell,
- title = {The \texttt{numspell} package},
- subtitle = {Spelling cardinal and ordinal numbers},
- author = {Tibor Tómács},
- date = {2021-11-23},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/numspell},
- url = {https://ctan.org/pkg/numspell},
-}
-
-@manual{ctan-nunito,
- title = {The \texttt{Nunito} package},
- subtitle = {The Nunito font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-01-18},
- version = {0.0.1},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/nunito},
- url = {https://ctan.org/pkg/nunito},
-}
-
-@manual{ctan-nwafuthesis,
- title = {The \texttt{nwafuthesis} package},
- subtitle = {A thesis template package for Northwest A\&F University, China},
- author = {Nan Geng},
- date = {2022-05-29},
- version = {1.15},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/nwafuthesis},
- url = {https://ctan.org/pkg/nwafuthesis},
-}
-
-@manual{ctan-nwejm,
- title = {The \texttt{nwejm} package},
- subtitle = {Support for the journal “North-Western European Journal of Mathematics”},
- author = {Denis Bitouzé},
- date = {2022-09-21},
- version = {1.0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nwejm},
- url = {https://ctan.org/pkg/nwejm},
- annotation = {The bundle includes \LaTeX{} classes and Bib\LaTeX{} styles files
- dedicated to the new journal :},
-}
-
-@manual{ctan-oands,
- title = {The \texttt{oands} package},
- subtitle = {Glyphs used when transliterating ancient scripts},
- author = {Peter R. Wilson},
- date = {2016-06-18},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/oands},
- url = {https://ctan.org/pkg/oands},
-}
-
-@manual{ctan-obas,
- title = {The \texttt{obas} package},
- subtitle = {Web based interface to a bibliographical database},
- author = {Derick van Heerden},
- date = {2016-06-24},
- license = {gpl},
- url = {https://ctan.org/pkg/obas},
-}
-
-@manual{ctan-oberdiek,
- title = {The \texttt{oberdiek} package},
- subtitle = {A bundle of packages submitted by Heiko Oberdiek},
- author = {Heiko Oberdiek},
- date = {2023-01-10},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek},
- url = {https://ctan.org/pkg/oberdiek},
-}
-
-@manual{ctan-objectz,
- title = {The \texttt{objectz} package},
- subtitle = {Macros for typesetting Object Z},
- author = {Sebastian Rahtz and David Leadbetter},
- date = {2021-05-26},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/objectz},
- url = {https://ctan.org/pkg/objectz},
- annotation = {The package will typeset both Z and Object-Z specifications; it
- develops the original package},
-}
-
-@manual{ctan-obnov,
- title = {The \texttt{obnov} package},
- subtitle = {Obyknovennaya Novaya fonts},
- author = {Basil Solomykov},
- date = {2016-06-24},
- version = {0.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/obnov},
- url = {https://ctan.org/pkg/obnov},
-}
-
-@manual{ctan-obsolete,
- title = {The \texttt{obsolete} package},
- subtitle = {A tree holding obsolete software},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {collection},
- mirror = {https://mirror.ctan.org/obsolete},
- url = {https://ctan.org/pkg/obsolete},
-}
-
-@manual{ctan-oca,
- title = {The \texttt{oca} package},
- subtitle = {OCR A font},
- author = {Richard B. Wales},
- date = {2019-06-21},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/oca},
- url = {https://ctan.org/pkg/oca},
-}
-
-@manual{ctan-occam,
- title = {The \texttt{occam} package},
- subtitle = {Strip unnecessary macros from a file},
- author = {Laurent Siebenmann},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/occam},
- url = {https://ctan.org/pkg/occam},
-}
-
-@manual{ctan-ocg-p,
- title = {The \texttt{ocg-p} package},
- subtitle = {PDF OCG support in \LaTeX{}},
- author = {Moshammer Werner},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ocg-p},
- url = {https://ctan.org/pkg/ocg-p},
-}
-
-@manual{ctan-ocgtools,
- title = {The \texttt{ocgtools} package},
- subtitle = {Manipulate OCG layers in PDF presentations},
- author = {Robert Mařík},
- date = {2016-06-24},
- version = {0.95a},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ocgtools},
- url = {https://ctan.org/pkg/ocgtools},
-}
-
-@manual{ctan-ocgx,
- title = {The \texttt{ocgx} package},
- subtitle = {Use OCGs within a PDF document without JavaScript},
- author = {Paul Gaborit},
- date = {2016-12-28},
- version = {0.5},
- license = {lppl,lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ocgx},
- url = {https://ctan.org/pkg/ocgx},
-}
-
-@manual{ctan-ocgx2,
- title = {The \texttt{ocgx2} package},
- subtitle = {Drop-in replacement for ‘ocgx’ and ‘ocg-p’},
- author = {Alexander Grahn},
- date = {2022-12-16},
- version = {0.56},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ocgx2},
- url = {https://ctan.org/pkg/ocgx2},
-}
-
-@manual{ctan-ochem,
- title = {The \texttt{ochem} package},
- subtitle = {Typeset chemical formulae with \LaTeX{}},
- author = {Ingo Klöckl},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/ochem},
- url = {https://ctan.org/pkg/ochem},
-}
-
-@manual{ctan-ocherokee,
- title = {The \texttt{ocherokee} package},
- subtitle = {\LaTeX{} Support for the Cherokee language},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/cherokee/ocherokee},
- url = {https://ctan.org/pkg/ocherokee},
-}
-
-@manual{ctan-ocr-a,
- title = {The \texttt{ocr-a} package},
- subtitle = {Fonts for OCR-A},
- author = {Richard B. Wales and Tor Lillqvist},
- date = {2018-01-06},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/ocr-a},
- url = {https://ctan.org/pkg/ocr-a},
-}
-
-@manual{ctan-ocr-b-outline,
- title = {The \texttt{ocr-b-outline} package},
- subtitle = {OCR-B fonts in Type 1 and OpenType},
- author = {Zdeněk Wagner},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/ocr-b-outline},
- url = {https://ctan.org/pkg/ocr-b-outline},
- annotation = {The package contains OCR-B fonts in Type1 and OpenType
- formats. They were generated from the Metafont sources of the
- . The metric files are not
- included here, so that original ocr-b package should also be
- installed.},
-}
-
-@manual{ctan-ocr-b,
- title = {The \texttt{ocr-b} package},
- subtitle = {Fonts for OCR-B},
- author = {Norbert Schwarz},
- date = {2018-01-06},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/ocr-b},
- url = {https://ctan.org/pkg/ocr-b},
-}
-
-@manual{ctan-ocr-latex,
- title = {The \texttt{ocr-latex} package},
- subtitle = {\LaTeX{} support for ocr fonts},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ocr-latex},
- url = {https://ctan.org/pkg/ocr-latex},
- annotation = {The package supports use of both
- and fonts in \LaTeX{} documents.},
-}
-
-@manual{ctan-octave,
- title = {The \texttt{octave} package},
- subtitle = {Typeset musical pitches with octave designations},
- author = {Andrew A. Cashner},
- date = {2023-02-15},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/octave},
- url = {https://ctan.org/pkg/octave},
- annotation = {This package package typesets musical pitch names with
- designation for the octave in either
- the Helmholtz system (with octave numbers),
- or the traditional system (with prime symbols).
- Authors can just write and
- the pitches will be rendered correctly depending on
- which package option was selected.
- The system can also be changed mid-document.},
-}
-
-@manual{ctan-octavo,
- title = {The \texttt{octavo} package},
- subtitle = {Typeset books following classical design and layout},
- author = {Stefan A Revets},
- date = {2018-01-06},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/octavo},
- url = {https://ctan.org/pkg/octavo},
-}
-
-@manual{ctan-odsfile,
- title = {The \texttt{odsfile} package},
- subtitle = {Read OpenDocument Spreadsheet documents as \LaTeX{} tables},
- author = {Michal Hoftich},
- date = {2022-12-13},
- version = {0.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/odsfile},
- url = {https://ctan.org/pkg/odsfile},
-}
-
-@manual{ctan-oesch,
- title = {The \texttt{oesch} package},
- subtitle = {Font to provide the Österreichische Schulschrift},
- author = {Gerhard A. Bachmaier},
- date = {2017-05-30},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/oesch},
- url = {https://ctan.org/pkg/oesch},
-}
-
-@manual{ctan-ofntinst,
- title = {The \texttt{ofntinst} package},
- subtitle = {Install Type 1 for use with Omega},
- author = {Alexey Kryukov},
- date = {2016-06-24},
- version = {0.2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/utilities/fontinst-contrib/ofntinst},
- url = {https://ctan.org/pkg/ofntinst},
- annotation = {This is a plug-in for ,
- which takes several Type 1 fonts and merges them into one large
- (Unicode) virtual font for use with Omega.},
-}
-
-@manual{ctan-ofs,
- title = {The \texttt{ofs} package},
- subtitle = {Macros for managing large font collections},
- author = {Petr Olšák},
- date = {2017-04-18},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/generic/ofs},
- url = {https://ctan.org/pkg/ofs},
- annotation = {OFS (Olsak's Font System) is a set of Plain \TeX{} and \LaTeX{} macros for
- managing large font collections; it has been used by Czech/Slovak
- users for many years. Main features include:},
-}
-
-@manual{ctan-ogham,
- title = {The \texttt{ogham} package},
- subtitle = {Fonts for typesetting Ogham script},
- author = {Alan Stanier and Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/ogham},
- url = {https://ctan.org/pkg/ogham},
-}
-
-@manual{ctan-ogonek,
- title = {The \texttt{ogonek} package},
- subtitle = {Support for Polish typography and the ogonek},
- author = {Janusz Stanisław Bień},
- date = {2019-06-21},
- version = {0.51},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ogonek},
- url = {https://ctan.org/pkg/ogonek},
- annotation = {Defines a accent command that, even in the absence of
- T1- or Polish-encoded fonts, permits an ogonek diacritic.},
-}
-
-@manual{ctan-oinuit,
- title = {The \texttt{oinuit} package},
- subtitle = {\LaTeX{} Support for the Inuktitut Language},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/inuktitut/oinuit},
- url = {https://ctan.org/pkg/oinuit},
-}
-
-@manual{ctan-okuda,
- title = {The \texttt{okuda} package},
- subtitle = {Fonts for Klingon},
- author = {Olaf Kummer and Mark Shoulson},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/okuda},
- url = {https://ctan.org/pkg/okuda},
-}
-
-@manual{ctan-old-arrows,
- title = {The \texttt{old-arrows} package},
- subtitle = {Computer Modern old-style arrows with smaller arrowheads},
- author = {Riccardo Dossena},
- date = {2017-01-05},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/old-arrows},
- url = {https://ctan.org/pkg/old-arrows},
- annotation = {This package provides Computer Modern old-style arrows
- with smaller arrowheads,
- associated with the usual \LaTeX{} commands.
- It can be used in documents that contain other
- arrow characters
- that also have small arrowheads.
- It is also possible to use the usual
- new-style Computer Modern arrows
- together with the old-style ones.},
-}
-
-@manual{ctan-old-faq-en,
- title = {The \texttt{old-faq-en} package},
- subtitle = {An early FAQ in English},
- author = {Bobby Bodenheimer},
- date = {2019-09-27},
- version = {1.53},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/help/TeX,_LaTeX,_etc.:_Frequently_Asked_Questions_with_Answers},
- url = {https://ctan.org/pkg/old-faq-en},
-}
-
-@manual{ctan-old-fontch,
- title = {The \texttt{old-fontch} package},
- subtitle = {Changing fonts, sizes and encodings in Plain \TeX{} (obsolete version)},
- author = {Rodrigo Medina},
- date = {2016-06-24},
- version = {2.},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/plain/contrib/fontch20},
- url = {https://ctan.org/pkg/old-fontch},
-}
-
-@manual{ctan-oldlatin,
- title = {The \texttt{oldlatin} package},
- subtitle = {Compute Modern-like font with long s},
- author = {Tera Terashita},
- date = {2016-06-24},
- version = {1.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/gothic/oldlatin},
- url = {https://ctan.org/pkg/oldlatin},
-}
-
-@manual{ctan-oldprsn,
- title = {The \texttt{oldprsn} package},
- subtitle = {Fonts old Persian cuneiform script},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/oldprsn},
- url = {https://ctan.org/pkg/oldprsn},
-}
-
-@manual{ctan-oldstandard,
- title = {The \texttt{oldstandard} package},
- subtitle = {OldStandard fonts with \LaTeX{} support},
- author = {Alexey Kryukov and Nikola Lečić and Robert Alessi and Bob Tennent},
- date = {2022-09-21},
- version = {2.6},
- license = {ofl,lppl,gpl},
- mirror = {https://mirror.ctan.org/fonts/oldstandard},
- url = {https://ctan.org/pkg/oldstandard},
-}
-
-@manual{ctan-oldstandardt1,
- title = {The \texttt{OldStandardT1} package},
- subtitle = {Type 1 versions of Old Standard fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2018-01-07},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/oldstandardt1},
- url = {https://ctan.org/pkg/oldstandardt1},
-}
-
-@manual{ctan-oldstyle,
- title = {The \texttt{oldstyle} package},
- subtitle = {Old style numbers in OT1 encoding},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oldstyle},
- url = {https://ctan.org/pkg/oldstyle},
- annotation = {Font information needed to load the and
- fonts for use to produce oldstyle numbers.},
-}
-
-@manual{ctan-oletex,
- title = {The \texttt{oletex} package},
- subtitle = {OLE - \LaTeX{} interface},
- author = {Peter Trifonov},
- date = {2017-04-18},
- version = {1.0 b4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/win32/oletex},
- url = {https://ctan.org/pkg/oletex},
-}
-
-@manual{ctan-olsak-misc,
- title = {The \texttt{olsak-misc} package},
- subtitle = {Collection of plain \TeX{} macros written by Petr Olšák},
- author = {Petr Olšák},
- date = {2022-08-04},
- version = {Aug. 2022},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/olsak-misc},
- url = {https://ctan.org/pkg/olsak-misc},
-}
-
-@manual{ctan-omega,
- title = {The \texttt{omega} package},
- subtitle = {A wide-character-set extension of \TeX{}},
- author = {Yannis Haralambous and John Plaice},
- date = {2017-04-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/systems/omega},
- url = {https://ctan.org/pkg/omega},
-}
-
-@manual{ctan-one2many,
- title = {The \texttt{12many} package},
- subtitle = {Generalising mathematical index sets},
- author = {Ulrich M. Schwarz},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/12many},
- url = {https://ctan.org/pkg/one2many},
- annotation = {In the discrete branches of mathematics and the computer sciences, it
- will only take some seconds before you're faced with a set like
- {1,...,m}. Some people write , others
- , and the journal you're submitting
- to might want something else entirely. The 12many package provides
- an interface that makes changing from one to another a one-line
- change.},
-}
-
-@manual{ctan-onedown,
- title = {The \texttt{OneDown} package},
- subtitle = {Typeset Bridge Diagrams},
- author = {Jacob Wiersma},
- date = {2021-04-27},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/onedown},
- url = {https://ctan.org/pkg/onedown},
-}
-
-@manual{ctan-onepagem,
- title = {The \texttt{onepagem} package},
- subtitle = {If the document has only one page, omit page number},
- author = {Mike Piff and Robin Fairbairns and David Carlisle},
- date = {2018-09-13},
- version = {1.01a},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/piff/onepagem.sty},
- url = {https://ctan.org/pkg/onepagem},
-}
-
-@manual{ctan-onlyamsmath,
- title = {The \texttt{onlyamsmath} package},
- subtitle = {Inhibit use of non-amsmath mathematics markup when using amsmath},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.20},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/onlyamsmath},
- url = {https://ctan.org/pkg/onlyamsmath},
- annotation = {This package inhibits the usage of plain \TeX{} and (on demand) of
- standard \LaTeX{} mathematics environments.
- This is useful for class writers who want to encourage their
- users to use the environments provided by the
- package.},
-}
-
-@manual{ctan-onrannual,
- title = {The \texttt{onrannual} package},
- subtitle = {Class for Office of Naval Research Ocean Battlespace Sensing annual report},
- author = {Adam R. Maxwell},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/onrannual},
- url = {https://ctan.org/pkg/onrannual},
-}
-
-@manual{ctan-oops,
- title = {The \texttt{oops} package},
- subtitle = {A framework for making definitions, typically mathematical, inline},
- author = {Erwann Rogard},
- date = {2020-04-16},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/oops},
- url = {https://ctan.org/pkg/oops},
-}
-
-@manual{ctan-opacity-pro,
- title = {The \texttt{opacity-pro} package},
- subtitle = {Set transparency and blend mode},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/opacity-pro},
- url = {https://ctan.org/pkg/opacity-pro},
-}
-
-@manual{ctan-opcit,
- title = {The \texttt{opcit} package},
- subtitle = {Footnote-style bibliographical references},
- author = {Federico Garcia-De Castro},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/opcit},
- url = {https://ctan.org/pkg/opcit},
-}
-
-@manual{ctan-opencolor,
- title = {The \texttt{opencolor} package},
- subtitle = {Definitions from the Open Color library},
- author = {Michele Piazzai},
- date = {2023-03-05},
- version = {1.0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/opencolor},
- url = {https://ctan.org/pkg/opencolor},
- annotation = {This package provides hexadecimal color definitions of the
- 130 colors included in the
-
- library.},
-}
-
-@manual{ctan-opensans,
- title = {The \texttt{opensans} package},
- subtitle = {The Open Sans font family, and \LaTeX{} support},
- author = {Mohamed El Morabity},
- date = {2019-06-24},
- version = {2.2},
- license = {apache2,lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/opensans},
- url = {https://ctan.org/pkg/opensans},
- annotation = {Open Sans is a humanist sans serif typeface designed by Steve
- Matteson; the font is available from the Google Font Directory as
- TrueType files licensed under the Apache License version 2.0. The
- package provides support for this font family in \LaTeX{}. It
- includes the original TrueType fonts, as well as Type 1 versions,
- converted for this package using FontForge for full support with},
-}
-
-@manual{ctan-oplotsymbl,
- title = {The \texttt{oPlotSymbl} package},
- subtitle = {Some symbols which are not easily available},
- author = {B. Michel Döhring},
- date = {2017-08-04},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oplotsymbl},
- url = {https://ctan.org/pkg/oplotsymbl},
-}
-
-@manual{ctan-opteng,
- title = {The \texttt{opteng} package},
- subtitle = {SPIE Optical Engineering and OE Letters manuscript template},
- author = {{Egan}},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/opteng},
- url = {https://ctan.org/pkg/opteng},
- annotation = {With this template, and associated style and \LaTeX{} packages, it is
- possible to estimate the page length of manuscripts for submission
- to the journals
- ‘Optical Engineering’ and ‘Optical
- Engineering Letters’. With a strict three-page limit, this
- is particularly important for the latter. The template gives
- simple instructions on how to prepare the manuscript.},
-}
-
-@manual{ctan-optex,
- title = {The \texttt{OpTeX} package},
- subtitle = {LuaTeX format based on Plain \TeX{} and OPmac},
- author = {Petr Olšák},
- date = {2023-03-09},
- version = {1.11},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/optex},
- url = {https://ctan.org/pkg/optex},
-}
-
-@manual{ctan-optexcount,
- title = {The \texttt{OpTeXcount} package},
- subtitle = {Python script for counting words in OpTeX documents},
- author = {Richard Hartmann},
- date = {2019-01-01},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/optexcount},
- url = {https://ctan.org/pkg/optexcount},
-}
-
-@manual{ctan-optidef,
- title = {The \texttt{optidef} package},
- subtitle = {Environments for writing optimization problems},
- author = {Jesus Lago Garcia},
- date = {2019-04-23},
- version = {3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/optidef},
- url = {https://ctan.org/pkg/optidef},
-}
-
-@manual{ctan-optional,
- title = {The \texttt{optional} package},
- subtitle = {Facilitate optional printing of parts of a document},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {2.2b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/optional},
- url = {https://ctan.org/pkg/optional},
-}
-
-@manual{ctan-options,
- title = {The \texttt{options} package},
- subtitle = {Provides convenient key-value options for \LaTeX{} package writers},
- author = {Daan Leijen},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/options},
- url = {https://ctan.org/pkg/options},
- annotation = {The options package provides easy to use key-value options for
- \LaTeX{} package writers. It has a similar interface as
- with path options but comes
- with more built-in data types and more convenient support for
- families and searching.},
-}
-
-@manual{ctan-optparams,
- title = {The \texttt{optparams} package},
- subtitle = {Macros with multiple optional parameters},
- author = {Jonathan Sauer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauerj},
- url = {https://ctan.org/pkg/optparams},
-}
-
-@manual{ctan-orcidlink,
- title = {The \texttt{orcidlink} package},
- subtitle = {Insert hyperlinked ORCiD logo},
- author = {Leo Stein},
- date = {2021-06-11},
- version = {1.0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/orcidlink},
- url = {https://ctan.org/pkg/orcidlink},
-}
-
-@manual{ctan-orderer,
- title = {The \texttt{Orderer} package},
- subtitle = {Order references in a \TeX{} file},
- author = {M. Siddikov},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/orderer},
- url = {https://ctan.org/pkg/orderer},
- annotation = {Orderer is a small Perl script that will take a \TeX{} document and
- re-order the references in it. This saves the user from building
- a database.},
-}
-
-@manual{ctan-orderrefs,
- title = {The \texttt{orderrefs} package},
- subtitle = {Sort bibliography in \LaTeX{} document by order of citation},
- author = {John Collins},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/orderrefs},
- url = {https://ctan.org/pkg/orderrefs},
-}
-
-@manual{ctan-ordinalpt,
- title = {The \texttt{ordinalpt} package},
- subtitle = {Counters as ordinal numbers in Portuguese},
- author = {Miguel Vinícius Santini Frasson},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ordinalpt},
- url = {https://ctan.org/pkg/ordinalpt},
- annotation = {The package provides a counter style (like ,
- and others) which produces as output strings like
- “primeiro” (“first” in
- Portuguese), “segundo” (second), and so on up to
- 1999th. Separate counter commands are provided for different
- letter case variants, and for masculine and feminine gender
- inflections.},
-}
-
-@manual{ctan-oriental,
- title = {The \texttt{oriental} package},
- subtitle = {A version of \TeX{} for which Oriental languages are native},
- author = {{Prosoft International}},
- date = {2016-06-24},
- version = {2.1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/language/oriental},
- url = {https://ctan.org/pkg/oriental},
-}
-
-@manual{ctan-orientation,
- title = {The \texttt{orientation} package},
- subtitle = {Set page orientation with dvips/Ghostscript (ps2pdf)},
- author = {Daniel Benjamin Miller},
- date = {2021-01-14},
- version = {1.0},
- license = {cc0},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/orientation},
- url = {https://ctan.org/pkg/orientation},
-}
-
-@manual{ctan-oriya,
- title = {The \texttt{oriya} package},
- subtitle = {Typesetting the Oriya script using \TeX{}},
- author = {Jeroen Hellingman and Anshuman Pandey},
- date = {2016-06-24},
- version = {0.99},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/oriya},
- url = {https://ctan.org/pkg/oriya},
-}
-
-@manual{ctan-orkhun,
- title = {The \texttt{orkhun} package},
- subtitle = {A font for orkhun script},
- author = {Abdugafur Rakhimov},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/orkhun},
- url = {https://ctan.org/pkg/orkhun},
-}
-
-@manual{ctan-os2tex,
- title = {The \texttt{os2tex} package},
- subtitle = {A distribution of \TeX{} for OS/2 Warp},
- author = {Jürgen Kleinböhl},
- date = {2016-06-18},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/os2/os2tex},
- url = {https://ctan.org/pkg/os2tex},
-}
-
-@manual{ctan-osa,
- title = {The \texttt{osa} package},
- subtitle = {Macros for Optical Society of America Journals, etc},
- author = {{Optical Society of America}},
- date = {2017-04-18},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/osa},
- url = {https://ctan.org/pkg/osa},
-}
-
-@manual{ctan-oscola,
- title = {The \texttt{oscola} package},
- subtitle = {Bib\LaTeX{} style for the Oxford Standard for the Citation of Legal Authorities},
- author = {Paul Stanley},
- date = {2020-03-15},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/oscola},
- url = {https://ctan.org/pkg/oscola},
-}
-
-@manual{ctan-osmanian,
- title = {The \texttt{osmanian} package},
- subtitle = {Osmanian font for writing Somali},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/osmanian},
- url = {https://ctan.org/pkg/osmanian},
-}
-
-@manual{ctan-oswald,
- title = {The \texttt{Oswald} package},
- subtitle = {The Oswald family of fonts with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-10-17},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/oswald},
- url = {https://ctan.org/pkg/oswald},
-}
-
-@manual{ctan-ot-tableau,
- title = {The \texttt{ot-tableau} package},
- subtitle = {Optimality Theory tableaux in \LaTeX{}},
- author = {Adam Baker},
- date = {2021-05-23},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ot-tableau},
- url = {https://ctan.org/pkg/ot-tableau},
-}
-
-@manual{ctan-ot2cyr,
- title = {The \texttt{ot2cyr} package},
- subtitle = {Macros, metrics, etc., to use the OT2 Cyrillic encoding},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/ot2cyr},
- url = {https://ctan.org/pkg/ot2cyr},
-}
-
-@manual{ctan-ot2woff,
- title = {The \texttt{OT2Woff} package},
- subtitle = {OpenType to Woff converter},
- author = {Peter Frane Jr},
- date = {2020-10-05},
- version = {1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/fonts/utilities/ot2woff},
- url = {https://ctan.org/pkg/ot2woff},
-}
-
-@manual{ctan-otfinst,
- title = {The \texttt{otfinst} package},
- subtitle = {Install OpenType fonts for use in \TeX{}/\LaTeX{} systems},
- author = {John Owens},
- date = {2018-01-06},
- version = {1.0.3},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/utilities/otfinst},
- url = {https://ctan.org/pkg/otfinst},
- annotation = {Otfinst takes a list of OpenType font files as input, uses Eddie
- Kohler's to install
- them into a \TeX{}/\LaTeX{} system, and builds and installs the
- necessary font description and style files. Otfinst was formerly
- known as otftex\_install and is written in Python. It has similar
- capabilities to Marc Penninga's
- .},
-}
-
-@manual{ctan-otftofd,
- title = {The \texttt{otftofd} package},
- subtitle = {Generate control files for OpenType fonts},
- author = {Geoffrey Washburn},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/otftofd},
- url = {https://ctan.org/pkg/otftofd},
-}
-
-@manual{ctan-othello,
- title = {The \texttt{othello} package},
- subtitle = {Modification of a Go package to create othello boards},
- author = {Michiel le Comte},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/othello},
- url = {https://ctan.org/pkg/othello},
- annotation = {A package (based on Kolodziejska’s
- ), and fonts (as Metafont source) are
- provided.},
-}
-
-@manual{ctan-othelloboard,
- title = {The \texttt{othelloboard} package},
- subtitle = {Typeset Othello (Reversi) diagrams of any size, with annotations},
- author = {Steven Hall},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/othelloboard},
- url = {https://ctan.org/pkg/othelloboard},
-}
-
-@manual{ctan-oubraces,
- title = {The \texttt{oubraces} package},
- subtitle = {Braces over and under a formula},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oubraces},
- url = {https://ctan.org/pkg/oubraces},
- annotation = {Provides a means to interleave and
- in the same formula.},
-}
-
-@manual{ctan-oup-authoring-template,
- title = {The \texttt{oup-authoring-template} package},
- subtitle = {A general template for journals published by Oxford University Press (OUP)},
- author = {Peter Jones},
- date = {2022-03-25},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oup-authoring-template},
- url = {https://ctan.org/pkg/oup-authoring-template},
- annotation = {This package provides a general \LaTeX{} template for journals
- published by Oxford University Press (OUP).
- The template outputs to the three official page designs (traditional,
- contemporary, modern) used by many journals published by OUP,
- with large, medium and small page options.
- For more information see
- .},
-}
-
-@manual{ctan-outerhbox,
- title = {The \texttt{outerhbox} package},
- subtitle = {Collect horizontal material for contributing to a paragraph},
- author = {Jonathan Fine},
- date = {2020-04-11},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/misc/outerhbox.sty},
- url = {https://ctan.org/pkg/outerhbox},
- annotation = {The package provides the command, which is
- similar to , except that material is set in outer horizontal
- mode. This prevents \TeX{} from optimising away maths penalties and
- the like, that are needed when the material is 'ed.},
-}
-
-@manual{ctan-outilsgeomtikz,
- title = {The \texttt{OutilsGeomTikZ} package},
- subtitle = {Some geometric tools, with TikZ},
- author = {Cédric Pierquet},
- date = {2023-03-07},
- version = {0.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/outilsgeomtikz},
- url = {https://ctan.org/pkg/outilsgeomtikz},
- annotation = {This package provides some commands, with French keys,
- to display geometric tools using ,
- for example a pen, a compass, a rule, a square, a protractor, ...},
-}
-
-@manual{ctan-outline,
- title = {The \texttt{outline} package},
- subtitle = {List environment for making outlines},
- author = {Peter Halvorson and Seth Flaxman},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/outline},
- url = {https://ctan.org/pkg/outline},
-}
-
-@manual{ctan-outliner,
- title = {The \texttt{outliner} package},
- subtitle = {Change section levels easily},
- author = {Victor Eijkhout},
- date = {2016-06-24},
- version = {0.94},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/outliner},
- url = {https://ctan.org/pkg/outliner},
- annotation = {Allows you to write “” instead of the usual
- stuff; the definitions of the levels can then easily be
- changed. There is a mechanism for shifting all levels. This
- makes it easy to bundle existing articles into a compilation.},
-}
-
-@manual{ctan-outlines,
- title = {The \texttt{outlines} package},
- subtitle = {Produce "outline" lists},
- author = {Charles Pecheur},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/outlines},
- url = {https://ctan.org/pkg/outlines},
- annotation = {Defines an outline environment, which allows outline-style
- indented lists with freely mixed levels up to four levels deep.
- It replaces the nested / pairs by
- different item tags to for each nesting
- level. This is very convenient in cases where nested lists are
- used a lot, such as for to-do lists or presentation slides.},
-}
-
-@manual{ctan-outlining,
- title = {The \texttt{outlining} package},
- subtitle = {Create outlines for scientific documents},
- author = {Dimitri Block},
- date = {2017-10-27},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/outlining},
- url = {https://ctan.org/pkg/outlining},
-}
-
-@manual{ctan-oval,
- title = {The \texttt{oval} package},
- subtitle = {Round-cornered framed boxes},
- author = {Elmar Schalück},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/oval},
- url = {https://ctan.org/pkg/oval},
-}
-
-@manual{ctan-ovalfbox,
- title = {The \texttt{ovalfbox} package},
- subtitle = {Boxes with frames whose corners are rounded},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/ovalfbox.sty},
- url = {https://ctan.org/pkg/ovalfbox},
- annotation = {The package defines a command which seems more
- stable to the similar command in the package
- ; however, this package retains
- the problems with the positioning of multiline text in boxes.},
-}
-
-@manual{ctan-overarrows,
- title = {The \texttt{overarrows} package},
- subtitle = {Custom extensible arrows over math expressions},
- author = {Julien Labbé},
- date = {2023-02-15},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/overarrows},
- url = {https://ctan.org/pkg/overarrows},
-}
-
-@manual{ctan-overcite,
- title = {The \texttt{overcite} package},
- subtitle = {Compressed lists of superscript numerical citations},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {4.01},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/cite},
- url = {https://ctan.org/pkg/overcite},
- annotation = {The package is actually a wrapper for one of the functions of the
- packages; it is distributed as part
- of the bundle of packages.},
-}
-
-@manual{ctan-overlays,
- title = {The \texttt{overlays} package},
- subtitle = {Incremental slides},
- author = {Andreas Nolda},
- date = {2021-02-23},
- version = {2.12},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/overlays},
- url = {https://ctan.org/pkg/overlays},
-}
-
-@manual{ctan-overlock,
- title = {The \texttt{overlock} package},
- subtitle = {Overlock sans fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-23},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/overlock},
- url = {https://ctan.org/pkg/overlock},
- annotation = {The package provides the Overlock and OverlockSC families of fonts,
- designed by Dario Manuel Muhafara of the
-
- (http://www.tipo.net.ar), “rounded” sans-serif fonts in three
- weights (Regular, Bold, Black) with italic variants for each of
- them. There are also small-caps and old-style figures in the
- Regular weight.},
-}
-
-@manual{ctan-overpic,
- title = {The \texttt{overpic} package},
- subtitle = {Combine \LaTeX{} commands over included graphics},
- author = {Rolf Niepraschk},
- date = {2020-02-22},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/overpic},
- url = {https://ctan.org/pkg/overpic},
- annotation = {The overpic environment is a cross between the \LaTeX{} picture
- environment and the command of
- . The resulting picture
- environment has the same dimensions as the included
- graphic. \LaTeX{} commands can be placed on the graphic at
- defined positions; a grid for orientation is available.},
-}
-
-@manual{ctan-overrightarrow,
- title = {The \texttt{overrightarrow} package},
- subtitle = {Doubled "over" arrow},
- author = {James Kilfiger},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fragments},
- url = {https://ctan.org/pkg/overrightarrow},
-}
-
-@manual{ctan-overword,
- title = {The \texttt{overword} package},
- subtitle = {Parse text},
- author = {Frank Bennett},
- date = {2018-01-06},
- version = {3.1.1.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/calendar},
- url = {https://ctan.org/pkg/overword},
- annotation = {Provides two macros which can be used as building blocks for
- the parsing of text. For an example of their use, see the
- package. The package is
- distributed as part of the
- bundle.},
-}
-
-@manual{ctan-oxford,
- title = {The \texttt{oxford} package},
- subtitle = {A BibTeX style geared for use in the humanities},
- author = {Peter Antman},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/oxford},
- url = {https://ctan.org/pkg/oxford},
- annotation = {The style implements the Oxford style interpreted through the eye
- of a Swede working in the field of the history of ideas. It is
- based on and a heavily hacked
- bst-file generated with custom-bib. It currently only supports
- and and only in abbreviation mode.},
-}
-
-@manual{ctan-oztex-fonts,
- title = {The \texttt{oztex-fonts} package},
- subtitle = {Fonts packaged for use in OzTeX},
- author = {Alejandro López-Valencia and Santafé de Bogotá},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/mac/fonts/oztex},
- url = {https://ctan.org/pkg/oztex-fonts},
-}
-
-@manual{ctan-oztex-german,
- title = {The \texttt{OzTeX-german} package},
- subtitle = {German packaging of OzTeX},
- author = {Lothar Meyer-Lerbs},
- date = {2016-06-18},
- license = {pd},
- mirror = {https://mirror.ctan.org/obsolete/systems/mac/oztex-german},
- url = {https://ctan.org/pkg/oztex-german},
-}
-
-@manual{ctan-oztex,
- title = {The \texttt{oztex} package},
- subtitle = {TeX for the Macintosh},
- author = {Andrew Trevorrow},
- date = {2017-04-18},
- version = {5.1},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/mac/oztex},
- url = {https://ctan.org/pkg/oztex},
- annotation = {OzTeX still works under Mac OS/X, but it is no longer being
- maintained or updated. Users in need of the latest and greatest
- are recommended to consider .},
-}
-
-@manual{ctan-pacioli,
- title = {The \texttt{pacioli} package},
- subtitle = {Fonts designed by Fra Luca de Pacioli in 1497},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/pacioli},
- url = {https://ctan.org/pkg/pacioli},
-}
-
-@manual{ctan-padauk,
- title = {The \texttt{padauk} package},
- subtitle = {A high-quality TrueType font that supports the many diverse languages that use the Myanmar script},
- author = {Bob Tennent},
- date = {2018-01-07},
- version = {3.002},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/padauk},
- url = {https://ctan.org/pkg/padauk},
-}
-
-@manual{ctan-padcount,
- title = {The \texttt{padcount} package},
- subtitle = {Pad numbers with arbitrary characters},
- author = {Donald P. Goodman},
- date = {2018-05-07},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/padcount},
- url = {https://ctan.org/pkg/padcount},
-}
-
-@manual{ctan-pagecolor,
- title = {The \texttt{pagecolor} package},
- subtitle = {Interrogate page color},
- author = {Hans-Martin Münch},
- date = {2023-02-14},
- version = {1.2b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pagecolor},
- url = {https://ctan.org/pkg/pagecolor},
-}
-
-@manual{ctan-pagecont,
- title = {The \texttt{pagecont} package},
- subtitle = {Page numbering that continues between documents},
- author = {Miguel Vinícius Santini Frasson},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pagecont},
- url = {https://ctan.org/pkg/pagecont},
-}
-
-@manual{ctan-pagedraw,
- title = {The \texttt{pagedraw} package},
- subtitle = {Drawing program with EPS output},
- author = {V Karunakaran Karunakaran},
- date = {2016-06-24},
- license = {nosource},
- mirror = {https://mirror.ctan.org/graphics/pagedraw/pgdraw20.zip},
- url = {https://ctan.org/pkg/pagedraw},
-}
-
-@manual{ctan-pagefoots,
- title = {The \texttt{pagefoots} package},
- subtitle = {Footnote numbering per page},
- author = {Brian T. Schellenberger and Darrel Hankerson},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/pagefoots.sty},
- url = {https://ctan.org/pkg/pagefoots},
-}
-
-@manual{ctan-pageframe,
- title = {The \texttt{pageframe} package},
- subtitle = {Page frames, grids, etc., for \LaTeX{} 2.09},
- author = {Cameron Smith},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/pageframe},
- url = {https://ctan.org/pkg/pageframe},
-}
-
-@manual{ctan-pagegrid,
- title = {The \texttt{pagegrid} package},
- subtitle = {Print page grid in background},
- author = {Heiko Oberdiek},
- date = {2022-09-24},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pagegrid},
- url = {https://ctan.org/pkg/pagegrid},
-}
-
-@manual{ctan-pagelayout,
- title = {The \texttt{pagelayout} package},
- subtitle = {Layout graphic rich documents},
- author = {Friedemann Bartels},
- date = {2023-03-06},
- version = {1.0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pagelayout},
- url = {https://ctan.org/pkg/pagelayout},
-}
-
-@manual{ctan-pagella-otf,
- title = {The \texttt{pagella-otf} package},
- subtitle = {Using the OpenType fonts \TeX{} Gyre Pagella},
- author = {Herbert Voß},
- date = {2022-10-16},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/pagella-otf},
- url = {https://ctan.org/pkg/pagella-otf},
-}
-
-@manual{ctan-pageno,
- title = {The \texttt{pageno} package},
- subtitle = {Page number-only page styles},
- author = {Rowland McDonnell},
- date = {2017-05-30},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pageno},
- url = {https://ctan.org/pkg/pageno},
-}
-
-@manual{ctan-pagenote,
- title = {The \texttt{pagenote} package},
- subtitle = {Notes at end of document},
- author = {Will Robertson and Peter R. Wilson},
- date = {2022-06-09},
- version = {1.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pagenote},
- url = {https://ctan.org/pkg/pagenote},
- annotation = {The pagenote package provides tagged notes on a separate page
- (also known as ‘end notes’). Unless the
- class is used, the package
- requires the package.},
-}
-
-@manual{ctan-pagerange,
- title = {The \texttt{pagerange} package},
- subtitle = {Flexible and configurable page range typesetting},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pagerange},
- url = {https://ctan.org/pkg/pagerange},
- annotation = {The package defines a command that typesets
- ranges of page numbers, expanding them (e.g., adding first or
- last page numbers) and standardising them.},
-}
-
-@manual{ctan-pagereference,
- title = {The \texttt{pagereference} package},
- subtitle = {Labels and references in Plain \TeX{}},
- author = {Peter Ungar},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/pagereference.tex},
- url = {https://ctan.org/pkg/pagereference},
-}
-
-@manual{ctan-pagesel,
- title = {The \texttt{pagesel} package},
- subtitle = {Select pages of a document for output},
- author = {Heiko Oberdiek},
- date = {2023-01-11},
- version = {1.10},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pagesel},
- url = {https://ctan.org/pkg/pagesel},
-}
-
-@manual{ctan-pageslts,
- title = {The \texttt{pageslts} package},
- subtitle = {Variants of last page labels},
- author = {Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.2f},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pageslts},
- url = {https://ctan.org/pkg/pageslts},
-}
-
-@manual{ctan-palatino-nfss,
- title = {The \texttt{palatino-nfss} package},
- subtitle = {Select Adobe Palatino as default text font},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- license = {lppl},
- url = {https://ctan.org/pkg/palatino-nfss},
-}
-
-@manual{ctan-palette,
- title = {The \texttt{palette} package},
- subtitle = {Create palettes for colors and symbols that can be swapped in},
- author = {Dennis Chen},
- date = {2021-07-30},
- version = {1.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/palette},
- url = {https://ctan.org/pkg/palette},
-}
-
-@manual{ctan-palladam,
- title = {The \texttt{palladam} package},
- subtitle = {A Tamil font for Macintosh users},
- author = {T. Govindaraj},
- date = {2016-06-24},
- version = {2.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/language/tamil/palladam},
- url = {https://ctan.org/pkg/palladam},
-}
-
-@manual{ctan-pandora-latex,
- title = {The \texttt{pandora-latex} package},
- subtitle = {\LaTeX{} support for the Pandora fonts},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pandora-latex},
- url = {https://ctan.org/pkg/pandora-latex},
- annotation = {Support for Neena Billawala’s
- fonts, in \LaTeX{}. Note that the
- bundle already offers support, but the present package uses the
- “correct” () abbreviations for
- the font’s names.},
-}
-
-@manual{ctan-pandora-type1,
- title = {The \texttt{pandora-type1} package},
- subtitle = {The Pandora font family},
- author = {Patrick T J McPhee and Nazeen N. (Neenie) Billawalla},
- date = {2016-06-24},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/pandora},
- url = {https://ctan.org/pkg/pandora-type1},
- annotation = {The fonts offer drop-in replacements for the
- PK files, for use with dvips,
- dvipdfm, pdfTeX, etc. You should use the TFM files generated by
- Metafont (the package contains AFM files, but they have not been
- tested). The encoding is exactly the same as the PK files, and
- the package does not contain any additional characters. The fonts
- have been successfully used, but no warranty is offered.},
-}
-
-@manual{ctan-pandora,
- title = {The \texttt{pandora} package},
- subtitle = {The Pandora font family},
- author = {Nazeen N. (Neenie) Billawalla},
- date = {2019-06-21},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/pandora},
- url = {https://ctan.org/pkg/pandora},
-}
-
-@manual{ctan-pangram,
- title = {The \texttt{pangram} package},
- subtitle = {A \LaTeX{} package for testing fonts},
- author = {Tingxuan Zhang},
- date = {2023-03-02},
- version = {0.0c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pangram},
- url = {https://ctan.org/pkg/pangram},
-}
-
-@manual{ctan-paper,
- title = {The \texttt{paper} package},
- subtitle = {Versions of article class, tuned for scholarly publications},
- author = {Wenzel Matiaske},
- date = {2018-01-06},
- version = {1.0l},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/paper},
- url = {https://ctan.org/pkg/paper},
-}
-
-@manual{ctan-papercdcase,
- title = {The \texttt{papercdcase} package},
- subtitle = {Origami-style folding paper CD case},
- author = {Tobias Dussa},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/papercdcase},
- url = {https://ctan.org/pkg/papercdcase},
-}
-
-@manual{ctan-papermas,
- title = {The \texttt{papermas} package},
- subtitle = {Compute the mass of a printed version of a document},
- author = {Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.0h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/papermas},
- url = {https://ctan.org/pkg/papermas},
-}
-
-@manual{ctan-papertex,
- title = {The \texttt{papertex} package},
- subtitle = {Class for newspapers, etc},
- author = {Ignacio Llopis},
- date = {2016-06-24},
- version = {1.2b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/papertex},
- url = {https://ctan.org/pkg/papertex},
-}
-
-@manual{ctan-paracol,
- title = {The \texttt{paracol} package},
- subtitle = {Multiple columns with texts “in parallel”},
- author = {Hiroshi Nakashima},
- date = {2018-12-31},
- version = {1.35},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/paracol},
- url = {https://ctan.org/pkg/paracol},
-}
-
-@manual{ctan-parades,
- title = {The \texttt{parades} package},
- subtitle = {Tabulators and space between paragraphs in galley approach},
- author = {Oleg Parashchenko},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/parades},
- url = {https://ctan.org/pkg/parades},
-}
-
-@manual{ctan-paragraphs,
- title = {The \texttt{paragraphs} package},
- subtitle = {Paragraph "tricks" macros},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/paragraphs.tex},
- url = {https://ctan.org/pkg/paragraphs},
-}
-
-@manual{ctan-paralist,
- title = {The \texttt{paralist} package},
- subtitle = {Enumerate and itemize within paragraphs},
- author = {Bernd Schandl},
- date = {2017-01-22},
- version = {2.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/paralist},
- url = {https://ctan.org/pkg/paralist},
-}
-
-@manual{ctan-parallel,
- title = {The \texttt{parallel} package},
- subtitle = {Typeset parallel texts},
- author = {Matthias Eckermann},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/parallel},
- url = {https://ctan.org/pkg/parallel},
-}
-
-@manual{ctan-paratype,
- title = {The \texttt{paratype} package},
- subtitle = {\LaTeX{} support for free fonts by ParaType},
- author = {Pavel Farar},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/paratype},
- url = {https://ctan.org/pkg/paratype},
-}
-
-@manual{ctan-parboxx,
- title = {The \texttt{parboxx} package},
- subtitle = {Two extra alignment options for \textbackslash{}parbox},
- author = {Jörg Knappen},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/parboxx.sty},
- url = {https://ctan.org/pkg/parboxx},
- annotation = {The package provides alignment options (really at the
- top of the box) and (really at the bottom of the box),
- for the standard \LaTeX{} macro.},
-}
-
-@manual{ctan-parcolumns,
- title = {The \texttt{parcolumns} package},
- subtitle = {Multiple column parallel typesetting},
- author = {Jonathan Sauer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauerj},
- url = {https://ctan.org/pkg/parcolumns},
-}
-
-@manual{ctan-paresse,
- title = {The \texttt{paresse} package},
- subtitle = {Define simple macros for greek letters},
- author = {Yvon Henel},
- date = {2021-05-16},
- version = {5.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/paresse},
- url = {https://ctan.org/pkg/paresse},
- annotation = {The package defines macros using to type greek
- letters so that the user may (for example) type to
- get the effect of .
- However, it takes care only of letters which have
- a macro name like or .},
-}
-
-@manual{ctan-parisa,
- title = {The \texttt{parisa} package},
- subtitle = {Parisa family of fonts},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/fonts/parisa},
- url = {https://ctan.org/pkg/parisa},
-}
-
-@manual{ctan-parnotes,
- title = {The \texttt{parnotes} package},
- subtitle = {Notes after every paragraph (or elsewhere)},
- author = {Chelsea Hughes},
- date = {2019-07-23},
- version = {3b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/parnotes},
- url = {https://ctan.org/pkg/parnotes},
- annotation = {The package provides the command. The notes are
- set as (normal) running paragraphs; placement is at the end of
- each paragraph, or manually, using the command.},
-}
-
-@manual{ctan-parrun,
- title = {The \texttt{parrun} package},
- subtitle = {Typesets (two) streams of text running parallel},
- author = {Massimiliano Dominici},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/parrun},
- url = {https://ctan.org/pkg/parrun},
-}
-
-@manual{ctan-parsa,
- title = {The \texttt{parsa} package},
- subtitle = {A \XeLaTeX{} package for theses and dissertations at Iranian Universities},
- author = {Farshad Rasuli},
- date = {2020-04-22},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/parsa},
- url = {https://ctan.org/pkg/parsa},
-}
-
-@manual{ctan-parselines,
- title = {The \texttt{parselines} package},
- subtitle = {Apply a macro to each line of an environment},
- author = {Florent Chervet},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/parselines},
- url = {https://ctan.org/pkg/parselines},
-}
-
-@manual{ctan-parsitex,
- title = {The \texttt{parsitex} package},
- subtitle = {A localized Persian and bidirectional extension of \TeX{}},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {3.10},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/parsitex},
- url = {https://ctan.org/pkg/parsitex},
-}
-
-@manual{ctan-parskip,
- title = {The \texttt{parskip} package},
- subtitle = {Layout with zero \textbackslash{}parindent, non-zero \textbackslash{}parskip},
- author = {Robin Fairbairns and Hubert Partl and Frank Mittelbach},
- date = {2021-03-14},
- version = {2.0h},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/parskip},
- url = {https://ctan.org/pkg/parskip},
- annotation = {Simply changing and leaves a
- layout that is untidy; this package (though it is no substitute
- for a properly-designed class) helps alleviate this untidiness.},
-}
-
-@manual{ctan-pas-cours,
- title = {The \texttt{pas-cours} package},
- subtitle = {Macros useful in preparing teaching material},
- author = {Stéphane Pasquet},
- date = {2020-07-16},
version = {1.9},
license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pas-cours},
- url = {https://ctan.org/pkg/pas-cours},
-}
-
-@manual{ctan-pas-crosswords,
- title = {The \texttt{pas-crosswords} package},
- subtitle = {Creating crossword grids, using TikZ},
- author = {Stéphane Pasquet},
- date = {2016-06-24},
- version = {1.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pas-crosswords},
- url = {https://ctan.org/pkg/pas-crosswords},
-}
-
-@manual{ctan-pas-cv,
- title = {The \texttt{pas-cv} package},
- subtitle = {Flexible typesetting of Curricula Vitae},
- author = {Stéphane Pasquet},
- date = {2016-06-24},
- version = {2.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pas-cv},
- url = {https://ctan.org/pkg/pas-cv},
-}
-
-@manual{ctan-pas-tableur,
- title = {The \texttt{pas-tableur} package},
- subtitle = {Create a spreadsheet layout},
- author = {Stéphane Pasquet},
- date = {2016-06-24},
- version = {2.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pas-tableur},
- url = {https://ctan.org/pkg/pas-tableur},
-}
-
-@manual{ctan-pascaltriangle,
- title = {The \texttt{pascaltriangle} package},
- subtitle = {Draw beautiful Pascal (Yanghui) triangles},
- author = {Nan Geng},
- date = {2022-01-28},
- version = {1.0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pascaltriangle},
- url = {https://ctan.org/pkg/pascaltriangle},
- annotation = {This \LaTeX{}3 package based on
- helps to generate beautiful Pascal (Yanghui) triangles.
- It provides a unique drawing macro which
- can generate isosceles or right-angle triangles customized
- by means of different macro options or
- the macro.},
-}
-
-@manual{ctan-passivetex,
- title = {The \texttt{passivetex} package},
- subtitle = {Support package for XML/SGML typesetting},
- author = {Sebastian Rahtz},
- date = {2021-08-26},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/xmltex/contrib/passivetex},
- url = {https://ctan.org/pkg/passivetex},
- annotation = {Packages providing XML parsing, UTF-8 parsing, Unicode entities,
- and common formatting object definitions for
- .},
-}
-
-@manual{ctan-patch,
- title = {The \texttt{patch} package},
- subtitle = {Patch loaded packages, etc.},
- author = {David Kastrup},
- date = {2019-06-21},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/misc/patch.doc},
- url = {https://ctan.org/pkg/patch},
-}
-
-@manual{ctan-patchcmd,
- title = {The \texttt{patchcmd} package},
- subtitle = {Change the definition of an existing command},
- author = {Michael J. Downes},
- date = {2016-06-24},
- version = {1.05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/patchcmd},
- url = {https://ctan.org/pkg/patchcmd},
- annotation = {The package provides a command
- that can be used to add material at the beginning and/or the end
- of the replacement text of an existing macro. It works for macros
- with any number of normal arguments, including those that were
- defined with .},
-}
-
-@manual{ctan-patgen,
- title = {The \texttt{patgen} package},
- subtitle = {Generate hyphenation patterns},
- author = {Franklin M. Liang and Peter Breitenlohner and {The \TeX{} Live Team} and Tom Rokicki},
- date = {2020-04-24},
- version = {2.4},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/stanford/patgen},
- url = {https://ctan.org/pkg/patgen},
-}
-
-@manual{ctan-patgen2-tutorial,
- title = {The \texttt{patgen2-tutorial} package},
- subtitle = {A tutorial on the use of Patgen 2},
- author = {Yannis Haralambous},
- date = {2021-03-29},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/patgen2-tutorial},
- url = {https://ctan.org/pkg/patgen2-tutorial},
-}
-
-@manual{ctan-path,
- title = {The \texttt{path} package},
- subtitle = {Typeset paths, making them breakable},
- author = {Philip Taylor},
- date = {2016-06-24},
- version = {3.05},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/path},
- url = {https://ctan.org/pkg/path},
- annotation = {Defines a macro , similar to the \LaTeX{}
- , that sets the text in typewriter font and
- allows hyphen-less breaks at punctuation characters. The set of
- characters to be regarded as punctuation may be changed from the
- package's default.},
-}
-
-@manual{ctan-pauldoc,
- title = {The \texttt{pauldoc} package},
- subtitle = {German \LaTeX{} package documentation},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pauldoc},
- url = {https://ctan.org/pkg/pauldoc},
-}
-
-@manual{ctan-pawpict,
- title = {The \texttt{pawpict} package},
- subtitle = {Using graphics from PAW},
- author = {Christian Holm Christensen},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pawpict},
- url = {https://ctan.org/pkg/pawpict},
-}
-
-@manual{ctan-pax,
- title = {The \texttt{pax} package},
- subtitle = {Extract and reinsert PDF annotations with pdfTeX},
- author = {Heiko Oberdiek and Bastien Roucariès},
- date = {2022-06-07},
- version = {},
- license = {lppl,gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pax},
- url = {https://ctan.org/pkg/pax},
-}
-
-@manual{ctan-pb-diagram,
- title = {The \texttt{pb-diagram} package},
- subtitle = {A commutative diagram package using LAMSTeX or Xy-pic fonts},
- author = {Paul Burchard},
- date = {2016-06-18},
- version = {5.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pb-diagram},
- url = {https://ctan.org/pkg/pb-diagram},
-}
-
-@manual{ctan-pbalance,
- title = {The \texttt{pbalance} package},
- subtitle = {Balance last page in two-column mode},
- author = {Nelson Lago},
- date = {2022-07-29},
- version = {1.4.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pbalance},
- url = {https://ctan.org/pkg/pbalance},
- annotation = {This package balances the columns on the last page of a
- two-column document. If the page is “simple” (no footnotes,
- floats, or marginpars), is uses the package; otherwise, it uses
- to make the left column shorter,
- balancing the columns.},
-}
-
-@manual{ctan-pbibtex-base,
- title = {The \texttt{pbibtex-base} package},
- subtitle = {Bibliography styles and miscellaneous files for pBibTeX},
- author = {Kazuki Maeda and {Japanese \TeX{} Development Community}},
- date = {2023-02-23},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/biblio/pbibtex/pbibtex-base},
- url = {https://ctan.org/pkg/pbibtex-base},
-}
-
-@manual{ctan-pbibtex-manual,
- title = {The \texttt{pbibtex-manual} package},
- subtitle = {Documentation files for (u)pBibTeX},
- author = {{Japanese \TeX{} Development Community}},
- date = {2023-02-25},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/biblio/pbibtex/pbibtex-manual},
- url = {https://ctan.org/pkg/pbibtex-manual},
- annotation = {The bundle contains documentation files for Japanese
- and upBibTeX.
- For historical reasons, this also contains
- old documentation files for JBibTeX.},
-}
-
-@manual{ctan-pbm2tex,
- title = {The \texttt{pbm2tex} package},
- subtitle = {Translate PBM format to \LaTeX{}},
- author = {Andreas Barth},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/pbm2tex},
- url = {https://ctan.org/pkg/pbm2tex},
-}
-
-@manual{ctan-pbmtogf,
- title = {The \texttt{pbmtogf} package},
- subtitle = {Convert PBM images to GF font files},
- author = {Wai Wong},
- date = {2018-01-06},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/pbmtogf},
- url = {https://ctan.org/pkg/pbmtogf},
-}
-
-@manual{ctan-pbmtopk,
- title = {The \texttt{PBMtoPK} package},
- subtitle = {Conversion between PBM and PK formats},
- author = {Angus Duggan},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/pbmtopk},
- url = {https://ctan.org/pkg/pbmtopk},
-}
-
-@manual{ctan-pbox,
- title = {The \texttt{pbox} package},
- subtitle = {A variable-width \textbackslash{}parbox command},
- author = {Simon Law},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pbox},
- url = {https://ctan.org/pkg/pbox},
-}
-
-@manual{ctan-pbsheet,
- title = {The \texttt{pbsheet} package},
- subtitle = {Problem sheet class},
- author = {Djalil Chafaï},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pbsheet},
- url = {https://ctan.org/pkg/pbsheet},
-}
-
-@manual{ctan-pcarl,
- title = {The \texttt{pcarl} package},
- subtitle = {\LaTeX{} Support for Adobe Caslon Open Face},
- author = {Boris Veytsman},
- date = {2021-09-11},
- version = {1.0a},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/pcarl},
- url = {https://ctan.org/pkg/pcarl},
-}
-
-@manual{ctan-pcfonts,
- title = {The \texttt{pcfonts} package},
- subtitle = {Hebrew fonts for use on DOS PCs},
- author = {Rama Porrat},
- date = {2016-06-24},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/language/hebrew/hebtex/fonts/pccode},
- url = {https://ctan.org/pkg/pcfonts},
- annotation = {This bundle contains a set of the
- fonts arranged for use under
- .},
-}
-
-@manual{ctan-pclnfss,
- title = {The \texttt{pclnfss} package},
- subtitle = {Font support for current PCL printers},
- author = {Leif Harcke},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pclnfss},
- url = {https://ctan.org/pkg/pclnfss},
-}
-
-@manual{ctan-pdbf-toolkit,
- title = {The \texttt{pdbf-toolkit} package},
- subtitle = {A Toolkit for Creating Janiform Data Documents},
- author = {Patrick Bender},
- date = {2017-04-18},
- version = {1.2.5},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/pdbf-toolkit},
- url = {https://ctan.org/pkg/pdbf-toolkit},
-}
-
-@manual{ctan-pdcmac,
- title = {The \texttt{pdcmac} package},
- subtitle = {Damian Cugley's document tools},
- author = {Damian Cugley},
- date = {2017-05-30},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/pdcmac},
- url = {https://ctan.org/pkg/pdcmac},
-}
-
-@manual{ctan-pdf-forms-tutorial,
- title = {The \texttt{pdf-forms-tutorial} package},
- subtitle = {Tutorial on creating PDF forms using pdfLaTeX},
- author = {Dirk Krause},
- date = {2016-06-24},
- version = {0.9.5},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/pdf-forms-tutorial},
- url = {https://ctan.org/pkg/pdf-forms-tutorial},
- annotation = {This package contains a tutorial and examples showing how to
- create PDF forms using with
- the and
- packages.},
-}
-
-@manual{ctan-pdf-mps-supp,
- title = {The \texttt{pdf-mps-supp} package},
- subtitle = {PDF MetaPost graphics support bundle},
- author = {Hans Hagen},
- date = {2017-04-18},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/tools/mptopdf},
- url = {https://ctan.org/pkg/pdf-mps-supp},
-}
-
-@manual{ctan-pdf-trans,
- title = {The \texttt{pdf-trans} package},
- subtitle = {A set of macros for various transformations of \TeX{} boxes},
- author = {Paweł Jackowski},
- date = {2016-06-24},
- version = {2.4},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/pdf-trans},
- url = {https://ctan.org/pkg/pdf-trans},
-}
-
-@manual{ctan-pdf14,
- title = {The \texttt{pdf14} package},
- subtitle = {Restore PDF 1.4 to a \TeX{} live 2010 format},
- author = {Manuel Pégourié-Gonnard},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdf14},
- url = {https://ctan.org/pkg/pdf14},
- annotation = {Starting with \TeX{} Live 2010, the various formats, that directly
- generate PDF, default to generating PDF 1.5. This is
- generally a , but it can lead to compatibility
- issues with some older PDF viewers. This package changes the
- version of PDF generated with formats (based on pdfTeX or LuaTeX
- in PDF mode), back to 1.4 for documents that need to achieve maximal
- compatibility with old viewers.},
-}
-
-@manual{ctan-pdfarticle,
- title = {The \texttt{pdfarticle} package},
- subtitle = {Class for pdf publications},
- author = {Robert Paciorek},
- date = {2019-05-15},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/pdfarticle},
- url = {https://ctan.org/pkg/pdfarticle},
-}
-
-@manual{ctan-pdfbook,
- title = {The \texttt{pdfbook} package},
- subtitle = {Rearrange pages of a PDF file for booklet printing},
- author = {Jaap Eldering and Roman Buchert and Tigran Aivazian},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/pdfbook},
- url = {https://ctan.org/pkg/pdfbook},
-}
-
-@manual{ctan-pdfbook2,
- title = {The \texttt{pdfbook2} package},
- subtitle = {Create booklets from PDF files},
- author = {Johannes Neumann},
- date = {2020-01-23},
- version = {1.4},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/pdfbook2},
- url = {https://ctan.org/pkg/pdfbook2},
-}
-
-@manual{ctan-pdfcol,
- title = {The \texttt{pdfcol} package},
- subtitle = {Macros for maintaining colour stacks under pdfTeX},
- author = {Heiko Oberdiek},
- date = {2022-09-24},
- version = {1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfcol},
- url = {https://ctan.org/pkg/pdfcol},
-}
-
-@manual{ctan-pdfcolfoot,
- title = {The \texttt{pdfcolfoot} package},
- subtitle = {Separate color stack for footnotes with pdfTeX},
- author = {Heiko Oberdiek},
- date = {2023-01-14},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfcolfoot},
- url = {https://ctan.org/pkg/pdfcolfoot},
- annotation = {Since version 1.40 supports
- several colour stacks. This package uses a separate colour stack
- for footnotes that can break across pages.},
-}
-
-@manual{ctan-pdfcolmk,
- title = {The \texttt{pdfcolmk} package},
- subtitle = {Improved colour support under pdfTeX (legacy stub)},
- author = {Heiko Oberdiek},
- date = {2019-11-27},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfcolmk},
- url = {https://ctan.org/pkg/pdfcolmk},
-}
-
-@manual{ctan-pdfcolparallel,
- title = {The \texttt{pdfcolparallel} package},
- subtitle = {Fix colour problems in package 'parallel'},
- author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/pdfcolparallel.dtx},
- url = {https://ctan.org/pkg/pdfcolparallel},
-}
-
-@manual{ctan-pdfcolparcolumns,
- title = {The \texttt{pdfcolparcolumns} package},
- subtitle = {Fix colour problems in package 'parcolumns'},
- author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx},
- url = {https://ctan.org/pkg/pdfcolparcolumns},
-}
-
-@manual{ctan-pdfcomment,
- title = {The \texttt{pdfcomment} package},
- subtitle = {A user-friendly interface to pdf annotations},
- author = {Josef Kleber},
- date = {2018-11-01},
- version = {2.4a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfcomment},
- url = {https://ctan.org/pkg/pdfcomment},
-}
-
-@manual{ctan-pdfcprot,
- title = {The \texttt{pdfcprot} package},
- subtitle = {Activating and setting of character protruding using pdfLaTeX},
- author = {Carsten Schurig and Tobias Schlemmer and Baden Hughes},
- date = {2016-06-24},
- version = {1.7a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfcprot},
- url = {https://ctan.org/pkg/pdfcprot},
-}
-
-@manual{ctan-pdfcrop,
- title = {The \texttt{pdfcrop} package},
- subtitle = {Crop PDF graphics},
- author = {Heiko Oberdiek},
- date = {2020-06-06},
- version = {1.40},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/pdfcrop},
- url = {https://ctan.org/pkg/pdfcrop},
-}
-
-@manual{ctan-pdfcrypt,
- title = {The \texttt{pdfcrypt} package},
- subtitle = {Allows the setting of pdf encryption},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/pdfcrypt.dtx},
- url = {https://ctan.org/pkg/pdfcrypt},
-}
-
-@manual{ctan-pdfescape,
- title = {The \texttt{pdfescape} package},
- subtitle = {Implements pdfTeX's escape features using \TeX{} or e-TeX},
- author = {Heiko Oberdiek},
- date = {2019-12-14},
- version = {1.15},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfescape},
- url = {https://ctan.org/pkg/pdfescape},
- annotation = {This package implements 's
- escape features (, ,
- , ) using \TeX{} or
- e-TeX.},
-}
-
-@manual{ctan-pdfextra,
- title = {The \texttt{pdfextra} package},
- subtitle = {Extra PDF features for (Op)TeX},
- author = {Michal Vlasák},
- date = {2022-12-04},
- version = {0.3},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/pdfextra},
- url = {https://ctan.org/pkg/pdfextra},
-}
-
-@manual{ctan-pdfjam,
- title = {The \texttt{pdfjam} package},
- subtitle = {Shell scripts interfacing to pdfpages},
- author = {David Firth and Reuben Thomas},
- date = {2020-11-18},
- version = {3.03},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/support/pdfjam},
- url = {https://ctan.org/pkg/pdfjam},
-}
-
-@manual{ctan-pdflatexpicscale,
- title = {The \texttt{pdflatexpicscale} package},
- subtitle = {Support software for downscaling graphics to be included by pdfLaTeX},
- author = {Peter Willadt},
- date = {2018-02-12},
- version = {0.32},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/pdflatexpicscale},
- url = {https://ctan.org/pkg/pdflatexpicscale},
-}
-
-@manual{ctan-pdflscape,
- title = {The \texttt{pdflscape} package},
- subtitle = {Make landscape pages display as landscape},
- author = {Heiko Oberdiek},
- date = {2022-10-29},
- version = {0.13},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdflscape},
- url = {https://ctan.org/pkg/pdflscape},
- annotation = {The package adds PDF support to the landscape environment of
- package , by setting the PDF
- page attribute. Pages with this attribute will be
- displayed in landscape orientation by conforming PDF viewers.},
-}
-
-@manual{ctan-pdfmanagement-testphase,
- title = {The \texttt{pdfmanagement-testphase} package},
- subtitle = {\LaTeX{} PDF management testphase bundle},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-03-09},
- version = {0.95x},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfmanagement-testphase},
- url = {https://ctan.org/pkg/pdfmanagement-testphase},
-}
-
-@manual{ctan-pdfmarginpar,
- title = {The \texttt{pdfmarginpar} package},
- subtitle = {Generate marginpar-equivalent PDF annotations},
- author = {Christian Feuersänger},
- date = {2018-01-06},
- version = {0.92},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfmarginpar},
- url = {https://ctan.org/pkg/pdfmarginpar},
- annotation = {The package provides the command which is
- similar in spirit to . However, it creates PDF
- annotations which may be viewed with Adobe Reader in place of
- marginal texts. Small icons indicate the in-text position
- where the message originates, popups provide the messages
- themselves. Thus bugfixes and other such communications are clearly
- visible together when viewing the document, while the document itself
- is not obscured.},
-}
-
-@manual{ctan-pdfmsym,
- title = {The \texttt{pdfMsym} package},
- subtitle = {PDF Math Symbols — various drawn mathematical symbols},
- author = {{Unknown}},
- date = {2022-12-24},
- version = {1.1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/generic/pdfmsym},
- url = {https://ctan.org/pkg/pdfmsym},
-}
-
-@manual{ctan-pdfoverlay,
- title = {The \texttt{pdfoverlay} package},
- subtitle = {A \LaTeX{} style for overlaying text on a PDF},
- author = {David Purton},
- date = {2022-08-27},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfoverlay},
- url = {https://ctan.org/pkg/pdfoverlay},
-}
-
-@manual{ctan-pdfpagediff,
- title = {The \texttt{pdfpagediff} package},
- subtitle = {Find difference between two PDF's},
- author = {C. V. Radhakrishnan},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfpagediff},
- url = {https://ctan.org/pkg/pdfpagediff},
-}
-
-@manual{ctan-pdfpages,
- title = {The \texttt{pdfpages} package},
- subtitle = {Include PDF documents in \LaTeX{}},
- author = {Andreas Matthias},
- date = {2022-12-19},
- version = {0.5x},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfpages},
- url = {https://ctan.org/pkg/pdfpages},
- annotation = {This package simplifies the inclusion of external multi-page PDF
- documents in \LaTeX{} documents. Pages may be freely selected and
- similar to it is possible to put several logical pages onto
- each sheet of paper. Furthermore a lot of hypertext features like
- hyperlinks and article threads are provided. The package supports
- pdfTeX (pdfLaTeX) and VTeX. With VTeX it is even possible to use
- this package to insert PostScript files, in addition to PDF files.},
-}
-
-@manual{ctan-pdfpc-movie,
- title = {The \texttt{pdfpc-movie} package},
- subtitle = {Pdfpc viewer-compatible hyperlinks to movies},
- author = {Sebastian Friedl},
- date = {2018-07-23},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfpc-movie},
- url = {https://ctan.org/pkg/pdfpc-movie},
-}
-
-@manual{ctan-pdfpc,
- title = {The \texttt{pdfpc} package},
- subtitle = {Define data for the pdfpc presentation viewer},
- author = {Evgeny Stambulchik},
- date = {2022-07-10},
- version = {0.7.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfpc},
- url = {https://ctan.org/pkg/pdfpc},
-}
-
-@manual{ctan-pdfprivacy,
- title = {The \texttt{pdfprivacy} package},
- subtitle = {A \LaTeX{} package to remove or suppress pdf meta-data},
- author = {Laurens Sion},
- date = {2017-12-05},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfprivacy},
- url = {https://ctan.org/pkg/pdfprivacy},
-}
-
-@manual{ctan-pdfrack,
- title = {The \texttt{PDFrack} package},
- subtitle = {Use psfrag with pdfLaTeX},
- author = {Marc Boyer},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/pdfrack},
- url = {https://ctan.org/pkg/pdfrack},
-}
-
-@manual{ctan-pdfrender,
- title = {The \texttt{pdfrender} package},
- subtitle = {Control rendering parameters},
- author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/pdfrender.dtx},
- url = {https://ctan.org/pkg/pdfrender},
- annotation = {The package provides interfaces for the user to control PDF
- parameters, such as line width or text rendering mode. The
- control operations work in a manner very similar to that of the
- package.},
-}
-
-@manual{ctan-pdfreview,
- title = {The \texttt{pdfreview} package},
- subtitle = {Annotate PDF files with margin notes},
- author = {Michael Palmer},
- date = {2019-02-22},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfreview},
- url = {https://ctan.org/pkg/pdfreview},
-}
-
-@manual{ctan-pdfscreen,
- title = {The \texttt{pdfscreen} package},
- subtitle = {Support screen-based document design},
- author = {C. V. Radhakrishnan},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfscreen},
- url = {https://ctan.org/pkg/pdfscreen},
- annotation = {An extension of the
- package to provide a screen-based document design. This package
- helps to generate pdf documents that are readable on screen and
- will fit the screen's aspect ratio. Also it can be used with
- various options to produce regular print versions of the same
- document without any extra effort.},
-}
-
-@manual{ctan-pdfslide,
- title = {The \texttt{pdfslide} package},
- subtitle = {Presentation slides using pdfTeX},
- author = {C. V. Radhakrishnan},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfslide},
- url = {https://ctan.org/pkg/pdfslide},
-}
-
-@manual{ctan-pdfsync,
- title = {The \texttt{pdfsync} package},
- subtitle = {Provide links between source and PDF},
- author = {Jérôme Laurens},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfsync},
- url = {https://ctan.org/pkg/pdfsync},
-}
-
-@manual{ctan-pdftex-def,
- title = {The \texttt{pdftex-def} package},
- subtitle = {Colour and Graphics support for pdfTeX},
- author = {David Carlisle and Sebastian Rahtz and Hans Hagen and Martin Schröder and Heiko Oberdiek},
- date = {2022-09-23},
- version = {1.2b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphics-def},
- url = {https://ctan.org/pkg/pdftex-def},
-}
-
-@manual{ctan-pdftex-djgpp,
- title = {The \texttt{pdftex-djgpp} package},
- subtitle = {An msdos-djgpp binary of the pdfTeX engine},
- author = {Luis Rivera},
- date = {2019-10-05},
- version = {},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/systems/msdos/djgpp-contrib/pdftex-djgpp},
- url = {https://ctan.org/pkg/pdftex-djgpp},
- annotation = {This package provides a binary of the
- engine
- for the distribution.},
-}
-
-@manual{ctan-pdftex-oztex,
- title = {The \texttt{pdftex-oztex} package},
- subtitle = {pdfTeX designed to run with OzTeX},
- author = {Tom Kiffe},
- date = {2019-02-03},
- version = {14c},
- license = {shareware},
- mirror = {https://mirror.ctan.org/obsolete/systems/mac/pdftex},
- url = {https://ctan.org/pkg/pdftex-oztex},
-}
-
-@manual{ctan-pdftex-quiet,
- title = {The \texttt{pdftex-quiet} package},
- subtitle = {A bash wrapper for pdfTeX limiting its output to relevant errors},
- author = {Jiří Kozlovský},
- date = {2018-11-15},
- version = {1.1.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/pdftex-quiet},
- url = {https://ctan.org/pkg/pdftex-quiet},
-}
-
-@manual{ctan-pdftex,
- title = {The \texttt{pdftex} package},
- subtitle = {A \TeX{} extension for direct creation of PDF},
- author = {Hàn Thế Thành and {The pdfTeX Team} and {The \TeX{} Live Team}},
- date = {2022-01-31},
- license = {gpl},
- url = {https://ctan.org/pkg/pdftex},
- annotation = {An extension of \TeX{} which can directly generate
- PDF documents as well as DVI output. All current free \TeX{} distributions
- including ,
- and
- include pdfTeX (Plain \TeX{}) and
- pdf\LaTeX{} (LaTeX), among many other formats based on the pdfTeX engine.},
-}
-
-@manual{ctan-pdftexcmds,
- title = {The \texttt{pdftexcmds} package},
- subtitle = {LuaTeX support for pdfTeX utility functions},
- author = {Heiko Oberdiek},
- date = {2020-06-29},
- version = {0.33},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/pdftexcmds},
- url = {https://ctan.org/pkg/pdftexcmds},
- annotation = {LuaTeX provides most of the commands of
- 1.40. However, a number of
- utility functions are not available. This package tries to fill
- the gap and implements some of the missing primitives using Lua.},
-}
-
-@manual{ctan-pdftricks,
- title = {The \texttt{pdftricks} package},
- subtitle = {Support for PSTricks in pdfTeX},
- author = {C. V. Radhakrishnan and C. V. Rajagopal},
- date = {2021-08-26},
- version = {1.16},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/pdftricks},
- url = {https://ctan.org/pkg/pdftricks},
-}
-
-@manual{ctan-pdftricks2,
- title = {The \texttt{pdftricks2} package},
- subtitle = {Use PSTricks in pdfTeX},
- author = {Christian Reibiger},
- date = {2018-09-15},
- version = {1.01},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/graphics/pdftricks2},
- url = {https://ctan.org/pkg/pdftricks2},
- annotation = {The package provides the means of processing documents (that
- contain graphics
- specifications. The package is inspired by},
-}
-
-@manual{ctan-pdfx,
- title = {The \texttt{pdfx} package},
- subtitle = {PDF/X and PDF/A support for pdfTeX, LuaTeX and XeTeX},
- author = {C. V. Radhakrishnan and Hàn Thế Thành and Peter Selinger and Ross Moore},
- date = {2019-03-10},
- version = {1.6.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfx},
- url = {https://ctan.org/pkg/pdfx},
-}
-
-@manual{ctan-pdfxup,
- title = {The \texttt{pdfxup} package},
- subtitle = {Create n-up PDF pages with minimal margins},
- author = {Nicolas Markey},
- date = {2021-04-25},
- version = {2.10},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/pdfxup},
- url = {https://ctan.org/pkg/pdfxup},
-}
-
-@manual{ctan-pecha,
- title = {The \texttt{Pecha} package},
- subtitle = {Print Tibetan text in the classic pecha layout style},
- author = {Dieter Jäger},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/tibetan/pecha},
- url = {https://ctan.org/pkg/pecha},
- annotation = {The pecha class provides an environment for writing Tibetan
- on \LaTeX{}2e in the traditional Tibetan Pecha layout used for
- spiritual or philosophical texts, using the
- package by Oliver Corff.
- It provides features like headers in different languages,
- page numbering in Tibetan and more.},
-}
-
-@manual{ctan-pedigree-perl,
- title = {The \texttt{pedigree-perl} package},
- subtitle = {Generate \TeX{} pedigree files from CSV files},
- author = {Boris Veytsman and Leila Akhmadeeva},
- date = {2022-08-29},
- version = {2.1},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pedigree/pedigree-perl},
- url = {https://ctan.org/pkg/pedigree-perl},
- annotation = {This program generates \TeX{} commands to typeset pedigrees —
- either \TeX{} fragments or full \LaTeX{} files, to be processed by the
- authors’ package.
- The program has support for multilanguage pedigrees (at the
- present moment the English and Russian languages are supported).},
-}
-
-@manual{ctan-penlight,
- title = {The \texttt{penlight} package},
- subtitle = {Penlight Lua libraries made available to Lua\LaTeX{} users},
- author = {Kale Ewasiuk},
- date = {2022-10-25},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/penlight},
- url = {https://ctan.org/pkg/penlight},
- annotation = {This Lua\LaTeX{} package provides a wrapper to use
- the
- Lua libraries with LuaLaTeX, with some extra functionality added.},
-}
-
-@manual{ctan-penrose,
- title = {The \texttt{penrose} package},
- subtitle = {A TikZ library for producing Penrose tilings},
- author = {Andrew Stacey},
- date = {2021-01-23},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/penrose},
- url = {https://ctan.org/pkg/penrose},
- annotation = {This package provides a library
- for drawing Penrose tiles.
- It currently supports the kite/dart, rhombus, and pentagon tile sets.
- There are two main methods for their placement:
- one that automatically generates a tiling,
- and one that allows for “by hand” placement.
- Furthermore, the tiles themselves can be deformed and
- will still (hopefully!) fit together in the correct fashion.},
-}
-
-@manual{ctan-perception,
- title = {The \texttt{perception} package},
- subtitle = {BibTeX style for the journal Perception},
- author = {Jed Singer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/perception},
- url = {https://ctan.org/pkg/perception},
-}
-
-@manual{ctan-perfectcut,
- title = {The \texttt{perfectcut} package},
- subtitle = {Nested delimiters that consistently grow regardless of the contents},
- author = {Guillaume Munch-Maccagnoni},
- date = {2019-07-27},
- version = {2.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/perfectcut},
- url = {https://ctan.org/pkg/perfectcut},
-}
-
-@manual{ctan-perltex,
- title = {The \texttt{perltex} package},
- subtitle = {Define \LaTeX{} macros in terms of Perl code},
- author = {Scott Pakin},
- date = {2019-09-23},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/perltex},
- url = {https://ctan.org/pkg/perltex},
-}
-
-@manual{ctan-permute,
- title = {The \texttt{permute} package},
- subtitle = {Support for symmetric groups},
- author = {Carsten Heinz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/permute},
- url = {https://ctan.org/pkg/permute},
-}
-
-@manual{ctan-perpage,
- title = {The \texttt{perpage} package},
- subtitle = {Make a counter reset at every page boundary},
- author = {David Kastrup},
- date = {2016-06-24},
- version = {1.12},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bigfoot},
- url = {https://ctan.org/pkg/perpage},
-}
-
-@manual{ctan-persian-bib,
- title = {The \texttt{persian-bib} package},
- subtitle = {Persian translations of classic BibTeX styles},
- author = {Mahmood Amintoosi},
- date = {2016-06-24},
- version = {0.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/persian-bib},
- url = {https://ctan.org/pkg/persian-bib},
-}
-
-@manual{ctan-petiteannonce,
- title = {The \texttt{petiteannonce} package},
- subtitle = {A class for small advertisements},
- author = {Vincent Belaïche},
- date = {2016-06-24},
- version = {1.0001},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/petiteannonce},
- url = {https://ctan.org/pkg/petiteannonce},
-}
-
-@manual{ctan-petri-nets,
- title = {The \texttt{Petri-nets} package},
- subtitle = {A set \TeX{}/\LaTeX{} packages for drawing Petri nets},
- author = {Franck Pommereau},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/petri-nets},
- url = {https://ctan.org/pkg/petri-nets},
-}
-
-@manual{ctan-pf2afm,
- title = {The \texttt{pf2afm} package},
- subtitle = {AFM generator for Adobe Type 1 fonts},
- author = {{BOP}},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/utilities/pf2afm},
- url = {https://ctan.org/pkg/pf2afm},
-}
-
-@manual{ctan-pfarrei,
- title = {The \texttt{pfarrei} package},
- subtitle = {\LaTeX{} support of pastors’ and priests’ work},
- author = {Markus Kohm},
- date = {2016-06-24},
- version = {r36},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pfarrei},
- url = {https://ctan.org/pkg/pfarrei},
- annotation = {In “Die \TeX{}nische Komödie” (issue 1/2013) Christian Justen described
- his use of \LaTeX{} in his work as priest (similar requirements may
- be encountered in the work of pastors and other ministers of
- religion). One point was to arrange
- A5 pages onto A4 landscape paper, either side-by-side or as a
- booklet. Justen made two bash scripts for this job; the package
- provides one texlua script for both requirements. (Note that file
- should have execute permissions in any installation.)},
-}
-
-@manual{ctan-pfdicons,
- title = {The \texttt{pfdicons} package},
- subtitle = {Draw process flow diagrams in chemical engineering},
- author = {Aaron Drews},
- date = {2021-07-28},
- version = {1.0a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pfdicons},
- url = {https://ctan.org/pkg/pfdicons},
-}
-
-@manual{ctan-pfm2afm,
- title = {The \texttt{pfm2afm} package},
- subtitle = {Convert PFM files to AFM, and vice versa},
- author = {Russell Lang},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/pfm2afm},
- url = {https://ctan.org/pkg/pfm2afm},
-}
-
-@manual{ctan-pfnote,
- title = {The \texttt{pfnote} package},
- subtitle = {Number footnotes per page},
- author = {Hiroshi Nakashima},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yafoot},
- url = {https://ctan.org/pkg/pfnote},
-}
-
-@manual{ctan-pgf-blur,
- title = {The \texttt{pgf-blur} package},
- subtitle = {PGF/TikZ package for "blurred" shadows},
- author = {Norbert Preining and Martin Giese and Andrew Stacey},
- date = {2018-08-21},
- version = {1.02},
- license = {lppl,pd},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-blur},
- url = {https://ctan.org/pkg/pgf-blur},
-}
-
-@manual{ctan-pgf-cmykshadings,
- title = {The \texttt{pgf-cmykshadings} package},
- subtitle = {Support for CMYK and grayscale shadings in PGF/TikZ},
- author = {David Purton},
- date = {2023-01-03},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/graphics/pgf/contrib/pgf-cmykshadings},
- url = {https://ctan.org/pkg/pgf-cmykshadings},
-}
-
-@manual{ctan-pgf-interference,
- title = {The \texttt{pgf-interference} package},
- subtitle = {Drawing interference patterns with PGF/TikZ},
- author = {Keno Wehr},
- date = {2022-01-25},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-interference},
- url = {https://ctan.org/pkg/pgf-interference},
- annotation = {This \LaTeX{} package makes it possible to simulate interference patterns
- occuring on a screen if monochromatic light is diffracted at regular
- structures of slits. It makes use of the graphics package.},
-}
-
-@manual{ctan-pgf-periodictable,
- title = {The \texttt{pgf-PeriodicTable} package},
- subtitle = {Create custom periodic tables of elements},
- author = {Hugo Gomes},
- date = {2023-02-21},
- version = {2.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-periodictable},
- url = {https://ctan.org/pkg/pgf-periodictable},
-}
-
-@manual{ctan-pgf-pie,
- title = {The \texttt{pgf-pie} package},
- subtitle = {Draw pie charts, using PGF},
- author = {{The PGF/TikZ Team} and Xu Yuan},
- date = {2022-06-15},
- version = {0.7},
- license = {gpl2,lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-pie},
- url = {https://ctan.org/pkg/pgf-pie},
- annotation = {The package provides the means to draw pie (and variant) charts,
- using .},
-}
-
-@manual{ctan-pgf-soroban,
- title = {The \texttt{pgf-soroban} package},
- subtitle = {Create images of the soroban using TikZ/PGF},
- author = {Alain Delmotte},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-soroban},
- url = {https://ctan.org/pkg/pgf-soroban},
- annotation = {The package makes it possible to create pictures of the soroban
- (Japanese abacus) using},
-}
-
-@manual{ctan-pgf-spectra,
- title = {The \texttt{pgf-spectra} package},
- subtitle = {Draw continuous or discrete spectra using PGF/TikZ},
- author = {Hugo Gomes},
- date = {2023-02-21},
- version = {2.2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-spectra},
- url = {https://ctan.org/pkg/pgf-spectra},
-}
-
-@manual{ctan-pgf-umlcd,
- title = {The \texttt{pgf-umlcd} package},
- subtitle = {Some \LaTeX{} macros for UML Class Diagrams},
- author = {Xu Yuan and {The PGF/TikZ Team}},
- date = {2022-05-22},
- version = {0.3},
- license = {gpl2,lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-umlcd},
- url = {https://ctan.org/pkg/pgf-umlcd},
-}
-
-@manual{ctan-pgf-umlsd,
- title = {The \texttt{pgf-umlsd} package},
- subtitle = {Draw UML Sequence Diagrams},
- author = {{The PGF/TikZ Team} and Xu Yuan},
- date = {2020-05-27},
- version = {0.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgf-umlsd},
- url = {https://ctan.org/pkg/pgf-umlsd},
- annotation = {\LaTeX{} macros to draw UML diagrams using},
-}
-
-@manual{ctan-pgf,
- title = {The \texttt{pgf} package},
- subtitle = {Create PostScript and PDF graphics in \TeX{}},
- author = {{The PGF/TikZ Team} and Till Tantau and Christian Feuersänger and Henri Menke},
- date = {2023-01-15},
- version = {3.1.10},
- license = {lppl1.3c,gpl2,fdl},
- mirror = {https://mirror.ctan.org/graphics/pgf/base},
- url = {https://ctan.org/pkg/pgf},
-}
-
-@manual{ctan-pgfgantt,
- title = {The \texttt{pgfgantt} package},
- subtitle = {Draw Gantt charts with TikZ},
- author = {Wolfgang Skala},
- date = {2018-01-10},
- version = {5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgfgantt},
- url = {https://ctan.org/pkg/pgfgantt},
-}
-
-@manual{ctan-pgfkeys,
- title = {The \texttt{pgfkeys} package},
- subtitle = {Key value control for PGF},
- author = {Till Tantau},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/base},
- url = {https://ctan.org/pkg/pgfkeys},
-}
-
-@manual{ctan-pgfkeyx,
- title = {The \texttt{pgfkeyx} package},
- subtitle = {Extended and more robust version of pgfkeys},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pgfkeyx},
- url = {https://ctan.org/pkg/pgfkeyx},
-}
-
-@manual{ctan-pgfmath-xfp,
- title = {The \texttt{pgfmath-xfp} package},
- subtitle = {Define pgfmath functions using xfp},
- author = {Jonathan P. Spratte},
- date = {2021-05-21},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pgfmath-xfp},
- url = {https://ctan.org/pkg/pgfmath-xfp},
-}
-
-@manual{ctan-pgfmolbio,
- title = {The \texttt{pgfmolbio} package},
- subtitle = {Draw graphs typically found in molecular biology texts},
- author = {Wolfgang Skala},
- date = {2016-06-24},
- version = {0.21},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/pgfmolbio},
- url = {https://ctan.org/pkg/pgfmolbio},
-}
-
-@manual{ctan-pgfmorepages,
- title = {The \texttt{pgfmorepages} package},
- subtitle = {Assemble multiple logical pages onto a physical page},
- author = {Andrew Stacey},
- date = {2020-04-16},
- version = {1.20},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgfmorepages},
- url = {https://ctan.org/pkg/pgfmorepages},
- annotation = {This package replaces and extends the pgfpages sub-package of
- the . It provides the
- capability to arrange multiple “logical” pages on multiple
- “physical” pages, for example as for arranging pages to make
- booklets.},
-}
-
-@manual{ctan-pgfopts,
- title = {The \texttt{pgfopts} package},
- subtitle = {\LaTeX{} package options with pgfkeys},
- author = {Joseph Wright},
- date = {2016-06-24},
- version = {2.1a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pgfopts},
- url = {https://ctan.org/pkg/pgfopts},
- annotation = {The pgfkeys package (part of the
- distribution) is a well-designed way of defining and using large
- numbers of keys for key-value syntaxes. However, pgfkeys itself
- does not offer means of handling \LaTeX{} class and package
- options. This package adds such option handling to pgfkeys, in
- the same way that adds
- the same facility to the \LaTeX{} standard
- package.},
-}
-
-@manual{ctan-pgfornament-han,
- title = {The \texttt{pgfornament-han} package},
- subtitle = {pgfornament library for Chinese traditional motifs and patterns},
- author = {LianTze Lim},
- date = {2019-08-11},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgfornament-han},
- url = {https://ctan.org/pkg/pgfornament-han},
-}
-
-@manual{ctan-pgfornament,
- title = {The \texttt{pgfornament} package},
- subtitle = {Drawing of Vectorian ornaments with PGF/TikZ},
- author = {Alain Matthes},
- date = {2020-05-28},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/pgfornament},
- url = {https://ctan.org/pkg/pgfornament},
- annotation = {This package allows the drawing of Vectorian ornaments (196) with
- .
- The documentation presents the syntax and parameters of the macro
- “pgfornament”.},
-}
-
-@manual{ctan-pgfplots,
- title = {The \texttt{pgfplots} package},
- subtitle = {Create normal/logarithmic plots in two and three dimensions},
- author = {Christian Feuersänger},
- date = {2021-10-08},
- version = {1.18.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgfplots},
- url = {https://ctan.org/pkg/pgfplots},
-}
-
-@manual{ctan-pgfplotstable,
- title = {The \texttt{pgfplotstable} package},
- subtitle = {Loads, rounds, formats and postprocesses numerical tables},
- author = {Christian Feuersänger},
- date = {2021-05-08},
- version = {1.18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pgfplots},
- url = {https://ctan.org/pkg/pgfplotstable},
-}
-
-@manual{ctan-pgothic,
- title = {The \texttt{pgothic} package},
- subtitle = {Fonts based on the Gothic Textura Prescisus manuscript book-hand},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/pgothic},
- url = {https://ctan.org/pkg/pgothic},
-}
-
-@manual{ctan-phaistos,
- title = {The \texttt{phaistos} package},
- subtitle = {Disk of Phaistos font},
- author = {Apostolos Syropoulos},
- date = {2022-12-14},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/phaistos},
- url = {https://ctan.org/pkg/phaistos},
-}
-
-@manual{ctan-phfcc,
- title = {The \texttt{phfcc} package},
- subtitle = {Convenient inline commenting in collaborative documents},
- author = {Philippe Faist},
- date = {2021-10-15},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfcc},
- url = {https://ctan.org/pkg/phfcc},
- annotation = {Easily define helper macros to insert comments in a \LaTeX{} document.
- A convenient syntax enables you to mark text additions
- (e.g., “” or
- “”),
- an in-line comment
- (e.g., “”),
- and text removals (e.g., “”).
- New colors are assigned automatically to each commenter by default,
- and the appearance of all comments is highly customizable.},
-}
-
-@manual{ctan-phfextendedabstract,
- title = {The \texttt{phfextendedabstract} package},
- subtitle = {Typeset extended abstracts for conferences, such as often encountered in quantum information theory},
- author = {Philippe Faist},
- date = {2021-09-11},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfextendedabstract},
- url = {https://ctan.org/pkg/phfextendedabstract},
-}
-
-@manual{ctan-phffullpagefigure,
- title = {The \texttt{phffullpagefigure} package},
- subtitle = {Figures which fill up a whole page},
- author = {Philippe Faist},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phffullpagefigure},
- url = {https://ctan.org/pkg/phffullpagefigure},
-}
-
-@manual{ctan-phfnote,
- title = {The \texttt{phfnote} package},
- subtitle = {Basic formatting for short documents},
- author = {Philippe Faist},
- date = {2021-10-11},
- version = {4.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfnote},
- url = {https://ctan.org/pkg/phfnote},
-}
-
-@manual{ctan-phfparen,
- title = {The \texttt{phfparen} package},
- subtitle = {Parenthetic math expressions made simpler and less redundant},
- author = {Philippe Faist},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfparen},
- url = {https://ctan.org/pkg/phfparen},
-}
-
-@manual{ctan-phfqit,
- title = {The \texttt{phfqit} package},
- subtitle = {Macros for typesetting Quantum Information Theory},
- author = {Philippe Faist},
- date = {2021-10-11},
- version = {4.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfqit},
- url = {https://ctan.org/pkg/phfqit},
-}
-
-@manual{ctan-phfquotetext,
- title = {The \texttt{phfquotetext} package},
- subtitle = {Quote verbatim text without white space formatting},
- author = {Philippe Faist},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfquotetext},
- url = {https://ctan.org/pkg/phfquotetext},
- annotation = {This package provides an environment for displaying
- block text with special characters,
- such as verbatim quotes from a referee report which may
- contain pseudo-(La)TeX code.
- This behaves like a environment,
- except that it displays its content as normal paragraph content,
- ignoring any white space preformatting.},
-}
-
-@manual{ctan-phfsvnwatermark,
- title = {The \texttt{phfsvnwatermark} package},
- subtitle = {Watermarks with version control information from SVN},
- author = {Philippe Faist},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfsvnwatermark},
- url = {https://ctan.org/pkg/phfsvnwatermark},
- annotation = {This package allows you to add version control information
- as a gray watermark on each page of your document.
- The SVN info is read from keyword tags
- such as
- ,
- , and
-
- via the
- or
- packages.},
-}
-
-@manual{ctan-phfthm,
- title = {The \texttt{phfthm} package},
- subtitle = {Goodies for theorems and proofs},
- author = {Philippe Faist},
- date = {2021-10-11},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phfthm},
- url = {https://ctan.org/pkg/phfthm},
- annotation = {This package provides enhanced theorem and proof environments
- based on the original versions.
- It allows for hooks to be placed, adds some default goodies and
- is highly customizable.
- In particular, it can connect theorems to proofs,
- automatically producing text such as
- “See proof on page XYZ” and
- “Proof of Theorem 4: ...”.},
-}
-
-@manual{ctan-philex,
- title = {The \texttt{philex} package},
- subtitle = {Cross references for named and numbered environments},
- author = {Peter Pagin},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/philex},
- url = {https://ctan.org/pkg/philex},
-}
-
-@manual{ctan-philokalia,
- title = {The \texttt{philokalia} package},
- subtitle = {A font to typeset the Philokalia Books},
- author = {Apostolos Syropoulos and Ioannis Gamvetas},
- date = {2018-01-06},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/philokalia},
- url = {https://ctan.org/pkg/philokalia},
-}
-
-@manual{ctan-philosophersimprint,
- title = {The \texttt{philosophersimprint} package},
- subtitle = {Typesetting articles for "Philosophers' Imprint"},
- author = {Boris Veytsman},
- date = {2020-11-16},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/philosophersimprint},
- url = {https://ctan.org/pkg/philosophersimprint},
-}
-
-@manual{ctan-phoenician,
- title = {The \texttt{phoenician} package},
- subtitle = {Fonts for the Phoenician script in use from about 1600 BC},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/phoenician},
- url = {https://ctan.org/pkg/phoenician},
-}
-
-@manual{ctan-phoncard,
- title = {The \texttt{phoncard} package},
- subtitle = {Format telephone number lists},
- author = {Daniel R. Greening},
- date = {2016-06-24},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/phoncard.tex},
- url = {https://ctan.org/pkg/phoncard},
-}
-
-@manual{ctan-phonenumbers,
- title = {The \texttt{phonenumbers} package},
- subtitle = {Typesetting telephone numbers with \LaTeX{}},
- author = {Keno Wehr},
- date = {2022-07-01},
- version = {2.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phonenumbers},
- url = {https://ctan.org/pkg/phonenumbers},
-}
-
-@manual{ctan-phonetic,
- title = {The \texttt{phonetic} package},
- subtitle = {Metafont Phonetic fonts, based on Computer Modern},
- author = {Emma Pease},
- date = {2020-09-26},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/phonetic},
- url = {https://ctan.org/pkg/phonetic},
-}
-
-@manual{ctan-phonrule,
- title = {The \texttt{phonrule} package},
- subtitle = {Typeset linear phonological rules},
- author = {Stefano Coretta},
- date = {2017-04-21},
- version = {1.3.2},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/phonrule},
- url = {https://ctan.org/pkg/phonrule},
-}
-
-@manual{ctan-photo,
- title = {The \texttt{photo} package},
- subtitle = {A float environment for photographs},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/photo},
- url = {https://ctan.org/pkg/photo},
-}
-
-@manual{ctan-photobook,
- title = {The \texttt{photobook} package},
- subtitle = {A document class for typesetting photo books},
- author = {Alex A. Naanou},
- date = {2023-03-11},
- version = {0.1.10},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/photobook},
- url = {https://ctan.org/pkg/photobook},
- annotation = {The \LaTeX{} document class extends the book class defining
- a set of parameters, meta-macros, macros and environments
- with reasonable defaults to help typeset, build and print
- books mainly based on visual/image content.},
-}
-
-@manual{ctan-phy-bstyles,
- title = {The \texttt{phy-bstyles} package},
- subtitle = {A collection of BibTeX styles for physics journals},
- author = {Charles Karney and Hans-Hermann Bode},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/phy-bstyles},
- url = {https://ctan.org/pkg/phy-bstyles},
-}
-
-@manual{ctan-physconst,
- title = {The \texttt{physconst} package},
- subtitle = {Macros for commonly used physical constants},
- author = {Brian W. Mulligan},
- date = {2021-03-27},
- version = {1.1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/physconst},
- url = {https://ctan.org/pkg/physconst},
-}
-
-@manual{ctan-physe,
- title = {The \texttt{physe} package},
- subtitle = {The PHYSE format},
- author = {Peter Breitenlohner},
- date = {2016-06-24},
- version = {1.3.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/physe},
- url = {https://ctan.org/pkg/physe},
- annotation = {PHYSE is a format for writing physics papers, based on Knuth's
- .},
-}
-
-@manual{ctan-physics,
- title = {The \texttt{physics} package},
- subtitle = {Macros supporting the Mathematics of Physics},
- author = {Sergio C. de la Barrera},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/physics},
- url = {https://ctan.org/pkg/physics},
-}
-
-@manual{ctan-physics2,
- title = {The \texttt{physics2} package},
- subtitle = {Macros for typesetting math faster and more simply},
- author = {Tingxuan Zhang},
- date = {2023-02-08},
- version = {0.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/physics2},
- url = {https://ctan.org/pkg/physics2},
-}
-
-@manual{ctan-physunits,
- title = {The \texttt{physunits} package},
- subtitle = {Macros for commonly used physical units},
- author = {Brian W. Mulligan},
- date = {2021-03-27},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/physunits},
- url = {https://ctan.org/pkg/physunits},
-}
-
-@manual{ctan-physymb,
- title = {The \texttt{physymb} package},
- subtitle = {Assorted macros for Physicists},
- author = {David Zaslavsky},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/physymb},
- url = {https://ctan.org/pkg/physymb},
-}
-
-@manual{ctan-phyzzx,
- title = {The \texttt{phyzzx} package},
- subtitle = {A \TeX{} format for physicists},
- author = {Vadim Kaplunovsky},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/phyzzx},
- url = {https://ctan.org/pkg/phyzzx},
-}
-
-@manual{ctan-pi,
- title = {The \texttt{pi} package},
- subtitle = {Calculate pi},
- author = {Denis B. Roegel},
- date = {2019-10-01},
- version = {0.993},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/pi.tex},
- url = {https://ctan.org/pkg/pi},
-}
-
-@manual{ctan-piano,
- title = {The \texttt{piano} package},
- subtitle = {Typeset a basic 2-octave piano diagram},
- author = {Émile Daneault},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/piano},
- url = {https://ctan.org/pkg/piano},
-}
-
-@manual{ctan-picinpar,
- title = {The \texttt{picinpar} package},
- subtitle = {Insert pictures into paragraphs},
- author = {Friedhelm Sowa and Stefan Blochwitz},
- date = {2022-11-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/picinpar},
- url = {https://ctan.org/pkg/picinpar},
-}
-
-@manual{ctan-picins,
- title = {The \texttt{picins} package},
- subtitle = {Insert pictures into paragraphs},
- author = {Joachim Bleser},
- date = {2019-06-21},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/picins},
- url = {https://ctan.org/pkg/picins},
-}
-
-@manual{ctan-picmac,
- title = {The \texttt{picmac} package},
- subtitle = {A picture mode in Plain \TeX{}},
- author = {Donald E. Knuth},
- date = {2016-11-06},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/local/lib/picmac.tex},
- url = {https://ctan.org/pkg/picmac},
-}
-
-@manual{ctan-pict2e,
- title = {The \texttt{pict2e} package},
- subtitle = {New implementation of picture commands},
- author = {Hubert Gäßlein and Rolf Niepraschk and Josef Tkadlec},
- date = {2020-10-01},
- version = {0.4b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pict2e},
- url = {https://ctan.org/pkg/pict2e},
-}
-
-@manual{ctan-pictex-autoarea,
- title = {The \texttt{pictex-autoarea} package},
- subtitle = {Automatic computation of bounding boxes with PiCTeX},
- author = {Uwe Lück},
- date = {2021-06-10},
- version = {0.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pictex-addons/autoarea},
- url = {https://ctan.org/pkg/pictex-autoarea},
-}
-
-@manual{ctan-pictex,
- title = {The \texttt{PicTeX} package},
- subtitle = {Picture drawing macros for \TeX{} and \LaTeX{}},
- author = {Michael Wichura},
- date = {2021-06-11},
- version = {1.1b},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/graphics/pictex},
- url = {https://ctan.org/pkg/pictex},
- annotation = {PicTeX is an early and very comprehensive drawing package that
- mostly draws by placing myriads of small dots to make up pictures.
- It has a tendency to run out of space; packages
- and
- deal with the problems
- in different ways.},
-}
-
-@manual{ctan-pictex2,
- title = {The \texttt{pictex2} package},
- subtitle = {Adds relative coordinates and improves the \textbackslash{}plot command},
- author = {William Park},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pictex2/pictex2.sty},
- url = {https://ctan.org/pkg/pictex2},
- annotation = {Adds two user commands to standard
- . One command uses relative
- coordinates, thus eliminating the need to calculate the coordinate
- of every point manually as in standard PiCTeX. The other command
- modifies to use a rule instead of dots if the line
- segment is horizontal or vertical.},
-}
-
-@manual{ctan-pictexsum,
- title = {The \texttt{PicTeXsum} package},
- subtitle = {A summary of PicTeX commands},
- author = {Angus Duggan},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/pictex/summary},
- url = {https://ctan.org/pkg/pictexsum},
- annotation = {The document summarises the commands of PicTeX. While it is no
- substitute for the PicTeX manual itself (available from
- ), the document
- is a useful aide-memoire for those who have read the manual.},
-}
-
-@manual{ctan-pictexwd,
- title = {The \texttt{pictexwd} package},
- subtitle = {A patched version of PicTeX using fewer registers},
- author = {Andreas Schrell},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- url = {https://ctan.org/pkg/pictexwd},
-}
-
-@manual{ctan-picture,
- title = {The \texttt{picture} package},
- subtitle = {Dimens for picture macros},
- author = {Heiko Oberdiek},
- date = {2020-04-23},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/picture},
- url = {https://ctan.org/pkg/picture},
- annotation = {There are macro and environment arguments that expect numbers
- that will internally be multiplied by .
- This package extends the syntax of these arguments, so that
- dimensions with calculation support may be used for these arguments.},
-}
-
-@manual{ctan-piechart,
- title = {The \texttt{piechart} package},
- subtitle = {Simple pie-charts with PSTricks},
- author = {Denis Girou},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/piechart},
- url = {https://ctan.org/pkg/piechart},
- annotation = {A pair of shell+AWK scripts that uses small parameter
- files to generate pie-charts (expressed as (La)TeX code using
- ).},
-}
-
-@manual{ctan-piechartmp,
- title = {The \texttt{piechartmp} package},
- subtitle = {Draw pie-charts using MetaPost},
- author = {Jens-Uwe Morawski},
- date = {2016-06-24},
- version = {0.3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/piechartmp},
- url = {https://ctan.org/pkg/piechartmp},
- annotation = {The piechartmp package is an easy way to draw pie-charts with
- . The package implements an
- interface that enables users with little MetaPost experience to
- draw charts. A highlight of the package is the possibility of
- suppressing some segments of the chart, thus creating the
- possibility of several charts from the same data.},
-}
-
-@manual{ctan-piff-ams,
- title = {The \texttt{piff-ams} package},
- subtitle = {Early macros for using AMS fonts},
- author = {Mike Piff},
- date = {2018-01-06},
- version = {3.16},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/piff-ams},
- url = {https://ctan.org/pkg/piff-ams},
- annotation = {This package was created (in its present form) after the advent of
- \LaTeX{} 2e, but before the corresponding macros from the AMS itself
- had arrived. Those macros are now part of the standard \LaTeX{}
- distribution as part of .},
-}
-
-@manual{ctan-piff,
- title = {The \texttt{piff} package},
- subtitle = {Macro tools by Mike Piff},
- author = {Mike Piff and David Carlisle},
- date = {2018-09-13},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/piff},
- url = {https://ctan.org/pkg/piff},
-}
-
-@manual{ctan-pifont,
- title = {The \texttt{pifont} package},
- subtitle = {Access to PostScript standard Symbol and Dingbats fonts},
- author = {Walter A. Schmidt and {The \LaTeX{} Project Team} and Sebastian Rahtz},
- date = {2021-12-07},
- version = {9.2a},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/required/psnfss},
- url = {https://ctan.org/pkg/pifont},
-}
-
-@manual{ctan-pigpen,
- title = {The \texttt{pigpen} package},
- subtitle = {A font for the pigpen (or masonic) cipher},
- author = {Oliver Corff},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/pigpen},
- url = {https://ctan.org/pkg/pigpen},
-}
-
-@manual{ctan-pinlabel,
- title = {The \texttt{pinlabel} package},
- subtitle = {A \TeX{} labelling package},
- author = {Colin Rourke},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pinlabel},
- url = {https://ctan.org/pkg/pinlabel},
-}
-
-@manual{ctan-pinoutikz,
- title = {The \texttt{pinouTikZ} package},
- subtitle = {Draw chip pinouts with TikZ},
- author = {Robert Blazek},
- date = {2020-07-27},
- version = {1.1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pinoutikz},
- url = {https://ctan.org/pkg/pinoutikz},
-}
-
-@manual{ctan-pitex,
- title = {The \texttt{pitex} package},
- subtitle = {Documentation macros},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/pitex},
- url = {https://ctan.org/pkg/pitex},
-}
-
-@manual{ctan-piton,
- title = {The \texttt{piton} package},
- subtitle = {Typeset Python listings with LPEG},
- author = {François Pantigny},
- date = {2023-02-14},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/piton},
- url = {https://ctan.org/pkg/piton},
-}
-
-@manual{ctan-pittetd,
- title = {The \texttt{pittetd} package},
- subtitle = {Electronic Theses and Dissertations at Pitt},
- author = {Federico Garcia-De Castro and John Fudrow},
- date = {2019-07-10},
- version = {1.618},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pittetd},
- url = {https://ctan.org/pkg/pittetd},
- annotation = {A document class for theses and dissertations. Provides patch
- files that enable pittetd to use files prepared for use with the
- pittdiss or classes.
- The manual provides a detailed guide for users who wish to use the
- class to prepare their thesis or dissertation.},
-}
-
-@manual{ctan-pitthesis,
- title = {The \texttt{pitthesis} package},
- subtitle = {Document class for University of Pittsburgh theses},
- author = {Wonkoo Kim},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pitthesis},
- url = {https://ctan.org/pkg/pitthesis},
-}
-
-@manual{ctan-pixelart,
- title = {The \texttt{pixelart} package},
- subtitle = {Draw pixel-art pictures},
- author = {Louis Paternault},
- date = {2023-02-20},
- version = {1.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pixelart},
- url = {https://ctan.org/pkg/pixelart},
-}
-
-@manual{ctan-pixelarttikz,
- title = {The \texttt{PixelArtTikz} package},
- subtitle = {Work with PixelArts, with TikZ},
- author = {Cédric Pierquet},
- date = {2023-01-28},
- version = {0.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pixelarttikz},
- url = {https://ctan.org/pkg/pixelarttikz},
-}
-
-@manual{ctan-pkbbox,
- title = {The \texttt{pkbbox} package},
- subtitle = {Derive glyph bounding boxes by building PK file},
- author = {Norman Walsh},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/pkbbox},
- url = {https://ctan.org/pkg/pkbbox},
- annotation = {The author found that AFM files generated by
- lacked glyph bounding box
- information, so that they are not much use for generating TFM
- files. This package proceeds by generating a PK file from the
- Type 1 font by use of , and then
- using information from that to generate a more nearly valid AFM
- file from the original.},
-}
-
-@manual{ctan-pkfind,
- title = {The \texttt{pkfind} package},
- subtitle = {A ‘find’ command which understands pk files},
- author = {Paul Vojta},
- date = {2018-11-15},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/support/pkfind},
- url = {https://ctan.org/pkg/pkfind},
- annotation = {The standard specifies that
- and files contain
- strings to identify the contents of the files.
- Pkfind is a variant of the GNU find utility modified to
- understand those specials, and to act on them in some cases.
- For example, it can be used to delete all files
- created by from a
- subdirectory tree.},
-}
-
-@manual{ctan-pkfix-helper,
- title = {The \texttt{pkfix-helper} package},
- subtitle = {Make PostScript files accessible to pkfix},
- author = {Scott Pakin},
- date = {2020-08-06},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/pkfix-helper},
- url = {https://ctan.org/pkg/pkfix-helper},
-}
-
-@manual{ctan-pkfix,
- title = {The \texttt{pkfix} package},
- subtitle = {Replace pk fonts in PostScript with Type 1 fonts},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/pkfix},
- url = {https://ctan.org/pkg/pkfix},
-}
-
-@manual{ctan-pkgcheck,
- title = {The \texttt{pkgcheck} package},
- subtitle = {CTAN package checker},
- author = {Manfred Lotz},
- date = {2022-12-26},
- version = {3.1.0},
- license = {apache2,mit},
- mirror = {https://mirror.ctan.org/support/pkgcheck},
- url = {https://ctan.org/pkg/pkgcheck},
-}
-
-@manual{ctan-pkgloader,
- title = {The \texttt{pkgloader} package},
- subtitle = {Manage the options and loading order of other packages},
- author = {Michiel Helvensteijn},
- date = {2021-03-01},
- version = {0.7.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pkgloader},
- url = {https://ctan.org/pkg/pkgloader},
-}
-
-@manual{ctan-pkuthss,
- title = {The \texttt{pkuthss} package},
- subtitle = {\LaTeX{} template for dissertations in Peking University},
- author = {Casper Ti. Vector},
- date = {2022-10-30},
- version = {1.9.3},
- license = {lppl1.3,bsd,pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pkuthss},
- url = {https://ctan.org/pkg/pkuthss},
-}
-
-@manual{ctan-pkware,
- title = {The \texttt{pkware} package},
- subtitle = {Utility programs for use with PK bitmap fonts},
- author = {Tom Rokicki and {The \TeX{} Live Team}},
- date = {2020-04-26},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/stanford/pkware},
- url = {https://ctan.org/pkg/pkware},
-}
-
-@manual{ctan-pl-mf,
- title = {The \texttt{pl-mf} package},
- subtitle = {Polish extension of Computer Modern fonts},
- author = {Bogusław Jackowski and Marek Ryćko},
- date = {2021-03-20},
- version = {1.09a},
- license = {pd},
- mirror = {https://mirror.ctan.org/language/polish/pl-mf.zip},
- url = {https://ctan.org/pkg/pl-mf},
- annotation = {The Polish extension of the Computer Modern fonts (compatible
- with CM itself) for use with Polish \TeX{} formats. The fonts were
- originally a part of the distribution
- (and they are still available that way).},
-}
-
-@manual{ctan-pl,
- title = {The \texttt{pl} package},
- subtitle = {Literate Programming for Prolog with \LaTeX{}},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {3.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gene/pl},
- url = {https://ctan.org/pkg/pl},
-}
-
-@manual{ctan-placeat,
- title = {The \texttt{placeat} package},
- subtitle = {Absolute content positioning},
- author = {Arno L Trautmann},
- date = {2017-08-26},
- version = {0.1d1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/placeat},
- url = {https://ctan.org/pkg/placeat},
- annotation = {The package provides commands so that the user of Lua\LaTeX{} may
- position arbitrary content at any position specified by absolute
- coordinates on the page. The package draws a grid on each page of
- the document, to aid positioning (the grid may be disabled, for
- ‘final copy’ using the command ).},
-}
-
-@manual{ctan-placeins-plain,
- title = {The \texttt{placeins-plain} package},
- subtitle = {Insertions that keep their place},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/placeins.tex},
- url = {https://ctan.org/pkg/placeins-plain},
- annotation = {This \TeX{} file provides various mechanisms (for plain \TeX{} and close
- relatives) to let insertions (footnotes, topins, pageins, etc.)
- float within their appropriate section, but to prevent them from
- intruding into the following section, even when sections do not
- normally begin a new page. (If your sections normally begin a new
- page, just use to flush out insertions.)},
-}
-
-@manual{ctan-placeins,
- title = {The \texttt{placeins} package},
- subtitle = {Control float placement},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {2.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/placeins},
- url = {https://ctan.org/pkg/placeins},
- annotation = {Defines a command, beyond which floats may not
- pass; useful, for example, to ensure all floats for a section
- appear before the next command.},
-}
-
-@manual{ctan-plain-cm,
- title = {The \texttt{plain-cm} package},
- subtitle = {Variable sized fonts in Plain \TeX{}},
- author = {Daniel C. Brotsky and Berthold K. P. Horn},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/plain-cm.tex},
- url = {https://ctan.org/pkg/plain-cm},
- annotation = {A font-selection system for Plain \TeX{}, that allows users to choose
- sizes other than 10pt as the base size of their document, and to
- use ‘relative’ sizes like ,
- (and so on) as commands taking an argument to be set
- in a larger-than-base size.},
-}
-
-@manual{ctan-plain-ltx,
- title = {The \texttt{plain-ltx} package},
- subtitle = {Make plain \TeX{} files \LaTeX{}able},
- author = {David Carlisle},
- date = {2022-03-14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carlisle/plain.sty},
- url = {https://ctan.org/pkg/plain-ltx},
-}
-
-@manual{ctan-plain,
- title = {The \texttt{plain} package},
- subtitle = {The Plain \TeX{} format},
- author = {Donald E. Knuth},
- date = {2016-11-06},
- version = {3.141592653},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/plain/base},
- url = {https://ctan.org/pkg/plain},
-}
-
-@manual{ctan-plainmisc,
- title = {The \texttt{plainmisc} package},
- subtitle = {Miscellaneous contributed macros for plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-18},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc},
- url = {https://ctan.org/pkg/plainmisc},
-}
-
-@manual{ctan-plainpkg,
- title = {The \texttt{plainpkg} package},
- subtitle = {A minimal method for making generic packages},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.4a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/plainpkg},
- url = {https://ctan.org/pkg/plainpkg},
- annotation = {The package provides a minimal method for making generic (i.e.,
- \TeX{}-format-independent) packaged, combining
- functionality, fallback
- definitions for \LaTeX{} and
- functionality, and handling of arbitrary
- (multiple) “private letters” (analagous \LaTeX{} packages’ use of
- “”) in nested package files. The documentation contains
- a central reference for making and using generic packages based on
- the package.},
-}
-
-@manual{ctan-plainyr,
- title = {The \texttt{plainyr} package},
- subtitle = {Plain bibliography style, sorted by year first},
- author = {Michael P. Perrone},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/plainyr.bst},
- url = {https://ctan.org/pkg/plainyr},
-}
-
-@manual{ctan-plantslabels,
- title = {The \texttt{plantslabels} package},
- subtitle = {Write labels for plants},
- author = {Luca Merciadri},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/plantslabels},
- url = {https://ctan.org/pkg/plantslabels},
-}
-
-@manual{ctan-plantuml,
- title = {The \texttt{plantuml} package},
- subtitle = {Support for rendering UML diagrams using the syntax and tool of PlantUML},
- author = {Oliver Kopp},
- date = {2020-05-19},
- version = {0.3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/plantuml},
- url = {https://ctan.org/pkg/plantuml},
- annotation = {The package provides support for rendering UML diagrams using the syntax and tools
- of PlantUML. The PlantUML syntax is very short and thus enables quickly specifying
- UML diagrams. Using , PlantUML layouts the diagrams.},
-}
-
-@manual{ctan-plari,
- title = {The \texttt{plari} package},
- subtitle = {Typesetting stageplay scripts},
- author = {Antti-Juhani Kaijanaho},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/plari},
- url = {https://ctan.org/pkg/plari},
-}
-
-@manual{ctan-plates,
- title = {The \texttt{plates} package},
- subtitle = {Arrange for "plates" sections of documents},
- author = {Anthony A. Tanbakuchi},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/plates},
- url = {https://ctan.org/pkg/plates},
-}
-
-@manual{ctan-platex-tools,
- title = {The \texttt{platex-tools} package},
- subtitle = {p\LaTeX{} standard tools bundle},
- author = {Hironobu Yamashita},
- date = {2023-02-26},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/platex-tools},
- url = {https://ctan.org/pkg/platex-tools},
- annotation = {This bundle is an extended version of the
- bundle
- developed by the \LaTeX{} team, mainly intended to support
- and
- .
- Currently patches for the
- bundle
- and Martin Schröder’s
- bundle are included.},
-}
-
-@manual{ctan-platex,
- title = {The \texttt{platex} package},
- subtitle = {pLaTeX2e and miscellaneous macros for pTeX},
- author = {Kazuki Maeda and {Japanese \TeX{} Development Community}},
- date = {2023-02-26},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/platex},
- url = {https://ctan.org/pkg/platex},
-}
-
-@manual{ctan-platexcheat,
- title = {The \texttt{platexcheat} package},
- subtitle = {A \LaTeX{} cheat sheet, in Japanese},
- author = {Takuto Asakura},
- date = {2019-01-04},
- version = {3.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/info/latexcheat/platexcheat},
- url = {https://ctan.org/pkg/platexcheat},
-}
-
-@manual{ctan-plautopatch,
- title = {The \texttt{plautopatch} package},
- subtitle = {Automated patches for pLaTeX/upLaTeX},
- author = {Hironobu Yamashita},
- date = {2022-07-31},
- version = {0.9q},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/plautopatch},
- url = {https://ctan.org/pkg/plautopatch},
-}
-
-@manual{ctan-play-font,
- title = {The \texttt{play-font} package},
- subtitle = {The Play font face with support for \LaTeX{} and pdfLaTeX},
- author = {Carl-Clemens Ebinger},
- date = {2021-03-05},
- version = {0.0.1},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/play-font},
- url = {https://ctan.org/pkg/play-font},
-}
-
-@manual{ctan-play,
- title = {The \texttt{play} package},
- subtitle = {Typeset drama using \LaTeX{}},
- author = {James Kilfiger},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/play},
- url = {https://ctan.org/pkg/play},
-}
-
-@manual{ctan-playfair,
- title = {The \texttt{playfair} package},
- subtitle = {Playfair Display fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-28},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/playfair},
- url = {https://ctan.org/pkg/playfair},
-}
-
-@manual{ctan-plcalendar,
- title = {The \texttt{plcalendar} package},
- subtitle = {Plain macros for making nice calendars},
- author = {{Unknown}},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/calendar},
- url = {https://ctan.org/pkg/plcalendar},
-}
-
-@manual{ctan-plex-otf,
- title = {The \texttt{plex-otf} package},
- subtitle = {Support for the OpenType font IBM Plex},
- author = {Herbert Voß},
- date = {2018-04-13},
- version = {0.07a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/plex-otf},
- url = {https://ctan.org/pkg/plex-otf},
-}
-
-@manual{ctan-plex,
- title = {The \texttt{plex} package},
- subtitle = {Support for IBM Plex fonts},
- author = {Bob Tennent},
- date = {2022-09-23},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/plex},
- url = {https://ctan.org/pkg/plex},
-}
-
-@manual{ctan-plfonts,
- title = {The \texttt{plfonts} package},
- subtitle = {Polish extension to Computer Modern fonts},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {pd},
- url = {https://ctan.org/pkg/plfonts},
- annotation = {Polish extension of Computer Modern fonts. These fonts are compatible
- with CM fonts; only Polish characters (as in EC/Cork encoding) and
- quotes are added. The fonts are distributed as
-
- or in .},
-}
-
-@manual{ctan-plhyph,
- title = {The \texttt{plhyph} package},
- subtitle = {Hyphenation for Polish},
- author = {Hanna Kołodziejska and Bogusław Jackowski and Marek Ryćko},
- date = {2021-03-21},
- version = {3.0b},
- license = {knuth},
- mirror = {https://mirror.ctan.org/language/polish/plhyph.tex},
- url = {https://ctan.org/pkg/plhyph},
-}
-
-@manual{ctan-plimsoll,
- title = {The \texttt{plimsoll} package},
- subtitle = {Fonts with the Plimsoll symbol and \LaTeX{} support},
- author = {Palle Jørgensen},
- date = {2020-10-12},
- version = {1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/fonts/plimsoll},
- url = {https://ctan.org/pkg/plimsoll},
-}
-
-@manual{ctan-plipsum,
- title = {The \texttt{plipsum} package},
- subtitle = {'Lorem ipsum' for Plain \TeX{} developers},
- author = {Sergio Spina},
- date = {2016-06-24},
- version = {4.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/plipsum},
- url = {https://ctan.org/pkg/plipsum},
- annotation = {The package provides a paragraph generator designed for use in
- Plain \TeX{} documents. The paragraphs generated contain many
- ‘f-groups’ (, etc.) so the
- text can act as a test of the ligatures of the font in use.},
-}
-
-@manual{ctan-plnfss,
- title = {The \texttt{plnfss} package},
- subtitle = {Font selection for Plain \TeX{}},
- author = {Hàn Thế Thành and Michal Konecny and Reinhard Kotucha},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/plnfss},
- url = {https://ctan.org/pkg/plnfss},
-}
-
-@manual{ctan-plpsfont,
- title = {The \texttt{plpsfont} package},
- subtitle = {Polish extension of CM fonts in Type 1 format},
- author = {Janusz Marian Nowacki},
- date = {2016-06-24},
- version = {1.15},
- license = {pd},
- mirror = {https://mirror.ctan.org/language/polish/plpsfont},
- url = {https://ctan.org/pkg/plpsfont},
- annotation = {This package is the Polish extension of the Computer Modern fonts
- (known as PL fonts),in Adobe Type 1 (PostScript) format. The fonts
- use the same .tfm files as for the
- . This
- release of fonts was adapted to the (mostly guessed) demands of
- the Windows environment, while keeping the fonts usable with \TeX{};
- however, encoding files are now added, as Windows and \TeX{} use
- different encoding schemes.},
-}
-
-@manual{ctan-plstmary,
- title = {The \texttt{plstmary} package},
- subtitle = {St. Mary’s Road font support for plain \TeX{}},
- author = {Daniel H. Luecking},
- date = {2016-06-24},
- version = {0.5c},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/plstmary},
- url = {https://ctan.org/pkg/plstmary},
- annotation = {The package provides commands to produce all the symbols of the
- fonts, in a Plain \TeX{}
- environment.},
-}
-
-@manual{ctan-pm-isomath,
- title = {The \texttt{pm-isomath} package},
- subtitle = {Poor man ISO math for pdf\LaTeX{} users},
- author = {Claudio Beccari},
- date = {2021-08-26},
- version = {1.2.00},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pm-isomath},
- url = {https://ctan.org/pkg/pm-isomath},
-}
-
-@manual{ctan-pmat,
- title = {The \texttt{pmat} package},
- subtitle = {Typeset partitioned matrices},
- author = {Tomàs Oliveira e Silva},
- date = {2016-06-18},
- version = {0.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/generic/pmat},
- url = {https://ctan.org/pkg/pmat},
-}
-
-@manual{ctan-pmboxdraw,
- title = {The \texttt{pmboxdraw} package},
- subtitle = {Poor man’s box drawing characters},
- author = {Heiko Oberdiek},
- date = {2019-12-10},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pmboxdraw},
- url = {https://ctan.org/pkg/pmboxdraw},
-}
-
-@manual{ctan-pmcstex,
- title = {The \texttt{pmcstex} package},
- subtitle = {\LaTeX{} in emTeX IDE/FrontEnd for EPM},
- author = {Petr Mikulik},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/systems/os2/pmcstex},
- url = {https://ctan.org/pkg/pmcstex},
-}
-
-@manual{ctan-pmdb,
- title = {The \texttt{pmdb} package},
- subtitle = {Create a DB (PDF) document for selecting content for inclusion in another documents},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pmdb},
- url = {https://ctan.org/pkg/pmdb},
-}
-
-@manual{ctan-pmdpl,
- title = {The \texttt{pmdpl} package},
- subtitle = {Examples from "Praca magisterska i dyplomowa"},
- author = {Tomasz Przechlewski},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/przechlewski-book-examples},
- url = {https://ctan.org/pkg/pmdpl},
-}
-
-@manual{ctan-pmgraph,
- title = {The \texttt{pmgraph} package},
- subtitle = {"Poor man's" graphics},
- author = {Alexander Berdnikov and Olga Grineva},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pmgraph},
- url = {https://ctan.org/pkg/pmgraph},
-}
-
-@manual{ctan-pmhanguljamo,
- title = {The \texttt{pmhanguljamo} package},
- subtitle = {Poor man’s Hangul Jamo input method},
- author = {Kangsoo Kim},
- date = {2023-03-05},
- version = {1.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/korean/pmhanguljamo},
- url = {https://ctan.org/pkg/pmhanguljamo},
-}
-
-@manual{ctan-pmtex,
- title = {The \texttt{pmtex} package},
- subtitle = {Preprocessor for MusicTeX},
- author = {Don Simons},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/pmtex},
- url = {https://ctan.org/pkg/pmtex},
- annotation = {PMTeX is the predecessor of
- (by the same author).},
-}
-
-@manual{ctan-pmx,
- title = {The \texttt{pmx} package},
- subtitle = {Preprocessor for MusiXTeX},
- author = {Don Simons and Bob Tennent},
- date = {2023-02-12},
- version = {3.00},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/pmx},
- url = {https://ctan.org/pkg/pmx},
-}
-
-@manual{ctan-pmxchords,
- title = {The \texttt{pmxchords} package},
- subtitle = {Produce chord information to go with pmx output},
- author = {Ondřej Fafejta},
- date = {2016-06-24},
- version = {2.0.2},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/pmxchords},
- url = {https://ctan.org/pkg/pmxchords},
-}
-
-@manual{ctan-pnas,
- title = {The \texttt{PNAS} package},
- subtitle = {BibTeX style for PNAS (old version)},
- author = {Alan Rogers},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/pnas.bst},
- url = {https://ctan.org/pkg/pnas},
-}
-
-@manual{ctan-pnas2009,
- title = {The \texttt{PNAS 2009} package},
- subtitle = {BibTeX style for PNAS (newer version)},
- author = {Alan Rogers},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/pnas2009.bst},
- url = {https://ctan.org/pkg/pnas2009},
- annotation = {This style produces bibliographies in the format of
- “Proceedings of the National Academy of Sciences,
- USA”. The style was derived from the standard
- and adapted to the new (2009) formatting rules.},
-}
-
-@manual{ctan-png2pdf,
- title = {The \texttt{png2pdf} package},
- subtitle = {PNG to PDF converter},
- author = {Dirk Krause},
- date = {2020-10-11},
- license = {bsd},
- url = {https://ctan.org/pkg/png2pdf},
-}
-
-@manual{ctan-poemscol,
- title = {The \texttt{poemscol} package},
- subtitle = {Typesetting Critical Editions of Poetry},
- author = {John Burt},
- date = {2020-08-09},
- version = {3.1415926},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/poemscol},
- url = {https://ctan.org/pkg/poemscol},
- annotation = {The package offers \LaTeX{} macros for typesetting critical
- editions of poetry. Its features include automatic
- linenumbering, generation of separate endnotes sections for
- emendations, textual collations, and explanatory notes, special
- marking for cases in which page breaks occur during stanza
- breaks, running headers of the form ‘Notes to
- pp. –‘ for the notes
- sections, index of titles and first lines, and automatic
- generation of a table of contents.},
-}
-
-@manual{ctan-poetica,
- title = {The \texttt{poetica} package},
- subtitle = {Support for Adobe Poetica fonts in Type 1 format},
- author = {Alan Hoenig},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/poetica},
- url = {https://ctan.org/pkg/poetica},
-}
-
-@manual{ctan-poetry,
- title = {The \texttt{poetry} package},
- subtitle = {Facilities for typesetting poetry and poetical structure},
- author = {Donald P. Goodman},
- date = {2019-12-14},
- version = {2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/poetry},
- url = {https://ctan.org/pkg/poetry},
- annotation = {This package provides some macros and general doodads for typesetting poetry.
- There is, of course, already the excellent
- package, and the package
- provides some extra functionality on top of it.
- But provides much of the same functionality
- in a bit of a different way, and with a few additional abilities,
- such as facilities for a list of poems, an index of first lines,
- and some structural commands.},
-}
-
-@manual{ctan-poetrytex,
- title = {The \texttt{poetrytex} package},
- subtitle = {Typeset anthologies of poetry},
- author = {Sam Whited},
- date = {2017-04-18},
- version = {3.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/poetrytex},
- url = {https://ctan.org/pkg/poetrytex},
-}
-
-@manual{ctan-pointruler,
- title = {The \texttt{pointruler} package},
- subtitle = {12" Ruler containing Points and Inches},
- author = {Troy L. Henderson},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pointRuler},
- url = {https://ctan.org/pkg/pointruler},
-}
-
-@manual{ctan-poiretone,
- title = {The \texttt{poiretone} package},
- subtitle = {PoiretOne family of fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-10-28},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/poiretone},
- url = {https://ctan.org/pkg/poiretone},
-}
-
-@manual{ctan-polexpr,
- title = {The \texttt{polexpr} package},
- subtitle = {A parser for polynomial expressions},
- author = {Jean-François Burnol},
- date = {2022-05-19},
- version = {0.8.7a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/polexpr},
- url = {https://ctan.org/pkg/polexpr},
-}
-
-@manual{ctan-poligraf,
- title = {The \texttt{poligraf} package},
- subtitle = {A \TeX{} macro package for prepress},
- author = {Janusz Marian Nowacki},
- date = {2016-06-24},
- version = {2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/TeX-PS/poligraf},
- url = {https://ctan.org/pkg/poligraf},
- annotation = {A set of macros (employing PostScript) supporting professional page
- preparation for prepress; includes color separation (it needs
- package), crop-marks,
- colour and grey scale bars, etc.},
-}
-
-@manual{ctan-polski,
- title = {The \texttt{polski} package},
- subtitle = {Typeset Polish documents with \LaTeX{} and Polish fonts},
- author = {Mariusz Olko and Marcin Woliński},
- date = {2021-08-25},
- version = {1.3.6},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/polski},
- url = {https://ctan.org/pkg/polski},
-}
-
-@manual{ctan-poltawski,
- title = {The \texttt{poltawski} package},
- subtitle = {Antykwa Półtawskiego Family of Fonts},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {1.101},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/poltawski},
- url = {https://ctan.org/pkg/poltawski},
-}
-
-@manual{ctan-polyglossia,
- title = {The \texttt{polyglossia} package},
- subtitle = {An alternative to babel for \XeLaTeX{} and LuaLaTeX},
- author = {François Charette and Arthur Rosendahl and Jürgen Spitzmüller},
- date = {2023-02-11},
- version = {1.60},
- license = {mit,lppl1.3,cc0},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/polyglossia},
- url = {https://ctan.org/pkg/polyglossia},
- annotation = {This package provides a complete
- replacement for users of Lua\LaTeX{} and \XeLaTeX{}; it relies on the
- package, version 2.0 at
- least.},
-}
-
-@manual{ctan-polynom,
- title = {The \texttt{polynom} package},
- subtitle = {Macros for manipulating polynomials},
- author = {Carsten Heinz and Hendri Adriaens},
- date = {2017-07-17},
- version = {0.19},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/polynom},
- url = {https://ctan.org/pkg/polynom},
-}
-
-@manual{ctan-polynomial,
- title = {The \texttt{polynomial} package},
- subtitle = {Typeset (univariate) polynomials},
- author = {Stefan Höst},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/polynomial},
- url = {https://ctan.org/pkg/polynomial},
- annotation = {The package offers an easy way to write (univariate) polynomials
- and rational functions. It defines two commands, one for
- polynomials and one for rational
- functions . Both
- commands take lists of coefficients as arguments, and offer
- limited optional behaviour.},
-}
-
-@manual{ctan-polytable,
- title = {The \texttt{polytable} package},
- subtitle = {Tabular-like environments with named columns},
- author = {Andres Löh},
- date = {2020-07-14},
- version = {0.8.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/polytable},
- url = {https://ctan.org/pkg/polytable},
-}
-
-@manual{ctan-poorman,
- title = {The \texttt{poorman} package},
- subtitle = {Raster Chinese and Japanese fonts},
- author = {Thomas Ridgeway},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/poorman},
- url = {https://ctan.org/pkg/poorman},
-}
-
-@manual{ctan-poormanlog,
- title = {The \texttt{poormanlog} package},
- subtitle = {Logarithms and powers with (almost) 9 digits},
- author = {Jean-François Burnol},
- date = {2022-05-25},
- version = {0.07},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/poormanlog},
- url = {https://ctan.org/pkg/poormanlog},
-}
-
-@manual{ctan-popupmenu,
- title = {The \texttt{popupmenu} package},
- subtitle = {Create popup menus in PDF files},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/popupmenu},
- url = {https://ctan.org/pkg/popupmenu},
-}
-
-@manual{ctan-portable-miktex,
- title = {The \texttt{Portable MikTeX} package},
- subtitle = {Instructions for setting up MikTeX on a portable device},
- author = {Alexander Grahn},
- date = {2016-06-24},
- version = {1.05},
- license = {fdl},
- mirror = {https://mirror.ctan.org/obsolete/info/MiKTeX+Ghostscript+GSview+USB-drive-HOWTO.txt},
- url = {https://ctan.org/pkg/portable-miktex},
-}
-
-@manual{ctan-portland,
- title = {The \texttt{portland} package},
- subtitle = {Simple portrait/landscape switching},
- author = {Hubert Partl},
- date = {2019-06-21},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/portland.sty},
- url = {https://ctan.org/pkg/portland},
-}
-
-@manual{ctan-pos-at,
- title = {The \texttt{pos-at} package},
- subtitle = {Position things at absolute positions on the page},
- author = {Colin Hogben and Bernard Gaulle},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/at.sty},
- url = {https://ctan.org/pkg/pos-at},
-}
-
-@manual{ctan-postage,
- title = {The \texttt{postage} package},
- subtitle = {Stamp letters with »Deutsche Post«'s service »Internetmarke«},
- author = {Jan Heinrich Reimer},
- date = {2020-07-08},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/postage},
- url = {https://ctan.org/pkg/postage},
-}
-
-@manual{ctan-postcards,
- title = {The \texttt{postcards} package},
- subtitle = {Facilitates mass-mailing of postcards (junkmail)},
- author = {Bil Kleb},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/postcards},
- url = {https://ctan.org/pkg/postcards},
- annotation = {A modification of the standard \LaTeX{} letter class which prints
- multiple, pre-stamped, 5.5" by 3.5" postcards (a US standard size)
- via the and
- packages. An address
- database is employed to address the front side of each postcard
- and a message is printed on the back side of all. An illustrative
- example is provided.},
-}
-
-@manual{ctan-poster-mac,
- title = {The \texttt{poster-mac} package},
- subtitle = {Make posters and banners with \TeX{}},
- author = {Timothy Van Zandt},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/poster},
- url = {https://ctan.org/pkg/poster-mac},
-}
-
-@manual{ctan-poster,
- title = {The \texttt{poster} package},
- subtitle = {Scale PostScript images for larger media or tiling},
- author = {Jos van Eijndhoven},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/poster},
- url = {https://ctan.org/pkg/poster},
-}
-
-@manual{ctan-postnotes,
- title = {The \texttt{postnotes} package},
- subtitle = {Endnotes for \LaTeX{}},
- author = {Gustavo Barros},
- date = {2023-02-21},
- version = {0.2.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/postnotes},
- url = {https://ctan.org/pkg/postnotes},
- annotation = {This is an endnotes package for \LaTeX{}.
- Its user interface provides means to print multiple sections
- of notes along the document, and to subdivide them either automatically
- — by chapter, by section — or at manually specified places,
- thus being able to easily handle both numbered and unnumbered headings.
- The package also provides infrastructure for setting up contextual
- running headers for printed notes. The default is a simple but useful one,
- in the form “Notes to pages N-M”, but more elaborate ones can be built.
- When is loaded,
- provides hyperlinked notes, including back links.},
-}
-
-@manual{ctan-powerdot-fuberlin,
- title = {The \texttt{powerdot-fuberlin} package},
- subtitle = {Powerdot, using the style of FU Berlin},
- author = {Herbert Voß},
- date = {2019-11-26},
- version = {0.02a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/powerdot-FUBerlin},
- url = {https://ctan.org/pkg/powerdot-fuberlin},
-}
-
-@manual{ctan-powerdot-tuliplab,
- title = {The \texttt{powerdot-tuliplab} package},
- subtitle = {A style package for Powerdot to provide the design of TULIP Lab},
- author = {Gang Li},
- date = {2018-06-10},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/powerdot-tuliplab},
- url = {https://ctan.org/pkg/powerdot-tuliplab},
- annotation = {is the \LaTeX{} package used in TULIP
- Lab for presentation drafting. It comes with several sample
- files so that you can quickly start working with
- it.},
-}
-
-@manual{ctan-powerdot,
- title = {The \texttt{powerdot} package},
- subtitle = {A presentation class},
- author = {Hendri Adriaens and Chris Ellison},
- date = {2021-05-19},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/powerdot},
- url = {https://ctan.org/pkg/powerdot},
-}
-
-@manual{ctan-ppchtex,
- title = {The \texttt{ppchtex} package},
- subtitle = {Typeset chemical formula diagrams},
- author = {Hans Hagen},
- date = {2020-05-24},
- version = {},
- license = {noinfo},
- url = {https://ctan.org/pkg/ppchtex},
- annotation = {ppchTeX is a separate module of the
- macro package for \TeX{}. It
- seems to be in its final state (having not changed for more than
- 10 years).},
-}
-
-@manual{ctan-pphlp,
- title = {The \texttt{pphlp} package},
- subtitle = {Generate VMS help files from \LaTeX{} 2.09 source},
- author = {Norman Gray},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/pphlp},
- url = {https://ctan.org/pkg/pphlp},
-}
-
-@manual{ctan-ppower4,
- title = {The \texttt{ppower4} package},
- subtitle = {A postprocessor for PDF presentations},
- author = {Klaus Guntermann},
- date = {2017-04-18},
- version = {0.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/ppower4},
- url = {https://ctan.org/pkg/ppower4},
-}
-
-@manual{ctan-ppr-prv,
- title = {The \texttt{ppr-prv} package},
- subtitle = {Prosper preview},
- author = {Mathieu Goutelle},
- date = {2016-06-24},
- version = {0.13c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ppr-prv},
- url = {https://ctan.org/pkg/ppr-prv},
- annotation = {This class is used with \LaTeX{} presentations using the prosper
- class. ppr-prv stands for ‘Prosper Preview’. The
- aim of this class is to produce a printable version of the slides
- written with , with two slides
- per page.},
-}
-
-@manual{ctan-ppt-slides,
- title = {The \texttt{ppt-slides} package},
- subtitle = {Good-looking slide decks à la PowerPoint (PPT)},
- author = {Yegor Bugayenko},
- date = {2022-12-04},
- version = {0.2.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ppt-slides},
- url = {https://ctan.org/pkg/ppt-slides},
- annotation = {This \LaTeX{} package helps you create slide decks as good-looking as with
- ,
- but more precise, uniform, and visually strict.
- Check fully designed with the use of this package.},
-}
-
-@manual{ctan-pracjourn,
- title = {The \texttt{pracjourn} package},
- subtitle = {Typeset articles for PracTeX},
- author = {Will Robertson},
- date = {2021-08-26},
- version = {0.4n},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pracjourn},
- url = {https://ctan.org/pkg/pracjourn},
-}
-
-@manual{ctan-practical-latex,
- title = {The \texttt{practical-latex} package},
- subtitle = {Example files for “Practical \LaTeX{}”},
- author = {George Grätzer},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/examples/Practical_LaTeX},
- url = {https://ctan.org/pkg/practical-latex},
-}
-
-@manual{ctan-practicalreports,
- title = {The \texttt{practicalreports} package},
- subtitle = {Some macros for writing practical reports},
- author = {Justin Cawood},
- date = {2019-10-07},
- version = {2.0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/practicalreports},
- url = {https://ctan.org/pkg/practicalreports},
-}
-
-@manual{ctan-precattl,
- title = {The \texttt{precattl} package},
- subtitle = {Prepare special catcodes from token list},
- author = {{user202729}},
- date = {2022-07-15},
- version = {0.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/precattl},
- url = {https://ctan.org/pkg/precattl},
-}
-
-@manual{ctan-prelim,
- title = {The \texttt{prelim} package},
- subtitle = {Mark preliminary copies with a line of information},
- author = {Robert Tolksdorf},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/prelim},
- url = {https://ctan.org/pkg/prelim},
-}
-
-@manual{ctan-prelim2e,
- title = {The \texttt{prelim2e} package},
- subtitle = {Allows the marking of preliminary versions of a document},
- author = {Martin Schröder and Marei Peischl},
- date = {2020-12-06},
- version = {2.00},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/prelim2e},
- url = {https://ctan.org/pkg/prelim2e},
- annotation = {Puts text below the normal page content (the default text marks
- the document as draft and puts a timestamp on it). Can be used
- together with e.g. the ,
- and
- packages.
- Uses the package and can
- use the scrtime package from the
- bundle.},
-}
-
-@manual{ctan-prepr,
- title = {The \texttt{prepr} package},
- subtitle = {Preprint macros},
- author = {Massimo Calvani},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/prepr},
- url = {https://ctan.org/pkg/prepr},
-}
-
-@manual{ctan-preprint,
- title = {The \texttt{preprint} package},
- subtitle = {A bundle of packages provided "as is"},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {2011},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/preprint},
- url = {https://ctan.org/pkg/preprint},
-}
-
-@manual{ctan-prerex,
- title = {The \texttt{prerex} package},
- subtitle = {Interactive editor and macro support for prerequisite charts},
- author = {Bob Tennent},
- date = {2021-11-20},
- version = {},
- license = {gpl2,lppl},
- mirror = {https://mirror.ctan.org/graphics/prerex},
- url = {https://ctan.org/pkg/prerex},
-}
-
-@manual{ctan-present,
- title = {The \texttt{present} package},
- subtitle = {Presentations with Plain \TeX{}},
- author = {Matthias Meister},
- date = {2019-02-17},
- version = {2.2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/present},
- url = {https://ctan.org/pkg/present},
-}
-
-@manual{ctan-presentations-en,
- title = {The \texttt{presentations-en} package},
- subtitle = {Examples from the book Presentations with \LaTeX{}},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/Presentations_en},
- url = {https://ctan.org/pkg/presentations-en},
-}
-
-@manual{ctan-presentations,
- title = {The \texttt{presentations} package},
- subtitle = {Examples from the book Presentationen mit \LaTeX{}},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/Presentations_de},
- url = {https://ctan.org/pkg/presentations},
-}
-
-@manual{ctan-pressrelease,
- title = {The \texttt{pressrelease} package},
- subtitle = {A class for typesetting press releases},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pressrelease},
- url = {https://ctan.org/pkg/pressrelease},
-}
-
-@manual{ctan-prettyref,
- title = {The \texttt{prettyref} package},
- subtitle = {Make label references "self-identify"},
- author = {Kevin Ruland},
- date = {2018-01-06},
- version = {3.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/prettyref},
- url = {https://ctan.org/pkg/prettyref},
- annotation = {Prettyref provides a command , which
- specifies the way in which a reference is typeset, according to a
- label “identification”. The identification is set
- in the command, by using prefixed label names; so
- instead of , one uses
- , and prettyref interprets the
- “” part. The package is compatible
- with and with other packages.},
-}
-
-@manual{ctan-prettytok,
- title = {The \texttt{prettytok} package},
- subtitle = {Pretty-print token lists},
- author = {{user202729}},
- date = {2022-07-08},
- version = {0.0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/prettytok},
- url = {https://ctan.org/pkg/prettytok},
- annotation = {Pretty-print token lists to HTML file for debugging purposes.
- Open the file in any browser to view the result.
- Can be used to replace .},
-}
-
-@manual{ctan-preview-latex,
- title = {The \texttt{preview-latex} package},
- subtitle = {Preview equations in Emacs},
- author = {David Kastrup},
- date = {2020-10-19},
- version = {12.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/auctex},
- url = {https://ctan.org/pkg/preview-latex},
-}
-
-@manual{ctan-preview,
- title = {The \texttt{preview} package},
- subtitle = {Extract bits of a \LaTeX{} source for output},
- author = {David Kastrup and {The AUCTeX Team}},
- date = {2022-02-20},
- version = {13.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/preview},
- url = {https://ctan.org/pkg/preview},
- annotation = {The package is a free-standing part of the
- bundle. The
- package provides the support needs,
- when it chooses the matter it will preview. The output may reasonably be expected
- to have other uses, as in html translators, etc.},
-}
-
-@manual{ctan-prftree,
- title = {The \texttt{prftree} package},
- subtitle = {Macros for building proof trees},
- author = {Marco Benini},
- date = {2019-06-19},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/prftree},
- url = {https://ctan.org/pkg/prftree},
-}
-
-@manual{ctan-principia,
- title = {The \texttt{principia} package},
- subtitle = {Notations for typesetting the “Principia Mathematica”},
- author = {Landon D. C. Elkind},
- date = {2021-04-20},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/principia},
- url = {https://ctan.org/pkg/principia},
-}
-
-@manual{ctan-printbib,
- title = {The \texttt{printbib} package},
- subtitle = {Print the contents of a bibliography},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/printbib},
- url = {https://ctan.org/pkg/printbib},
-}
-
-@manual{ctan-printlen,
- title = {The \texttt{printlen} package},
- subtitle = {Print lengths using specified units},
- author = {Will Robertson and Peter R. Wilson and Harald Harders},
- date = {2019-03-12},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/printlen},
- url = {https://ctan.org/pkg/printlen},
- annotation = {prints the value of a \LaTeX{} length
- in the units specified by
- (‘unit’ may be any \TeX{} length unit except for
- scaled point, viz., any of: , , ,
- , , , or
- ). When the unit is , the printed length
- value will include any stretch or shrink; otherwise these are not
- printed. The ‘unit’ argument may also be
- , in which case length values will be printed in point
- units but without any stretch or shrink values.},
-}
-
-@manual{ctan-proba,
- title = {The \texttt{proba} package},
- subtitle = {Shortcuts commands to symbols used in probability texts},
- author = {Laurent Nguyen-Ngoc},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proba},
- url = {https://ctan.org/pkg/proba},
-}
-
-@manual{ctan-probsoln,
- title = {The \texttt{probsoln} package},
- subtitle = {Generate problem sheets and their solution sheets},
- author = {Nicola Talbot},
- date = {2017-07-10},
- version = {3.05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/probsoln},
- url = {https://ctan.org/pkg/probsoln},
-}
-
-@manual{ctan-proc,
- title = {The \texttt{proc} package},
- subtitle = {Class for producing “proceedings”},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {1.3m},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/proc},
- annotation = {The class provides basic facilities for typesetting the
- proceedings of an event; it is an extension of the standard
- .},
-}
-
-@manual{ctan-processkv,
- title = {The \texttt{processkv} package},
- subtitle = {Process key-value pairs},
- author = {Jonathan Sauer},
- date = {2016-06-24},
- version = {1.0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauerj},
- url = {https://ctan.org/pkg/processkv},
-}
-
-@manual{ctan-prociagssymp,
- title = {The \texttt{procIAGssymp} package},
- subtitle = {Macros for IAG symposium papers},
- author = {Battista Benciolini},
- date = {2022-05-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/prociagssymp},
- url = {https://ctan.org/pkg/prociagssymp},
-}
-
-@manual{ctan-prodint,
- title = {The \texttt{prodint} package},
- subtitle = {A font that provides the product integral symbol},
- author = {Richard Gill and J C Loredo-Osti},
- date = {2016-06-24},
- version = {},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/prodint},
- url = {https://ctan.org/pkg/prodint},
-}
-
-@manual{ctan-productbox,
- title = {The \texttt{productbox} package},
- subtitle = {Typeset a three-dimensional product box},
- author = {Gerd Neugebauer},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gene/productbox},
- url = {https://ctan.org/pkg/productbox},
-}
-
-@manual{ctan-profcollege,
- title = {The \texttt{ProfCollege} package},
- subtitle = {A \LaTeX{} package for French maths teachers in college},
- author = {Christophe Poulain},
- date = {2023-03-05},
- version = {0.99-z-f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/profcollege},
- url = {https://ctan.org/pkg/profcollege},
-}
-
-@manual{ctan-proflabo,
- title = {The \texttt{proflabo} package},
- subtitle = {Draw laboratory equipment},
- author = {Thomas Mounier},
- date = {2022-05-05},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proflabo},
- url = {https://ctan.org/pkg/proflabo},
-}
-
-@manual{ctan-proflycee,
- title = {The \texttt{ProfLycee} package},
- subtitle = {A \LaTeX{} package for French maths teachers in high school},
- author = {Cédric Pierquet},
- date = {2023-03-12},
- version = {2.5.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proflycee},
- url = {https://ctan.org/pkg/proflycee},
-}
-
-@manual{ctan-progkeys,
- title = {The \texttt{progkeys} package},
- subtitle = {Typeset programs, recognising keywords},
- author = {Miguel Alabau},
- date = {2018-01-06},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/progkeys},
- url = {https://ctan.org/pkg/progkeys},
-}
-
-@manual{ctan-program,
- title = {The \texttt{program} package},
- subtitle = {Typesetting programs and algorithms},
- author = {Martin Ward},
- date = {2018-01-06},
- version = {3.3.14},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/program},
- url = {https://ctan.org/pkg/program},
-}
-
-@manual{ctan-progress,
- title = {The \texttt{progress} package},
- subtitle = {Creates an overview of a document's state},
- author = {Kasper B. Graversen},
- date = {2016-06-24},
- version = {1.10},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/progress},
- url = {https://ctan.org/pkg/progress},
- annotation = {Progress is a package which. when compiling \TeX{} and \LaTeX{}
- documents, generates a HTML file showing an overview of a
- document's state (of how finished it is). The report is sent
- to file , which is by default the
- with the date appended (but is user-modifiable).},
-}
-
-@manual{ctan-progressbar,
- title = {The \texttt{progressbar} package},
- subtitle = {Visualize shares of total amounts in the form of a (progress-)bar},
- author = {Marcel Jira},
- date = {2016-06-24},
- version = {1.0b~4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/progressbar},
- url = {https://ctan.org/pkg/progressbar},
-}
-
-@manual{ctan-projlib,
- title = {The \texttt{ProjLib} package},
- subtitle = {A series of tools to simplify your workflow},
- author = {Jinwen XU},
- date = {2019-01-01},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/projlib},
- url = {https://ctan.org/pkg/projlib},
- annotation = {ProjLib is a collection of tools to help you write \LaTeX{} documents.
- With the main package loaded, you no longer need
- to set up the theorem-like environments, nor to manually configure
- the appropriate multilingual settings.
- In addition, a series of auxiliary functionalities are introduced.},
-}
-
-@manual{ctan-proof-at-the-end,
- title = {The \texttt{proof-at-the-end} package},
- subtitle = {A package to move proofs to appendix},
- author = {Léo Colisson},
- date = {2022-08-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proof-at-the-end},
- url = {https://ctan.org/pkg/proof-at-the-end},
-}
-
-@manual{ctan-proof,
- title = {The \texttt{proof} package},
- subtitle = {Shell based proofing for \TeX{}-related files},
- author = {Klaus Bosau},
- date = {2008-04-20},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/proof},
- url = {https://ctan.org/pkg/proof},
-}
-
-@manual{ctan-proofread,
- title = {The \texttt{proofread} package},
- subtitle = {Commands for inserting annotations},
- author = {Wybo H. Dekker},
- date = {2021-08-26},
- version = {1.04},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proofread},
- url = {https://ctan.org/pkg/proofread},
-}
-
-@manual{ctan-proofs,
- title = {The \texttt{proofs} package},
- subtitle = {Macros for building proof trees},
- author = {Paul Taylor},
- date = {2019-06-21},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/generic/proofs/taylor},
- url = {https://ctan.org/pkg/proofs},
-}
-
-@manual{ctan-prooftrees,
- title = {The \texttt{prooftrees} package},
- subtitle = {Forest-based proof trees (symbolic logic)},
- author = {Clea F. Rees},
- date = {2019-09-30},
- version = {0.7 svn 8641},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/prooftrees},
- url = {https://ctan.org/pkg/prooftrees},
-}
-
-@manual{ctan-properties,
- title = {The \texttt{properties} package},
- subtitle = {Load properties from a file},
- author = {Michael Niedermair},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/properties},
- url = {https://ctan.org/pkg/properties},
- annotation = {The package loads properties (key, value) from a properties
- file, e.g. .},
-}
-
-@manual{ctan-proposal,
- title = {The \texttt{proposal} package},
- subtitle = {A set of \LaTeX{} classes for preparing proposals for
- collaborative projects},
- author = {Michael Kohlhase},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/proposal},
- url = {https://ctan.org/pkg/proposal},
-}
-
-@manual{ctan-prosper,
- title = {The \texttt{prosper} package},
- subtitle = {\LaTeX{} class for high quality slides},
- author = {Frederic Goualard},
- date = {2017-04-18},
- version = {1.0h},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/prosper},
- url = {https://ctan.org/pkg/prosper},
-}
-
-@manual{ctan-protecteddef,
- title = {The \texttt{protecteddef} package},
- subtitle = {Define protected commands},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/protecteddef.dtx},
- url = {https://ctan.org/pkg/protecteddef},
- annotation = {The package defines a command that will
- create \LaTeX{} ‘robust’ command or an e-TeX
- ‘protected’ command as appropriate
- to its environment.},
-}
-
-@manual{ctan-protex,
- title = {The \texttt{protex} package},
- subtitle = {Literate programming package},
- author = {{The \TeX{}4ht Team} and Eitan M. Gurari},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/web/protex},
- url = {https://ctan.org/pkg/protex},
- annotation = {ProTeX is a simple but powerful literate programming tool, which
- is designed to generate useful hypertext output (either PDF, or
- HTML using ).},
-}
-
-@manual{ctan-protext,
- title = {The \texttt{protext} package},
- subtitle = {A MikTeX-based \TeX{} installation for MS-Windows},
- author = {Thomas Feuerstack},
- date = {2022-06-03},
- version = {3.2-031721},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/systems/windows/protext},
- url = {https://ctan.org/pkg/protext},
-}
-
-@manual{ctan-protocol,
- title = {The \texttt{protocol} package},
- subtitle = {A class for minutes of meetings},
- author = {Thomas Leineweber},
- date = {2018-01-06},
- version = {1.13},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/protocol},
- url = {https://ctan.org/pkg/protocol},
-}
-
-@manual{ctan-protosem,
- title = {The \texttt{protosem} package},
- subtitle = {Fonts for proto-Semitic cuneiform script},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/protosem},
- url = {https://ctan.org/pkg/protosem},
- annotation = {A font (in Type 1 format) and macros for proto-Semitic writing.
- This script was in use about 1600 BCE, and seems to be the oldest
- ancestor of most of the world's alphabets. This is one of a
- series of fonts.},
-}
-
-@manual{ctan-prtec,
- title = {The \texttt{prtec} package},
- subtitle = {A template for PRTEC conference papers},
- author = {John H. Lienhard},
- date = {2019-08-20},
- version = {1.06},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/prtec},
- url = {https://ctan.org/pkg/prtec},
-}
-
-@manual{ctan-prv,
- title = {The \texttt{prv} package},
- subtitle = {Compile, preview, and print \LaTeX{} documents},
- author = {Wybo H. Dekker},
- date = {2016-06-24},
- version = {0.7},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/support/prv},
- url = {https://ctan.org/pkg/prv},
-}
-
-@manual{ctan-przechlewski-book,
- title = {The \texttt{przechlewski-book} package},
- subtitle = {Examples from Przechlewski's \LaTeX{} book},
- author = {Tomasz Przechlewski},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/przechlewski-book-examples},
- url = {https://ctan.org/pkg/przechlewski-book},
-}
-
-@manual{ctan-ps2eps,
- title = {The \texttt{ps2eps} package},
- subtitle = {Produce Encapsulated PostScript from PostScript},
- author = {Roland Bless},
- date = {2022-03-08},
- version = {1.70},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/ps2eps},
- url = {https://ctan.org/pkg/ps2eps},
-}
-
-@manual{ctan-ps2mf,
- title = {The \texttt{ps2mf} package},
- subtitle = {Make Metafont files from Adobe Type 1 files},
- author = {Erik-Jan Vens},
- date = {2016-06-24},
- version = {1.1 beta},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/ps2mf},
- url = {https://ctan.org/pkg/ps2mf},
-}
-
-@manual{ctan-ps2pk,
- title = {The \texttt{ps2pk} package},
- subtitle = {Generate a PK font from an Adobe Type 1 font},
- author = {Piet Tutelaers and Pierre A. MacKay and {The \TeX{} Live Team}},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/utilities/ps2pk},
- url = {https://ctan.org/pkg/ps2pk},
-}
-
-@manual{ctan-ps4mf-dos,
- title = {The \texttt{ps4mf-dos} package},
- subtitle = {Convert Adobe Type 1 fonts to Metafont, MS-DOS version},
- author = {Markus Neteler},
- date = {2018-01-06},
- version = {2.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/ps4mf-dos},
- url = {https://ctan.org/pkg/ps4mf-dos},
-}
-
-@manual{ctan-ps4mf,
- title = {The \texttt{ps4mf} package},
- subtitle = {Convert Adobe Type 1 fonts to Metafont},
- author = {Markus Neteler},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/ps4mf},
- url = {https://ctan.org/pkg/ps4mf},
-}
-
-@manual{ctan-ps4pdf,
- title = {The \texttt{ps4pdf} package},
- subtitle = {Use PostScript commands inside a pdf\LaTeX{} document},
- author = {Rolf Niepraschk},
- date = {2021-08-26},
- version = {0.6i},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/ps4pdf},
- url = {https://ctan.org/pkg/ps4pdf},
-}
-
-@manual{ctan-ps_conv,
- title = {The \texttt{ps\_conv} package},
- subtitle = {A converter from PostScript to Encapsulated PostScript},
- author = {{BOP}},
- date = {2016-06-24},
- version = {0.54},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/pstools/ps_conv},
- url = {https://ctan.org/pkg/ps_conv},
-}
-
-@manual{ctan-ps_view,
- title = {The \texttt{ps\_view} package},
- subtitle = {A PostScript previewer of PostScript files},
- author = {{BOP}},
- date = {2016-06-24},
- version = {2.01},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/ps_view},
- url = {https://ctan.org/pkg/ps_view},
- annotation = {A PostScript preamble providing an interactive environement
- for fast previewing of PostScript documents with
- , enabling scaling
- rotation, grids, printing specified pages, on-line help etc.},
-}
-
-@manual{ctan-psbao,
- title = {The \texttt{psbao} package},
- subtitle = {Draw Bao diagrams},
- author = {Nino Vessella},
- date = {2020-05-02},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/psbao},
- url = {https://ctan.org/pkg/psbao},
-}
-
-@manual{ctan-psbox,
- title = {The \texttt{psbox} package},
- subtitle = {PostScript box macros, etc},
- author = {Jean Orloff},
- date = {2016-06-24},
- version = {1.34},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/psbox},
- url = {https://ctan.org/pkg/psbox},
-}
-
-@manual{ctan-psboxit,
- title = {The \texttt{psboxit} package},
- subtitle = {Enables one to put a PostScript drawing behind a \TeX{} box},
- author = {Jérôme Maillot},
- date = {2019-06-21},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/psboxit.sty},
- url = {https://ctan.org/pkg/psboxit},
-}
-
-@manual{ctan-pseudo,
- title = {The \texttt{pseudo} package},
- subtitle = {Straightforward pseudocode},
- author = {Magnus Lie Hetland},
- date = {2023-01-30},
- version = {1.2.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pseudo},
- url = {https://ctan.org/pkg/pseudo},
-}
-
-@manual{ctan-pseudocode,
- title = {The \texttt{pseudocode} package},
- subtitle = {\LaTeX{} environment for specifying algorithms in a natural way},
- author = {Donald L. Kreher},
- date = {2019-06-25},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pseudocode},
- url = {https://ctan.org/pkg/pseudocode},
-}
-
-@manual{ctan-psfig,
- title = {The \texttt{psfig} package},
- subtitle = {A graphics inclusion package},
- author = {Trevor Darrell},
- date = {2016-06-24},
- version = {1.10},
- license = {nosell},
- mirror = {https://mirror.ctan.org/graphics/psfig},
- url = {https://ctan.org/pkg/psfig},
-}
-
-@manual{ctan-psfixbb,
- title = {The \texttt{psfixbb} package},
- subtitle = {Correct the bounding box of a PostScript file},
- author = {Carsten Dominik and Holger Karl},
- date = {2016-06-24},
- version = {3.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/psfixbb},
- url = {https://ctan.org/pkg/psfixbb},
- annotation = {Computes the BoundingBox of a PostScript file, using
- ,
- and ; then produces a new version of the file with
- the correct BoundingBox.},
-}
-
-@manual{ctan-psfont,
- title = {The \texttt{psfont} package},
- subtitle = {Alternative font handling in \LaTeX{}},
- author = {Sebastian Marius Kirsch},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/altfont},
- url = {https://ctan.org/pkg/psfont},
-}
-
-@manual{ctan-psfonts-tools,
- title = {The \texttt{psfonts-tools} package},
- subtitle = {Tools for creating a distribution of font metrics},
- author = {Sebastian Rahtz and Piet Tutelaers},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/psfonts/tools},
- url = {https://ctan.org/pkg/psfonts-tools},
-}
-
-@manual{ctan-psfonts,
- title = {The \texttt{psfonts} package},
- subtitle = {PostScript fonts for use with \TeX{} and \LaTeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {collection},
- mirror = {https://mirror.ctan.org/fonts/psfonts},
- url = {https://ctan.org/pkg/psfonts},
-}
-
-@manual{ctan-psfrag-italian,
- title = {The \texttt{Il sistema PSfrag} package},
- subtitle = {PSfrag documentation in Italian},
- author = {Flavio Casadei Della Chiesa},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/italian/psfrag},
- url = {https://ctan.org/pkg/psfrag-italian},
- annotation = {This is a translation of the documentation that comes with the
- documentation.},
-}
-
-@manual{ctan-psfrag,
- title = {The \texttt{psfrag} package},
- subtitle = {Replace strings in encapsulated PostScript figures},
- author = {Michael Grant and David Carlisle and Craig Barratt},
- date = {2016-06-24},
- version = {3.04},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psfrag},
- url = {https://ctan.org/pkg/psfrag},
-}
-
-@manual{ctan-psfragger,
- title = {The \texttt{psfragger} package},
- subtitle = {Use psfrag and \LaTeX{} to label an eps file},
- author = {Primoz Cermelj},
- date = {2016-06-24},
- version = {1.3b},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/support/psfragger},
- url = {https://ctan.org/pkg/psfragger},
- annotation = {PSFragger is a Win32 application with which one can perform
- replacements and even transform
- resulting EPS files into PDF files (useful if pdf\LaTeX{} is to be
- used). PSFragger can also act as a simple EPS bounding box
- correction tool and as an EPS to PDF conversion utility.},
-}
-
-@manual{ctan-psfragx,
- title = {The \texttt{psfragx} package},
- subtitle = {A psfrag eXtension},
- author = {Pascal Kockaert},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psfragx},
- url = {https://ctan.org/pkg/psfragx},
-}
-
-@manual{ctan-psgo,
- title = {The \texttt{psgo} package},
- subtitle = {Typeset go diagrams with PSTricks},
- author = {Victor Bos},
- date = {2018-01-06},
- version = {0.17},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/psgo},
- url = {https://ctan.org/pkg/psgo},
-}
-
-@manual{ctan-psgreek,
- title = {The \texttt{psgreek} package},
- subtitle = {\LaTeX{} support for Greek Type 1 fonts},
- author = {Alexey Kryukov and Christian Justen},
- date = {2016-06-24},
- version = {0.6},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/greek/psgreek},
- url = {https://ctan.org/pkg/psgreek},
-}
-
-@manual{ctan-psizzl,
- title = {The \texttt{psizzl} package},
- subtitle = {A \TeX{} format for physics papers},
- author = {Arthur Ogawa},
- date = {2016-06-24},
- version = {0.35},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/psizzl},
- url = {https://ctan.org/pkg/psizzl},
-}
-
-@manual{ctan-pslatex,
- title = {The \texttt{pslatex} package},
- subtitle = {Use PostScript fonts by default},
- author = {David Carlisle},
- date = {2021-01-15},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pslatex},
- url = {https://ctan.org/pkg/pslatex},
-}
-
-@manual{ctan-psmerge,
- title = {The \texttt{psmerge} package},
- subtitle = {Concatenate PostScript files},
- author = {Angus Duggan},
- date = {2016-06-24},
- version = {p17},
- license = {other-free},
- url = {https://ctan.org/pkg/psmerge},
-}
-
-@manual{ctan-psnfss-source,
- title = {The \texttt{psnfss-source} package},
- subtitle = {Sources of the metrics used in PSNFSS},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {9.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/psnfss-source},
- url = {https://ctan.org/pkg/psnfss-source},
- annotation = {The package comprises the makefiles, fontinst scripts and AFM
- files used to build the .},
-}
-
-@manual{ctan-psnfss,
- title = {The \texttt{psnfss} package},
- subtitle = {Font support for common PostScript fonts},
- author = {Walter A. Schmidt and Keiran Harcombe and {The \LaTeX{} Project Team} and Sebastian Rahtz},
- date = {2021-12-08},
- version = {9.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/required/psnfss},
- url = {https://ctan.org/pkg/psnfss},
-}
-
-@manual{ctan-psnfssx-8r,
- title = {The \texttt{psnfssx-8r} package},
- subtitle = {Raw Type 1 fonts with \LaTeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx/8r/8r.sty},
- url = {https://ctan.org/pkg/psnfssx-8r},
-}
-
-@manual{ctan-psnfssx-adobe,
- title = {The \texttt{psnfssx-adobe} package},
- subtitle = {Packages to use a selection of Adobe Type 1 fonts},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx/adobe},
- url = {https://ctan.org/pkg/psnfssx-adobe},
-}
-
-@manual{ctan-psnfssx-em,
- title = {The \texttt{psnfssx-em} package},
- subtitle = {Support for the em family of fonts},
- author = {Berthold K. P. Horn and David Carlisle},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx/em},
- url = {https://ctan.org/pkg/psnfssx-em},
- annotation = {The fonts were a commercial product of Y\&Y, Inc,
- providing a set in Adobe Type 1 format that extended the Computer
- Modern set with accented glyphs suitable for arranging in \LaTeX{} T1
- encoding. This bundle provides a standard set of interfaces for
- using the fonts.},
-}
-
-@manual{ctan-psnfssx,
- title = {The \texttt{psnfssx} package},
- subtitle = {Extra styles and encodings for PostScript fonts},
- author = {Walter A. Schmidt and Keiran Harcombe and Sebastian Rahtz},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx},
- url = {https://ctan.org/pkg/psnfssx},
-}
-
-@manual{ctan-pspic,
- title = {The \texttt{pspic} package},
- subtitle = {Drawing pictures using PostScript specials},
- author = {Kresten Krab Thorup},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/pspic.sty},
- url = {https://ctan.org/pkg/pspic},
-}
-
-@manual{ctan-pspicture,
- title = {The \texttt{pspicture} package},
- subtitle = {PostScript picture support},
- author = {David Carlisle},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pspicture},
- url = {https://ctan.org/pkg/pspicture},
- annotation = {A replacement for \LaTeX{}'s picture macros, that uses PostScript
- commands. The package is now largely superseded by
- .},
-}
-
-@manual{ctan-psrip,
- title = {The \texttt{psrip} package},
- subtitle = {Extract images from PostScript files},
- author = {Christian Lackas},
- date = {2016-06-24},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/psrip},
- url = {https://ctan.org/pkg/psrip},
-}
-
-@manual{ctan-pssplit,
- title = {The \texttt{pssplit} package},
- subtitle = {Select pages from PostScript files},
- author = {Peter Kleiweg},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/pssplit},
- url = {https://ctan.org/pkg/pssplit},
-}
-
-@manual{ctan-pst-2dplot,
- title = {The \texttt{pst-2dplot} package},
- subtitle = {A PSTricks package for drawing 2D curves},
- author = {Farshid Delgosha},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-2dplot},
- url = {https://ctan.org/pkg/pst-2dplot},
- annotation = {Pst-2dplot is a package
- that offers an easy-to-use and intuitive tool for plotting 2-d
- curves. It defines an environment with commands similar to MATLAB
- for plotting.},
-}
-
-@manual{ctan-pst-3d,
- title = {The \texttt{pst-3d} package},
- subtitle = {A PSTricks package for tilting and other pseudo-3D tricks},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2016-06-24},
- version = {1.10},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-3d},
- url = {https://ctan.org/pkg/pst-3d},
- annotation = {The package provides basic macros that use
-
- for shadows, tilting and
- three dimensional representations of text or graphical objects.},
-}
-
-@manual{ctan-pst-3dplot,
- title = {The \texttt{pst-3dplot} package},
- subtitle = {Draw 3D objects in parallel projection, using PSTricks},
- author = {Herbert Voß},
- date = {2022-01-14},
- version = {2.07a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-3dplot},
- url = {https://ctan.org/pkg/pst-3dplot},
- annotation = {A package using to draw a
- large variety of graphs and plots, including 3D maths functions.
- Data can be read from external data files, making this
- package a generic tool for graphing within \TeX{}/LaTeX, without
- the need for external tools.},
-}
-
-@manual{ctan-pst-abspos,
- title = {The \texttt{pst-abspos} package},
- subtitle = {Put objects at an absolute position},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-abspos},
- url = {https://ctan.org/pkg/pst-abspos},
- annotation = {The (PSTricks-related) package provides a command
- to put an object at an arbitrary absolute
- (or even a relative) position on the page.},
-}
-
-@manual{ctan-pst-am,
- title = {The \texttt{pst-am} package},
- subtitle = {Simulation of modulation and demodulation},
- author = {Manuel Luque and Herbert Voß},
- date = {2016-06-24},
- version = {1.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-am},
- url = {https://ctan.org/pkg/pst-am},
-}
-
-@manual{ctan-pst-antiprism,
- title = {The \texttt{pst-antiprism} package},
- subtitle = {A PSTricks related package which draws an antiprism},
- author = {Herbert Voß and Manuel Luque},
- date = {2018-02-15},
- version = {0.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-antiprism},
- url = {https://ctan.org/pkg/pst-antiprism},
-}
-
-@manual{ctan-pst-arrow,
- title = {The \texttt{pst-arrow} package},
- subtitle = {Special arrows for PSTricks},
- author = {Herbert Voß},
- date = {2021-11-16},
- version = {0.05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-arrow},
- url = {https://ctan.org/pkg/pst-arrow},
- annotation = {This package has all the code from the package
- which was related to arrows, like multiple arrows and so on.},
-}
-
-@manual{ctan-pst-asr,
- title = {The \texttt{pst-asr} package},
- subtitle = {Typeset autosegmental representations for linguists},
- author = {John Frampton},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-asr},
- url = {https://ctan.org/pkg/pst-asr},
- annotation = {The package allows the user to typeset autosegmental
- representations. It uses the
- ,
- and packages.},
-}
-
-@manual{ctan-pst-bar,
- title = {The \texttt{pst-bar} package},
- subtitle = {Produces bar charts using PSTricks},
- author = {Alan Ristow and Herbert Voß},
- date = {2022-09-10},
- version = {0.93},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-bar},
- url = {https://ctan.org/pkg/pst-bar},
- annotation = {The package uses
- to draw bar charts from data stored in a comma-delimited file.
- Several types of bar charts may be drawn, and the drawing
- parameters are highly customizable.
- No external packages are required except those that
- are part of the standard PSTricks distribution.},
-}
-
-@manual{ctan-pst-barcode,
- title = {The \texttt{pst-barcode} package},
- subtitle = {Print barcodes using PostScript},
- author = {Terry Burton and Herbert Voß},
- date = {2022-08-23},
- version = {0.19},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-barcode},
- url = {https://ctan.org/pkg/pst-barcode},
-}
-
-@manual{ctan-pst-bezier,
- title = {The \texttt{pst-bezier} package},
- subtitle = {Draw Bezier curves},
- author = {Tobias Nähring and Herbert Voß},
- date = {2016-09-03},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-bezier},
- url = {https://ctan.org/pkg/pst-bezier},
- annotation = {The package provides a macro for drawing a
- Bézier curve. Provision is made for full control of over all the
- control points of the curve.},
-}
-
-@manual{ctan-pst-blur,
- title = {The \texttt{pst-blur} package},
- subtitle = {PSTricks package for "blurred" shadows},
- author = {Martin Giese and Herbert Voß},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-blur},
- url = {https://ctan.org/pkg/pst-blur},
- annotation = {Pst-blur is a package built for use with
- . It provides macros that
- apply blurring to the normal shadow function of PSTricks.},
-}
-
-@manual{ctan-pst-bspline,
- title = {The \texttt{pst-bspline} package},
- subtitle = {Draw cubic Bspline curves and interpolations},
- author = {Michael Sharpe},
- date = {2016-06-24},
- version = {1.62},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-bspline},
- url = {https://ctan.org/pkg/pst-bspline},
-}
-
-@manual{ctan-pst-calculate,
- title = {The \texttt{pst-calculate} package},
- subtitle = {Support for floating point operations at \LaTeX{} level},
- author = {Herbert Voß},
- date = {2019-06-09},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pst-calculate},
- url = {https://ctan.org/pkg/pst-calculate},
-}
-
-@manual{ctan-pst-calendar,
- title = {The \texttt{pst-calendar} package},
- subtitle = {Plot calendars in "fancy" ways},
- author = {Manuel Luque and Herbert Voß},
- date = {2021-09-11},
- version = {0.48},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-calendar},
- url = {https://ctan.org/pkg/pst-calendar},
- annotation = {The package uses
- and
- to draw tabular calendars, or
- calendars on dodecahedra with a month to each face (the package
- also requires the
- and packages). The package
- works for years 2000–2099, and has options for
- calendars in French German and English, but the documentation is
- not available in English.},
-}
-
-@manual{ctan-pst-cie,
- title = {The \texttt{pst-cie} package},
- subtitle = {CIE color space},
- author = {Manuel Luque and Herbert Voß},
- date = {2021-11-04},
- version = {1.06b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-cie},
- url = {https://ctan.org/pkg/pst-cie},
-}
-
-@manual{ctan-pst-circ,
- title = {The \texttt{pst-circ} package},
- subtitle = {PSTricks package for drawing electric circuits},
- author = {Herbert Voß and Christophe Jorssen},
- date = {2021-09-10},
- version = {2.19},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-circ},
- url = {https://ctan.org/pkg/pst-circ},
- annotation = {The package is built using
- and in particular
- . It can easily draw
- current 2-terminal devices and some 3- and 4-terminal devices used
- in electronic or electric theory. The package’s macros
- are designed with a view to ‘logical’
- representation of circuits, as far as possible, so as to relieve
- the user of purely graphical considerations when expressing a
- circuit.},
-}
-
-@manual{ctan-pst-coil,
- title = {The \texttt{pst-coil} package},
- subtitle = {A PSTricks package for coils, etc},
- author = {Herbert Voß and Timothy Van Zandt},
- date = {2022-04-06},
- version = {1.07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-coil},
- url = {https://ctan.org/pkg/pst-coil},
- annotation = {Pst-coil is a based package
- for coils and zigzags and for coil and zigzag node connections.},
-}
-
-@manual{ctan-pst-contourplot,
- title = {The \texttt{pst-contourplot} package},
- subtitle = {Draw implicit functions using the “marching squares” algorithm},
- author = {Manuel Luque},
- date = {2018-07-23},
- version = {0.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-contourplot},
- url = {https://ctan.org/pkg/pst-contourplot},
- annotation = {This package allows to draw implicit functions “f(x,y) = 0”
- with options for coloring the inside of the surfaces, for marking
- the points and arrowing the curve at points chosen by the user.
- The package uses the
-
- algorithm.},
-}
-
-@manual{ctan-pst-cox,
- title = {The \texttt{pst-cox} package},
- subtitle = {Drawing regular complex polytopes with PSTricks},
- author = {Jean-Gabriel Luque},
- date = {2019-02-03},
- version = {0.98 Beta},
- license = {lgpl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-cox},
- url = {https://ctan.org/pkg/pst-cox},
-}
-
-@manual{ctan-pst-dart,
- title = {The \texttt{pst-dart} package},
- subtitle = {Plotting dart boards},
- author = {Herbert Voß},
- date = {2021-09-11},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-dart},
- url = {https://ctan.org/pkg/pst-dart},
-}
-
-@manual{ctan-pst-dbicons,
- title = {The \texttt{pst-dbicons} package},
- subtitle = {Support for drawing ER diagrams},
- author = {Wolfgang May},
- date = {2016-06-24},
- version = {0.16},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-dbicons},
- url = {https://ctan.org/pkg/pst-dbicons},
- annotation = {The package provides some useful macros in the
- database area. The package focusses on typesetting ER-Diagrams in
- a declarative style, i.e., by positioning some nodes and defining
- the position of all other nodes relative to them by using the
- standard database terminology. The
- package is required for
- using pst-dbicons, but no deep knowledge of PSTricks
- commands is required (although such knowledge is useful for
- exploiting the full functionality of the package).},
-}
-
-@manual{ctan-pst-diffraction,
- title = {The \texttt{pst-diffraction} package},
- subtitle = {Print diffraction patterns from various apertures},
- author = {Manuel Luque and Herbert Voß},
- date = {2022-04-06},
- version = {2.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-diffraction},
- url = {https://ctan.org/pkg/pst-diffraction},
-}
-
-@manual{ctan-pst-electricfield,
- title = {The \texttt{pst-electricfield} package},
- subtitle = {Draw electric field and equipotential lines with PSTricks},
- author = {Jürgen Gilg and Manuel Luque and Patrice Megrét and Herbert Voß},
- date = {2016-06-24},
- version = {0.14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-electricfield},
- url = {https://ctan.org/pkg/pst-electricfield},
- annotation = {The package provides macros to plot electric field and
- equipotential lines using .
- There may be any number of charges which can be placed in a
- cartesian coordinate system by (x,y) values.},
-}
-
-@manual{ctan-pst-eps,
- title = {The \texttt{pst-eps} package},
- subtitle = {Create EPS files from PSTricks figures},
- author = {Herbert Voß and Timothy Van Zandt},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-eps},
- url = {https://ctan.org/pkg/pst-eps},
- annotation = {Pst-eps is a -based package
- for exporting PSTricks images ‘on the fly’ to
- encapsulated PostScript (EPS) image files, which can then be read
- into a document in the usual way.},
-}
-
-@manual{ctan-pst-eucl-translation-bg,
- title = {The \texttt{pst-eucl-translation-bg} package},
- subtitle = {Bulgarian translation of the pst-eucl documentation},
- author = {Stefka Karakoleva},
- date = {2016-06-24},
- version = {1.3.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/pst-eucl/bulgarian},
- url = {https://ctan.org/pkg/pst-eucl-translation-bg},
-}
-
-@manual{ctan-pst-eucl,
- title = {The \texttt{pst-eucl} package},
- subtitle = {Euclidian geometry with PSTricks},
- author = {Dominique Rodriguez and Herbert Voß},
- date = {2020-09-29},
- version = {1.75},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-eucl},
- url = {https://ctan.org/pkg/pst-eucl},
- annotation = {The package allows the drawing of Euclidean geometric
- figures using \TeX{} macros
- for specifying mathematical constraints. It is thus possible to
- build point using common transformations or intersections. The
- use of coordinates is limited to points which controlled the
- figure.},
-}
-
-@manual{ctan-pst-exa,
- title = {The \texttt{pst-exa} package},
- subtitle = {Typeset PSTricks examples, with code},
- author = {Herbert Voß},
- date = {2017-09-12},
- version = {0.06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-exa},
- url = {https://ctan.org/pkg/pst-exa},
- annotation = {The (-related) package
- provides an environment PSTexample to put code and output side by
- side or one above the other.},
-}
-
-@manual{ctan-pst-feyn,
- title = {The \texttt{pst-feyn} package},
- subtitle = {Draw graphical elements for Feynman diagrams},
- author = {Herbert Voß},
- date = {2018-09-29},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-feyn},
- url = {https://ctan.org/pkg/pst-feyn},
-}
-
-@manual{ctan-pst-fill,
- title = {The \texttt{pst-fill} package},
- subtitle = {Fill or tile areas with PSTricks},
- author = {Denis Girou and Herbert Voß},
- date = {2021-10-01},
- version = {1.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-fill},
- url = {https://ctan.org/pkg/pst-fill},
- annotation = {Pst-fill is a -based package
- for filling and tiling areas or characters.},
-}
-
-@manual{ctan-pst-fit,
- title = {The \texttt{pst-fit} package},
- subtitle = {Macros for curve fitting},
- author = {Buddy Ledger and Herbert Voß},
- date = {2018-01-06},
- version = {0.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-fit},
- url = {https://ctan.org/pkg/pst-fit},
- annotation = {The package uses to
- fit curves to:},
-}
-
-@manual{ctan-pst-flags,
- title = {The \texttt{PST-Flags} package},
- subtitle = {Draw flags of countries using PSTricks},
- author = {Amit M. Manthanwar},
- date = {2023-01-09},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-flags},
- url = {https://ctan.org/pkg/pst-flags},
-}
-
-@manual{ctan-pst-fp,
- title = {The \texttt{pst-fp} package},
- subtitle = {Fixed-point arithmetic in PSTricks},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {0.05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/base/generic/pst-fp.tex},
- url = {https://ctan.org/pkg/pst-fp},
-}
-
-@manual{ctan-pst-fr3d,
- title = {The \texttt{pst-fr3d} package},
- subtitle = {Draw 3-dimensional framed boxes using PSTricks},
- author = {Denis Girou},
- date = {2016-06-24},
- version = {1.10},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-fr3d},
- url = {https://ctan.org/pkg/pst-fr3d},
- annotation = {A package using to draw
- three dimensional framed boxes using a macro
- . The macro is especially useful for
- drawing 3d-seeming buttons.},
-}
-
-@manual{ctan-pst-fractal,
- title = {The \texttt{pst-fractal} package},
- subtitle = {Draw fractal sets using PSTricks},
- author = {Herbert Voß},
- date = {2022-10-13},
- version = {0.12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-fractal},
- url = {https://ctan.org/pkg/pst-fractal},
-}
-
-@manual{ctan-pst-fun,
- title = {The \texttt{pst-fun} package},
- subtitle = {Draw "funny" objects with PSTricks},
- author = {Manuel Luque and Herbert Voß},
- date = {2016-06-24},
- version = {0.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-fun},
- url = {https://ctan.org/pkg/pst-fun},
-}
-
-@manual{ctan-pst-func,
- title = {The \texttt{pst-func} package},
- subtitle = {PSTricks package for plotting mathematical functions},
- author = {Herbert Voß},
- date = {2021-11-03},
- version = {0.99},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-func},
- url = {https://ctan.org/pkg/pst-func},
-}
-
-@manual{ctan-pst-gantt,
- title = {The \texttt{pst-gantt} package},
- subtitle = {Draw GANTT charts with PSTricks},
- author = {Denis Girou and Herbert Voß},
- date = {2018-09-15},
- version = {0.22a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-gantt},
- url = {https://ctan.org/pkg/pst-gantt},
-}
-
-@manual{ctan-pst-geo,
- title = {The \texttt{pst-geo} package},
- subtitle = {Geographical Projections},
- author = {Manuel Luque and Giuseppe Matarazzo and Herbert Voß},
- date = {2021-09-01},
- version = {0.07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-geo},
- url = {https://ctan.org/pkg/pst-geo},
-}
-
-@manual{ctan-pst-geometrictools,
- title = {The \texttt{pst-geometrictools} package},
- subtitle = {A PSTricks package to draw geometric tools},
- author = {Thomas Söll and Herbert Voß},
- date = {2021-12-28},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-geometrictools},
- url = {https://ctan.org/pkg/pst-geometrictools},
-}
-
-@manual{ctan-pst-gr3d,
- title = {The \texttt{pst-gr3d} package},
- subtitle = {Three dimensional grids with PSTricks},
- author = {Denis Girou and Herbert Voß},
- date = {2016-06-24},
- version = {1.34},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-gr3d},
- url = {https://ctan.org/pkg/pst-gr3d},
- annotation = {This package provides a
- command that will draw a three dimensional grid,
- offering a number of options for its appearance.},
-}
-
-@manual{ctan-pst-grad,
- title = {The \texttt{pst-grad} package},
- subtitle = {Filling with colour gradients, using PSTricks},
- author = {Herbert Voß and Timothy Van Zandt},
- date = {2016-06-24},
- version = {1.06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-grad},
- url = {https://ctan.org/pkg/pst-grad},
-}
-
-@manual{ctan-pst-graphicx,
- title = {The \texttt{pst-graphicx} package},
- subtitle = {A PSTricks-compatible graphicx for use with Plain \TeX{}},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {0.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-graphicx},
- url = {https://ctan.org/pkg/pst-graphicx},
- annotation = {The package provides a version of
- that avoids loading the
- graphics bundle’s (original)
- package, which clashes with
- ’ use of
- .},
-}
-
-@manual{ctan-pst-hsb,
- title = {The \texttt{pst-hsb} package},
- subtitle = {Curves with continuous colours},
- author = {Herbert Voß},
- date = {2021-12-18},
- version = {0.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-hsb},
- url = {https://ctan.org/pkg/pst-hsb},
- annotation = {This is a -related package.
- It can plot lines and/or curves with continuous colours.
- Only colours defined in the hsb model are supported},
-}
-
-@manual{ctan-pst-infixplot,
- title = {The \texttt{pst-infixplot} package},
- subtitle = {Using PSTricks plotting capacities with infix expressions rather than RPN},
- author = {Christophe Jorssen and Jean-Côme Charpentier},
- date = {2016-06-24},
- version = {0.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-infixplot},
- url = {https://ctan.org/pkg/pst-infixplot},
- annotation = {Plotting functions with is
- very powerful but sometimes difficult to learn since the syntax
- of and requires some
- PostScript knowledge. The
- and styles simplify the usage of
- for the beginner, providing macro commands that convert natural
- mathematical expressions to PostScript syntax.},
-}
-
-@manual{ctan-pst-intersect,
- title = {The \texttt{pst-intersect} package},
- subtitle = {Compute intersections of arbitrary curves},
- author = {Christoph Bersch},
- date = {2017-04-18},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-intersect},
- url = {https://ctan.org/pkg/pst-intersect},
-}
-
-@manual{ctan-pst-jtree,
- title = {The \texttt{pst-Jtree} package},
- subtitle = {Typeset complex trees for linguists},
- author = {John Frampton},
- date = {2018-09-15},
- version = {2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-jtree},
- url = {https://ctan.org/pkg/pst-jtree},
-}
-
-@manual{ctan-pst-knot,
- title = {The \texttt{pst-knot} package},
- subtitle = {PSTricks package for displaying knots},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-knot},
- url = {https://ctan.org/pkg/pst-knot},
-}
-
-@manual{ctan-pst-labo,
- title = {The \texttt{pst-labo} package},
- subtitle = {Draw objects for Chemistry laboratories},
- author = {Denis Girou and Christophe Jorssen and Manuel Luque and Herbert Voß},
- date = {2018-09-15},
- version = {2.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-labo},
- url = {https://ctan.org/pkg/pst-labo},
- annotation = {Pst-labo is a related
- package for drawing basic and complex chemical objects. The
- documentation of the package is illuminated with plenty of
- illustrations together with their source code, making it an easy
- read.},
-}
-
-@manual{ctan-pst-layout,
- title = {The \texttt{pst-layout} package},
- subtitle = {Page layout macros based on PSTricks packages},
- author = {Michael Sharpe},
- date = {2018-09-15},
- version = {.95},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-layout},
- url = {https://ctan.org/pkg/pst-layout},
-}
-
-@manual{ctan-pst-lens,
- title = {The \texttt{pst-lens} package},
- subtitle = {Lenses with PSTricks},
- author = {Manuel Luque and Denis Girou and Herbert Voß},
- date = {2018-09-15},
- version = {1.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-lens},
- url = {https://ctan.org/pkg/pst-lens},
- annotation = {This package provides a
- really rather simple command that will draw a lens.
- Command parameters provide a remarkable range of effects.},
-}
-
-@manual{ctan-pst-light3d,
- title = {The \texttt{pst-light3d} package},
- subtitle = {Three dimensional lighting effects (PSTricks)},
- author = {Denis Girou and Peter Kleiweg},
- date = {2018-09-15},
- version = {0.12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-light3d},
- url = {https://ctan.org/pkg/pst-light3d},
- annotation = {A package for three
- dimensional lighting effects on characters and PSTricks
- graphics, like lines, curves, plots, …},
-}
-
-@manual{ctan-pst-lsystem,
- title = {The \texttt{pst-lsystem} package},
- subtitle = {Create images based on a L-system},
- author = {Herbert Voß},
- date = {2018-12-31},
- version = {0.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-lsystem},
- url = {https://ctan.org/pkg/pst-lsystem},
-}
-
-@manual{ctan-pst-magneticfield,
- title = {The \texttt{pst-magneticfield} package},
- subtitle = {Plotting a magnetic field with PSTricks},
- author = {Jürgen Gilg and Manuel Luque and Herbert Voß},
- date = {2022-07-06},
- version = {1.17},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-magneticfield},
- url = {https://ctan.org/pkg/pst-magneticfield},
-}
-
-@manual{ctan-pst-marble,
- title = {The \texttt{pst-marble} package},
- subtitle = {A PSTricks package to draw marble-like patterns},
- author = {Jürgen Gilg and Manuel Luque and Aubrey Jaffer},
- date = {2019-05-01},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-marble},
- url = {https://ctan.org/pkg/pst-marble},
-}
-
-@manual{ctan-pst-math,
- title = {The \texttt{pst-math} package},
- subtitle = {Enhancement of PostScript math operators to use with PSTricks},
- author = {Christophe Jorssen and Herbert Voß},
- date = {2022-10-17},
- version = {0.66},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-math},
- url = {https://ctan.org/pkg/pst-math},
-}
-
-@manual{ctan-pst-mirror,
- title = {The \texttt{pst-mirror} package},
- subtitle = {Images on a spherical mirror},
- author = {Manuel Luque and Herbert Voß},
- date = {2021-09-14},
- version = {1.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-mirror},
- url = {https://ctan.org/pkg/pst-mirror},
-}
-
-@manual{ctan-pst-moire,
- title = {The \texttt{pst-moire} package},
- subtitle = {A PSTricks package to draw moiré patterns},
- author = {Jürgen Gilg and Manuel Luque and Jean-Michel Sarlat},
- date = {2021-09-03},
- version = {2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-moire},
- url = {https://ctan.org/pkg/pst-moire},
- annotation = {This is a
- package to draw moiré patterns.},
-}
-
-@manual{ctan-pst-node,
- title = {The \texttt{pst-node} package},
- subtitle = {Nodes and node connections in PSTricks},
- author = {Timothy Van Zandt and Michael Sharpe and Herbert Voß},
- date = {2022-01-31},
- version = {1.43},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-node},
- url = {https://ctan.org/pkg/pst-node},
-}
-
-@manual{ctan-pst-ob3d,
- title = {The \texttt{pst-ob3d} package},
- subtitle = {Three dimensional objects using PSTricks},
- author = {Denis Girou and Herbert Voß},
- date = {2020-03-24},
- version = {0.22},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-ob3d},
- url = {https://ctan.org/pkg/pst-ob3d},
- annotation = {The package uses to provide
- basic three-dimensional objects. As yet, only cubes (which can be
- deformed to rectangular parallelipipeds) and dies (which are only
- a special kind of cubes) are defined.},
-}
-
-@manual{ctan-pst-ode,
- title = {The \texttt{pst-ode} package},
- subtitle = {Solving initial value problems for sets of Ordinary Differential Equations},
- author = {Alexander Grahn},
- date = {2022-11-24},
- version = {0.18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-ode},
- url = {https://ctan.org/pkg/pst-ode},
-}
-
-@manual{ctan-pst-optexp,
- title = {The \texttt{pst-optexp} package},
- subtitle = {Drawing optical experimental setups},
- author = {Christoph Bersch},
- date = {2022-04-06},
- version = {6.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-optexp},
- url = {https://ctan.org/pkg/pst-optexp},
-}
-
-@manual{ctan-pst-optic,
- title = {The \texttt{pst-optic} package},
- subtitle = {Drawing optics diagrams},
- author = {Manuel Luque and Herbert Voß},
- date = {2022-04-06},
- version = {1.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-optic},
- url = {https://ctan.org/pkg/pst-optic},
-}
-
-@manual{ctan-pst-osci,
- title = {The \texttt{pst-osci} package},
- subtitle = {Oscgons with PSTricks},
- author = {Manuel Luque and Christophe Jorssen},
- date = {2018-09-15},
- version = {2.82},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-osci},
- url = {https://ctan.org/pkg/pst-osci},
- annotation = {This package
- enables you to produce oscilloscope “screen shots”. Three
- channels can be used to represent the most common signals (damped
- or not): namely sinusoidal, rectangular, triangular, dog’s tooth
- (left and right oriented). The third channel allows you to add,
- to subtract or to multiply the two other signals. Lissajous
- diagrams (XY-mode) can also be obtained.},
-}
-
-@manual{ctan-pst-ovl,
- title = {The \texttt{pst-ovl} package},
- subtitle = {Create and manage graphical overlays},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2020-05-01},
- version = {0.07b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-ovl},
- url = {https://ctan.org/pkg/pst-ovl},
-}
-
-@manual{ctan-pst-pad,
- title = {The \texttt{pst-pad} package},
- subtitle = {Draw simple attachment systems with PSTricks},
- author = {Patrick Drechsler},
- date = {2018-09-15},
- version = {0.3b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-pad},
- url = {https://ctan.org/pkg/pst-pad},
- annotation = {The package collects a set of graphical elements based on
- that can be used to
- facilitate display of attachment systems such as two differently
- shaped surfaces with or without a fluid wedged in between. These
- macros ease the display of wet adhesion models and common friction
- systems such as boundary lubrication, elastohydrodynamic
- lubrication and hydrodynamic lubrication.},
-}
-
-@manual{ctan-pst-pdf,
- title = {The \texttt{pst-pdf} package},
- subtitle = {Make PDF versions of graphics by processing between runs},
- author = {Rolf Niepraschk and Hubert Gäßlein},
- date = {2020-10-10},
- version = {1.2f},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pst-pdf},
- url = {https://ctan.org/pkg/pst-pdf},
-}
-
-@manual{ctan-pst-pdgr,
- title = {The \texttt{pst-pdgr} package},
- subtitle = {Draw medical pedigrees using PSTricks},
- author = {Boris Veytsman and Leila Akhmadeeva},
- date = {2017-11-20},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pedigree/pst-pdgr},
- url = {https://ctan.org/pkg/pst-pdgr},
-}
-
-@manual{ctan-pst-perspective,
- title = {The \texttt{pst-perspective} package},
- subtitle = {Draw perspective views using PSTricks},
- author = {Thomas Söll},
- date = {2016-06-24},
- version = {1.05},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-perspective},
- url = {https://ctan.org/pkg/pst-perspective},
-}
-
-@manual{ctan-pst-platon,
- title = {The \texttt{pst-platon} package},
- subtitle = {Platonic solids in PSTricks},
- author = {Manuel Luque and Herbert Voß},
- date = {2018-09-15},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-platon},
- url = {https://ctan.org/pkg/pst-platon},
- annotation = {The package adds to the
- ability to draw 3-dimensional views of the five Platonic solids.},
-}
-
-@manual{ctan-pst-plot,
- title = {The \texttt{pst-plot} package},
- subtitle = {Plot data using PSTricks},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2022-12-14},
- version = {1.94},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-plot},
- url = {https://ctan.org/pkg/pst-plot},
- annotation = {The package provides plotting of data (typically from external
- files), using .
- Plots may be configured using a wide variety of parameters.},
-}
-
-@manual{ctan-pst-poker,
- title = {The \texttt{pst-poker} package},
- subtitle = {Drawing poker cards},
- author = {Herbert Voß},
- date = {2023-02-13},
- version = {0.03b},
- license = {lgpl3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-poker},
- url = {https://ctan.org/pkg/pst-poker},
- annotation = {This related
- package can create poker cards in various manners.},
-}
-
-@manual{ctan-pst-poly,
- title = {The \texttt{pst-poly} package},
- subtitle = {Polygons with PSTricks},
- author = {Denis Girou and Herbert Voß},
- date = {2018-09-15},
- version = {1.63},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-poly},
- url = {https://ctan.org/pkg/pst-poly},
-}
-
-@manual{ctan-pst-pulley,
- title = {The \texttt{pst-pulley} package},
- subtitle = {Plot pulleys, using PSTricks},
- author = {Thomas Söll},
- date = {2022-04-06},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-pulley},
- url = {https://ctan.org/pkg/pst-pulley},
-}
-
-@manual{ctan-pst-qtree,
- title = {The \texttt{pst-qtree} package},
- subtitle = {Simple syntax for trees},
- author = {David Chiang and Daniel Gildea},
- date = {2018-09-15},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-qtree},
- url = {https://ctan.org/pkg/pst-qtree},
- annotation = {The package provides a -like front
- end for .},
-}
-
-@manual{ctan-pst-rputover,
- title = {The \texttt{pst-rputover} package},
- subtitle = {Place text over objects without obscuring background colors},
- author = {Thomas Söll and Martin J. Osborne},
- date = {2017-07-01},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-rputover},
- url = {https://ctan.org/pkg/pst-rputover},
-}
-
-@manual{ctan-pst-rubans,
- title = {The \texttt{pst-rubans} package},
- subtitle = {Draw three-dimensional ribbons},
- author = {Manuel Luque and Herbert Voß},
- date = {2018-09-15},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-rubans},
- url = {https://ctan.org/pkg/pst-rubans},
- annotation = {The package uses and
- to draw three
- dimensional ribbons on a cylinder, torus, sphere, cone or
- paraboloid. The width of the ribbon, the number of turns, the
- colour of the outer and the inner surface of the ribbon may be
- set. In the case of circular and conical helices, one may also
- choose the number of ribbons.},
-}
-
-@manual{ctan-pst-shell,
- title = {The \texttt{pst-shell} package},
- subtitle = {Plotting sea shells},
- author = {Herbert Voß and Manuel Luque},
- date = {2020-07-29},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-shell},
- url = {https://ctan.org/pkg/pst-shell},
-}
-
-@manual{ctan-pst-sigsys,
- title = {The \texttt{pst-sigsys} package},
- subtitle = {Support of signal processing-related disciplines},
- author = {Farshid Delgosha},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-sigsys},
- url = {https://ctan.org/pkg/pst-sigsys},
-}
-
-@manual{ctan-pst-slpe,
- title = {The \texttt{pst-slpe} package},
- subtitle = {Sophisticated colour gradients},
- author = {Martin Giese and Herbert Voß},
- date = {2018-09-15},
- version = {1.31},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-slpe},
- url = {https://ctan.org/pkg/pst-slpe},
- annotation = {This package covers all the
- colour gradient functionality of pst-grad (part of the base PSTricks
- distribution), and provides the following facilities:},
-}
-
-@manual{ctan-pst-solarsystem,
- title = {The \texttt{pst-solarsystem} package},
- subtitle = {Plot the solar system for a specific date},
- author = {Manuel Luque and Herbert Voß},
- date = {2018-09-15},
- version = {0.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-solarsystem},
- url = {https://ctan.org/pkg/pst-solarsystem},
- annotation = {The package uses to produce
- diagrams of the visible planets, projected on the plane of the
- ecliptic. It is not possible to represent all the planets in
- their real proportions, so only Mercury, Venus, Earth and Mars
- have their orbits in correct proportions and their relative sizes
- are observed. Saturn and Jupiter are in the right direction, but
- not in the correct size.},
-}
-
-@manual{ctan-pst-solides3d,
- title = {The \texttt{pst-solides3d} package},
- subtitle = {Draw perspective views of 3D solids},
- author = {Jean-Paul Vignault and Manuel Luque and Arnaud Schmittbuhl and Herbert Voß},
- date = {2021-08-26},
- version = {4.34a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-solides3d},
- url = {https://ctan.org/pkg/pst-solides3d},
-}
-
-@manual{ctan-pst-soroban,
- title = {The \texttt{pst-soroban} package},
- subtitle = {Draw a Soroban using PSTricks},
- author = {Alain Delmotte},
- date = {2018-09-15},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-soroban},
- url = {https://ctan.org/pkg/pst-soroban},
- annotation = {The package uses to draw a
- Japanese abacus, or soroban. The soroban is still used in Japan
- today.},
-}
-
-@manual{ctan-pst-spectra,
- title = {The \texttt{pst-spectra} package},
- subtitle = {Draw continuum, emission and absorption spectra with PSTricks},
- author = {Arnaud Schmittbuhl},
- date = {2018-09-15},
- version = {0.91},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-spectra},
- url = {https://ctan.org/pkg/pst-spectra},
-}
-
-@manual{ctan-pst-spinner,
- title = {The \texttt{pst-spinner} package},
- subtitle = {Drawing a fidget spinner},
- author = {Herbert Voß and Manuel Luque},
- date = {2023-02-22},
- version = {1.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-spinner},
- url = {https://ctan.org/pkg/pst-spinner},
-}
-
-@manual{ctan-pst-spirograph,
- title = {The \texttt{pst-spirograph} package},
- subtitle = {Drawing hypotrochoids as with a spirograph},
- author = {Manuel Luque and Herbert Voß},
- date = {2020-04-11},
- license = {lppl},
- url = {https://ctan.org/pkg/pst-spirograph},
-}
-
-@manual{ctan-pst-stru,
- title = {The \texttt{pst-stru} package},
- subtitle = {Civil engineering diagrams, using PSTricks},
- author = {Giuseppe Matarazzo and Manuel Luque and Herbert Voß},
- date = {2018-09-15},
- version = {0.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-stru},
- url = {https://ctan.org/pkg/pst-stru},
- annotation = {This -based package
- provides facilities to draw structural schemes in
- civil engineering analysis, for beams, portals, arches and piles.},
-}
-
-@manual{ctan-pst-support,
- title = {The \texttt{pst-support} package},
- subtitle = {Assorted support files for use with PSTricks},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/pst-support},
- url = {https://ctan.org/pkg/pst-support},
- annotation = {An appropriate set of job options, together with process scripts
- for use with /},
-}
-
-@manual{ctan-pst-text,
- title = {The \texttt{pst-text} package},
- subtitle = {Text and character manipulation in PSTricks},
- author = {Herbert Voß and Timothy Van Zandt},
- date = {2018-12-29},
- version = {1.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-text},
- url = {https://ctan.org/pkg/pst-text},
- annotation = {Pst-text is a based package
- for plotting text along a different path and manipulating
- characters. It includes the functionality of the old package pst-char.},
-}
-
-@manual{ctan-pst-thick,
- title = {The \texttt{pst-thick} package},
- subtitle = {Drawing very thick lines and curves},
- author = {Manuel Luque and Herbert Voß},
- date = {2018-09-15},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-thick},
- url = {https://ctan.org/pkg/pst-thick},
- annotation = {The package supports drawing of very thick lines and curves in
- , with various fillings for
- the body of the lines.},
-}
-
-@manual{ctan-pst-tools,
- title = {The \texttt{pst-tools} package},
- subtitle = {PSTricks support functions},
- author = {Herbert Voß},
- date = {2021-09-24},
- version = {0.12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-tools},
- url = {https://ctan.org/pkg/pst-tools},
-}
-
-@manual{ctan-pst-tree,
- title = {The \texttt{pst-tree} package},
- subtitle = {Trees, using PSTricks},
- author = {Herbert Voß and Denis Girou and Timothy Van Zandt},
- date = {2021-09-04},
- version = {1.14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-tree},
- url = {https://ctan.org/pkg/pst-tree},
- annotation = {pst-tree is a package that
- defines a macro which offers a structured way of joining
- nodes created using in
- order to draw trees.},
-}
-
-@manual{ctan-pst-turtle,
- title = {The \texttt{pst-turtle} package},
- subtitle = {Commands for “turtle operations”},
- author = {Herbert Voß},
- date = {2019-10-05},
- version = {0.02},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-turtle},
- url = {https://ctan.org/pkg/pst-turtle},
-}
-
-@manual{ctan-pst-tvz,
- title = {The \texttt{pst-tvz} package},
- subtitle = {Draw trees with more than one root node, using PSTricks},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-tvz},
- url = {https://ctan.org/pkg/pst-tvz},
- annotation = {The package uses PSTricks to draw trees with more than one root
- node. It is similar to ,
- though it uses a different placement algorithm.},
-}
-
-@manual{ctan-pst-uml,
- title = {The \texttt{pst-uml} package},
- subtitle = {UML diagrams with PSTricks},
- author = {Maurice Diamantini},
- date = {2018-09-15},
- version = {0.83},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-uml},
- url = {https://ctan.org/pkg/pst-uml},
-}
-
-@manual{ctan-pst-vectorian,
- title = {The \texttt{pst-vectorian} package},
- subtitle = {Printing ornaments},
- author = {Patrick Fradin},
- date = {2021-09-06},
- version = {0.41},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-vectorian},
- url = {https://ctan.org/pkg/pst-vectorian},
-}
-
-@manual{ctan-pst-vehicle,
- title = {The \texttt{pst-vehicle} package},
- subtitle = {A PSTricks package for rolling vehicles on graphs of mathematical functions},
- author = {Thomas Söll and Herbert Voß},
- date = {2021-12-29},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-vehicle},
- url = {https://ctan.org/pkg/pst-vehicle},
- annotation = {This package permits to represent vehicles rolling
- without slipping on mathematical curves.
- Different types of vehicles are proposed,
- the shape of the curve is to be defined by its
- equation “=()” in algebraic notation.},
-}
-
-@manual{ctan-pst-venn,
- title = {The \texttt{pst-venn} package},
- subtitle = {A PSTricks package for drawing Venn sets},
- author = {Herbert Voß},
- date = {2018-12-06},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-venn},
- url = {https://ctan.org/pkg/pst-venn},
-}
-
-@manual{ctan-pst-vowel,
- title = {The \texttt{pst-vowel} package},
- subtitle = {Enable arrows showing diphthongs on vowel charts},
- author = {Alan Munn},
- date = {2018-09-15},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pst-vowel},
- url = {https://ctan.org/pkg/pst-vowel},
-}
-
-@manual{ctan-pst-vue3d,
- title = {The \texttt{pst-vue3d} package},
- subtitle = {Draw perspective views of three dimensional objects},
- author = {Manuel Luque and Herbert Voß},
- date = {2020-04-11},
- version = {1.24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/graphics/pstricks/contrib/pst-vue3d},
- url = {https://ctan.org/pkg/pst-vue3d},
-}
-
-@manual{ctan-pst-xkey,
- title = {The \texttt{pst-xkey} package},
- subtitle = {Key-value syntax for PSTricks packages},
- author = {Hendri Adriaens},
- date = {2018-09-15},
- version = {1.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xkeyval},
- url = {https://ctan.org/pkg/pst-xkey},
-}
-
-@manual{ctan-pst2pdf,
- title = {The \texttt{pst2pdf} package},
- subtitle = {A script to compile PSTricks documents via pdfTeX},
- author = {Herbert Voß and Pablo González Luengo},
- date = {2020-08-26},
- version = {0.20},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/graphics/pstricks/scripts/pst2pdf},
- url = {https://ctan.org/pkg/pst2pdf},
-}
-
-@manual{ctan-pstdoc,
- title = {The \texttt{pstdoc} package},
- subtitle = {A tool for PSTricks documentation},
- author = {Michael Sharpe},
- date = {2018-09-15},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/pstdoc},
- url = {https://ctan.org/pkg/pstdoc},
-}
-
-@manual{ctan-pstex,
- title = {The \texttt{pstex} package},
- subtitle = {Processor for including figures in \LaTeX{}},
- author = {Neil Hunt},
- date = {2016-06-24},
- version = {1.8},
- license = {nosell},
- mirror = {https://mirror.ctan.org/graphics/pstex},
- url = {https://ctan.org/pkg/pstex},
- annotation = {The bundle provides a package whose macros write
- details of required figures to the file; a separate
- processor then calculates precise details of the graphic inclusion.},
-}
-
-@manual{ctan-pstoedit,
- title = {The \texttt{pstoedit} package},
- subtitle = {Translate PostScript and PDF to other formats},
- author = {Dr. Wolfgang Glunz},
- date = {2017-04-18},
- version = {3.50},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/pstoedit},
- url = {https://ctan.org/pkg/pstoedit},
-}
-
-@manual{ctan-pstool,
- title = {The \texttt{pstool} package},
- subtitle = {Support for psfrag within pdfLaTeX},
- author = {Will Robertson and Zebb Prime},
- date = {2018-01-20},
- version = {1.5e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pstool},
- url = {https://ctan.org/pkg/pstool},
-}
-
-@manual{ctan-pstotext,
- title = {The \texttt{pstotext} package},
- subtitle = {Extract ASCII from PostScript and PDF},
- author = {Andrew Birrell and Paul McJones},
- date = {2016-06-24},
- version = {1.9},
- license = {other-free},
- url = {https://ctan.org/pkg/pstotext},
-}
-
-@manual{ctan-pstrees,
- title = {The \texttt{pstrees} package},
- subtitle = {Construct linguistics trees using a preprocessor},
- author = {Wolfgang Sternefeld},
- date = {2016-06-24},
- version = {2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/trees/pstrees},
- url = {https://ctan.org/pkg/pstrees},
- annotation = {The preprocessor (written in C) prepares tree sources; the macros
- make use of Emma Pease’s
- package.},
-}
-
-@manual{ctan-pstricks-add,
- title = {The \texttt{pstricks-add} package},
- subtitle = {A collection of add-ons and bugfixes for PSTricks},
- author = {Herbert Voß and Dominique Rodriguez},
- date = {2022-11-21},
- version = {3.93},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pstricks-add},
- url = {https://ctan.org/pkg/pstricks-add},
-}
-
-@manual{ctan-pstricks-base,
- title = {The \texttt{pstricks-base} package},
- subtitle = {PostScript macros for \TeX{}},
- author = {Herbert Voß and Denis Girou and Timothy Van Zandt},
- date = {2022-12-14},
- version = {3.18},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pstricks/base},
- url = {https://ctan.org/pkg/pstricks-base},
-}
-
-@manual{ctan-pstricks-calcnotes,
- title = {The \texttt{pstricks-calcnotes} package},
- subtitle = {Use of PSTricks in calculus lecture notes},
- author = {Le Phuong Quan},
- date = {2018-09-16},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/pstricks_calcnotes},
- url = {https://ctan.org/pkg/pstricks-calcnotes},
-}
-
-@manual{ctan-pstricks-examples-7,
- title = {The \texttt{pstricks-examples-7} package},
- subtitle = {PSTricks examples files of the 7th edition of the book PSTricks},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/PSTricks_7_de},
- url = {https://ctan.org/pkg/pstricks-examples-7},
-}
-
-@manual{ctan-pstricks-examples-en,
- title = {The \texttt{pstricks-examples-en} package},
- subtitle = {Examples from PSTricks book (English edition)},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/examples/PSTricks_en},
- url = {https://ctan.org/pkg/pstricks-examples-en},
-}
-
-@manual{ctan-pstricks-examples,
- title = {The \texttt{pstricks-examples} package},
- subtitle = {PSTricks examples},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/PSTricks_6_de},
- url = {https://ctan.org/pkg/pstricks-examples},
-}
-
-@manual{ctan-pstring,
- title = {The \texttt{pstring} package},
- subtitle = {Typeset sequences with justification pointers},
- author = {William Blum},
- date = {2018-09-15},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pstring},
- url = {https://ctan.org/pkg/pstring},
- annotation = {This package lets you typeset justified sequences, also called
- pointing strings. It's used for instance, in research papers
- about Game Semantics to represent sequence of game moves with
- their associated justification pointers.
-
- Depending on wether using \LaTeX{} or pdfLaTeX, the package uses
- and
- respectively
- .},
-}
-
-@manual{ctan-psu-thesis,
- title = {The \texttt{psu-thesis} package},
- subtitle = {Package for writing a thesis at Penn State University},
- author = {Matt Floros},
- date = {2019-02-26},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/psu-thesis},
- url = {https://ctan.org/pkg/psu-thesis},
-}
-
-@manual{ctan-psutils,
- title = {The \texttt{psutils} package},
- subtitle = {PostScript utilities},
- author = {Angus Duggan},
- date = {2021-08-26},
- version = {p17},
- license = {other-free},
- url = {https://ctan.org/pkg/psutils},
-}
-
-@manual{ctan-ptex-base,
- title = {The \texttt{ptex-base} package},
- subtitle = {Plain \TeX{} format for pTeX and e-pTeX},
- author = {{Japanese \TeX{} Development Community} and Kazuki Maeda},
- date = {2022-07-31},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/jptex/generic/ptex-base},
- url = {https://ctan.org/pkg/ptex-base},
- annotation = {The bundle contains the plain \TeX{} format
- for and e-pTeX.},
-}
-
-@manual{ctan-ptex-fontmaps,
- title = {The \texttt{ptex-fontmaps} package},
- subtitle = {Font maps and configuration tools for Japanese/Chinese/Korean fonts with (u)ptex},
- author = {{Japanese \TeX{} Development Community}},
- date = {2021-10-22},
- version = {20210625.0},
- license = {pd,gpl3},
- mirror = {https://mirror.ctan.org/fonts/ptex-fontmaps},
- url = {https://ctan.org/pkg/ptex-fontmaps},
-}
-
-@manual{ctan-ptex-fonts,
- title = {The \texttt{ptex-fonts} package},
- subtitle = {Fonts for use with pTeX},
- author = {{Japanese \TeX{} Development Community} and Kazuki Maeda},
- date = {2022-09-10},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/fonts/ptex-fonts},
- url = {https://ctan.org/pkg/ptex-fonts},
-}
-
-@manual{ctan-ptex-manual,
- title = {The \texttt{ptex-manual} package},
- subtitle = {Japanese pTeX manual},
- author = {{Japanese \TeX{} Development Community}},
- date = {2023-02-25},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/info/ptex-manual},
- url = {https://ctan.org/pkg/ptex-manual},
-}
-
-@manual{ctan-ptex-texmf,
- title = {The \texttt{ptex-texmf} package},
- subtitle = {Macro and other extensions for use with PTeX},
- author = {{Japanese \TeX{} Development Community}},
- date = {2020-03-01},
- license = {bsd3},
- url = {https://ctan.org/pkg/ptex-texmf},
- annotation = {This bundle has been split into four different packages:
- ,
- ,
- , and
- .},
-}
-
-@manual{ctan-ptex,
- title = {The \texttt{ptex} package},
- subtitle = {A \TeX{} system for publishing in Japanese},
- author = {{Japanese \TeX{} Development Community}},
- date = {2022-02-05},
- license = {bsd3},
- url = {https://ctan.org/pkg/ptex},
-}
-
-@manual{ctan-ptex2pdf,
- title = {The \texttt{ptex2pdf} package},
- subtitle = {Convert Japanese \TeX{} documents to PDF},
- author = {{Japanese \TeX{} Development Community}},
- date = {2022-07-31},
- version = {20200520.0},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/jptex/generic/ptex2pdf},
- url = {https://ctan.org/pkg/ptex2pdf},
- annotation = {The Lua script provides system-independent support of Japanese typesetting
- engines in \TeX{}works. As \TeX{}works typesetting setup does not allow for
- multistep processing, this script runs one of the
- -based programs
- (,
- , eptex,
- ,
- ) followed by
- .},
-}
-
-@manual{ctan-ptext,
- title = {The \texttt{ptext} package},
- subtitle = {A ‘lipsum’ for Persian},
- author = {Vahid Damanafshan},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/ptext},
- url = {https://ctan.org/pkg/ptext},
-}
-
-@manual{ctan-pthyphs,
- title = {The \texttt{pthyphs} package},
- subtitle = {Hyphenation Patterns for Portuguese},
- author = {Pedro J. de Rezende},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/portuguese/pt8hyph.tex},
- url = {https://ctan.org/pkg/pthyphs},
-}
-
-@manual{ctan-ptmsc,
- title = {The \texttt{ptmsc} package},
- subtitle = {Addon to the newtx package},
- author = {Michael Sharpe},
- date = {2021-09-11},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/ptmsc},
- url = {https://ctan.org/pkg/ptmsc},
- annotation = {This is an addon to the package
- that allows the substitution of the commercial Adobe TimesSC fonts
- for the default upright small caps in .},
-}
-
-@manual{ctan-ptolemaicastronomy,
- title = {The \texttt{ptolemaicastronomy} package},
- subtitle = {Diagrams of sphere models for variably strict conditionals (Lewis counterfactuals)},
- author = {Richard Zach},
- date = {2019-05-01},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/ptolemaicastronomy},
- url = {https://ctan.org/pkg/ptolemaicastronomy},
-}
-
-@manual{ctan-ptptex,
- title = {The \texttt{ptptex} package},
- subtitle = {Macros for 'Progress of Theoretical Physics'},
- author = {Shin-Ichiro Tomonaga and Hideki Yukawa},
- date = {2016-06-24},
- version = {0.91},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ptptex},
- url = {https://ctan.org/pkg/ptptex},
-}
-
-@manual{ctan-ptsans,
- title = {The \texttt{ptsans} package},
- subtitle = {PT Sans font and \LaTeX{} support},
- author = {Pavel Farar},
- date = {2016-06-24},
- version = {2.003},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/fonts/ptsans},
- url = {https://ctan.org/pkg/ptsans},
-}
-
-@manual{ctan-ptserif,
- title = {The \texttt{ptserif} package},
- subtitle = {PT Serif font and \LaTeX{} support},
- author = {Pavel Farar},
- date = {2016-06-24},
- version = {1.000},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/fonts/ptserif},
- url = {https://ctan.org/pkg/ptserif},
-}
-
-@manual{ctan-punk-latex,
- title = {The \texttt{Punk-LaTeX} package},
- subtitle = {\LaTeX{} support for punk fonts},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/punk-latex},
- url = {https://ctan.org/pkg/punk-latex},
- annotation = {The package and .fd file provide support for Knuth's
- fonts. That bundle also offers
- support within \LaTeX{}; the present package is to be preferred.},
-}
-
-@manual{ctan-punk,
- title = {The \texttt{punk} package},
- subtitle = {Donald Knuth's punk font},
- author = {Donald E. Knuth and Rohit Grover},
- date = {2021-08-26},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/punk},
- url = {https://ctan.org/pkg/punk},
-}
-
-@manual{ctan-punknova,
- title = {The \texttt{punknova} package},
- subtitle = {OpenType version of Knuth's Punk font},
- author = {Khaled Hosny and Donald E. Knuth},
- date = {2016-06-24},
- version = {1.003},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/punknova},
- url = {https://ctan.org/pkg/punknova},
-}
-
-@manual{ctan-purifyeps,
- title = {The \texttt{purifyeps} package},
- subtitle = {Make EPS work with both \LaTeX{}/dvips and pdfLaTeX},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/purifyeps},
- url = {https://ctan.org/pkg/purifyeps},
-}
-
-@manual{ctan-puyotikz,
- title = {The \texttt{PuyoTikZ} package},
- subtitle = {Quickly typeset board states of Puyo Puyo games},
- author = {Alexander Osborne},
- date = {2021-01-03},
- version = {1.0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/puyotikz},
- url = {https://ctan.org/pkg/puyotikz},
-}
-
-@manual{ctan-pwebmac,
- title = {The \texttt{pwebmac} package},
- subtitle = {Consolidated WEB macros for DVI and PDF output},
- author = {Andreas Scherer},
- date = {2022-06-26},
- version = {4.8.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/web/pwebmac},
- url = {https://ctan.org/pkg/pwebmac},
-}
-
-@manual{ctan-pwt,
- title = {The \texttt{PWT} package},
- subtitle = {An outline of publishing with \TeX{}},
- author = {Kees van der Laan},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/info/laan/pwt},
- url = {https://ctan.org/pkg/pwt},
-}
-
-@manual{ctan-pxbase,
- title = {The \texttt{pxbase} package},
- subtitle = {Tools for use with (u)pLaTeX},
- author = {Takayuki Yato},
- date = {2023-02-26},
- version = {1.4},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxbase},
- url = {https://ctan.org/pkg/pxbase},
- annotation = {The main purpose of this package is to provide auxiliary
- functions which are utilized by other packages created by
- the same author.
- It also provides a few user commands to assist in
- creating Japanese documents using
- .},
-}
-
-@manual{ctan-pxchfon,
- title = {The \texttt{pxchfon} package},
- subtitle = {Japanese font setup for p\LaTeX{} and upLaTeX},
- author = {Takayuki Yato},
- date = {2023-02-21},
- version = {1.9a},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxchfon},
- url = {https://ctan.org/pkg/pxchfon},
-}
-
-@manual{ctan-pxcjkcat,
- title = {The \texttt{pxcjkcat} package},
- subtitle = {\LaTeX{} interface for the CJK category codes of upTeX},
- author = {Takayuki Yato},
- date = {2022-07-20},
- version = {1.4},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxcjkcat},
- url = {https://ctan.org/pkg/pxcjkcat},
-}
-
-@manual{ctan-pxfonts,
- title = {The \texttt{pxfonts} package},
- subtitle = {Palatino-like fonts in support of mathematics},
- author = {Young Ryu},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/pxfonts},
- url = {https://ctan.org/pkg/pxfonts},
-}
-
-@manual{ctan-pxgreeks,
- title = {The \texttt{pxgreeks} package},
- subtitle = {Shape selection for PX fonts Greek letters},
- author = {Jean-François Burnol},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pxgreeks},
- url = {https://ctan.org/pkg/pxgreeks},
- annotation = {The package allows \LaTeX{} maths users of the
- to select the
- shapes (italic or upright) for the Greek lowercase and uppercase
- letters. Once the shapes for lowercase and uppercase have been
- selected via a package option, the prefix (e.g.,
- ) allows using the alternate glyph (as in the
- fourier package). The pxgreeks package does not constrain the
- text font that may be used in the document.},
-}
-
-@manual{ctan-pxjahyper,
- title = {The \texttt{pxjahyper} package},
- subtitle = {Hyperref support for pLaTeX},
- author = {Takayuki Yato},
- date = {2023-02-28},
- version = {1.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxjahyper},
- url = {https://ctan.org/pkg/pxjahyper},
-}
-
-@manual{ctan-pxjodel,
- title = {The \texttt{pxjodel} package},
- subtitle = {Help change metrics of fonts from japanese-otf},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {0.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxjodel},
- url = {https://ctan.org/pkg/pxjodel},
-}
-
-@manual{ctan-pxpgfmark,
- title = {The \texttt{pxpgfmark} package},
- subtitle = {e-pTeX driver for PGF inter-picture connections},
- author = {Takayuki Yato},
- date = {2016-12-18},
- version = {0.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/pxpgfmark},
- url = {https://ctan.org/pkg/pxpgfmark},
-}
-
-@manual{ctan-pxpic,
- title = {The \texttt{pxpic} package},
- subtitle = {Draw pixel pictures},
- author = {Jonathan P. Spratte},
- date = {2023-02-12},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pxpic},
- url = {https://ctan.org/pkg/pxpic},
- annotation = {With you draw pictures pixel by pixel. It was inspired by a
-
- by Paulo Cereda, among other things (most notably a beautiful duck) showcasing
- the use of characters from the Mario video games by Nintendo in \LaTeX{}.},
-}
-
-@manual{ctan-pxrubrica,
- title = {The \texttt{pxrubrica} package},
- subtitle = {Ruby annotations according to JIS X 4051},
- author = {Takayuki Yato},
- date = {2023-03-02},
- version = {1.3e},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxrubrica},
- url = {https://ctan.org/pkg/pxrubrica},
-}
-
-@manual{ctan-pxtatescale,
- title = {The \texttt{pxtatescale} package},
- subtitle = {Patch to graphics driver for scaling in vertical direction of pTeX},
- author = {Hironobu Yamashita},
- date = {2022-07-20},
- version = {0.4},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxtatescale},
- url = {https://ctan.org/pkg/pxtatescale},
-}
-
-@manual{ctan-pxtxalfa,
- title = {The \texttt{pxtxalfa} package},
- subtitle = {Virtual maths alphabets based on pxfonts and txfonts},
- author = {Michael Sharpe},
- date = {2021-10-22},
- version = {2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/pxtxalfa},
- url = {https://ctan.org/pkg/pxtxalfa},
- annotation = {The package provides virtual math alphabets based on
- and
- , with \LaTeX{} support files and
- adjusted metrics. The
- package offers support for this collection.},
-}
-
-@manual{ctan-pxufont,
- title = {The \texttt{pxufont} package},
- subtitle = {Emulate non-Unicode Japanese fonts using Unicode fonts},
- author = {Takayuki Yato},
- date = {2022-07-31},
- version = {0.6},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/pxufont},
- url = {https://ctan.org/pkg/pxufont},
-}
-
-@manual{ctan-pybib,
- title = {The \texttt{pybib} package},
- subtitle = {Command line utilities to check, sort, merge BibTeX files},
- author = {Peter Corke},
- date = {2020-04-05},
- license = {nosell},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/pybib},
- url = {https://ctan.org/pkg/pybib},
-}
-
-@manual{ctan-pybliographer,
- title = {The \texttt{pybliographer} package},
- subtitle = {A tool for managing bibliographic databases},
- author = {Frédéric Gobry},
- date = {2017-04-18},
- version = {0.6},
- license = {gpl},
- url = {https://ctan.org/pkg/pybliographer},
-}
-
-@manual{ctan-pydocstrip,
- title = {The \texttt{pydocstrip} package},
- subtitle = {Scripted version of \LaTeX{} docstrip},
- author = {Ky-Anh Huynh},
- date = {2020-03-19},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/pydocstrip},
- url = {https://ctan.org/pkg/pydocstrip},
- annotation = {Pydocstrip is a Python script that provides several facilities not
- available via the \LaTeX{} standard
- .},
-}
-
-@manual{ctan-pygmentex,
- title = {The \texttt{pygmentex} package},
- subtitle = {Use Pygments to format code listings in documents},
- author = {José Romildo Malaquias},
- date = {2022-08-16},
- version = {0.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pygmentex},
- url = {https://ctan.org/pkg/pygmentex},
-}
-
-@manual{ctan-pyluatex,
- title = {The \texttt{PyLuaTeX} package},
- subtitle = {Execute Python code on the fly in your \LaTeX{} documents},
- author = {Tobias Enderle},
- date = {2023-02-15},
- version = {0.6.1},
- license = {mit,lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/pyluatex},
- url = {https://ctan.org/pkg/pyluatex},
-}
-
-@manual{ctan-python,
- title = {The \texttt{python} package},
- subtitle = {Embed Python code in \LaTeX{}},
- author = {Martin R. Ehmsen},
- date = {2021-08-04},
- version = {0.22},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/python},
- url = {https://ctan.org/pkg/python},
-}
-
-@manual{ctan-pythonhighlight,
- title = {The \texttt{pythonhighlight} package},
- subtitle = {Highlighting of Python code, based on the listings package},
- author = {Olivier Verdier},
- date = {2017-02-11},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pythonhighlight},
- url = {https://ctan.org/pkg/pythonhighlight},
-}
-
-@manual{ctan-pythonimmediate,
- title = {The \texttt{pythonimmediate} package},
- subtitle = {Library to run Python code},
- author = {{user202729}},
- date = {2023-03-07},
- version = {0.4.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pythonimmediate},
- url = {https://ctan.org/pkg/pythonimmediate},
-}
-
-@manual{ctan-pythontex,
- title = {The \texttt{pythontex} package},
- subtitle = {Run Python from within a document, typesetting the results},
- author = {Geoffrey Poore},
- date = {2021-06-07},
- version = {0.18},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/pythontex},
- url = {https://ctan.org/pkg/pythontex},
-}
-
-@manual{ctan-pzccal,
- title = {The \texttt{pzccal} package},
- subtitle = {Zapf Chancery as calligraphic math alphabet},
- author = {Günter Milde},
- date = {2018-01-06},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/pzccal},
- url = {https://ctan.org/pkg/pzccal},
-}
-
-@manual{ctan-qbibman,
- title = {The \texttt{qbibman} package},
- subtitle = {Graphical frontend to BibTool},
- author = {Ralf Goertz},
- date = {2016-06-18},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/qbibman},
- url = {https://ctan.org/pkg/qbibman},
-}
-
-@manual{ctan-qcircuit,
- title = {The \texttt{qcircuit} package},
- subtitle = {Macros to generate quantum ciruits},
- author = {Bryan Eastin and Steven Flammia and Travis L. Scholten},
- date = {2018-08-14},
- version = {2.6.0},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/graphics/qcircuit},
- url = {https://ctan.org/pkg/qcircuit},
- annotation = {The package supports those within the quantum information
- community who typeset quantum circuits, using
- package, offering macros
- designed to help users generate circuits.},
-}
-
-@manual{ctan-qcm,
- title = {The \texttt{QCM} package},
- subtitle = {A \LaTeX{}2e class for making multiple choice questionnaires},
- author = {Didier Verna},
- date = {2022-06-25},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qcm},
- url = {https://ctan.org/pkg/qcm},
- annotation = {QCM is a package for making multiple choices questionnaires under
- \LaTeX{}2e (“QCM” is the French acronym for this
- style of test). A special environment allows you to define
- questions and possible answers. You can specify which answers are
- correct and which are not. QCM not only formats the questions for
- you, but also generates a ‘form’ (a grid that your
- students will have to fill in), and a ‘mask’ (the
- same grid, only with correct answers properly checked in). You
- can then print the mask on a slide and correct the questionnaires
- more easily by superimposing the mask on top of students' forms.
- QCM can also typeset exam corrections automatically, and comes
- with support for .},
-}
-
-@manual{ctan-qdtexvpl,
- title = {The \texttt{qdtexvpl} package},
- subtitle = {Quick and dirty virtual font creation},
- author = {Eberhard Mattes},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/qdtexvpl},
- url = {https://ctan.org/pkg/qdtexvpl},
-}
-
-@manual{ctan-qed,
- title = {The \texttt{qed} package},
- subtitle = {Produce an "end-of-proof" mark},
- author = {Paul Taylor},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/generic/proofs/taylor/QED.sty},
- url = {https://ctan.org/pkg/qed},
-}
-
-@manual{ctan-qfig,
- title = {The \texttt{qfig} package},
- subtitle = {DOS graphics program},
- author = {William Ofosu-Amaah},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/qfig},
- url = {https://ctan.org/pkg/qfig},
- annotation = {Qfig is a DOS graphics program to generate output for
- and .},
-}
-
-@manual{ctan-qfonts,
- title = {The \texttt{qfonts} package},
- subtitle = {PostScript (Adobe Type 1) fonts in QX layout},
- author = {{JNS team} and Bogusław Jackowski and Janusz Marian Nowacki and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.07},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/psfonts/polish/qfonts},
- url = {https://ctan.org/pkg/qfonts},
-}
-
-@manual{ctan-qm,
- title = {The \texttt{qm} package},
- subtitle = {Commands for bras and kets and the like},
- author = {Norbert Christlieb},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/qm.sty},
- url = {https://ctan.org/pkg/qm},
- annotation = {The commands ( and , etc.) operate both
- in text and maths mode (the arguments are set as maths).},
-}
-
-@manual{ctan-qms,
- title = {The \texttt{qms} package},
- subtitle = {VMS tools for controlling QMS printers},
- author = {{Unknown}},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/qms},
- url = {https://ctan.org/pkg/qms},
-}
-
-@manual{ctan-qobitree,
- title = {The \texttt{qobitree} package},
- subtitle = {\LaTeX{} macros for typesetting trees},
- author = {Jeffrey Siskind},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qobitree},
- url = {https://ctan.org/pkg/qobitree},
- annotation = {Provides commands and for
- specifying the elements of the tree; you build up your tree with
- those commands, and then issue the command to
- typeset the whole.},
-}
-
-@manual{ctan-qrbill,
- title = {The \texttt{qrbill} package},
- subtitle = {Create QR bills using \LaTeX{}},
- author = {Marei Peischl and Alex Antener},
- date = {2023-03-02},
- version = {2.00},
- license = {lppl1.3c,bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qrbill},
- url = {https://ctan.org/pkg/qrbill},
-}
-
-@manual{ctan-qrcode,
- title = {The \texttt{qrcode} package},
- subtitle = {Generate QR codes in \LaTeX{}},
- author = {Anders O. F. Hendrickson},
- date = {2016-06-24},
- version = {1.51},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qrcode},
- url = {https://ctan.org/pkg/qrcode},
-}
-
-@manual{ctan-qrcstamps,
- title = {The \texttt{qrcstamps} package},
- subtitle = {Create QR codes using stamps},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qrcstamps},
- url = {https://ctan.org/pkg/qrcstamps},
-}
-
-@manual{ctan-qsharp,
- title = {The \texttt{qsharp} package},
- subtitle = {Syntax highlighting for the Q\# language},
- author = {Christopher Granade},
- date = {2019-01-20},
- version = {0.3.1901.1401},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qsharp},
- url = {https://ctan.org/pkg/qsharp},
- annotation = {The package provides syntax highlighting for the
- language,
- a domain-specific language for quantum programming.},
-}
-
-@manual{ctan-qstest,
- title = {The \texttt{qstest} package},
- subtitle = {Bundle for unit tests and pattern matching},
- author = {David Kastrup},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qstest},
- url = {https://ctan.org/pkg/qstest},
-}
-
-@manual{ctan-qsymbols,
- title = {The \texttt{qsymbols} package},
- subtitle = {Maths symbol abbreviations},
- author = {Kristoffer H. Rose},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qsymbols},
- url = {https://ctan.org/pkg/qsymbols},
- annotation = {Provides macros for defining systematic mnemonic abbreviations,
- starting with for math symbols and for
- arrows, using standard symbols as well as those from the
- bundle and the
- package.},
-}
-
-@manual{ctan-qtree,
- title = {The \texttt{qtree} package},
- subtitle = {Draw tree structures},
- author = {Alexis Dimitriadis and Jeffrey Siskind},
- date = {2016-06-24},
- version = {3.1b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qtree},
- url = {https://ctan.org/pkg/qtree},
-}
-
-@manual{ctan-qualitype,
- title = {The \texttt{qualitype} package},
- subtitle = {The QualiType font collection},
- author = {Daniel Benjamin Miller},
- date = {2020-01-01},
- version = {},
- license = {ofl,gpl2+},
- mirror = {https://mirror.ctan.org/fonts/qualitype},
- url = {https://ctan.org/pkg/qualitype},
-}
-
-@manual{ctan-quantikz,
- title = {The \texttt{quantikz} package},
- subtitle = {Draw quantum circuit diagrams},
- author = {Alastair Kay},
- date = {2020-04-27},
- version = {0.9.6},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/quantikz},
- url = {https://ctan.org/pkg/quantikz},
-}
-
-@manual{ctan-quantumarticle,
- title = {The \texttt{quantumarticle} package},
- subtitle = {Document class for submissions to the Quantum journal},
- author = {{Quantum — the open journal for quantum science} and Johannes Jakob Meyer and Christian Gogolin},
- date = {2022-12-11},
- version = {6.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/quantumarticle},
- url = {https://ctan.org/pkg/quantumarticle},
-}
-
-@manual{ctan-quattrocento,
- title = {The \texttt{quattrocento} package},
- subtitle = {Quattrocento and Quattrocento Sans fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-13},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/quattrocento},
- url = {https://ctan.org/pkg/quattrocento},
-}
-
-@manual{ctan-quicktype,
- title = {The \texttt{quicktype} package},
- subtitle = {\LaTeX{} package for quick typesetting},
- author = {Xandru Mifsud},
- date = {2016-10-08},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/quicktype},
- url = {https://ctan.org/pkg/quicktype},
-}
-
-@manual{ctan-quiz2socrative,
- title = {The \texttt{quiz2socrative} package},
- subtitle = {Prepare questions for socrative quizzes},
- author = {Paolo Lella},
- date = {2019-10-05},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/quiz2socrative},
- url = {https://ctan.org/pkg/quiz2socrative},
-}
-
-@manual{ctan-quotation,
- title = {The \texttt{quotation} package},
- subtitle = {Typeset an attributed quotation},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/quotation.tex},
- url = {https://ctan.org/pkg/quotation},
- annotation = {takes two arguments, the quotation itself, and
- the attribution. The quotation is set as a page-wide
- , so placement of commands may be
- useful for best appearance.},
-}
-
-@manual{ctan-quotchap,
- title = {The \texttt{quotchap} package},
- subtitle = {Decorative chapter headings},
- author = {Jan Klever and Karsten Tinnefeld},
- date = {2020-11-13},
- version = {1.3},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/quotchap},
- url = {https://ctan.org/pkg/quotchap},
- annotation = {A package for creating decorative chapter headings with
- quotations. Uses graphical and coloured output and by default
- needs the “Adobe standard font set” (as supported
- by ).},
-}
-
-@manual{ctan-quote,
- title = {The \texttt{quote} package},
- subtitle = {Match pairs of double-quote characters},
- author = {Hunter Goatley},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/quote.sty},
- url = {https://ctan.org/pkg/quote},
-}
-
-@manual{ctan-quotes,
- title = {The \texttt{quotes} package},
- subtitle = {Smart double quotes in \LaTeX{} input},
- author = {Francesco Bosisio},
- date = {2019-09-28},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio/quotes.dtx},
- url = {https://ctan.org/pkg/quotes},
-}
-
-@manual{ctan-quoting,
- title = {The \texttt{quoting} package},
- subtitle = {Consolidated environment for displayed text},
- author = {Thomas Titz},
- date = {2016-06-24},
- version = {0.1c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/quoting},
- url = {https://ctan.org/pkg/quoting},
- annotation = {As an alternative to the \LaTeX{} standard environments
- and
- , the package provides a
- consolidated environment for displayed text. First-line
- indentation may be activated by adding a blank line before the
- quoting environment. A key-value interface (using
- ) allows the user to
- configure font properties and spacing and to control orphans
- within and after the environment.},
-}
-
-@manual{ctan-quotmark,
- title = {The \texttt{quotmark} package},
- subtitle = {Consistent quote marks},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/quotmark},
- url = {https://ctan.org/pkg/quotmark},
-}
-
-@manual{ctan-quran-bn,
- title = {The \texttt{quran-bn} package},
- subtitle = {Bengali translations to the quran package},
- author = {Seiied-Mohammad-Javad Razavian},
- date = {2021-02-03},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/quran-bn},
- url = {https://ctan.org/pkg/quran-bn},
-}
-
-@manual{ctan-quran-de,
- title = {The \texttt{quran-de} package},
- subtitle = {German translations to the quran package},
- author = {Seiied-Mohammad-Javad Razavian},
- date = {2020-03-08},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/quran-de},
- url = {https://ctan.org/pkg/quran-de},
-}
-
-@manual{ctan-quran-ur,
- title = {The \texttt{quran-ur} package},
- subtitle = {Urdu translations to the quran package},
- author = {Seiied-Mohammad-Javad Razavian},
- date = {2021-02-02},
- version = {0.21},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/quran-ur},
- url = {https://ctan.org/pkg/quran-ur},
-}
-
-@manual{ctan-quran,
- title = {The \texttt{quran} package},
- subtitle = {An easy way to typeset any part of The Holy Quran},
- author = {Seiied-Mohammad-Javad Razavian},
- date = {2021-02-02},
- version = {1.81},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/quran},
- url = {https://ctan.org/pkg/quran},
-}
-
-@manual{ctan-qyxf-book,
- title = {The \texttt{qyxf-book} package},
- subtitle = {Book Template for Qian Yuan Xue Fu},
- author = {Jiarui You},
- date = {2020-09-11},
- version = {3.1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/qyxf-book},
- url = {https://ctan.org/pkg/qyxf-book},
-}
-
-@manual{ctan-r-und-s,
- title = {The \texttt{r\_und\_s} package},
- subtitle = {Chemical hazard codes},
- author = {Thiemo Nordenholz},
- date = {2016-06-24},
- version = {1.3i},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/r_und_s},
- url = {https://ctan.org/pkg/r-und-s},
-}
-
-@manual{ctan-r2bib,
- title = {The \texttt{r2bib} package},
- subtitle = {Convert refer and EndNote files to BibTeX},
- author = {Richard J Mathar},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/r2bib},
- url = {https://ctan.org/pkg/r2bib},
-}
-
-@manual{ctan-ragged,
- title = {The \texttt{ragged} package},
- subtitle = {Generic ragged left and ragged right options},
- author = {Laurent Siebenmann},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/ragged.sty},
- url = {https://ctan.org/pkg/ragged},
-}
-
-@manual{ctan-ragged2e,
- title = {The \texttt{ragged2e} package},
- subtitle = {Alternative versions of “ragged”-type commands},
- author = {Martin Schröder and Marei Peischl},
- date = {2023-02-25},
- version = {3.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ragged2e},
- url = {https://ctan.org/pkg/ragged2e},
- annotation = {The package defines new commands ,
- , and and new
- environments , , and
- , which set ragged text and are
- easily configurable to allow hyphenation (the corresponding
- commands in \LaTeX{}, all of whose names are lower-case,
- prevent hyphenation altogether).},
-}
-
-@manual{ctan-raggedr,
- title = {The \texttt{raggedr} package},
- subtitle = {Set an entire document raggedright},
- author = {James Kilfiger},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/misc/raggedr.sty},
- url = {https://ctan.org/pkg/raggedr},
- annotation = {This package has been incorporated into
- .},
-}
-
-@manual{ctan-rail,
- title = {The \texttt{rail} package},
- subtitle = {Syntax specification in EBNF},
- author = {Luc Rooijakkers and Klaus Georg Barthelmann},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/rail},
- url = {https://ctan.org/pkg/rail},
-}
-
-@manual{ctan-rake4latex,
- title = {The \texttt{rake4latex} package},
- subtitle = {A rake-based tool to compile \LaTeX{} projects},
- author = {Knut Lickert},
- date = {2022-05-08},
- version = {0.1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/rake4latex},
- url = {https://ctan.org/pkg/rake4latex},
-}
-
-@manual{ctan-raleway,
- title = {The \texttt{raleway} package},
- subtitle = {Use Raleway with \TeX{}(-alike) systems},
- author = {Silke Hofstra},
- date = {2016-12-03},
- version = {1.4},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/raleway},
- url = {https://ctan.org/pkg/raleway},
-}
-
-@manual{ctan-ran_toks,
- title = {The \texttt{ran\_toks} package},
- subtitle = {Randomise token strings},
- author = {Donald P. Story},
- date = {2021-06-06},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ran_toks},
- url = {https://ctan.org/pkg/ran_toks},
-}
-
-@manual{ctan-randbild,
- title = {The \texttt{randbild} package},
- subtitle = {Marginal pictures},
- author = {Paul Ebermann},
- date = {2018-09-15},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/randbild},
- url = {https://ctan.org/pkg/randbild},
- annotation = {Provides environments to draw small marginal plots
- (using the packages and
- ), and
- (the same, only without the automatically drawn coordinate system).},
-}
-
-@manual{ctan-random,
- title = {The \texttt{random} package},
- subtitle = {Generating “random” numbers in \TeX{}},
- author = {Donald Arseneau},
- date = {2020-04-15},
- version = {0.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/random},
- url = {https://ctan.org/pkg/random},
-}
-
-@manual{ctan-randomlist,
- title = {The \texttt{randomlist} package},
- subtitle = {Deal with database, loop, and random in order to build personalized exercises},
- author = {Jean-Côme Charpentier and Christian Tellechea},
- date = {2018-01-07},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/randomlist},
- url = {https://ctan.org/pkg/randomlist},
-}
-
-@manual{ctan-randomwalk,
- title = {The \texttt{randomwalk} package},
- subtitle = {Random walks using TikZ},
- author = {Bruno Le Floch},
- date = {2018-12-28},
- version = {0.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/randomwalk},
- url = {https://ctan.org/pkg/randomwalk},
-}
-
-@manual{ctan-randtext,
- title = {The \texttt{randtext} package},
- subtitle = {Randomise the order of characters in strings},
- author = {Charles Duan},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/randtext},
- url = {https://ctan.org/pkg/randtext},
-}
-
-@manual{ctan-rangecite,
- title = {The \texttt{rangecite} package},
- subtitle = {Will turn a range of citations into something like [1..3]},
- author = {Nachum Dershowitz and Edward M. Reingold},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/rangecite.sty},
- url = {https://ctan.org/pkg/rangecite},
-}
-
-@manual{ctan-rangen,
- title = {The \texttt{rangen} package},
- subtitle = {Generate random integers, rational and decimal numbers},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {1.4},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rangen},
- url = {https://ctan.org/pkg/rangen},
- annotation = {The package generates random integers, rational numbers, and
- decimal numbers. The package uses the
- package to generate random integers,
- and then builds rational numbers and decimal numbers from the
- generated integers.},
-}
-
-@manual{ctan-rank-2-roots,
- title = {The \texttt{rank-2-roots} package},
- subtitle = {Draw (mathematical) rank 2 root systems},
- author = {Benjamin McKay},
- date = {2021-03-24},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/rank-2-roots},
- url = {https://ctan.org/pkg/rank-2-roots},
-}
-
-@manual{ctan-ransom,
- title = {The \texttt{ransom} package},
- subtitle = {A "very bad typewriter" font},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/fonts/ransom},
- url = {https://ctan.org/pkg/ransom},
-}
-
-@manual{ctan-ratex,
- title = {The \texttt{ratex} package},
- subtitle = {A package for German lawyers},
- author = {Friedrich Vosberg},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rtklage},
- url = {https://ctan.org/pkg/ratex},
-}
-
-@manual{ctan-ratexdb,
- title = {The \texttt{ratexdb} package},
- subtitle = {Database reports using \LaTeX{} and Ruby},
- author = {Robin Höns},
- date = {2016-06-24},
- version = {0.13},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/ratexdb},
- url = {https://ctan.org/pkg/ratexdb},
-}
-
-@manual{ctan-rawfonts,
- title = {The \texttt{rawfonts} package},
- subtitle = {Low level font compatibility mode for \LaTeX{}},
- author = {Alan Jeffrey and {The \LaTeX{} Project Team}},
- date = {2020-10-02},
- version = {0.01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/rawfonts},
-}
-
-@manual{ctan-rawprint,
- title = {The \texttt{rawprint} package},
- subtitle = {Print raw Russian text},
- author = {Boris Veytsman},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koi8},
- url = {https://ctan.org/pkg/rawprint},
-}
-
-@manual{ctan-rbt-mathnotes,
- title = {The \texttt{rbt-mathnotes} package},
- subtitle = {Rebecca Turner’s personal macros and styles for typesetting mathematics notes},
- author = {Rebecca Turner},
- date = {2021-12-02},
- version = {1.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rbt-mathnotes},
- url = {https://ctan.org/pkg/rbt-mathnotes},
-}
-
-@manual{ctan-rccol,
- title = {The \texttt{rccol} package},
- subtitle = {Decimal-centered optionally rounded numbers in tabular},
- author = {Eckhart Guthöhrlein},
- date = {2016-06-24},
- version = {1.2c},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rccol},
- url = {https://ctan.org/pkg/rccol},
-}
-
-@manual{ctan-rcs-multi,
- title = {The \texttt{rcs-multi} package},
- subtitle = {Typeset RCS version control in multiple-file documents},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rcs-multi},
- url = {https://ctan.org/pkg/rcs-multi},
-}
-
-@manual{ctan-rcs-pln,
- title = {The \texttt{rcs-pln} package},
- subtitle = {RCS data in Plain \TeX{} documents},
- author = {Kristoffer H. Rose},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/rcs.tex},
- url = {https://ctan.org/pkg/rcs-pln},
- annotation = {Provides commands and
- which take -delimited RCS entries; these set up commands
- and for use in the
- document. Also provides a command.},
-}
-
-@manual{ctan-rcs,
- title = {The \texttt{rcs} package},
- subtitle = {Use RCS (revision control system) tags in \LaTeX{} documents},
- author = {Joachim Schrod and Julian Gilbey},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rcs},
- url = {https://ctan.org/pkg/rcs},
-}
-
-@manual{ctan-rcsinfo,
- title = {The \texttt{rcsinfo} package},
- subtitle = {Support for the revision control system},
- author = {Jürgen Vollmer},
- date = {2016-06-24},
- version = {1.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rcsinfo},
- url = {https://ctan.org/pkg/rcsinfo},
-}
-
-@manual{ctan-readablecv,
- title = {The \texttt{ReadableCV} package},
- subtitle = {A highly readable and good looking CV and letter class},
- author = {Philip Stone},
- date = {2021-03-24},
- version = {3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/readablecv},
- url = {https://ctan.org/pkg/readablecv},
-}
-
-@manual{ctan-readarray,
- title = {The \texttt{readarray} package},
- subtitle = {Read, store and recall array-formatted data},
- author = {Steven B. Segletes},
- date = {2021-09-18},
- version = {3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/readarray},
- url = {https://ctan.org/pkg/readarray},
-}
-
-@manual{ctan-readprov,
- title = {The \texttt{readprov} package},
- subtitle = {Provides GetFileInfo without the need to load the file},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fileinfo},
- url = {https://ctan.org/pkg/readprov},
-}
-
-@manual{ctan-realboxes,
- title = {The \texttt{realboxes} package},
- subtitle = {Variants of common box-commands that read their content as real box and not as macro argument},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/realboxes},
- url = {https://ctan.org/pkg/realboxes},
-}
-
-@manual{ctan-realcalc,
- title = {The \texttt{realcalc} package},
- subtitle = {Macros for real arithmetic calculations},
- author = {Frank Buchholz},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/generic/realcalc},
- url = {https://ctan.org/pkg/realcalc},
- annotation = {There are known problems with this package; an alternative is
- (a \LaTeX{} package, only).},
-}
-
-@manual{ctan-realhats,
- title = {The \texttt{realhats} package},
- subtitle = {Put real hats on symbols instead of \textasciicircum{}},
- author = {Matthew Scroggs and Adam Townsend},
- date = {2022-06-13},
- version = {6.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/realhats},
- url = {https://ctan.org/pkg/realhats},
-}
-
-@manual{ctan-realscripts,
- title = {The \texttt{realscripts} package},
- subtitle = {Access OpenType subscript and superscript glyphs},
- author = {Will Robertson},
- date = {2020-09-26},
- version = {0.3d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/realscripts},
- url = {https://ctan.org/pkg/realscripts},
-}
-
-@manual{ctan-realtranspose,
- title = {The \texttt{realtranspose} package},
- subtitle = {The “real” way to transpose a Matrix},
- author = {Lars Quentin},
- date = {2020-10-12},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/realtranspose},
- url = {https://ctan.org/pkg/realtranspose},
- annotation = {With you can notate the transposition
- of a matrix by rotating the symbols 90 degrees.
- This is a hommage to the package.},
-}
-
-@manual{ctan-rec-thy,
- title = {The \texttt{rec-thy} package},
- subtitle = {Commands to typeset recursion theory papers},
- author = {Peter M. Gerdes},
- date = {2022-07-26},
- version = {3.8.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rec-thy},
- url = {https://ctan.org/pkg/rec-thy},
-}
-
-@manual{ctan-recipe,
- title = {The \texttt{recipe} package},
- subtitle = {A \LaTeX{} class to typeset recipes},
- author = {Maurizio Loreti},
- date = {2019-07-06},
- version = {0.9},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/recipe},
- url = {https://ctan.org/pkg/recipe},
- annotation = {The layout design is relatively straightforward (and traditional:
- see ‘sample output’ under ‘documentation’);
- the class uses the Bookman and the
- fonts.},
-}
-
-@manual{ctan-recipebook,
- title = {The \texttt{recipebook} package},
- subtitle = {Typeset 5.5" x 8" recipes for browsing or printing},
- author = {Brad Granger},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/recipebook},
- url = {https://ctan.org/pkg/recipebook},
-}
-
-@manual{ctan-recipecard,
- title = {The \texttt{recipecard} package},
- subtitle = {Typeset recipes in note-card-sized boxes},
- author = {Ben Reish},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/recipecard},
- url = {https://ctan.org/pkg/recipecard},
-}
-
-@manual{ctan-recorder-fingering,
- title = {The \texttt{recorder-fingering} package},
- subtitle = {Package to display recorder fingering diagrams},
- author = {Alan Munn},
- date = {2023-02-24},
- version = {1.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/recorder-fingering},
- url = {https://ctan.org/pkg/recorder-fingering},
-}
-
-@manual{ctan-rectopma,
- title = {The \texttt{rectopma} package},
- subtitle = {Recycle top matter},
- author = {Battista Benciolini},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rectopma},
- url = {https://ctan.org/pkg/rectopma},
- annotation = {Saves the arguments of and for
- reference (after ) in a document.
- ( simply disposes of the information, in the
- standard classes and some others.)},
-}
-
-@manual{ctan-recycle,
- title = {The \texttt{recycle} package},
- subtitle = {A font providing the "recyclable" logo},
- author = {Ian Green and Scott Pakin},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/recycle},
- url = {https://ctan.org/pkg/recycle},
-}
-
-@manual{ctan-redefine,
- title = {The \texttt{redefine} package},
- subtitle = {Conditional macro, etc., definitions},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/redefine.tex},
- url = {https://ctan.org/pkg/redefine},
- annotation = {Defines commands , and
- that warn the user if a command is redefined
- using them (if operating under \LaTeX{}, is
- similarly modified). In addition ,
- , , ,
- are modified to detect an error if a conditional
- or register name is reused.},
-}
-
-@manual{ctan-redis,
- title = {The \texttt{redis} package},
- subtitle = {A Hebrew font},
- author = {Jacques Goldberg},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/redis},
- url = {https://ctan.org/pkg/redis},
- annotation = {The font is in Metafont format; a version of it seems to appear in
- the distribution.},
-}
-
-@manual{ctan-redit,
- title = {The \texttt{REdit} package},
- subtitle = {Menu-based editor},
- author = {Michael Rogalla},
- date = {2016-06-24},
- version = {2.10},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/support/redit},
- url = {https://ctan.org/pkg/redit},
-}
-
-@manual{ctan-refcheck,
- title = {The \texttt{refcheck} package},
- subtitle = {Check references (in figures, table, equations, etc)},
- author = {Oleg V. Motygin},
- date = {2016-06-24},
- version = {1.9.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/refcheck},
- url = {https://ctan.org/pkg/refcheck},
-}
-
-@manual{ctan-refcount,
- title = {The \texttt{refcount} package},
- subtitle = {Counter operations with label references},
- author = {Heiko Oberdiek},
- date = {2019-12-21},
- version = {3.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/refcount},
- url = {https://ctan.org/pkg/refcount},
-}
-
-@manual{ctan-refenums,
- title = {The \texttt{refenums} package},
- subtitle = {Define named items and provide back-references with that name},
- author = {Oliver Kopp},
- date = {2018-03-10},
- version = {1.1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/refenums},
- url = {https://ctan.org/pkg/refenums},
-}
-
-@manual{ctan-refer-tools,
- title = {The \texttt{refer-tools} package},
- subtitle = {Convert between refer format and BibTeX format},
- author = {Pierre Mareschal and Ulrich Fastenrath and Ciaran McHale and Dana Jacobsen and Frank Roth and Hartmut Palm and Henry Kautz and Bernd Fritzke},
- date = {2020-06-21},
- version = {0.9.4},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/refer-tools},
- url = {https://ctan.org/pkg/refer-tools},
-}
-
-@manual{ctan-refer,
- title = {The \texttt{refer} package},
- subtitle = {Convert a BibTeX bibliography to refer format},
- author = {Ciaran McHale},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/refer.bst},
- url = {https://ctan.org/pkg/refer},
-}
-
-@manual{ctan-references,
- title = {The \texttt{references} package},
- subtitle = {Bibliographic software supporting \LaTeX{}/BibTeX},
- author = {Volker Kiefel},
- date = {2016-06-24},
- version = {4.3d},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/references},
- url = {https://ctan.org/pkg/references},
-}
-
-@manual{ctan-reflectgraphics,
- title = {The \texttt{reflectgraphics} package},
- subtitle = {Techniques for reflecting graphics},
- author = {Oliver Reiche},
- date = {2017-04-18},
- version = {0.2c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/reflectgraphics},
- url = {https://ctan.org/pkg/reflectgraphics},
-}
-
-@manual{ctan-refman,
- title = {The \texttt{refman} package},
- subtitle = {Format technical reference manuals},
- author = {Axel Kielhorn and Hubert Partl},
- date = {2016-06-24},
- version = {2.0e},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/refman},
- url = {https://ctan.org/pkg/refman},
-}
-
-@manual{ctan-refreshpdf,
- title = {The \texttt{refreshpdf} package},
- subtitle = {Refresh PDF files "remotely"},
- author = {Claus Gerhardt},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/refreshpdf},
- url = {https://ctan.org/pkg/refreshpdf},
-}
-
-@manual{ctan-refstyle,
- title = {The \texttt{refstyle} package},
- subtitle = {Advanced formatting of cross references},
- author = {Danie Els},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/refstyle},
- url = {https://ctan.org/pkg/refstyle},
- annotation = {The package provides a consistent way of producing references
- throughout a project. Enough flexibility is provided to make
- local changes to a single reference. The user can configure
- their own setup. The package offers a direct interface to
- (for use, for example, in
- large projects such as a series of books, or a multivolume thesis
- written as a series of documents), and name references from the
- package may be incorporated
- with ease. For large projects such as a series of
- books or a multi volume thesis, written as freestanding
- documents, a facility is provided to interface to the
- package
- for external document references.},
-}
-
-@manual{ctan-regcount,
- title = {The \texttt{regcount} package},
- subtitle = {Display the allocation status of the \TeX{} registers},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/regcount},
- url = {https://ctan.org/pkg/regcount},
- annotation = {Adds a macro which displays the allocation
- status of the \TeX{} registers. The display is written into the .log
- file as it is a bit verbose. An automatic call to
- is done at and
- .},
-}
-
-@manual{ctan-regexpatch,
- title = {The \texttt{regexpatch} package},
- subtitle = {High level patching of commands},
- author = {Enrico Gregorio},
- date = {2021-03-22},
- version = {0.2f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/regexpatch},
- url = {https://ctan.org/pkg/regexpatch},
- annotation = {The package generalises the macro patching commands provided by
- P. Lehmann’s . The
- difference between this package and its sibling
- is that this package sports a
- very powerful based on the
- module of the \LaTeX{}3
- experimental packages.},
-}
-
-@manual{ctan-register,
- title = {The \texttt{register} package},
- subtitle = {Typeset programmable elements in digital hardware (registers)},
- author = {Matthew Lovell},
- date = {2020-03-22},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/register},
- url = {https://ctan.org/pkg/register},
-}
-
-@manual{ctan-regstats,
- title = {The \texttt{regstats} package},
- subtitle = {Information about register use},
- author = {Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.0h},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/regstats},
- url = {https://ctan.org/pkg/regstats},
-}
-
-@manual{ctan-reledmac,
- title = {The \texttt{reledmac} package},
- subtitle = {Typeset scholarly editions},
- author = {Maïeul Rouquette},
- date = {2022-02-04},
- version = {2.39.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/reledmac},
- url = {https://ctan.org/pkg/reledmac},
-}
-
-@manual{ctan-reledpar,
- title = {The \texttt{reledpar} package},
- subtitle = {Typeset scholarly editions in parallel texts},
- author = {Maïeul Rouquette},
- date = {2022-04-22},
- version = {2.25.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/reledmac},
- url = {https://ctan.org/pkg/reledpar},
-}
-
-@manual{ctan-relenc,
- title = {The \texttt{relenc} package},
- subtitle = {A "relaxed" font encoding},
- author = {Lars Hellström},
- date = {2016-06-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/relenc},
- url = {https://ctan.org/pkg/relenc},
-}
-
-@manual{ctan-relsize,
- title = {The \texttt{relsize} package},
- subtitle = {Set the font size relative to the current font size},
- author = {Matt Swift and Donald Arseneau},
- date = {2016-06-24},
- version = {4.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/relsize},
- url = {https://ctan.org/pkg/relsize},
- annotation = {The basic command of the package is , whose
- argument is a number of s to change size; from
- this are defined commands , ,
- , etc.},
-}
-
-@manual{ctan-removefr,
- title = {The \texttt{removefr} package},
- subtitle = {Remove from counter-reset lists},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fragments/removefr.tex},
- url = {https://ctan.org/pkg/removefr},
-}
-
-@manual{ctan-remreset,
- title = {The \texttt{remreset} package},
- subtitle = {Remove counters from reset list},
- author = {David Carlisle},
- date = {2022-03-14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carlisle/remreset.sty},
- url = {https://ctan.org/pkg/remreset},
-}
-
-@manual{ctan-renditions,
- title = {The \texttt{renditions} package},
- subtitle = {Multiple versions from the same content},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/renditions},
- url = {https://ctan.org/pkg/renditions},
- annotation = {The package sets up ‘comment’ environments, called
- ; each rendition is thought of as a version of
- the basic content of the document that includes it.},
-}
-
-@manual{ctan-reotex,
- title = {The \texttt{reotex} package},
- subtitle = {Draw Reo Channels and Circuits},
- author = {Nuno Oliveira},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/reotex},
- url = {https://ctan.org/pkg/reotex},
- annotation = {The package defines macros and other utilities to design Reo
- Circuits. The package requires
- support.},
-}
-
-@manual{ctan-repeat,
- title = {The \texttt{repeat} package},
- subtitle = {Repeat execution of macros},
- author = {Victor Eijkhout},
- date = {2016-06-24},
- version = {0.93a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/eijkhout/repeat.tex},
- url = {https://ctan.org/pkg/repeat},
-}
-
-@manual{ctan-repeatindex,
- title = {The \texttt{repeatindex} package},
- subtitle = {Repeat items in an index after a page or column break},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/repeatindex},
- url = {https://ctan.org/pkg/repeatindex},
-}
-
-@manual{ctan-repere,
- title = {The \texttt{repere} package},
- subtitle = {MetaPost macros for secondary school mathematics teachers},
- author = {Olivier Péault},
- date = {2023-02-09},
- version = {23.02},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/repere},
- url = {https://ctan.org/pkg/repere},
-}
-
-@manual{ctan-repltext,
- title = {The \texttt{repltext} package},
- subtitle = {Control how text gets copied from a PDF file},
- author = {Scott Pakin},
- date = {2020-09-25},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/repltext},
- url = {https://ctan.org/pkg/repltext},
-}
-
-@manual{ctan-report,
- title = {The \texttt{report} package},
- subtitle = {Typeset a multi-chapter report},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.4n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/report},
- annotation = {The class provides typesetting rather similar to that of the
- , omitting some features relevant only
- when professional book-publishing is to be used.},
-}
-
-@manual{ctan-required,
- title = {The \texttt{required} package},
- subtitle = {Packages "required" of a \LaTeX{} distribution},
- author = {{The \LaTeX{} Project Team} and Sebastian Rahtz and Walter A. Schmidt and Vladimir Volovich},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/required},
- url = {https://ctan.org/pkg/required},
-}
-
-@manual{ctan-rerunfilecheck,
- title = {The \texttt{rerunfilecheck} package},
- subtitle = {Checksum based rerun checks on auxiliary files},
- author = {Heiko Oberdiek},
- date = {2022-07-10},
- version = {1.10},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rerunfilecheck},
- url = {https://ctan.org/pkg/rerunfilecheck},
-}
-
-@manual{ctan-res,
- title = {The \texttt{res} package},
- subtitle = {A resumé class},
- author = {Venkat Krishnamurthy and Michael DeCorte},
- date = {2018-01-06},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/resume/res.cls},
- url = {https://ctan.org/pkg/res},
-}
-
-@manual{ctan-rescansync,
- title = {The \texttt{rescansync} package},
- subtitle = {Re-scan tokens with synctex information},
- author = {{user202729}},
- date = {2022-07-15},
- version = {0.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rescansync},
- url = {https://ctan.org/pkg/rescansync},
-}
-
-@manual{ctan-resizegather,
- title = {The \texttt{resizegather} package},
- subtitle = {Automatically resize overly large equations},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/resizegather.dtx},
- url = {https://ctan.org/pkg/resizegather},
-}
-
-@manual{ctan-resmes,
- title = {The \texttt{resmes} package},
- subtitle = {Measure restriction symbol in \LaTeX{}},
- author = {Paolo De Donato},
- date = {2022-12-29},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/resmes},
- url = {https://ctan.org/pkg/resmes},
- annotation = {This package provides a simple macro
- that prints the measure restriction symbol.},
-}
-
-@manual{ctan-resolsysteme,
- title = {The \texttt{ResolSysteme} package},
- subtitle = {Work on linear systems using xint or pyluatex},
- author = {Cédric Pierquet},
- date = {2023-02-26},
- version = {0.1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/resolsysteme},
- url = {https://ctan.org/pkg/resolsysteme},
- annotation = {This package provides some commands (in French) to
- perform calculations on small (2x2 or 3x3 or 4x4)
- linear systems, with
- or :},
-}
-
-@manual{ctan-resphilosophica,
- title = {The \texttt{resphilosophica} package},
- subtitle = {Typeset articles for the journal Res Philosophica},
- author = {Boris Veytsman},
- date = {2019-04-25},
- version = {1.35},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/resphilosophica},
- url = {https://ctan.org/pkg/resphilosophica},
-}
-
-@manual{ctan-rest-api,
- title = {The \texttt{rest-api} package},
- subtitle = {Describing a rest api},
- author = {Dennis Klein},
- date = {2020-12-04},
- version = {1.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rest-api},
- url = {https://ctan.org/pkg/rest-api},
-}
-
-@manual{ctan-resumecls,
- title = {The \texttt{resumecls} package},
- subtitle = {Typeset a resume both in English and Chinese},
- author = {Xuan Hu},
- date = {2020-04-20},
- version = {0.4.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/resumecls},
- url = {https://ctan.org/pkg/resumecls},
-}
-
-@manual{ctan-resumemac,
- title = {The \texttt{resumemac} package},
- subtitle = {Plain \TeX{} macros for resumés},
- author = {Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/resumemac},
- url = {https://ctan.org/pkg/resumemac},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/chessboard},
+ url = {https://ctan.org/pkg/chessboard},
}
-@manual{ctan-returntogrid,
- title = {The \texttt{returntogrid} package},
- subtitle = {Semi-automatic grid typesetting},
+@manual{ctan-xskak,
+ title = {The \texttt{xskak} package},
+ subtitle = {An extension to the skak package for chess typesetting},
author = {Ulrike Fischer},
date = {2023-03-09},
- version = {0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/returntogrid},
- url = {https://ctan.org/pkg/returntogrid},
- annotation = {offers a few commands to get something
- like an simple, semi-automatic grid typesetting. It does more or
- less what the existing  
- package does. The main differences to  are that
-  works also with Lua\LaTeX{} and that it has
- also a command to do some horizontal movements to get to “tab”
- positions.},
-}
-
-@manual{ctan-reverxii,
- title = {The \texttt{reverxii} package},
- subtitle = {Playing Reversi in \TeX{}},
- author = {Bruno Le Floch},
- date = {2022-06-28},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/reverxii},
- url = {https://ctan.org/pkg/reverxii},
- annotation = {Following the lead of , this
- little (938 characters) program that plays Reversi. (The program
- incorporates some primitive AI.)},
-}
-
-@manual{ctan-revnum,
- title = {The \texttt{revnum} package},
- subtitle = {Reverse enumerate},
- author = {Jörn Wilms},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/revnum},
- url = {https://ctan.org/pkg/revnum},
- annotation = {Provides a reverse-enumerate environment () in
- which items are numbered in reverse order.},
-}
-
-@manual{ctan-revquantum,
- title = {The \texttt{revquantum} package},
- subtitle = {Hacks to make writing quantum papers for revtex4-1 less painful},
- author = {Christopher Granade},
- date = {2018-01-06},
- version = {0.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/revquantum},
- url = {https://ctan.org/pkg/revquantum},
- annotation = {This package provides a number of useful hacks
- to solve common annoyances with the
- package,
- and to define notation in common use within quantum information.
- In doing so, it imports and configures a number of
- commonly-available and used packages, and where reasonable,
- provides fallbacks.
- It also warns when users try to load packages which
- are known to be incompatible with
- .},
-}
-
-@manual{ctan-revtex,
- title = {The \texttt{revtex} package},
- subtitle = {Styles for various Physics Journals},
- author = {Arthur Ogawa and Mark Doyle and Phelype Oleinik and Frank Mittelbach},
- date = {2020-10-06},
- version = {4.2e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/revtex},
- url = {https://ctan.org/pkg/revtex},
-}
-
-@manual{ctan-revtex4-0,
- title = {The \texttt{revtex4-0} package},
- subtitle = {Styles for various Physics Journals (old version)},
- author = {Arthur Ogawa and Mark Doyle and Phelype Oleinik and Frank Mittelbach},
- date = {2020-10-02},
- version = {4.0a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/revtex4-0},
- url = {https://ctan.org/pkg/revtex4-0},
- annotation = {This is an old version of ,
- and is kept as a courtesy to users having difficulty with the
- incompatibility of that latest version.},
-}
-
-@manual{ctan-revtex4-1,
- title = {The \texttt{revtex4-1} package},
- subtitle = {Styles for various Physics Journals},
- author = {Arthur Ogawa and Mark Doyle and Phelype Oleinik and Frank Mittelbach},
- date = {2020-10-16},
- version = {4.1s},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/revtex4-1},
- url = {https://ctan.org/pkg/revtex4-1},
- annotation = {This is an old version of ,
- and is kept as a courtesy to users having difficulty with the
- incompatibility of that latest version.},
-}
-
-@manual{ctan-rfc2bib,
- title = {The \texttt{rfc2bib} package},
- subtitle = {Generate BibTeX entries for IETF RFCs},
- author = {Richard Mortier},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/biblio/bibtex/utils/misc/rfc2bib.awk},
- url = {https://ctan.org/pkg/rfc2bib},
-}
-
-@manual{ctan-rfil,
- title = {The \texttt{rfil} package},
- subtitle = {Ruby font installer library},
- author = {Patrick Gundlach},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/rfil},
- url = {https://ctan.org/pkg/rfil},
-}
-
-@manual{ctan-rgb,
- title = {The \texttt{RGB} package},
- subtitle = {Tables of RGB colour parameters},
- author = {Maurizio Loreti},
- date = {2019-07-06},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/colour/rgb},
- url = {https://ctan.org/pkg/rgb},
- annotation = {The Linux (distributed as part of X11
- distributions) is mechanically converted to a \LaTeX{} file, which
- has been compiled to make the distribution. For details of the
- procedure, and sources, see the package’s home page.},
-}
-
-@manual{ctan-rgltxdoc,
- title = {The \texttt{rgltxdoc} package},
- subtitle = {Common code for documentation of the author’s packages},
- author = {Richard Grewe},
- date = {2020-02-19},
- version = {1.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rgltxdoc},
- url = {https://ctan.org/pkg/rgltxdoc},
-}
-
-@manual{ctan-ribbonproofs,
- title = {The \texttt{ribbonproofs} package},
- subtitle = {Drawing ribbon proofs},
- author = {John Wickerson},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ribbonproofs},
- url = {https://ctan.org/pkg/ribbonproofs},
-}
-
-@manual{ctan-richtext,
- title = {The \texttt{richtext} package},
- subtitle = {Create rich text strings},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/richtext},
- url = {https://ctan.org/pkg/richtext},
- annotation = {The richtext package is used to create rich text strings that can, in turn,
- be inserted into the RV (and V) keys of text field.
- Currently, only the eforms package supports the RV key.},
-}
-
-@manual{ctan-rjlparshap,
- title = {The \texttt{rjlparshap} package},
- subtitle = {Support for use of \textbackslash{}parshape in \LaTeX{}},
- author = {Robert J Lee},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rjlparshap},
- url = {https://ctan.org/pkg/rjlparshap},
- annotation = {The package provides macros and environments that relieve the
- programmer of some of the difficulties of using
- in \LaTeX{} macros. It does actually calculate shapes
- in the way that the package
- does.},
-}
-
-@manual{ctan-rlepsf,
- title = {The \texttt{rlepsf} package},
- subtitle = {Rewrite labels in EPS graphics},
- author = {Colin Rourke},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/rlepsf},
- url = {https://ctan.org/pkg/rlepsf},
-}
-
-@manual{ctan-rmannot,
- title = {The \texttt{rmannot} package},
- subtitle = {Create rich media annotations in a PDF file},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rmannot},
- url = {https://ctan.org/pkg/rmannot},
-}
-
-@manual{ctan-rmathbr,
- title = {The \texttt{rmathbr} package},
- subtitle = {Repeating of math operator at the broken line and the new line in inline equations},
- author = {Denis Ryabov},
- date = {2020-12-18},
- version = {1.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rmathbr},
- url = {https://ctan.org/pkg/rmathbr},
-}
-
-@manual{ctan-rmligs,
- title = {The \texttt{rmligs} package},
- subtitle = {Remove incorrect ligatures in German documents},
- author = {Björn Jacke},
- date = {2016-06-24},
- version = {0.84},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/rmligs},
- url = {https://ctan.org/pkg/rmligs},
-}
-
-@manual{ctan-rmpage,
- title = {The \texttt{rmpage} package},
- subtitle = {A package to help change page layout parameters in \LaTeX{}},
- author = {Rowland McDonnell},
- date = {2019-06-09},
- version = {0.92},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rmpage},
- url = {https://ctan.org/pkg/rmpage},
- annotation = {The package lets you change page layout parameters in small steps
- over a range of values using options. It can set
- appropriately for the main fount, and ensure
- that the text fits inside the printable area of a printer. An
- rmpage-formatted document can be typeset identically without
- rmpage after a single cut and paste operation. Local
- configuration can set defaults: for all documents; and by class,
- by printer, and by paper size. The
- package is better if you
- want to set page layout parameters to particular measurements.},
-}
-
-@manual{ctan-rmthm,
- title = {The \texttt{rmthm} package},
- subtitle = {Use a roman font for theorem statements},
- author = {Nico Verwer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/rmthm.sty},
- url = {https://ctan.org/pkg/rmthm},
-}
-
-@manual{ctan-rnototex,
- title = {The \texttt{rnototex} package},
- subtitle = {Convert from Runoff to \LaTeX{}},
- author = {Peter Vanroose},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/rnototex},
- url = {https://ctan.org/pkg/rnototex},
-}
-
-@manual{ctan-robot-man,
- title = {The \texttt{Robot Man} package},
- subtitle = {A fun demo of AcroTeX eDucation Bundle facilities},
- author = {Donald P. Story},
- date = {2017-04-18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/aeb_pro/robot_man},
- url = {https://ctan.org/pkg/robot-man},
- annotation = {Robot man is distributed as part of the
- bundle (just for fun); the
- source is attached to the PDF file.},
-}
-
-@manual{ctan-robotarm,
- title = {The \texttt{robotarm} package},
- subtitle = {TikZ powered \LaTeX{} package to draw parameterized 2D robot arms},
- author = {Max J.W. Snippe},
- date = {2022-04-08},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/robotarm},
- url = {https://ctan.org/pkg/robotarm},
- annotation = {This \LaTeX{} package uses
- to draw parameterized 2D robot arms, for example to be
- used in educational material.},
-}
-
-@manual{ctan-roboto,
- title = {The \texttt{roboto} package},
- subtitle = {Support for the Roboto family of fonts},
- author = {Bob Tennent},
- date = {2022-09-11},
- version = {},
- license = {apache2,ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/roboto},
- url = {https://ctan.org/pkg/roboto},
-}
-
-@manual{ctan-robustcommand,
- title = {The \texttt{robustcommand} package},
- subtitle = {Declare robust command, with \textbackslash{}newcommand checks},
- author = {Paul Ebermann},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/robustcommand},
- url = {https://ctan.org/pkg/robustcommand},
- annotation = {The package merely provides a variation of ,
- which checks for the existence of a command before declaring it robust.},
-}
-
-@manual{ctan-robustindex,
- title = {The \texttt{robustindex} package},
- subtitle = {Create index with pagerefs},
- author = {Wilberd van der Kallen},
- date = {2019-01-30},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/robustindex},
- url = {https://ctan.org/pkg/robustindex},
-}
-
-@manual{ctan-rojud,
- title = {The \texttt{rojud} package},
- subtitle = {A font with the images of the counties of Romania},
- author = {Vlad Bazon},
- date = {2020-11-25},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/rojud},
- url = {https://ctan.org/pkg/rojud},
-}
-
-@manual{ctan-romanbar,
- title = {The \texttt{romanbar} package},
- subtitle = {Write roman number with "bars"},
- author = {Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.0f},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/romanbar},
- url = {https://ctan.org/pkg/romanbar},
-}
-
-@manual{ctan-romanbarpagenumber,
- title = {The \texttt{romanbarpagenumber} package},
- subtitle = {Typesetting roman page numbers},
- author = {Robin Schneider},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/romanbarpagenumber},
- url = {https://ctan.org/pkg/romanbarpagenumber},
- annotation = {The package allows to typeset roman numbers with bars.
- This package allows you to use those roman numbers as page number.},
-}
-
-@manual{ctan-romandeadf,
- title = {The \texttt{romandeadf} package},
- subtitle = {Romande ADF fonts and \LaTeX{} support},
- author = {Clea F. Rees},
- date = {2017-04-18},
- version = {1.008-v7-sc},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/romandeadf},
- url = {https://ctan.org/pkg/romandeadf},
-}
-
-@manual{ctan-romaniantex,
- title = {The \texttt{romaniantex} package},
- subtitle = {\LaTeX{} support for Romanian},
- author = {Adrian Rezus},
- date = {2016-06-24},
- version = {1.3R},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/romanian/RomanianTeX},
- url = {https://ctan.org/pkg/romaniantex},
- annotation = {A \LaTeX{}2e package for typesetting Romanian in a plain \TeX{} environment.
- For \LaTeX{} use, the package has been superseded by the Romanian
- option of .},
-}
-
-@manual{ctan-romanneg,
- title = {The \texttt{romanneg} package},
- subtitle = {Roman page numbers negative},
- author = {Mario Wolczko},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/romanneg},
- url = {https://ctan.org/pkg/romanneg},
- annotation = {Causes the page numbers in the DVI file (as
- defined by ) to be negative when roman
- pagenumbering is in effect.},
-}
-
-@manual{ctan-romannum,
- title = {The \texttt{romannum} package},
- subtitle = {Generate roman numerals instead of arabic digits},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.0b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/romannum},
- url = {https://ctan.org/pkg/romannum},
- annotation = {The romannum package changes \LaTeX{} generated numbers to be
- printed with roman numerals instead of arabic digits. It
- requires the package.
- Users of the fonts may
- find this package useful.},
-}
-
-@manual{ctan-rosario,
- title = {The \texttt{rosario} package},
- subtitle = {Using the free Rosario fonts with \LaTeX{}},
- author = {Arash Esbati},
- date = {2019-07-20},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/rosario},
- url = {https://ctan.org/pkg/rosario},
-}
-
-@manual{ctan-rotate-textures,
- title = {The \texttt{rotate-textures} package},
- subtitle = {Box rotation macros for Textures},
- author = {Charles Karney},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/rotate-textures.sty},
- url = {https://ctan.org/pkg/rotate-textures},
-}
-
-@manual{ctan-rotate,
- title = {The \texttt{rotate} package},
- subtitle = {Rotate \TeX{} boxes},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/rotate.tex},
- url = {https://ctan.org/pkg/rotate},
-}
-
-@manual{ctan-rotating,
- title = {The \texttt{rotating} package},
- subtitle = {Rotation tools, including rotated full-page floats},
- author = {Robin Fairbairns and Sebastian Rahtz and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.16d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/rotating},
-}
-
-@manual{ctan-rotchiffre,
- title = {The \texttt{rotchiffre} package},
- subtitle = {Perform simple rotation cyphers},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/rotchiffre.dtx},
- url = {https://ctan.org/pkg/rotchiffre},
-}
-
-@manual{ctan-rotfloat,
- title = {The \texttt{rotfloat} package},
- subtitle = {Rotate floats},
- author = {Axel Sommerfeldt},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rotfloat},
- url = {https://ctan.org/pkg/rotfloat},
- annotation = {The package provides commands
- to define new floats of various styles (plain, boxed, ruled, and
- userdefined ones); the
- package provides new environments (sidewaysfigure and
- sidewaystable) which are rotated by 90 or 270 degrees. But what
- about new rotated floats, e.g. a rotated ruled one? This
- package makes this possible; it builds a bridge between the two
- packages and extends the commands from the float package to
- define rotated versions of the new floats, too.},
-}
-
-@manual{ctan-rotpages,
- title = {The \texttt{rotpages} package},
- subtitle = {Typeset sets of pages upside-down and backwards},
- author = {Sergio Callegari},
- date = {2016-06-24},
- version = {3.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rotpages},
- url = {https://ctan.org/pkg/rotpages},
-}
-
-@manual{ctan-rotunda,
- title = {The \texttt{rotunda} package},
- subtitle = {Rotunda manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/rotunda},
- url = {https://ctan.org/pkg/rotunda},
-}
-
-@manual{ctan-roundbox,
- title = {The \texttt{roundbox} package},
- subtitle = {Round boxes in \LaTeX{}},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/roundbox},
- url = {https://ctan.org/pkg/roundbox},
- annotation = {This package implements a command that can be
- used, in \LaTeX{}, for producing boxes, framed with rounded corners.},
-}
-
-@manual{ctan-roundrect,
- title = {The \texttt{roundrect} package},
- subtitle = {MetaPost macros for highly configurable rounded rectangles (optionally with text)},
- author = {Donald P. Goodman},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/roundrect},
- url = {https://ctan.org/pkg/roundrect},
-}
-
-@manual{ctan-rpg-module,
- title = {The \texttt{rpg-module} package},
- subtitle = {Typesetting old-school Dungeons and Dragons modules},
- author = {Michael C. Davis},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rpg-module},
- url = {https://ctan.org/pkg/rpg-module},
-}
-
-@manual{ctan-rplain,
- title = {The \texttt{rplain} package},
- subtitle = {Redefines the plain pagestyle},
- author = {Axel Sommerfeldt},
- date = {2019-06-21},
- version = {1.0b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/rplain},
- url = {https://ctan.org/pkg/rplain},
- annotation = {The package redefines the \LaTeX{} pagestyle so the page
- numbers appear on the lower corners. The package was superseded
- by the package and is no
- longer supported.},
-}
-
-@manual{ctan-rputover,
- title = {The \texttt{rputover} package},
- subtitle = {Place text over PSTricks objects without obscuring background colors},
- author = {Martin J. Osborne},
- date = {2017-07-02},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/graphics/pstricks/contrib/rputover},
- url = {https://ctan.org/pkg/rputover},
-}
-
-@manual{ctan-rrgtrees,
- title = {The \texttt{RRGtrees} package},
- subtitle = {Linguistic tree diagrams for Role and Reference Grammar (RRG) with \LaTeX{}},
- author = {David Gardner},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rrgtrees},
- url = {https://ctan.org/pkg/rrgtrees},
-}
-
-@manual{ctan-rsc,
- title = {The \texttt{rsc} package},
- subtitle = {BibTeX style for use with RSC journals},
- author = {Joseph Wright},
- date = {2016-08-22},
- version = {3.1f},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rsc},
- url = {https://ctan.org/pkg/rsc},
- annotation = {The rsc package provides a BibTeX style in accordance with the
- requirements of the Royal Society of Chemistry. It was originally
- based on the file , but
- also implements a number of styles from the
- package. The package is now
- a stub for the
- package, which the author
- developed to unify the writing of articles with a chemistry content.},
-}
-
-@manual{ctan-rsfs,
- title = {The \texttt{rsfs} package},
- subtitle = {Ralph Smith's Formal Script font},
- author = {Ralph Smith and Taco Hoekwater},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/rsfs},
- url = {https://ctan.org/pkg/rsfs},
-}
-
-@manual{ctan-rsfso,
- title = {The \texttt{rsfso} package},
- subtitle = {A mathematical calligraphic font based on rsfs},
- author = {Michael Sharpe},
- date = {2021-10-22},
- version = {1.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/rsfso},
- url = {https://ctan.org/pkg/rsfso},
- annotation = {The package provides virtual fonts and \LaTeX{} support files for
- mathematical calligraphic fonts based on the
- (which must also
- be present for successful installation, with the slant
- substantially reduced. The output is quite similar to that from
- the Adobe Mathematical Pi script font.},
-}
-
-@manual{ctan-rst,
- title = {The \texttt{RST} package},
- subtitle = {Drawing rhetorical structure analysis diagrams in \LaTeX{}},
- author = {David Reitter},
- date = {2017-04-18},
- version = {1.3},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rst},
- url = {https://ctan.org/pkg/rst},
-}
-
-@manual{ctan-rterface,
- title = {The \texttt{rterface} package},
- subtitle = {Access to R analysis from within a document},
- author = {Thomas Bogue},
- date = {2018-04-22},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rterface},
- url = {https://ctan.org/pkg/rterface},
-}
-
-@manual{ctan-rtf2latex2e,
- title = {The \texttt{rtf2latex2e} package},
- subtitle = {Convert Rich Text Format (RTF) files to \LaTeX{}2e},
- author = {Ujwal Sathyam and Scott A. Prahl},
- date = {2016-06-24},
- version = {2.0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/rtf2latex2e},
- url = {https://ctan.org/pkg/rtf2latex2e},
- annotation = {The package converts Rich Text Format (RTF) files to \LaTeX{}2e,
- saving any image files it finds. Visual formatting, such as ruler
- positions, tabs, paragraph indentations, etc., is ignored. Users
- should expect the \LaTeX{} output to need some manual editing; the
- result is a reproduction of what you see on the
- WYSIWYG screen.},
-}
-
-@manual{ctan-rtf2tex,
- title = {The \texttt{rtf2tex} package},
- subtitle = {Convert RTF to \TeX{}},
- author = {Robert Lupton},
- date = {2016-06-24},
- version = {1.02},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/rtf2tex},
- url = {https://ctan.org/pkg/rtf2tex},
-}
-
-@manual{ctan-rtkinenc,
- title = {The \texttt{rtkinenc} package},
- subtitle = {Input encoding with fallback procedures},
- author = {Lars Hellström},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rtkinenc},
- url = {https://ctan.org/pkg/rtkinenc},
-}
-
-@manual{ctan-rtklage,
- title = {The \texttt{rtklage} package},
- subtitle = {Make suit details for German courts},
- author = {Friedrich Vosberg},
- date = {2016-06-24},
- version = {0.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rtklage},
- url = {https://ctan.org/pkg/rtklage},
- annotation = {Provides support for lawsuits in German courts, based on
- classes.},
-}
-
-@manual{ctan-rtsched,
- title = {The \texttt{rtsched} package},
- subtitle = {Draw Real-Time scheduling (GANTT) charts},
- author = {Giuseppe Lipari},
- date = {2018-09-15},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rtsched},
- url = {https://ctan.org/pkg/rtsched},
-}
-
-@manual{ctan-rubik,
- title = {The \texttt{rubik} package},
- subtitle = {Document Rubik cube configurations and rotation sequences},
- author = {Dick Nickalls and Apostolos Syropoulos},
- date = {2018-03-02},
- version = {5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rubik},
- url = {https://ctan.org/pkg/rubik},
-}
-
-@manual{ctan-rubikcube,
- title = {The \texttt{rubikcube} package},
- subtitle = {Typeset Rubik cubes and move notation},
- author = {Dick Nickalls and Apostolos Syropoulos},
- date = {2018-02-28},
- version = {5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rubik},
- url = {https://ctan.org/pkg/rubikcube},
-}
-
-@manual{ctan-rubikrotation,
- title = {The \texttt{rubikrotation} package},
- subtitle = {Processes a sequence of Rubik rotations},
- author = {Dick Nickalls and Apostolos Syropoulos},
- date = {2018-02-28},
- version = {5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rubik},
- url = {https://ctan.org/pkg/rubikrotation},
- annotation = {The package is part of the
- bundle, serving as an extension of the
- package, providing the
- command to process a sequence of
- Rubik rotation moves on-the-fly (using the external Perl script
- ), and to return the new Rubik cube state.},
-}
-
-@manual{ctan-rubiktwocube,
- title = {The \texttt{rubiktwocube} package},
- subtitle = {Typeset Rubik TwoCubes and move notation},
- author = {Dick Nickalls and Apostolos Syropoulos},
- date = {2018-02-28},
- version = {5.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rubik},
- url = {https://ctan.org/pkg/rubiktwocube},
-}
-
-@manual{ctan-ruhyphen,
- title = {The \texttt{ruhyphen} package},
- subtitle = {Russian hyphenation},
- author = {Vladimir Volovich},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/ruhyphen},
- url = {https://ctan.org/pkg/ruhyphen},
-}
-
-@manual{ctan-rule-d,
- title = {The \texttt{rule-d} package},
- subtitle = {Provide \LaTeX{}3 commands for typesetting rules},
- author = {Markus Kohm},
- date = {2021-06-18},
- version = {23},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/gs1},
- url = {https://ctan.org/pkg/rule-d},
-}
-
-@manual{ctan-ruled-tables,
- title = {The \texttt{ruled-tables} package},
- subtitle = {Plain \TeX{} table macros, with ruled capability},
- author = {Eric Myers},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/ruled-tables},
- url = {https://ctan.org/pkg/ruled-tables},
-}
-
-@manual{ctan-ruler,
- title = {The \texttt{ruler} package},
- subtitle = {A typographic ruler for \TeX{}},
- author = {Victor Eijkhout},
- date = {2020-04-11},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/misc/ruler.tex},
- url = {https://ctan.org/pkg/ruler},
-}
-
-@manual{ctan-rulerbox,
- title = {The \texttt{rulerbox} package},
- subtitle = {Draw rulers around a box},
- author = {Yuchang Yang},
- date = {2019-05-06},
- version = {1.01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rulerbox},
- url = {https://ctan.org/pkg/rulerbox},
-}
-
-@manual{ctan-rulercompass,
- title = {The \texttt{rulercompass} package},
- subtitle = {A TikZ library for straight-edge and compass diagrams},
- author = {Andrew Stacey},
- date = {2016-06-24},
- version = {1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/rulercompass},
- url = {https://ctan.org/pkg/rulercompass},
-}
-
-@manual{ctan-runcode,
- title = {The \texttt{runcode} package},
- subtitle = {Execute foreign source code and embed the result in the pdf file},
- author = {Haim Bar and HaiYing Wang},
- date = {2023-01-19},
- version = {1.8},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/runcode},
- url = {https://ctan.org/pkg/runcode},
-}
-
-@manual{ctan-rune,
- title = {The \texttt{rune} package},
- subtitle = {Two rune fonts},
- author = {Jo Grant and Jobst-Hartmut Lüddecke},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/rune},
- url = {https://ctan.org/pkg/rune},
-}
-
-@manual{ctan-runic,
- title = {The \texttt{runic} package},
- subtitle = {Fonts for Anglo-Saxon futharc script},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/runic},
- url = {https://ctan.org/pkg/runic},
- annotation = {Fonts and macros for runic writing. The futharks script remained
- in use in England until just after printing was established. This
- is one of a series of fonts.},
-}
-
-@manual{ctan-runtex,
- title = {The \texttt{runtex} package},
- subtitle = {Windows program to run \TeX{} variant and various utils as needed},
- author = {Bernd Becker},
- date = {2016-06-24},
- version = {0.1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/runtex},
- url = {https://ctan.org/pkg/runtex},
-}
-
-@manual{ctan-russ,
- title = {The \texttt{russ} package},
- subtitle = {\LaTeX{} in Russian, without babel},
- author = {Sergey Shashkov},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/russ},
- url = {https://ctan.org/pkg/russ},
-}
-
-@manual{ctan-russian-help,
- title = {The \texttt{russian-help} package},
- subtitle = {\LaTeX{} help in Russian},
- author = {Yuri Lubenets},
- date = {2016-06-18},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/win-help/latex/russian},
- url = {https://ctan.org/pkg/russian-help},
-}
-
-@manual{ctan-rustic,
- title = {The \texttt{rustic} package},
- subtitle = {Roman Rustic manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2016-07-29},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/rustic},
- url = {https://ctan.org/pkg/rustic},
-}
-
-@manual{ctan-rutitlepage,
- title = {The \texttt{rutitlepage} package},
- subtitle = {Radboud University Titlepage Package},
- author = {Mart Lubbers},
- date = {2022-02-22},
- version = {3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rutitlepage},
- url = {https://ctan.org/pkg/rutitlepage},
-}
-
-@manual{ctan-rviewport,
- title = {The \texttt{rviewport} package},
- subtitle = {Relative Viewport for Graphics Inclusion},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rviewport},
- url = {https://ctan.org/pkg/rviewport},
-}
-
-@manual{ctan-rvwrite,
- title = {The \texttt{rvwrite} package},
- subtitle = {Increase the number of available output streams in \LaTeX{}},
- author = {C. V. Radhakrishnan},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/rvwrite},
- url = {https://ctan.org/pkg/rvwrite},
-}
-
-@manual{ctan-ryersonsgsthesis,
- title = {The \texttt{ryersonSGSThesis} package},
- subtitle = {Ryerson School of Graduate Studies thesis template},
- author = {Yasir Shoaib},
- date = {2019-02-26},
- version = {1.0.3},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ryersonsgsthesis},
- url = {https://ctan.org/pkg/ryersonsgsthesis},
-}
-
-@manual{ctan-ryethesis,
- title = {The \texttt{ryethesis} package},
- subtitle = {Class for Ryerson Unversity Graduate School requirements},
- author = {Jason V. Lassaline},
- date = {2019-02-24},
- version = {1.36},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ryethesis},
- url = {https://ctan.org/pkg/ryethesis},
-}
-
-@manual{ctan-s2latex,
- title = {The \texttt{s2latex} package},
- subtitle = {A scribe to \LaTeX{} converter},
- author = {Van Jacobson and Mark James},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/s2latex},
- url = {https://ctan.org/pkg/s2latex},
-}
-
-@manual{ctan-sa-tikz,
- title = {The \texttt{sa-tikz} package},
- subtitle = {TikZ library to draw switching architectures},
- author = {Claudio Fiandrino},
- date = {2018-01-06},
- version = {0.7a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/sa-tikz},
- url = {https://ctan.org/pkg/sa-tikz},
-}
-
-@manual{ctan-sacsymb,
- title = {The \texttt{sacsymb} package},
- subtitle = {“Sacred Symbols” prepared with TikZ},
- author = {Hari Nyaupane},
- date = {2023-02-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/sacsymb},
- url = {https://ctan.org/pkg/sacsymb},
-}
-
-@manual{ctan-sae,
- title = {The \texttt{sae} package},
- subtitle = {Typeset an SAE technical paper},
- author = {Axel Franke},
- date = {2018-01-06},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sae},
- url = {https://ctan.org/pkg/sae},
-}
-
-@manual{ctan-saferef,
- title = {The \texttt{saferef} package},
- subtitle = {Safer references through strong typing of references},
- author = {James Ashton},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/saferef},
- url = {https://ctan.org/pkg/saferef},
-}
-
-@manual{ctan-sageep,
- title = {The \texttt{sageep} package},
- subtitle = {Format papers for the annual meeting of EEGS},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sageep},
- url = {https://ctan.org/pkg/sageep},
-}
-
-@manual{ctan-sagetex,
- title = {The \texttt{SageTeX} package},
- subtitle = {Embed Sage code and plots into \LaTeX{}},
- author = {Dima Pasechnik and Dan Drake},
- date = {2023-01-11},
- version = {3.6.1},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sagetex},
- url = {https://ctan.org/pkg/sagetex},
- annotation = {SageTeX allows you to embed code, the results of computations, plots,
- and graphics from the
-
- into \LaTeX{} documents. It is similar in spirit to Literate Haskell
- and lhs2TeX.},
-}
-
-@manual{ctan-sam2p,
- title = {The \texttt{sam2p} package},
- subtitle = {Convert bitmap formats to compact PS/PDF},
- author = {Péter Szabó},
- date = {2021-09-15},
- version = {0.49.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/sam2p},
- url = {https://ctan.org/pkg/sam2p},
-}
-
-@manual{ctan-samples,
- title = {The \texttt{samples} package},
- subtitle = {Samples of Plain \TeX{} coding},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/samples},
- url = {https://ctan.org/pkg/samples},
-}
-
-@manual{ctan-sanhyph,
- title = {The \texttt{sanhyph} package},
- subtitle = {Sanskrit hyphenation patterns},
- author = {Yves Codet},
- date = {2020-06-07},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/hyphenation/sanhyph},
- url = {https://ctan.org/pkg/sanhyph},
-}
-
-@manual{ctan-sanitize-umlaut,
- title = {The \texttt{sanitize-umlaut} package},
- subtitle = {Sanitize umlauts for MakeIndex and pdfLaTeX},
- author = {Thomas F. Sturm},
- date = {2022-06-30},
- version = {1.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sanitize-umlaut},
- url = {https://ctan.org/pkg/sanitize-umlaut},
-}
-
-@manual{ctan-sankey,
- title = {The \texttt{sankey} package},
- subtitle = {Draw Sankey diagrams with TikZ},
- author = {Paul Gaborit},
- date = {2022-02-04},
- version = {3.0.1},
- license = {lppl1.3,gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/sankey},
- url = {https://ctan.org/pkg/sankey},
-}
-
-@manual{ctan-sans,
- title = {The \texttt{sans} package},
- subtitle = {Exchange Roman and Sans faces in a document},
- author = {Jörg Knappen},
- date = {2018-01-06},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/sans.sty},
- url = {https://ctan.org/pkg/sans},
-}
-
-@manual{ctan-sanskrit-t1,
- title = {The \texttt{sanskrit-t1} package},
- subtitle = {Type 1 version of ‘skt’ fonts for Sanskrit},
- author = {Sergey Korop},
- date = {2020-06-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/sanskrit},
- url = {https://ctan.org/pkg/sanskrit-t1},
- annotation = {The sanskrit-t1 font package provides Type 1 version of Charles
- Wikner’s for the
- Sanskrit language.},
-}
-
-@manual{ctan-sanskrit,
- title = {The \texttt{sanskrit} package},
- subtitle = {Sanskrit support},
- author = {Václav Haisman and Charles Wikner},
- date = {2022-09-24},
- version = {2.2.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/sanskrit},
- url = {https://ctan.org/pkg/sanskrit},
- annotation = {A font and pre-processor suitable for the production of
- documents written in Sanskrit.
- are
- available.},
-}
-
-@manual{ctan-sansmath,
- title = {The \texttt{sansmath} package},
- subtitle = {Maths in a sans font},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {1.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sansmath},
- url = {https://ctan.org/pkg/sansmath},
- annotation = {The package defines a new math version , and a command
- that behaves somewhat like},
-}
-
-@manual{ctan-sansmathaccent,
- title = {The \texttt{sansmathaccent} package},
- subtitle = {Correct placement of accents in sans-serif maths},
- author = {Ariel Barton},
- date = {2020-02-01},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/sansmathaccent},
- url = {https://ctan.org/pkg/sansmathaccent},
-}
-
-@manual{ctan-sansmathfonts,
- title = {The \texttt{sansmathfonts} package},
- subtitle = {Extended Computer Modern sans serif fonts},
- author = {Ariel Barton},
- date = {2022-10-09},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/sansmathfonts},
- url = {https://ctan.org/pkg/sansmathfonts},
-}
-
-@manual{ctan-sapthesis,
- title = {The \texttt{sapthesis} package},
- subtitle = {Typeset theses for Sapienza-University, Rome},
- author = {Francesco Biccari},
- date = {2022-07-04},
- version = {5.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sapthesis},
- url = {https://ctan.org/pkg/sapthesis},
-}
-
-@manual{ctan-sarabian,
- title = {The \texttt{sarabian} package},
- subtitle = {Archaic South Arabian script font},
- author = {Peter R. Wilson and Alan Stanier},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/sarabian},
- url = {https://ctan.org/pkg/sarabian},
-}
-
-@manual{ctan-sasnrdisplay,
- title = {The \texttt{SASnRdisplay} package},
- subtitle = {Typeset SAS or R code or output},
- author = {Lars Madsen},
- date = {2022-05-01},
- version = {0.95},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sasnrdisplay},
- url = {https://ctan.org/pkg/sasnrdisplay},
-}
-
-@manual{ctan-sauerj,
- title = {The \texttt{sauerj} package},
- subtitle = {A bundle of utilities by Jonathan Sauer},
- author = {Jonathan Sauer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauerj},
- url = {https://ctan.org/pkg/sauerj},
-}
-
-@manual{ctan-sauter,
- title = {The \texttt{sauter} package},
- subtitle = {Wide range of design sizes for CM fonts},
- author = {John Sauter and Jeroen Nijhof},
- date = {2016-06-24},
- version = {2.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/cm/sauter},
- url = {https://ctan.org/pkg/sauter},
-}
-
-@manual{ctan-sauterfonts,
- title = {The \texttt{sauterfonts} package},
- subtitle = {Use Sauter's fonts in \LaTeX{}},
- author = {Klaus Georg Barthelmann},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauterfonts},
- url = {https://ctan.org/pkg/sauterfonts},
-}
-
-@manual{ctan-saveenv,
- title = {The \texttt{saveenv} package},
- subtitle = {Save environment content verbatim},
- author = {{user202729}},
- date = {2022-12-23},
- version = {0.0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/saveenv},
- url = {https://ctan.org/pkg/saveenv},
- annotation = {This package provides tools to create your own verbatim environments,
- and works for all values of .},
-}
-
-@manual{ctan-savefnmark,
- title = {The \texttt{savefnmark} package},
- subtitle = {Save name of the footnote mark for reuse},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/savefnmark},
- url = {https://ctan.org/pkg/savefnmark},
-}
-
-@manual{ctan-savesym,
- title = {The \texttt{savesym} package},
- subtitle = {Redefine symbols where names conflict},
- author = {Jürgen Göbel},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/savesym/savesym.sty},
- url = {https://ctan.org/pkg/savesym},
- annotation = {There are a number of symbols (e.g., ) that are
- defined by several packages. In order to typeset all the variants
- in a document, we have to give the glyph a unique name. To do that,
- we define , which renames a symbol from
- to , and
- , which renames
- back to and defines a new command,
- , which corresponds to the most recently loaded
- version of .},
-}
-
-@manual{ctan-savetrees,
- title = {The \texttt{savetrees} package},
- subtitle = {Optimise the use of each page of a \LaTeX{} document},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {2.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/savetrees},
- url = {https://ctan.org/pkg/savetrees},
-}
-
-@manual{ctan-sbtex,
- title = {The \texttt{sbtex} package},
- subtitle = {A compact \TeX{} distribution for MS-DOS},
- author = {Wayne Sullivan},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/msdos/sbtex},
- url = {https://ctan.org/pkg/sbtex},
- annotation = {The distribution includes a small editor (), but no
- auxiliary files.},
-}
-
-@manual{ctan-sc21-wg1,
- title = {The \texttt{sc21-wg1} package},
- subtitle = {Title page for the old ISO TC97/SC21/WG1 working group},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/sc21-wg1.sty},
- url = {https://ctan.org/pkg/sc21-wg1},
-}
-
-@manual{ctan-sc21,
- title = {The \texttt{sc21} package},
- subtitle = {Title page for the old ISO TC97/SC21 committee},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/sc21.sty},
- url = {https://ctan.org/pkg/sc21},
-}
-
-@manual{ctan-scale,
- title = {The \texttt{scale} package},
- subtitle = {Scale document by sqrt(2) or magstep(2)},
- author = {Søren Sandmann},
- date = {2016-06-24},
- version = {1.1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scale},
- url = {https://ctan.org/pkg/scale},
- annotation = {A package to scale a document by sqrt(2) (or by
- ). This is useful if you are preparing a document on,
- for example, A5 paper and want to print on A4 paper to achieve a
- better resolution.},
-}
-
-@manual{ctan-scalebar,
- title = {The \texttt{scalebar} package},
- subtitle = {Create scalebars for maps, diagrams or photos},
- author = {Michael Lake},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scalebar},
- url = {https://ctan.org/pkg/scalebar},
-}
-
-@manual{ctan-scalefnt,
- title = {The \texttt{scalefnt} package},
- subtitle = {Rescale fonts to arbitrary sizes},
- author = {David Carlisle},
- date = {2022-03-14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carlisle/scalefnt.sty},
- url = {https://ctan.org/pkg/scalefnt},
-}
-
-@manual{ctan-scalerel,
- title = {The \texttt{scalerel} package},
- subtitle = {Constrained scaling and stretching of objects},
- author = {Steven B. Segletes},
- date = {2016-12-29},
- version = {1.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scalerel},
- url = {https://ctan.org/pkg/scalerel},
-}
-
-@manual{ctan-scanpages,
- title = {The \texttt{scanpages} package},
- subtitle = {Support importing and embellishing scanned documents},
- author = {Michael Sharpe},
- date = {2016-12-02},
- version = {1.05a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scanpages},
- url = {https://ctan.org/pkg/scanpages},
-}
-
-@manual{ctan-schedule,
- title = {The \texttt{schedule} package},
- subtitle = {Weekly schedules},
- author = {Jason Alexander and Ethan Deneault},
- date = {2019-08-01},
- version = {1.20},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/schedule},
- url = {https://ctan.org/pkg/schedule},
- annotation = {Automatically format weekly schedules using
- \LaTeX{}’s picture environment. It requires
- the packages and
- . Its main feature is the accuracy
- with which appointments are represented: boxes drawn to
- represent a particular appointment are accurate to the
- minute — i.e., a 31-minute appointment will have a box 1/30th
- longer than a 30-minute appointment. A number of features
- are included to allow the user to customize the output.},
-}
-
-@manual{ctan-schedule209,
- title = {The \texttt{schedule209} package},
- subtitle = {Typeset schedules},
- author = {Frank Pfenning},
- date = {2016-09-25},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/schedule.sty},
- url = {https://ctan.org/pkg/schedule209},
- annotation = {The package implements a document style which enables the user to
- construct diagrams showing the planned progress of projects, etc.
- This package seems unrelated to the
- package written for use with \LaTeX{}
- 2e. The two packages provide very similar facilities, but the
- present package’s use of PostScript features (for shading
- schedule entry backgrounds) is entirely ad hoc.},
-}
-
-@manual{ctan-schemabloc,
- title = {The \texttt{schemabloc} package},
- subtitle = {Draw block diagrams, using TikZ},
- author = {Robert Papanicola},
- date = {2021-02-26},
version = {1.5},
license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/schemabloc},
- url = {https://ctan.org/pkg/schemabloc},
-}
-
-@manual{ctan-schemata,
- title = {The \texttt{schemata} package},
- subtitle = {Print topical diagrams},
- author = {Charles P. Schaum},
- date = {2021-02-27},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/schemata},
- url = {https://ctan.org/pkg/schemata},
-}
-
-@manual{ctan-schemetex,
- title = {The \texttt{schemeTeX} package},
- subtitle = {Typesetting Scheme programs with \LaTeX{}},
- author = {John D Ramsdell},
- date = {2018-11-11},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/schemetex},
- url = {https://ctan.org/pkg/schemetex},
-}
-
-@manual{ctan-schemeweb,
- title = {The \texttt{schemeweb} package},
- subtitle = {Simple support for literate programming in Lisp},
- author = {John D Ramsdell},
- date = {2016-06-24},
- version = {2.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/web/schemeweb},
- url = {https://ctan.org/pkg/schemeweb},
-}
-
-@manual{ctan-schola-otf,
- title = {The \texttt{schola-otf} package},
- subtitle = {Using the OpenType fonts \TeX{} Gyre schola},
- author = {Herbert Voß},
- date = {2022-11-02},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/schola-otf},
- url = {https://ctan.org/pkg/schola-otf},
-}
-
-@manual{ctan-scholax,
- title = {The \texttt{ScholaX} package},
- subtitle = {Extension of \TeX{}GyreSchola (New Century Schoolbook) with math support},
- author = {Michael Sharpe},
- date = {2022-02-01},
- version = {1.033},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/scholax},
- url = {https://ctan.org/pkg/scholax},
-}
-
-@manual{ctan-schooldocs,
- title = {The \texttt{schooldocs} package},
- subtitle = {Various layout styles for school documents},
- author = {Antoine Missier},
- date = {2023-01-26},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/schooldocs},
- url = {https://ctan.org/pkg/schooldocs},
-}
-
-@manual{ctan-schule,
- title = {The \texttt{schule} package},
- subtitle = {Support for teachers at German schools},
- author = {Johannes Pieper and Johannes Kuhaupt and André Hilbig},
- date = {2021-08-10},
- version = {0.8.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/schule},
- url = {https://ctan.org/pkg/schule},
- annotation = {The ‘schule’ bundle was built to provide packages and
- commands that could be useful for documents in German
- schools.
- At the moment its main focus lies on documents for
- informatics as a school subject.
- An extension for physics is currently in progress.
- Extensions for other subjects are welcome.
-
- For the time being, the whole package splits up into
- individual packages for informatics (including
- syntax diagrams, Nassi–Shneiderman diagrams,
- sequence diagrams, object diagrams, and class diagrams)
- as well as classes for written exams (tests, quizzes,
- teaching observations, information sheets, worksheets,
- and answer keys).},
-}
-
-@manual{ctan-schulmathematik,
- title = {The \texttt{schulmathematik} package},
- subtitle = {Commands and document classes for German-speaking teachers of mathematics and physics},
- author = {Keno Wehr},
- date = {2022-08-12},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/schulmathematik},
- url = {https://ctan.org/pkg/schulmathematik},
-}
-
-@manual{ctan-schulschriften,
- title = {The \texttt{schulschriften} package},
- subtitle = {German “school scripts” from Suetterlin to the present day},
- author = {Walter Entenmann},
- date = {2021-05-29},
- version = {5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/schulschriften},
- url = {https://ctan.org/pkg/schulschriften},
-}
-
-@manual{ctan-schwalbe-chess,
- title = {The \texttt{schwalbe-chess} package},
- subtitle = {Typeset the German chess magazine “Die Schwalbe”},
- author = {Stefan Hoening},
- date = {2022-06-23},
- version = {2.12},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/schwalbe-chess},
- url = {https://ctan.org/pkg/schwalbe-chess},
- annotation = {The package is based on
- ,
- which in its turn has a dependency on the
- .},
-}
-
-@manual{ctan-schwell,
- title = {The \texttt{schwell} package},
- subtitle = {Calligraphic font for typesetting handwriting in Schwell style},
- author = {Berthold Ludewig},
- date = {2016-07-29},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/gothic/sueterlin},
- url = {https://ctan.org/pkg/schwell},
-}
-
-@manual{ctan-scientific-thesis-cover,
- title = {The \texttt{scientific-thesis-cover} package},
- subtitle = {Provides cover page and affirmation at the end of a thesis},
- author = {Oliver Kopp},
- date = {2018-06-03},
- version = {4.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scientific-thesis-cover},
- url = {https://ctan.org/pkg/scientific-thesis-cover},
-}
-
-@manual{ctan-scientificauthor,
- title = {The \texttt{scientificauthor} package},
- subtitle = {Visual \LaTeX{} editor},
- author = {Danilo Stélio Manhiça},
- date = {2016-06-24},
- version = {1.0},
- license = {shareware},
- mirror = {https://mirror.ctan.org/support/scientificauthor},
- url = {https://ctan.org/pkg/scientificauthor},
-}
-
-@manual{ctan-scientificpaper,
- title = {The \texttt{scientificpaper} package},
- subtitle = {Format a scientific paper for journal publication},
- author = {Ryan Aycock},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scientificpaper},
- url = {https://ctan.org/pkg/scientificpaper},
-}
-
-@manual{ctan-scientificviewer,
- title = {The \texttt{scientificviewer} package},
- subtitle = {MacKichan software viewer},
- author = {George Pearson},
- date = {2016-06-24},
- license = {nosource},
- mirror = {https://mirror.ctan.org/systems/win32/scientificviewer},
- url = {https://ctan.org/pkg/scientificviewer},
-}
-
-@manual{ctan-scikgtex,
- title = {The \texttt{SciKGTeX} package},
- subtitle = {Mark research contributions in scientific documents and embed them in PDF metadata},
- author = {Christof Bless},
- date = {2022-12-15},
- version = {2.1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/scikgtex},
- url = {https://ctan.org/pkg/scikgtex},
-}
-
-@manual{ctan-sciposter,
- title = {The \texttt{sciposter} package},
- subtitle = {Make posters of ISO A3 size and larger},
- author = {Michael Wilkinson},
- date = {2016-06-24},
- version = {1.18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sciposter},
- url = {https://ctan.org/pkg/sciposter},
-}
-
-@manual{ctan-sciwordconv,
- title = {The \texttt{SciWordConv} package},
- subtitle = {Use Scientific Word/WorkPlace files with another \TeX{}},
- author = {Berik I. Tuleuov},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sciwordconv},
- url = {https://ctan.org/pkg/sciwordconv},
-}
-
-@manual{ctan-sclang-prettifier,
- title = {The \texttt{sclang-prettifier} package},
- subtitle = {Prettyprinting SuperCollider source code},
- author = {Julien Cretel},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sclang-prettifier},
- url = {https://ctan.org/pkg/sclang-prettifier},
- annotation = {Built on top of the
- package, the package allows effortless prettyprinting of
- SuperCollider source code in documents typeset with \LaTeX{} \&
- friends.},
-}
-
-@manual{ctan-scmac,
- title = {The \texttt{scmac} package},
- subtitle = {Typeset scripts with Plain \TeX{}},
- author = {Na Choon Piaw},
- date = {2016-06-18},
- version = {2.02},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/scmac202.tex},
- url = {https://ctan.org/pkg/scmac},
-}
-
-@manual{ctan-scontents,
- title = {The \texttt{scontents} package},
- subtitle = {Stores \LaTeX{} contents in memory or files},
- author = {Pablo González Luengo},
- date = {2022-04-04},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scontents},
- url = {https://ctan.org/pkg/scontents},
- annotation = {This package stores valid \LaTeX{} code in memory (sequences) using
- the module of . The stored content
- (including verbatim) can be used as many times as desired in the
- document, additionally can be written to external files if
- desired.},
-}
-
-@manual{ctan-scorecard,
- title = {The \texttt{scorecard} package},
- subtitle = {Format a Baseball scorecard},
- author = {Matthew Wall},
- date = {2016-06-24},
- version = {1.1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/scorecard.tex},
- url = {https://ctan.org/pkg/scorecard},
-}
-
-@manual{ctan-scrabble,
- title = {The \texttt{Scrabble} package},
- subtitle = {Commands for Scrabble boards},
- author = {Cédric Pierquet},
- date = {2023-01-10},
- version = {0.1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/scrabble},
- url = {https://ctan.org/pkg/scrabble},
-}
-
-@manual{ctan-scraddr,
- title = {The \texttt{scraddr} package},
- subtitle = {Provide data from scrlttr2's address files},
- author = {Markus Kohm},
- date = {2022-07-04},
- version = {1.1d},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scraddr},
- annotation = {The package is a part of the
- suite. The package uses adr-files to generate circular letters.
- The package provides commands to read the adr-files and to use the
- data of the address entries, not only with class
- and not only for circular letters.},
-}
-
-@manual{ctan-scrambledenvs,
- title = {The \texttt{scrambledenvs} package},
- subtitle = {Create and print scrambled environments},
- author = {Dennis Chen},
- date = {2021-09-26},
- version = {1.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scrambledenvs},
- url = {https://ctan.org/pkg/scrambledenvs},
-}
-
-@manual{ctan-scrartcl,
- title = {The \texttt{scrartcl} package},
- subtitle = {Koma-Script ‘article’ class},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrartcl},
-}
-
-@manual{ctan-scratch,
- title = {The \texttt{scratch} package},
- subtitle = {Draw programs like “scratch”},
- author = {Christian Tellechea},
- date = {2019-02-19},
- version = {0.41},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/scratch},
- url = {https://ctan.org/pkg/scratch},
-}
-
-@manual{ctan-scratch3,
- title = {The \texttt{scratch3} package},
- subtitle = {Draw programs like “scratch”},
- author = {Christian Tellechea},
- date = {2022-02-06},
- version = {0.19},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scratch3},
- url = {https://ctan.org/pkg/scratch3},
-}
-
-@manual{ctan-scratchx,
- title = {The \texttt{ScratchX} package},
- subtitle = {Include Scratch programs in \LaTeX{} documents},
- author = {Thibault Ralet},
- date = {2017-07-30},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scratchx},
- url = {https://ctan.org/pkg/scratchx},
-}
-
-@manual{ctan-scrbase,
- title = {The \texttt{scrbase} package},
- subtitle = {Provide basic features for KOMA-Script},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrbase},
-}
-
-@manual{ctan-scrbook,
- title = {The \texttt{scrbook} package},
- subtitle = {Koma-Script ‘book’ class},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrbook},
-}
-
-@manual{ctan-scrdate,
- title = {The \texttt{scrdate} package},
- subtitle = {Calendar date operations},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrdate},
-}
-
-@manual{ctan-screen,
- title = {The \texttt{screen} package},
- subtitle = {Prepare a document for a simple previewer},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/screenview/vms/screen.sty},
- url = {https://ctan.org/pkg/screen},
- annotation = {A small package designed to set geometry to prepare a (\LaTeX{} 2.09)
- document for viewing with something like
- .},
-}
-
-@manual{ctan-screenplay-pkg,
- title = {The \texttt{screenplay-pkg} package},
- subtitle = {Package version of the screenplay document class},
- author = {Alan Munn},
- date = {2017-08-06},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/screenplay-pkg},
- url = {https://ctan.org/pkg/screenplay-pkg},
-}
-
-@manual{ctan-screenplay,
- title = {The \texttt{screenplay} package},
- subtitle = {A class file to typeset screenplays},
- author = {John Pate},
- date = {2016-06-24},
- version = {1.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/screenplay},
- url = {https://ctan.org/pkg/screenplay},
-}
-
-@manual{ctan-scrextend,
- title = {The \texttt{scrextend} package},
- subtitle = {Use of components of KOMA-Script by other packages},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrextend},
-}
-
-@manual{ctan-scrindex,
- title = {The \texttt{scrindex} package},
- subtitle = {Make index package work with Koma-script classes},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/scrindex.dtx},
- url = {https://ctan.org/pkg/scrindex},
-}
-
-@manual{ctan-script-font,
- title = {The \texttt{script-font} package},
- subtitle = {Handwriting font},
- author = {Peter Vanroose},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/script},
- url = {https://ctan.org/pkg/script-font},
-}
-
-@manual{ctan-script,
- title = {The \texttt{script} package},
- subtitle = {Variant report and book styles},
- author = {Frank Neukam and Roland Lichti},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/script},
- url = {https://ctan.org/pkg/script},
-}
-
-@manual{ctan-scriptfonts,
- title = {The \texttt{scriptfonts} package},
- subtitle = {A summary of mathematical script fonts for \LaTeX{} users},
- author = {Robin Fairbairns},
- date = {2019-09-27},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/symbols/math},
- url = {https://ctan.org/pkg/scriptfonts},
-}
-
-@manual{ctan-scripttex,
- title = {The \texttt{ScriptTeX} package},
- subtitle = {Macros for scripts and screenplays},
- author = {Adrian McCarthy},
- date = {2016-06-24},
- version = {1.04},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/scripttex},
- url = {https://ctan.org/pkg/scripttex},
-}
-
-@manual{ctan-scripture,
- title = {The \texttt{scripture} package},
- subtitle = {A \LaTeX{} style for typesetting Bible quotations},
- author = {David Purton},
- date = {2023-01-08},
- version = {1.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scripture},
- url = {https://ctan.org/pkg/scripture},
- annotation = {The package provides a set of macros for typesetting quotations
- from the Bible. It provides many features commonly seen in Bibles such as dropped text
- for chapter numbers, superscripts for verse numbers, indented lines for poetry sections,
- narrow sections and hanging paragraphs. A reference for the quotation can optionally be added.},
-}
-
-@manual{ctan-scrjrnl,
- title = {The \texttt{scrjrnl} package},
- subtitle = {Typeset diaries or journals},
- author = {Raphaël Pinson},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scrjrnl},
- url = {https://ctan.org/pkg/scrjrnl},
- annotation = {A class, based on ,
- designed for typesetting diaries, journals or devotionals.},
-}
-
-@manual{ctan-scrjura,
- title = {The \texttt{scrjura} package},
- subtitle = {Koma-Script support for lawyers, etc},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrjura},
-}
-
-@manual{ctan-scrlayer-fancyhdr,
- title = {The \texttt{scrlayer-fancyhdr} package},
- subtitle = {Combining package fancyhdr with KOMA-Script’s scrlayer},
- author = {Markus Kohm},
- date = {2022-07-08},
- version = {0.2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scrlayer-fancyhdr},
- url = {https://ctan.org/pkg/scrlayer-fancyhdr},
-}
-
-@manual{ctan-scrlayer-notecolumn,
- title = {The \texttt{scrlayer-notecolumn} package},
- subtitle = {Control note columns parallel to the main text},
- author = {Markus Kohm},
- date = {2022-07-04},
- version = {0.3.3915},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrlayer-notecolumn},
-}
-
-@manual{ctan-scrlayer-scrpage,
- title = {The \texttt{scrlayer-scrpage} package},
- subtitle = {Define and manage page styles},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrlayer-scrpage},
- annotation = {This package is the part of the
- bundle
- that provides an end user interface to
- ,
- allowing the user to define and manage page styles
- by controlling page headers and footers.
- The end user interface is compatible enough to that of
- the earlier
- package, so that users should easily be able to switch
- from the older package to the newer, more powerful, one.},
-}
-
-@manual{ctan-scrlayer,
- title = {The \texttt{scrlayer} package},
- subtitle = {Manage text ‘layers’ within Koma-Script},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrlayer},
- annotation = {The package is part of the
- , and
- provides control of ‘background’ and ‘foreground’ layers
- for a page style description.},
-}
-
-@manual{ctan-scrletter,
- title = {The \texttt{scrletter} package},
- subtitle = {Letter extention to KOMA-Script classes},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrletter},
-}
-
-@manual{ctan-scrlfile,
- title = {The \texttt{scrlfile} package},
- subtitle = {Installation control for koma-script packages},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrlfile},
-}
-
-@manual{ctan-scrlttr2,
- title = {The \texttt{scrlttr2} package},
- subtitle = {Koma-Script ‘letter’ class},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrlttr2},
-}
-
-@manual{ctan-scrlttr2copy,
- title = {The \texttt{scrlttr2copy} package},
- subtitle = {A letter class option file for the automatic creation of copies},
- author = {Rolf Niepraschk},
- date = {2020-10-22},
- version = {0.3a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/scrlttr2copy},
- url = {https://ctan.org/pkg/scrlttr2copy},
-}
-
-@manual{ctan-scrpage2,
- title = {The \texttt{scrpage2} package},
- subtitle = {Control of page headers and footers in \LaTeX{}},
- author = {Markus Kohm},
- date = {2022-07-04},
- version = {3.30},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/koma-script-obsolete},
- url = {https://ctan.org/pkg/scrpage2},
-}
-
-@manual{ctan-scrreprt,
- title = {The \texttt{scrreprt} package},
- subtitle = {Koma-Script ‘report’ class},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrreprt},
-}
-
-@manual{ctan-scrtime,
- title = {The \texttt{scrtime} package},
- subtitle = {Show the time of a \LaTeX{} run},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrtime},
-}
-
-@manual{ctan-scrwfile,
- title = {The \texttt{scrwfile} package},
- subtitle = {Use \LaTeX{} .aux file in place of \textbackslash{}newrite files},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {0.1.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/scrwfile},
- annotation = {The package provides a means of sending all \LaTeX{}
- , table of contents, and other miscellaneous
- output via the \LaTeX{} file. The mechanism subverts
- the mechanism of , and means there will never be
- a “No room for new ” message.},
-}
-
-@manual{ctan-scsnowman,
- title = {The \texttt{scsnowman} package},
- subtitle = {Snowman variants using TikZ},
- author = {Hironobu Yamashita},
- date = {2023-02-23},
- version = {1.3c},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/scsnowman},
- url = {https://ctan.org/pkg/scsnowman},
-}
-
-@manual{ctan-scyrillic,
- title = {The \texttt{scyrillic} package},
- subtitle = {A family of cyrillic fonts},
- author = {Alexander Samarin and Nana Glonti},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cyrillic/scyrillic},
- url = {https://ctan.org/pkg/scyrillic},
-}
-
-@manual{ctan-sdaps,
- title = {The \texttt{sdaps} package},
- subtitle = {\LaTeX{} support files for SDAPS},
- author = {Benjamin Berg},
- date = {2021-11-10},
- version = {1.9.10},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sdaps},
- url = {https://ctan.org/pkg/sdaps},
-}
-
-@manual{ctan-sdrt,
- title = {The \texttt{sdrt} package},
- subtitle = {Macros for Segmented Discourse Representation Theory},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sdrt},
- url = {https://ctan.org/pkg/sdrt},
-}
-
-@manual{ctan-sduthesis,
- title = {The \texttt{sduthesis} package},
- subtitle = {Thesis Template of Shandong University},
- author = {Liam Huang},
- date = {2017-04-18},
- version = {1.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sduthesis},
- url = {https://ctan.org/pkg/sduthesis},
-}
-
-@manual{ctan-se2thesis,
- title = {The \texttt{se2thesis} package},
- subtitle = {A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany},
- author = {Stephan Lukasczyk},
- date = {2023-01-27},
- version = {2.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/se2thesis},
- url = {https://ctan.org/pkg/se2thesis},
- annotation = {The se2thesis bundle provides a document class for writing a theses with the
- at the
- , Germany.
- The class is based on Markus Kohm’s
- classes and provides several additions and customizations to these classes.
- While the class provides some basic settings, mostly regrading the type area,
- fonts, and the title page, it still provides large degrees of freedom
- to its users.
- However, the package’s documentation also provides recommendations
- regarding several aspects, for example, recommending
- for bibliographies.},
-}
-
-@manual{ctan-secdot,
- title = {The \texttt{secdot} package},
- subtitle = {Section numbers with trailing dots},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/secdot},
- url = {https://ctan.org/pkg/secdot},
- annotation = {Makes the numbers of commands come out with a
- trailing dot. Includes a command whereby the same can be made to
- happen with other sectioning commands.},
-}
-
-@manual{ctan-seceqn,
- title = {The \texttt{seceqn} package},
- subtitle = {Number theorems by section},
- author = {Jerry Leichter},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/seceqn.sty},
- url = {https://ctan.org/pkg/seceqn},
-}
-
-@manual{ctan-secnum,
- title = {The \texttt{secnum} package},
- subtitle = {A macro to format section numbering intuitively},
- author = {Syu Gau},
- date = {2022-01-30},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/secnum},
- url = {https://ctan.org/pkg/secnum},
-}
-
-@manual{ctan-secret,
- title = {The \texttt{secret} package},
- subtitle = {Put security classification marks in a document},
- author = {Denys Duchier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/secret.sty},
- url = {https://ctan.org/pkg/secret},
-}
-
-@manual{ctan-section,
- title = {The \texttt{section} package},
- subtitle = {Modifying section commands in \LaTeX{}},
- author = {Oliver Pretzel},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/section},
- url = {https://ctan.org/pkg/section},
-}
-
-@manual{ctan-sectionbox,
- title = {The \texttt{sectionbox} package},
- subtitle = {Create fancy boxed ((sub)sub)sections},
- author = {Michael Wilkinson},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sectionbox},
- url = {https://ctan.org/pkg/sectionbox},
- annotation = {Sectionbox is a \LaTeX{} package for putting fancy colored boxes
- around sections, subsections, and subsubsections, especially for
- use in posters, etc. It was designed with the
- class in mind, and
- certainly works with that class and with derived classes.},
-}
-
-@manual{ctan-sectionbreak,
- title = {The \texttt{sectionbreak} package},
- subtitle = {\LaTeX{} support for section breaks},
- author = {Michal Hoftich},
- date = {2019-03-11},
- version = {0.1d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sectionbreak},
- url = {https://ctan.org/pkg/sectionbreak},
-}
-
-@manual{ctan-sectsty,
- title = {The \texttt{sectsty} package},
- subtitle = {Control sectional headers},
- author = {Rowland McDonnell},
- date = {2016-06-24},
- version = {2.0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sectsty},
- url = {https://ctan.org/pkg/sectsty},
-}
-
-@manual{ctan-seealso,
- title = {The \texttt{seealso} package},
- subtitle = {Improve the performance of \textbackslash{}see macros with makeindex},
- author = {Leo Liu},
- date = {2018-01-06},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/seealso},
- url = {https://ctan.org/pkg/seealso},
- annotation = {The package amends the and macros
- that are used in building indexes with
- ,
- to deal with repetitions, and to ensure page numbers are present
- in the actual index entries.
- on these indirecty},
-}
-
-@manual{ctan-sehyph,
- title = {The \texttt{sehyph} package},
- subtitle = {Hyphenation patterns for Swedish},
- author = {Jan Michael Rynning},
- date = {2016-06-18},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/sehyph.tex},
- url = {https://ctan.org/pkg/sehyph},
-}
-
-@manual{ctan-selectp,
- title = {The \texttt{selectp} package},
- subtitle = {Select pages to be output},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/selectp},
- url = {https://ctan.org/pkg/selectp},
-}
-
-@manual{ctan-selectpage,
- title = {The \texttt{selectpage} package},
- subtitle = {Select pages to be output from a document},
- author = {Donald E. Knuth},
- date = {2020-04-11},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/generic/misc/selectpage.tex},
- url = {https://ctan.org/pkg/selectpage},
-}
-
-@manual{ctan-selinput,
- title = {The \texttt{selinput} package},
- subtitle = {Semi-automatic detection of input encoding},
- author = {Heiko Oberdiek},
- date = {2019-12-14},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/selinput},
- url = {https://ctan.org/pkg/selinput},
-}
-
-@manual{ctan-selnolig,
- title = {The \texttt{selnolig} package},
- subtitle = {Selectively disable typographic ligatures},
- author = {Mico Loretan},
- date = {2018-03-07},
- version = {0.302},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/selnolig},
- url = {https://ctan.org/pkg/selnolig},
-}
-
-@manual{ctan-semantex,
- title = {The \texttt{SemanTeX} package},
- subtitle = {Semantic, keyval-based mathematics},
- author = {Sebastian Ørsted},
- date = {2023-01-23},
- version = {0.525},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/semantex},
- url = {https://ctan.org/pkg/semantex},
-}
-
-@manual{ctan-semantic-markup,
- title = {The \texttt{semantic-markup} package},
- subtitle = {Meaningful semantic markup in the spirit of the Text Encoding Initiative},
- author = {Andrew A. Cashner},
- date = {2020-01-29},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/semantic-markup},
- url = {https://ctan.org/pkg/semantic-markup},
-}
-
-@manual{ctan-semantic,
- title = {The \texttt{semantic} package},
- subtitle = {Help for writing programming language semantics},
- author = {Peter Møller Neergaard and Arne John Glenstrup},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/semantic},
- url = {https://ctan.org/pkg/semantic},
-}
-
-@manual{ctan-semaphor,
- title = {The \texttt{semaphor} package},
- subtitle = {Semaphore alphabet font},
- author = {Vít Zýka},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/semaphor},
- url = {https://ctan.org/pkg/semaphor},
-}
-
-@manual{ctan-semesterplanner,
- title = {The \texttt{semesterplanner} package},
- subtitle = {Create beautiful semester timetables and more},
- author = {Niklas Schneider},
- date = {2020-11-04},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/semesterplanner},
- url = {https://ctan.org/pkg/semesterplanner},
-}
-
-@manual{ctan-seminar,
- title = {The \texttt{seminar} package},
- subtitle = {Make overhead slides},
- author = {Timothy Van Zandt and Sebastian Rahtz and Denis Girou and Herbert Voß},
- date = {2021-07-01},
- version = {1.63a},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/seminar},
- url = {https://ctan.org/pkg/seminar},
-}
-
-@manual{ctan-semioneside,
- title = {The \texttt{semioneside} package},
- subtitle = {Put only special contents on left-hand pages in two sided layout},
- author = {Stephan Hennig},
- date = {2016-06-24},
- version = {0.41},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/semioneside},
- url = {https://ctan.org/pkg/semioneside},
-}
-
-@manual{ctan-semproc,
- title = {The \texttt{semproc} package},
- subtitle = {Seminar proceedings},
- author = {Tobias Columbus},
- date = {2017-11-12},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/semproc},
- url = {https://ctan.org/pkg/semproc},
-}
-
-@manual{ctan-semtex,
- title = {The \texttt{SemTeX} package},
- subtitle = {Deals with stripped SemanTeX documents},
- author = {Sebastian Ørsted},
- date = {2020-10-04},
- version = {0.45},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/semtex},
- url = {https://ctan.org/pkg/semtex},
-}
-
-@manual{ctan-semtrans,
- title = {The \texttt{semtrans} package},
- subtitle = {Transliteration of semitic languages},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/semtrans.sty},
- url = {https://ctan.org/pkg/semtrans},
-}
-
-@manual{ctan-sentences,
- title = {The \texttt{sentences} package},
- subtitle = {Numbered lists for sentences},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/sentences.tex},
- url = {https://ctan.org/pkg/sentences},
-}
-
-@manual{ctan-sepfootnotes,
- title = {The \texttt{sepfootnotes} package},
- subtitle = {Support footnotes and endnotes from separate files},
- author = {Eduardo C. Lourenço de Lima},
- date = {2016-07-19},
- version = {0.3c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sepfootnotes},
- url = {https://ctan.org/pkg/sepfootnotes},
- annotation = {The package supports footnotes and endnotes from separate files.
- This is achieved with commands and
- ; the former defines the content of a note,
- while the latter typesets that note.},
-}
-
-@manual{ctan-sepnum,
- title = {The \texttt{sepnum} package},
- subtitle = {Print numbers in a "friendly" format},
- author = {Bernd Raichle},
- date = {2018-01-06},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sepnum},
- url = {https://ctan.org/pkg/sepnum},
- annotation = {Provides a command to print a number with (potentially different)
- separators every three digits in the parts either side of the
- decimal point (the point itself is also configurable). The macro
- is fully expandable and not fragile (unless one of the separators
- is). There is also a command , that may be used when
- defining macros.},
-}
-
-@manual{ctan-seqsplit,
- title = {The \texttt{seqsplit} package},
- subtitle = {Split long sequences of characters in a neutral way},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/seqsplit},
- url = {https://ctan.org/pkg/seqsplit},
-}
-
-@manual{ctan-serbian-apostrophe,
- title = {The \texttt{serbian-apostrophe} package},
- subtitle = {Commands for Serbian words with apostrophes},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/serbian/filipovic/serbian-apostrophe},
- url = {https://ctan.org/pkg/serbian-apostrophe},
-}
-
-@manual{ctan-serbian-book,
- title = {The \texttt{serbian-book} package},
- subtitle = {Support for use of memoir in Serbian},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/srbook-mem},
- url = {https://ctan.org/pkg/serbian-book},
- annotation = {The package provides a number of commands for adjusting
- output to Serbian style.},
-}
-
-@manual{ctan-serbian-date-lat,
- title = {The \texttt{serbian-date-lat} package},
- subtitle = {Updated date typesetting for Serbian},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/language/serbian/filipovic/serbian-date-lat},
- url = {https://ctan.org/pkg/serbian-date-lat},
- annotation = {defines dates for Serbian texts,
- in Latin script. The style it uses does not match current
- practices. The present package defines a command
- that solves the problem.},
-}
-
-@manual{ctan-serbian-def-cyr,
- title = {The \texttt{serbian-def-cyr} package},
- subtitle = {Serbian cyrillic localization},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/serbian-def-cyr},
- url = {https://ctan.org/pkg/serbian-def-cyr},
-}
-
-@manual{ctan-serbian-lig,
- title = {The \texttt{serbian-lig} package},
- subtitle = {Control ligatures in Serbian},
- author = {Zoran T. Filipović},
- date = {2019-12-14},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/serbian/filipovic/serbian-lig},
- url = {https://ctan.org/pkg/serbian-lig},
- annotation = {The package suppresses and (and other
- ligatures) in Serbian text written using Roman script.},
-}
-
-@manual{ctan-serbianpart,
- title = {The \texttt{serbianpart} package},
- subtitle = {Redefines \textbackslash{}thepart to be used in Roman lettered Serbian},
- author = {Zoran T. Filipović},
- date = {2018-01-07},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/serbianpart},
- url = {https://ctan.org/pkg/serbianpart},
- annotation = {The package redefines , to produce “PART
- <alphabetical version of the number>”, in Roman
- lettered Serbian.},
-}
-
-@manual{ctan-serial,
- title = {The \texttt{serial} package},
- subtitle = {Generate serial letters},
- author = {Bjørn Pedersen},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/serial},
- url = {https://ctan.org/pkg/serial},
- annotation = {The serial package provides a wrapper to the
- letter class
- for the generation of serial letters. It
- contains different
- interfaces to data base generated adress files. Additionally, a
- configuration file allows easy customization of the letterheads
- etc. Requires from
- and the following are
- recommended: ,
- ,
- .},
-}
-
-@manual{ctan-sesamanuel,
- title = {The \texttt{sesamanuel} package},
- subtitle = {Class and package for sesamath books or paper},
- author = {Jean-Côme Charpentier},
- date = {2016-06-24},
- version = {0.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sesamanuel},
- url = {https://ctan.org/pkg/sesamanuel},
- annotation = {The package contains a class which could be used to compose
- a student's classroom book with \LaTeX{}, and also a style
- to be used for TikZ pictures in the sesamath book.},
-}
-
-@manual{ctan-sesstime,
- title = {The \texttt{sesstime} package},
- subtitle = {Session and timing information in lecture notes},
- author = {Niklas Beisert},
- date = {2019-01-18},
- version = {1.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sesstime},
- url = {https://ctan.org/pkg/sesstime},
-}
-
-@manual{ctan-setdeck,
- title = {The \texttt{setdeck} package},
- subtitle = {Typeset cards for Set},
- author = {Gwyneth Whieldon},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/setdeck},
- url = {https://ctan.org/pkg/setdeck},
- annotation = {The package will typeset cards for use in a game of
- .},
-}
-
-@manual{ctan-setouterhbox,
- title = {The \texttt{setouterhbox} package},
- subtitle = {Set hbox in outer horizontal mode},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/setouterhbox.dtx},
- url = {https://ctan.org/pkg/setouterhbox},
- annotation = {If math stuff is set in an , then \TeX{}
- performs some optimization and omits the implicit
- penalties and .
- This packages tries to put stuff into an
- without losing those penalties.},
-}
-
-@manual{ctan-setspace,
- title = {The \texttt{setspace} package},
- subtitle = {Set space between lines},
- author = {Erica Harris and Geoffrey Tobin and Robin Fairbairns and David Carlisle},
- date = {2022-12-05},
- version = {6.7b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/setspace},
- url = {https://ctan.org/pkg/setspace},
- annotation = {Provides support for setting the spacing between lines in a
- document. Package options include singlespacing, onehalfspacing,
- and doublespacing. Alternatively the spacing can be changed as
- required with the ,
- , and
- commands. Other size spacings also available.},
-}
-
-@manual{ctan-setstrut,
- title = {The \texttt{setstrut} package},
- subtitle = {Automatic strut computation},
- author = {Stephan von Bechtolsheim},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/setstrut.tex},
- url = {https://ctan.org/pkg/setstrut},
-}
-
-@manual{ctan-settobox,
- title = {The \texttt{settobox} package},
- subtitle = {Assigning dimensions of a box to a length register},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/settobox.dtx},
- url = {https://ctan.org/pkg/settobox},
- annotation = {Commands to assist the reuse of boxes (set up by or
- by the environment); the
- commands behave similarly to the (etc.)
- commands. For example:},
-}
-
-@manual{ctan-settosize-ltx,
- title = {The \texttt{settosize-ltx} package},
- subtitle = {Scale text to make it fit a given width},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/settosize.sty},
- url = {https://ctan.org/pkg/settosize-ltx},
-}
-
-@manual{ctan-settosize,
- title = {The \texttt{settosize} package},
- subtitle = {Scale text to given width},
- author = {Philip Taylor},
- date = {2019-10-03},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/settosize.tex},
- url = {https://ctan.org/pkg/settosize},
-}
-
-@manual{ctan-seu-ml-assign,
- title = {The \texttt{seu-ml-assign} package},
- subtitle = {Southeast University Machine Learning Assignment template},
- author = {Teddy van Jerry},
- date = {2022-03-30},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/seu-ml-assign},
- url = {https://ctan.org/pkg/seu-ml-assign},
- annotation = {This is a template for the
- Machine Learning Assignment that can be easily adapted
- to other usages.
- This template features a colorful theme that
- makes it look elegant and attractive. You can also find the
- template available on .},
-}
-
-@manual{ctan-seuthesis,
- title = {The \texttt{seuthesis} package},
- subtitle = {\LaTeX{} template for theses at Southeastern University},
- author = {Xu Yuan},
- date = {2018-04-05},
- version = {2.1.2},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/seuthesis},
- url = {https://ctan.org/pkg/seuthesis},
-}
-
-@manual{ctan-seuthesix,
- title = {The \texttt{seuthesix} package},
- subtitle = {\LaTeX{} class for theses at Southeast University, Nanjing, China},
- author = {James Fan},
- date = {2017-04-18},
- version = {1.0.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/seuthesix},
- url = {https://ctan.org/pkg/seuthesix},
-}
-
-@manual{ctan-sexam,
- title = {The \texttt{sexam} package},
- subtitle = {Package for typesetting arabic exam scripts},
- author = {Walid Laouidji},
- date = {2018-02-15},
- version = {1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/sexam},
- url = {https://ctan.org/pkg/sexam},
- annotation = {The package provides a modified version of the
- package made compatible with \XeLaTeX{}/polyglossia to typesetting arabic exams.},
-}
-
-@manual{ctan-sf298,
- title = {The \texttt{sf298} package},
- subtitle = {Standard form 298},
- author = {Steven Douglas Cochran and Peter A. Rochford},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sf298},
- url = {https://ctan.org/pkg/sf298},
-}
-
-@manual{ctan-sfarticle,
- title = {The \texttt{sfarticle} package},
- subtitle = {A \LaTeX{} 2.09 article style with an sf switch},
- author = {Hubert Partl and B. Simon},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/sfarticle},
- url = {https://ctan.org/pkg/sfarticle},
- annotation = {The package is a variant of standard that has an
- option (for sans typesetting) and various of the
- ‘fixed names’ (such as ‘Contents’)
- defined in macros (and thus variable).},
-}
-
-@manual{ctan-sffms,
- title = {The \texttt{sffms} package},
- subtitle = {Typesetting science fiction/fantasy manuscripts},
- author = {M.C. DeMarco},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sffms},
- url = {https://ctan.org/pkg/sffms},
-}
-
-@manual{ctan-sfg,
- title = {The \texttt{sfg} package},
- subtitle = {Draw signal flow graphs},
- author = {Hanspeter Schmid},
- date = {2018-09-15},
- version = {0.91},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sfg},
- url = {https://ctan.org/pkg/sfg},
- annotation = {Defines some commands to draw signal flow graphs as used by
- electrical and electronics engineers and graph theorists.
- Requires and
- packages (and a
- relatively fast machine).},
-}
-
-@manual{ctan-sfheaders,
- title = {The \texttt{sfheaders} package},
- subtitle = {Sans headers},
- author = {Maurizio Loreti},
- date = {2019-07-06},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sfheaders},
- url = {https://ctan.org/pkg/sfheaders},
-}
-
-@manual{ctan-sfmath,
- title = {The \texttt{sfmath} package},
- subtitle = {Sans-serif mathematics},
- author = {Olaf Dietrich},
- date = {2016-06-24},
- version = {0.8},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sfmath/sfmath.sty},
- url = {https://ctan.org/pkg/sfmath},
-}
-
-@manual{ctan-sfwmac,
- title = {The \texttt{sfwmac} package},
- subtitle = {A set of definitions for Unix system documentation},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/sfwmac.sty},
- url = {https://ctan.org/pkg/sfwmac},
-}
-
-@manual{ctan-sgame,
- title = {The \texttt{sgame} package},
- subtitle = {\LaTeX{} style for typesetting strategic games},
- author = {Martin J. Osborne},
- date = {2017-04-18},
- version = {2.15},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sgame},
- url = {https://ctan.org/pkg/sgame},
-}
-
-@manual{ctan-sgmlcmpt,
- title = {The \texttt{sgmlcmpt} package},
- subtitle = {Suppport for \LaTeX{} formulae as SGML PCDATA},
- author = {Jörg Knappen},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen},
- url = {https://ctan.org/pkg/sgmlcmpt},
- annotation = {Replacement control sequences for the characters ,
- , and (as column separator) and for the
- command . The replacements make it possible
- to enter \LaTeX{} formulae as SGML PCDATA.},
-}
-
-@manual{ctan-shadbox,
- title = {The \texttt{shadbox} package},
- subtitle = {Shade the background of any box},
- author = {Dmitry A. Glazkov},
- date = {2019-06-21},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shadbox},
- url = {https://ctan.org/pkg/shadbox},
-}
-
-@manual{ctan-shade,
- title = {The \texttt{shade} package},
- subtitle = {Shade pieces of text},
- author = {Peter Schmitt},
- date = {2018-01-06},
- version = {1},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/generic/shade},
- url = {https://ctan.org/pkg/shade},
-}
-
-@manual{ctan-shadebox,
- title = {The \texttt{shadebox} package},
- subtitle = {Shade boxes using PostScript specials},
- author = {Leo Christopher Brewin and Danilo Šegan},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/shadebox.tex},
- url = {https://ctan.org/pkg/shadebox},
-}
-
-@manual{ctan-shadethm,
- title = {The \texttt{Shaded theorems} package},
- subtitle = {Theorem environments that are shaded},
- author = {Jim Hefferon},
- date = {2020-01-08},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shadethm},
- url = {https://ctan.org/pkg/shadethm},
-}
-
-@manual{ctan-shading,
- title = {The \texttt{shading} package},
- subtitle = {\LaTeX{} package for putting text on a shaded background},
- author = {Art Mulder},
- date = {2016-06-24},
- version = {1.3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/shading},
- url = {https://ctan.org/pkg/shading},
- annotation = {Works by specifying the background with PostScript
- commands, suitable for use with},
-}
-
-@manual{ctan-shadow,
- title = {The \texttt{shadow} package},
- subtitle = {Shadow boxes},
- author = {Mauro Orlandini},
- date = {2018-04-18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shadow},
- url = {https://ctan.org/pkg/shadow},
- annotation = {Defines a command (analgous to ),
- and supporting mechanisms.},
-}
-
-@manual{ctan-shadowtext,
- title = {The \texttt{shadowtext} package},
- subtitle = {Produce text with a shadow behind it},
- author = {Yori Zwols},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shadowtext},
- url = {https://ctan.org/pkg/shadowtext},
- annotation = {The package introduces a command , which adds
- a drop shadow to the text that is given as its argument. The
- colour and positioning of the shadow are customisable.},
-}
-
-@manual{ctan-shalom,
- title = {The \texttt{shalom} package},
- subtitle = {A simple Hebrew typesetting bundle},
- author = {Stephan Böttcher},
- date = {2016-06-24},
- license = {noinfo},
- url = {https://ctan.org/pkg/shalom},
-}
-
-@manual{ctan-shapepar,
- title = {The \texttt{shapepar} package},
- subtitle = {A macro to typeset paragraphs in specific shapes},
- author = {Donald Arseneau},
- date = {2018-01-06},
- version = {2.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shapepar},
- url = {https://ctan.org/pkg/shapepar},
-}
-
-@manual{ctan-shapepatch,
- title = {The \texttt{shapepatch} package},
- subtitle = {Transfig patch supporting shapepar},
- author = {Christian Gollwitzer},
- date = {2016-06-24},
- version = {1.1},
- license = {bsd},
- mirror = {https://mirror.ctan.org/graphics/transfig-shapepatch/shape-patch.3.2.4-shape-1.1.tar.gz},
- url = {https://ctan.org/pkg/shapepatch},
- annotation = {ShapePatch is a patch against
- , which adds the capability
- to export figures to shape
- definitions for . Shapepar
- itself will form a paragraph into a specified shape, and the size
- of the shape is automatically adjusted so that the given paragraph
- completely fills the shape. ShapePatch effort: one simply draws
- the required shape with XFig and then convert it to a shape
- definition for shapepar, either by calling fig2dev manually or by
- choosing “Export/Shape” in XFig (if you install
- the additional XFig patch).},
-}
-
-@manual{ctan-shapes,
- title = {The \texttt{shapes} package},
- subtitle = {Draw polygons, reentrant stars, and fractions in circles with MetaPost},
- author = {Donald P. Goodman},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/shapes},
- url = {https://ctan.org/pkg/shapes},
-}
-
-@manual{ctan-shavian,
- title = {The \texttt{shavian} package},
- subtitle = {A Shavian spelling alphabet font},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/shavian},
- url = {https://ctan.org/pkg/shavian},
-}
-
-@manual{ctan-shdoc,
- title = {The \texttt{shdoc} package},
- subtitle = {Float environment to document the shell commands of a terminal session},
- author = {Simon Michael Laube},
- date = {2016-09-04},
- version = {2.1b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shdoc},
- url = {https://ctan.org/pkg/shdoc},
-}
-
-@manual{ctan-shellesc,
- title = {The \texttt{shellesc} package},
- subtitle = {Unified shell escape interface for \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2021-01-03},
- version = {1.0c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/shellesc},
-}
-
-@manual{ctan-shhyphl,
- title = {The \texttt{shhyphl} package},
- subtitle = {Serbo-Croatian hyphenation (Latin alphabet)},
- author = {Dejan Muhamedagić},
- date = {2018-01-06},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/language/hyphenation/shhyphl.tex},
- url = {https://ctan.org/pkg/shhyphl},
-}
-
-@manual{ctan-shipunov,
- title = {The \texttt{shipunov} package},
- subtitle = {A collection of \LaTeX{} packages and classes},
- author = {Alexey Shipunov},
- date = {2019-10-08},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov},
- url = {https://ctan.org/pkg/shipunov},
-}
-
-@manual{ctan-shlatex,
- title = {The \texttt{shlatex} package},
- subtitle = {\LaTeX{} compilation script for Linux (written in Bash)},
- author = {Mael Hilléreau},
- date = {2016-06-24},
- version = {1.2b},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/shlatex},
- url = {https://ctan.org/pkg/shlatex},
-}
-
-@manual{ctan-shobhika,
- title = {The \texttt{shobhika} package},
- subtitle = {An OpenType Devanāgarī font designed for scholars},
- author = {Aditya Kolachana},
- date = {2019-03-23},
- version = {1.05},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/shobhika},
- url = {https://ctan.org/pkg/shobhika},
-}
-
-@manual{ctan-short-math-guide,
- title = {The \texttt{short-math-guide} package},
- subtitle = {Guide to using amsmath and related packages to typeset mathematical notation with \LaTeX{}},
- author = {{The American Mathematical Society}},
- date = {2017-12-24},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/short-math-guide},
- url = {https://ctan.org/pkg/short-math-guide},
-}
-
-@manual{ctan-shortcuttool,
- title = {The \texttt{shortcuttool} package},
- subtitle = {Enables shortcut file import to the input tool Shortcut},
- author = {Albrecht Mehl},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/shortcuttool},
- url = {https://ctan.org/pkg/shortcuttool},
-}
-
-@manual{ctan-shortlst,
- title = {The \texttt{shortlst} package},
- subtitle = {Compact lists by running several items per line},
- author = {Mogens Lemvig Hansen},
- date = {2016-06-24},
- version = {1.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shortlst},
- url = {https://ctan.org/pkg/shortlst},
-}
-
-@manual{ctan-shortmathj,
- title = {The \texttt{shortmathj} package},
- subtitle = {Automatically shortify titles of mathematical journals},
- author = {Nikolai Avdeev},
- date = {2020-04-11},
- version = {0.5.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shortmathj},
- url = {https://ctan.org/pkg/shortmathj},
- annotation = {This small dummy package just contains a simple list of full and short journal
- names aswritten in
- AMS standard:},
-}
-
-@manual{ctan-shorttoc,
- title = {The \texttt{shorttoc} package},
- subtitle = {Table of contents with different depths},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shorttoc},
- url = {https://ctan.org/pkg/shorttoc},
-}
-
-@manual{ctan-shortvrb,
- title = {The \texttt{shortvrb} package},
- subtitle = {Abbreviated verbatim commands},
- author = {{The \LaTeX{} Project Team}},
- date = {2022-06-16},
- version = {3.0j},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/shortvrb},
-}
-
-@manual{ctan-show2e,
- title = {The \texttt{show2e} package},
- subtitle = {Variants of \textbackslash{}show for \LaTeX{}2e},
- author = {Manuel Pégourié-Gonnard},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/show2e},
- url = {https://ctan.org/pkg/show2e},
- annotation = {This small package aims at making debugging (especially in an
- interactive way) easier, by providing variants
- suited to \LaTeX{}2e commands (whether with optional arguments or
- robust) and environments. The variant commands also display the
- internal macros used by such commands, if any. The
- variant helps with macros with exotic names.},
-}
-
-@manual{ctan-showcharinbox,
- title = {The \texttt{showcharinbox} package},
- subtitle = {Show characters inside a box},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/showcharinbox},
- url = {https://ctan.org/pkg/showcharinbox},
-}
-
-@manual{ctan-showdim,
- title = {The \texttt{showdim} package},
- subtitle = {Variants on printing dimensions},
- author = {Michael J. Downes},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/showdim/showdim.sty},
- url = {https://ctan.org/pkg/showdim},
- annotation = {A package for \LaTeX{} providing a number of commands for
- printing the value of a \TeX{} dimension. For example,
- yields the current value of
- rounded to the nearest tenth of a point.},
-}
-
-@manual{ctan-showexpl,
- title = {The \texttt{showexpl} package},
- subtitle = {Typesetting \LaTeX{} source code},
- author = {Rolf Niepraschk},
- date = {2021-01-13},
- version = {0.3s},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/showexpl},
- url = {https://ctan.org/pkg/showexpl},
-}
-
-@manual{ctan-showframe,
- title = {The \texttt{showframe} package},
- subtitle = {Draw a page-layout diagram},
- author = {Rolf Niepraschk},
- date = {2020-10-14},
- version = {0.1j},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/eso-pic/showframe.sty},
- url = {https://ctan.org/pkg/showframe},
-}
-
-@manual{ctan-showhyphenation,
- title = {The \texttt{showhyphenation} package},
- subtitle = {Marking of hyphenation points},
- author = {Thomas Kelkel},
- date = {2022-06-13},
- version = {0.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/showhyphenation},
- url = {https://ctan.org/pkg/showhyphenation},
-}
-
-@manual{ctan-showhyphens,
- title = {The \texttt{showhyphens} package},
- subtitle = {Show all possible hyphenations in LuaLaTeX},
- author = {Patrick Gundlach},
- date = {2022-06-22},
- version = {0.5c},
- license = {mit},
- mirror = {https://mirror.ctan.org/obsolete/macros/luatex/latex/showhyphens},
- url = {https://ctan.org/pkg/showhyphens},
-}
-
-@manual{ctan-showkerning,
- title = {The \texttt{showkerning} package},
- subtitle = {Showing kerns in a document},
- author = {Thomas Kelkel},
- date = {2022-06-13},
- version = {0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/showkerning},
- url = {https://ctan.org/pkg/showkerning},
-}
-
-@manual{ctan-showkeys,
- title = {The \texttt{showkeys} package},
- subtitle = {Show label, ref, cite and bib keys},
- author = {David Carlisle},
- date = {2022-06-08},
- version = {3.18},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/showkeys},
-}
-
-@manual{ctan-showlabels,
- title = {The \texttt{showlabels} package},
- subtitle = {Show label commands in the margin},
- author = {Norman Gray},
- date = {2022-07-19},
- version = {1.9.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/showlabels},
- url = {https://ctan.org/pkg/showlabels},
-}
-
-@manual{ctan-showtags,
- title = {The \texttt{showtags} package},
- subtitle = {Print the tags of bibliography entries},
- author = {Nelson H. F. Beebe},
- date = {2016-06-24},
- version = {1.05},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/showtags},
- url = {https://ctan.org/pkg/showtags},
-}
-
-@manual{ctan-shsulet,
- title = {The \texttt{shsulet} package},
- subtitle = {A letter document style for use at SHSU},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/shsulet.sty},
- url = {https://ctan.org/pkg/shsulet},
-}
-
-@manual{ctan-shtthesis,
- title = {The \texttt{ShtThesis} package},
- subtitle = {An unofficial \LaTeX{} thesis template for ShanghaiTech University},
- author = {Rundong Li},
- date = {2022-03-04},
- version = {0.3.3},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shtthesis},
- url = {https://ctan.org/pkg/shtthesis},
- annotation = {This package, forked from
- ,
- is an \LaTeX{} thesis template for ShanghaiTech
- University and satisfies all format requirements of the school.
- The user just needs to set
- and to set up mandatory information via ,
- then his or her thesis document will be typeset properly.},
-}
-
-@manual{ctan-shuffle,
- title = {The \texttt{shuffle} package},
- subtitle = {A symbol for the shuffle product},
- author = {Antoine Lejay and Julian Gilbey},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/shuffle},
- url = {https://ctan.org/pkg/shuffle},
-}
-
-@manual{ctan-si,
- title = {The \texttt{si} package},
- subtitle = {A comprehensive (SI) units package},
- author = {Joseph Wright},
- date = {2016-06-24},
- version = {0.6a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/exptl/si},
- url = {https://ctan.org/pkg/si},
-}
-
-@manual{ctan-siam,
- title = {The \texttt{siam} package},
- subtitle = {Styles for SIAM publications},
- author = {Corey Gray and Stephen Cipolone},
- date = {2022-11-02},
- version = {1.1},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/siam},
- url = {https://ctan.org/pkg/siam},
-}
-
-@manual{ctan-side,
- title = {The \texttt{side} package},
- subtitle = {Rotated floats for \LaTeX{} 2.09},
- author = {Fred Knight and M. F. Ryba},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/side.sty},
- url = {https://ctan.org/pkg/side},
-}
-
-@manual{ctan-sidecap,
- title = {The \texttt{sidecap} package},
- subtitle = {Typeset captions sideways},
- author = {Rolf Niepraschk and Hubert Gäßlein},
- date = {2023-01-24},
- version = {1.7a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sidecap},
- url = {https://ctan.org/pkg/sidecap},
- annotation = {Defines environments called and
- (analogous to figure and table)
- to typeset captions sideways. Options include
- , ,
- and .},
-}
-
-@manual{ctan-sidenotes,
- title = {The \texttt{sidenotes} package},
- subtitle = {Typeset notes containing rich content, in the margin},
- author = {Andy Thomas},
- date = {2020-03-24},
- version = {1.00a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sidenotes},
- url = {https://ctan.org/pkg/sidenotes},
-}
-
-@manual{ctan-sidenotesplus,
- title = {The \texttt{sidenotesplus} package},
- subtitle = {Place referenced notes, alerts, figures and tables into the document margin},
- author = {Anton Vrba},
- date = {2022-07-09},
- version = {1.02},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sidenotesplus},
- url = {https://ctan.org/pkg/sidenotesplus},
-}
-
-@manual{ctan-sides,
- title = {The \texttt{sides} package},
- subtitle = {A \LaTeX{} class for typesetting stage plays},
- author = {Wing L Mui},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sides},
- url = {https://ctan.org/pkg/sides},
- annotation = {This is a \LaTeX{} class for typesetting stage plays, based on the
- class written by Antti-Juhani
- Kaijanaho in 1998. It has been updated and several formatting
- changes have been made to it—most noticibly there are no
- longer orphans.},
-}
-
-@manual{ctan-siggraph,
- title = {The \texttt{siggraph} package},
- subtitle = {SIGGRAPH conference class},
- author = {Daniel Kartch},
- date = {2019-06-21},
- version = {1.1.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/siggraph},
- url = {https://ctan.org/pkg/siggraph},
-}
-
-@manual{ctan-signchart,
- title = {The \texttt{signchart} package},
- subtitle = {Create beautifully typeset sign charts},
- author = {Anthony Mottaz},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/signchart},
- url = {https://ctan.org/pkg/signchart},
-}
-
-@manual{ctan-sikumuna,
- title = {The \texttt{Sikumuna} package},
- subtitle = {Lyx template for Hebrew article format},
- author = {Guy Rutenberg},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/lyx/sikumuna},
- url = {https://ctan.org/pkg/sikumuna},
-}
-
-@manual{ctan-silence,
- title = {The \texttt{silence} package},
- subtitle = {Selective filtering of error messages and warnings},
- author = {Michael Pock and Paul Isambert},
- date = {2016-06-24},
- version = {1.5b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/silence},
- url = {https://ctan.org/pkg/silence},
-}
-
-@manual{ctan-sillypage,
- title = {The \texttt{sillypage} package},
- subtitle = {John Cleese’s Silly Walk as page numbering style},
- author = {Paulo Roberto Massa Cereda},
- date = {2023-03-04},
- version = {1.6},
- license = {cc-by-sa-4,lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sillypage},
- url = {https://ctan.org/pkg/sillypage},
-}
-
-@manual{ctan-simple-resume-cv,
- title = {The \texttt{simple-resume-cv} package},
- subtitle = {Template for a simple resume or curriculum vitae (CV), in \XeLaTeX{}},
- author = {Zach Scrivena},
- date = {2017-01-28},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/simple-resume-cv},
- url = {https://ctan.org/pkg/simple-resume-cv},
-}
-
-@manual{ctan-simple-thesis-dissertation,
- title = {The \texttt{simple-thesis-dissertation} package},
- subtitle = {Template for a simple thesis or dissertation (Ph.D. or master's degree) or technical
- report, in \XeLaTeX{}},
- author = {Zach Scrivena},
- date = {2017-01-28},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/simple-thesis-dissertation},
- url = {https://ctan.org/pkg/simple-thesis-dissertation},
-}
-
-@manual{ctan-simplebnf,
- title = {The \texttt{simplebnf} package},
- subtitle = {A simple package to format Backus-Naur form (BNF)},
- author = {Jay Lee},
- date = {2023-01-07},
- version = {0.3.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/simplebnf},
- url = {https://ctan.org/pkg/simplebnf},
-}
-
-@manual{ctan-simplecd,
- title = {The \texttt{simplecd} package},
- subtitle = {Simple CD, DVD covers for printing},
- author = {Dániel Majoros},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/simplecd},
- url = {https://ctan.org/pkg/simplecd},
- annotation = {The package provides printable cut-outs for various CD, DVD and
- other disc holders. The name of the package comes from its
- implementation and ease of use; it was designed just for text
- content, but since the text is placed in a in a
- environment cell, a rather wide range of things
- may be placed.},
-}
-
-@manual{ctan-simplecv,
- title = {The \texttt{simplecv} package},
- subtitle = {A simple class for writing curricula vitae},
- author = {Jean-Marc Lasgouttes},
- date = {2016-06-24},
- version = {1.6a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/simplecv},
- url = {https://ctan.org/pkg/simplecv},
- annotation = {A derivative of the class available to
- users (renamed to avoid the
- existing package).},
-}
-
-@manual{ctan-simpleicons,
- title = {The \texttt{simpleicons} package},
- subtitle = {Simple Icons for \LaTeX{}},
- author = {Inesh Bose},
- date = {2023-03-03},
- version = {8.6.0},
- license = {cc-by-1},
- mirror = {https://mirror.ctan.org/fonts/simpleicons},
- url = {https://ctan.org/pkg/simpleicons},
- annotation = {Similar to FontAwesome icons being provided on \LaTeX{}
- by the package,
- this package aims to do the same with Simple Icons.
- For reference, visit their website:
- .},
-}
-
-@manual{ctan-simpleinvoice,
- title = {The \texttt{simpleinvoice} package},
- subtitle = {Easy typesetting of invoices},
- author = {Mathias Lohne},
- date = {2017-11-04},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/simpleinvoice},
- url = {https://ctan.org/pkg/simpleinvoice},
- annotation = {This package lets you easily typeset professional-looking
- invoices. The user specifies the content of the invoice
- by different commands,
- and an invoice is generated automatically with the
- command.},
-}
-
-@manual{ctan-simplekv,
- title = {The \texttt{simplekv} package},
- subtitle = {A simple key/value system for \TeX{} and \LaTeX{}},
- author = {Christian Tellechea},
- date = {2022-10-01},
- version = {0.2a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/simplekv},
- url = {https://ctan.org/pkg/simplekv},
-}
-
-@manual{ctan-simplenodes,
- title = {The \texttt{simplenodes} package},
- subtitle = {Simple nodes in four colors written in TikZ for \LaTeX{}},
- author = {Bob Vergauwen},
- date = {2022-04-06},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/simplenodes},
- url = {https://ctan.org/pkg/simplenodes},
-}
-
-@manual{ctan-simpleoptics,
- title = {The \texttt{simpleoptics} package},
- subtitle = {Drawing lenses and mirrors for optical diagrams},
- author = {Justin Cawood},
- date = {2022-04-06},
- version = {1.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/simpleoptics},
- url = {https://ctan.org/pkg/simpleoptics},
-}
-
-@manual{ctan-simpler-wick,
- title = {The \texttt{simpler-wick} package},
- subtitle = {Simpler Wick contractions},
- author = {Joshua Ellis},
- date = {2017-04-18},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/simpler-wick},
- url = {https://ctan.org/pkg/simpler-wick},
-}
-
-@manual{ctan-simples-matrices,
- title = {The \texttt{simples-matrices} package},
- subtitle = {Define matrices by given list of values},
- author = {Yvon Henel},
- date = {2022-07-03},
- version = {1.0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/simples-matrices},
- url = {https://ctan.org/pkg/simples-matrices},
-}
-
-@manual{ctan-simplewick,
- title = {The \texttt{simplewick} package},
- subtitle = {Simple Wick contractions},
- author = {Jindrich Kolorenc},
- date = {2016-06-24},
- version = {1.2a},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/simplewick},
- url = {https://ctan.org/pkg/simplewick},
-}
-
-@manual{ctan-simplified-latex,
- title = {The \texttt{simplified-latex} package},
- subtitle = {A Simplified Introduction to \LaTeX{}},
- author = {Harvey Greenberg and Daniel H. Luecking},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/simplified-latex},
- url = {https://ctan.org/pkg/simplified-latex},
-}
-
-@manual{ctan-simplivre,
- title = {The \texttt{simplivre} package},
- subtitle = {Write your books in a simple and clear way},
- author = {Jinwen XU},
- date = {2023-01-05},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/simplivre},
- url = {https://ctan.org/pkg/simplivre},
-}
-
-@manual{ctan-simpsons,
- title = {The \texttt{simpsons} package},
- subtitle = {Metafont source for Simpsons characters},
- author = {Raymond Chen},
- date = {2016-06-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/usergrps/uktug/baskervi/4_4},
- url = {https://ctan.org/pkg/simpsons},
-}
-
-@manual{ctan-simurgh,
- title = {The \texttt{simurgh} package},
- subtitle = {Typeset Parsi in LuaLaTeX},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.01b},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/simurgh},
- url = {https://ctan.org/pkg/simurgh},
-}
-
-@manual{ctan-sines,
- title = {The \texttt{sines} package},
- subtitle = {Calculate sin function values},
- author = {Jim Walker},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/sines.tex},
- url = {https://ctan.org/pkg/sines},
-}
-
-@manual{ctan-sinhala,
- title = {The \texttt{sinhala} package},
- subtitle = {Support for the Sinhala language},
- author = {Vasantha Saparamadu},
- date = {2020-03-09},
- version = {2.1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/sinhala},
- url = {https://ctan.org/pkg/sinhala},
-}
-
-@manual{ctan-sirlin,
- title = {The \texttt{sirlin} package},
- subtitle = {Fonts and macros for typesetting Tibetan},
- author = {Sam Sirlin},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/tibetan/sirlin},
- url = {https://ctan.org/pkg/sirlin},
-}
-
-@manual{ctan-sistyle,
- title = {The \texttt{SIstyle} package},
- subtitle = {Package to typeset SI units, numbers and angles},
- author = {Danie Els and Joseph Wright},
- date = {2021-06-24},
- version = {2.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sistyle},
- url = {https://ctan.org/pkg/sistyle},
-}
-
-@manual{ctan-sitem,
- title = {The \texttt{sitem} package},
- subtitle = {Save the optional argument of \textbackslash{}item},
- author = {Piotr Majkrzak},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sitem},
- url = {https://ctan.org/pkg/sitem},
- annotation = {The package modifies commands to save the optional
- argument in a box.},
-}
-
-@manual{ctan-siunits,
- title = {The \texttt{siunits} package},
- subtitle = {International System of Units},
- author = {Joseph Wright and Marcel Heldoorn},
- date = {2021-06-26},
- version = {1.36},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/SIunits},
- url = {https://ctan.org/pkg/siunits},
-}
-
-@manual{ctan-siunitx,
- title = {The \texttt{siunitx} package},
- subtitle = {A comprehensive (SI) units package},
- author = {Joseph Wright},
- date = {2023-03-05},
- version = {3.2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/siunitx},
- url = {https://ctan.org/pkg/siunitx},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/xskak},
+ url = {https://ctan.org/pkg/xskak},
}
@manual{ctan-skak,
@@ -61967,15742 +70,13 @@
url = {https://ctan.org/pkg/skak},
}
-@manual{ctan-skaknew,
- title = {The \texttt{SkakNew} package},
- subtitle = {The skak chess fonts redone in Adobe Type 1},
- author = {Ulrich Dirr},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/chess/skaknew},
- url = {https://ctan.org/pkg/skaknew},
- annotation = {This package offers Adobe Type 1 versions of the fonts provided as
- Metafont source by the bundle.},
-}
-
-@manual{ctan-skb,
- title = {The \texttt{skb} package},
- subtitle = {Tools for a repository of long-living documents},
- author = {Sven van der Meer},
- date = {2017-04-18},
- version = {0.52},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skb},
- url = {https://ctan.org/pkg/skb},
-}
-
-@manual{ctan-skdoc,
- title = {The \texttt{skdoc} package},
- subtitle = {Documentation and extraction for packages and document classes},
- author = {Simon Sigurdhsson},
- date = {2020-11-16},
- version = {1.5d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skdoc},
- url = {https://ctan.org/pkg/skdoc},
-}
-
-@manual{ctan-skeldoc,
- title = {The \texttt{skeldoc} package},
- subtitle = {Placeholders for unfinished documents},
- author = {Magnus Lie Hetland},
- date = {2021-02-25},
- version = {0.1.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skeldoc},
- url = {https://ctan.org/pkg/skeldoc},
-}
-
-@manual{ctan-sketch,
- title = {The \texttt{sketch} package},
- subtitle = {A 3d sketch language translator},
- author = {Eugene K. Ressler},
- date = {2018-09-15},
- version = {0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/sketch},
- url = {https://ctan.org/pkg/sketch},
-}
-
-@manual{ctan-skeycommand,
- title = {The \texttt{skeycommand} package},
- subtitle = {Create commands using parameters and keyval in parallel},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skeycommand},
- url = {https://ctan.org/pkg/skeycommand},
- annotation = {The package provides tools for defining \LaTeX{} commands and
- environments using combinations of parameters and keys. All the
- facilities of the and
- packages are available to the
- user of skeycommand.},
-}
-
-@manual{ctan-skeyval,
- title = {The \texttt{skeyval} package},
- subtitle = {Key-value parsing combining features of xkeyval and pgfkeys},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skeyval},
- url = {https://ctan.org/pkg/skeyval},
- annotation = {The package integrates the features of
- and of
- by introducing a new type of
- handlers. Style keys, links, changing key callbacks and values on
- the fly, and other features of pgfkeys are introduced in a new
- context.},
-}
-
-@manual{ctan-skills,
- title = {The \texttt{skills} package},
- subtitle = {Create proficiency tests},
- author = {Pierre-Amiel Giraud},
- date = {2020-10-28},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skills},
- url = {https://ctan.org/pkg/skills},
-}
-
-@manual{ctan-skmath,
- title = {The \texttt{skmath} package},
- subtitle = {Extensions to the maths command repertoir},
- author = {Simon Sigurdhsson},
- date = {2019-10-16},
- version = {0.5a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skmath},
- url = {https://ctan.org/pkg/skmath},
-}
-
-@manual{ctan-skrapport,
- title = {The \texttt{skrapport} package},
- subtitle = {‘Simple’ class for reports, etc.},
- author = {Simon Sigurdhsson},
- date = {2019-10-16},
- version = {0.12k},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/skrapport},
- url = {https://ctan.org/pkg/skrapport},
- annotation = {The class is intended for simple documents (e.g., reports handed
- in as coursework and the like). The class is small and
- straightforward; its design was inspired by that of the
- .},
-}
-
-@manual{ctan-skull,
- title = {The \texttt{skull} package},
- subtitle = {A font to draw a skull},
- author = {Henrik Christian Grove},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/skull},
- url = {https://ctan.org/pkg/skull},
-}
-
-@manual{ctan-slantsc,
- title = {The \texttt{slantsc} package},
- subtitle = {Access different-shaped small-caps fonts},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {2.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/slantsc},
- url = {https://ctan.org/pkg/slantsc},
- annotation = {This package enables the use of small capitals in different font
- shapes, e.g., slanted or bold slanted for all fonts that provide
- appropriate font shapes. (Note that a separate file
- is needed to define font shapes such as ‘scsl’ or ‘scit’.)},
-}
-
-@manual{ctan-slashbox,
- title = {The \texttt{slashbox} package},
- subtitle = {Both column and row headings in a tabular cell},
- author = {Koichi Yasuoka and Toru Sato},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/slashbox},
- url = {https://ctan.org/pkg/slashbox},
-}
-
-@manual{ctan-slashed,
- title = {The \texttt{slashed} package},
- subtitle = {Put a slash through characters},
- author = {David Carlisle},
- date = {2022-03-14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/carlisle/slashed.sty},
- url = {https://ctan.org/pkg/slashed},
-}
-
-@manual{ctan-slatex-scheme,
- title = {The \texttt{slatex-scheme} package},
- subtitle = {A pretty-printer for Scheme code in \TeX{} documents},
- author = {Dorai Sitaram},
- date = {2020-09-03},
- version = {2.4z2a},
- license = {apache2},
- mirror = {https://mirror.ctan.org/support/slatex},
- url = {https://ctan.org/pkg/slatex-scheme},
-}
-
-@manual{ctan-slatex,
- title = {The \texttt{slatex} package},
- subtitle = {\LaTeX{} support for writing Swedish},
- author = {Sven Mattison},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/swedish/slatex},
- url = {https://ctan.org/pkg/slatex},
-}
-
-@manual{ctan-slem,
- title = {The \texttt{slem} package},
- subtitle = {Slanted emphasis in \LaTeX{} 2.09},
- author = {Richard Furuta},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/slem.sty},
- url = {https://ctan.org/pkg/slem},
- annotation = {A jiffy package to cause in \LaTeX{} 2.09 to use
- in place of the standard . Note that the
- package will not work in \LaTeX{} 2e.},
-}
-
-@manual{ctan-slemph,
- title = {The \texttt{slemph} package},
- subtitle = {Slanted emphasis in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/slemph},
-}
-
-@manual{ctan-slhyph,
- title = {The \texttt{slhyph} package},
- subtitle = {Slovenian hyphenation patterns},
- author = {Matjaž Vrečko and Leon Žlajpah},
- date = {2016-11-05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/slovenian/slhyph.tex},
- url = {https://ctan.org/pkg/slhyph},
- annotation = {The function of this package is encompassed in that of the
- package, for future
- applications.},
-}
-
-@manual{ctan-slidenotes,
- title = {The \texttt{slidenotes} package},
- subtitle = {Typeset slides accompanied by notes},
- author = {Hans van der Meer},
- date = {2019-06-21},
- version = {3.27},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/slidenotes},
- url = {https://ctan.org/pkg/slidenotes},
-}
-
-@manual{ctan-slides,
- title = {The \texttt{slides} package},
- subtitle = {Class for creating slides},
- author = {Frank Mittelbach and Rainer Schöpf and {The \LaTeX{} Project Team}},
- date = {2022-06-08},
- version = {2.4b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/slides},
-}
-
-@manual{ctan-slideshow,
- title = {The \texttt{slideshow} package},
- subtitle = {Generate slideshow with MetaPost},
- author = {Patrick T J McPhee},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/slideshow},
- url = {https://ctan.org/pkg/slideshow},
-}
-
-@manual{ctan-sltables,
- title = {The \texttt{sltables} package},
- subtitle = {Simplified tables for \LaTeX{}},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/shipunov},
- url = {https://ctan.org/pkg/sltables},
-}
-
-@manual{ctan-smallcap,
- title = {The \texttt{smallcap} package},
- subtitle = {Promote small caps to a font family, so NFSS can deal with different shapes},
- author = {Daniel Taupin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/smallcap},
- url = {https://ctan.org/pkg/smallcap},
- annotation = {A set of files that uses the fonts available in version 1.3 of the
- DC fonts to provide support for all 4 shapes of small caps. SC
- becomes a family, rather than a shape ( is
- replaced by ). Thus you can write
- to get small caps bold
- slanted.},
-}
-
-@manual{ctan-smaller,
- title = {The \texttt{smaller} package},
- subtitle = {Choose an "adjacent" size in \LaTeX{}},
- author = {Bernie Cosell and Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/smaller.sty},
- url = {https://ctan.org/pkg/smaller},
-}
-
-@manual{ctan-smalltableof,
- title = {The \texttt{smalltableof} package},
- subtitle = {Create listoffigures etc. in a single chapter},
- author = {Boretti Mathieu},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/smalltableof},
- url = {https://ctan.org/pkg/smalltableof},
-}
-
-@manual{ctan-smalltalk,
- title = {The \texttt{smalltalk} package},
- subtitle = {Typeset Smalltalk program fragments},
- author = {Mario Wolczko},
- date = {2016-06-24},
- version = {3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/smalltalk.sty},
- url = {https://ctan.org/pkg/smalltalk},
-}
-
-@manual{ctan-smart-eqn,
- title = {The \texttt{smart-eqn} package},
- subtitle = {Automatic math symbol styling for \LaTeX{} documents},
- author = {Ziyue Xiang},
- date = {2021-08-12},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/smart-eqn},
- url = {https://ctan.org/pkg/smart-eqn},
- annotation = {In \LaTeX{} typesetting, one usually needs to use
- different variants of a math symbol to clarify the meanings.
- For example, in linear algebra literature, it is common to use
- boldfaced symbols to represent vectors, and normal symbols to
- represent scalars.
- However, applying these variants by typing ,
- commands manually can be daunting.
- This package aims to provide an automatic and customizable
- approach for math symbol styling which eliminates the need
- to enter style commands repeatedly.},
-}
-
-@manual{ctan-smartdiagram,
- title = {The \texttt{smartdiagram} package},
- subtitle = {Generate diagrams from lists},
- author = {Claudio Fiandrino},
- date = {2016-12-23},
- version = {0.3b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/smartdiagram},
- url = {https://ctan.org/pkg/smartdiagram},
-}
-
-@manual{ctan-smartmn,
- title = {The \texttt{smartmn} package},
- subtitle = {Make hyphens print as minus signs where appropriate},
- author = {Jörg Knappen},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/smartmn.sty},
- url = {https://ctan.org/pkg/smartmn},
-}
-
-@manual{ctan-smartref,
- title = {The \texttt{smartref} package},
- subtitle = {Extend \LaTeX{}'s \textbackslash{}ref capability},
- author = {Giuseppe Bilotta},
- date = {2016-06-24},
- version = {1.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/smartref},
- url = {https://ctan.org/pkg/smartref},
-}
-
-@manual{ctan-smartunits,
- title = {The \texttt{smartunits} package},
- subtitle = {Converting between common metric and Imperial units},
- author = {Andrew Mathas},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/smartunits},
- url = {https://ctan.org/pkg/smartunits},
-}
-
-@manual{ctan-smflatex,
- title = {The \texttt{smflatex} package},
- subtitle = {Classes for Société mathématique de France publications},
- author = {Antoine Chambert-Loir},
- date = {2021-04-20},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/smflatex},
- url = {https://ctan.org/pkg/smflatex},
- annotation = {The Société mathématique de France provides a set of classes,
- packages and BibTeX styles that are used in its publications.
- They are based on AMS classes (whose code is sometimes recopied)
- and mainly ‘upward-compatible’. Their main
- features are: quite different design; new environments for
- typesetting some information in two languages (altabstract,
- alttitle, altkeywords); if necessary, use of babel (option
- frenchb) and deactivation of some features of frenchb. Includes
- , , ,
- , amongst others.},
-}
-
-@manual{ctan-smiletex,
- title = {The \texttt{SmileTeX} package},
- subtitle = {Create \LaTeX{} documents and more from simple texts},
- author = {Christian Schüler},
- date = {2016-06-24},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/smiletex},
- url = {https://ctan.org/pkg/smiletex},
-}
-
-@manual{ctan-snapshot,
- title = {The \texttt{snapshot} package},
- subtitle = {List the external dependencies of a \LaTeX{} document},
- author = {{The American Mathematical Society} and Michael J. Downes},
- date = {2020-10-22},
- version = {2.14},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/snapshot},
- url = {https://ctan.org/pkg/snapshot},
-}
-
-@manual{ctan-snaptodo,
- title = {The \texttt{snaptodo} package},
- subtitle = {A todo that snaps to the closer side},
- author = {Hsin-Po Wang},
- date = {2021-11-26},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/snaptodo},
- url = {https://ctan.org/pkg/snaptodo},
- annotation = {This package is an alternative to
- ,
- from which it differs in the following ways:},
-}
-
-@manual{ctan-snote,
- title = {The \texttt{snote} package},
- subtitle = {Shaped notes for MusicTeX},
- author = {Jerome Colburn},
- date = {2016-06-24},
- version = {1.01},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/snote},
- url = {https://ctan.org/pkg/snote},
- annotation = {Shaped note schemes have different-shaped note-heads for different
- position on the scale, or for a selection of positions. Snote
- implements two such schemes: a four-note scheme ()
- and the Funk seven-note system ().},
-}
-
-@manual{ctan-snotez,
- title = {The \texttt{snotez} package},
- subtitle = {Typeset notes, in the margin},
- author = {Clemens Niederberger},
- date = {2022-02-12},
- version = {0.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/snotez},
- url = {https://ctan.org/pkg/snotez},
-}
-
-@manual{ctan-sober,
- title = {The \texttt{sober} package},
- subtitle = {Makes appearance of standard styles more "sober"},
- author = {Nico Poppelier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/sober.sty},
- url = {https://ctan.org/pkg/sober},
-}
-
-@manual{ctan-sobolev,
- title = {The \texttt{sobolev} package},
- subtitle = {Commands for dealing with Sobolev spaces (and relatives)},
- author = {Francesco Bosisio},
- date = {2016-06-24},
- version = {2.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bosisio},
- url = {https://ctan.org/pkg/sobolev},
-}
-
-@manual{ctan-softfonts,
- title = {The \texttt{softfonts} package},
- subtitle = {Manage the "soft fonts" in a LaserWriter printer},
- author = {{Small Planet Software}},
- date = {2016-06-24},
- version = {1.5},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/softfonts},
- url = {https://ctan.org/pkg/softfonts},
-}
-
-@manual{ctan-softmaker-alteschwabacher,
- title = {The \texttt{softmaker-alteschwabacher} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Alte Schwabacher font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/alteschwabacher},
- url = {https://ctan.org/pkg/softmaker-alteschwabacher},
-}
-
-@manual{ctan-softmaker-artistic,
- title = {The \texttt{softmaker-artistic} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Artistic font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/artistic},
- url = {https://ctan.org/pkg/softmaker-artistic},
-}
-
-@manual{ctan-softmaker-baskervillenova,
- title = {The \texttt{softmaker-baskervillenova} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Baskerville Nova fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/baskervillenova},
- url = {https://ctan.org/pkg/softmaker-baskervillenova},
-}
-
-@manual{ctan-softmaker-bonita,
- title = {The \texttt{softmaker-bonita} package},
- subtitle = {\LaTeX{} Support files for SoftMaker Bonita},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/bonita},
- url = {https://ctan.org/pkg/softmaker-bonita},
-}
-
-@manual{ctan-softmaker-broadway,
- title = {The \texttt{softmaker-broadway} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Broadway fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/broadway},
- url = {https://ctan.org/pkg/softmaker-broadway},
-}
-
-@manual{ctan-softmaker-canossa,
- title = {The \texttt{softmaker-canossa} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Canossa fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/canossa},
- url = {https://ctan.org/pkg/softmaker-canossa},
-}
-
-@manual{ctan-softmaker-congress,
- title = {The \texttt{softmaker-congress} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Congress fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/congress},
- url = {https://ctan.org/pkg/softmaker-congress},
-}
-
-@manual{ctan-softmaker-delanocaps,
- title = {The \texttt{softmaker-delanocaps} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Delano Caps font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/delanocaps},
- url = {https://ctan.org/pkg/softmaker-delanocaps},
-}
-
-@manual{ctan-softmaker-digital,
- title = {The \texttt{softmaker-digital} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Digital fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/digital},
- url = {https://ctan.org/pkg/softmaker-digital},
-}
-
-@manual{ctan-softmaker-egyptiennestd,
- title = {The \texttt{softmaker-egyptiennestd} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker EgyptienneStd fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/egyptiennestd},
- url = {https://ctan.org/pkg/softmaker-egyptiennestd},
-}
-
-@manual{ctan-softmaker-flagstaff,
- title = {The \texttt{softmaker-flagstaff} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Flagstaff font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/flagstaff},
- url = {https://ctan.org/pkg/softmaker-flagstaff},
-}
-
-@manual{ctan-softmaker-grenoble,
- title = {The \texttt{softmaker-grenoble} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Grenoble fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/grenoble},
- url = {https://ctan.org/pkg/softmaker-grenoble},
-}
-
-@manual{ctan-softmaker-helium,
- title = {The \texttt{softmaker-helium} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Helium fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/helium},
- url = {https://ctan.org/pkg/softmaker-helium},
-}
-
-@manual{ctan-softmaker-heliumtwo,
- title = {The \texttt{softmaker-heliumtwo} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Helium fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/heliumtwo},
- url = {https://ctan.org/pkg/softmaker-heliumtwo},
-}
-
-@manual{ctan-softmaker-henderson,
- title = {The \texttt{softmaker-henderson} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Henderson font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/henderson},
- url = {https://ctan.org/pkg/softmaker-henderson},
-}
-
-@manual{ctan-softmaker-iceberg,
- title = {The \texttt{softmaker-iceberg} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Iceberg font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/iceberg},
- url = {https://ctan.org/pkg/softmaker-iceberg},
-}
-
-@manual{ctan-softmaker-inverserif,
- title = {The \texttt{softmaker-inverserif} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Inverserif font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/inverserif},
- url = {https://ctan.org/pkg/softmaker-inverserif},
-}
-
-@manual{ctan-softmaker-jugendstil,
- title = {The \texttt{softmaker-jugendstil} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Jugendstil font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/jugendstil},
- url = {https://ctan.org/pkg/softmaker-jugendstil},
-}
-
-@manual{ctan-softmaker-marseille,
- title = {The \texttt{softmaker-marseille} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Marseille fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/marseille},
- url = {https://ctan.org/pkg/softmaker-marseille},
-}
-
-@manual{ctan-softmaker-moab,
- title = {The \texttt{softmaker-moab} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Moab font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/moab},
- url = {https://ctan.org/pkg/softmaker-moab},
-}
-
-@manual{ctan-softmaker-nevada,
- title = {The \texttt{softmaker-nevada} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Nevada fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/nevada},
- url = {https://ctan.org/pkg/softmaker-nevada},
-}
-
-@manual{ctan-softmaker-newcastle,
- title = {The \texttt{softmaker-newcastle} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Newcastle fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/newcastle},
- url = {https://ctan.org/pkg/softmaker-newcastle},
-}
-
-@manual{ctan-softmaker-oldblackletter,
- title = {The \texttt{softmaker-oldblackletter} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Old Blackletter font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/oldblackletter},
- url = {https://ctan.org/pkg/softmaker-oldblackletter},
-}
-
-@manual{ctan-softmaker-quadrat,
- title = {The \texttt{softmaker-quadrat} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Quadrat fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/quadrat},
- url = {https://ctan.org/pkg/softmaker-quadrat},
-}
-
-@manual{ctan-softmaker-stonehand,
- title = {The \texttt{softmaker-stonehand} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Stone Handwriting font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/stonehand},
- url = {https://ctan.org/pkg/softmaker-stonehand},
-}
-
-@manual{ctan-softmaker-sunset,
- title = {The \texttt{softmaker-sunset} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Sunset fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/sunset},
- url = {https://ctan.org/pkg/softmaker-sunset},
-}
-
-@manual{ctan-softmaker-tampa,
- title = {The \texttt{softmaker-tampa} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Congress fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/tampa},
- url = {https://ctan.org/pkg/softmaker-tampa},
-}
-
-@manual{ctan-softmaker-vagrounded,
- title = {The \texttt{softmaker-vagrounded} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker VAGRounded font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/vagrounded},
- url = {https://ctan.org/pkg/softmaker-vagrounded},
-}
-
-@manual{ctan-softmaker-velo,
- title = {The \texttt{softmaker-velo} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Velo font},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/velo},
- url = {https://ctan.org/pkg/softmaker-velo},
-}
-
-@manual{ctan-softmaker-veracruz,
- title = {The \texttt{softmaker-veracruz} package},
- subtitle = {\LaTeX{} Support files for the SoftMaker Veracruz fonts},
- author = {Josef Kleber},
- date = {2016-08-23},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/veracruz},
- url = {https://ctan.org/pkg/softmaker-veracruz},
-}
-
-@manual{ctan-softmakerfreefont,
- title = {The \texttt{softmakerfreefont} package},
- subtitle = {Support files for SoftMaker free fonts},
- author = {Josef Kleber},
- date = {2020-12-18},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/softmakerfreefont/softmakerfreefont},
- url = {https://ctan.org/pkg/softmakerfreefont},
-}
-
-@manual{ctan-somedefs,
- title = {The \texttt{somedefs} package},
- subtitle = {Save loading all of another package},
- author = {Alan Jeffrey and {The \LaTeX{} Project Team}},
- date = {2020-10-02},
- version = {0.03},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/somedefs},
-}
-
-@manual{ctan-songbook,
- title = {The \texttt{songbook} package},
- subtitle = {Package for typesetting song lyrics and chord books},
- author = {Christopher Rath},
- date = {2017-04-18},
- version = {4.5},
- license = {lgpl2.1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/songbook},
- url = {https://ctan.org/pkg/songbook},
-}
-
-@manual{ctan-songproj,
- title = {The \texttt{songproj} package},
- subtitle = {Generate Beamer slideshows with song lyrics},
- author = {Tanguy Ortolo},
- date = {2022-11-16},
- version = {1.0.1},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/songproj},
- url = {https://ctan.org/pkg/songproj},
-}
-
-@manual{ctan-songs,
- title = {The \texttt{songs} package},
- subtitle = {Produce song books for church or fellowship},
- author = {Kevin W. Hamlen},
- date = {2019-06-26},
- version = {3.1},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/songs},
- url = {https://ctan.org/pkg/songs},
-}
-
-@manual{ctan-sorhyph,
- title = {The \texttt{sorhyph} package},
- subtitle = {Upper Sorbian hyphenation patterns},
- author = {Eduard Werner},
- date = {2016-11-05},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/language/hyphenation/sorhyph.tex},
- url = {https://ctan.org/pkg/sorhyph},
- annotation = {The package is superseded by the Upper Sorbian patterns available
- in the bundle.},
-}
-
-@manual{ctan-sort-by-letters,
- title = {The \texttt{sort-by-letters} package},
- subtitle = {Bibliography styles for alphabetic sorting},
- author = {Thomas van Oudenhove},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/sort-by-letters},
- url = {https://ctan.org/pkg/sort-by-letters},
-}
-
-@manual{ctan-soton,
- title = {The \texttt{soton} package},
- subtitle = {University of Southampton-compliant slides},
- author = {Max Blanco},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/soton},
- url = {https://ctan.org/pkg/soton},
- annotation = {The bundle contains two packages: which
- defines colour-ways, and , which uses the
- colours to produce compliant presentations.},
-}
-
-@manual{ctan-soul,
- title = {The \texttt{soul} package},
- subtitle = {Hyphenation for letterspacing, underlining, and more},
- author = {Heiko Oberdiek},
- date = {2023-02-19},
- version = {3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/soul},
- url = {https://ctan.org/pkg/soul},
-}
-
-@manual{ctan-soulpos,
- title = {The \texttt{soulpos} package},
- subtitle = {A fancy means of underlining},
- author = {Javier Bezos López},
- date = {2021-10-15},
- version = {1.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/soulpos},
- url = {https://ctan.org/pkg/soulpos},
- annotation = {The package combines the use of
- with the mechanism of current pdfTeX so that the
- user can create (almost) arbitrary underlining and similar
- “decorations”, including rules, leaders and even
- pictures (,
- , etc.). Unlike
- underlines, which are built by
- repeating small elements, here each chunk of text to be underlined
- is a single element.},
-}
-
-@manual{ctan-soup,
- title = {The \texttt{soup} package},
- subtitle = {Generate alphabet soup puzzles},
- author = {Thomas Simers},
- date = {2019-04-06},
- version = {1.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/soup},
- url = {https://ctan.org/pkg/soup},
-}
-
-@manual{ctan-source2e,
- title = {The \texttt{source2e} package},
- subtitle = {LaTeX2e kernel documentation for the entire system as one document},
- author = {{The \LaTeX{} Project Team}},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- url = {https://ctan.org/pkg/source2e},
-}
-
-@manual{ctan-sourcecodepro,
- title = {The \texttt{sourcecodepro} package},
- subtitle = {Use SourceCodePro with \TeX{}(-alike) systems},
- author = {Silke Hofstra},
- date = {2019-05-19},
- version = {2.7},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/sourcecodepro},
- url = {https://ctan.org/pkg/sourcecodepro},
-}
-
-@manual{ctan-sourcesanspro,
- title = {The \texttt{SourceSansPro} package},
- subtitle = {Use SourceSansPro with \TeX{}(-alike) systems},
- author = {Silke Hofstra},
- date = {2020-04-26},
- version = {2.8},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/sourcesanspro},
- url = {https://ctan.org/pkg/sourcesanspro},
-}
-
-@manual{ctan-sourceserifpro,
- title = {The \texttt{sourceserifpro} package},
- subtitle = {Use SourceSerifPro with \TeX{}(-alike) systems},
- author = {Silke Hofstra},
- date = {2018-11-10},
- version = {1.4},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/sourceserifpro},
- url = {https://ctan.org/pkg/sourceserifpro},
-}
-
-@manual{ctan-southarabian,
- title = {The \texttt{SouthArabian} package},
- subtitle = {A font for an archaic South Arabia script},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/southarabian},
- url = {https://ctan.org/pkg/southarabian},
-}
-
-@manual{ctan-soyombo,
- title = {The \texttt{soyombo} package},
- subtitle = {Fonts and a macro for Soyombo under \LaTeX{}},
- author = {Oliver Corff},
- date = {2016-06-24},
- version = {0.9},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/mongolian/soyombo},
- url = {https://ctan.org/pkg/soyombo},
-}
-
-@manual{ctan-spacekern,
- title = {The \texttt{spacekern} package},
- subtitle = {Kerning between words and against space},
- author = {Thomas Kelkel},
- date = {2022-06-13},
- version = {0.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/spacekern},
- url = {https://ctan.org/pkg/spacekern},
-}
-
-@manual{ctan-spacingtricks,
- title = {The \texttt{spacingtricks} package},
- subtitle = {Dealing with some spacing issues},
- author = {Antoine Missier},
- date = {2023-03-06},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/spacingtricks},
- url = {https://ctan.org/pkg/spacingtricks},
-}
-
-@manual{ctan-spain,
- title = {The \texttt{spain} package},
- subtitle = {Bibliography style for Spanish documents},
- author = {Jose Ra Portillo Fernandez},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/spain},
- url = {https://ctan.org/pkg/spain},
-}
-
-@manual{ctan-spalign,
- title = {The \texttt{spalign} package},
- subtitle = {Typeset matrices and arrays with spaces and semicolons as delimiters},
- author = {Joseph Rabinoff},
- date = {2018-01-07},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/spalign},
- url = {https://ctan.org/pkg/spalign},
-}
-
-@manual{ctan-spanish-mx,
- title = {The \texttt{spanish-mx} package},
- subtitle = {Typeset Spanish as in Mexico},
- author = {Luis Rivera},
- date = {2020-04-11},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/language/spanish/babel-contrib/spanish-mx},
- url = {https://ctan.org/pkg/spanish-mx},
-}
-
-@manual{ctan-spark-otf,
- title = {The \texttt{spark-otf} package},
- subtitle = {Support OpenType Spark fonts},
- author = {Herbert Voß},
- date = {2022-03-04},
- version = {0.05a},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/spark-otf},
- url = {https://ctan.org/pkg/spark-otf},
-}
-
-@manual{ctan-sparklines,
- title = {The \texttt{sparklines} package},
- subtitle = {Drawing sparklines: intense, simple, wordlike graphics},
- author = {Andreas Löffler and Daniel H. Luecking and Emil van Miltenburg},
- date = {2016-12-31},
- version = {1.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/sparklines},
- url = {https://ctan.org/pkg/sparklines},
-}
-
-@manual{ctan-spath3,
- title = {The \texttt{spath3} package},
- subtitle = {Manipulate “soft paths” in PGF},
- author = {Andrew Stacey},
- date = {2022-10-26},
- version = {2.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/spath3},
- url = {https://ctan.org/pkg/spath3},
-}
-
-@manual{ctan-spbmark,
- title = {The \texttt{spbmark} package},
- subtitle = {Customize superscripts and subscripts},
- author = {Qu Yi},
- date = {2022-10-15},
- version = {1.42},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/spbmark},
- url = {https://ctan.org/pkg/spbmark},
- annotation = {This package provides three commands ,
- and to improve the layout
- of superscripts and subscripts which can be adjusted with
- respect to relative position and format, and can be used
- in text and math mode.},
-}
-
-@manual{ctan-spectral,
- title = {The \texttt{spectral} package},
- subtitle = {Spectral fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-27},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/spectral},
- url = {https://ctan.org/pkg/spectral},
-}
-
-@manual{ctan-spectralsequences,
- title = {The \texttt{spectralsequences} package},
- subtitle = {Print spectral sequence diagrams using PGF/TikZ},
- author = {Hood Chatham},
- date = {2023-01-29},
- version = {1.3.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/spectralsequences},
- url = {https://ctan.org/pkg/spectralsequences},
-}
-
-@manual{ctan-spelling,
- title = {The \texttt{spelling} package},
- subtitle = {Support for spell-checking of LuaTeX documents},
- author = {Stephan Hennig},
- date = {2016-06-24},
- version = {0.41},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/spelling},
- url = {https://ctan.org/pkg/spelling},
-}
-
-@manual{ctan-sphack,
- title = {The \texttt{sphack} package},
- subtitle = {Patch \LaTeX{} kernel spacing macros},
- author = {Oliver Pretzel},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sphack},
- url = {https://ctan.org/pkg/sphack},
- annotation = {Change the kernel internal /
- so that it is also invisible in vertical mode.},
-}
-
-@manual{ctan-sphdthesis,
- title = {The \texttt{sphdthesis} package},
- subtitle = {\LaTeX{} template for writing PhD Thesis},
- author = {Saurabh Garg},
- date = {2017-04-18},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sphdthesis},
- url = {https://ctan.org/pkg/sphdthesis},
-}
-
-@manual{ctan-sphyphb,
- title = {The \texttt{sphyphb} package},
- subtitle = {Experimental Spanish hyphenation patterns},
- author = {Rodrigo Medina},
- date = {2020-03-04},
- version = {2.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/spanish/sphyphb},
- url = {https://ctan.org/pkg/sphyphb},
-}
-
-@manual{ctan-spiderweb,
- title = {The \texttt{spiderweb} package},
- subtitle = {A tool for building WEB systems},
- author = {Norman Ramsey},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/web/spiderweb},
- url = {https://ctan.org/pkg/spiderweb},
-}
-
-@manual{ctan-spie,
- title = {The \texttt{spie} package},
- subtitle = {Support for formatting SPIE Proceedings manuscripts},
- author = {Kenneth M Hanson},
- date = {2017-04-18},
- version = {3.25},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/spie},
- url = {https://ctan.org/pkg/spie},
-}
-
-@manual{ctan-spix,
- title = {The \texttt{SpiX} package},
- subtitle = {Yet another \TeX{} compilation tool: simple, human readable, no option, no magic},
- author = {Louis Paternault},
- date = {2022-11-18},
- version = {1.3.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/spix},
- url = {https://ctan.org/pkg/spix},
-}
-
-@manual{ctan-splines,
- title = {The \texttt{splines} package},
- subtitle = {MetaPost macros for drawing cubic spline interpolants},
- author = {Daniel H. Luecking},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/splines},
- url = {https://ctan.org/pkg/splines},
-}
-
-@manual{ctan-splint,
- title = {The \texttt{splint} package},
- subtitle = {Write LALR(1) parsers in \TeX{} using bison and flex},
- author = {Alexander Shibakov},
- date = {2020-10-11},
- version = {1.1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/splint},
- url = {https://ctan.org/pkg/splint},
- annotation = {The bundle provides the means of building parsers and scanners in
- \TeX{}. and are used to create the
- tables that drive the automata programmed as \TeX{} macros.},
-}
-
-@manual{ctan-split,
- title = {The \texttt{split} package},
- subtitle = {Box two chunks of text side-by side},
- author = {Eric Skinner},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/split.tex},
- url = {https://ctan.org/pkg/split},
-}
-
-@manual{ctan-splitbib,
- title = {The \texttt{splitbib} package},
- subtitle = {Split and reorder your bibliography},
- author = {Nicolas Markey},
- date = {2016-06-24},
- version = {1.17},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/splitbib},
- url = {https://ctan.org/pkg/splitbib},
-}
-
-@manual{ctan-splitindex,
- title = {The \texttt{splitindex} package},
- subtitle = {Unlimited number of indexes},
- author = {Markus Kohm},
- date = {2020-03-09},
- version = {1.2c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/splitindex},
- url = {https://ctan.org/pkg/splitindex},
- annotation = {SplitIndex consists of a \LaTeX{} package, , and a
- small program, . The package may be used to
- produce one index or several indexes. Without splitindex (for
- example, using the package), the
- number of indexes is limited by the number of \TeX{}’s output
- streams. But using the program you may use even more than 16
- indexes: splitidx outputs only a single file
- and the program splits that file into several raw index files and
- calls your favorite index processor for each of the files.},
-}
-
-@manual{ctan-spot,
- title = {The \texttt{spot} package},
- subtitle = {Spotlight highlighting for Beamer},
- author = {Anders O. F. Hendrickson},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/spot},
- url = {https://ctan.org/pkg/spot},
-}
-
-@manual{ctan-spotcolor,
- title = {The \texttt{spotcolor} package},
- subtitle = {Spot colours for pdfLaTeX},
- author = {Jens Elstner},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/spotcolor},
- url = {https://ctan.org/pkg/spotcolor},
-}
-
-@manual{ctan-spreadtab,
- title = {The \texttt{spreadtab} package},
- subtitle = {Spreadsheet features for \LaTeX{} tabular environments},
- author = {Christian Tellechea},
- date = {2019-02-27},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/spreadtab},
- url = {https://ctan.org/pkg/spreadtab},
-}
-
-@manual{ctan-springer,
- title = {The \texttt{springer} package},
- subtitle = {Macros for Springer journals},
- author = {{Springer Verlag}},
- date = {2016-06-24},
- version = {1.8},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/springer/svjour},
- url = {https://ctan.org/pkg/springer},
-}
-
-@manual{ctan-sprite,
- title = {The \texttt{sprite} package},
- subtitle = {Macros to typeset simple bitmaps with \LaTeX{}},
- author = {Martin Costabel},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sprite},
- url = {https://ctan.org/pkg/sprite},
-}
-
-@manual{ctan-spverbatim,
- title = {The \texttt{spverbatim} package},
- subtitle = {Allow line breaks within \textbackslash{}verb and verbatim output},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/spverbatim},
- url = {https://ctan.org/pkg/spverbatim},
- annotation = {LaTeX's macro treats its argument as an unbreakable
- unit of text. This can lead to poor typesetting, especially when
- the argument is long. The spverbatim package provides an
- macro that is analogous to and
- an environment that is analogous to
- with the difference being that
- and allow \LaTeX{} to break lines at space characters.},
-}
-
-@manual{ctan-sqltex,
- title = {The \texttt{SQLTeX} package},
- subtitle = {An SQL Preprocessor for \LaTeX{}},
- author = {Oscar van Eijk},
- date = {2022-02-04},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/SQLTeX},
- url = {https://ctan.org/pkg/sqltex},
-}
-
-@manual{ctan-sqrcaps,
- title = {The \texttt{sqrcaps} package},
- subtitle = {Square Capitals manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/sqrcaps},
- url = {https://ctan.org/pkg/sqrcaps},
-}
-
-@manual{ctan-sr-half-compound,
- title = {The \texttt{sr-half-compound} package},
- subtitle = {Hyphenation of Serbian half-compound words in cyrillic scripts},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/serbian/filipovic/sr-half-compound},
- url = {https://ctan.org/pkg/sr-half-compound},
-}
-
-@manual{ctan-sr-hyphen-spec,
- title = {The \texttt{sr-hyphen-spec} package},
- subtitle = {Hyphenation of special cases in Serbian},
- author = {Zoran T. Filipović},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/serbian/filipovic/sr-hyphen-spec},
- url = {https://ctan.org/pkg/sr-hyphen-spec},
-}
-
-@manual{ctan-sr-vorl,
- title = {The \texttt{sr-vorl} package},
- subtitle = {Class for Springer books},
- author = {Jonas L. Dabelow},
- date = {2021-05-24},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/springer/sr-vorl},
- url = {https://ctan.org/pkg/sr-vorl},
-}
-
-@manual{ctan-srbtiks,
- title = {The \texttt{srbtiks} package},
- subtitle = {Font STIX2 for Serbian and Macedonian},
- author = {Uroš Stefanović},
- date = {2022-05-26},
- version = {1.0},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/srbtiks},
- url = {https://ctan.org/pkg/srbtiks},
- annotation = {The package is the extension of the
- package that enables usage of the STIX2 font in \LaTeX{} for the Serbian and Macedonian languages
- (therefore, it is required to have the package installed).},
-}
-
-@manual{ctan-srcltx,
- title = {The \texttt{srcltx} package},
- subtitle = {Jump between DVI and \TeX{} files},
- author = {Stefan Ulrich},
- date = {2016-06-24},
- version = {1.6},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/srcltx},
- url = {https://ctan.org/pkg/srcltx},
- annotation = {Provides a insertion into generated .dvi files allowing
- one to jump from the .dvi file to the .tex source and back again
- (given a .dvi viewer that supports this, such as Yap or
- xdvi version 22.38 or later). This was originally written by
- Aleksander Simonic, the author of the
- shell.},
-}
-
-@manual{ctan-srcredact,
- title = {The \texttt{srcredact} package},
- subtitle = {A tool for redacting sources},
- author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/srcredact},
- url = {https://ctan.org/pkg/srcredact},
-}
-
-@manual{ctan-srdp-mathematik,
- title = {The \texttt{srdp-mathematik} package},
- subtitle = {Typeset Austrian SRDP in mathematics},
- author = {Christoph Weberndorfer},
- date = {2022-12-16},
- version = {1.11.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/srdp-mathematik},
- url = {https://ctan.org/pkg/srdp-mathematik},
- annotation = {This package provides basic commands for the defined formats of
- the Austrian sRDP (Standardisierte Reife- und Diplomprüfung)
- in mathematics. Furthermore, it includes ways to implement
- answers in the file which can optionally be
- displayed in the file, and it offers a way to
- vary the answers in order to create different groups
- (e. g. for tests) easily.},
-}
-
-@manual{ctan-srhyphc,
- title = {The \texttt{srhyphc} package},
- subtitle = {Hyphenation patterns for Serbian Cyrillic},
- author = {Aleksandar Jelenak},
- date = {2016-11-05},
- version = {1.0a},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/hyphenation/srhyphc.tex},
- url = {https://ctan.org/pkg/srhyphc},
-}
-
-@manual{ctan-srune,
- title = {The \texttt{srune} package},
- subtitle = {Saxon rune font},
- author = {Jobst-Hartmut Lüddecke},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/srune},
- url = {https://ctan.org/pkg/srune},
-}
-
-@manual{ctan-sseq,
- title = {The \texttt{sseq} package},
- subtitle = {Typesetting spectral sequence charts},
- author = {Tilman Bauer},
- date = {2016-06-24},
- version = {2.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sseq},
- url = {https://ctan.org/pkg/sseq},
- annotation = {The package provides commands to draw spectral sequence diagrams,
- providing facilities for clipping and arranging multiple symbols
- so that they do not overlap. The package is built using
- , and shares that systems large
- demands for \TeX{} system memory. Its geometric commands are based
- on a turtle graphics model, and control structures such as loops
- and conditionals are available.},
-}
-
-@manual{ctan-sshdbk10,
- title = {The \texttt{sshdbk10} package},
- subtitle = {Sans headers in book style},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/sshdbk10.sty},
- url = {https://ctan.org/pkg/sshdbk10},
-}
-
-@manual{ctan-sslides,
- title = {The \texttt{sslides} package},
- subtitle = {Slides with headers and footers},
- author = {behzad Salimi},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sslides},
- url = {https://ctan.org/pkg/sslides},
- annotation = {The class provides a variant of the \LaTeX{} standard
- class, in which the user may
- add headers and footers to the slide.},
-}
-
-@manual{ctan-ssqquote,
- title = {The \texttt{ssqquote} package},
- subtitle = {Use the cmssq fonts},
- author = {Ulrik Vieth and Michel Goossens},
- date = {2016-06-24},
- version = {1.3},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ssqquote},
- url = {https://ctan.org/pkg/ssqquote},
-}
-
-@manual{ctan-stables,
- title = {The \texttt{stables} package},
- subtitle = {Simplified Plain \TeX{} tables},
- author = {Robert Nilsson},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/stables},
- url = {https://ctan.org/pkg/stables},
-}
-
-@manual{ctan-stabular,
- title = {The \texttt{stabular} package},
- subtitle = {Multipage tabular},
- author = {Sigitas Tolušis},
- date = {2021-10-11},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools},
- url = {https://ctan.org/pkg/stabular},
-}
-
-@manual{ctan-stack,
- title = {The \texttt{stack} package},
- subtitle = {Tools to define and use stacks},
- author = {Benjamin Bayart},
- date = {2016-06-24},
- version = {1.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stack},
- url = {https://ctan.org/pkg/stack},
- annotation = {The package provides a small set of commands to implement stacks
- independently of \TeX{}'s own stack. As an example of how the stacks
- might be used, the documentation offers a small "relinput" package
- that implements the backbone of the
- package.},
-}
-
-@manual{ctan-stackengine,
- title = {The \texttt{stackengine} package},
- subtitle = {Highly customised stacking of objects, insets, baseline changes, etc},
- author = {Steven B. Segletes},
- date = {2021-07-22},
- version = {4.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stackengine},
- url = {https://ctan.org/pkg/stackengine},
-}
-
-@manual{ctan-stackrel,
- title = {The \texttt{stackrel} package},
- subtitle = {Enhancement to the \textbackslash{}stackrel command},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/stackrel.dtx},
- url = {https://ctan.org/pkg/stackrel},
-}
-
-@manual{ctan-stage,
- title = {The \texttt{stage} package},
- subtitle = {A \LaTeX{} class for stage plays},
- author = {Reuben Thomas and Robert Jahrling},
- date = {2022-03-30},
- version = {1.03},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stage},
- url = {https://ctan.org/pkg/stage},
-}
-
-@manual{ctan-stampinclude,
- title = {The \texttt{stampinclude} package},
- subtitle = {Inclusion based on .aux file date stamps},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/stampinclude.dtx},
- url = {https://ctan.org/pkg/stampinclude},
-}
-
-@manual{ctan-standalone,
- title = {The \texttt{standalone} package},
- subtitle = {Compile \TeX{} pictures stand-alone or as part of a document},
- author = {Martin Scharrer},
- date = {2022-10-11},
- version = {1.3b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/standalone},
- url = {https://ctan.org/pkg/standalone},
-}
-
-@manual{ctan-stanli,
- title = {The \texttt{stanli} package},
- subtitle = {TikZ Library for Structural Analysis},
- author = {Jürgen Hackl},
- date = {2016-12-29},
- version = {3.0},
- license = {gpl,lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/stanli},
- url = {https://ctan.org/pkg/stanli},
-}
-
-@manual{ctan-starfont,
- title = {The \texttt{starfont} package},
- subtitle = {The StarFont Sans astrological font},
- author = {Matthew Skala},
- date = {2016-06-24},
- version = {1.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/starfont},
- url = {https://ctan.org/pkg/starfont},
-}
-
-@manual{ctan-startex,
- title = {The \texttt{startex} package},
- subtitle = {An XML-inspired format for student use},
- author = {Dag Langmyhr},
- date = {2016-06-24},
- version = {1.04},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/startex},
- url = {https://ctan.org/pkg/startex},
-}
-
-@manual{ctan-statex,
- title = {The \texttt{statex} package},
- subtitle = {Statistics style},
- author = {Rodney Sparapani},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/statex},
- url = {https://ctan.org/pkg/statex},
- annotation = {A package defining many macros for items of significance in
- statistical presentations. An updated, but incompatible, version
- of the package is available:
- .},
-}
-
-@manual{ctan-statex2,
- title = {The \texttt{statex2} package},
- subtitle = {Statistics style},
- author = {Rodney Sparapani},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/statex2},
- url = {https://ctan.org/pkg/statex2},
- annotation = {The package defines many macros for items of significance in
- statistical presentations. It represents a syntax-incompatible
- upgrade of .},
-}
-
-@manual{ctan-statistics,
- title = {The \texttt{statistics} package},
- subtitle = {Compute and typeset statistics tables and graphics},
- author = {Julien Rivaud},
- date = {2019-10-05},
- version = {2.2},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/statistics},
- url = {https://ctan.org/pkg/statistics},
-}
-
-@manual{ctan-statistik,
- title = {The \texttt{statistik} package},
- subtitle = {Store statistics of a document},
- author = {Michael Niedermair},
- date = {2016-06-24},
- version = {0.03},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/statistik},
- url = {https://ctan.org/pkg/statistik},
-}
-
-@manual{ctan-statmath,
- title = {The \texttt{statmath} package},
- subtitle = {A \LaTeX{} package for simple use of statistical notation},
- author = {Sebastian Ankargren},
- date = {2018-04-29},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/statmath},
- url = {https://ctan.org/pkg/statmath},
-}
-
-@manual{ctan-statrep,
- title = {The \texttt{statrep} package},
- subtitle = {Displays SAS code and results of running the code},
- author = {Tim Arnold},
- date = {2017-04-18},
- version = {1.07},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/statrep},
- url = {https://ctan.org/pkg/statrep},
-}
-
-@manual{ctan-staves,
- title = {The \texttt{staves} package},
- subtitle = {Typeset Icelandic staves and runic letters},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/staves},
- url = {https://ctan.org/pkg/staves},
-}
-
-@manual{ctan-stdclsdv,
- title = {The \texttt{stdclsdv} package},
- subtitle = {Provide sectioning information for package writers},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.1a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stdclsdv},
- url = {https://ctan.org/pkg/stdclsdv},
-}
-
-@manual{ctan-stdpage,
- title = {The \texttt{stdpage} package},
- subtitle = {Standard pages with n lines of at most m characters each},
- author = {Georg Michael Verweyen},
- date = {2016-06-24},
- version = {0.6},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stdpage},
- url = {https://ctan.org/pkg/stdpage},
-}
-
-@manual{ctan-stealcaps,
- title = {The \texttt{stealcaps} package},
- subtitle = {“Steal” small capitals},
- author = {Ruben Giannotti},
- date = {2022-11-07},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stealcaps},
- url = {https://ctan.org/pkg/stealcaps},
-}
-
-@manual{ctan-steinmetz,
- title = {The \texttt{steinmetz} package},
- subtitle = {Print Steinmetz notation},
- author = {Enrico Gregorio},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/steinmetz},
- url = {https://ctan.org/pkg/steinmetz},
-}
-
-@manual{ctan-stellenbosch,
- title = {The \texttt{stellenbosch} package},
- subtitle = {Stellenbosch thesis bundle},
- author = {Danie Els},
- date = {2016-06-24},
- version = {11a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stellenbosch},
- url = {https://ctan.org/pkg/stellenbosch},
-}
-
-@manual{ctan-step,
- title = {The \texttt{step} package},
- subtitle = {A free Times-like font},
- author = {Daniel Benjamin Miller},
- date = {2021-01-02},
- version = {2.0.5},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/step},
- url = {https://ctan.org/pkg/step},
-}
-
-@manual{ctan-stepgreek,
- title = {The \texttt{stepgreek} package},
- subtitle = {A free Times/Elsevier-style Greek font},
- author = {Daniel Benjamin Miller},
- date = {2020-12-13},
- version = {3.0b1},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/stepgreek},
- url = {https://ctan.org/pkg/stepgreek},
- annotation = {This is a beta version of the STEP Greek font.
- Only a regular face is available at present, though there
- are plans to add italic, bold and bold italic in the future.
- The font only supports LGR in \TeX{} and is meant to serve as
- a Greek complement to a Times-like font such as
- .
- The font supports polytonic Greek.},
-}
-
-@manual{ctan-stex,
- title = {The \texttt{sTeX} package},
- subtitle = {An Infrastructure for Semantic Preloading of \LaTeX{} Documents},
- author = {Michael Kohlhase and Dennis Müller},
- date = {2022-09-14},
- version = {3.2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stex},
- url = {https://ctan.org/pkg/stex},
-}
-
-@manual{ctan-stfloats,
- title = {The \texttt{stfloats} package},
- subtitle = {Commands to control the presentation of floats},
- author = {Sigitas Tolušis},
- date = {2021-10-11},
- version = {3.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools},
- url = {https://ctan.org/pkg/stfloats},
-}
-
-@manual{ctan-stickstoo,
- title = {The \texttt{SticksToo} package},
- subtitle = {A reworking of STIX2},
- author = {Michael Sharpe},
- date = {2021-10-18},
- version = {1.035},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/stickstoo},
- url = {https://ctan.org/pkg/stickstoo},
- annotation = {SticksToo is a reworking of the STIX2 fonts with support files
- focussing on enhancements of support for \LaTeX{} users wishing
- to be able to access more of its features. A companion addition
- to the package (version 1.55)
- provides a matching math package using STIX2 letters (Roman and Greek)
- with symbols.},
-}
-
-@manual{ctan-stix,
- title = {The \texttt{stix} package},
- subtitle = {OpenType Unicode maths fonts},
- author = {{The STI Pub Companies} and Mark Doyle and Khaled Hosny and Will Robertson and David M. Jones},
- date = {2018-04-18},
- version = {1.1.3},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/stix},
- url = {https://ctan.org/pkg/stix},
-}
-
-@manual{ctan-stix2-otf,
- title = {The \texttt{stix2-otf} package},
- subtitle = {OpenType Unicode text and maths fonts},
- author = {{The STI Pub Companies} and David M. Jones},
- date = {2021-04-02},
- version = {2.12},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/stix2-otf},
- url = {https://ctan.org/pkg/stix2-otf},
-}
-
-@manual{ctan-stix2-type1,
- title = {The \texttt{stix2-type1} package},
- subtitle = {Type1 versions of the STIX Two OpenType fonts},
- author = {{The STI Pub Companies} and David M. Jones},
- date = {2021-01-16},
- version = {2.0.2},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/stix2-type1},
- url = {https://ctan.org/pkg/stix2-type1},
-}
-
-@manual{ctan-stmaryrd,
- title = {The \texttt{stmaryrd} package},
- subtitle = {St Mary Road symbols for theoretical computer science},
- author = {Alan Jeffrey and Jeremy Gibbons and Taco Hoekwater},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/stmaryrd},
- url = {https://ctan.org/pkg/stmaryrd},
-}
-
-@manual{ctan-stoneipa,
- title = {The \texttt{stoneipa} package},
- subtitle = {Support for the Stone Sans Phonetic font},
- author = {Leah Velleman},
- date = {2019-06-21},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/stoneipa},
- url = {https://ctan.org/pkg/stoneipa},
-}
-
-@manual{ctan-storebox,
- title = {The \texttt{storebox} package},
- subtitle = {Storing information for reuse},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.3a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/storebox},
- url = {https://ctan.org/pkg/storebox},
-}
-
-@manual{ctan-storecmd,
- title = {The \texttt{storecmd} package},
- subtitle = {Store the name of a defined command in a container},
- author = {Ahmed Musa},
- date = {2016-06-24},
- version = {0.0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/storecmd},
- url = {https://ctan.org/pkg/storecmd},
-}
-
-@manual{ctan-strands,
- title = {The \texttt{strands} package},
- subtitle = {Draw objects constructed from strands},
- author = {Diego Arcis},
- date = {2021-07-12},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/strands},
- url = {https://ctan.org/pkg/strands},
-}
-
-@manual{ctan-streetex,
- title = {The \texttt{streetex} package},
- subtitle = {Structural organic chemistry},
- author = {Igor Strokov},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/streetex},
- url = {https://ctan.org/pkg/streetex},
-}
-
-@manual{ctan-stricttex,
- title = {The \texttt{stricttex} package},
- subtitle = {Strictly balanced brackets and numbers in command names},
- author = {Sebastian Ørsted},
- date = {2020-09-08},
- version = {0.2beta},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/stricttex},
- url = {https://ctan.org/pkg/stricttex},
-}
-
-@manual{ctan-stringenc,
- title = {The \texttt{stringenc} package},
- subtitle = {Converting a string between different encodings},
- author = {Heiko Oberdiek},
- date = {2019-12-02},
- version = {1.12},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stringenc},
- url = {https://ctan.org/pkg/stringenc},
- annotation = {This package provides for converting
- a string between different encodings.
- Both and
- are supported.},
-}
-
-@manual{ctan-stringstrings,
- title = {The \texttt{stringstrings} package},
- subtitle = {String manipulation for cosmetic and programming application},
- author = {Steven B. Segletes},
- date = {2020-12-08},
- version = {1.24},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stringstrings},
- url = {https://ctan.org/pkg/stringstrings},
-}
-
-@manual{ctan-structmech,
- title = {The \texttt{structmech} package},
- subtitle = {A TikZ command set for structural mechanics drawings},
- author = {Theodore Chang},
- date = {2021-04-25},
- version = {1.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/structmech},
- url = {https://ctan.org/pkg/structmech},
- annotation = {This package provides a collection of
- commands that allow users
- to draw basic elements in material/structural mechanics.
- It is thus possible to draw member forces, nodal forces/displacements,
- various boundary conditions, internal force distributions, etc.},
-}
-
-@manual{ctan-struktex,
- title = {The \texttt{struktex} package},
- subtitle = {Draw Nassi-Shneiderman charts},
- author = {Jobst Hoffmann},
- date = {2018-06-04},
- version = {2.3c-0-g7d3fc5b},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/struktex},
- url = {https://ctan.org/pkg/struktex},
-}
-
-@manual{ctan-sttools,
- title = {The \texttt{sttools} package},
- subtitle = {Various macros},
- author = {Sigitas Tolušis and Vytas Statulevičius},
- date = {2021-10-11},
- version = {3.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools},
- url = {https://ctan.org/pkg/sttools},
-}
-
-@manual{ctan-stubs,
- title = {The \texttt{stubs} package},
- subtitle = {Create tear-off stubs at the bottom of a page},
- author = {Norbert Stuhrmann},
- date = {2016-06-24},
- version = {0.1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/stubs},
- url = {https://ctan.org/pkg/stubs},
- annotation = {The command creates as many repetitions as
- possible of its argument, at the bottom of the page; these stubs
- may be used (for example) for contact information.},
-}
-
-@manual{ctan-studenthandouts,
- title = {The \texttt{Student Handouts} package},
- subtitle = {Management and styling of student handout projects},
- author = {James Fennell},
- date = {2019-06-21},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/studenthandouts},
- url = {https://ctan.org/pkg/studenthandouts},
-}
-
-@manual{ctan-studies-lm,
- title = {The \texttt{studies-lm} package},
- subtitle = {An interactive \LaTeX{} course for students},
- author = {Christine Römer},
- date = {2019-06-21},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/german/studies-lm},
- url = {https://ctan.org/pkg/studies-lm},
-}
-
-@manual{ctan-sty2dtx,
- title = {The \texttt{sty2dtx} package},
- subtitle = {Create a .dtx file from a .sty file},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {2.4},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/sty2dtx},
- url = {https://ctan.org/pkg/sty2dtx},
-}
-
-@manual{ctan-style-showcase,
- title = {The \texttt{style-showcase} package},
- subtitle = {Make a web page to compare styles},
- author = {Jim Hefferon},
- date = {2016-06-24},
- version = {1.0.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/style_showcase},
- url = {https://ctan.org/pkg/style-showcase},
-}
-
-@manual{ctan-styledcmd,
- title = {The \texttt{styledcmd} package},
- subtitle = {Handling multiple versions of user-defined macros},
- author = {Paolo De Donato},
- date = {2022-12-13},
- version = {2.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/styledcmd},
- url = {https://ctan.org/pkg/styledcmd},
-}
-
-@manual{ctan-suanpan,
- title = {The \texttt{suanpan} package},
- subtitle = {MetaPost macros for drawing Chinese and Japanese abaci},
- author = {Denis B. Roegel},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/suanpan},
- url = {https://ctan.org/pkg/suanpan},
-}
-
-@manual{ctan-subcaption,
- title = {The \texttt{subcaption} package},
- subtitle = {Support for sub-captions},
- author = {Axel Sommerfeldt},
- date = {2023-03-12},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/caption},
- url = {https://ctan.org/pkg/subcaption},
-}
-
-@manual{ctan-subdepth,
- title = {The \texttt{subdepth} package},
- subtitle = {Unify maths subscript height},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subdepth},
- url = {https://ctan.org/pkg/subdepth},
-}
-
-@manual{ctan-subdocs,
- title = {The \texttt{subdocs} package},
- subtitle = {Multifile documents},
- author = {Javier Bezos López},
- date = {2019-07-06},
- version = {0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subdocs},
- url = {https://ctan.org/pkg/subdocs},
-}
-
-@manual{ctan-subeqn,
- title = {The \texttt{subeqn} package},
- subtitle = {Package for subequation numbering},
- author = {Donald Arseneau and Johannes L. Braams},
- date = {2016-06-24},
- version = {2.0b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subeqn},
- url = {https://ctan.org/pkg/subeqn},
-}
-
-@manual{ctan-subeqnarray,
- title = {The \texttt{subeqnarray} package},
- subtitle = {Equation array with sub numbering},
- author = {Johannes L. Braams},
- date = {2016-06-24},
- version = {2.1c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subeqnarray},
- url = {https://ctan.org/pkg/subeqnarray},
-}
-
-@manual{ctan-subfig,
- title = {The \texttt{subfig} package},
- subtitle = {Figures broken into subfigures},
- author = {Steven Douglas Cochran and Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subfig},
- url = {https://ctan.org/pkg/subfig},
-}
-
-@manual{ctan-subfigmat,
- title = {The \texttt{subfigmat} package},
- subtitle = {Automates layout when using the subfigure package},
- author = {Bil Kleb},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subfigmat},
- url = {https://ctan.org/pkg/subfigmat},
- annotation = {Defines an array/matrix-type environment that is used with the
- package to automate the
- placement of subfigures (or tables or text). The subfigures are
- placed left-to-right, top-to-bottom.},
-}
-
-@manual{ctan-subfigure,
- title = {The \texttt{subfigure} package},
- subtitle = {Deprecated: Figures divided into subfigures},
- author = {Steven Douglas Cochran},
- date = {2016-06-24},
- version = {2.1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/subfigure},
- url = {https://ctan.org/pkg/subfigure},
-}
-
-@manual{ctan-subfiles,
- title = {The \texttt{subfiles} package},
- subtitle = {Individual typesetting of subfiles of a “main” document},
- author = {Gernot Salzer and Federico Garcia-De Castro},
- date = {2020-11-15},
- version = {2.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subfiles},
- url = {https://ctan.org/pkg/subfiles},
-}
-
-@manual{ctan-subfloat,
- title = {The \texttt{subfloat} package},
- subtitle = {Sub-numbering for figures and tables},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {2.14},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subfloat},
- url = {https://ctan.org/pkg/subfloat},
-}
-
-@manual{ctan-sublabel,
- title = {The \texttt{sublabel} package},
- subtitle = {Sub-number counters},
- author = {Patrick W. Daly},
- date = {2016-06-24},
- version = {4.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/preprint},
- url = {https://ctan.org/pkg/sublabel},
-}
-
-@manual{ctan-subscript,
- title = {The \texttt{subscript} package},
- subtitle = {Provides the \textbackslash{}textsubscript command},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/fragments},
- url = {https://ctan.org/pkg/subscript},
-}
-
-@manual{ctan-substances,
- title = {The \texttt{substances} package},
- subtitle = {A database of chemicals},
- author = {Clemens Niederberger},
- date = {2016-06-24},
- version = {0.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/substances},
- url = {https://ctan.org/pkg/substances},
-}
-
-@manual{ctan-substitutefont,
- title = {The \texttt{substitutefont} package},
- subtitle = {Easy font substitution},
- author = {Günter Milde},
- date = {2016-06-24},
- version = {0.1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/substitutefont},
- url = {https://ctan.org/pkg/substitutefont},
-}
-
-@manual{ctan-substr,
- title = {The \texttt{substr} package},
- subtitle = {Deal with substrings in strings},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {1.2},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/substr},
- url = {https://ctan.org/pkg/substr},
-}
-
-@manual{ctan-subsupscripts,
- title = {The \texttt{subsupscripts} package},
- subtitle = {A range of sub- and superscript commands},
- author = {Riccardo Bresciani},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subsupscripts},
- url = {https://ctan.org/pkg/subsupscripts},
-}
-
-@manual{ctan-subtext,
- title = {The \texttt{subtext} package},
- subtitle = {Easy text-style subscripts in math mode},
- author = {Palle Jørgensen},
- date = {2019-05-30},
- version = {1.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/subtext},
- url = {https://ctan.org/pkg/subtext},
- annotation = {This \LaTeX{} package gives easy access to text-style
- subscripts in math mode by providing an optional argument
- to .
- This is implemented by using the command
- from the package.},
-}
-
-@manual{ctan-sudoku,
- title = {The \texttt{sudoku} package},
- subtitle = {Create sudoku grids},
- author = {Paul Abraham},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sudoku},
- url = {https://ctan.org/pkg/sudoku},
-}
-
-@manual{ctan-sudokubundle,
- title = {The \texttt{sudokubundle} package},
- subtitle = {A set of sudoku-related packages},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sudokubundle},
- url = {https://ctan.org/pkg/sudokubundle},
-}
-
-@manual{ctan-sueterlin,
- title = {The \texttt{sueterlin} package},
- subtitle = {Calligraphic font for typesetting handwriting in Sütterlin style},
- author = {Berthold Ludewig},
- date = {2016-07-29},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/gothic/sueterlin},
- url = {https://ctan.org/pkg/sueterlin},
-}
-
-@manual{ctan-suffix,
- title = {The \texttt{suffix} package},
- subtitle = {Define commands with suffixes},
- author = {David Kastrup},
- date = {2016-06-24},
- version = {1.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/bigfoot},
- url = {https://ctan.org/pkg/suffix},
- annotation = {The command enables you to define and
- maintain command variants like and even
- ; the package requires
- version 2.},
-}
-
-@manual{ctan-suftesi,
- title = {The \texttt{suftesi} package},
- subtitle = {A document class for typesetting theses, books and articles},
- author = {Ivan Valbusa},
- date = {2021-11-01},
- version = {3.2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/suftesi},
- url = {https://ctan.org/pkg/suftesi},
-}
-
-@manual{ctan-sugconf,
- title = {The \texttt{sugconf} package},
- subtitle = {SAS(R) user group conference proceedings document class},
- author = {Ronald J. Fehd},
- date = {2021-04-03},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/conferences/sugconf},
- url = {https://ctan.org/pkg/sugconf},
-}
-
-@manual{ctan-superiors,
- title = {The \texttt{superiors} package},
- subtitle = {Attach superior figures to a font family},
- author = {Michael Sharpe},
- date = {2019-08-19},
- version = {1.06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/superiors},
- url = {https://ctan.org/pkg/superiors},
-}
-
-@manual{ctan-supertabular,
- title = {The \texttt{supertabular} package},
- subtitle = {A multi-page tables package},
- author = {Johannes L. Braams},
- date = {2020-02-02},
- version = {4.1g},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/supertabular},
- url = {https://ctan.org/pkg/supertabular},
- annotation = {The package was a predecessor of
- ; the newer package
- (designed on quite different principles) is easier to use and more
- flexible, in many cases, but supertabular retains its usefulness
- in a few situations where
- has problems.},
-}
-
-@manual{ctan-suppose,
- title = {The \texttt{suppose} package},
- subtitle = {Abbreviate the word “Suppose”},
- author = {Andrew Lounsbury},
- date = {2021-05-20},
- version = {1.2.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/suppose},
- url = {https://ctan.org/pkg/suppose},
-}
-
-@manual{ctan-susy,
- title = {The \texttt{susy} package},
- subtitle = {Macros for SuperSymmetry-related work},
- author = {Emmanuel Turlay},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/susy},
- url = {https://ctan.org/pkg/susy},
-}
-
-@manual{ctan-suthesis,
- title = {The \texttt{suthesis} package},
- subtitle = {Typeset a Stanford University thesis},
- author = {Joseph Pallas},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/suthesis.sty},
- url = {https://ctan.org/pkg/suthesis},
-}
-
-@manual{ctan-sverb,
- title = {The \texttt{sverb} package},
- subtitle = {A set of verbatim text manipulations},
- author = {Mark Wooding},
- date = {2020-05-09},
- version = {1.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/sverb},
-}
-
-@manual{ctan-svg-inkscape,
- title = {The \texttt{svg-inkscape} package},
- subtitle = {How to include an SVG image in \LaTeX{} using Inkscape},
- author = {Johan B. C. Engelen},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/svg-inkscape},
- url = {https://ctan.org/pkg/svg-inkscape},
-}
-
-@manual{ctan-svg,
- title = {The \texttt{svg} package},
- subtitle = {Include and extract SVG pictures in \LaTeX{} documents},
- author = {Falk Hanisch and Philip Ilten},
- date = {2020-11-26},
- version = {2.02k},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/svg},
- url = {https://ctan.org/pkg/svg},
-}
-
-@manual{ctan-svgcolor,
- title = {The \texttt{svgcolor} package},
- subtitle = {Define SVG named colours},
- author = {Mark Caprio},
- date = {2018-09-15},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/svgcolor},
- url = {https://ctan.org/pkg/svgcolor},
- annotation = {The package defines the W3C Scalable Vector Graphics (SVG) colour
- names for use with both the and
- packages.},
-}
-
-@manual{ctan-svn-multi,
- title = {The \texttt{svn-multi} package},
- subtitle = {Subversion keywords in multi-file \LaTeX{} documents},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {2.4d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/svn-multi},
- url = {https://ctan.org/pkg/svn-multi},
-}
-
-@manual{ctan-svn-prov,
- title = {The \texttt{svn-prov} package},
- subtitle = {Subversion variants of \textbackslash{}Provides... macros},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {3.1862},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/svn-prov},
- url = {https://ctan.org/pkg/svn-prov},
- annotation = {The package introduces Subversion variants of the standard \LaTeX{}
- macros , and
- where the file name and date is extracted
- from Subversion Id keywords. The file name may also be given
- explicitly as an optional argument.},
-}
-
-@manual{ctan-svn,
- title = {The \texttt{svn} package},
- subtitle = {Typeset Subversion keywords},
- author = {Richard Lewis},
- date = {2022-02-09},
- version = {43},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/svn},
- url = {https://ctan.org/pkg/svn},
- annotation = {The svn package lets you typeset (in \LaTeX{}) the value of
- Subversion keywords. It is approximately an equivalent to the
- package, but for Subversion rather
- than CVS. Details of Subversion (a replacement for CVS) is
- available from
- .},
-}
-
-@manual{ctan-svninfo,
- title = {The \texttt{svninfo} package},
- subtitle = {Typeset Subversion keywords},
- author = {Achim D. Brucker},
- date = {2022-02-09},
- version = {0.7.4},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/svninfo},
- url = {https://ctan.org/pkg/svninfo},
- annotation = {A package for incorporating the values of Subversion keywords into
- typeset documents. Information about Subversion (a replacement for CVS)
- is available from
- .},
-}
-
-@manual{ctan-svrsymbols,
- title = {The \texttt{svrsymbols} package},
- subtitle = {A font with symbols for use in physics texts},
- author = {Apostolos Syropoulos},
- date = {2019-02-12},
- version = {2.0b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/svrsymbols},
- url = {https://ctan.org/pkg/svrsymbols},
-}
-
-@manual{ctan-swebib,
- title = {The \texttt{swebib} package},
- subtitle = {Swedish bibliography styles},
- author = {Lars Engebretsen},
- date = {2016-06-24},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/swebib},
- url = {https://ctan.org/pkg/swebib},
-}
-
-@manual{ctan-swetex,
- title = {The \texttt{swetex} package},
- subtitle = {Plain \TeX{} support for writing Swedish},
- author = {Erik Engdahl},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/swedish/swetex},
- url = {https://ctan.org/pkg/swetex},
- annotation = {Subverts several characters for Swedish non-ascii letters, and
- uses for delimiters.},
-}
-
-@manual{ctan-swfigure,
- title = {The \texttt{swfigure} package},
- subtitle = {Insert large images that do not fit into a single page},
- author = {Claudio Beccari},
- date = {2022-05-07},
- version = {0.9.20},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/swfigure},
- url = {https://ctan.org/pkg/swfigure},
-}
-
-@manual{ctan-swiftex,
- title = {The \texttt{swiftex} package},
- subtitle = {Edit doc.sty and normal \LaTeX{} files with GNU Emacs},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.35},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/emacs-modes/swiftex},
- url = {https://ctan.org/pkg/swiftex},
- annotation = {DocTeX mode is for editing buffers containing self-documenting
- \LaTeX{} code that uses the package,
- including the document
- class. DocTeX mode was designed to be significantly more useful
- than the alternatives provided by standard Emacs and
- (AUC \TeX{} has since caught up
- in this regard). SwifTeX mode is for editing buffers
- containing normal \LaTeX{} files and provides an alternative to the
- \LaTeX{} modes in the standard Emacs distribution and in
- .},
-}
-
-@manual{ctan-swimgraf,
- title = {The \texttt{Swimgraf} package},
- subtitle = {Graphical/textual representations of swimming performances},
- author = {Martin J. Osborne},
- date = {2018-09-15},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/swimgraf},
- url = {https://ctan.org/pkg/swimgraf},
-}
-
-@manual{ctan-switcheml,
- title = {The \texttt{switcheml} package},
- subtitle = {Obfuscate email addresses (now obsolete)},
- author = {Charles Duan},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/switcheml},
- url = {https://ctan.org/pkg/switcheml},
-}
-
-@manual{ctan-swrule,
- title = {The \texttt{swrule} package},
- subtitle = {Lines thicker in the middle than at the ends},
- author = {Tobias Dussa},
- date = {2020-04-11},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/generic/misc/swrule.sty},
- url = {https://ctan.org/pkg/swrule},
-}
-
-@manual{ctan-swungdash,
- title = {The \texttt{swungdash} package},
- subtitle = {Typeset a swung dash in \LaTeX{}},
- author = {Elijah Z Granet},
- date = {2022-08-29},
- version = {1.0.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/swungdash},
- url = {https://ctan.org/pkg/swungdash},
-}
-
-@manual{ctan-syllogism,
- title = {The \texttt{syllogism} package},
- subtitle = {Typeset syllogisms in \LaTeX{}},
- author = {Nicolas Vaughan},
- date = {2020-08-29},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/syllogism},
- url = {https://ctan.org/pkg/syllogism},
-}
-
-@manual{ctan-symbats3,
- title = {The \texttt{symbats3} package},
- subtitle = {Macros to use the Symbats3 dingbats fonts},
- author = {Peter Flynn},
- date = {2022-06-26},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/symbats3},
- url = {https://ctan.org/pkg/symbats3},
- annotation = {This package makes available for \LaTeX{} the glyphs in
- .},
-}
-
-@manual{ctan-symbolindex,
- title = {The \texttt{symbolindex} package},
- subtitle = {Generate a list of symbols with different subgroups},
- author = {Frédéric Holzmann},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/symbolindex},
- url = {https://ctan.org/pkg/symbolindex},
-}
-
-@manual{ctan-sympytex,
- title = {The \texttt{sympytex} package},
- subtitle = {Include symbolic computation (using sympy) in documents},
- author = {Tim Molteno},
- date = {2020-11-25},
- version = {0.3},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sympytexpackage},
- url = {https://ctan.org/pkg/sympytex},
-}
-
-@manual{ctan-synapsen,
- title = {The \texttt{Synapsen} package},
- subtitle = {Reference management tool for BibTeX},
- author = {Markus Krajewski},
- date = {2019-06-12},
- version = {3.0},
- license = {shareware},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/Synapsen},
- url = {https://ctan.org/pkg/synapsen},
-}
-
-@manual{ctan-synctex-parser,
- title = {The \texttt{synctex-parser} package},
- subtitle = {SyncTeX output file parser},
- author = {Jérôme Laurens},
- date = {2017-11-20},
- version = {1.21},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/synctex-parser},
- url = {https://ctan.org/pkg/synctex-parser},
-}
-
-@manual{ctan-syngen,
- title = {The \texttt{syngen} package},
- subtitle = {A tool for generating syntax diagrams from BNF},
- author = {Jens Klöcker},
- date = {2016-06-24},
- version = {0.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/syngen},
- url = {https://ctan.org/pkg/syngen},
-}
-
-@manual{ctan-synproof,
- title = {The \texttt{synproof} package},
- subtitle = {Easy drawing of syntactic proofs},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/synproof},
- url = {https://ctan.org/pkg/synproof},
- annotation = {The package provides a set of macros based on
- that will enable you to
- draw syntactic proofs easily (inspired by the Gamut books). Very
- few commands are needed, however fine tuning of the various
- parameters (dimensions) can still be achieved through
- “” pairs.},
-}
-
-@manual{ctan-syntax-mdw,
- title = {The \texttt{syntax-mdw} package},
- subtitle = {Typeset syntax descriptions},
- author = {Mark Wooding},
- date = {2016-06-24},
- version = {1.07},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/mdwtools},
- url = {https://ctan.org/pkg/syntax-mdw},
-}
-
-@manual{ctan-syntax2,
- title = {The \texttt{syntax2} package},
- subtitle = {Creation of syntax diagrams},
- author = {Bernd Worsch},
- date = {2016-07-19},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/syntax},
- url = {https://ctan.org/pkg/syntax2},
-}
-
-@manual{ctan-syntaxdi,
- title = {The \texttt{syntaxdi} package},
- subtitle = {Create “railroad” syntax diagrams},
- author = {Johannes Pieper and Johannes Kuhaupt and André Hilbig},
- date = {2020-10-19},
- version = {0.8.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/syntaxdi},
- url = {https://ctan.org/pkg/syntaxdi},
-}
-
-@manual{ctan-syntonly,
- title = {The \texttt{syntonly} package},
- subtitle = {Run a document through \LaTeX{} for syntax checking},
- author = {Frank Mittelbach and Rainer Schöpf and {The \LaTeX{} Project Team}},
- date = {2019-10-04},
- version = {2.1e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/syntonly},
-}
-
-@manual{ctan-syntrace,
- title = {The \texttt{syntrace} package},
- subtitle = {Labels for tracing in a syntax tree},
- author = {Boretti Mathieu},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/syntrace},
- url = {https://ctan.org/pkg/syntrace},
- annotation = {This package adds support for traces in trees created using
- either the or the
- package. The package
- provides two commands ( and
- ) to set and use a trace.},
-}
-
-@manual{ctan-synttree,
- title = {The \texttt{synttree} package},
- subtitle = {Typeset syntactic trees},
- author = {Matijs van Zuijlen},
- date = {2018-01-06},
- version = {1.4.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/synttree},
- url = {https://ctan.org/pkg/synttree},
-}
-
-@manual{ctan-syriac,
- title = {The \texttt{syriac} package},
- subtitle = {A font for Syriac written in Estrangelo},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/syriac},
- url = {https://ctan.org/pkg/syriac},
-}
-
-@manual{ctan-systcontrolletters,
- title = {The \texttt{systcontrolletters} package},
- subtitle = {Support for Systems and Control Letters},
- author = {Silvano Balemi and Werner Truöl},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/systcontrolletters},
- url = {https://ctan.org/pkg/systcontrolletters},
-}
-
-@manual{ctan-systeme,
- title = {The \texttt{systeme} package},
- subtitle = {Format systems of equations},
- author = {Christian Tellechea},
- date = {2020-05-03},
- version = {0.34},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/systeme},
- url = {https://ctan.org/pkg/systeme},
-}
-
-@manual{ctan-t-angles,
- title = {The \texttt{t-angles} package},
- subtitle = {Draw tangles, trees, Hopf algebra operations and other pictures},
- author = {Volodymyr Lyubashenko and Yurii Bespalov},
- date = {2017-04-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/t-angles},
- url = {https://ctan.org/pkg/t-angles},
- annotation = {A \LaTeX{}2e package for drawing tangles, trees, Hopf algebra
- operations and other pictures. It is based on emTeX or TPIC
- s. Therefore, it can be used with the most popular
- drivers, including emTeX drivers, dviwin, xdvi and dvips, and
- (using some code from ) it
- may also be used with pdfLaTeX.},
-}
-
-@manual{ctan-t1-fraktur,
- title = {The \texttt{t1-fraktur} package},
- subtitle = {A pair of fraktur font families in T1 encoding},
- author = {Vladislav Kurz and Daniel Taupin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/t1-fraktur},
- url = {https://ctan.org/pkg/t1-fraktur},
-}
-
-@manual{ctan-t1enc,
- title = {The \texttt{t1enc} package},
- subtitle = {Standard package for activating ec fonts},
- author = {{The \LaTeX{} Project Team}},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- url = {https://ctan.org/pkg/t1enc},
- annotation = {Obsolete package for activating T1 font encoding. The replacement
- package with (optional)
- argument does this task more satisfactorily.},
-}
-
-@manual{ctan-t1infos,
- title = {The \texttt{t1infos} package},
- subtitle = {Utilities for PostScript fonts},
- author = {Thomas Baruchel},
- date = {2016-06-24},
- version = {1.0},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/utilities/t1infos},
- url = {https://ctan.org/pkg/t1infos},
-}
-
-@manual{ctan-t1subset,
- title = {The \texttt{T1Subset} package},
- subtitle = {A C++ library for subsetting PostScript Type 1 fonts},
- author = {Peter Frane Jr},
- date = {2020-10-07},
- version = {1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/fonts/utilities/t1subset},
- url = {https://ctan.org/pkg/t1subset},
-}
-
-@manual{ctan-t1tools,
- title = {The \texttt{t1tools} package},
- subtitle = {Facilities for handling Adobe Type 1 fonts},
- author = {Thomas Wolff},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/t1tools},
- url = {https://ctan.org/pkg/t1tools},
-}
-
-@manual{ctan-t1utils,
- title = {The \texttt{t1utils} package},
- subtitle = {Simple Type 1 font manipulation programs},
- author = {Lee Hetherington and Eddie Kohler},
- date = {2017-04-18},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/utilities/t1utils},
- url = {https://ctan.org/pkg/t1utils},
- annotation = {A collection of simple programs for manipulating Adobe Type 1
- fonts, comprising:
- – : convert PFB (binary) to PFA (ascii) fonts;
- – : convert PFA to PFB fonts;
- – : convert PFA or PFB fonts to
- human-readable and -editable format;
- – : reassemble such editable formats to a font;
- – : extract font resources from a
- Macintosh font file; and
- – : generate a Macintosh font from a Type 1 font.},
-}
-
-@manual{ctan-t2,
- title = {The \texttt{t2} package},
- subtitle = {Support for using T2 encoding},
- author = {Vladimir Volovich and Werner Lemberg},
- date = {2018-05-08},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/t2},
- url = {https://ctan.org/pkg/t2},
-}
-
-@manual{ctan-tab4tex,
- title = {The \texttt{tab4tex} package},
- subtitle = {Preprocessor for \LaTeX{} tabular environments},
- author = {Guido Milanese},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/tab4tex},
- url = {https://ctan.org/pkg/tab4tex},
-}
-
-@manual{ctan-tabbing,
- title = {The \texttt{tabbing} package},
- subtitle = {Tabbing with accented letters},
- author = {Jean-Pierre Drucbert},
- date = {2021-06-28},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/Tabbing},
- url = {https://ctan.org/pkg/tabbing},
- annotation = {By default, some of the tabbing environment's commands clash with
- default accent commands; \LaTeX{} provides the odd commands
- , etc., to deal with the clash. The package offers a
- variant of the tabbing environment which does not create this
- difficulty, so that users need not learn two sets of accent commands.},
-}
-
-@manual{ctan-tabbingbox,
- title = {The \texttt{tabbingbox} package},
- subtitle = {Save a tabbing environment in a box},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/tabbingbox.tex},
- url = {https://ctan.org/pkg/tabbingbox},
-}
-
-@manual{ctan-tabfigures,
- title = {The \texttt{tabfigures} package},
- subtitle = {Maintain vertical alignment of figures},
- author = {Michael Ummels},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabfigures},
- url = {https://ctan.org/pkg/tabfigures},
-}
-
-@manual{ctan-table-fct,
- title = {The \texttt{table-fct} package},
- subtitle = {Draw a variations table of functions and a convexity table of its graph},
- author = {Sidi Mohamed Lakhdar},
- date = {2018-01-07},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/table-fct},
- url = {https://ctan.org/pkg/table-fct},
-}
-
-@manual{ctan-tableauvariations,
- title = {The \texttt{tableauVariations} package},
- subtitle = {Variation tables in MetaPost},
- author = {Frédéric Mazoit},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/tableauvariations},
- url = {https://ctan.org/pkg/tableauvariations},
- annotation = {Utility macros for creating tables of signs and of variations.
- The \LaTeX{} package provides an
- interface to this package.},
-}
-
-@manual{ctan-tableaux,
- title = {The \texttt{tableaux} package},
- subtitle = {Construct tables of signs and variations},
- author = {Nicolas Kisselhoff},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tableaux},
- url = {https://ctan.org/pkg/tableaux},
-}
-
-@manual{ctan-tablefootnote,
- title = {The \texttt{tablefootnote} package},
- subtitle = {Permit footnotes in tables},
- author = {Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.1c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tablefootnote},
- url = {https://ctan.org/pkg/tablefootnote},
- annotation = {The package provides the command to be
- used in a or environment,
- where
- will not work (and when using and
- , and adjusting the counter as necessary, is
- too much work).},
-}
-
-@manual{ctan-tableof,
- title = {The \texttt{tableof} package},
- subtitle = {Tagging tables of contents},
- author = {Jean-François Burnol},
- date = {2021-07-05},
- version = {1.4c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tableof},
- url = {https://ctan.org/pkg/tableof},
- annotation = {The package provides the commands to flag chapters or sections (or
- anything else destined to become a TOC line). The command
-
- specifies which tags are to be required and which ones are to be
- excluded by the next (or equivalent)
- command. In a document that uses a class where
- may only be used once, the command
-
- may be used to provide several tables.},
-}
-
-@manual{ctan-tables,
- title = {The \texttt{tables} package},
- subtitle = {Tables without the need for a preamble},
- author = {Ray F. Cowan and Bob Taylor},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/tables},
- url = {https://ctan.org/pkg/tables},
-}
-
-@manual{ctan-tablestyles,
- title = {The \texttt{tablestyles} package},
- subtitle = {Styles for tables with new commands},
- author = {Matthias Pospiech},
- date = {2023-03-04},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/tablestyles},
- url = {https://ctan.org/pkg/tablestyles},
-}
-
-@manual{ctan-tablists,
- title = {The \texttt{tablists} package},
- subtitle = {Tabulated lists of short items},
- author = {Olga Lapko},
- date = {2016-06-24},
- version = {0.0e},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tablists},
- url = {https://ctan.org/pkg/tablists},
- annotation = {This package offers environments and commands for one-level and two-level
- lists of short items (e.g., exercises in textbooks). The environments
- support optional arguments of item numbering similar to the
- or
- packages.},
-}
-
-@manual{ctan-tablor,
- title = {The \texttt{tablor} package},
- subtitle = {Create tables of signs and of variations},
- author = {Guillaume Connan},
- date = {2016-06-24},
- version = {4.07-g},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tablor},
- url = {https://ctan.org/pkg/tablor},
-}
-
-@manual{ctan-tabls,
- title = {The \texttt{tabls} package},
- subtitle = {Better vertical spacing in tables and arrays},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {3.5},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabls},
- url = {https://ctan.org/pkg/tabls},
-}
-
-@manual{ctan-tablvar,
- title = {The \texttt{tablvar} package},
- subtitle = {Typesetting pretty tables of signs and variations according to French usage},
- author = {Antoine Missier},
- date = {2019-07-02},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tablvar},
- url = {https://ctan.org/pkg/tablvar},
-}
-
-@manual{ctan-tabriz-thesis,
- title = {The \texttt{tabriz-thesis} package},
- subtitle = {A template for the University of Tabriz},
- author = {Vahid Damanafshan},
- date = {2019-07-25},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/tabriz-thesis},
- url = {https://ctan.org/pkg/tabriz-thesis},
-}
-
-@manual{ctan-tabsatz,
- title = {The \texttt{tabsatz} package},
- subtitle = {How to use tables in \LaTeX{}},
- author = {Axel Reichert},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/german/tabsatz},
- url = {https://ctan.org/pkg/tabsatz},
-}
-
-@manual{ctan-tabstackengine,
- title = {The \texttt{tabstackengine} package},
- subtitle = {“Tabbing” front-end to stackengine},
- author = {Steven B. Segletes},
- date = {2018-03-05},
- version = {2.10},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabstackengine},
- url = {https://ctan.org/pkg/tabstackengine},
-}
-
-@manual{ctan-tabto-generic,
- title = {The \texttt{tabto-generic} package},
- subtitle = {"Tab" to a measured position in the line},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/misc/tabto.tex},
- url = {https://ctan.org/pkg/tabto-generic},
- annotation = {moves the typesetting position to
- from the left margin of the paragraph. If
- the typesetting position is already further along,
- starts a new line.},
-}
-
-@manual{ctan-tabto-ltx,
- title = {The \texttt{tabto-ltx} package},
- subtitle = {“Tab” to a measured position in the line},
- author = {Donald Arseneau},
- date = {2019-03-05},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabto},
- url = {https://ctan.org/pkg/tabto-ltx},
-}
-
-@manual{ctan-tabu,
- title = {The \texttt{tabu} package},
- subtitle = {Flexible \LaTeX{} tabulars},
- author = {Florent Chervet},
- date = {2021-11-08},
- version = {2.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabu},
- url = {https://ctan.org/pkg/tabu},
-}
-
-@manual{ctan-tabularborder,
- title = {The \texttt{tabularborder} package},
- subtitle = {Remove excess space at left and right of tabular},
- author = {Johannes K. Fink},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabularborder},
- url = {https://ctan.org/pkg/tabularborder},
- annotation = {The tabular environment is changed so that the
- outer s are compensated and
- a has the same length as the text.
- No is needed.},
-}
-
-@manual{ctan-tabularcalc,
- title = {The \texttt{tabularcalc} package},
- subtitle = {Calculate formulas in a tabular environment},
- author = {Christian Tellechea},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabularcalc},
- url = {https://ctan.org/pkg/tabularcalc},
-}
-
-@manual{ctan-tabularew,
- title = {The \texttt{tabularew} package},
- subtitle = {A variation on the tabular environment},
- author = {Diego Saba},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabularew},
- url = {https://ctan.org/pkg/tabularew},
-}
-
-@manual{ctan-tabularht,
- title = {The \texttt{tabularht} package},
- subtitle = {Tabular environments with height specified},
- author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {2.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/tabularht.dtx},
- url = {https://ctan.org/pkg/tabularht},
-}
-
-@manual{ctan-tabularkv,
- title = {The \texttt{tabularkv} package},
- subtitle = {Tabular environments with key-value interface},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/tabularkv.dtx},
- url = {https://ctan.org/pkg/tabularkv},
- annotation = {The tabularkv package creates an environment , whose
- arguments are specified in key-value form. The arguments chosen
- determine which other type of tabular is to be used (whether
- standard \LaTeX{} ones, or environments from the
- or the
- package).},
-}
-
-@manual{ctan-tabularray,
- title = {The \texttt{tabularray} package},
- subtitle = {Typeset tabulars and arrays with \LaTeX{}3},
- author = {Jianrui Lyu},
- date = {2023-03-01},
- version = {2023A},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabularray},
- url = {https://ctan.org/pkg/tabularray},
-}
-
-@manual{ctan-tabulars-e,
- title = {The \texttt{tabulars-e} package},
- subtitle = {Examples from the book "Typesetting tables with \LaTeX{}"},
- author = {Herbert Voß},
- date = {2020-06-07},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/tabulars-e},
- url = {https://ctan.org/pkg/tabulars-e},
-}
-
-@manual{ctan-tabularx,
- title = {The \texttt{tabularx} package},
- subtitle = {Tabulars with adjustable-width columns},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.11c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/tabularx},
-}
-
-@manual{ctan-tabulary,
- title = {The \texttt{tabulary} package},
- subtitle = {Tabular with variable width columns balanced},
- author = {David Carlisle},
- date = {2018-01-06},
- version = {0.10},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabulary},
- url = {https://ctan.org/pkg/tabulary},
- annotation = {The package defines a -like environment,
- , taking a ‘total width’ argument as well as the
- column specifications. The environment uses column types ,
- , and for variable width columns
- (', ,
- , and normally justified). In contrast to
- 's X columns, the width of
- each column is weighted according to the natural width of the
- widest cell in the column.},
-}
-
-@manual{ctan-tabvar,
- title = {The \texttt{tabvar} package},
- subtitle = {Typesetting tables showing variations of functions},
- author = {Daniel Flipo},
- date = {2022-07-17},
- version = {1.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tabvar},
- url = {https://ctan.org/pkg/tabvar},
-}
-
-@manual{ctan-tabverb,
- title = {The \texttt{tabverb} package},
- subtitle = {Verbatim text respecting TAB characters},
- author = {Michael Fine},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/tabverb.sty},
- url = {https://ctan.org/pkg/tabverb},
-}
-
-@manual{ctan-tagging,
- title = {The \texttt{tagging} package},
- subtitle = {Document configuration with tags},
- author = {Brent Longborough and {The \LaTeX{} Project Team}},
- date = {2021-12-20},
- version = {1.1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tagging},
- url = {https://ctan.org/pkg/tagging},
-}
-
-@manual{ctan-tagpair,
- title = {The \texttt{tagpair} package},
- subtitle = {Word-by-word glosses, translations, and bibliographic attributions},
- author = {Andreas Nolda},
- date = {2016-09-23},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tagpair},
- url = {https://ctan.org/pkg/tagpair},
-}
-
-@manual{ctan-tagpdf,
- title = {The \texttt{tagpdf} package},
- subtitle = {Tools for experimenting with tagging using pdf\LaTeX{} and LuaLaTeX},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {0.98e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tagpdf},
- url = {https://ctan.org/pkg/tagpdf},
-}
-
-@manual{ctan-talk,
- title = {The \texttt{talk} package},
- subtitle = {A \LaTeX{} class for presentations},
- author = {Martin Wiebusch},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/talk},
- url = {https://ctan.org/pkg/talk},
-}
-
-@manual{ctan-talos,
- title = {The \texttt{talos} package},
- subtitle = {A Greek cult font from the eighties},
- author = {Antonis Tsolomitis},
- date = {2022-02-08},
- version = {1.0},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/greek/talos},
- url = {https://ctan.org/pkg/talos},
-}
-
-@manual{ctan-tamefloats,
- title = {The \texttt{tamefloats} package},
- subtitle = {Experimentally use \textbackslash{}holdinginserts with \LaTeX{} floats},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.42},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tamefloats},
- url = {https://ctan.org/pkg/tamefloats},
- annotation = {LaTeX’s figures, tables, and s are
- dangerous for footnotes (and probably also
- ). Here is a proposal (a
- ‘patch’ package) to help, by using
- in a simple way. It replaces the
- original problem with a new one — it is an experiment to
- find out whether the new problem is less bad (or it is just a
- contribution to the discussion, maybe just a summary of previous
- work). The files provide further information.},
-}
-
-@manual{ctan-tamethebeast,
- title = {The \texttt{TameTheBeast} package},
- subtitle = {A manual about bibliographies and especially BibTeX},
- author = {Nicolas Markey},
- date = {2016-06-24},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/bibtex/tamethebeast},
- url = {https://ctan.org/pkg/tamethebeast},
-}
-
-@manual{ctan-tamil-omega,
- title = {The \texttt{tamil-omega} package},
- subtitle = {Tamil support for Omega/Aleph},
- author = {A. J. Alex},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/omega/latex/contrib/tamil-omega},
- url = {https://ctan.org/pkg/tamil-omega},
-}
-
-@manual{ctan-tangle,
- title = {The \texttt{tangle} package},
- subtitle = {Generate compilable source from web},
- author = {Donald E. Knuth},
- date = {2021-02-09},
- version = {4.6},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/web/tangle.web},
- url = {https://ctan.org/pkg/tangle},
- annotation = {This is the component of Knuth’s
- that
- produces a compilable source from the web representation of a program.},
-}
-
-@manual{ctan-tango-weevil,
- title = {The \texttt{tango-weevil} package},
- subtitle = {A simple Web system},
- author = {Corey Minyard},
- date = {2019-03-02},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/web/tango-weevil},
- url = {https://ctan.org/pkg/tango-weevil},
-}
-
-@manual{ctan-tangramtikz,
- title = {The \texttt{TangramTikZ} package},
- subtitle = {Tangram puzzles, with TikZ},
- author = {Cédric Pierquet},
- date = {2023-02-26},
- version = {0.1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tangramtikz},
- url = {https://ctan.org/pkg/tangramtikz},
-}
-
-@manual{ctan-tap,
- title = {The \texttt{tap} package},
- subtitle = {TeX macros for typesetting complex tables},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {0.77},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/tables/tap077.zip},
- url = {https://ctan.org/pkg/tap},
-}
-
-@manual{ctan-tape,
- title = {The \texttt{tape} package},
- subtitle = {Generate cassette labels from a simple database},
- author = {Sunil Podar},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/tape},
- url = {https://ctan.org/pkg/tape},
-}
-
-@manual{ctan-tapir,
- title = {The \texttt{tapir} package},
- subtitle = {A simple geometrical font},
- author = {{Mitek}},
- date = {2017-04-18},
- version = {0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/tapir},
- url = {https://ctan.org/pkg/tapir},
-}
-
-@manual{ctan-tasks,
- title = {The \texttt{tasks} package},
- subtitle = {Horizontally columned lists},
- author = {Clemens Niederberger},
- date = {2022-01-08},
- version = {1.4a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tasks},
- url = {https://ctan.org/pkg/tasks},
- annotation = {The reason for the creation of the
- environment was an unwritten agreement in German
- maths textbooks (especially (junior) high school textbooks)
- to organize exercises in columns counting horizontally
- rather than vertically.
- This is what the package helps
- to achieve.},
-}
-
-@manual{ctan-taylor,
- title = {The \texttt{taylor} package},
- subtitle = {Macros for category-theoretic diagrams},
- author = {Paul Taylor},
- date = {2016-06-24},
- version = {3.93},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/taylor},
- url = {https://ctan.org/pkg/taylor},
-}
-
-@manual{ctan-tbe,
- title = {The \texttt{tbe} package},
- subtitle = {Extracts from "TeX by Example"},
- author = {Arvind Borde},
- date = {2019-06-21},
- version = {1.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/tbe},
- url = {https://ctan.org/pkg/tbe},
- annotation = {Some macros () and their usage
- () from the book.},
-}
-
-@manual{ctan-tccompat,
- title = {The \texttt{tccompat} package},
- subtitle = {Provide compatibility names for textcomp.sty},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/tccompat.sty},
- url = {https://ctan.org/pkg/tccompat},
-}
-
-@manual{ctan-tclldoc,
- title = {The \texttt{tclldoc} package},
- subtitle = {Doc/docstrip for tcl},
- author = {Lars Hellström},
- date = {2016-07-19},
- version = {2.40},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tclldoc},
- url = {https://ctan.org/pkg/tclldoc},
- annotation = {The tclldoc package and class simplify the application of the
- /
- style of literate programming with Dr. John Ousterhout’s Tool
- Command Language (Tcl, pronounced “tickle”,
- a.k.a. The Cool Language). The tclldoc package is a bit like the
- doc package is for \LaTeX{}, whereas the tclldoc class more parallels
- the ltxdoc class.},
-}
-
-@manual{ctan-tcltexed,
- title = {The \texttt{tcltexed} package},
- subtitle = {\LaTeX{} editor written in TCL},
- author = {Martin Strauß},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/tcltexed},
- url = {https://ctan.org/pkg/tcltexed},
-}
-
-@manual{ctan-tcobrowser,
- title = {The \texttt{tcobrowser} package},
- subtitle = {Local browsing of the Catalogue on Mac OS X},
- author = {Adam R. Maxwell},
- date = {2017-04-18},
- license = {bsd},
- url = {https://ctan.org/pkg/tcobrowser},
-}
-
-@manual{ctan-tcolorbox,
- title = {The \texttt{tcolorbox} package},
- subtitle = {Coloured boxes, for \LaTeX{} examples and theorems, etc},
- author = {Thomas F. Sturm},
- date = {2023-02-12},
- version = {6.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tcolorbox},
- url = {https://ctan.org/pkg/tcolorbox},
-}
-
-@manual{ctan-tcvn,
- title = {The \texttt{tcvn} package},
- subtitle = {Vietnamese Windows support},
- author = {Nguyen-Dai Quy},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/vietnamese/vietnet/tcvn},
- url = {https://ctan.org/pkg/tcvn},
-}
-
-@manual{ctan-tdclock,
- title = {The \texttt{tdclock} package},
- subtitle = {A ticking digital clock package for PDF output},
- author = {Luis Randez},
- date = {2016-06-24},
- version = {2.5},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tdclock},
- url = {https://ctan.org/pkg/tdclock},
-}
-
-@manual{ctan-tds,
- title = {The \texttt{tds} package},
- subtitle = {The \TeX{} Directory Structure standard},
- author = {{TUG TWG-TDS}},
- date = {2022-09-22},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/tds},
- url = {https://ctan.org/pkg/tds},
-}
-
-@manual{ctan-tdsfrmath,
- title = {The \texttt{tdsfrmath} package},
- subtitle = {Macros for French teachers of mathematics},
- author = {Yvon Henel},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tdsfrmath},
- url = {https://ctan.org/pkg/tdsfrmath},
-}
-
-@manual{ctan-techexplorer,
- title = {The \texttt{techexplorer} package},
- subtitle = {Browser plugin for viewing \TeX{} and \LaTeX{} sources},
- author = {{IBM Corporation}},
- date = {2020-03-20},
- version = {2.0},
- license = {other-nonfree},
- url = {https://ctan.org/pkg/techexplorer},
-}
-
-@manual{ctan-technica,
- title = {The \texttt{Technica} package},
- subtitle = {Typesetting for the humanities},
- author = {Gianfranco Boggio-Togna},
- date = {2016-06-24},
- version = {0.99},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/technica},
- url = {https://ctan.org/pkg/technica},
-}
-
-@manual{ctan-technics,
- title = {The \texttt{technics} package},
- subtitle = {A package to format technical documents},
- author = {Joachim Nilsson},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/technics},
- url = {https://ctan.org/pkg/technics},
-}
-
-@manual{ctan-technion-thesis-template,
- title = {The \texttt{technion-thesis-template} package},
- subtitle = {Template for theses on the Technion graduate school},
- author = {Boaz Shuval},
- date = {2019-02-04},
- version = {1.0},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/technion-thesis-template},
- url = {https://ctan.org/pkg/technion-thesis-template},
-}
-
-@manual{ctan-techreport,
- title = {The \texttt{techreport} package},
- subtitle = {Generate Technical Reports using USC thesis style},
- author = {Steven Douglas Cochran},
- date = {2016-06-24},
- version = {1.7},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/techreport.sty},
- url = {https://ctan.org/pkg/techreport},
- annotation = {The package acts as a style option for the
- , allowing the user
- to typeset technical reports.},
-}
-
-@manual{ctan-ted,
- title = {The \texttt{ted} package},
- subtitle = {A (primitive) token list editor},
- author = {Manuel Pégourié-Gonnard},
- date = {2016-06-24},
- version = {1.06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ted},
- url = {https://ctan.org/pkg/ted},
-}
-
-@manual{ctan-teencontrex,
- title = {The \texttt{TeEncontreX} package},
- subtitle = {Help for users of \TeX{} and \LaTeX{}},
- author = {Manuel Gutierrez Algaba},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/spanish/TeEncontreX},
- url = {https://ctan.org/pkg/teencontrex},
-}
-
-@manual{ctan-telprint,
- title = {The \texttt{telprint} package},
- subtitle = {Format German phone numbers},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.11},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/telprint.dtx},
- url = {https://ctan.org/pkg/telprint},
-}
-
-@manual{ctan-telugu,
- title = {The \texttt{telugu} package},
- subtitle = {(La)TeX Support for writing the Telugu Language},
- author = {Lakshmankumar Mukkavilli},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/telugu},
- url = {https://ctan.org/pkg/telugu},
-}
-
-@manual{ctan-templates-fenn,
- title = {The \texttt{templates-fenn} package},
- subtitle = {Templates for \TeX{} usage},
- author = {Jürgen Fenn},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/templates/fenn},
- url = {https://ctan.org/pkg/templates-fenn},
- annotation = {A set of templates for using \LaTeX{} packages that the author uses,
- comprising:
- – scrlttr2.tex: a letter, written with scrlttr2.cls
- from the ;
- – dinbrief.tex: a letter according to the German (DIN)
- standards, written with ;
- – kbrief.tex: a brief memo (‘Kurzbrief’)
- to accompany enclosures, as used in German offices, again based on
- ;
- – vermerk.tex: a general form for taking down notes on
- events in the office; and
- – diabetes.tex: a diary for the basis-bolus insulin
- therapy of diabetes mellitus, using scrartcl.cls from the
- .},
-}
-
-@manual{ctan-templates-sommer,
- title = {The \texttt{templates-sommer} package},
- subtitle = {Templates for \TeX{} usage},
- author = {Jörg Sommer},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/templates/sommer},
- url = {https://ctan.org/pkg/templates-sommer},
- annotation = {A set of templates for using \LaTeX{} packages that the author uses,
- comprising:
- – Hausarbeit.tex: for students of the Lehrstuhl Volkskunde an
- der Friedrich-Schiller-Universität Jena;
- – Psycho-Dipl.tex: for diploma theses in psychology.},
-}
-
-@manual{ctan-templatetools,
- title = {The \texttt{templatetools} package},
- subtitle = {Commands useful in \LaTeX{} templates},
- author = {Matthias Pospiech},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/templatetools},
- url = {https://ctan.org/pkg/templatetools},
-}
-
-@manual{ctan-tempora,
- title = {The \texttt{tempora} package},
- subtitle = {Greek and Cyrillic to accompany Times},
- author = {Michael Sharpe},
- date = {2016-06-24},
- version = {1.05},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/tempora},
- url = {https://ctan.org/pkg/tempora},
-}
-
-@manual{ctan-tengtex,
- title = {The \texttt{tengtex} package},
- subtitle = {Typesetting in Tolkien’s Tengwar script},
- author = {Ivan A Derzhanski},
- date = {2020-03-09},
- version = {1.00},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/tengtex},
- url = {https://ctan.org/pkg/tengtex},
- annotation = {Typesets Eldarin language texts in Fëanorian Tengwar, using
- either the or the
- fonts. Versions of the
- macros for both \LaTeX{} (2.09) and Plain \TeX{} are provided.},
-}
-
-@manual{ctan-tengwar,
- title = {The \texttt{tengwar} package},
- subtitle = {Font to set Tolkien's Tengwar script},
- author = {Michael Urban},
- date = {2019-06-21},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/tengwar},
- url = {https://ctan.org/pkg/tengwar},
- annotation = {Font for typesetting Tolkien Tengwar script, written in
- Metafont. The macros
- support the use of this font.},
-}
-
-@manual{ctan-tengwarscript,
- title = {The \texttt{TengwarScript} package},
- subtitle = {\LaTeX{} support for using Tengwar fonts},
- author = {Ignacio Fernández Galván},
- date = {2016-06-24},
- version = {1.3.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tengwarscript},
- url = {https://ctan.org/pkg/tengwarscript},
-}
-
-@manual{ctan-tensind,
- title = {The \texttt{tensind} package},
- subtitle = {Typeset tensors},
- author = {Javier Bezos López},
- date = {2019-07-06},
- version = {1.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tensind},
- url = {https://ctan.org/pkg/tensind},
-}
-
-@manual{ctan-tensor,
- title = {The \texttt{tensor} package},
- subtitle = {Typeset tensors},
- author = {Mike Piff and Philip G. Ratcliffe},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tensor},
- url = {https://ctan.org/pkg/tensor},
-}
-
-@manual{ctan-termcal-de,
- title = {The \texttt{termcal-de} package},
- subtitle = {German localization for termcal},
- author = {Sebastian Friedl},
- date = {2018-03-24},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/termcal-de},
- url = {https://ctan.org/pkg/termcal-de},
-}
-
-@manual{ctan-termcal,
- title = {The \texttt{termcal} package},
- subtitle = {Print a class calendar},
- author = {Bill Mitchell},
- date = {2016-06-24},
- version = {1.8},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/termcal},
- url = {https://ctan.org/pkg/termcal},
-}
-
-@manual{ctan-termes-otf,
- title = {The \texttt{termes-otf} package},
- subtitle = {Using the OpenType fonts \TeX{} Gyre Termes},
- author = {Herbert Voß},
- date = {2022-10-17},
- version = {0.02},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/termes-otf},
- url = {https://ctan.org/pkg/termes-otf},
-}
-
-@manual{ctan-termlist,
- title = {The \texttt{termlist} package},
- subtitle = {Label any kind of term with a continuous counter},
- author = {Bernd Rellermeyer},
- date = {2018-01-06},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/termlist},
- url = {https://ctan.org/pkg/termlist},
-}
-
-@manual{ctan-termmenu,
- title = {The \texttt{termmenu} package},
- subtitle = {The package provides support for terminal-based menus using expl3},
- author = {Sean Allred},
- date = {2017-11-12},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/termmenu},
- url = {https://ctan.org/pkg/termmenu},
-}
-
-@manual{ctan-termsim,
- title = {The \texttt{termsim} package},
- subtitle = {Simulate Win10, Ubuntu, and Mac terminals},
- author = {Nan Geng},
- date = {2022-01-03},
- version = {1.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/termsim},
- url = {https://ctan.org/pkg/termsim},
- annotation = {This \LaTeX{}3 package provides environments
- and , and
- macros and
- to simulate Win10, Ubuntu and Mac terminals.
- It is based on ,
- and
- .},
-}
-
-@manual{ctan-tesla,
- title = {The \texttt{tesla} package},
- subtitle = {A special-purpose language for knowledge base rules},
- author = {Henry Baragar and Gail E. Harris},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/tesla},
- url = {https://ctan.org/pkg/tesla},
-}
-
-@manual{ctan-testeq,
- title = {The \texttt{testeq} package},
- subtitle = {An equality test for use in MetaPost},
- author = {Ulrik Vieth},
- date = {2016-06-24},
- version = {1.05},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/misc/testeq.mp},
- url = {https://ctan.org/pkg/testeq},
-}
-
-@manual{ctan-testflow,
- title = {The \texttt{testflow} package},
- subtitle = {A tool to validate PS/PDF output from \LaTeX{}},
- author = {Michael Shell},
- date = {2021-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/IEEEtran/testflow},
- url = {https://ctan.org/pkg/testflow},
-}
-
-@manual{ctan-testfont,
- title = {The \texttt{testfont} package},
- subtitle = {A testbed for font evaluation},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/plain/base/testfont.tex},
- url = {https://ctan.org/pkg/testfont},
- annotation = {This file (part of the
- distribution) allows the user to select fonts and to perform a
- number of evaluation tests, from simple font tables through to
- elaborate pattern samples.},
-}
-
-@manual{ctan-testhyphens,
- title = {The \texttt{testhyphens} package},
- subtitle = {Testing hyphenation patterns},
- author = {Claudio Beccari},
- date = {2016-06-24},
- version = {0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/testhyphens},
- url = {https://ctan.org/pkg/testhyphens},
-}
-
-@manual{ctan-testidx,
- title = {The \texttt{testidx} package},
- subtitle = {Dummy text for testing index styles and indexing applications},
- author = {Nicola Talbot},
- date = {2019-09-29},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/testidx},
- url = {https://ctan.org/pkg/testidx},
-}
-
-@manual{ctan-testmath,
- title = {The \texttt{testmath} package},
- subtitle = {Examples of the AMS-\LaTeX{} package},
- author = {{The American Mathematical Society}},
- date = {2017-09-08},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/required/amsmath},
- url = {https://ctan.org/pkg/testmath},
-}
-
-@manual{ctan-tetex,
- title = {The \texttt{tetex} package},
- subtitle = {Obsolete \TeX{} distribution for Unix/Linux},
- author = {Thomas Esser},
- date = {2021-08-26},
- version = {3.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/systems/unix/teTeX},
- url = {https://ctan.org/pkg/tetex},
-}
-
-@manual{ctan-tetragonos,
- title = {The \texttt{tetragonos} package},
- subtitle = {Four-Corner codes of Chinese characters},
- author = {Yuchang Yang},
- date = {2019-01-17},
- version = {1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/tetragonos},
- url = {https://ctan.org/pkg/tetragonos},
-}
-
-@manual{ctan-teubner,
- title = {The \texttt{teubner} package},
- subtitle = {Philological typesetting of classical Greek},
- author = {Claudio Beccari},
- date = {2022-10-03},
- version = {5.7.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/teubner},
- url = {https://ctan.org/pkg/teubner},
-}
-
-@manual{ctan-tex--xet,
- title = {The \texttt{tex--xet} package},
- subtitle = {Bidirectional extension of \TeX{}},
- author = {Peter Breitenlohner and Donald E. Knuth and Pierre A. MacKay},
- date = {2016-06-24},
- version = {3.141},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/systems/knuth/tex--xet},
- url = {https://ctan.org/pkg/tex--xet},
-}
-
-@manual{ctan-tex-converter,
- title = {The \texttt{TeX Converter} package},
- subtitle = {Windows front-end to various \LaTeX{} to HTML converters},
- author = {Steve Mayer},
- date = {2019-02-03},
- version = {2.6},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/tex-converter},
- url = {https://ctan.org/pkg/tex-converter},
-}
-
-@manual{ctan-tex-ewd,
- title = {The \texttt{tex-ewd} package},
- subtitle = {Macros to typeset calculational proofs and programs in Dijkstra's style},
- author = {Wolfgang Helbig},
- date = {2016-06-24},
- version = {},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/generic/tex-ewd},
- url = {https://ctan.org/pkg/tex-ewd},
- annotation = {Edsger W. Dijkstra and others suggest a
-
- and to construct programs. This package provides macros that
- support calculational proofs and Dijkstra’s “guarded command
- language”.},
-}
-
-@manual{ctan-tex-extensions,
- title = {The \texttt{tex-extensions} package},
- subtitle = {Proposals for extensions to \TeX{}},
- author = {Matthias Clasen},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/tex-extensions/clasen},
- url = {https://ctan.org/pkg/tex-extensions},
-}
-
-@manual{ctan-tex-font-errors-cheatsheet,
- title = {The \texttt{tex-font-errors-cheatsheet} package},
- subtitle = {Cheat sheet outlining the most common \TeX{} font errors},
- author = {Nico Schlömer},
- date = {2019-02-13},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/tex-font-errors-cheatsheet},
- url = {https://ctan.org/pkg/tex-font-errors-cheatsheet},
-}
-
-@manual{ctan-tex-fpc,
- title = {The \texttt{TeX-FPC} package},
- subtitle = {A collection of change files for a \TeX{} system based on Free Pascal},
- author = {Wolfgang Helbig},
- date = {2021-04-08},
- version = {4th ed.},
- license = {bsd2},
- mirror = {https://mirror.ctan.org/systems/unix/tex-fpc},
- url = {https://ctan.org/pkg/tex-fpc},
- annotation = {This is the followup to ,
- which is based on the GNU Pascal Compiler.
- GPC is not installable any more, so I switched to FPC,
- not because it is the best but because it is the only
- pascal compiler nowadays.},
-}
-
-@manual{ctan-tex-gpc,
- title = {The \texttt{TeX-GPC} package},
- subtitle = {A collection of change files for a \TeX{} system based on GNU Pascal},
- author = {Wolfgang Helbig},
- date = {2019-02-22},
- version = {3rd edition},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/unix/tex-gpc},
- url = {https://ctan.org/pkg/tex-gpc},
-}
-
-@manual{ctan-tex-gyre-adventor,
- title = {The \texttt{tex-gyre-adventor} package},
- subtitle = {A font family that extends URW Gothic L},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.501},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-adventor},
-}
-
-@manual{ctan-tex-gyre-bonum,
- title = {The \texttt{tex-gyre-bonum} package},
- subtitle = {A font family that extends URW Bookman L},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.004},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-bonum},
-}
-
-@manual{ctan-tex-gyre-chorus,
- title = {The \texttt{tex-gyre-chorus} package},
- subtitle = {A font that extends URW Chancery L},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.003},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-chorus},
-}
-
-@manual{ctan-tex-gyre-cursor,
- title = {The \texttt{tex-gyre-cursor} package},
- subtitle = {A font that extends URW Nimbus Mono L},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.004},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-cursor},
-}
-
-@manual{ctan-tex-gyre-heros,
- title = {The \texttt{tex-gyre-heros} package},
- subtitle = {A font family that extends URW Nimbus Sans L},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.004},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-heros},
-}
-
-@manual{ctan-tex-gyre-math-bonum,
- title = {The \texttt{tex-gyre-math-bonum} package},
- subtitle = {Maths fonts to match \TeX{} Gyre Bonum},
- author = {Bogusław Jackowski and Piotr Strzelczyk and Piotr Pianowski},
- date = {2021-08-26},
- version = {1.005},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre-math},
- url = {https://ctan.org/pkg/tex-gyre-math-bonum},
-}
-
-@manual{ctan-tex-gyre-math-dejavu,
- title = {The \texttt{tex-gyre-math-dejavu} package},
- subtitle = {Maths fonts to match \TeX{} Gyre Dejavu},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.106},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre-math},
- url = {https://ctan.org/pkg/tex-gyre-math-dejavu},
-}
-
-@manual{ctan-tex-gyre-math-pagella,
- title = {The \texttt{tex-gyre-math-pagella} package},
- subtitle = {Maths fonts to match the tex-gyre-pagella text font},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.632},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre-math},
- url = {https://ctan.org/pkg/tex-gyre-math-pagella},
-}
-
-@manual{ctan-tex-gyre-math-schola,
- title = {The \texttt{tex-gyre-math-schola} package},
- subtitle = {Maths fonts to match \TeX{} Gyre Schola},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.533},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre-math},
- url = {https://ctan.org/pkg/tex-gyre-math-schola},
-}
-
-@manual{ctan-tex-gyre-math-termes,
- title = {The \texttt{tex-gyre-math-termes} package},
- subtitle = {Maths fonts to match \TeX{} Gyre Termes},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.543},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre-math},
- url = {https://ctan.org/pkg/tex-gyre-math-termes},
-}
-
-@manual{ctan-tex-gyre-math,
- title = {The \texttt{tex-gyre-math} package},
- subtitle = {Maths fonts to match tex-gyre text fonts},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre-math},
- url = {https://ctan.org/pkg/tex-gyre-math},
-}
-
-@manual{ctan-tex-gyre-pagella,
- title = {The \texttt{tex-gyre-pagella} package},
- subtitle = {A font family that extends URW Palladio L},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.501},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-pagella},
-}
-
-@manual{ctan-tex-gyre-schola,
- title = {The \texttt{tex-gyre-schola} package},
- subtitle = {A font that extends URW Century Schoolbook L},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.005},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-schola},
-}
-
-@manual{ctan-tex-gyre-termes,
- title = {The \texttt{tex-gyre-termes} package},
- subtitle = {A font family that extends URW Nimbus Roman},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.004},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre-termes},
-}
-
-@manual{ctan-tex-gyre,
- title = {The \texttt{tex-gyre} package},
- subtitle = {TeX Fonts extending freely available URW fonts},
- author = {Bogusław Jackowski and Janusz Marian Nowacki},
- date = {2018-06-16},
- version = {2.501},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/tex-gyre},
- url = {https://ctan.org/pkg/tex-gyre},
-}
-
-@manual{ctan-tex-implementors,
- title = {The \texttt{tex-implementors} package},
- subtitle = {Entries from the tex-implementors mailing list},
- author = {Barbara Beeton and Karl Berry},
- date = {2021-05-26},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/info/digests/tex-implementors},
- url = {https://ctan.org/pkg/tex-implementors},
-}
-
-@manual{ctan-tex-ini-files,
- title = {The \texttt{tex-ini-files} package},
- subtitle = {Model \TeX{} format creation files},
- author = {Joseph Wright},
- date = {2019-03-02},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/tex-ini-files},
- url = {https://ctan.org/pkg/tex-ini-files},
-}
-
-@manual{ctan-tex-it,
- title = {The \texttt{tex-it} package},
- subtitle = {Controller for \TeX{} processing},
- author = {Norman Walsh},
- date = {2019-02-03},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/tex-it},
- url = {https://ctan.org/pkg/tex-it},
- annotation = {is a perl script for running \TeX{}. It examines the log file
- of the \TeX{} run and determines whether \TeX{} needs to be run again;
- it runs BibTeX if necessary, and can be told to run Makeindex.
- Its "end-document" action may be selected from a menu, and
- includes a "tidy up" to delete all those scribble files.},
-}
-
-@manual{ctan-tex-kurs,
- title = {The \texttt{tex-kurs} package},
- subtitle = {A \LaTeX{} (2.09) course in German},
- author = {Rainer Rupprecht},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/german/tex-kurs},
- url = {https://ctan.org/pkg/tex-kurs},
-}
-
-@manual{ctan-tex-label,
- title = {The \texttt{tex-label} package},
- subtitle = {Place a classification on each page of a document},
- author = {Balagopal Komarath},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tex-label},
- url = {https://ctan.org/pkg/tex-label},
-}
-
-@manual{ctan-tex-locale,
- title = {The \texttt{tex-locale} package},
- subtitle = {Localisation support for \TeX{} and \LaTeX{} documents},
- author = {Nicola Talbot},
- date = {2018-08-28},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/tex-locale},
- url = {https://ctan.org/pkg/tex-locale},
-}
-
-@manual{ctan-tex-mag,
- title = {The \texttt{TeX-mag} package},
- subtitle = {An on-line \TeX{} magazine},
- author = {Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {digest},
- mirror = {https://mirror.ctan.org/info/digests/tex-mag},
- url = {https://ctan.org/pkg/tex-mag},
-}
-
-@manual{ctan-tex-math,
- title = {The \texttt{tex-math} package},
- subtitle = {Maths mode documentation for OS/2 users},
- author = {Marco Hahn},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/os2/doc/TeX-Math},
- url = {https://ctan.org/pkg/tex-math},
-}
-
-@manual{ctan-tex-nutshell,
- title = {The \texttt{TeX-nutshell} package},
- subtitle = {A short document about \TeX{} principles},
- author = {Petr Olšák},
- date = {2022-05-18},
- version = {0.8},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/tex-nutshell},
- url = {https://ctan.org/pkg/tex-nutshell},
-}
-
-@manual{ctan-tex-overview,
- title = {The \texttt{tex-overview} package},
- subtitle = {An overview of the development of \TeX{}},
- author = {Arno L Trautmann},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/tex-overview},
- url = {https://ctan.org/pkg/tex-overview},
-}
-
-@manual{ctan-tex-ps,
- title = {The \texttt{tex-ps} package},
- subtitle = {TeX to PostScript generic macros and add-ons},
- author = {{BOP} and Janusz Marian Nowacki},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/TeX-PS},
- url = {https://ctan.org/pkg/tex-ps},
-}
-
-@manual{ctan-tex-references,
- title = {The \texttt{tex-references} package},
- subtitle = {References for \TeX{} and Friends},
- author = {Michael Wiedmann},
- date = {2020-12-30},
- version = {0.4.8},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/tex-references},
- url = {https://ctan.org/pkg/tex-references},
-}
-
-@manual{ctan-tex-virtual-academy-pl,
- title = {The \texttt{tex-virtual-academy-pl} package},
- subtitle = {TeX usage web pages, in Polish},
- author = {Staszek Wawrykiewicz and Tomasz Przechlewski},
- date = {2019-06-21},
- version = {},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/tex-virtual-academy-pl},
- url = {https://ctan.org/pkg/tex-virtual-academy-pl},
-}
-
-@manual{ctan-tex-vpat,
- title = {The \texttt{tex-vpat} package},
- subtitle = {TeX Accessibility Conformance Report},
- author = {Boris Veytsman},
- date = {2022-06-12},
- version = {2.1, June 2022},
- license = {cc-by-3},
- mirror = {https://mirror.ctan.org/info/tex-vpat},
- url = {https://ctan.org/pkg/tex-vpat},
-}
-
-@manual{ctan-tex,
- title = {The \texttt{TeX} package},
- subtitle = {A sophisticated typesetting engine},
- author = {Donald E. Knuth},
- date = {2022-02-01},
- version = {3.141592653},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/tex},
- url = {https://ctan.org/pkg/tex},
-}
-
-@manual{ctan-tex2bib,
- title = {The \texttt{tex2bib} package},
- subtitle = {Extract a BibTeX database from a document source},
- author = {Michael Friendly},
- date = {2016-06-24},
- license = {bsd},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/tex2bib},
- url = {https://ctan.org/pkg/tex2bib},
- annotation = {Tex2bib is a Perl script that extracts bibliographic data from a
- document whose author wrote out the entries.
- The entire document is scanned for entries,
- ending when is encountered.},
-}
-
-@manual{ctan-tex2ltx,
- title = {The \texttt{tex2ltx} package},
- subtitle = {AMS-TeX to AMS-\LaTeX{} converter},
- author = {Pedro Fortuny},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/tex2ltx},
- url = {https://ctan.org/pkg/tex2ltx},
-}
-
-@manual{ctan-tex2mail,
- title = {The \texttt{tex2mail} package},
- subtitle = {Converts \TeX{} to mailable "ASCII art"},
- author = {Ilya Zakharevich},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/tex2mail},
- url = {https://ctan.org/pkg/tex2mail},
-}
-
-@manual{ctan-tex2page,
- title = {The \texttt{tex2page} package},
- subtitle = {Produce HTML from \TeX{}/LaTeX},
- author = {Dorai Sitaram},
- date = {2020-06-10},
- version = {},
- license = {gpl},
- url = {https://ctan.org/pkg/tex2page},
-}
-
-@manual{ctan-tex2rtf,
- title = {The \texttt{tex2rtf} package},
- subtitle = {TeX translator, output formats include RTF},
- author = {Julian Smart},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/tex2rtf},
- url = {https://ctan.org/pkg/tex2rtf},
-}
-
-@manual{ctan-tex2tok,
- title = {The \texttt{tex2tok} package},
- subtitle = {Convert a \TeX{} source file into tokens},
- author = {Jonathan Fine},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/tex2tok},
- url = {https://ctan.org/pkg/tex2tok},
-}
-
-@manual{ctan-tex2word,
- title = {The \texttt{tex2word} package},
- subtitle = {Convert \TeX{}/\LaTeX{} to MSWord},
- author = {Kirill A Chikrii},
- date = {2017-04-18},
- version = {2.0},
- license = {other-nonfree},
- url = {https://ctan.org/pkg/tex2word},
-}
-
-@manual{ctan-tex4ebook,
- title = {The \texttt{tex4ebook} package},
- subtitle = {Converter from \LaTeX{} to ebook formats},
- author = {Michal Hoftich},
- date = {2023-03-02},
- version = {0.3i},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/tex4ebook},
- url = {https://ctan.org/pkg/tex4ebook},
- annotation = {This is a bundle of Lua scripts and \LaTeX{} packages
- for conversion of \LaTeX{} files to ebook formats
- such as epub, mobi and epub3.
- is used as the
- conversion engine.},
-}
-
-@manual{ctan-tex4ht,
- title = {The \texttt{TeX4ht} package},
- subtitle = {Convert (La)TeX to HTML/XML},
- author = {{The \TeX{}4ht Team} and Eitan M. Gurari},
- date = {2021-10-11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/TeX4ht},
- url = {https://ctan.org/pkg/tex4ht},
-}
-
-@manual{ctan-texaccents,
- title = {The \texttt{texaccents} package},
- subtitle = {Convert composite accented characters to Unicode},
- author = {Guido Milanese},
- date = {2022-09-21},
- version = {1.0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/support/texaccents},
- url = {https://ctan.org/pkg/texaccents},
- annotation = {This small utility, written in SNOBOL, converts the
- composition of special characters to Unicode, e. g.
- → ,
- → , …},
-}
-
-@manual{ctan-texapi,
- title = {The \texttt{texapi} package},
- subtitle = {Macros to write format-independent packages},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {1.04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/texapi},
- url = {https://ctan.org/pkg/texapi},
-}
-
-@manual{ctan-texas,
- title = {The \texttt{texas} package},
- subtitle = {32-bit \TeX{} 3.14 compiled for MS-DOS 386/486 computers},
- author = {Shih-Ping Chan},
- date = {2016-06-24},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/systems/msdos/texas.zip},
- url = {https://ctan.org/pkg/texas},
-}
-
-@manual{ctan-texbook,
- title = {The \texttt{texbook} package},
- subtitle = {The source of The \TeX{}book},
- author = {Donald E. Knuth},
- date = {2021-02-09},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/tex/texbook.tex},
- url = {https://ctan.org/pkg/texbook},
-}
-
-@manual{ctan-texbuch,
- title = {The \texttt{texbuch} package},
- subtitle = {"The little \TeX{}Book"},
- author = {Fritz Cremer},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/german/texbuch},
- url = {https://ctan.org/pkg/texbuch},
-}
-
-@manual{ctan-texbytopic,
- title = {The \texttt{TeXbyTopic} package},
- subtitle = {Freed version of the book \TeX{} by Topic},
- author = {Victor Eijkhout},
- date = {2017-04-18},
- version = {},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/texbytopic},
- url = {https://ctan.org/pkg/texbytopic},
-}
-
-@manual{ctan-texcad32,
- title = {The \texttt{texcad32} package},
- subtitle = {Win32 drawing package for mathematical diagrams},
- author = {{Unknown}},
- date = {2020-01-19},
- version = {4.4.1.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/texcad32},
- url = {https://ctan.org/pkg/texcad32},
- annotation = {Texcad32 is one of a number of clones/developments of the DOS
- program Texcad. Texcad32 can output either to a file of
- special commands, or to PostScript.},
-}
-
-@manual{ctan-texchord,
- title = {The \texttt{texchord} package},
- subtitle = {Typeset guitar-chord diagrams},
- author = {Joel M. Hoffman},
- date = {2016-06-24},
- version = {0.8},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/generic/texchord},
- url = {https://ctan.org/pkg/texchord},
-}
-
-@manual{ctan-texcount,
- title = {The \texttt{TeXcount} package},
- subtitle = {Count words in a \LaTeX{} document},
- author = {Einar Andreas Rødland},
- date = {2018-10-28},
- version = {3.1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/texcount},
- url = {https://ctan.org/pkg/texcount},
-}
-
-@manual{ctan-texdate,
- title = {The \texttt{texdate} package},
- subtitle = {Date printing, formatting, and manipulation in \TeX{}},
- author = {Donald P. Goodman},
- date = {2018-12-09},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/texdate},
- url = {https://ctan.org/pkg/texdate},
- annotation = {TeX and \LaTeX{} provide few facilities for dates by default, though many packages
- have filled this gap. This package fills it, as well, with a pure \TeX{}-primitive
- implementation. It can print dates, advance them by numbers of days, weeks, or months,
- determine the weekday automatically (with an algorithm cribbed from the
- file written by Martin Minow), and print them in (mostly) arbitrary format.
- It can also print calendars (monthly and yearly) automatically, and can be easily
- localized for non-English languages.},
-}
-
-@manual{ctan-texdef,
- title = {The \texttt{texdef} package},
- subtitle = {Display the definitions of \TeX{} commands},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.9},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/texdef},
- url = {https://ctan.org/pkg/texdef},
-}
-
-@manual{ctan-texdepend,
- title = {The \texttt{texdepend} package},
- subtitle = {Find dependencies in a \LaTeX{} file},
- author = {Michael Friendly},
- date = {2020-05-05},
- version = {0.92},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/texdepend},
- url = {https://ctan.org/pkg/texdepend},
- annotation = {A Perl script for finding dependencies in a \LaTeX{} file. The
- script reads a file, and (recursively) all
- and files referenced therein to build
- dependencies from the source files scanned, packages (as in
- ), and figures (loaded using
- ).},
-}
-
-@manual{ctan-texdeps,
- title = {The \texttt{texdeps} package},
- subtitle = {Find the dependencies of a (La)TeX file},
- author = {Simon Cozens},
- date = {2020-05-05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/texdeps},
- url = {https://ctan.org/pkg/texdeps},
-}
-
-@manual{ctan-texdiff,
- title = {The \texttt{texdiff} package},
- subtitle = {Compare documents and produce tagged merge},
- author = {Mark Doll and Cengiz Günay},
- date = {2017-04-18},
- version = {0.4},
- license = {artistic},
- mirror = {https://mirror.ctan.org/support/texdiff},
- url = {https://ctan.org/pkg/texdiff},
- annotation = {Two files are compared and a new \TeX{} file is output.
- When the output file is processed with (La)TeX it marks new
- changes with blue and old text with red with a strike-through
- line. Furthermore, passages with changes are marked at the margin
- with grey bars by the \LaTeX{}
- package.},
-}
-
-@manual{ctan-texdimens,
- title = {The \texttt{texdimens} package},
- subtitle = {Conversion of \TeX{} dimensions to decimals},
- author = {Jean-François Burnol},
- date = {2021-11-16},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/texdimens},
- url = {https://ctan.org/pkg/texdimens},
- annotation = {Utilities and documentation related to \TeX{} dimensional units,
- usable both with Plain ()
- and with \LaTeX{} ().},
-}
-
-@manual{ctan-texdirflatten,
- title = {The \texttt{texdirflatten} package},
- subtitle = {Collect files related to a \LaTeX{} job in a single directory},
- author = {Cengiz Günay},
- date = {2020-05-05},
- version = {1.3},
- license = {artistic},
- mirror = {https://mirror.ctan.org/support/texdirflatten},
- url = {https://ctan.org/pkg/texdirflatten},
-}
-
-@manual{ctan-texdoc,
- title = {The \texttt{texdoc} package},
- subtitle = {Documentation access for \TeX{} Live},
- author = {Takuto Asakura and Thomas Esser and Manuel Pégourié-Gonnard and {The \TeX{} Live Team}},
- date = {2023-02-27},
- version = {4.0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/texdoc},
- url = {https://ctan.org/pkg/texdoc},
- annotation = {is a Lua script providing easy access to the
- documentation in \TeX{} Live: PDF, DVI, plain text files, and more.
- Viewing and other configuration can be extensively customized.
- It is distributed with ;
- provides a program by the same
- name to do the same job, but its implementation is unrelated.},
-}
-
-@manual{ctan-texdoctk,
- title = {The \texttt{texdoctk} package},
- subtitle = {Easy access to package documentation},
- author = {Thomas Ruedas and Keiran Harcombe},
- date = {2021-06-10},
- version = {0.6.0},
- license = {gpl},
- url = {https://ctan.org/pkg/texdoctk},
-}
-
-@manual{ctan-texdraw,
- title = {The \texttt{texdraw} package},
- subtitle = {Graphical macros, using embedded PostScript},
- author = {Peter Kabal},
- date = {2019-05-06},
- version = {v2r3},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/graphics/texdraw},
- url = {https://ctan.org/pkg/texdraw},
-}
-
-@manual{ctan-texed,
- title = {The \texttt{texed} package},
- subtitle = {A \TeX{} shell for OS/2},
- author = {Frank Stippich},
- date = {2016-06-24},
- version = {1.50},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/os2/texed},
- url = {https://ctan.org/pkg/texed},
- annotation = {A \TeX{} shell for OS/2, FSS-TeXEdit provides an easy interface
- for \LaTeX{}2e, ,
- and
- .},
-}
-
-@manual{ctan-texemplar,
- title = {The \texttt{texemplar} package},
- subtitle = {A class for the journal of CervanTeX},
- author = {Javier Bezos López},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/TeXemplar},
- url = {https://ctan.org/pkg/texemplar},
-}
-
-@manual{ctan-texfaq,
- title = {The \texttt{texfaq} package},
- subtitle = {A compilation of Frequently Asked Questions with answers},
- author = {Robin Fairbairns},
- date = {2021-12-29},
- version = {3.28},
- license = {pd},
- url = {https://ctan.org/pkg/texfaq},
- annotation = {The FAQ that has in the past been published in the UK \TeX{} Users
- Group journal Baskerville. This is the last version released
- on CTAN in 2014.
-
- The actual \TeX{} FAQ can be found on .
-
- Some
- are also available.},
-}
-
-@manual{ctan-texfilt,
- title = {The \texttt{texfilt} package},
- subtitle = {A (La)TeX log filter},
- author = {Edward Baker},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/texfilt},
- url = {https://ctan.org/pkg/texfilt},
- annotation = {Works under DOS, OS/2 and Linux. Code written in
- , so documented source available.},
-}
-
-@manual{ctan-texfot,
- title = {The \texttt{texfot} package},
- subtitle = {Filter clutter from the output of a \TeX{} run},
- author = {Karl Berry},
- date = {2023-01-15},
- version = {1.48},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/texfot},
- url = {https://ctan.org/pkg/texfot},
-}
-
-@manual{ctan-texhax,
- title = {The \texttt{TeXhax} package},
- subtitle = {Digests of a general \TeX{} mailing list},
- author = {{Unknown}},
- date = {2021-08-26},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/digests/texhax},
- url = {https://ctan.org/pkg/texhax},
-}
-
-@manual{ctan-texi2dvi-latest,
- title = {The \texttt{texi2dvi-latest} package},
- subtitle = {Process Texinfo or (La)TeX source to DVI},
- author = {Noah Friedman},
- date = {2016-08-14},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/texinfo/latest},
- url = {https://ctan.org/pkg/texi2dvi-latest},
-}
-
-@manual{ctan-texi2html,
- title = {The \texttt{texi2html} package},
- subtitle = {Converts \TeX{}info to HTML},
- author = {Derek Price and Patrice Dumas and Karl Berry and Lionel Cons},
- date = {2017-04-18},
- version = {1.76},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/texi2html},
- url = {https://ctan.org/pkg/texi2html},
-}
-
-@manual{ctan-texi2roff,
- title = {The \texttt{texi2roff} package},
- subtitle = {Translate texinfo to troff},
- author = {Beverly Erlebacher},
- date = {2016-06-24},
- version = {2.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/texi2roff},
- url = {https://ctan.org/pkg/texi2roff},
- annotation = {Texi2roff translates
- documents to nroff/troff (it does deal with Plain
- \TeX{} or \LaTeX{} sources). While the conversion is not complete, it
- provides a solid basis for translating most texinfo documentation.},
-}
-
-@manual{ctan-texi2www,
- title = {The \texttt{texi2www} package},
- subtitle = {Converts texinfo to display on the Web},
- author = {Tim Singletary},
- date = {2018-01-06},
- license = {gpl},
- url = {https://ctan.org/pkg/texi2www},
-}
-
-@manual{ctan-texilikechaps,
- title = {The \texttt{texilikechaps} package},
- subtitle = {Format chapters with a texi-like format},
- author = {Luis Rivera},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/texilikechaps.sty},
- url = {https://ctan.org/pkg/texilikechaps},
-}
-
-@manual{ctan-texilikecover,
- title = {The \texttt{texi-like cover} package},
- subtitle = {A cover-page package, like \TeX{}info},
- author = {Alberto Manuel Brandão Simões},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/texilikecover.sty},
- url = {https://ctan.org/pkg/texilikecover},
- annotation = {The package creates document cover pages, like those that
- produces.},
-}
-
-@manual{ctan-texindex,
- title = {The \texttt{texindex} package},
- subtitle = {Simple indexing using standard Unix commands},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/indexing/texindex},
- url = {https://ctan.org/pkg/texindex},
-}
-
-@manual{ctan-texinfo-latest,
- title = {The \texttt{texinfo-latest} package},
- subtitle = {Current releases of texinfo.tex and texi2dvi},
- author = {{Free Software Foundation}},
- date = {2021-07-13},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/texinfo/latest},
- url = {https://ctan.org/pkg/texinfo-latest},
- annotation = {The bundle offers the latest official releases of the
- macro file, the
- scripts, and support file,
- as posted on . These files are often updated
- between full releases of the full
- package.
- See the the full package for documentation.},
-}
-
-@manual{ctan-texinfo,
- title = {The \texttt{texinfo} package},
- subtitle = {Texinfo documentation system},
- author = {{Free Software Foundation}},
- date = {2021-07-13},
- version = {6.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/texinfo/texinfo},
- url = {https://ctan.org/pkg/texinfo},
-}
-
-@manual{ctan-texlab,
- title = {The \texttt{TeXLab} package},
- subtitle = {\LaTeX{} Language Server},
- author = {Eric Förster},
- date = {2023-03-12},
- version = {5.4.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/texlab},
- url = {https://ctan.org/pkg/texlab},
-}
-
-@manual{ctan-texline,
- title = {The \texttt{TeXline} package},
- subtitle = {A \TeX{}-based magazine},
- author = {Malcolm Clark},
- date = {2016-06-24},
- version = {},
- license = {digest},
- mirror = {https://mirror.ctan.org/info/digests/texline},
- url = {https://ctan.org/pkg/texline},
-}
-
-@manual{ctan-texlipse,
- title = {The \texttt{texlipse} package},
- subtitle = {\LaTeX{} plugin for Eclipse},
- author = {Boris von Loesch and Taavi Hupponen and Kimmo Karlsson and Jani Laitinen and Oskar Ojala and Antti Pirinen and Esa Seuranen and Laura Takkinen},
- date = {2017-04-18},
- version = {1.5.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/texlipse},
- url = {https://ctan.org/pkg/texlipse},
- annotation = {The \TeX{}lipse plugin for the
- provides support
- for \LaTeX{} projects. It is primarily aimed at users who already
- know the basics about \LaTeX{}, but new users will surely find it
- useful despite the steeper learning curve.},
-}
-
-@manual{ctan-texlist,
- title = {The \texttt{texlist} package},
- subtitle = {Typeset program listings},
- author = {John Forkosh},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/texlist},
- url = {https://ctan.org/pkg/texlist},
-}
-
-@manual{ctan-texlive-dummy-enterprise-linux-6,
- title = {The \texttt{texlive-dummy-enterprise-linux-6} package},
- subtitle = {Dummy \TeX{} Live RPM for use with RHEL 6 and derived distributions},
- author = {Bob Tennent},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texlive/texlive-dummy/EnterpriseLinux-6},
- url = {https://ctan.org/pkg/texlive-dummy-enterprise-linux-6},
-}
-
-@manual{ctan-texlive-dummy-enterprise-linux-7,
- title = {The \texttt{texlive-dummy-enterprise-linux-7} package},
- subtitle = {Dummy \TeX{} Live RPM for use with RHEL 7 and derived distributions},
- author = {Bob Tennent},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texlive/texlive-dummy/EnterpriseLinux-7},
- url = {https://ctan.org/pkg/texlive-dummy-enterprise-linux-7},
-}
-
-@manual{ctan-texlive-dummy-enterprise-linux-8,
- title = {The \texttt{texlive-dummy-enterprise-linux-8} package},
- subtitle = {Dummy \TeX{} Live RPM for use with RHEL 8 and derived distributions},
- author = {Bob Tennent},
- date = {2020-02-15},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texlive/texlive-dummy/EnterpriseLinux-8},
- url = {https://ctan.org/pkg/texlive-dummy-enterprise-linux-8},
-}
-
-@manual{ctan-texlive-dummy-enterprise-linux,
- title = {The \texttt{texlive-dummy-enterprise-linux} package},
- subtitle = {Dummy \TeX{} Live RPM for use with RHEL 6 and derived distributions},
- author = {Bob Tennent},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texlive/texlive-dummy/EnterpriseLinux-6},
- url = {https://ctan.org/pkg/texlive-dummy-enterprise-linux},
-}
-
-@manual{ctan-texlive-dummy-fedora,
- title = {The \texttt{texlive-dummy-fedora} package},
- subtitle = {Dummy \TeX{} Live RPM for use with Fedora and similar distributions},
- author = {Hendrik G Seliger},
- date = {2022-07-14},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texlive/texlive-dummy/Fedora},
- url = {https://ctan.org/pkg/texlive-dummy-fedora},
-}
-
-@manual{ctan-texlive-dummy-opensuse,
- title = {The \texttt{texlive-dummy-opensuse} package},
- subtitle = {Dummy \TeX{} Live RPM for use with Open SUSE},
- author = {Rolf Niepraschk},
- date = {2022-04-21},
- version = {2022.9999-1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texlive/texlive-dummy/openSUSE},
- url = {https://ctan.org/pkg/texlive-dummy-opensuse},
-}
-
-@manual{ctan-texlive-repo,
- title = {The \texttt{texlive-repo} package},
- subtitle = {A mirror of the \TeX{} Live repository},
- author = {{The \TeX{} Live Team}},
- date = {2021-08-26},
- version = {2016},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/texlive/tlnet},
- url = {https://ctan.org/pkg/texlive-repo},
-}
-
-@manual{ctan-texlive-source,
- title = {The \texttt{TeX Live source tree} package},
- subtitle = {Sources of the \TeX{} Live distribution},
- author = {{The \TeX{} Live Team}},
- date = {2021-08-26},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/texlive/Source},
- url = {https://ctan.org/pkg/texlive-source},
-}
-
-@manual{ctan-texlive,
- title = {The \texttt{texlive} package},
- subtitle = {A comprehensive distribution of \TeX{} and friends},
- author = {{The \TeX{} Live Team}},
- date = {2022-04-04},
- version = {2022},
- license = {other-free},
- mirror = {https://mirror.ctan.org/systems/texlive/Images},
- url = {https://ctan.org/pkg/texlive},
-}
-
-@manual{ctan-texliveonfly,
- title = {The \texttt{texliveonfly} package},
- subtitle = {On-the-fly download of missing \TeX{} live packages},
- author = {Saitulaa Naranong},
- date = {2020-06-24},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/texliveonfly},
- url = {https://ctan.org/pkg/texliveonfly},
-}
-
-@manual{ctan-texlog-extract,
- title = {The \texttt{texlog-extract} package},
- subtitle = {Extract errors and warnings from \TeX{} logs},
- author = {Wybo H. Dekker},
- date = {2019-02-05},
- version = {3.04},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/texlog_extract},
- url = {https://ctan.org/pkg/texlog-extract},
-}
-
-@manual{ctan-texloganalyser,
- title = {The \texttt{texloganalyser} package},
- subtitle = {Analyse \TeX{} logs},
- author = {Thomas van Oudenhove},
- date = {2020-03-26},
- version = {0.11},
- license = {bsd},
- mirror = {https://mirror.ctan.org/support/texloganalyser},
- url = {https://ctan.org/pkg/texloganalyser},
-}
-
-@manual{ctan-texlogfilter,
- title = {The \texttt{texlogfilter} package},
- subtitle = {Filter \LaTeX{} engines output or log file},
- author = {Julien Labbé},
- date = {2022-03-30},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texlogfilter},
- url = {https://ctan.org/pkg/texlogfilter},
-}
-
-@manual{ctan-texlogos,
- title = {The \texttt{texlogos} package},
- subtitle = {Ready-to-use \LaTeX{} logos},
- author = {Jacek Ruzyczka},
- date = {2016-06-24},
- version = {1.3.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texlogos/texlogos.sty},
- url = {https://ctan.org/pkg/texlogos},
-}
-
-@manual{ctan-texlogsieve,
- title = {The \texttt{texlogsieve} package},
- subtitle = {Filter and summarize \LaTeX{} log files},
- author = {Nelson Lago},
- date = {2022-09-05},
- version = {1.3.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/texlogsieve},
- url = {https://ctan.org/pkg/texlogsieve},
- annotation = {reads a \LaTeX{} log file (or the standard input
- if no file is specified), filters out less relevant messages,
- and displays a summary report.
- It is a script, similar in spirit to tools such as
- ,
- ,
- ,
- ,
- , and others. Highlights:},
-}
-
-@manual{ctan-texmacs,
- title = {The \texttt{TeXmacs} package},
- subtitle = {Structured text editor for \TeX{}},
- author = {Joris van der Hoeven},
- date = {2017-04-18},
- version = {1.0.7.20},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/TeXmacs},
- url = {https://ctan.org/pkg/texmacs},
-}
-
-@manual{ctan-texmalli,
- title = {The \texttt{texmalli} package},
- subtitle = {A quick Finnish introduction to using \LaTeX{}},
- author = {Antti-Juhani Kaijanaho},
- date = {2016-06-18},
- version = {2.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/finnish/texmalli},
- url = {https://ctan.org/pkg/texmalli},
-}
-
-@manual{ctan-texmate,
- title = {The \texttt{TeXmate} package},
- subtitle = {Comprehensive chess annotation in \LaTeX{}},
- author = {Federico Garcia-De Castro},
- date = {2018-01-06},
- version = {2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texmate},
- url = {https://ctan.org/pkg/texmate},
-}
-
-@manual{ctan-texments,
- title = {The \texttt{texments} package},
- subtitle = {Using the Pygments highlighter in \LaTeX{}},
- author = {Marek Kubica},
- date = {2016-06-24},
- version = {0.2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texments},
- url = {https://ctan.org/pkg/texments},
- annotation = {A package which allows to use the Pygments highlighter inside
- \LaTeX{} documents.
- supports syntax colouring of over 50 types of files, and ships
- with multiple colour schemes.},
-}
-
-@manual{ctan-texmuse,
- title = {The \texttt{TeXmuse} package},
- subtitle = {Music typesetting system using \TeX{} and Metafont},
- author = {Federico Garcia-De Castro},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/texmuse},
- url = {https://ctan.org/pkg/texmuse},
-}
-
-@manual{ctan-texnegar,
- title = {The \texttt{texnegar} package},
- subtitle = {Kashida justification in \XeLaTeX{} and LuaLaTeX},
- author = {Hossein Movahhedian},
- date = {2021-02-09},
- version = {0.1e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/texnegar},
- url = {https://ctan.org/pkg/texnegar},
-}
-
-@manual{ctan-texniccenter,
- title = {The \texttt{TeXnicCenter} package},
- subtitle = {An IDE for \LaTeX{} on MSWindows},
- author = {Sven Wiegand},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/win32/TeXnicCenter},
- url = {https://ctan.org/pkg/texniccenter},
-}
-
-@manual{ctan-texonly,
- title = {The \texttt{texonly} package},
- subtitle = {A sample document in Plain \TeX{}},
- author = {Matthias Borck-Elsner},
- date = {2019-05-06},
- version = {2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/texonly},
- url = {https://ctan.org/pkg/texonly},
- annotation = {A file written with \TeX{}, not using any packgages or sty-files,
- to be compiled with \TeX{} or pdfTeX only, with \LaTeX{}
- et al.},
-}
-
-@manual{ctan-texosquery,
- title = {The \texttt{texosquery} package},
- subtitle = {Cross-platform Java application to query OS information},
- author = {Nicola Talbot},
- date = {2020-02-04},
- version = {1.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/texosquery},
- url = {https://ctan.org/pkg/texosquery},
-}
-
-@manual{ctan-texpack,
- title = {The \texttt{texpack} package},
- subtitle = {Create documented \LaTeX{} classes, packages and docs in a Unix environment},
- author = {Paolo Lulli},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/texpack},
- url = {https://ctan.org/pkg/texpack},
- annotation = {Texpack is a little bundle of scripts to create documented \LaTeX{}
- style, class files and docs. Texpack provides useful scripts for
- the automated creation of the skeleton required by
- documented \TeX{} files. It is useful both for creating packages
- () and new classes (). Texpack also
- provides a command to automate the creation of commonly needed
- \LaTeX{} skeleton files. This feature is mostly useful for the
- Italian author, but also provides the fast creation of a
- conditional preamble for handling /
- compilation.},
-}
-
-@manual{ctan-texperf,
- title = {The \texttt{texperf} package},
- subtitle = {A WordPerfect to \LaTeX{} translator},
- author = {John Forkosh},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/texperf},
- url = {https://ctan.org/pkg/texperf},
- annotation = {TeXPerfect was written to interpret files formatted by WordPerfect
- 5.1 for DOS; is probably a
- better bet for current WordPerfect.},
-}
-
-@manual{ctan-texpict,
- title = {The \texttt{texpict} package},
- subtitle = {Create drawings for \LaTeX{}},
- author = {Ramon Ribo},
- date = {2016-06-24},
- version = {1.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/texpict},
- url = {https://ctan.org/pkg/texpict},
-}
-
-@manual{ctan-texpictex,
- title = {The \texttt{texpictex} package},
- subtitle = {Use tpic special commands in PiCTeX},
- author = {Dirk Grunwald},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/texpictex.tex},
- url = {https://ctan.org/pkg/texpictex},
- annotation = {Macros to override straight-line drawing routines in
- ; also provides clipping to the
- picture bounding box.},
-}
-
-@manual{ctan-texplate,
- title = {The \texttt{texplate} package},
- subtitle = {A tool for creating document structures based on templates},
- author = {Paulo Roberto Massa Cereda},
- date = {2021-07-28},
- version = {1.0.4},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/support/texplate},
- url = {https://ctan.org/pkg/texplate},
- annotation = {TeXplate is a tool for creating document structures based on templates.
- The application name is a word play on and ,
- so the purpose seems quite obvious: we want to provide an easy and
- straightforward framework for reducing the typical code boilerplate
- when writing \TeX{} documents.
- Also note that one can easily extrapolate the use beyond articles
- and theses: the application is powerful enough to generate
- text-based structure, given that
- a corresponding template exists.},
-}
-
-@manual{ctan-texpower,
- title = {The \texttt{texpower} package},
- subtitle = {Create dynamic online presentations with \LaTeX{}},
- author = {Stephan Lehmke and Hans Fredrik Nordhaug},
- date = {2017-04-18},
- version = {0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texpower},
- url = {https://ctan.org/pkg/texpower},
-}
-
-@manual{ctan-texproject,
- title = {The \texttt{TeXProject} package},
- subtitle = {A package for project management},
- author = {Stéphane Bressan and Eitan M. Gurari},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/dratex/TeXProject.sty},
- url = {https://ctan.org/pkg/texproject},
-}
-
-@manual{ctan-texproposal,
- title = {The \texttt{TeXProposal} package},
- subtitle = {A proposal prototype for \LaTeX{} promotion in Chinese universities},
- author = {Li Zhennan},
- date = {2018-01-06},
- version = {1.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/texproposal},
- url = {https://ctan.org/pkg/texproposal},
-}
-
-@manual{ctan-texref,
- title = {The \texttt{texref} package},
- subtitle = {Find cross-references in a \LaTeX{} file},
- author = {Michael Friendly},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/support/texref},
- url = {https://ctan.org/pkg/texref},
- annotation = {Texref reads a file, and (recursively) all
- and files referenced therein, collecting the
- names of all s, s
- and s as it goes. It then prints the list of
- labels together with information about where those labels are
- referenced in the file.},
-}
-
-@manual{ctan-texshade,
- title = {The \texttt{texshade} package},
- subtitle = {Package for setting nucleotide and peptide alignments},
- author = {Eric Beitz},
- date = {2022-08-30},
- version = {1.26a},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texshade},
- url = {https://ctan.org/pkg/texshade},
- annotation = {TeXshade is alignment shading software completely written in
- \TeX{}/LaTeX; it can process multiple sequence alignments in the
- and the file formats. In addition to
- common shading algorithms, it provides special shading modes
- showing functional aspects, e.g. charge or hydropathy, and a wide
- range of commands for handling shading colours, text styles,
- labels, legends; it even allows the user to define completely new
- shading modes. \TeX{}shade combines highest flexibility with \TeX{}
- output quality — all in a bundle that does not demand excessive
- development time of the user.},
-}
-
-@manual{ctan-texshell,
- title = {The \texttt{TeXshell} package},
- subtitle = {X-Window Shell for \TeX{}},
- author = {Marc Mittelbach},
- date = {2023-02-10},
- version = {2.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/support/TeXshell},
- url = {https://ctan.org/pkg/texshell},
-}
-
-@manual{ctan-texshell32,
- title = {The \texttt{texshell32} package},
- subtitle = {A free \TeX{}Shell for MS-Windows 95 and NT},
- author = {Dirk Struve},
- date = {2016-06-24},
- version = {0.71},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/win32/texshell32},
- url = {https://ctan.org/pkg/texshell32},
-}
-
-@manual{ctan-texshop,
- title = {The \texttt{texshop} package},
- subtitle = {TeX front end for use on MacOS X},
- author = {Dick Koch},
- date = {2023-02-22},
- version = {5.12},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/texshop},
- url = {https://ctan.org/pkg/texshop},
- annotation = {TeXShop is a \TeX{} previewer for Mac OS X, written in Cocoa.
- \TeX{}Shop uses and in its default
- configuration, to conform with Mac OS X’s predilection for
- PDF.},
-}
-
-@manual{ctan-texsis,
- title = {The \texttt{TeXsis} package},
- subtitle = {Plain \TeX{} macros for Physicists},
- author = {Eric Myers and Frank Paige},
- date = {2019-06-21},
- version = {2.18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/texsis},
- url = {https://ctan.org/pkg/texsis},
-}
-
-@manual{ctan-texsketch,
- title = {The \texttt{texsketch} package},
- subtitle = {A drawing package for OS/2},
- author = {Tim Bahnes},
- date = {2016-06-24},
- version = {1.03},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/graphics/texsketch},
- url = {https://ctan.org/pkg/texsketch},
-}
-
-@manual{ctan-texsort,
- title = {The \texttt{texsort} package},
- subtitle = {Sort/compress numerical lists},
- author = {Sigitas Tolušis},
- date = {2021-10-11},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sttools},
- url = {https://ctan.org/pkg/texsort},
-}
-
-@manual{ctan-texspell,
- title = {The \texttt{texspell} package},
- subtitle = {A \LaTeX{} spelling checker},
- author = {Martin Eckl},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/texspell},
- url = {https://ctan.org/pkg/texspell},
-}
-
-@manual{ctan-texsurgery,
- title = {The \texttt{texsurgery} package},
- subtitle = {A \LaTeX{} companion to the “texsurgery” python project},
- author = {Pablo Angulo},
- date = {2021-07-13},
- version = {0.6.0},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texsurgery},
- url = {https://ctan.org/pkg/texsurgery},
- annotation = {This \LaTeX{} library is a companion to the
- .
- It will make sure that “”
- will work, with reasonable defaults, for a document that is
- intended to work with , and also has other uses,
- always in tandem with the package.},
-}
-
-@manual{ctan-text1,
- title = {The \texttt{TeX T1} package},
- subtitle = {TeX format from Washington State University},
- author = {Dean Guenther},
- date = {2016-06-18},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/macros/text1},
- url = {https://ctan.org/pkg/text1},
-}
-
-@manual{ctan-text2bib,
- title = {The \texttt{text2bib} package},
- subtitle = {A PHP script to convert references to BibTeX},
- author = {Martin J. Osborne},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/text2bib},
- url = {https://ctan.org/pkg/text2bib},
-}
-
-@manual{ctan-textarea,
- title = {The \texttt{textarea} package},
- subtitle = {Control the text area dynamically},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/textarea},
-}
-
-@manual{ctan-textcase,
- title = {The \texttt{textcase} package},
- subtitle = {Case conversion ignoring mathematics, etc},
- author = {David Carlisle},
- date = {2022-07-10},
- version = {1.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textcase},
- url = {https://ctan.org/pkg/textcase},
-}
-
-@manual{ctan-textcomp,
- title = {The \texttt{textcomp} package},
- subtitle = {\LaTeX{} support for the Text Companion fonts},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/fonts/psfonts/ts1},
- url = {https://ctan.org/pkg/textcomp},
-}
-
-@manual{ctan-textcsc,
- title = {The \texttt{textcsc} package},
- subtitle = {Simple commands for caps-to-small-caps text},
- author = {Elijah Z Granet},
- date = {2022-11-04},
- version = {1.0.1},
- license = {lppl1.3,cc-by-sa-3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/textcsc},
- url = {https://ctan.org/pkg/textcsc},
- annotation = {This package provides a simple command ( and )
- for caps-to-small-caps text, to allow for small caps acronyms
- to be presented as uppercase in text
- (useful for things like copying and pasting from a PDF).},
-}
-
-@manual{ctan-textfit,
- title = {The \texttt{textfit} package},
- subtitle = {Fit text to a desired size},
- author = {Sebastian Rahtz and Philip Taylor},
- date = {2016-06-24},
- version = {5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textfit},
- url = {https://ctan.org/pkg/textfit},
- annotation = {Package to fit text to a given width or height
- by scaling the font. For example:
- . (The job is done by
- calculating a and applying it to the current
- font; thus “This” will be very tall, as well as
- very wide; to scale in just one dimension, use the facilities of
- the package.)},
-}
-
-@manual{ctan-textglos,
- title = {The \texttt{textglos} package},
- subtitle = {Typeset and index linguistic gloss abbreviations},
- author = {Natalie Weber},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textglos},
- url = {https://ctan.org/pkg/textglos},
-}
-
-@manual{ctan-textgreek,
- title = {The \texttt{textgreek} package},
- subtitle = {Upright greek letters in text},
- author = {Leonard Michlmayr},
- date = {2018-01-06},
- version = {0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textgreek},
- url = {https://ctan.org/pkg/textgreek},
- annotation = {Use upright greek letters as text symbols, e.g. .},
-}
-
-@manual{ctan-textmerg,
- title = {The \texttt{textmerg} package},
- subtitle = {Merge text in \TeX{} and \LaTeX{}},
- author = {Mike Piff and Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {2.01},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textmerg},
- url = {https://ctan.org/pkg/textmerg},
-}
-
-@manual{ctan-textool,
- title = {The \texttt{textool} package},
- subtitle = {A SunOS DVI viewer},
- author = {Ilieve Ilieve},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/dviware/textool},
- url = {https://ctan.org/pkg/textool},
- annotation = {Display a DVI file in a SunView window; works with both PXL and PK
- fonts. (The program is a development of
- .)},
-}
-
-@manual{ctan-textoolspro,
- title = {The \texttt{textoolspro} package},
- subtitle = {Tools for documentation written in \LaTeX{}},
- author = {Manuel Gutierrez Algaba},
- date = {2019-11-14},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/textoolspro},
- url = {https://ctan.org/pkg/textoolspro},
- annotation = {A small set of utilities for doing documentation in \LaTeX{}
- intended mainly for programmers. Includes: for
- creating structured boxes, one inside another so the structure
- of data and functions can be easily shown; ,
- a front-end filter of \LaTeX{}-modified code, so you can write
- sections in a relative way; and , a \LaTeX{} class
- that allows up to 14 levels of nesting, needed for doing
- documentation.},
-}
-
-@manual{ctan-textopo,
- title = {The \texttt{textopo} package},
- subtitle = {Annotated membrane protein topology plots},
- author = {Eric Beitz},
- date = {2016-06-24},
- version = {1.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textopo},
- url = {https://ctan.org/pkg/textopo},
-}
-
-@manual{ctan-textpath,
- title = {The \texttt{textpath} package},
- subtitle = {Setting text along a path with MetaPost},
- author = {Stephan Hennig},
- date = {2016-06-24},
- version = {1.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/textpath},
- url = {https://ctan.org/pkg/textpath},
-}
-
-@manual{ctan-textpos,
- title = {The \texttt{textpos} package},
- subtitle = {Place boxes at arbitrary positions on the \LaTeX{} page},
- author = {Norman Gray},
- date = {2022-07-23},
- version = {1.10.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textpos},
- url = {https://ctan.org/pkg/textpos},
-}
-
-@manual{ctan-textualicomma,
- title = {The \texttt{textualicomma} package},
- subtitle = {Use the textual comma character as decimal separator in math mode},
- author = {Sebastian Friedl},
- date = {2018-08-23},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/textualicomma},
- url = {https://ctan.org/pkg/textualicomma},
-}
-
-@manual{ctan-textures-metrics,
- title = {The \texttt{textures-metrics} package},
- subtitle = {Adobe font metrics, converted for use with Textures},
- author = {Constantin Kahn},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/psfonts/textures},
- url = {https://ctan.org/pkg/textures-metrics},
-}
-
-@manual{ctan-texvc,
- title = {The \texttt{texvc} package},
- subtitle = {Use MediaWiki \LaTeX{} commands},
- author = {Moritz Schubotz},
- date = {2018-03-05},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texvc},
- url = {https://ctan.org/pkg/texvc},
-}
-
-@manual{ctan-texware,
- title = {The \texttt{texware} package},
- subtitle = {Utility programs for use with \TeX{}},
- author = {Donald E. Knuth},
- date = {2021-08-26},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/texware},
- url = {https://ctan.org/pkg/texware},
-}
-
-@manual{ctan-tfmpk,
- title = {The \texttt{tfmpk} package},
- subtitle = {A viewer for tfm and pk font files},
- author = {Yotam Medini},
- date = {2016-06-24},
- version = {0.72},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/tfmpk},
- url = {https://ctan.org/pkg/tfmpk},
-}
-
-@manual{ctan-tfmpktest,
- title = {The \texttt{TFMPKtest} package},
- subtitle = {Check and correct checksums of TFM and PK files},
- author = {Dominique Larchey and Denis B. Roegel and Christian Rossi},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/utilities/tfmpktest},
- url = {https://ctan.org/pkg/tfmpktest},
- annotation = {TFMPKtest checks font checksums. It can delete a PK font whose
- checksum does not match that of the corresponding TFM, then
- regenerate using ; similarly it can delete and
- recreate TFM files.},
-}
-
-@manual{ctan-tfrupee,
- title = {The \texttt{tfrupee} package},
- subtitle = {A font offering the new (Indian) Rupee symbol},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {1.02},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/fonts/tfrupee},
- url = {https://ctan.org/pkg/tfrupee},
-}
-
-@manual{ctan-tgothic,
- title = {The \texttt{tgothic} package},
- subtitle = {Gothic Textura Quadrata manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2022-04-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/tgothic},
- url = {https://ctan.org/pkg/tgothic},
-}
-
-@manual{ctan-tgrind,
- title = {The \texttt{tgrind} package},
- subtitle = {Produce beautiful program listings using plain \TeX{}},
- author = {Van Jacobson},
- date = {2016-06-24},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/tgrind},
- url = {https://ctan.org/pkg/tgrind},
-}
-
-@manual{ctan-tgrind209,
- title = {The \texttt{tgrind209} package},
- subtitle = {Support tgrind in \LaTeX{} 2.09},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/tgrind.sty},
- url = {https://ctan.org/pkg/tgrind209},
- annotation = {A development of the file (in the
- distribution), for use with
- \LaTeX{} 2.09.},
-}
-
-@manual{ctan-thai-rmit,
- title = {The \texttt{thai-rmit} package},
- subtitle = {A font for Thai script},
- author = {Alan Kent},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/thai/rmit},
- url = {https://ctan.org/pkg/thai-rmit},
-}
-
-@manual{ctan-thai-usl,
- title = {The \texttt{thai-usl} package},
- subtitle = {A font for Thai script},
- author = {Alan Kent},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/thai/usl},
- url = {https://ctan.org/pkg/thai-usl},
-}
-
-@manual{ctan-thaienum,
- title = {The \texttt{thaienum} package},
- subtitle = {Thai labels in enumerate environments},
- author = {Abhabongse Janthong},
- date = {2017-06-06},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thaienum},
- url = {https://ctan.org/pkg/thaienum},
-}
-
-@manual{ctan-thaifonts-arundina,
- title = {The \texttt{thaifonts-arundina} package},
- subtitle = {DejaVu-compatible Thai fonts},
- author = {Theppitak Karoonboonyanan},
- date = {2017-10-21},
- version = {0.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/thai/thaifonts-arundina},
- url = {https://ctan.org/pkg/thaifonts-arundina},
-}
-
-@manual{ctan-thailatex,
- title = {The \texttt{ThaiLaTeX} package},
- subtitle = {Typeset Thai texts with standard \LaTeX{} classes},
- author = {Theppitak Karoonboonyanan},
- date = {2020-05-02},
- version = {0.5.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/language/thai/thailatex},
- url = {https://ctan.org/pkg/thailatex},
-}
-
-@manual{ctan-thaispec,
- title = {The \texttt{thaispec} package},
- subtitle = {Thai Language Typesetting in \XeLaTeX{}},
- author = {Ratthaprom Promkam},
- date = {2021-03-01},
- version = {2021.03.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/language/thai/thaispec},
- url = {https://ctan.org/pkg/thaispec},
-}
-
-@manual{ctan-thalie,
- title = {The \texttt{thalie} package},
- subtitle = {Typeset drama plays},
- author = {Louis Paternault},
- date = {2022-12-11},
- version = {0.13a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thalie},
- url = {https://ctan.org/pkg/thalie},
- annotation = {The package provides tools to typeset drama plays. It defines
- commands to introduce characters‘ lines, to render stage
- directions, to divide a play into acts and scenes and to build the
- automatically.},
-}
-
-@manual{ctan-theanodidot,
- title = {The \texttt{theanodidot} package},
- subtitle = {TheanoDidot fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-26},
- version = {},
- license = {lppl,ofl},
- mirror = {https://mirror.ctan.org/fonts/theanodidot},
- url = {https://ctan.org/pkg/theanodidot},
-}
-
-@manual{ctan-theanomodern,
- title = {The \texttt{theanomodern} package},
- subtitle = {Theano Modern fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-26},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/theanomodern},
- url = {https://ctan.org/pkg/theanomodern},
-}
-
-@manual{ctan-theanooldstyle,
- title = {The \texttt{theanooldstyle} package},
- subtitle = {Theano OldStyle fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-26},
- version = {},
- license = {ofl,lppl},
- mirror = {https://mirror.ctan.org/fonts/theanooldstyle},
- url = {https://ctan.org/pkg/theanooldstyle},
-}
-
-@manual{ctan-theapa,
- title = {The \texttt{theapa} package},
- subtitle = {APA (American Psychology Association) Reference Citation for \LaTeX{}},
- author = {Young Ryu},
- date = {2019-12-27},
- version = {2.5.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/theapa},
- url = {https://ctan.org/pkg/theapa},
- annotation = {Certainly related to the same author’s
- citation package, but the
- actual relationship isn’t entirely clear.},
-}
-
-@manual{ctan-theatre,
- title = {The \texttt{theatre} package},
- subtitle = {A sophisticated package for typesetting stage plays},
- author = {Christian Hinque},
- date = {2017-09-22},
- version = {0.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/theatre},
- url = {https://ctan.org/pkg/theatre},
-}
-
-@manual{ctan-theorem,
- title = {The \texttt{theorem} package},
- subtitle = {Manipulate theorem environments},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {2.2c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/theorem},
-}
-
-@manual{ctan-theoremref,
- title = {The \texttt{theoremref} package},
- subtitle = {References with automatic theorem names},
- author = {Emil Jeřábek},
- date = {2018-01-06},
- version = {},
- license = {lppl,gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/theoremref},
- url = {https://ctan.org/pkg/theoremref},
-}
-
-@manual{ctan-thepdfnumber,
- title = {The \texttt{thepdfnumber} package},
- subtitle = {Print PDF numbers with minimal digits},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/thepdfnumber.dtx},
- url = {https://ctan.org/pkg/thepdfnumber},
-}
-
-@manual{ctan-thermodynamics,
- title = {The \texttt{thermodynamics} package},
- subtitle = {Macros for multicomponent thermodynamics documents},
- author = {Karl D. Hammond},
- date = {2022-05-01},
- version = {1.00},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thermodynamics},
- url = {https://ctan.org/pkg/thermodynamics},
-}
-
-@manual{ctan-these,
- title = {The \texttt{these} package},
- subtitle = {Bibliography style for French theses},
- author = {Mathieu Herrb},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/these.bst},
- url = {https://ctan.org/pkg/these},
- annotation = {The style is derived from the standard , with
- keywords translated and styles converted to French conventions.},
-}
-
-@manual{ctan-thesis-ekf,
- title = {The \texttt{thesis-ekf} package},
- subtitle = {Thesis class for Eszterházy Károly Catholic University},
- author = {Tibor Tómács},
- date = {2021-08-12},
- version = {4.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thesis-ekf},
- url = {https://ctan.org/pkg/thesis-ekf},
-}
-
-@manual{ctan-thesis-gwu,
- title = {The \texttt{thesis-gwu} package},
- subtitle = {Thesis class for George Washington University School of Engineering and Applied Science},
- author = {Shankar Kulumani},
- date = {2020-03-13},
- version = {1.7.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thesis-gwu},
- url = {https://ctan.org/pkg/thesis-gwu},
-}
-
-@manual{ctan-thesis-qom,
- title = {The \texttt{thesis-qom} package},
- subtitle = {Thesis style of the University of Qom, Iran},
- author = {Seiied-Mohammad-Javad Razavian},
- date = {2022-06-09},
- version = {0.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/thesis-qom},
- url = {https://ctan.org/pkg/thesis-qom},
-}
-
-@manual{ctan-thesis-titlepage-fhac,
- title = {The \texttt{thesis-titlepage-fhac} package},
- subtitle = {Little style to create a standard titlepage for diploma thesis},
- author = {Jürgen A. Lamers},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thesis-titlepage-fhAC},
- url = {https://ctan.org/pkg/thesis-titlepage-fhac},
-}
-
-@manual{ctan-thesis,
- title = {The \texttt{thesis} package},
- subtitle = {Typeset thesis},
- author = {Wenzel Matiaske},
- date = {2018-01-06},
- version = {1f},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thesis},
- url = {https://ctan.org/pkg/thesis},
-}
-
-@manual{ctan-thinsp,
- title = {The \texttt{thinsp} package},
- subtitle = {A stretchable \textbackslash{}thinspace for \LaTeX{}},
- author = {Palle Jørgensen},
- date = {2016-06-24},
- version = {0.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thinsp},
- url = {https://ctan.org/pkg/thinsp},
- annotation = {The package redefines to have a stretch component.},
-}
-
-@manual{ctan-thirteen,
- title = {The \texttt{thirteen} package},
- subtitle = {Print dates of Friday 13th days},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/thirteen.tex},
- url = {https://ctan.org/pkg/thirteen},
-}
-
-@manual{ctan-thmbox,
- title = {The \texttt{thmbox} package},
- subtitle = {Decorate theorem statements},
- author = {Emmanuel Beffara},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thmbox},
- url = {https://ctan.org/pkg/thmbox},
- annotation = {The package defines an environment that presents
- theorems, definitions and similar objects in boxes decorated with
- frames and various aesthetic features. The standard macro
- may be redefined to use the environment.},
-}
-
-@manual{ctan-thmtools,
- title = {The \texttt{thmtools} package},
- subtitle = {Extensions to theorem environments},
- author = {Ulrich M. Schwarz and Yukai Chou},
- date = {2023-02-17},
- version = {75},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thmtools},
- url = {https://ctan.org/pkg/thmtools},
-}
-
-@manual{ctan-thorshammer,
- title = {The \texttt{thorshammer} package},
- subtitle = {Assessment based on AcroTeX quizzes},
- author = {Donald P. Story},
- date = {2021-09-11},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thorshammer},
- url = {https://ctan.org/pkg/thorshammer},
-}
-
-@manual{ctan-threadcol,
- title = {The \texttt{threadcol} package},
- subtitle = {Organize document columns into PDF “article thread”},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/threadcol},
- url = {https://ctan.org/pkg/threadcol},
-}
-
-@manual{ctan-threecol,
- title = {The \texttt{threecol} package},
- subtitle = {Three-column newsletter output},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/threecol.tex},
- url = {https://ctan.org/pkg/threecol},
-}
-
-@manual{ctan-threecolumn,
- title = {The \texttt{threecolumn} package},
- subtitle = {\LaTeX{} output in three columns},
- author = {George Greenwade},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/threecolumn.sty},
- url = {https://ctan.org/pkg/threecolumn},
-}
-
-@manual{ctan-threeddice,
- title = {The \texttt{threeddice} package},
- subtitle = {Create images of dice with one, two, or three faces showing, using MetaPost},
- author = {Daniel H. Luecking},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/threeddice},
- url = {https://ctan.org/pkg/threeddice},
-}
-
-@manual{ctan-threedldf,
- title = {The \texttt{3DLDF} package},
- subtitle = {Three-dimensional drawing with MetaPost output},
- author = {Laurence Finston},
- date = {2018-01-06},
- version = {1.1.5.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/3DLDF},
- url = {https://ctan.org/pkg/threedldf},
-}
-
-@manual{ctan-threeparttable,
- title = {The \texttt{threeparttable} package},
- subtitle = {Tables with captions and notes all the same width},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/threeparttable},
- url = {https://ctan.org/pkg/threeparttable},
- annotation = {Provides a scheme for tables that have a structured note section,
- after the caption. This scheme provides an answer to the old
- problem of putting footnotes in tables — by making
- footnotes entirely unnecessary. Note that a
- is not a float of itself; but you can
- place it in a or a environment, if
- necessary.},
-}
-
-@manual{ctan-threeparttablex,
- title = {The \texttt{threeparttablex} package},
- subtitle = {Notes in longtables},
- author = {Lars Madsen},
- date = {2016-06-24},
- version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/threeparttablex},
- url = {https://ctan.org/pkg/threeparttablex},
- annotation = {The package provides the functionality of the
- package to
- tables created using the
- package.},
-}
-
-@manual{ctan-thrmappendix,
- title = {The \texttt{thrmappendix} package},
- subtitle = {Theorems, lemmas, etc., in appendix},
- author = {Ben Klemens},
- date = {2016-06-24},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/thrmappendix.sty},
- url = {https://ctan.org/pkg/thrmappendix},
-}
-
-@manual{ctan-thsmc,
- title = {The \texttt{thsmc} package},
- subtitle = {Metrics and \LaTeX{} support for Sans Mono Condensed Font},
- author = {Boris Veytsman},
- date = {2021-09-11},
- version = {1.0d},
- license = {bsd},
- mirror = {https://mirror.ctan.org/fonts/psfonts/fontfabrik/thsmc},
- url = {https://ctan.org/pkg/thsmc},
-}
-
-@manual{ctan-thuaslogos,
- title = {The \texttt{thuaslogos} package},
- subtitle = {Logos for The Hague University of Applied Sciences (THUAS)},
- author = {Jesse op den Brouw},
- date = {2019-06-11},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thuaslogos},
- url = {https://ctan.org/pkg/thuaslogos},
-}
-
-@manual{ctan-thubeamer,
- title = {The \texttt{thubeamer} package},
- subtitle = {A beamer theme for Tsinghua University},
- author = {Jingxuan Yang},
- date = {2021-11-16},
- version = {1.1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/thubeamer},
- url = {https://ctan.org/pkg/thubeamer},
-}
-
-@manual{ctan-thucoursework,
- title = {The \texttt{thucoursework} package},
- subtitle = {Coursework template for Tsinghua University},
- author = {Feng Zhao},
- date = {2020-09-25},
- version = {2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thucoursework},
- url = {https://ctan.org/pkg/thucoursework},
-}
-
-@manual{ctan-thumb,
- title = {The \texttt{thumb} package},
- subtitle = {Thumb marks in documents},
- author = {Christian Holm Christensen},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thumb},
- url = {https://ctan.org/pkg/thumb},
-}
-
-@manual{ctan-thumbpdf,
- title = {The \texttt{thumbpdf} package},
- subtitle = {Thumbnails for pdfTeX and dvips/ps2pdf},
- author = {Heiko Oberdiek},
- date = {2018-09-08},
- version = {3.17},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/thumbpdf},
- url = {https://ctan.org/pkg/thumbpdf},
- annotation = {A Perl script that provides support for thumbnails in
- and
- /ps2pdf.
- The script uses to
- generate the thumbnails which get represented in a \TeX{} readable
- file that is read by the package to automatically
- include the thumbnails. This arrangement works with both plain
- \TeX{} and \LaTeX{}.},
-}
-
-@manual{ctan-thumbs,
- title = {The \texttt{thumbs} package},
- subtitle = {Create thumb indexes},
- author = {Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.0q},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thumbs},
- url = {https://ctan.org/pkg/thumbs},
-}
-
-@manual{ctan-thumby,
- title = {The \texttt{thumby} package},
- subtitle = {Create thumb indexes for printed books},
- author = {Sergey Goldgaber},
- date = {2016-06-24},
- version = {0.1},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thumby},
- url = {https://ctan.org/pkg/thumby},
-}
-
-@manual{ctan-thuthesis,
- title = {The \texttt{thuthesis} package},
- subtitle = {Thesis template for Tsinghua University},
- author = {Ruini Xue and {Tsinghua University TUNA Association}},
- date = {2022-10-05},
- version = {7.3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/thuthesis},
- url = {https://ctan.org/pkg/thuthesis},
-}
-
-@manual{ctan-tib,
- title = {The \texttt{tib} package},
- subtitle = {A bibliographic preprocessor},
- author = {James Alexander and Sebastian Kremer and Hans-Peter Kolb},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/tib},
- url = {https://ctan.org/pkg/tib},
-}
-
-@manual{ctan-tibetan,
- title = {The \texttt{tibetan} package},
- subtitle = {An early \LaTeX{} Tibetan package},
- author = {Ronald Schwartz and Robert Knight and Dominik Wujastyk},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/tibetan/original},
- url = {https://ctan.org/pkg/tibetan},
-}
-
-@manual{ctan-ticket,
- title = {The \texttt{ticket} package},
- subtitle = {Make labels, visiting-cards, pins with \LaTeX{}},
- author = {Thomas Emmel},
- date = {2016-10-11},
- version = {0.4d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ticket},
- url = {https://ctan.org/pkg/ticket},
- annotation = {Provides an easy to handle interface to produce visiting cards,
- labels for your files, stickers, pins and other stuff for your
- office, conferences etc. All you need is a definition of your
- ‘ticket’ included in a ticket definition file
- and the two commands and .},
-}
-
-@manual{ctan-ticollege,
- title = {The \texttt{ticollege} package},
- subtitle = {Graphical representation of keys on a standard scientific calculator},
- author = {Philippe De Sousa},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/ticollege},
- url = {https://ctan.org/pkg/ticollege},
-}
-
-@manual{ctan-tidyres,
- title = {The \texttt{tidyres} package},
- subtitle = {Create formal resumes easily},
- author = {Yifan Liang},
- date = {2023-02-24},
- version = {1.0.0},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tidyres},
- url = {https://ctan.org/pkg/tidyres},
-}
-
-@manual{ctan-tie,
- title = {The \texttt{tie} package},
- subtitle = {Allow multiple web change files},
- author = {Klaus Guntermann},
- date = {2016-06-24},
- version = {2.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/web/tie},
- url = {https://ctan.org/pkg/tie},
- annotation = {Tie was originally developed to allow
- programmers to apply
- more than one change file to their source. The program may also
- be used to create a new version of a file that
- incorporates existing changes.},
-}
-
-@manual{ctan-tif2eps,
- title = {The \texttt{tif2eps} package},
- subtitle = {A PostScript program for converting TIFF files to EPS},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {0.79},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/pstools/tif2eps},
- url = {https://ctan.org/pkg/tif2eps},
-}
-
-@manual{ctan-tiff,
- title = {The \texttt{tiff} package},
- subtitle = {The tiff graphics package},
- author = {Sam Leffler},
- date = {2018-10-03},
- version = {3.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/tiff},
- url = {https://ctan.org/pkg/tiff},
-}
-
-@manual{ctan-tikz-3dplot,
- title = {The \texttt{tikz-3dplot} package},
- subtitle = {Coordinate transformation styles for 3d plotting in TikZ},
- author = {Jeffrey Hein},
- date = {2016-06-24},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-3dplot},
- url = {https://ctan.org/pkg/tikz-3dplot},
-}
-
-@manual{ctan-tikz-among-us,
- title = {The \texttt{tikz-among-us} package},
- subtitle = {Create some AmongUs characters in TikZ environments},
- author = {Fernando H. G. Zucatelli},
- date = {2021-10-27},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-among-us},
- url = {https://ctan.org/pkg/tikz-among-us},
-}
-
-@manual{ctan-tikz-bagua,
- title = {The \texttt{TikZ-Bagua} package},
- subtitle = {Draw Bagua symbols in Yijing},
- author = {Xu WANG},
- date = {2022-08-12},
- version = {1.01},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-bagua},
- url = {https://ctan.org/pkg/tikz-bagua},
-}
-
-@manual{ctan-tikz-bayesnet,
- title = {The \texttt{tikz-bayesnet} package},
- subtitle = {Draw Bayesian networks, graphical models and directed factor graphs},
- author = {Jaakko Luttinen},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-bayesnet},
- url = {https://ctan.org/pkg/tikz-bayesnet},
-}
-
-@manual{ctan-tikz-bbox,
- title = {The \texttt{tikz-bbox} package},
- subtitle = {Precise determination of bounding boxes in TikZ},
- author = {{Unknown}},
- date = {2021-01-18},
- version = {0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-bbox},
- url = {https://ctan.org/pkg/tikz-bbox},
-}
-
-@manual{ctan-tikz-cd,
- title = {The \texttt{tikz-cd} package},
- subtitle = {Create commutative diagrams with TikZ},
- author = {Augusto Stoffel},
- date = {2021-05-08},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-cd},
- url = {https://ctan.org/pkg/tikz-cd},
- annotation = {The general-purpose drawing package
- can be used to typeset commutative diagrams and other kinds of
- mathematical pictures, generating high-quality results. The purpose
- of this package is to make the process of creation of such diagrams
- easier by providing a convenient set of macros and reasonable
- default settings. This package also includes an arrow tip library
- that match closely the arrows present in the Computer Modern typeface.},
-}
-
-@manual{ctan-tikz-dependency,
- title = {The \texttt{tikz-dependency} package},
- subtitle = {A library for drawing dependency graphs},
- author = {Daniele Pighin},
- date = {2018-02-07},
- version = {1.2},
- license = {lppl,gpl2},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-dependency},
- url = {https://ctan.org/pkg/tikz-dependency},
-}
-
-@manual{ctan-tikz-dimline,
- title = {The \texttt{tikz-dimline} package},
- subtitle = {Technical dimension lines using PGF/TikZ},
- author = {Sébastien Gross},
- date = {2021-08-26},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-dimline},
- url = {https://ctan.org/pkg/tikz-dimline},
-}
-
-@manual{ctan-tikz-ext,
- title = {The \texttt{tikz-ext} package},
- subtitle = {A collection of libraries for PGF/TikZ},
- author = {{Unknown}},
- date = {2022-10-31},
- version = {0.4.2},
- license = {fdl,lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-ext},
- url = {https://ctan.org/pkg/tikz-ext},
-}
-
-@manual{ctan-tikz-feynhand,
- title = {The \texttt{TikZ-FeynHand} package},
- subtitle = {Feynman diagrams with TikZ},
- author = {Max Dohse},
- date = {2019-08-19},
- version = {1.1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-feynhand},
- url = {https://ctan.org/pkg/tikz-feynhand},
-}
-
-@manual{ctan-tikz-feynman,
- title = {The \texttt{tikz-feynman} package},
- subtitle = {Feynman diagrams with TikZ},
- author = {Joshua Ellis},
- date = {2018-01-31},
- version = {1.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-feynman},
- url = {https://ctan.org/pkg/tikz-feynman},
- annotation = {This is a \LaTeX{} package allowing Feynman diagrams to be
- easily generated within \LaTeX{} with minimal user instructions
- and without the need of external programs.
- It builds upon the package
- and leverages the graph placement algorithms from
-
- in order to automate the placement of many vertices.
- allows fine-tuned placement of vertices
- so that even complex diagrams can still be generated with ease.},
-}
-
-@manual{ctan-tikz-imagelabels,
- title = {The \texttt{tikz-imagelabels} package},
- subtitle = {Put labels on images using TikZ},
- author = {Tobias Plüss},
- date = {2019-06-27},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-imagelabels},
- url = {https://ctan.org/pkg/tikz-imagelabels},
- annotation = {This package allows to add label texts to an existing image
- with the aid of .
- This may be used to label certain features in an image.},
-}
-
-@manual{ctan-tikz-inet,
- title = {The \texttt{tikz-inet} package},
- subtitle = {Draw interaction nets with TikZ},
- author = {Marc de Falco},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-inet},
- url = {https://ctan.org/pkg/tikz-inet},
-}
-
-@manual{ctan-tikz-kalender,
- title = {The \texttt{tikz-kalender} package},
- subtitle = {A \LaTeX{} based calendar using TikZ},
- author = {Rolf Niepraschk},
- date = {2019-11-22},
- version = {0.4f},
- license = {cc-by-sa-1},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-kalender},
- url = {https://ctan.org/pkg/tikz-kalender},
-}
-
-@manual{ctan-tikz-karnaugh,
- title = {The \texttt{tikz-karnaugh} package},
- subtitle = {Typeset Karnaugh maps using TikZ},
- author = {Luís Paulo Laus},
- date = {2022-02-16},
- version = {1.5},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-karnaugh},
- url = {https://ctan.org/pkg/tikz-karnaugh},
-}
-
-@manual{ctan-tikz-ladder,
- title = {The \texttt{tikz-ladder} package},
- subtitle = {Draw ladder diagrams using TikZ},
- author = {Luís Paulo Laus},
- date = {2022-04-10},
- version = {1.3},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-ladder},
- url = {https://ctan.org/pkg/tikz-ladder},
- annotation = {The package contains a collection of
- symbols for typesetting ladder diagrams (PLC program) in
- agreement with the international standard IEC-61131-3/2013.
- It includes blocks (for representing functions and function blocks)
- besides contacts and coils. It extends the circuit library of
- and allows you to draw a ladder
- diagram in the same way as you would draw any other circuit.},
-}
-
-@manual{ctan-tikz-lake-fig,
- title = {The \texttt{tikz-lake-fig} package},
- subtitle = {Schematic diagrams of lakes},
- author = {Joseph Stachelek},
- date = {2020-05-31},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-lake-fig},
- url = {https://ctan.org/pkg/tikz-lake-fig},
-}
-
-@manual{ctan-tikz-layers,
- title = {The \texttt{tikz-layers} package},
- subtitle = {TikZ provides graphical layers on TikZ: "behind", "above" and "glass"},
- author = {Rui Moutinho},
- date = {2019-03-02},
- version = {0.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-layers},
- url = {https://ctan.org/pkg/tikz-layers},
-}
-
-@manual{ctan-tikz-mirror-lens,
- title = {The \texttt{tikz-mirror-lens} package},
- subtitle = {Spherical mirrors and lenses in TikZ},
- author = {Fernando H. G. Zucatelli},
- date = {2023-01-09},
- version = {1.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-mirror-lens},
- url = {https://ctan.org/pkg/tikz-mirror-lens},
-}
-
-@manual{ctan-tikz-nef,
- title = {The \texttt{tikz-nef} package},
- subtitle = {Create diagrams for neural networks constructed with the methods of the Neural Engineering Framework (NEF)},
- author = {Jan Gosmann},
- date = {2020-07-08},
- version = {0.1},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-nef},
- url = {https://ctan.org/pkg/tikz-nef},
-}
-
-@manual{ctan-tikz-network,
- title = {The \texttt{tikz-network} package},
- subtitle = {Draw networks with TikZ},
- author = {Jürgen Hackl},
- date = {2019-08-15},
- version = {1.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-network},
- url = {https://ctan.org/pkg/tikz-network},
-}
-
-@manual{ctan-tikz-opm,
- title = {The \texttt{tikz-opm} package},
- subtitle = {Typeset OPM diagrams},
- author = {Torben Hoffmann},
- date = {2016-06-24},
- version = {0.1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-opm},
- url = {https://ctan.org/pkg/tikz-opm},
-}
-
-@manual{ctan-tikz-optics,
- title = {The \texttt{tikz-optics} package},
- subtitle = {A library for drawing optical setups with TikZ},
- author = {Michel Fruchart},
- date = {2022-04-06},
- version = {0.2.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-optics},
- url = {https://ctan.org/pkg/tikz-optics},
-}
-
-@manual{ctan-tikz-page,
- title = {The \texttt{tikz-page} package},
- subtitle = {Small macro to help building nice and complex layout materials},
- author = {Sébastien Gross},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-page},
- url = {https://ctan.org/pkg/tikz-page},
-}
-
-@manual{ctan-tikz-palattice,
- title = {The \texttt{tikz-palattice} package},
- subtitle = {Draw particle accelerator lattices with TikZ},
- author = {Jan Schmidt},
- date = {2017-03-09},
- version = {2.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-palattice},
- url = {https://ctan.org/pkg/tikz-palattice},
-}
-
-@manual{ctan-tikz-planets,
- title = {The \texttt{TikZ-planets} package},
- subtitle = {Illustrate celestial mechanics and the solar system},
- author = {Isabelle M. Santos},
- date = {2020-04-19},
- version = {1.0.2},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-planets},
- url = {https://ctan.org/pkg/tikz-planets},
-}
-
-@manual{ctan-tikz-qtree,
- title = {The \texttt{tikz-qtree} package},
- subtitle = {Use existing qtree syntax for trees in TikZ},
- author = {David Chiang},
- date = {2018-01-06},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-qtree},
- url = {https://ctan.org/pkg/tikz-qtree},
- annotation = {The package provides a macro for drawing trees with
- using the easy syntax of Alexis
- Dimitriadis’ . It improves
- on TikZ’s standard tree-drawing facility by laying out
- tree nodes without collisions; it improves on Qtree by adding lots
- of features from TikZ (for example, edge labels, arrows between
- nodes); and it improves on
- in being usable with
- pdfTeX and XeTeX.},
-}
-
-@manual{ctan-tikz-relay,
- title = {The \texttt{tikz-relay} package},
- subtitle = {TikZ library for typesetting electrical diagrams},
- author = {Luís Paulo Laus},
- date = {2022-08-07},
- version = {1.3},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-relay},
- url = {https://ctan.org/pkg/tikz-relay},
-}
-
-@manual{ctan-tikz-sfc,
- title = {The \texttt{tikz-sfc} package},
- subtitle = {Symbols collection for typesetting Sequential Function Chart (SFC) diagrams (PLC programs)},
- author = {Luís Paulo Laus},
- date = {2018-12-15},
- version = {1.0.1},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-sfc},
- url = {https://ctan.org/pkg/tikz-sfc},
-}
-
-@manual{ctan-tikz-swigs,
- title = {The \texttt{tikz-swigs} package},
- subtitle = {Horizontally and vertically split elliptical nodes},
- author = {Thomas S. Richardson},
- date = {2021-07-13},
- version = {},
- license = {lppl1.3c,gpl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-swigs},
- url = {https://ctan.org/pkg/tikz-swigs},
-}
-
-@manual{ctan-tikz-timing,
- title = {The \texttt{tikz-timing} package},
- subtitle = {Easy generation of timing diagrams as TikZ pictures},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {0.7f},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-timing},
- url = {https://ctan.org/pkg/tikz-timing},
- annotation = {This package provides macros and an environment to generate timing
- diagrams (digital waveforms) without much effort. The
- package is used to produce the
- graphics. The diagrams may be inserted into text (paragraphs,
- , etc.) and into tikzpictures. A tabular-like
- environment is provided to produce larger timing diagrams.},
-}
-
-@manual{ctan-tikz-trackschematic,
- title = {The \texttt{tikz-trackschematic} package},
- subtitle = {A TikZ library for creating track diagrams in railways},
- author = {Martin Scheidt},
- date = {2022-06-02},
- version = {0.7.1},
- license = {isc},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-trackschematic},
- url = {https://ctan.org/pkg/tikz-trackschematic},
-}
-
-@manual{ctan-tikz-truchet,
- title = {The \texttt{tikz-truchet} package},
- subtitle = {Draw Truchet tiles},
- author = {Matthew Scroggs},
- date = {2019-02-17},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-truchet},
- url = {https://ctan.org/pkg/tikz-truchet},
- annotation = {This is a package for \LaTeX{} that draws Truchet tiles, as used in
- Colin Beveridge's article in issue 08 of Chalkdust.},
-}
-
-@manual{ctan-tikzbricks,
- title = {The \texttt{TikZbricks} package},
- subtitle = {Drawing bricks with TikZ},
- author = {{Unknown}},
- date = {2019-09-02},
- version = {0.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzbricks},
- url = {https://ctan.org/pkg/tikzbricks},
-}
-
-@manual{ctan-tikzcodeblocks,
- title = {The \texttt{tikzcodeblocks} package},
- subtitle = {Helps to draw codeblocks like scratch, NEPO and PXT in TikZ},
- author = {Adrian Salamon},
- date = {2020-04-06},
- version = {0.13},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzcodeblocks},
- url = {https://ctan.org/pkg/tikzcodeblocks},
- annotation = {is a \LaTeX{} package for typesetting
- blockwise graphic programming languages like scratch, nepo or pxt.},
-}
-
-@manual{ctan-tikzducks,
- title = {The \texttt{TikZducks} package},
- subtitle = {A little fun package for using rubber ducks in TikZ},
- author = {{Unknown}},
- date = {2020-06-30},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzducks},
- url = {https://ctan.org/pkg/tikzducks},
- annotation = {The package is a \LaTeX{} package for ducks to be used in TikZ pictures. This
- project is a continuation of an answer at StackExchange},
-}
-
-@manual{ctan-tikzfill,
- title = {The \texttt{tikzfill} package},
- subtitle = {TikZ libraries for filling with images and patterns},
- author = {Thomas F. Sturm},
- date = {2022-07-26},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzfill},
- url = {https://ctan.org/pkg/tikzfill},
- annotation = {This is a collection of
- libraries which add further options to fill
- paths with images and patterns.
- The libraries comprise fillings with images from files and
- from pictures.
- Also, patterns of hexagons and of rhombi are provided.},
-}
-
-@manual{ctan-tikzinclude,
- title = {The \texttt{tikzinclude} package},
- subtitle = {Import TikZ images from colletions},
- author = {Ferdinand Schwenk and Benjamin Berg},
- date = {2019-02-21},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzinclude},
- url = {https://ctan.org/pkg/tikzinclude},
-}
-
-@manual{ctan-tikzlings,
- title = {The \texttt{TikZlings} package},
- subtitle = {A collection of cute little animals and similar creatures},
- author = {{Unknown}},
- date = {2022-06-17},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzlings},
- url = {https://ctan.org/pkg/tikzlings},
-}
-
-@manual{ctan-tikzmark,
- title = {The \texttt{tikzmark} package},
- subtitle = {Use TikZ's method of remembering a position on a page},
- author = {Andrew Stacey},
- date = {2022-10-26},
- version = {1.15},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzmark},
- url = {https://ctan.org/pkg/tikzmark},
-}
-
-@manual{ctan-tikzmarmots,
- title = {The \texttt{TikZmarmots} package},
- subtitle = {Drawing little marmots in TikZ},
- author = {{Unknown}},
- date = {2019-09-02},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzmarmots},
- url = {https://ctan.org/pkg/tikzmarmots},
-}
-
-@manual{ctan-tikzorbital,
- title = {The \texttt{tikzorbital} package},
- subtitle = {Atomic and molecular orbitals using TikZ},
- author = {Germain Salvato-Vallverdu},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzorbital},
- url = {https://ctan.org/pkg/tikzorbital},
-}
-
-@manual{ctan-tikzpackets,
- title = {The \texttt{tikzpackets} package},
- subtitle = {Display network packets},
- author = {Robert Paciorek},
- date = {2020-07-20},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzpackets},
- url = {https://ctan.org/pkg/tikzpackets},
-}
-
-@manual{ctan-tikzpagenodes,
- title = {The \texttt{tikzpagenodes} package},
- subtitle = {A single TikZ node for the whole page},
- author = {Martin Scharrer},
- date = {2022-10-26},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzpagenodes},
- url = {https://ctan.org/pkg/tikzpagenodes},
- annotation = {The package provides special PGF/TikZ nodes for the text,
- marginpar, footer and header area of the current page. They are
- inspired by the ‘current page’ node defined by
- itself.},
-}
-
-@manual{ctan-tikzpeople,
- title = {The \texttt{tikzpeople} package},
- subtitle = {Draw people-shaped nodes in TikZ},
- author = {Nils Fleischhacker},
- date = {2017-04-22},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzpeople},
- url = {https://ctan.org/pkg/tikzpeople},
-}
-
-@manual{ctan-tikzpfeile,
- title = {The \texttt{tikzpfeile} package},
- subtitle = {Draw arrows using PGF/TikZ},
- author = {Michael Fütterer and Jonathan Zachhuber},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzpfeile},
- url = {https://ctan.org/pkg/tikzpfeile},
- annotation = {In a document with a lot of diagrams created with PGF/TikZ, there
- is a possibility of the reader being distracted by different sorts
- of arrowheads in the diagrams and in the text (as, e.g., in
- ). The package defines macros to create all
- arrows using PGF/TikZ, so as to avoid the problem.},
-}
-
-@manual{ctan-tikzpingus,
- title = {The \texttt{Tikzpingus} package},
- subtitle = {Penguins with TikZ},
- author = {Florian Sihler},
- date = {2022-08-29},
- version = {1.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzpingus},
- url = {https://ctan.org/pkg/tikzpingus},
- annotation = {tikzpingus is a package similar to
- but with penguins
- and a vast set of gadgets and extras (capable of changing the wing-positions,
- body-types, and more).},
-}
-
-@manual{ctan-tikzposter,
- title = {The \texttt{tikzposter} package},
- subtitle = {Create scientific posters using TikZ},
- author = {Pascal Richter and Richard Barnard and Elena Botoeva and Dirk Surmann},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzposter},
- url = {https://ctan.org/pkg/tikzposter},
- annotation = {A document class provides a simple way of using
- for generating posters. Several
- formatting options are available, and spacing and layout of the
- poster is to a large extent automated.},
-}
-
-@manual{ctan-tikzscale,
- title = {The \texttt{tikzscale} package},
- subtitle = {Resize pictures while respecting text size},
- author = {Patrick Häcker},
- date = {2016-06-24},
- version = {0.2.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzscale},
- url = {https://ctan.org/pkg/tikzscale},
- annotation = {The package extends the command to
- support tikzpictures. It allows scaling of TikZ images and
- PGFPlots to a given width or height without changing the text
- size.},
-}
-
-@manual{ctan-tikzsymbols,
- title = {The \texttt{tikzsymbols} package},
- subtitle = {Some symbols created using TikZ},
- author = {Ben Vitecek},
- date = {2021-12-14},
- version = {4.12a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzsymbols},
- url = {https://ctan.org/pkg/tikzsymbols},
-}
-
-@manual{ctan-tikztosvg,
- title = {The \texttt{tikztosvg} package},
- subtitle = {A utility for rendering TikZ diagrams to SVG},
- author = {{Unknown}},
- date = {2021-08-20},
- version = {0.3.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/tikztosvg},
- url = {https://ctan.org/pkg/tikztosvg},
- annotation = {This package provides a shell script that calls
- and
-
- to convert environments
- to SVG files.},
-}
-
-@manual{ctan-tikzviolinplots,
- title = {The \texttt{tikzviolinplots} package},
- subtitle = {Draws violin plots from data},
- author = {Pedro Callil-Soares},
- date = {2023-02-06},
- version = {0.7.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzviolinplots},
- url = {https://ctan.org/pkg/tikzviolinplots},
-}
-
-@manual{ctan-tile-graphic,
- title = {The \texttt{tile-graphic} package},
- subtitle = {Create tiles of a graphical file},
- author = {Donald P. Story},
- date = {2020-05-31},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tile-graphic},
- url = {https://ctan.org/pkg/tile-graphic},
- annotation = {This package breaks a given graphical file into rows
- and columns of subgraphics, which are called tiles.
- The tiles can be written separately to individual PDF files, or
- packaged into a single PDF file.},
-}
-
-@manual{ctan-timbreicmc,
- title = {The \texttt{timbreicmc} package},
- subtitle = {Typeset documents with ICMC/USP watermarks},
- author = {Miguel Vinícius Santini Frasson},
- date = {2019-01-17},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/timbreicmc},
- url = {https://ctan.org/pkg/timbreicmc},
-}
-
-@manual{ctan-time-gen,
- title = {The \texttt{time-gen} package},
- subtitle = {Print the time (12-hour clock)},
- author = {Sunando Sen},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/time.sty},
- url = {https://ctan.org/pkg/time-gen},
- annotation = {A generic version of the functionality; uses registers without
- allocating them — a sin of which the \LaTeX{}-based
- is not guilty.},
-}
-
-@manual{ctan-time,
- title = {The \texttt{time} package},
- subtitle = {Defines a macro \textbackslash{}now to print the current time},
- author = {Mike Piff and Robin Fairbairns and David Carlisle},
- date = {2018-09-13},
- version = {1.0a},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/piff/time.sty},
- url = {https://ctan.org/pkg/time},
-}
-
-@manual{ctan-timeline,
- title = {The \texttt{timeline} package},
- subtitle = {Typeset time-lines, for planning, etc},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/timeline},
- url = {https://ctan.org/pkg/timeline},
- annotation = {Defines a environment, in which one places a
- bunch of s. A small sample of use is provided.},
-}
-
-@manual{ctan-times,
- title = {The \texttt{times} package},
- subtitle = {Select Adobe Times Roman (or equivalent) as default font},
- author = {Sebastian Rahtz},
- date = {2016-06-24},
- license = {lppl},
- url = {https://ctan.org/pkg/times},
-}
-
-@manual{ctan-timetab,
- title = {The \texttt{timetab} package},
- subtitle = {Typeset timetables},
- author = {Tobias Oetiker},
- date = {2016-06-24},
- version = {0.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/timetab.sty},
- url = {https://ctan.org/pkg/timetab},
- annotation = {Defines an environment that prints a table, in
- the way one might when doing the job by hand. (The basic entry is
- , from German Lektur.)},
-}
-
-@manual{ctan-timetable,
- title = {The \texttt{timetable} package},
- subtitle = {Generate timetables},
- author = {Jiří Verunek},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/timetable},
- url = {https://ctan.org/pkg/timetable},
-}
-
-@manual{ctan-timing-diagrams,
- title = {The \texttt{timing-diagrams} package},
- subtitle = {Draw timing diagrams},
- author = {Matthieu Moy},
- date = {2017-04-18},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/timing-diagrams},
- url = {https://ctan.org/pkg/timing-diagrams},
-}
-
-@manual{ctan-timing,
- title = {The \texttt{timing} package},
- subtitle = {Fonts and macro package for drawing timing diagrams},
- author = {Ludwig May and Jens Leilich},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/timing},
- url = {https://ctan.org/pkg/timing},
-}
-
-@manual{ctan-tinos,
- title = {The \texttt{tinos} package},
- subtitle = {Tinos fonts with \LaTeX{} support},
- author = {Bob Tennent},
- date = {2022-09-25},
- version = {},
- license = {apache2,lppl},
- mirror = {https://mirror.ctan.org/fonts/tinos},
- url = {https://ctan.org/pkg/tinos},
-}
-
-@manual{ctan-tinyc2l,
- title = {The \texttt{tinyc2l} package},
- subtitle = {Pretty print C/C++/Java source code using \LaTeX{}},
- author = {Michael Plugge},
- date = {2016-06-24},
- version = {1.4.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/tiny_c2l},
- url = {https://ctan.org/pkg/tinyc2l},
-}
-
-@manual{ctan-tip,
- title = {The \texttt{tip} package},
- subtitle = {Macro examples from “TeX in Practice”},
- author = {Stephan von Bechtolsheim},
- date = {2016-06-24},
- version = {1.0},
- license = {nosell},
- mirror = {https://mirror.ctan.org/info/examples/tip},
- url = {https://ctan.org/pkg/tip},
-}
-
-@manual{ctan-tipa-de,
- title = {The \texttt{tipa-de} package},
- subtitle = {German translation of tipa documentation},
- author = {Carolin Leistner},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/tipa/de},
- url = {https://ctan.org/pkg/tipa-de},
- annotation = {This is a translation of Fukui Rei's from
- the bundle.},
-}
-
-@manual{ctan-tipa,
- title = {The \texttt{tipa} package},
- subtitle = {Fonts and macros for IPA phonetics characters},
- author = {Fukui Rei},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/tipa/tipa},
- url = {https://ctan.org/pkg/tipa},
-}
-
-@manual{ctan-tipauni,
- title = {The \texttt{tipauni} package},
- subtitle = {Producing Unicode characters with TIPA commands},
- author = {{Unknown}},
- date = {2023-02-13},
- version = {0.7a},
- license = {gpl3+,fdl},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/tipauni},
- url = {https://ctan.org/pkg/tipauni},
-}
-
-@manual{ctan-tipfr,
- title = {The \texttt{tipfr} package},
- subtitle = {Produces calculator's keys with the help of TikZ},
- author = {Philippe De Sousa},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tipfr},
- url = {https://ctan.org/pkg/tipfr},
-}
-
-@manual{ctan-tipos,
- title = {The \texttt{tipos} package},
- subtitle = {Description of fonts for \TeX{}, in Spanish},
- author = {Javier Bezos López},
- date = {2016-06-24},
- license = {nosource},
- url = {https://ctan.org/pkg/tipos},
- annotation = {The document tipos.pdf describes (in Spanish) the large amount
- of types of files for fonts ('tipo' means 'font' in Spanish).
- Tipos.pdf has been
- by Thomas Ruedas.},
-}
-
-@manual{ctan-tiscreen,
- title = {The \texttt{tiscreen} package},
- subtitle = {Mimic the screen of older Texas Instruments calculators},
- author = {Mustafa Ibrahim},
- date = {2022-03-10},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tiscreen},
- url = {https://ctan.org/pkg/tiscreen},
-}
-
-@manual{ctan-titlecaps,
- title = {The \texttt{titlecaps} package},
- subtitle = {Setting rich-text input into Titling Caps},
- author = {Steven B. Segletes},
- date = {2022-04-13},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titlecaps},
- url = {https://ctan.org/pkg/titlecaps},
-}
-
-@manual{ctan-titlefoot,
- title = {The \texttt{titlefoot} package},
- subtitle = {Add special material to footer of title page},
- author = {Brett Presnell},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titlefoot},
- url = {https://ctan.org/pkg/titlefoot},
- annotation = {Provides the capability of adding keywords (with a
- command), a running title
- (), AMS subject classifications
- (), and an ‘author’s
- footnote’ as footnotes to the title or first page of a
- document. Works with any class for which the
- macro works (e.g., article).},
-}
-
-@manual{ctan-titlepage-uni-dortmund,
- title = {The \texttt{titlepage-uni-dortmund} package},
- subtitle = {Titlepage for University of Dortmund (Germany)},
- author = {Gerd Sebastiani},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titlepage-uni-dortmund},
- url = {https://ctan.org/pkg/titlepage-uni-dortmund},
-}
-
-@manual{ctan-titlepages,
- title = {The \texttt{titlepages} package},
- subtitle = {Sample titlepages, and how to code them},
- author = {Peter R. Wilson},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/latex-samples/TitlePages},
- url = {https://ctan.org/pkg/titlepages},
-}
-
-@manual{ctan-titlepic,
- title = {The \texttt{titlepic} package},
- subtitle = {Add picture to title page of a document},
- author = {Thomas ten Cate},
- date = {2017-03-14},
- version = {1.2},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titlepic},
- url = {https://ctan.org/pkg/titlepic},
-}
-
-@manual{ctan-titleps,
- title = {The \texttt{titleps} package},
- subtitle = {Page style control},
- author = {Javier Bezos López},
- date = {2019-10-16},
- version = {2.13},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titlesec},
- url = {https://ctan.org/pkg/titleps},
-}
-
-@manual{ctan-titleref,
- title = {The \texttt{titleref} package},
- subtitle = {A "\textbackslash{}titleref" command to cross-reference section titles},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {3.1},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titleref},
- url = {https://ctan.org/pkg/titleref},
- annotation = {Defines a command that allows you to cross-reference
- section (and chapter, etc) titles and captions just like
- and . The package does not interwork with
- ; if you need hypertext
- capabilities, use instead.},
-}
-
-@manual{ctan-titles,
- title = {The \texttt{titles} package},
- subtitle = {Titles of books, articles, etc. in \LaTeX{}},
- author = {Matt Swift},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/frankenstein},
- url = {https://ctan.org/pkg/titles},
- annotation = {A \LaTeX{} package defining macros that typeset the titles of
- books, journals, etc. and handle following spacing and
- punctuation intelligently, based on context. Useful for
- bibliographic databases and any document. Also includes other
- markup like , , , etc.},
-}
-
-@manual{ctan-titlesec,
- title = {The \texttt{titlesec} package},
- subtitle = {Select alternative section titles},
- author = {Javier Bezos López},
- date = {2021-07-05},
- version = {2.14},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titlesec},
- url = {https://ctan.org/pkg/titlesec},
-}
-
-@manual{ctan-titletoc,
- title = {The \texttt{titletoc} package},
- subtitle = {Alternative headings for toc/lof/lot},
- author = {Javier Bezos López},
- date = {2019-10-16},
- version = {2.13},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titlesec},
- url = {https://ctan.org/pkg/titletoc},
- annotation = {A companion for
- handling toc/lof/lot entries.},
-}
-
-@manual{ctan-titling,
- title = {The \texttt{titling} package},
- subtitle = {Control over the typesetting of the \textbackslash{}maketitle command},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {2.1d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/titling},
- url = {https://ctan.org/pkg/titling},
- annotation = {The titling package provides control over the typesetting of the
- command and commands, and
- makes the , and
- information permanently available. Multiple titles are allowed in
- a single document. New titling elements can be added and a
- titlepage title can be centered on a physical page.},
-}
-
-@manual{ctan-tkbibtex,
- title = {The \texttt{tkbibtex} package},
- subtitle = {A portable editor and browser for BibTeX files},
- author = {Peter Corke},
- date = {2020-04-05},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/tkbibtex},
- url = {https://ctan.org/pkg/tkbibtex},
-}
-
-@manual{ctan-tkdvi,
- title = {The \texttt{tkdvi} package},
- subtitle = {DVI previewer built with the Tcl/Tk toolkit},
- author = {Anselm Lingnau},
- date = {2016-06-24},
- version = {0.4},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/dviware/tkdvi},
- url = {https://ctan.org/pkg/tkdvi},
- annotation = {The previewer is built around a Tk extension , and
- supports multiple windows displaying multiple pages from multiple
- DVI files simultaneously.},
-}
-
-@manual{ctan-tkhyph,
- title = {The \texttt{tkhyph} package},
- subtitle = {Hyphenation patterns for Turkish},
- author = {Pierre A. MacKay},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/hyphenation/tkhyph.tex},
- url = {https://ctan.org/pkg/tkhyph},
-}
-
-@manual{ctan-tktexcad,
- title = {The \texttt{tktexcad} package},
- subtitle = {Generate \LaTeX{} picture environments},
- author = {Hilmar Straube},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/tktexcad},
- url = {https://ctan.org/pkg/tktexcad},
-}
-
-@manual{ctan-tkz-base,
- title = {The \texttt{tkz-base} package},
- subtitle = {Tools for drawing with a cartesian coordinate system},
- author = {Alain Matthes},
- date = {2023-02-15},
- version = {4.2c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-base},
- url = {https://ctan.org/pkg/tkz-base},
- annotation = {The bundle is a set of packages, designed to give
- mathematics teachers (and students) easy access to programming of
- drawings with .},
-}
-
-@manual{ctan-tkz-berge,
- title = {The \texttt{tkz-berge} package},
- subtitle = {Macros for drawing graphs of graph theory},
- author = {Alain Matthes},
- date = {2021-01-22},
- version = {2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-berge},
- url = {https://ctan.org/pkg/tkz-berge},
-}
-
-@manual{ctan-tkz-doc,
- title = {The \texttt{tkz-doc} package},
- subtitle = {Documentation macros for the TKZ series of packages},
- author = {Alain Matthes},
- date = {2023-02-15},
- version = {1.45c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz-doc},
- url = {https://ctan.org/pkg/tkz-doc},
-}
-
-@manual{ctan-tkz-euclide,
- title = {The \texttt{tkz-euclide} package},
- subtitle = {Tools for drawing Euclidean geometry},
- author = {Alain Matthes},
- date = {2023-02-03},
- version = {5.02c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-euclide},
- url = {https://ctan.org/pkg/tkz-euclide},
- annotation = {The tkz-euclide package is a set of files designed to give
- math teachers and students easy access to the programming of
- Euclidean geometry with .},
-}
-
-@manual{ctan-tkz-fct,
- title = {The \texttt{tkz-fct} package},
- subtitle = {Tools for drawing graphs of functions},
- author = {Alain Matthes},
- date = {2022-02-08},
- version = {1.7c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-fct},
- url = {https://ctan.org/pkg/tkz-fct},
- annotation = {The tkz-fct package is designed to give math teachers (and students) easy
- access to programming graphs of functions with
- and .},
-}
-
-@manual{ctan-tkz-graph,
- title = {The \texttt{tkz-graph} package},
- subtitle = {Draw graph-theory graphs},
- author = {Alain Matthes},
- date = {2021-01-22},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-graph},
- url = {https://ctan.org/pkg/tkz-graph},
- annotation = {The package is designed to create graph diagrams as simply as
- possible, using .},
-}
-
-@manual{ctan-tkz-kiviat,
- title = {The \texttt{tkz-kiviat} package},
- subtitle = {Draw Kiviat graphs},
- author = {Alain Matthes},
- date = {2023-02-15},
- version = {0.1b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/tkz/tkz-kiviat},
- url = {https://ctan.org/pkg/tkz-kiviat},
-}
-
-@manual{ctan-tkz-linknodes,
- title = {The \texttt{tkz-linknodes} package},
- subtitle = {Link nodes in mathematical environments},
- author = {Alain Matthes},
- date = {2023-02-15},
- version = {1.1d},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/tkz/tkz-linknodes},
- url = {https://ctan.org/pkg/tkz-linknodes},
-}
-
-@manual{ctan-tkz-orm,
- title = {The \texttt{tkz-orm} package},
- subtitle = {Create Object-Role Model (ORM) diagrams},
- author = {Jakob Voß and Camil Staps},
- date = {2021-08-26},
- version = {0.1.4},
- license = {gpl2,lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tkz-orm},
- url = {https://ctan.org/pkg/tkz-orm},
-}
-
-@manual{ctan-tkz-tab,
- title = {The \texttt{tkz-tab} package},
- subtitle = {Tables of signs and variations using PGF/TikZ},
- author = {Alain Matthes},
- date = {2023-02-15},
- version = {2.12c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-tab},
- url = {https://ctan.org/pkg/tkz-tab},
-}
-
-@manual{ctan-tkzexample,
- title = {The \texttt{tkzexample} package},
- subtitle = {Package for the documentation of all tkz-* packages},
- author = {Alain Matthes},
- date = {2022-07-16},
- version = {1.45c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkzexample},
- url = {https://ctan.org/pkg/tkzexample},
- annotation = {This package is needed to compile the documentation of all tkz-* packages
- (like ).},
-}
-
-@manual{ctan-tlaunch,
- title = {The \texttt{tlaunch} package},
- subtitle = {A Windows GUI to run a networked \TeX{} Live as if installed locally},
- author = {Siep Kroonenberg},
- date = {2023-03-09},
- version = {0.5.3},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/obsolete/support/tlaunch},
- url = {https://ctan.org/pkg/tlaunch},
-}
-
-@manual{ctan-tlc-article,
- title = {The \texttt{tlc-article} package},
- subtitle = {A \LaTeX{} document class for formal documents},
- author = {Gary A. Howard},
- date = {2019-06-23},
- version = {1.0.17},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tlc-article},
- url = {https://ctan.org/pkg/tlc-article},
-}
-
-@manual{ctan-tlc2-errata,
- title = {The \texttt{tlc2-errata} package},
- subtitle = {Errata list for The \LaTeX{} Companion, Second Edition},
- author = {Frank Mittelbach and Michel Goossens},
- date = {2016-10-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/tlc2-errata},
-}
-
-@manual{ctan-tlc2-examples,
- title = {The \texttt{tlc2-examples} package},
- subtitle = {Examples from “The \LaTeX{} Companion”, second edition},
- author = {Frank Mittelbach},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/examples/tlc2},
- url = {https://ctan.org/pkg/tlc2-examples},
-}
-
-@manual{ctan-tlc3-examples,
- title = {The \texttt{tlc3-examples} package},
- subtitle = {All examples from “The \LaTeX{} Companion”, third edition},
- author = {Frank Mittelbach},
- date = {2023-01-10},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/examples/tlc3},
- url = {https://ctan.org/pkg/tlc3-examples},
-}
-
-@manual{ctan-tlcockpit,
- title = {The \texttt{TLCockpit} package},
- subtitle = {A GUI frontend to \TeX{} Live Manager (tlmgr)},
- author = {Norbert Preining},
- date = {2020-04-22},
- version = {1.2},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/tlcockpit},
- url = {https://ctan.org/pkg/tlcockpit},
- annotation = {This package aims at being a GUI for
- ,
- the Manager,
- with a modern look and feel.
- We take inspiration from the excellent
-
- for MacOS.},
-}
-
-@manual{ctan-tlg2latex,
- title = {The \texttt{tlg2latex} package},
- subtitle = {Prepare \LaTeX{} from the Thesaurus Linguae Graecae},
- author = {Maïeul Rouquette},
- date = {2016-06-24},
- version = {2.6.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/support/tlg2latex},
- url = {https://ctan.org/pkg/tlg2latex},
-}
-
-@manual{ctan-tlmgr-intro-zh-cn,
- title = {The \texttt{tlmgr-intro-zh-cn} package},
- subtitle = {A short tutorial on using tlmgr in Chinese},
- author = {Zhonghao Sun},
- date = {2021-05-06},
- version = {},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/info/tlmgr-intro-zh-cn},
- url = {https://ctan.org/pkg/tlmgr-intro-zh-cn},
-}
-
-@manual{ctan-tlmgrbasics,
- title = {The \texttt{tlmgrBasics} package},
- subtitle = {A simplified documentation for tlmgr},
- author = {Bob Tennent},
- date = {2023-02-28},
- version = {},
- license = {gpl2+},
- mirror = {https://mirror.ctan.org/info/tlmgrbasics},
- url = {https://ctan.org/pkg/tlmgrbasics},
- annotation = {This package provides simplified documentation for
- , the
- Manager.
- It describes the most commonly-used actions and options
- in a convenient format.},
-}
-
-@manual{ctan-tmmath-fonts,
- title = {The \texttt{tmmath-fonts} package},
- subtitle = {Bitmap versions of the Micropress TM-Math fonts (Times Maths)},
- author = {{MicroPress}},
- date = {2016-06-24},
- version = {1.2},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/micropress/tmmath},
- url = {https://ctan.org/pkg/tmmath-fonts},
-}
-
-@manual{ctan-tmmath,
- title = {The \texttt{tmmath} package},
- subtitle = {Support for using the Micropress TM-Math fonts},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {2.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfssx/tmmath},
- url = {https://ctan.org/pkg/tmmath},
- annotation = {Support for typesetting math in a style that suits the Adobe
- Times text fonts. Commercial (Adobe type 1) versions of the HV-Math
- fonts are available from Micropress; free bitmap versions of the
- fonts from the
- directories.},
-}
-
-@manual{ctan-tmview,
- title = {The \texttt{tmview} package},
- subtitle = {A DVI previewer for SVGA displays},
- author = {Thomas Moor},
- date = {2016-07-05},
- version = {01.03},
- license = {pd},
- mirror = {https://mirror.ctan.org/dviware/tmview},
- url = {https://ctan.org/pkg/tmview},
- annotation = {An SVGA-lib based DVI-previewer offering
- -like anti-aliasing, text-string
- searching, arbitrary-zooming, bookmarks, some hypertex features,
- and rendering of eps-graphics by invoking
- . It supports The
- GNU/Linux framebuffer device and double-page viewing.},
-}
-
-@manual{ctan-to-be-determined,
- title = {The \texttt{to-be-determined} package},
- subtitle = {Highlight text passages that need further work},
- author = {Yegor Bugayenko},
- date = {2022-10-31},
- version = {0.3.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/to-be-determined},
- url = {https://ctan.org/pkg/to-be-determined},
- annotation = {This package provides a single command which
- highlights the pieces of text that need to be rewritten later.
- You can hide them all with a single package option ,
- or just make them disappear entirely with the option .},
-}
-
-@manual{ctan-toc-zar,
- title = {The \texttt{toc-zar} package},
- subtitle = {Plain \TeX{} table of contents macros},
- author = {Dan Zirin},
- date = {2020-08-29},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/toc.tex},
- url = {https://ctan.org/pkg/toc-zar},
- annotation = {Stores table of contents information in a , and
- ships pages out of that as it fills up (producing pages with no
- page number).},
-}
-
-@manual{ctan-toc,
- title = {The \texttt{toc} package},
- subtitle = {Table of contents macros for Plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/samples/toc.tex},
- url = {https://ctan.org/pkg/toc},
-}
-
-@manual{ctan-tocbasic,
- title = {The \texttt{tocbasic} package},
- subtitle = {Management of tables/lists of contents (and the like)},
- author = {Markus Kohm},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/tocbasic},
-}
-
-@manual{ctan-tocbibind,
- title = {The \texttt{tocbibind} package},
- subtitle = {Add bibliography/index/contents to Table of Contents},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.5k},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tocbibind},
- url = {https://ctan.org/pkg/tocbibind},
-}
-
-@manual{ctan-tocdata,
- title = {The \texttt{tocdata} package},
- subtitle = {Adds names to chapters, sections, figures in the TOC and LOF},
- author = {Brian Dunn},
- date = {2023-01-03},
- version = {2.05},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tocdata},
- url = {https://ctan.org/pkg/tocdata},
-}
-
-@manual{ctan-tocenter,
- title = {The \texttt{tocenter} package},
- subtitle = {Centring (and other) Page Layout},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/tocenter},
-}
-
-@manual{ctan-tocloft,
- title = {The \texttt{tocloft} package},
- subtitle = {Control table of contents, figures, etc},
- author = {Will Robertson and Peter R. Wilson},
- date = {2020-01-10},
- version = {2.3j},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tocloft},
- url = {https://ctan.org/pkg/tocloft},
- annotation = {Provides control over the typography of the Table of Contents,
- List of Figures and List of Tables, and the ability to create
- new ‘List of ...’. The ToC may be changed.},
-}
-
-@manual{ctan-tocstyle,
- title = {The \texttt{tocstyle} package},
- subtitle = {Define style of Table of contents (etc) files},
- author = {Markus Kohm},
- date = {2020-07-22},
- version = {0.2k-alpha},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/koma-script-obsolete},
- url = {https://ctan.org/pkg/tocstyle},
-}
-
-@manual{ctan-tocvsec2,
- title = {The \texttt{tocvsec2} package},
- subtitle = {Section numbering and table of contents control},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {1.3a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tocvsec2},
- url = {https://ctan.org/pkg/tocvsec2},
-}
-
-@manual{ctan-todo,
- title = {The \texttt{todo} package},
- subtitle = {Make a to-do list for a document},
- author = {Federico Garcia-De Castro},
- date = {2016-06-24},
- version = {2.142},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/todo},
- url = {https://ctan.org/pkg/todo},
-}
-
-@manual{ctan-todonotes,
- title = {The \texttt{todonotes} package},
- subtitle = {Marking things to do in a \LaTeX{} document},
- author = {Henrik Skov Midtiby},
- date = {2023-01-31},
- version = {1.1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/todonotes},
- url = {https://ctan.org/pkg/todonotes},
-}
-
-@manual{ctan-toil,
- title = {The \texttt{toil} package},
- subtitle = {An installer of PostScript fonts for \TeX{}},
- author = {Bogusław Jackowski and Piotr Pianowski and Piotr Strzelczyk},
- date = {2021-08-26},
- version = {1.07},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/utilities/t1install/toil},
- url = {https://ctan.org/pkg/toil},
-}
-
-@manual{ctan-tokcycle,
- title = {The \texttt{tokcycle} package},
- subtitle = {Build tools to process tokens from an input stream},
- author = {Steven B. Segletes},
- date = {2021-08-25},
- version = {1.42},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/tokcycle},
- url = {https://ctan.org/pkg/tokcycle},
-}
-
-@manual{ctan-tokenizer,
- title = {The \texttt{tokenizer} package},
- subtitle = {A tokenizer},
- author = {Sascha Herpers},
- date = {2016-06-24},
- version = {1.1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tokenizer},
- url = {https://ctan.org/pkg/tokenizer},
- annotation = {A tokenizer for \LaTeX{}.
-
- splits source into two tokens at the first encounter of a comma.
- The first token is saved in a newly created command with the
- name passed as and the second token
- likewise. A package option ‘’ causes
- leading and
- trailing space to be removed from each token; with this option,
- the command is defined, which removes leading
- and trailing spaces from its argument.},
-}
-
-@manual{ctan-tolkienfonts,
- title = {The \texttt{tolkienfonts} package},
- subtitle = {Use TTF "Tolkien" fonts from the WWW with pdfTeX},
- author = {Ariel Barton},
- date = {2016-06-24},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/tolkienfonts},
- url = {https://ctan.org/pkg/tolkienfonts},
-}
-
-@manual{ctan-tonevalue,
- title = {The \texttt{toneval} package},
- subtitle = {Tool for linguists and phoneticians to visualize tone value patterns},
- author = {Yuanhao Chen},
- date = {2019-01-29},
- version = {1.0},
- license = {apache2},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tonevalue},
- url = {https://ctan.org/pkg/tonevalue},
-}
-
-@manual{ctan-toolbox,
- title = {The \texttt{toolbox} package},
- subtitle = {Tool macros},
- author = {Martin Väth},
- date = {2016-06-24},
- version = {5.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/toolbox},
- url = {https://ctan.org/pkg/toolbox},
-}
-
-@manual{ctan-topcapt,
- title = {The \texttt{topcapt} package},
- subtitle = {Place captions above figures or tables},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/topcapt.sty},
- url = {https://ctan.org/pkg/topcapt},
- annotation = {Defines a command which does the same as
- , except that it places itself correctly when put
- above the figure/table that it’s a caption of.},
-}
-
-@manual{ctan-topfloat,
- title = {The \texttt{topfloat} package},
- subtitle = {Move floats to the top of the page},
- author = {Angelo Macchia},
- date = {2016-06-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/topfloat},
- url = {https://ctan.org/pkg/topfloat},
-}
-
-@manual{ctan-topiclongtable,
- title = {The \texttt{topiclongtable} package},
- subtitle = {Extend longtable with cells that merge hierarchically},
- author = {Paolo Brasolin},
- date = {2020-04-12},
- version = {1.3.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/topiclongtable},
- url = {https://ctan.org/pkg/topiclongtable},
-}
-
-@manual{ctan-topletter,
- title = {The \texttt{TOPletter} package},
- subtitle = {Letter class for the Politecnico di Torino},
- author = {Marco Torchiano},
- date = {2018-07-12},
- version = {0.3.0},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/topletter},
- url = {https://ctan.org/pkg/topletter},
- annotation = {This package provides a \LaTeX{} class for typesetting letters
- conforming to the official
- .
- The class can be used for letters written in Italian and in English.},
-}
-
-@manual{ctan-topsection,
- title = {The \texttt{topsection} package},
- subtitle = {An un-numbered top level section},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/topsection},
-}
-
-@manual{ctan-toptesi,
- title = {The \texttt{TOPtesi} package},
- subtitle = {Bundle for typesetting multilanguage theses},
- author = {Claudio Beccari},
- date = {2020-09-06},
- version = {6.4.06},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/toptesi},
- url = {https://ctan.org/pkg/toptesi},
-}
-
-@manual{ctan-totalcount,
- title = {The \texttt{totalcount} package},
- subtitle = {Commands for typesetting total values of counters},
- author = {Axel Sommerfeldt},
- date = {2020-09-07},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/totalcount},
- url = {https://ctan.org/pkg/totalcount},
-}
-
-@manual{ctan-totcount,
- title = {The \texttt{totcount} package},
- subtitle = {Find the last value of a counter},
- author = {Vasileios Koutavas},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/totcount},
- url = {https://ctan.org/pkg/totcount},
-}
-
-@manual{ctan-totpages,
- title = {The \texttt{totpages} package},
- subtitle = {Count pages in a document, and report last page number},
- author = {Wilhelm Müller},
- date = {2016-06-24},
- version = {2.00},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/totpages},
- url = {https://ctan.org/pkg/totpages},
- annotation = {The package counts the actual pages in the document (as opposed to
- reporting the number of the last page, as does
- ). The counter itself may
- be shipped out to the DVI file. The package uses the
- package for its task.},
-}
-
-@manual{ctan-tpcmfont,
- title = {The \texttt{tpcmfont} package},
- subtitle = {Computer modern fonts in "true point sizes"},
- author = {Timo Knuutila},
- date = {2016-06-24},
- version = {1.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tpcmfont},
- url = {https://ctan.org/pkg/tpcmfont},
-}
-
-@manual{ctan-tpic2pdftex,
- title = {The \texttt{tpic2pdftex} package},
- subtitle = {Use tpic commands in pdfTeX},
- author = {Hartmut Henkel and {The \TeX{} Live Team}},
- date = {2017-06-27},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/tpic2pdftex},
- url = {https://ctan.org/pkg/tpic2pdftex},
- annotation = {The AWK script converts pic language, embedded inline (delimited
- by and markers), to
- commands.},
-}
-
-@manual{ctan-tpslifonts,
- title = {The \texttt{tpslifonts} package},
- subtitle = {A \LaTeX{} package for configuring presentation fonts},
- author = {Stephan Lehmke},
- date = {2016-06-24},
- version = {0.6},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/texpower/tpslifonts},
- url = {https://ctan.org/pkg/tpslifonts},
-}
-
-@manual{ctan-tpx,
- title = {The \texttt{TpX} package},
- subtitle = {A drawing tool for Windows},
- author = {Alexander Tsyplakov},
- date = {2017-04-18},
- version = {1.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/graphics/tpx},
- url = {https://ctan.org/pkg/tpx},
-}
-
-@manual{ctan-tqft,
- title = {The \texttt{tqft} package},
- subtitle = {Drawing TQFT diagrams with TikZ/PGF},
- author = {Andrew Stacey},
- date = {2017-06-01},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tqft},
- url = {https://ctan.org/pkg/tqft},
- annotation = {The package defines some node shapes useful for drawing TQFT
- diagrams with . That is, it
- defines highly customisable shapes that look like cobordisms
- between circles, such as those used in TQFT and other mathematical
- diagrams.},
-}
-
-@manual{ctan-tr2latex,
- title = {The \texttt{tr2latex} package},
- subtitle = {Translate troff source to \LaTeX{}},
- author = {Christian Engel and Dirk Jagdman and Kamal Al-Yahya},
- date = {2018-08-01},
- version = {2.6},
- license = {nosell},
- mirror = {https://mirror.ctan.org/support/tr2latex},
- url = {https://ctan.org/pkg/tr2latex},
- annotation = {A development of Al-Yahya’s original troff-to-LaTeX. The translator
- recognises most and macros, plus some
- and preprocessor commands; output is in
- \LaTeX{} 2.09 format.},
-}
-
-@manual{ctan-trace,
- title = {The \texttt{trace} package},
- subtitle = {Make sensible use of \TeX{} tracing in \LaTeX{}},
- author = {Frank Mittelbach and {The \LaTeX{} Project Team}},
- date = {2021-08-26},
- version = {1.1f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/trace},
-}
-
-@manual{ctan-tracking,
- title = {The \texttt{tracking} package},
- subtitle = {Adjust tracking of strings},
- author = {Dmitry A. Glazkov},
- date = {2019-06-21},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tracking/tracking.sty},
- url = {https://ctan.org/pkg/tracking},
-}
-
-@manual{ctan-tracklang,
- title = {The \texttt{tracklang} package},
- subtitle = {Language and dialect tracker},
- author = {Nicola Talbot},
- date = {2022-12-13},
- version = {1.6.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/tracklang},
- url = {https://ctan.org/pkg/tracklang},
-}
-
-@manual{ctan-trademarks,
- title = {The \texttt{trademarks} package},
- subtitle = {A collection of trademarks and the like},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/trademarks.sty},
- url = {https://ctan.org/pkg/trademarks},
-}
-
-@manual{ctan-trajan,
- title = {The \texttt{trajan} package},
- subtitle = {Fonts from the Trajan column in Rome},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/trajan},
- url = {https://ctan.org/pkg/trajan},
-}
-
-@manual{ctan-tram,
- title = {The \texttt{tram} package},
- subtitle = {Typeset tram boxes in \LaTeX{}},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tram},
- url = {https://ctan.org/pkg/tram},
- annotation = {Tram boxes are highlighted with patterns of dots; the package
- defines an environment that typesets its content
- into a tram box. The pattern used may be selected in an optional
- argument to the environment.},
-}
-
-@manual{ctan-tramlines,
- title = {The \texttt{tramlines} package},
- subtitle = {A package for creating tramlines (lines above and below a title used
- by lawyers in the UK)},
- author = {Elijah Z Granet},
- date = {2023-01-30},
- version = {1.1.0},
- license = {lppl1.3c,cc-by-sa-3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tramlines},
- url = {https://ctan.org/pkg/tramlines},
-}
-
-@manual{ctan-trans,
- title = {The \texttt{trans} package},
- subtitle = {A simple \TeX{} macro package for PostScript transformations},
- author = {{BOP}},
- date = {2016-06-24},
- version = {0.55},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/generic/TeX-PS/trans.tex},
- url = {https://ctan.org/pkg/trans},
-}
-
-@manual{ctan-transfig,
- title = {The \texttt{transfig} package},
- subtitle = {Transform xfig pictures into many other formats},
- author = {Brian Smith},
- date = {2016-06-24},
- version = {3.2.4},
- license = {bsd},
- mirror = {https://mirror.ctan.org/graphics/transfig},
- url = {https://ctan.org/pkg/transfig},
- annotation = {Tanslates figures generated by
- to a large variety of formats.},
-}
-
-@manual{ctan-translation-array-fr,
- title = {The \texttt{translation-array-fr} package},
- subtitle = {French translation of the documentation of array},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/array/fr},
- url = {https://ctan.org/pkg/translation-array-fr},
- annotation = {A French translation of the documentation of
- .},
-}
-
-@manual{ctan-translation-arsclassica-de,
- title = {The \texttt{translation-arsclassica-de} package},
- subtitle = {German version of arsclassica},
- author = {Christine Römer and Ilona Gessinger},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/arsclassica/de},
- url = {https://ctan.org/pkg/translation-arsclassica-de},
- annotation = {This is a “translation” of the
- documentation.},
-}
-
-@manual{ctan-translation-biblatex-de,
- title = {The \texttt{translation-biblatex-de} package},
- subtitle = {German translation of the User Guide for BibLaTeX},
- author = {Christine Römer},
- date = {2021-05-28},
- version = {3.15b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/biblatex/de},
- url = {https://ctan.org/pkg/translation-biblatex-de},
- annotation = {A German translation of the User Guide for
- .},
-}
-
-@manual{ctan-translation-booktabs-fr,
- title = {The \texttt{translation-booktabs-fr} package},
- subtitle = {French translation of the documentation of booktabs},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/booktabs/fr},
- url = {https://ctan.org/pkg/translation-booktabs-fr},
- annotation = {A french translation of the documentation of
- .},
-}
-
-@manual{ctan-translation-chemsym-de,
- title = {The \texttt{translation-chemsym-de} package},
- subtitle = {German version of chemsym},
- author = {Christine Römer and Sandro Heuke},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/chemsym/de},
- url = {https://ctan.org/pkg/translation-chemsym-de},
- annotation = {This is a “translation” of the
- documentation.},
-}
-
-@manual{ctan-translation-dcolumn-fr,
- title = {The \texttt{translation-dcolumn-fr} package},
- subtitle = {French translation of the documentation of dcolumn},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/dcolumn/fr},
- url = {https://ctan.org/pkg/translation-dcolumn-fr},
- annotation = {A French translation of the documentation of
- .},
-}
-
-@manual{ctan-translation-ecv-de,
- title = {The \texttt{translation-ecv-de} package},
- subtitle = {Ecv documentation, in German},
- author = {Christine Römer and Katrin Vogel},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/ecv/de},
- url = {https://ctan.org/pkg/translation-ecv-de},
- annotation = {This is a “translation” of the
- documentation.},
-}
-
-@manual{ctan-translation-enumitem-de,
- title = {The \texttt{translation-enumitem-de} package},
- subtitle = {Enumitem documentation, in German},
- author = {Matthias Ludwig and Christine Römer},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/enumitem/de},
- url = {https://ctan.org/pkg/translation-enumitem-de},
- annotation = {This is a translation of the manual for
- .},
-}
-
-@manual{ctan-translation-europecv-de,
- title = {The \texttt{translation-europecv-de} package},
- subtitle = {German version of europecv},
- author = {Christine Römer and Susanne Fischer},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/europecv/de},
- url = {https://ctan.org/pkg/translation-europecv-de},
- annotation = {This is a “translation” of the
- documentation.},
-}
-
-@manual{ctan-translation-filecontents-de,
- title = {The \texttt{translation-filecontents-de} package},
- subtitle = {German version of filecontents},
- author = {Christine Römer and Ronny Berndt},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/filecontents/de},
- url = {https://ctan.org/pkg/translation-filecontents-de},
- annotation = {This is a “translation” of the
- documentation.},
-}
-
-@manual{ctan-translation-footmisc-de,
- title = {The \texttt{translation-footmisc-de} package},
- subtitle = {A German translation of the documentation of footmisc},
- author = {Christine Römer},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/footmisc/de},
- url = {https://ctan.org/pkg/translation-footmisc-de},
- annotation = {A German translation of the documentation of
- .},
-}
-
-@manual{ctan-translation-moreverb-de,
- title = {The \texttt{translation-moreverb-de} package},
- subtitle = {German version of moreverb},
- author = {Christine Römer and Matthias Biniok},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/moreverb/de},
- url = {https://ctan.org/pkg/translation-moreverb-de},
- annotation = {This is a “translation” of the
- documentation.},
-}
-
-@manual{ctan-translation-natbib-fr,
- title = {The \texttt{translation-natbib-fr} package},
- subtitle = {French translation of the documentation of natbib},
- author = {Jean-Pierre Drucbert and Patrick W. Daly},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/natbib/fr},
- url = {https://ctan.org/pkg/translation-natbib-fr},
- annotation = {A French translation of the documentation of
- .},
-}
-
-@manual{ctan-translation-pst-jtree-de,
- title = {The \texttt{translation-pst-jtree-de} package},
- subtitle = {A German translation of the documentation of pst-jtree},
- author = {Christine Römer},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/translations/pst-jtree/de},
- url = {https://ctan.org/pkg/translation-pst-jtree-de},
- annotation = {The package provides a German translation of the documentation of},
-}
-
-@manual{ctan-translation-tabbing-fr,
- title = {The \texttt{translation-tabbing-fr} package},
- subtitle = {French translation of the documentation of Tabbing},
- author = {Jean-Pierre Drucbert},
- date = {2016-06-24},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/info/translations/Tabbing/fr},
- url = {https://ctan.org/pkg/translation-tabbing-fr},
-}
-
-@manual{ctan-translations,
- title = {The \texttt{translations} package},
- subtitle = {Internationalisation of \LaTeX{}2e packages},
- author = {Clemens Niederberger},
- date = {2022-02-05},
- version = {1.12},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/translations},
- url = {https://ctan.org/pkg/translations},
-}
-
-@manual{ctan-translator,
- title = {The \texttt{translator} package},
- subtitle = {Easy translation of strings in \LaTeX{}},
- author = {Joseph Wright},
- date = {2021-05-31},
- version = {1.12d},
- license = {lppl,gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/translator},
- url = {https://ctan.org/pkg/translator},
-}
-
-@manual{ctan-transparent-io,
- title = {The \texttt{Transparent-IO} package},
- subtitle = {Show for approval the filenames used in \textbackslash{}input, \textbackslash{}openin, or \textbackslash{}openout},
- author = {Udo Wermuth},
- date = {2022-08-14},
- version = {},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/transparent-io},
- url = {https://ctan.org/pkg/transparent-io},
-}
-
-@manual{ctan-transparent,
- title = {The \texttt{transparent} package},
- subtitle = {Using a color stack for transparency with pdfTeX},
- author = {Heiko Oberdiek},
- date = {2022-10-29},
- version = {1.5},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/transparent},
- url = {https://ctan.org/pkg/transparent},
- annotation = {and
- support several color stacks.
- This package shows how a separate color stack can be used for
- transparency, a property besides color that works across page breaks.
- If the PDF management is used it can also be used with
- other engines, but without support for page breaks.},
-}
-
-@manual{ctan-tree-dvips,
- title = {The \texttt{tree-dvips} package},
- subtitle = {Trees and other linguists' macros},
- author = {Emma Pease},
- date = {2016-06-24},
- version = {.91},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/trees/tree-dvips},
- url = {https://ctan.org/pkg/tree-dvips},
-}
-
-@manual{ctan-treedef,
- title = {The \texttt{treedef} package},
- subtitle = {Macros to typeset trees in Plain \TeX{}},
- author = {David Eppstein},
- date = {2021-08-26},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/treedef},
- url = {https://ctan.org/pkg/treedef},
-}
-
-@manual{ctan-treesvr,
- title = {The \texttt{treesvr} package},
- subtitle = {Tree macros},
- author = {Peter Vanroose},
- date = {2016-06-24},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/treesvr},
- url = {https://ctan.org/pkg/treesvr},
-}
-
-@manual{ctan-treetex-ltx209,
- title = {The \texttt{treetex-ltx209} package},
- subtitle = {Draw horizontally- or vertically-oriented trees},
- author = {Anthony Bloesch},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/trees/tree_tex},
- url = {https://ctan.org/pkg/treetex-ltx209},
-}
-
-@manual{ctan-treetex-plain,
- title = {The \texttt{treetex-plain} package},
- subtitle = {Draw trees},
- author = {Anne Brueggemann-Klein and Derick Wood},
- date = {2016-07-19},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/treetex},
- url = {https://ctan.org/pkg/treetex-plain},
-}
-
-@manual{ctan-trfsigns,
- title = {The \texttt{trfsigns} package},
- subtitle = {Typeset transform signs},
- author = {Kai Rascher},
- date = {2016-06-24},
- version = {1.01},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/trfsigns},
- url = {https://ctan.org/pkg/trfsigns},
-}
-
-@manual{ctan-trig,
- title = {The \texttt{trig} package},
- subtitle = {Simple trigonometric functions},
- author = {David Carlisle and {The \LaTeX{} Project Team}},
- date = {2021-11-12},
- version = {1.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/graphics},
- url = {https://ctan.org/pkg/trig},
-}
-
-@manual{ctan-trigonometry,
- title = {The \texttt{trigonometry} package},
- subtitle = {Demonstration code for cos and sin in \TeX{} macros},
- author = {Philip Taylor},
- date = {2017-01-24},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/generic/trigonometry},
- url = {https://ctan.org/pkg/trigonometry},
-}
-
-@manual{ctan-trimspaces,
- title = {The \texttt{trimspaces} package},
- subtitle = {Trim spaces around an argument or within a macro},
- author = {Will Robertson},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/trimspaces},
- url = {https://ctan.org/pkg/trimspaces},
-}
-
-@manual{ctan-trivfloat,
- title = {The \texttt{trivfloat} package},
- subtitle = {Quick float definitions in \LaTeX{}},
- author = {Joseph Wright},
- date = {2016-06-24},
- version = {1.3b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/trivfloat},
- url = {https://ctan.org/pkg/trivfloat},
-}
-
-@manual{ctan-trsym,
- title = {The \texttt{trsym} package},
- subtitle = {Symbols for transformations},
- author = {Jan Holfert},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/fonts/trsym},
- url = {https://ctan.org/pkg/trsym},
-}
-
-@manual{ctan-truchet,
- title = {The \texttt{truchet} package},
- subtitle = {Truchet tiling in MetaPost},
- author = {Denis B. Roegel},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/truchet},
- url = {https://ctan.org/pkg/truchet},
-}
-
-@manual{ctan-truecols,
- title = {The \texttt{truecols} package},
- subtitle = {Colour facilities for SliTeX},
- author = {David Love},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/truecols.doc},
- url = {https://ctan.org/pkg/truecols},
-}
-
-@manual{ctan-truetypemetrics,
- title = {The \texttt{truetypemetrics} package},
- subtitle = {Metrics for some TrueType font families},
- author = {Marc Penninga},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/truetypemetrics},
- url = {https://ctan.org/pkg/truetypemetrics},
-}
-
-@manual{ctan-truetypetotype42,
- title = {The \texttt{TrueTypeToType42} package},
- subtitle = {Generate a Type 42 font from a TrueType font},
- author = {Thomas H. Barton},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/utilities/TrueTypeToType42},
- url = {https://ctan.org/pkg/truetypetotype42},
- annotation = {The package provides a PostScript program, to run under
- , that will read a
- TrueType font and produce an Adobe Type 42 (PFA) font as output.},
-}
-
-@manual{ctan-truncate,
- title = {The \texttt{truncate} package},
- subtitle = {Truncate text to a specified width},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {3.6},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/truncate},
- url = {https://ctan.org/pkg/truncate},
-}
-
-@manual{ctan-truthtable,
- title = {The \texttt{truthtable} package},
- subtitle = {Automatically generate truth tables for given variables and statements},
- author = {Dominic Flück},
- date = {2021-10-09},
- version = {0.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/truthtable},
- url = {https://ctan.org/pkg/truthtable},
- annotation = {This Lua\LaTeX{} package permits to automatically generate
- truth tables given a table header.
- It supports a number of logical operations which can be
- combined as needed. It is built upon the
- package.},
-}
-
-@manual{ctan-try,
- title = {The \texttt{TrY} package},
- subtitle = {Automation of \TeX{}/\LaTeX{} compilation},
- author = {Ajabu Tex},
- date = {2016-06-24},
- version = {4.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/try},
- url = {https://ctan.org/pkg/try},
- annotation = {The package offers a script that automates the compilation of
- \TeX{}/\LaTeX{} documents. TrY reads commands from the comment lines of
- the document and executes them automatically. TrY may be compared
- to , but is simpler.
- TrY has been written for Linux and works on Linux.},
-}
-
-@manual{ctan-tsconfig,
- title = {The \texttt{tsconfig} package},
- subtitle = {Setup support for \TeX{}shell},
- author = {Dirk Nitschke},
- date = {2016-06-24},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/systems/win32/tsconfig},
- url = {https://ctan.org/pkg/tsconfig},
- annotation = {The tsconfig program tries to make the confguration of the
- by J. Schlegelmilch easier,
- especially if you have a lot of computers with different processors.},
-}
-
-@manual{ctan-tsemlines,
- title = {The \texttt{tsemlines} package},
- subtitle = {Support for the ancient \textbackslash{}emline macro},
- author = {Tobias Schlemmer},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tsemlines},
- url = {https://ctan.org/pkg/tsemlines},
-}
-
-@manual{ctan-tsipa,
- title = {The \texttt{tsipa} package},
- subtitle = {Macros and fonts to produce IPA typesetting},
- author = {Kobayashi Hajime and Fukui Rei and Shirakawa Shun},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/tsipa},
- url = {https://ctan.org/pkg/tsipa},
- annotation = {The tsipa set has been superseded by
- ; see the documentation of that
- package for an outline of the shortcomings of tsipa, that tipa
- overcomes.},
-}
-
-@manual{ctan-tsvtemplate,
- title = {The \texttt{tsvtemplate} package},
- subtitle = {Apply a template to a tsv file},
- author = {Esger Renkema},
- date = {2022-12-24},
- version = {2022/1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/luatex/generic/tsvtemplate},
- url = {https://ctan.org/pkg/tsvtemplate},
-}
-
-@manual{ctan-tt2001,
- title = {The \texttt{tt2001} package},
- subtitle = {Type 1 EC fonts generated by \TeX{}trace},
- author = {Péter Szabó},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/tt2001},
- url = {https://ctan.org/pkg/tt2001},
-}
-
-@manual{ctan-ttf-howto,
- title = {The \texttt{ttf-howto} package},
- subtitle = {Using TrueType fonts with \TeX{} systems},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/info/TrueType},
- url = {https://ctan.org/pkg/ttf-howto},
-}
-
-@manual{ctan-ttf2mf,
- title = {The \texttt{ttf2mf} package},
- subtitle = {Convert True Type fonts to Metafont},
- author = {Oleg V. Motygin},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/utilities/ttf2mf},
- url = {https://ctan.org/pkg/ttf2mf},
-}
-
-@manual{ctan-ttf2pfb,
- title = {The \texttt{ttf2pfb} package},
- subtitle = {Make an Adobe Type 1 version of a TrueType font},
- author = {Werner Lemberg},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/fonts/utilities/ttf2pfb},
- url = {https://ctan.org/pkg/ttf2pfb},
- annotation = {Ttf2pfb translates the format of a TrueType font into an Adobe
- Type 1 font, using the facilities of the
- library. The package is
- distributed as a DOS/OS/2 executable.},
-}
-
-@manual{ctan-ttf2pt1,
- title = {The \texttt{ttf2pt1} package},
- subtitle = {Convert TrueType fonts to Adobe Type 1 format},
- author = {Andrew Weeks and Frank M. Siegert and Thomas Henlich},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/utilities/ttf2pt1},
- url = {https://ctan.org/pkg/ttf2pt1},
-}
-
-@manual{ctan-ttf2tex,
- title = {The \texttt{ttf2tex} package},
- subtitle = {Use TrueType fonts with teTeX},
- author = {Philipp Lehman},
- date = {2018-01-06},
- version = {0.7},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/support/ttf2tex},
- url = {https://ctan.org/pkg/ttf2tex},
-}
-
-@manual{ctan-ttftogf,
- title = {The \texttt{ttftogf} package},
- subtitle = {Convert True Type fonts to GF format},
- author = {Konstantin Vasil’ev},
- date = {2016-06-24},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/support/ttftogf},
- url = {https://ctan.org/pkg/ttftogf},
-}
-
-@manual{ctan-tth,
- title = {The \texttt{tth} package},
- subtitle = {A \TeX{} to HTML translator},
- author = {Ian Hutchinson},
- date = {2017-04-18},
- version = {3.85},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/tth/dist},
- url = {https://ctan.org/pkg/tth},
-}
-
-@manual{ctan-ttn,
- title = {The \texttt{ttn} package},
- subtitle = {TeX and TUG news archive},
- author = {Christina Thiele},
- date = {2016-06-24},
- version = {},
- license = {digest},
- mirror = {https://mirror.ctan.org/info/digests/ttn},
- url = {https://ctan.org/pkg/ttn},
-}
-
-@manual{ctan-ttt,
- title = {The \texttt{ttt} package},
- subtitle = {A Tibetan Transcript Transliterator for \LaTeX{}},
- author = {Beat Steiner},
- date = {2018-01-06},
- version = {0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/language/tibetan/steiner},
- url = {https://ctan.org/pkg/ttt},
- annotation = {The transcriptions work with Sirlin's
- , but the transcriber
- manages better support (particularly of ligatures) than other
- approaches to Tibetan.},
-}
-
-@manual{ctan-tucv,
- title = {The \texttt{tucv} package},
- subtitle = {Support for typesetting a CV or résumeé},
- author = {George Louthan},
- date = {2016-06-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tucv},
- url = {https://ctan.org/pkg/tucv},
-}
-
-@manual{ctan-tuda-ci,
- title = {The \texttt{tuda-ci} package},
- subtitle = {\LaTeX{} templates of Technische Universität Darmstadt},
- author = {Marei Peischl},
- date = {2022-12-11},
- version = {3.29},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tuda-ci},
- url = {https://ctan.org/pkg/tuda-ci},
-}
-
-@manual{ctan-tudscr,
- title = {The \texttt{tudscr} package},
- subtitle = {Corporate Design of Technische Universität Dresden},
- author = {Falk Hanisch},
- date = {2022-08-09},
- version = {2.06o},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tudscr},
- url = {https://ctan.org/pkg/tudscr},
-}
-
-@manual{ctan-tufte-latex,
- title = {The \texttt{tufte-latex} package},
- subtitle = {Document classes inspired by the work of Edward Tufte},
- author = {Kevin Godby},
- date = {2018-04-05},
- version = {3.5.2},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tufte-latex},
- url = {https://ctan.org/pkg/tufte-latex},
-}
-
-@manual{ctan-tugboat-plain,
- title = {The \texttt{tugboat-plain} package},
- subtitle = {Plain \TeX{} macros for TUGboat},
- author = {Barbara Beeton and Karl Berry},
- date = {2022-05-22},
- version = {1.27},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/tugboat},
- url = {https://ctan.org/pkg/tugboat-plain},
- annotation = {The macros defined in this directory (in files
- and ) are used in papers
- written in Plain \TeX{} for publication in TUGboat.},
-}
-
-@manual{ctan-tugboat-toc,
- title = {The \texttt{tugboat-toc} package},
- subtitle = {An accumulation of TUGboat tables of contents},
- author = {Barbara Beeton},
- date = {2021-08-26},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/digests/tugboat/t-of-c},
- url = {https://ctan.org/pkg/tugboat-toc},
-}
-
-@manual{ctan-tugboat,
- title = {The \texttt{tugboat} package},
- subtitle = {\LaTeX{} macros for TUGboat articles},
- author = {Robin Fairbairns and Karl Berry},
- date = {2023-03-09},
- version = {2.29},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tugboat},
- url = {https://ctan.org/pkg/tugboat},
-}
-
-@manual{ctan-tui,
- title = {The \texttt{tui} package},
- subtitle = {Thesis style for the University of the Andes, Colombia},
- author = {Nicolas Vaughan},
- date = {2016-06-24},
- version = {1.9},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/tui},
- url = {https://ctan.org/pkg/tui},
-}
-
-@manual{ctan-turabian-formatting,
- title = {The \texttt{turabian-formatting} package},
- subtitle = {Formatting based on Turabian's Manual},
- author = {Omar Abdool},
- date = {2021-03-20},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/turabian-formatting},
- url = {https://ctan.org/pkg/turabian-formatting},
- annotation = {The package
- provides Chicago-style formatting
- based on Kate L. Turabian’s
- “A Manual for Writers of Research Papers, Theses, and
- Dissertations: Chicago Style for Students and Researchers”
- (9th edition).},
-}
-
-@manual{ctan-turabian,
- title = {The \texttt{turabian} package},
- subtitle = {Create Turabian-formatted material using \LaTeX{}},
- author = {Wesley Surber},
- date = {2016-06-24},
- version = {0.1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/turabian},
- url = {https://ctan.org/pkg/turabian},
-}
-
-@manual{ctan-turkish,
- title = {The \texttt{turkish} package},
- subtitle = {\LaTeX{} Support for Typesetting Turkish},
- author = {Pierre A. MacKay},
- date = {2019-06-09},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/turkish},
- url = {https://ctan.org/pkg/turkish},
-}
-
-@manual{ctan-turkishintro,
- title = {The \texttt{turkishintro} package},
- subtitle = {An introduction to \LaTeX{}, in Turkish},
- author = {Abdugafur Rakhimov},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/turkishintro},
- url = {https://ctan.org/pkg/turkishintro},
-}
-
-@manual{ctan-turkmen,
- title = {The \texttt{turkmen} package},
- subtitle = {Babel support for Turkmen},
- author = {Nazar Annagurban},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/turkmen},
- url = {https://ctan.org/pkg/turkmen},
- annotation = {The package provides support for Turkmen in
- , but integration with babel is
- not available.},
-}
-
-@manual{ctan-turnstile,
- title = {The \texttt{turnstile} package},
- subtitle = {Typeset the (logic) turnstile notation},
- author = {Arthur Buchsbaum and Francisco Reinaldo},
- date = {2022-11-02},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/turnstile},
- url = {https://ctan.org/pkg/turnstile},
-}
-
-@manual{ctan-turnthepage,
- title = {The \texttt{turnthepage} package},
- subtitle = {Provide "turn page" instructions},
- author = {Luca Merciadri},
- date = {2016-06-24},
- version = {1.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/turnthepage},
- url = {https://ctan.org/pkg/turnthepage},
-}
-
-@manual{ctan-tvs,
- title = {The \texttt{TVS} package},
- subtitle = {TeX Versioning System},
- author = {David Antos},
- date = {2016-06-24},
- version = {1.28},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/TVS},
- url = {https://ctan.org/pkg/tvs},
-}
-
-@manual{ctan-twcal,
- title = {The \texttt{twcal} package},
- subtitle = {Calligraphic font for typesetting handwriting},
- author = {Thomas Weinmann},
- date = {2016-06-24},
- version = {1.1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/twcal},
- url = {https://ctan.org/pkg/twcal},
-}
-
-@manual{ctan-tweb,
- title = {The \texttt{tweb} package},
- subtitle = {A web system for \TeX{} macro sources},
- author = {Włodek Bzyl},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/web/tweb},
- url = {https://ctan.org/pkg/tweb},
- annotation = {Tweb uses to provide a better
- means of printing \TeX{} macro sources.},
-}
-
-@manual{ctan-twemoji-colr,
- title = {The \texttt{twemoji-colr} package},
- subtitle = {Twemoji font in COLR/CPAL layered format},
- author = {Xiangdong Zeng},
- date = {2022-10-28},
- version = {0.7.0},
- license = {cc-by-sa-4,apache2},
- mirror = {https://mirror.ctan.org/fonts/twemoji-colr},
- url = {https://ctan.org/pkg/twemoji-colr},
- annotation = {This is a COLR/CPAL-based color OpenType font from the
- collection
- of emoji images.},
-}
-
-@manual{ctan-twemojis,
- title = {The \texttt{twemojis} package},
- subtitle = {Use Twitter’s open source emojis through \LaTeX{} commands},
- author = {Jost Rossel},
- date = {2022-04-06},
- version = {1.3.1 (twemoji v14.0.1)},
- license = {lppl1.3,cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/twemojis},
- url = {https://ctan.org/pkg/twemojis},
- annotation = {This package provides a simple wrapper which allows to use
- Twitter’s open source emojis through \LaTeX{} commands.
- This relies on images, so no fancy unicode-font stuff is
- needed and it work on every installation.},
-}
-
-@manual{ctan-twocolumns,
- title = {The \texttt{twocolumns} package},
- subtitle = {Knuth's two-column output macros},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/2columns.mac},
- url = {https://ctan.org/pkg/twocolumns},
-}
-
-@manual{ctan-twoinone,
- title = {The \texttt{2in1} package},
- subtitle = {Print two pages on a single page},
- author = {Sanjeev Saxena},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/twoinone},
- url = {https://ctan.org/pkg/twoinone},
-}
-
-@manual{ctan-twoopt,
- title = {The \texttt{twoopt} package},
- subtitle = {Definitions with two optional arguments},
- author = {Heiko Oberdiek},
- date = {2018-01-06},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/twoopt.dtx},
- url = {https://ctan.org/pkg/twoopt},
-}
-
-@manual{ctan-twoside,
- title = {The \texttt{twoside} package},
- subtitle = {Two-side typesetting in Plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/2side.tex},
- url = {https://ctan.org/pkg/twoside},
-}
-
-@manual{ctan-twoup-gen,
- title = {The \texttt{twoup-gen} package},
- subtitle = {Macros to print two-up},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2020-05-09},
- version = {1.3a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/2up},
- url = {https://ctan.org/pkg/twoup-gen},
-}
-
-@manual{ctan-twoupltx,
- title = {The \texttt{twoupltx} package},
- subtitle = {Print two virtual pages on each physical page},
- author = {Mogens Lemvig Hansen},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/twoup},
- url = {https://ctan.org/pkg/twoupltx},
-}
-
-@manual{ctan-txfonts,
- title = {The \texttt{txfonts} package},
- subtitle = {Times-like fonts in support of mathematics},
- author = {Young Ryu},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/txfonts},
- url = {https://ctan.org/pkg/txfonts},
-}
-
-@manual{ctan-txfontsb,
- title = {The \texttt{txfontsb} package},
- subtitle = {Extensions to txfonts, using GNU Freefont},
- author = {Antonis Tsolomitis},
- date = {2019-11-12},
- version = {1.1.1},
- license = {gpl,lppl1},
- mirror = {https://mirror.ctan.org/fonts/txfontsb},
- url = {https://ctan.org/pkg/txfontsb},
- annotation = {A set of fonts that extend the
- bundle with small caps and
- old style numbers, together with Greek support. The extensions
- are made with modifications of the
- .},
-}
-
-@manual{ctan-txgreeks,
- title = {The \texttt{txgreeks} package},
- subtitle = {Shape selection for TX fonts Greek letters},
- author = {Jean-François Burnol},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/txgreeks},
- url = {https://ctan.org/pkg/txgreeks},
- annotation = {The package allows \LaTeX{} users who use the
- to select the
- shapes (italic or upright) for the Greek lowercase and uppercase
- letters. Once the shapes for lowercase and uppercase have been
- selected via a package option, the prefix (e.g.,
- ) allows using the alternate glyph (as in the
- fourier package). The txgreeks package does not constrain the
- text font that may be used in the document.},
-}
-
-@manual{ctan-txp,
- title = {The \texttt{txp} package},
- subtitle = {Draw text along a path},
- author = {Santiago Muelas},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/txp},
- url = {https://ctan.org/pkg/txp},
-}
-
-@manual{ctan-txt,
- title = {The \texttt{txt} package},
- subtitle = {Output documents via terminals, line printers, etc},
- author = {Ralph Droms},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/support/txt},
- url = {https://ctan.org/pkg/txt},
-}
-
-@manual{ctan-txt2latex,
- title = {The \texttt{txt2latex} package},
- subtitle = {Convert text by fixing special chars and quote marks},
- author = {Tristan Miller},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/txt2latex},
- url = {https://ctan.org/pkg/txt2latex},
- annotation = {This is a small Perl script intended to facilitate batch
- conversion of largely unformatted ASCII text for use with
- \LaTeX{}. In contrast to , it
- does not assume the document has any underlying structure. Its
- sole purpose is to escape special \LaTeX{} characters and to fix
- single and double quotation marks.},
-}
-
-@manual{ctan-txt2tex,
- title = {The \texttt{txt2tex} package},
- subtitle = {Add \LaTeX{} markup to plain text},
- author = {Kalvis M. Jansons},
- date = {2020-03-01},
- version = {4.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/txt2tex},
- url = {https://ctan.org/pkg/txt2tex},
-}
-
-@manual{ctan-txuprcal,
- title = {The \texttt{TXUprCal} package},
- subtitle = {Upright calligraphic font based on TX calligraphic},
- author = {Michael Sharpe},
- date = {2017-03-09},
- version = {1.00},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/fonts/txuprcal},
- url = {https://ctan.org/pkg/txuprcal},
- annotation = {This small package provides a means of loading as
- an uprighted version of the calligraphic
- fonts from the TX font package. A scaled option to provided to
- allow arbitrary scaling.},
-}
-
-@manual{ctan-type1cm,
- title = {The \texttt{type1cm} package},
- subtitle = {Arbitrary size font selection in \LaTeX{}},
- author = {David Carlisle},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/type1cm},
- url = {https://ctan.org/pkg/type1cm},
-}
-
-@manual{ctan-type1ec,
- title = {The \texttt{type1ec} package},
- subtitle = {Permit EC, TC and LH fonts at arbitrary sizes},
- author = {Vladimir Volovich},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/cm-super/type1ec.sty},
- url = {https://ctan.org/pkg/type1ec},
-}
-
-@manual{ctan-typearea,
- title = {The \texttt{typearea} package},
- subtitle = {Set page margins},
- author = {Markus Kohm and Frank Neukam},
- date = {2022-10-12},
- version = {3.38},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/koma-script},
- url = {https://ctan.org/pkg/typearea},
- annotation = {Typearea is a part of the
- bundle, and is well
- integrated with the requirements of classes in the bundle, but it
- is also convenient for use as a package in its own right.},
-}
-
-@manual{ctan-typed-checklist,
- title = {The \texttt{typed-checklist} package},
- subtitle = {Typesetting tasks, goals, milestones, artifacts, and more in \LaTeX{}},
- author = {Richard Grewe},
- date = {2022-05-29},
- version = {2.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/typed-checklist},
- url = {https://ctan.org/pkg/typed-checklist},
-}
-
-@manual{ctan-typedref,
- title = {The \texttt{typedref} package},
- subtitle = {Eliminate errors by enforcing the types of labels},
- author = {Gregory Seidman and James Ashton},
- date = {2016-06-24},
- version = {1.1},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/typedref},
- url = {https://ctan.org/pkg/typedref},
- annotation = {The package is provided to help users avoid cross-reference errors;
- it replaces with ,
- , , etc., so that you're forced
- to specify the kind of label you’re referencing. Each
- reference command also generates appropriate text automatically,
- so that instead of typing , all
- you need is . The
- command is redefined to record the type with the label defined, so
- that each type of label has its own namespace.},
-}
-
-@manual{ctan-typeface,
- title = {The \texttt{typeface} package},
- subtitle = {Select a balanced set of fonts},
- author = {Geoffrey Jones},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/typeface},
- url = {https://ctan.org/pkg/typeface},
-}
-
-@manual{ctan-typehtml,
- title = {The \texttt{typehtml} package},
- subtitle = {Typeset HTML directly from \LaTeX{}},
- author = {David Carlisle},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/typehtml},
- url = {https://ctan.org/pkg/typehtml},
-}
-
-@manual{ctan-typeoutfileinfo,
- title = {The \texttt{typeoutfileinfo} package},
- subtitle = {Display class/package/file information},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.31},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/typeoutfileinfo},
- url = {https://ctan.org/pkg/typeoutfileinfo},
-}
-
-@manual{ctan-typespec,
- title = {The \texttt{typespec} package},
- subtitle = {Create font samplers},
- author = {Stephen Moye},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/TypeSpec},
- url = {https://ctan.org/pkg/typespec},
-}
-
-@manual{ctan-typewriter,
- title = {The \texttt{typewriter} package},
- subtitle = {Typeset with a randomly variable monospace font},
- author = {David Carlisle},
- date = {2021-08-26},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/typewriter},
- url = {https://ctan.org/pkg/typewriter},
- annotation = {The package uses the , together with a LuaTeX virtual font setup that
- introduces random variability in grey level and angle of each
- character. It was originally an .},
-}
-
-@manual{ctan-typicons,
- title = {The \texttt{typicons} package},
- subtitle = {Font containing a set of web-related icons},
- author = {Arthur Vigil},
- date = {2016-06-24},
- version = {2.0.7},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/typicons},
- url = {https://ctan.org/pkg/typicons},
-}
-
-@manual{ctan-typoaid,
- title = {The \texttt{typoaid} package},
- subtitle = {Macros for font diagnostics},
- author = {Daniele Ratti},
- date = {2017-06-06},
- version = {0.4.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/typoaid},
- url = {https://ctan.org/pkg/typoaid},
-}
-
-@manual{ctan-typografie,
- title = {The \texttt{typografie} package},
- subtitle = {A tutorial on typography},
- author = {Axel Reichert},
- date = {2016-06-24},
- version = {},
- license = {nosource},
- mirror = {https://mirror.ctan.org/info/german/typografie},
- url = {https://ctan.org/pkg/typografie},
-}
-
-@manual{ctan-typogrid,
- title = {The \texttt{typogrid} package},
- subtitle = {Print a typographic grid},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.21},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/typogrid},
- url = {https://ctan.org/pkg/typogrid},
-}
-
-@manual{ctan-tzplot,
- title = {The \texttt{tzplot} package},
- subtitle = {Plot graphs with TikZ abbreviations},
- author = {In-Sung Cho},
- date = {2022-09-28},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tzplot},
- url = {https://ctan.org/pkg/tzplot},
-}
-
-@manual{ctan-u8tex,
- title = {The \texttt{u8tex} package},
- subtitle = {Input Unicode characters in \TeX{} notation, in emacs},
- author = {Sergei Pokrovsky},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/emacs-modes/u8tex.el},
- url = {https://ctan.org/pkg/u8tex},
- annotation = {A file to provide an alternative, \TeX{}-style, input method for
- UTF-8 characters in Otfried Cheong's
- .},
-}
-
-@manual{ctan-uaclasses,
- title = {The \texttt{uaclasses} package},
- subtitle = {University of Arizona thesis and dissertation format},
- author = {Marcel Oliver},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uaclasses},
- url = {https://ctan.org/pkg/uaclasses},
-}
-
-@manual{ctan-uafthesis,
- title = {The \texttt{uafthesis} package},
- subtitle = {Document class for theses at University of Alaska Fairbanks},
- author = {Joshua Holbrook},
- date = {2020-12-30},
- version = {12.12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uafthesis},
- url = {https://ctan.org/pkg/uafthesis},
-}
-
-@manual{ctan-uantwerpendocs,
- title = {The \texttt{uantwerpendocs} package},
- subtitle = {Course texts, master theses, and exams in University of Antwerp style},
- author = {Walter Daems},
- date = {2022-08-22},
- version = {4.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uantwerpendocs},
- url = {https://ctan.org/pkg/uantwerpendocs},
-}
-
-@manual{ctan-uassign,
- title = {The \texttt{uassign} package},
- subtitle = {Environments and options for typesetting university assignments},
- author = {Nathan Esau},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uassign},
- url = {https://ctan.org/pkg/uassign},
-}
-
-@manual{ctan-ucalgmthesis,
- title = {The \texttt{ucalgmthesis} package},
- subtitle = {\LaTeX{} thesis class for University of Calgary Faculty of Graduate Studies},
- author = {Richard Zach},
- date = {2019-10-24},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ucalgmthesis},
- url = {https://ctan.org/pkg/ucalgmthesis},
-}
-
-@manual{ctan-ucbthesis,
- title = {The \texttt{ucbthesis} package},
- subtitle = {Thesis and dissertation class supporting UCB requirements},
- author = {Paul Vojta and Daniel Gildea},
- date = {2019-07-20},
- version = {3.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ucbthesis},
- url = {https://ctan.org/pkg/ucbthesis},
-}
-
-@manual{ctan-ucdavisthesis,
- title = {The \texttt{ucdavisthesis} package},
- subtitle = {A thesis/dissertation class for University of California at Davis},
- author = {Ryan Scott},
- date = {2018-01-06},
- version = {1.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ucdavisthesis},
- url = {https://ctan.org/pkg/ucdavisthesis},
-}
-
-@manual{ctan-ucharcat,
- title = {The \texttt{ucharcat} package},
- subtitle = {Implementation of the (new in 2015) XeTeX \textbackslash{}Ucharcat command in lua, for LuaTeX},
- author = {David Carlisle},
- date = {2016-06-24},
- version = {0.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ucharcat},
- url = {https://ctan.org/pkg/ucharcat},
- annotation = {The package implements the \textbackslash{}Ucharcat command for LuaLaTeX. is a
- new primitive in XeTeX, an extension of the existing command, that
- allows the specification of the catcode as well as character code of the character
- token being constructed.},
-}
-
-@manual{ctan-ucharclasses,
- title = {The \texttt{ucharclasses} package},
- subtitle = {Font actions in XeTeX according to what is being processed},
- author = {Mike Kamermans},
- date = {2022-10-21},
- version = {2.6},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/ucharclasses},
- url = {https://ctan.org/pkg/ucharclasses},
-}
-
-@manual{ctan-ucs,
- title = {The \texttt{ucs} package},
- subtitle = {Extended UTF-8 input encoding support for \LaTeX{}},
- author = {Wolfgang Jeltsch and Dominique Unruh and David Carlisle},
- date = {2022-08-13},
- version = {2.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ucs},
- url = {https://ctan.org/pkg/ucs},
-}
-
-@manual{ctan-ucsmonograph,
- title = {The \texttt{ucsmonograph} package},
- subtitle = {Typesetting academic documents from the University of Caxias do Sul},
- author = {Henrique Baron},
- date = {2019-11-08},
- version = {1.3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ucsmonograph},
- url = {https://ctan.org/pkg/ucsmonograph},
-}
-
-@manual{ctan-ucthesis,
- title = {The \texttt{ucthesis} package},
- subtitle = {University of California thesis format},
- author = {Daniel Gildea},
- date = {2016-06-24},
- version = {3.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ucthesis},
- url = {https://ctan.org/pkg/ucthesis},
-}
-
-@manual{ctan-ucthesis209,
- title = {The \texttt{ucthesis209} package},
- subtitle = {\LaTeX{} 2.09 document style for UC Theses},
- author = {Ethan V. Munson},
- date = {2016-06-24},
- version = {2.7},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/ucthesis},
- url = {https://ctan.org/pkg/ucthesis209},
- annotation = {An obsolescent \LaTeX{} 2.09 predecessor of the current
- ;
- the latest version of the package seems to have been released as
- the current one was being developed.},
-}
-
-@manual{ctan-udes-genie-these,
- title = {The \texttt{udes-genie-these} package},
- subtitle = {A thesis class file for the Faculté de génie at the Université de Sherbrooke},
- author = {Charles-Antoine Brunet},
- date = {2022-11-17},
- version = {3.0.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/udes-genie-these},
- url = {https://ctan.org/pkg/udes-genie-these},
-}
-
-@manual{ctan-udesoftec,
- title = {The \texttt{udesoftec} package},
- subtitle = {Thesis class for the University of Duisburg-Essen},
- author = {J. Peter M. Schuler},
- date = {2021-02-23},
- version = {1.7.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/udesoftec},
- url = {https://ctan.org/pkg/udesoftec},
-}
-
-@manual{ctan-uebungsblatt,
- title = {The \texttt{uebungsblatt} package},
- subtitle = {A \LaTeX{} class for writing exercise sheets},
- author = {Igor Akkerman},
- date = {2016-06-24},
- version = {1.5.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uebungsblatt},
- url = {https://ctan.org/pkg/uebungsblatt},
-}
-
-@manual{ctan-uestcthesis,
- title = {The \texttt{uestcthesis} package},
- subtitle = {Thesis class for UESTC},
- author = {Shi Fujun},
- date = {2017-04-18},
- version = {1.1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uestcthesis},
- url = {https://ctan.org/pkg/uestcthesis},
-}
-
-@manual{ctan-ufrgscca,
- title = {The \texttt{ufrgscca} package},
- subtitle = {A bundle for undergraduate students final work/report (tcc) at UFRGS/EE},
- author = {Alceu Frigeri},
- 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},
- annotation = {This bundled is aimed at producing undergraduate students’
- final work/report at UFRGS/EE (Engineering School at the
- Federal University of Rio Grande do Sul), closely following
- ABNT rules (Brazilian Association for Technical Norms).
- It is composed of a main class, , and
- a set of auxiliary packages, some of which can be used
- independently.},
-}
-
-@manual{ctan-ugarite,
- title = {The \texttt{ugarite} package},
- subtitle = {Fonts for Ugaritic cuneiform script},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/ugarite},
- url = {https://ctan.org/pkg/ugarite},
-}
-
-@manual{ctan-ugaritic,
- title = {The \texttt{ugaritic} package},
- subtitle = {A font for Ugaritic},
- author = {Alan Stanier},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/ugaritic},
- url = {https://ctan.org/pkg/ugaritic},
-}
-
-@manual{ctan-uhc,
- title = {The \texttt{uhc} package},
- subtitle = {Fonts for the Korean language},
- author = {Koaunghi Un},
- date = {2017-06-19},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/korean/HLaTeX},
- url = {https://ctan.org/pkg/uhc},
-}
-
-@manual{ctan-uhhassignment,
- title = {The \texttt{uhhassignment} package},
- subtitle = {A document class for typesetting homework assignments},
- author = {Kim Wittenburg},
- date = {2018-01-07},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uhhassignment},
- url = {https://ctan.org/pkg/uhhassignment},
-}
-
-@manual{ctan-uhrzeit,
- title = {The \texttt{uhrzeit} package},
- subtitle = {Time printing, in German},
- author = {Olaf Meltzer},
- date = {2016-06-24},
- version = {0.2c},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uhrzeit},
- url = {https://ctan.org/pkg/uhrzeit},
-}
-
-@manual{ctan-uhthesis,
- title = {The \texttt{uhthesis} package},
- subtitle = {University of Houston thesis document style},
- author = {Dimitrios Georgakopoulos},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/uhthesis.sty},
- url = {https://ctan.org/pkg/uhthesis},
-}
-
-@manual{ctan-uiucredborder,
- title = {The \texttt{uiucredborder} package},
- subtitle = {Class for UIUC thesis red-bordered forms},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {1.00},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uiucredborder},
- url = {https://ctan.org/pkg/uiucredborder},
-}
-
-@manual{ctan-uiucthesis,
- title = {The \texttt{uiucthesis} package},
- subtitle = {UIUC thesis class},
- author = {Peter Czoschke and David Hull},
- date = {2016-06-24},
- version = {2.25},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uiucthesis},
- url = {https://ctan.org/pkg/uiucthesis},
- annotation = {The class produces a document that conforms to the format
- described in the University's .},
-}
-
-@manual{ctan-ukbill,
- title = {The \texttt{ukbill} package},
- subtitle = {A class for typesetting UK legislation},
- author = {Elijah Z Granet},
- date = {2023-01-01},
- version = {1.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ukbill},
- url = {https://ctan.org/pkg/ukbill},
- annotation = {This package provides formatting to easily typeset draft UK
- legislation. The libre font is required to use this package.},
-}
-
-@manual{ctan-ukdate,
- title = {The \texttt{ukdate} package},
- subtitle = {Typeset date in a UK-ish form},
- author = {Adrian Clark},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/ukdate.sty},
- url = {https://ctan.org/pkg/ukdate},
-}
-
-@manual{ctan-ukhyph,
- title = {The \texttt{ukhyph} package},
- subtitle = {Hyphenation patterns for British English},
- author = {Dominik Wujastyk and Philip Taylor},
- date = {2016-11-05},
- version = {2.0},
- license = {knuth},
- mirror = {https://mirror.ctan.org/language/hyphenation/ukhyphen.tex},
- url = {https://ctan.org/pkg/ukhyph},
-}
-
-@manual{ctan-ukrhyph,
- title = {The \texttt{ukrhyph} package},
- subtitle = {Hyphenation Patterns for Ukrainian},
- author = {Andrij Shvaika and Maksym Polyakov and Dimitri Vulis},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/hyphenation/ukrhyph},
- url = {https://ctan.org/pkg/ukrhyph},
-}
-
-@manual{ctan-uktex,
- title = {The \texttt{UK-TeX} package},
- subtitle = {The UK \TeX{} digest},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/info/digests/uktex},
- url = {https://ctan.org/pkg/uktex},
-}
-
-@manual{ctan-uktug-bask,
- title = {The \texttt{uktug-bask} package},
- subtitle = {Old copies and sources of Baskerville},
- author = {{UK \TeX{} Users Group}},
- date = {2017-04-18},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/usergrps/uktug/baskervi},
- url = {https://ctan.org/pkg/uktug-bask},
- annotation = {The source and PDF files of the UK TUG journal
- , from volume 3 to volume 8.},
-}
-
-@manual{ctan-ulem,
- title = {The \texttt{ulem} package},
- subtitle = {Package for underlining},
- author = {Donald Arseneau},
- date = {2020-01-10},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ulem},
- url = {https://ctan.org/pkg/ulem},
-}
-
-@manual{ctan-ulqda,
- title = {The \texttt{ulqda} package},
- subtitle = {Support of Qualitative Data Analysis},
- author = {Ivan Griffin},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ulqda},
- url = {https://ctan.org/pkg/ulqda},
-}
-
-@manual{ctan-ulsy-ps,
- title = {The \texttt{ulsy-ps} package},
- subtitle = {Extra mathematical characters in Adobe Type 1 format},
- author = {Ulrich Goldschmitt and Yvon Henel},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/ulsy},
- url = {https://ctan.org/pkg/ulsy-ps},
- annotation = {These are autotraced versions of the
- fonts.},
-}
-
-@manual{ctan-ulsy,
- title = {The \texttt{ulsy} package},
- subtitle = {Extra mathematical characters},
- author = {Ulrich Goldschmitt},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/ulsy},
- url = {https://ctan.org/pkg/ulsy},
-}
-
-@manual{ctan-ulthese,
- title = {The \texttt{ulthese} package},
- subtitle = {Thesis class and templates for Université Laval},
- author = {Pierre Lasou and Vincent Goulet},
- date = {2021-08-10},
- version = {5.3a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ulthese},
- url = {https://ctan.org/pkg/ulthese},
- annotation = {The package provides a class based on
- to prepare theses and memoirs
- compliant with the presentation rules set forth by the Faculty of
- Graduate Studies of Université Laval, Québec, Canada. The class
- also comes with an extensive set of templates for the various
- types of theses and memoirs offered at Laval. Please note that
- the documentation for the class and the comments in the templates
- are all written in French, the language of the target audience.},
-}
-
-@manual{ctan-ultratex,
- title = {The \texttt{Ultra-TeX} package},
- subtitle = {An emacs \TeX{} mode with "lightning completion'},
- author = {John H. Palmieri},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/ultratex},
- url = {https://ctan.org/pkg/ultratex},
- annotation = {Ultra-TeX is an Emacs mode, a distant relation of
- , with several enhancements
- (relative to the version it started from) and with a
- “lightning completion” mode that doesn't wait for
- a request for completion (the request is typically expressed by
- pressing the tab key).},
-}
-
-@manual{ctan-umbclegislation,
- title = {The \texttt{umbclegislation} package},
- subtitle = {A \LaTeX{} class for building legislation files for UMBC Student
- Government Association Bills},
- author = {Lin DasSarma},
- date = {2018-01-07},
- version = {2016-6-8},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/umbclegislation},
- url = {https://ctan.org/pkg/umbclegislation},
-}
-
-@manual{ctan-umich-thesis,
- title = {The \texttt{umich-thesis} package},
- subtitle = {University of Michigan Thesis \LaTeX{} class},
- author = {Bil Kleb},
- date = {2018-01-06},
- version = {1.20},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/umich-thesis},
- url = {https://ctan.org/pkg/umich-thesis},
-}
-
-@manual{ctan-uml,
- title = {The \texttt{UML} package},
- subtitle = {UML diagrams in \LaTeX{}},
- author = {Ellef Gjelstad},
- date = {2018-09-15},
- version = {0.11},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/uml},
- url = {https://ctan.org/pkg/uml},
-}
-
-@manual{ctan-umlaute,
- title = {The \texttt{umlaute} package},
- subtitle = {German input encodings in \LaTeX{}},
- author = {Axel Sommerfeldt},
- date = {2018-01-06},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/umlaute},
- url = {https://ctan.org/pkg/umlaute},
-}
-
-@manual{ctan-umoline,
- title = {The \texttt{umoline} package},
- subtitle = {Underline text allowing line breaking},
- author = {Hiroshi Nakashima},
- date = {2018-01-06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/umoline},
- url = {https://ctan.org/pkg/umoline},
- annotation = {Provides commands , and
- for underlining, striking out, and overlining
- their text arguments.},
-}
-
-@manual{ctan-umrand,
- title = {The \texttt{umrand} package},
- subtitle = {Package for fancy box frames},
- author = {Andreas Schrell and Andreas Hörstmeier},
- date = {2019-06-21},
- version = {1.2},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/generic/umrand},
- url = {https://ctan.org/pkg/umrand},
-}
-
-@manual{ctan-umthesis,
- title = {The \texttt{umthesis} package},
- subtitle = {Dissertations at the University of Michigan},
- author = {Robert Felty},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/umthesis},
- url = {https://ctan.org/pkg/umthesis},
-}
-
-@manual{ctan-umtypewriter,
- title = {The \texttt{umtypewriter} package},
- subtitle = {Fonts to typeset with the xgreek package},
- author = {Apostolos Syropoulos},
- date = {2022-09-18},
- version = {1.1},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/umtypewriter},
- url = {https://ctan.org/pkg/umtypewriter},
-}
-
-@manual{ctan-unam-thesis,
- title = {The \texttt{unam-thesis} package},
- subtitle = {Create documents according to the UNAM guidelines},
- author = {Juan Alberto Camacho Bolaños},
- date = {2019-05-25},
- version = {0.5},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unam-thesis},
- url = {https://ctan.org/pkg/unam-thesis},
-}
-
-@manual{ctan-unamth-template,
- title = {The \texttt{unamth-template} package},
- subtitle = {UNAM Thesis \LaTeX{} Template},
- author = {Jesús Velázquez},
- date = {2016-06-24},
- version = {2.0},
- license = {gpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unamth-template},
- url = {https://ctan.org/pkg/unamth-template},
-}
-
-@manual{ctan-unamthesis,
- title = {The \texttt{unamthesis} package},
- subtitle = {Style for Universidad Nacional Autonoma de Mexico theses},
- author = {Julio A. Freyre-Gonzalez},
- date = {2017-03-29},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unamthesis},
- url = {https://ctan.org/pkg/unamthesis},
- annotation = {The package provides a customisable format to typeset Theses
- according to the Universidad Nacional Autonoma de Mexico
- guidelines. Support for use in Scientific Workplace (SWP) 3.x is
- also provided. The bundle also includes an appropriate
- bibliographic style which enables the use of author-year schemes
- using the package.},
-}
-
-@manual{ctan-unbtex,
- title = {The \texttt{UnBTeX} package},
- subtitle = {A class for theses at University of Brasilia (UnB)},
- author = {Henrique Cezar Ferreira},
- date = {2022-10-05},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unbtex},
- url = {https://ctan.org/pkg/unbtex},
-}
-
-@manual{ctan-uncial,
- title = {The \texttt{uncial} package},
- subtitle = {Uncial manuscript book-hand font},
- author = {Peter R. Wilson},
- date = {2016-07-29},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/bookhands/uncial},
- url = {https://ctan.org/pkg/uncial},
-}
-
-@manual{ctan-undergradmath,
- title = {The \texttt{undergradmath} package},
- subtitle = {\LaTeX{} Math for Undergraduates cheat sheet},
- author = {Jim Hefferon},
- date = {2021-01-03},
- version = {},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/info/undergradmath},
- url = {https://ctan.org/pkg/undergradmath},
-}
-
-@manual{ctan-underlin-gen,
- title = {The \texttt{underlin-generic} package},
- subtitle = {Multi-word underlining},
- author = {Stephen Gildea},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/underlin.tex},
- url = {https://ctan.org/pkg/underlin-gen},
-}
-
-@manual{ctan-underlin,
- title = {The \texttt{underlin} package},
- subtitle = {Underlined running heads},
- author = {Rainer Schöpf},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/underlin},
- url = {https://ctan.org/pkg/underlin},
-}
-
-@manual{ctan-underoverlap,
- title = {The \texttt{underoverlap} package},
- subtitle = {Position decorations over and under expressions},
- author = {Michiel Helvensteijn},
- date = {2021-03-01},
- version = {0.0.1-r1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/underoverlap},
- url = {https://ctan.org/pkg/underoverlap},
-}
-
-@manual{ctan-underscore,
- title = {The \texttt{underscore} package},
- subtitle = {Control the behaviour of "\_" in text},
- author = {Donald Arseneau},
- date = {2018-01-06},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/underscore},
- url = {https://ctan.org/pkg/underscore},
-}
-
-@manual{ctan-undertilde-gen,
- title = {The \texttt{undertilde-gen} package},
- subtitle = {A simple macro for placing a tilde under a character},
- author = {{Unknown}},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/undertilde.tex},
- url = {https://ctan.org/pkg/undertilde-gen},
-}
-
-@manual{ctan-undertilde,
- title = {The \texttt{undertilde} package},
- subtitle = {Typeset a tilde under one (or many) maths symbols},
- author = {Benjamin Bayart},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/undertilde},
- url = {https://ctan.org/pkg/undertilde},
- annotation = {The implementation is probably less than totally robust, though
- undoubtedly better than that in the
- macros also
- available on CTAN.},
-}
-
-@manual{ctan-undolabl,
- title = {The \texttt{undolabl} package},
- subtitle = {Override existing labels},
- author = {Hans-Martin Münch},
- date = {2023-02-14},
- version = {1.0m},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/undolabl},
- url = {https://ctan.org/pkg/undolabl},
-}
-
-@manual{ctan-undump,
- title = {The \texttt{undump} package},
- subtitle = {Make a new executable with format loaded},
- author = {Spencer W. Thomas},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/support/undump},
- url = {https://ctan.org/pkg/undump},
-}
-
-@manual{ctan-unfinished,
- title = {The \texttt{unfinished} package},
- subtitle = {Mark unfinished parts of a document},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/unfinished.tex},
- url = {https://ctan.org/pkg/unfinished},
- annotation = {The package provides an environment convenient
- for marking unfinished sections of a document. The environment
- complains if it thinks the document is not marked as a draft (in
- the sense of having non-zero.},
-}
-
-@manual{ctan-unfonts-core,
- title = {The \texttt{unfonts-core} package},
- subtitle = {TrueType version of Un-fonts},
- author = {Koaunghi Un},
- date = {2020-09-03},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/unfonts-core},
- url = {https://ctan.org/pkg/unfonts-core},
-}
-
-@manual{ctan-unfonts-extra,
- title = {The \texttt{unfonts-extra} package},
- subtitle = {TrueType version of Un-fonts},
- author = {Koaunghi Un},
- date = {2020-09-03},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/unfonts-extra},
- url = {https://ctan.org/pkg/unfonts-extra},
-}
-
-@manual{ctan-uni-titlepage,
- title = {The \texttt{uni-titlepage} package},
- subtitle = {Universal titlepages with configuration options and predefined styles},
- author = {Markus Kohm},
- date = {2022-09-06},
- version = {1.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uni-titlepage},
- url = {https://ctan.org/pkg/uni-titlepage},
-}
-
-@manual{ctan-uni-wtal-ger,
- title = {The \texttt{uni-wtal-ger} package},
- subtitle = {Citation style for literary studies at the University of Wuppertal},
- author = {Carsten Ace Dahlmann},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/uni-wtal-ger},
- url = {https://ctan.org/pkg/uni-wtal-ger},
- annotation = {The package defines a
- citation style based on the author-title style of
- . The citations are
- optimised for literary studies in faculty of humanities at the
- Bergische Universität Wuppertal.},
-}
-
-@manual{ctan-uni-wtal-lin,
- title = {The \texttt{uni-wtal-lin} package},
- subtitle = {Citation style for linguistic studies at the University of Wuppertal},
- author = {Carsten Ace Dahlmann},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/uni-wtal-lin},
- url = {https://ctan.org/pkg/uni-wtal-lin},
- annotation = {The package defines a
- citation style based on the standard author-year style. The citations are
- optimised for linguistic studies at the Institute of Linguistics at the
- Bergische Universität Wuppertal.},
-}
-
-@manual{ctan-unicode-alphabets,
- title = {The \texttt{unicode-alphabets} package},
- subtitle = {Macros for using characters from Unicode’s Private Use Area},
- author = {Mikkel Eide Eriksen},
- date = {2023-02-27},
- version = {},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unicode-alphabets},
- url = {https://ctan.org/pkg/unicode-alphabets},
-}
-
-@manual{ctan-unicode-bidi,
- title = {The \texttt{unicode-bidi} package},
- subtitle = {Experimental unicode bidi package for XeTeX},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/unicode-bidi},
- url = {https://ctan.org/pkg/unicode-bidi},
-}
-
-@manual{ctan-unicode-data,
- title = {The \texttt{unicode-data} package},
- subtitle = {Unicode data and loaders for \TeX{}},
- author = {Joseph Wright and {The \LaTeX{} Project Team}},
- date = {2022-09-17},
- version = {1.16},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/unicode-data},
- url = {https://ctan.org/pkg/unicode-data},
-}
-
-@manual{ctan-unicode-math,
- title = {The \texttt{unicode-math} package},
- subtitle = {Unicode mathematics support for XeTeX and LuaTeX},
- author = {Will Robertson and Khaled Hosny},
- date = {2021-08-26},
- version = {0.8q},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/unicode-math},
- url = {https://ctan.org/pkg/unicode-math},
-}
-
-@manual{ctan-unicode,
- title = {The \texttt{unicode} package},
- subtitle = {Extended UTF-8 input encoding for \LaTeX{}},
- author = {Wolfgang Jeltsch and Dominique Unruh},
- date = {2016-10-08},
- version = {},
- license = {lppl},
- url = {https://ctan.org/pkg/unicode},
- annotation = {This bundle has been renamed to , to
- which users should switch (note that the package name has not
- changed, merely that of the enclosing bundle).},
-}
-
-@manual{ctan-unicodefonttable,
- title = {The \texttt{unicodefonttable} package},
- subtitle = {A Unicode font table generator},
- author = {Frank Mittelbach},
- date = {2022-11-13},
- version = {1.0g},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unicodefonttable},
- url = {https://ctan.org/pkg/unicodefonttable},
-}
-
-@manual{ctan-unifith,
- title = {The \texttt{UniFiTh} package},
- subtitle = {Typeset theses for University of Florence (Italy)},
- author = {Francesco Biccari},
- date = {2021-10-04},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unifith},
- url = {https://ctan.org/pkg/unifith},
-}
-
-@manual{ctan-unigrazpub,
- title = {The \texttt{unigrazpub} package},
- subtitle = {\LaTeX{} templates for University of Graz Library Publishing Services},
- author = {Marei Peischl},
- date = {2022-10-16},
- version = {1.00},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unigrazpub},
- url = {https://ctan.org/pkg/unigrazpub},
-}
-
-@manual{ctan-unimath-plain-xetex,
- title = {The \texttt{unimath-plain-xetex} package},
- subtitle = {OpenType math support in (plain) XeTeX},
- author = {Tingxuan Zhang},
- date = {2023-03-06},
- version = {0.2b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/plain/unimath-plain-xetex},
- url = {https://ctan.org/pkg/unimath-plain-xetex},
-}
-
-@manual{ctan-uninormalize,
- title = {The \texttt{uninormalize} package},
- subtitle = {Unicode normalization support},
- author = {Michal Hoftich},
- date = {2021-01-03},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/uninormalize},
- url = {https://ctan.org/pkg/uninormalize},
-}
-
-@manual{ctan-uniquecounter,
- title = {The \texttt{uniquecounter} package},
- subtitle = {Provides unlimited unique counter},
- author = {Heiko Oberdiek},
- date = {2019-12-21},
- version = {1.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uniquecounter},
- url = {https://ctan.org/pkg/uniquecounter},
-}
-
-@manual{ctan-unisc,
- title = {The \texttt{unisc} package},
- subtitle = {Unicode small caps with Lua/XeLaTeX},
- author = {{Unknown}},
- date = {2022-04-29},
- version = {0.2},
- license = {gpl3+,fdl},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/unisc},
- url = {https://ctan.org/pkg/unisc},
- annotation = {\LaTeX{} produces small caps with
- or .
- Neither of these commands produce small caps in Unicode.
- If the output text is copied and pasted somewhere
- it shows the same characters as used in the input.
- This package aims to internally convert all the characters
- provided to the commands mentioned above.
- It assumes that the file using this package is compiled
- with Lua/Xe\LaTeX{} and a good Unicode font which has the
- small caps characters, e.g.,
- .},
-}
-
-@manual{ctan-unisugar,
- title = {The \texttt{unisugar} package},
- subtitle = {Define syntactic sugar for Unicode \LaTeX{}},
- author = {Yossi Gil},
- date = {2016-06-24},
- version = {0.92},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/unisugar},
- url = {https://ctan.org/pkg/unisugar},
-}
-
-@manual{ctan-unitconv,
- title = {The \texttt{unitconv} package},
- subtitle = {Convert a length into one with another unit},
- author = {Herbert Voß},
- date = {2020-05-13},
- version = {0.01},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/unitconv},
- url = {https://ctan.org/pkg/unitconv},
-}
-
-@manual{ctan-unitipa,
- title = {The \texttt{unitipa} package},
- subtitle = {TIPA typefaces with Unicode characters as input},
- author = {{Unknown}},
- date = {2021-10-22},
- version = {0.4},
- license = {gpl3+,fdl},
- mirror = {https://mirror.ctan.org/obsolete/macros/luatex/latex/unitipa},
- url = {https://ctan.org/pkg/unitipa},
- annotation = {A(n obsolete) package which used to provide a LuaLaTeX
- based code for converting Unicode IPA input to T3 encoded
- TIPA typefaces, but it is recommended to use
- with Xe/Lua\LaTeX{} instead
- for a better output.},
-}
-
-@manual{ctan-unitn-bimrep,
- title = {The \texttt{unitn-bimrep} package},
- subtitle = {A bimonthly report class for the PhD School of Materials, Mechatronics and System Engineering},
- author = {Matteo Ragni},
- date = {2018-01-07},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unitn-bimrep},
- url = {https://ctan.org/pkg/unitn-bimrep},
-}
-
-@manual{ctan-units,
- title = {The \texttt{units} package},
- subtitle = {Typeset units},
- author = {Axel Reichert},
- date = {2016-06-24},
- version = {0.9b},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/units},
- url = {https://ctan.org/pkg/units},
-}
-
-@manual{ctan-unitsdef,
- title = {The \texttt{unitsdef} package},
- subtitle = {Typesetting units in \LaTeX{}},
- author = {Patrick Happel},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unitsdef},
- url = {https://ctan.org/pkg/unitsdef},
-}
-
-@manual{ctan-universa,
- title = {The \texttt{universa} package},
- subtitle = {Herbert Bayer’s ‘universal’ font},
- author = {Christian Holm Christensen},
- date = {2019-08-29},
- version = {2.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/universa},
- url = {https://ctan.org/pkg/universa},
- annotation = {An implementation of the “universal” font by Herbert Bayer of
- the Bauhaus school.
- The Metafont sources of the fonts, and their \LaTeX{} support, are
- all supplied in a \LaTeX{} documented source () file.},
-}
-
-@manual{ctan-universalis,
- title = {The \texttt{universalis} package},
- subtitle = {Universalis font, with support},
- author = {Bob Tennent},
- date = {2022-09-25},
- version = {},
- license = {gpl2+,lppl},
- mirror = {https://mirror.ctan.org/fonts/universalis},
- url = {https://ctan.org/pkg/universalis},
-}
-
-@manual{ctan-univie-ling,
- title = {The \texttt{univie-ling} package},
- subtitle = {Papers, theses and research proposals in (Applied) Linguistics at Vienna University},
- author = {Jürgen Spitzmüller},
- date = {2023-01-26},
- version = {2.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/univie-ling},
- url = {https://ctan.org/pkg/univie-ling},
-}
-
-@manual{ctan-unixman,
- title = {The \texttt{unixman} package},
- subtitle = {Typeset to look like Unix man output},
- author = {Paul Barton-Davis},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/unixman},
- url = {https://ctan.org/pkg/unixman},
-}
-
-@manual{ctan-unizgklasa,
- title = {The \texttt{unizgklasa} package},
- subtitle = {A \LaTeX{} class for theses at the Faculty Of Graphic Arts in Zagreb},
- author = {Matea Milin},
- date = {2019-07-21},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unizgklasa},
- url = {https://ctan.org/pkg/unizgklasa},
-}
-
-@manual{ctan-unouter,
- title = {The \texttt{unouter} package},
- subtitle = {Suppress \textbackslash{}outer flags in Plain \TeX{}},
- author = {Éamonn McManus},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/unouter.tex},
- url = {https://ctan.org/pkg/unouter},
- annotation = {The package suppresses all the flags on macros in
- Plain \TeX{}; it also suppresses the command.},
-}
-
-@manual{ctan-unpacked,
- title = {The \texttt{unpacked} package},
- subtitle = {Unpacked copy of the \LaTeX{} sources},
- author = {{The \LaTeX{} Project Team} and Frank Mittelbach and Leslie Lamport},
- date = {2017-04-18},
- version = {},
- license = {lppl},
- url = {https://ctan.org/pkg/unpacked},
-}
-
-@manual{ctan-unravel,
- title = {The \texttt{unravel} package},
- subtitle = {Watching \TeX{} digest tokens},
- author = {Bruno Le Floch},
- date = {2021-05-12},
- version = {0.3a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unravel},
- url = {https://ctan.org/pkg/unravel},
-}
-
-@manual{ctan-unswcover,
- title = {The \texttt{unswcover} package},
- subtitle = {Typeset a dissertation cover page following UNSW guidelines},
- author = {Olivier Mehani},
- date = {2023-02-22},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unswcover},
- url = {https://ctan.org/pkg/unswcover},
-}
-
-@manual{ctan-unswthesis,
- title = {The \texttt{unswthesis} package},
- subtitle = {UNSW theses},
- author = {John Zaitseff},
- date = {2016-06-24},
- version = {1.6a},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/unswthesis},
- url = {https://ctan.org/pkg/unswthesis},
-}
-
-@manual{ctan-untex,
- title = {The \texttt{untex} package},
- subtitle = {Strip (La)TeX commands from source file},
- author = {Michale Staats and Denis Endisch},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/untex},
- url = {https://ctan.org/pkg/untex},
-}
-
-@manual{ctan-uol-physics-report,
- title = {The \texttt{uol-physics-report} package},
- subtitle = {A \LaTeX{} document class for writing lab reports},
- author = {Jan Eike Suchard},
- date = {2023-02-08},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uol-physics-report},
- url = {https://ctan.org/pkg/uol-physics-report},
-}
-
-@manual{ctan-uothesis,
- title = {The \texttt{uothesis} package},
- subtitle = {Class for dissertations and theses at the University of Oregon},
- author = {Michael Anderson},
- date = {2016-06-24},
- version = {2.5.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uothesis},
- url = {https://ctan.org/pkg/uothesis},
-}
-
-@manual{ctan-uowthesis,
- title = {The \texttt{uowthesis} package},
- subtitle = {Document class for dissertations at the University of Wollongong},
- author = {Lei Ye},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uowthesis},
- url = {https://ctan.org/pkg/uowthesis},
-}
-
-@manual{ctan-uowthesistitlepage,
- title = {The \texttt{uowthesistitlepage} package},
- subtitle = {Title page for dissertations at the University of Wollongong},
- author = {Thomas M Griffiths},
- date = {2017-08-11},
- version = {3.0.1},
- license = {lppl1.3c,cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uowthesistitlepage},
- url = {https://ctan.org/pkg/uowthesistitlepage},
-}
-
-@manual{ctan-upca,
- title = {The \texttt{upca} package},
- subtitle = {Print UPC-A barcodes},
- author = {Jiří Mrkus},
- date = {2016-06-24},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/upca},
- url = {https://ctan.org/pkg/upca},
- annotation = {The package defines a single macro , to print UPC-A
- barcodes.},
-}
-
-@manual{ctan-upgreek,
- title = {The \texttt{upgreek} package},
- subtitle = {Upright Greek letters},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {2.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/was},
- url = {https://ctan.org/pkg/upgreek},
-}
-
-@manual{ctan-uplatex,
- title = {The \texttt{uplatex} package},
- subtitle = {pLaTeX2e and miscellaneous macros for upTeX},
- author = {Kazuki Maeda and {Japanese \TeX{} Development Community}},
- date = {2022-07-31},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/jptex/latex/uplatex},
- url = {https://ctan.org/pkg/uplatex},
-}
-
-@manual{ctan-upmendex,
- title = {The \texttt{upmendex} package},
- subtitle = {Multilingual index processor},
- author = {Takuji Tanaka},
- date = {2023-03-04},
- version = {1.07},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/indexing/upmendex},
- url = {https://ctan.org/pkg/upmendex},
-}
-
-@manual{ctan-upmethodology,
- title = {The \texttt{UPmethodology} package},
- subtitle = {Writing specifications such as for UP-based methodologies},
- author = {Stéphane Galland},
- date = {2022-10-04},
- version = {20221004},
- license = {lgpl3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/upmethodology},
- url = {https://ctan.org/pkg/upmethodology},
-}
-
-@manual{ctan-uppunctlm,
- title = {The \texttt{uppunctlm} package},
- subtitle = {Always keep upright shape for some punctuation marks and Arabic numerals},
- author = {Yuwsuke Kieda},
- date = {2017-04-03},
- version = {0.1},
- license = {gfsl},
- mirror = {https://mirror.ctan.org/fonts/uppunctlm},
- url = {https://ctan.org/pkg/uppunctlm},
-}
-
-@manual{ctan-upquote,
- title = {The \texttt{upquote} package},
- subtitle = {Show "realistic" quotes in verbatim},
- author = {Michael Covington and Frank Mittelbach and Markus Kuhn},
- date = {2016-06-24},
- version = {1.3},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/upquote},
- url = {https://ctan.org/pkg/upquote},
-}
-
-@manual{ctan-upref,
- title = {The \texttt{upref} package},
- subtitle = {Ensure references are upright},
- author = {{The American Mathematical Society}},
- date = {2020-06-01},
- version = {2.04},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/amscls},
- url = {https://ctan.org/pkg/upref},
-}
-
-@manual{ctan-uptex-base,
- title = {The \texttt{uptex-base} package},
- subtitle = {Plain \TeX{} formats and documents for upTeX},
- author = {Kazuki Maeda and Takuji Tanaka and {Japanese \TeX{} Development Community}},
- date = {2023-02-12},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/macros/jptex/generic/uptex-base},
- url = {https://ctan.org/pkg/uptex-base},
- annotation = {The bundle contains plain \TeX{} format files and documents
- for and and e-upTeX.},
-}
-
-@manual{ctan-uptex-fonts,
- title = {The \texttt{uptex-fonts} package},
- subtitle = {Fonts for use with upTeX},
- author = {Kazuki Maeda and {Japanese \TeX{} Development Community} and Takuji Tanaka},
- date = {2023-01-28},
- version = {},
- license = {bsd3},
- mirror = {https://mirror.ctan.org/fonts/uptex-fonts},
- url = {https://ctan.org/pkg/uptex-fonts},
-}
-
-@manual{ctan-uptex,
- title = {The \texttt{uptex} package},
- subtitle = {Unicode version of pTeX},
- author = {Takuji Tanaka},
- date = {2020-08-30},
- license = {other-free},
- url = {https://ctan.org/pkg/uptex},
-}
-
-@manual{ctan-upzhkinsoku,
- title = {The \texttt{upzhkinsoku} package},
- subtitle = {Supplementary Chinese kinsoku for Unicode *pTeX},
- author = {Yue Zhang},
- date = {2018-04-07},
- version = {0.5},
- license = {knuth},
- mirror = {https://mirror.ctan.org/macros/generic/upzhkinsoku},
- url = {https://ctan.org/pkg/upzhkinsoku},
-}
-
-@manual{ctan-urcls,
- title = {The \texttt{urcls} package},
- subtitle = {Beamer and scrlttr2 classes and styles
- for the University of Regensburg},
- author = {Marei Peischl},
- date = {2019-02-01},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/urcls},
- url = {https://ctan.org/pkg/urcls},
-}
-
-@manual{ctan-uri,
- title = {The \texttt{uri} package},
- subtitle = {Hyperlinks for a wide range of URIs},
- author = {Hans-Martin Münch},
- date = {2018-09-06},
- version = {2.0b},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uri},
- url = {https://ctan.org/pkg/uri},
- annotation = {The package provides automatic hyperlinks for URIs of type arXiv,
- ASIN, DOI, HDL, NBN, OCLC, OID, PubMed, TINY, TINY with preview, and
- WebCite and provides commands , ,
- , and .},
-}
-
-@manual{ctan-url,
- title = {The \texttt{url} package},
- subtitle = {Verbatim with URL-sensitive line breaks},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {3.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/url},
- url = {https://ctan.org/pkg/url},
- annotation = {The command is a form of verbatim command that
- allows linebreaks at certain characters or combinations of
- characters, accepts reconfiguration, and can usually be used in
- the argument to another command. (The command
- provides robust commands that serve in cases when
- doesn't work in an argument.) The command is intended for email
- addresses, hypertext links, directories/paths, etc., which
- normally have no spaces, so by default the package ignores spaces
- in its argument. However, a package option “allows
- spaces”, which is useful for operating systems where
- spaces are a common part of file names.},
-}
-
-@manual{ctan-urlbst,
- title = {The \texttt{urlbst} package},
- subtitle = {Web support for BibTeX},
- author = {Norman Gray},
- date = {2023-01-30},
- version = {0.9.1},
- license = {gpl2,lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/urlbst},
- url = {https://ctan.org/pkg/urlbst},
- annotation = {Supports a new BibTeX ‘webpage’ entry type and
- ‘url’, ‘lastchecked’, and
- ‘eprint’ and ‘DOI’ fields. The
- Perl script urlbst can be used to add this support to an arbitrary
- file which has a reasonably conventional structure.
- The result is meant to be robust rather than pretty.},
-}
-
-@manual{ctan-urw-antiqua,
- title = {The \texttt{urw-antiqua} package},
- subtitle = {URW Antiqua condensed font, for use with \TeX{}},
- author = {{URW GmbH} and Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {001.003},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/urw/antiqua},
- url = {https://ctan.org/pkg/urw-antiqua},
-}
-
-@manual{ctan-urw-arial,
- title = {The \texttt{urw-arial} package},
- subtitle = {URW Arial font pack for use with \LaTeX{}},
- author = {{URW GmbH} and Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- version = {},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/urw/arial},
- url = {https://ctan.org/pkg/urw-arial},
-}
-
-@manual{ctan-urw-base35,
- title = {The \texttt{URW-base35} package},
- subtitle = {URW ‘Base 35’ font pack for \LaTeX{}},
- author = {{URW GmbH} and Primoz Peterlin and Walter A. Schmidt},
- date = {2022-10-22},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/urw/base35},
- url = {https://ctan.org/pkg/urw-base35},
-}
-
-@manual{ctan-urw-garamond,
- title = {The \texttt{urw-garamond} package},
- subtitle = {URW Garamond No8 Adobe Type 1 fonts},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/urw/garamond},
- url = {https://ctan.org/pkg/urw-garamond},
-}
-
-@manual{ctan-urw-grotesq,
- title = {The \texttt{URW-Grotesq} package},
- subtitle = {URW Grotesq font pack for \LaTeX{}},
- author = {{URW GmbH} and Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/urw/grotesq},
- url = {https://ctan.org/pkg/urw-grotesq},
-}
-
-@manual{ctan-urw,
- title = {The \texttt{urw} package},
- subtitle = {URW free font support},
- author = {{URW GmbH}},
- date = {2016-06-24},
- license = {collection},
- mirror = {https://mirror.ctan.org/fonts/urw},
- url = {https://ctan.org/pkg/urw},
- annotation = {Fonts, font metrics, and macro support in \LaTeX{}2e, for
- available URW fonts. Fonts provided are:
- – ;
- – ;
- – ;
- – ;
- – ;
- – ; and
- – .},
-}
-
-@manual{ctan-urwchancal,
- title = {The \texttt{urwchancal} package},
- subtitle = {Use URW's clone of Zapf Chancery as a maths alphabet},
- author = {Michael Sharpe},
- date = {2016-06-24},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/urwchancal},
- url = {https://ctan.org/pkg/urwchancal},
-}
-
-@manual{ctan-urwvf,
- title = {The \texttt{urwvf} package},
- subtitle = {Support for use of free URW fonts},
- author = {Tomasz Wierzbicki},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/urwvf},
- url = {https://ctan.org/pkg/urwvf},
-}
-
-@manual{ctan-uscthesis,
- title = {The \texttt{uscthesis} package},
- subtitle = {USC thesis style for \LaTeX{} 2.09},
- author = {Steven Douglas Cochran},
- date = {2016-06-24},
- version = {2.3},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/uscthesis.sty},
- url = {https://ctan.org/pkg/uscthesis},
-}
-
-@manual{ctan-usebib,
- title = {The \texttt{usebib} package},
- subtitle = {A simple bibliography processor},
- author = {Enrico Gregorio},
- date = {2016-06-24},
- version = {1.0a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/usebib},
- url = {https://ctan.org/pkg/usebib},
-}
-
-@manual{ctan-usenix,
- title = {The \texttt{usenix} package},
- subtitle = {Style option to do Usenix conference proceedings},
- author = {Dave Steiner},
- date = {2016-06-24},
- version = {},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/usenix.sty},
- url = {https://ctan.org/pkg/usenix},
- annotation = {This is an option, conforming to rules
- derived from “Instructions for Usenix Authors and
- Speakers”. Unfortunately the package author considered
- some of the details unclear, and was unable to clear up the
- problems for lack of communication with Usenix admin.},
-}
-
-@manual{ctan-ushort,
- title = {The \texttt{ushort} package},
- subtitle = {Shorter (and longer) underlines and underbars},
- author = {Martin Väth},
- date = {2016-06-24},
- version = {2.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ushort},
- url = {https://ctan.org/pkg/ushort},
- annotation = {Some engineers need underlined or twice underlined variables for
- which the usual is too long. This package
- provides a generic command for creating underlines of various
- sizes and types.},
-}
-
-@manual{ctan-ushyph,
- title = {The \texttt{ushyph} package},
- subtitle = {US hyphenation patterns},
- author = {Gerard Kuiken},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/hyphenation/ushyph},
- url = {https://ctan.org/pkg/ushyph},
-}
-
-@manual{ctan-uspace,
- title = {The \texttt{uspace} package},
- subtitle = {Giving meaning to various Unicode space characters},
- author = {Václav Haisman},
- date = {2022-04-24},
- version = {0.05},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uspace},
- url = {https://ctan.org/pkg/uspace},
-}
-
-@manual{ctan-uspatent,
- title = {The \texttt{uspatent} package},
- subtitle = {U.S. Patent Application Tools for \LaTeX{} and LyX},
- author = {Peter J. Pupalaikis},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uspatent},
- url = {https://ctan.org/pkg/uspatent},
-}
-
-@manual{ctan-usrguide,
- title = {The \texttt{usrguide} package},
- subtitle = {User-mode documentation for \LaTeX{}},
- author = {{The \LaTeX{} Project Team}},
- date = {2019-10-04},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/usrguide},
-}
-
-@manual{ctan-ut-backref,
- title = {The \texttt{ut-backref} package},
- subtitle = {Modified backref},
- author = {Sven Utcke},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/ut-backref.sty},
- url = {https://ctan.org/pkg/ut-backref},
- annotation = {A patched version of which
- adds a list of where the reference was cited, to each bibliography
- entry.},
-}
-
-@manual{ctan-ut-thesis,
- title = {The \texttt{ut-thesis} package},
- subtitle = {University of Toronto thesis style},
- author = {François Pitt and Jesse Knight},
- date = {2023-02-09},
- version = {3.1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ut-thesis},
- url = {https://ctan.org/pkg/ut-thesis},
-}
-
-@manual{ctan-utexasthesis,
- title = {The \texttt{utexasthesis} package},
- subtitle = {University of Texas at Austin graduate thesis style},
- author = {Christopher Brown},
- date = {2018-09-14},
- version = {1.0},
- license = {cc0},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/utexasthesis},
- url = {https://ctan.org/pkg/utexasthesis},
- annotation = {This class file complies with the
-
- for Masters and Ph.D. thesis submissions of the University
- of Texas at Austin.},
-}
-
-@manual{ctan-utf2any,
- title = {The \texttt{utf2any} package},
- subtitle = {Converting Unicoded text to \LaTeX{}, HTML, etc},
- author = {Peter Kleiweg},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/utf2any},
- url = {https://ctan.org/pkg/utf2any},
-}
-
-@manual{ctan-utf8add,
- title = {The \texttt{utf8add} package},
- subtitle = {Additional support for UTF-8 encoded \LaTeX{} input},
- author = {Palle Jørgensen},
- date = {2021-11-16},
- version = {},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/utf8add},
- url = {https://ctan.org/pkg/utf8add},
-}
-
-@manual{ctan-utf8mex,
- title = {The \texttt{utf8mex} package},
- subtitle = {Tools to produce formats that read Polish language input},
- author = {Włodek Bzyl and Staszek Wawrykiewicz},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/language/polish/utf8mex},
- url = {https://ctan.org/pkg/utf8mex},
-}
-
-@manual{ctan-utfsym,
- title = {The \texttt{utfsym} package},
- subtitle = {Provides various Unicode symbols},
- author = {Daniel Spittank},
- date = {2022-04-19},
- version = {0.9.0},
- license = {cc0},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/utfsym},
- url = {https://ctan.org/pkg/utfsym},
-}
-
-@manual{ctan-util-half,
- title = {The \texttt{util-half} package},
- subtitle = {A half-tone font},
- author = {{Unknown}},
- date = {2016-07-19},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cm/utilityfonts/half},
- url = {https://ctan.org/pkg/util-half},
-}
-
-@manual{ctan-utopia,
- title = {The \texttt{utopia} package},
- subtitle = {Adobe Utopia fonts},
- author = {{Adobe Systems Incorporated}},
- date = {2018-01-06},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/utopia},
- url = {https://ctan.org/pkg/utopia},
-}
-
-@manual{ctan-utorontothesis,
- title = {The \texttt{utorontothesis} package},
- subtitle = {A thesis class definition for University of Toronto},
- author = {Robert Bernecky},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/utorontothesis},
- url = {https://ctan.org/pkg/utorontothesis},
- annotation = {Probably superseded by .},
-}
-
-@manual{ctan-utthesis,
- title = {The \texttt{utthesis} package},
- subtitle = {Thesis package for the University of Texas at Austin},
- author = {Dinesh Das},
- date = {2016-06-24},
- version = {2.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/utthesis},
- url = {https://ctan.org/pkg/utthesis},
-}
-
-@manual{ctan-uvaletter,
- title = {The \texttt{uvaletter} package},
- subtitle = {Unofficial letterhead template for the University of Amsterdam},
- author = {Michele Piazzai},
- date = {2023-03-04},
- version = {1.1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uvaletter},
- url = {https://ctan.org/pkg/uvaletter},
-}
-
-@manual{ctan-uwa-colours,
- title = {The \texttt{uwa-colours} package},
- subtitle = {The colour palette of The University of Western Australia},
- author = {Anthony Di Pietro},
- date = {2021-09-14},
- version = {1.0.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uwa-colours},
- url = {https://ctan.org/pkg/uwa-colours},
- annotation = {This package uses the
- package to define macros for the colour palette of
- The University of Western Australia.},
-}
-
-@manual{ctan-uwa-letterhead,
- title = {The \texttt{uwa-letterhead} package},
- subtitle = {The letterhead of the University of Western Australia},
- author = {Anthony Di Pietro},
- date = {2021-09-28},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/uwa-letterhead},
- url = {https://ctan.org/pkg/uwa-letterhead},
-}
-
-@manual{ctan-uwa-pcf,
- title = {The \texttt{uwa-pcf} package},
- subtitle = {A Participant Consent Form (PCF) for a human research protocol at the University of Western Australia},
- author = {Anthony Di Pietro},
- date = {2021-09-29},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/uwa-pcf},
- url = {https://ctan.org/pkg/uwa-pcf},
-}
-
-@manual{ctan-uwa-pif,
- title = {The \texttt{uwa-pif} package},
- subtitle = {A Participant Information Form (PIF) for a human research protocol at the University of Western Australia},
- author = {Anthony Di Pietro},
- date = {2021-09-29},
- version = {1.0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/uwa-pif},
- url = {https://ctan.org/pkg/uwa-pif},
-}
-
-@manual{ctan-uwmslide,
- title = {The \texttt{uwmslide} package},
- subtitle = {Slides with a simple Power Point like appearance},
- author = {Eric Benedict},
- date = {2018-01-06},
- version = {},
- license = {artistic},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uwmslide},
- url = {https://ctan.org/pkg/uwmslide},
-}
-
-@manual{ctan-uwthesis,
- title = {The \texttt{uwthesis} package},
- subtitle = {University of Washington thesis class},
- author = {Jim Fox},
- date = {2016-06-18},
- version = {6.13},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/uwthesis},
- url = {https://ctan.org/pkg/uwthesis},
-}
-
-@manual{ctan-uwthesis209,
- title = {The \texttt{uwthesis209} package},
- subtitle = {\LaTeX{} 2.09 style for University of Washington theses},
- author = {Jim Fox},
- date = {2016-06-24},
- version = {1.5},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/uw-thesis},
- url = {https://ctan.org/pkg/uwthesis209},
-}
-
-@manual{ctan-va,
- title = {The \texttt{va} package},
- subtitle = {Handwriting fonts},
- author = {Berthold Ludewig},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/va},
- url = {https://ctan.org/pkg/va},
- annotation = {Two fonts, va14 and vacal14, provided as Metafont source. The
- distribution includes a \LaTeX{} .fd file, and full macro support for
- use with \LaTeX{} is available in the
- bundle.},
-}
-
-@manual{ctan-vak,
- title = {The \texttt{vak} package},
- subtitle = {BibTeX style for Russian Theses, books, etc},
- author = {Vitaly G. Melnikov},
- date = {2022-09-15},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/vak},
- url = {https://ctan.org/pkg/vak},
-}
-
-@manual{ctan-vancouver,
- title = {The \texttt{Vancouver} package},
- subtitle = {Bibliographic style file for Biomedical Journals},
- author = {Folkert van der Beek},
- date = {2021-05-13},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/vancouver},
- url = {https://ctan.org/pkg/vancouver},
- annotation = {This BibTeX style file is generated with the docstrip utility and
- modified manually to meet the as published in
- N Engl J Med 1997;336:309-315 (also known as the Vancouver
- style). The complete set of requirements may be viewed on the
- web site.},
-}
-
-@manual{ctan-variablelm,
- title = {The \texttt{variablelm} package},
- subtitle = {Font definitions for the variable Latin Modern fonts},
- author = {Yuwsuke Kieda},
- date = {2021-07-22},
- version = {1.2},
- license = {gfl},
- mirror = {https://mirror.ctan.org/fonts/variablelm},
- url = {https://ctan.org/pkg/variablelm},
-}
-
-@manual{ctan-variations,
- title = {The \texttt{variations} package},
- subtitle = {Typeset tables of variations of functions},
- author = {Christian Obrecht},
- date = {2016-06-24},
- version = {0.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/variations},
- url = {https://ctan.org/pkg/variations},
-}
-
-@manual{ctan-varindent,
- title = {The \texttt{varindent} package},
- subtitle = {Make paragraph indentation match the length of the line above},
- author = {Donald Arseneau},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/varindent.tex},
- url = {https://ctan.org/pkg/varindent},
- annotation = {The package will cause paragraphs to indent to the same position
- as the end of the last line of the previous paragraph, unless the
- resulting position would take you to within
- of the end of the line.},
-}
-
-@manual{ctan-varindex,
- title = {The \texttt{varindex} package},
- subtitle = {Luxury frontend to the \textbackslash{}index command},
- author = {Martin Väth},
- date = {2016-06-24},
- version = {2.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/varindex},
- url = {https://ctan.org/pkg/varindex},
- annotation = {Provides a convenient front-end for the
- command. For example, with it you can generate multiple index
- entries in almost any form by a single command. The package is
- highly customizable, and works with all versions of \LaTeX{} and
- probably most other \TeX{} formats.},
-}
-
-@manual{ctan-varioref,
- title = {The \texttt{varioref} package},
- subtitle = {Intelligent page references},
- author = {Frank Mittelbach},
- date = {2022-06-08},
- version = {1.6f},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/varioref},
-}
-
-@manual{ctan-varisize,
- title = {The \texttt{varisize} package},
- subtitle = {Change font size in Plain \TeX{}},
- author = {Don Hosek},
- date = {2016-06-24},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/varisize},
- url = {https://ctan.org/pkg/varisize},
- annotation = {A series of files, each of which defines a size-change macro.
- Note that is by convention called by one of
- the other files, so that there's always a “way
- back”.},
-}
-
-@manual{ctan-varsects,
- title = {The \texttt{varsects} package},
- subtitle = {A simple package for controlling headings},
- author = {Daniel Taupin},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/taupin/varsects.sty},
- url = {https://ctan.org/pkg/varsects},
-}
-
-@manual{ctan-varsfromjobname,
- title = {The \texttt{varsfromjobname} package},
- subtitle = {Extract variables from the name of the \LaTeX{} file},
- author = {Uwe Ziegenhagen},
- date = {2017-05-01},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/varsfromjobname},
- url = {https://ctan.org/pkg/varsfromjobname},
-}
-
-@manual{ctan-varwidth,
- title = {The \texttt{varwidth} package},
- subtitle = {A variable-width minipage},
- author = {Donald Arseneau},
- date = {2018-01-06},
- version = {0.92},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/varwidth},
- url = {https://ctan.org/pkg/varwidth},
-}
-
-@manual{ctan-vaucanson-g,
- title = {The \texttt{vaucanson-g} package},
- subtitle = {PSTricks macros for drawing automata},
- author = {Sylvain Lombardy and Jacques Sakarovitch},
- date = {2018-09-15},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/vaucanson-g},
- url = {https://ctan.org/pkg/vaucanson-g},
- annotation = {VauCanSon-G is a package that enables the user to draw automata
- within texts written using \LaTeX{}. The package macros make use of
- commands of .},
-}
-
-@manual{ctan-vc,
- title = {The \texttt{vc} package},
- subtitle = {The vc (version control) bundle},
- author = {Stephan Hennig and Roland Hieber},
- date = {2018-06-11},
- version = {0.6},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/vc},
- url = {https://ctan.org/pkg/vc},
-}
-
-@manual{ctan-vcell,
- title = {The \texttt{vcell} package},
- subtitle = {Vertical alignment of content inside table cells},
- author = {Xavier Dionne},
- date = {2021-05-01},
- version = {1.0.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vcell},
- url = {https://ctan.org/pkg/vcell},
-}
-
-@manual{ctan-vdm,
- title = {The \texttt{vdm} package},
- subtitle = {Typesetting VDM schemas},
- author = {Mario Wolczko},
- date = {2016-06-24},
- version = {4.00},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vdm},
- url = {https://ctan.org/pkg/vdm},
-}
-
-@manual{ctan-vdmlisting,
- title = {The \texttt{vdmlisting} package},
- subtitle = {Typesetting VDM in ASCII syntax},
- author = {Kenneth Lausdahl},
- date = {2020-11-10},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vdmlisting},
- url = {https://ctan.org/pkg/vdmlisting},
- annotation = {The package is an extension for the
- package that provides a source code printer for \LaTeX{}.
- This package defines new language definitions and listing
- environments for the three language dialects of the
- Vienna Development Method: VDM-SL, VDM-PP and VDM-RT.
- If one wants to typeset VDM with a mathematical syntax instead of the
- ASCII syntax used here one should use the
- pacakge instead},
-}
-
-@manual{ctan-vector,
- title = {The \texttt{vector} package},
- subtitle = {\LaTeX{} macros for vectors},
- author = {Nick Efford},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vector},
- url = {https://ctan.org/pkg/vector},
-}
-
-@manual{ctan-venn,
- title = {The \texttt{venn} package},
- subtitle = {Creating Venn diagrams with MetaPost},
- author = {Jim Hefferon},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/venn},
- url = {https://ctan.org/pkg/venn},
-}
-
-@manual{ctan-venndiagram,
- title = {The \texttt{venndiagram} package},
- subtitle = {Creating Venn diagrams with TikZ},
- author = {Nicola Talbot},
- date = {2018-06-07},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/venndiagram},
- url = {https://ctan.org/pkg/venndiagram},
-}
-
-@manual{ctan-venturisadf,
- title = {The \texttt{venturisADF} package},
- subtitle = {Venturis ADF fonts collection},
- author = {Hirwen Harendal and Clea F. Rees},
- date = {2017-04-18},
- version = {1.005},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/venturisadf},
- url = {https://ctan.org/pkg/venturisadf},
- annotation = {Serif and sans serif complete text font families, in both Adobe Type 1
- and OpenType formats for publication. The family is based on
- Utopia family, and has been modified and developed by the Arkandis
- Digital foundry. Support for using the fonts, in \LaTeX{}, is also
- provided (and makes use of the
- package).},
-}
-
-@manual{ctan-verbasef,
- title = {The \texttt{verbasef} package},
- subtitle = {VERBatim Automatic Splitting of External Files},
- author = {Paul A. Thompson},
- date = {2020-03-09},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verbasef},
- url = {https://ctan.org/pkg/verbasef},
-}
-
-@manual{ctan-verbatim-gen,
- title = {The \texttt{verbatim-gen} package},
- subtitle = {Generic macros for setting text verbatim},
- author = {Philip Taylor},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/verbatim.tex},
- url = {https://ctan.org/pkg/verbatim-gen},
- annotation = {Defines a verbatim ‘environment’ — one types
- .
- “Short-form” versions used as
- or
- are provided for small chunks of text.},
-}
-
-@manual{ctan-verbatim-pln,
- title = {The \texttt{verbatim-pln} package},
- subtitle = {Define new verbatim "environments" in Plain \TeX{}},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/verbatim.tex},
- url = {https://ctan.org/pkg/verbatim-pln},
-}
-
-@manual{ctan-verbatim-tub,
- title = {The \texttt{verbatim-tub} package},
- subtitle = {Plain \TeX{} macros for verbatim},
- author = {Barbara Beeton},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/verbatim.mac},
- url = {https://ctan.org/pkg/verbatim-tub},
-}
-
-@manual{ctan-verbatim,
- title = {The \texttt{verbatim} package},
- subtitle = {Reimplementation of and extensions to \LaTeX{} verbatim},
- author = {Rainer Schöpf and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.5u},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/verbatim},
-}
-
-@manual{ctan-verbatimbox,
- title = {The \texttt{verbatimbox} package},
- subtitle = {Deposit verbatim text in a box},
- author = {Steven B. Segletes},
- date = {2016-06-24},
- version = {3.13},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verbatimbox},
- url = {https://ctan.org/pkg/verbatimbox},
-}
-
-@manual{ctan-verbatimcopy,
- title = {The \texttt{verbatimcopy} package},
- subtitle = {Make copies of text documents from within \LaTeX{}},
- author = {Lars Madsen and Ulrich Diez},
- date = {2016-06-24},
- version = {0.06},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verbatimcopy},
- url = {https://ctan.org/pkg/verbatimcopy},
-}
-
-@manual{ctan-verbdef,
- title = {The \texttt{verbdef} package},
- subtitle = {Define commands which expand to verbatim text},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verbdef},
- url = {https://ctan.org/pkg/verbdef},
- annotation = {The package defines a single command (which
- has a *-form, like ). will
- define a robust command whose body expands to verbatim text. By
- using commands defined by , one can put
- verbatim text into the arguments of commands; since the defined
- command is robust, it doesn't matter if the argument is moving.
- (Full details of syntax and caveats about use are in comments in
- the file itself.)},
-}
-
-@manual{ctan-verbinp,
- title = {The \texttt{verbinp} package},
- subtitle = {"8-bit" verbatim},
- author = {Rainer Perske},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/verbinp.sty},
- url = {https://ctan.org/pkg/verbinp},
- annotation = {In the days before the advent of \LaTeX{} 2e, and of the
- package, this package
- enabled the use of ISO 8859-1 coded verbatim input through a
- command.},
-}
-
-@manual{ctan-verbments,
- title = {The \texttt{verbments} package},
- subtitle = {Syntax highlighting of source code in \LaTeX{} documents},
- author = {Dejan Zivković},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verbments},
- url = {https://ctan.org/pkg/verbments},
-}
-
-@manual{ctan-verbtext,
- title = {The \texttt{verbtext} package},
- subtitle = {Verbatim, interpreting non-ascii text},
- author = {Rainer Perske},
- date = {2016-06-24},
- version = {},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/verbtext},
- url = {https://ctan.org/pkg/verbtext},
- annotation = {The package provides common verbatim facilities (inline text and
- text input from a file), and is set up to interpret other than
- plain ASCII text (specifically ISO 8859-1 and Microsoft code pages
- 437 and 850); nothing more than the font family is needed.},
-}
-
-@manual{ctan-verbtim2,
- title = {The \texttt{verbtim2} package},
- subtitle = {Verbatim listings in Plain \TeX{}},
- author = {Tim Morgan},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/verbtim2.tex},
- url = {https://ctan.org/pkg/verbtim2},
-}
-
-@manual{ctan-verdana,
- title = {The \texttt{verdana} package},
- subtitle = {Macros and metrics for using Verdana with \LaTeX{}},
- author = {Walter Daems},
- date = {2021-09-11},
- version = {1.2b},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/verdana},
- url = {https://ctan.org/pkg/verdana},
-}
-
-@manual{ctan-verifica,
- title = {The \texttt{verifica} package},
- subtitle = {Typeset (Italian high school) exercises},
- author = {Riccardo Dossena},
- date = {2020-10-10},
- version = {1.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verifica},
- url = {https://ctan.org/pkg/verifica},
-}
-
-@manual{ctan-verifiche,
- title = {The \texttt{verifiche} package},
- subtitle = {A \LaTeX{} package to typeset (Italian) high school tests},
- author = {Francesco Raccanello},
- date = {2022-09-17},
- version = {6.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verifiche},
- url = {https://ctan.org/pkg/verifiche},
-}
-
-@manual{ctan-verse,
- title = {The \texttt{verse} package},
- subtitle = {Aids for typesetting simple verse},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {2.4b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/verse},
- url = {https://ctan.org/pkg/verse},
-}
-
-@manual{ctan-version,
- title = {The \texttt{version} package},
- subtitle = {Conditionally include text},
- author = {Stephen Bellantoni and Donald Arseneau},
- date = {2016-06-24},
- version = {2.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/version},
- url = {https://ctan.org/pkg/version},
-}
-
-@manual{ctan-versions,
- title = {The \texttt{versions} package},
- subtitle = {Optionally omit pieces of text},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.55},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/versions},
- url = {https://ctan.org/pkg/versions},
- annotation = {Stephan Bellantoni’s has
- provided preamble commands for selecting environments to be
- included/excluded. This package does the same, but corrects,
- improves, and extends it in both implementation and
- function.},
-}
-
-@manual{ctan-versonotes,
- title = {The \texttt{versonotes} package},
- subtitle = {Display brief notes on verso pages},
- author = {Norman Gray},
- date = {2020-07-01},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/versonotes},
- url = {https://ctan.org/pkg/versonotes},
-}
-
-@manual{ctan-vertbars,
- title = {The \texttt{vertbars} package},
- subtitle = {Mark vertical rules in margin of text},
- author = {Will Robertson and Peter R. Wilson},
- date = {2018-12-16},
- version = {1.0c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vertbars},
- url = {https://ctan.org/pkg/vertbars},
- annotation = {This package is an extension to
- , replacing that package’s line
- numbers with bars to the left or right of the text.},
-}
-
-@manual{ctan-vertex,
- title = {The \texttt{vertex} package},
- subtitle = {Styles for economics working papers and journals},
- author = {Hal Varian},
- date = {2019-06-21},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/vertex},
- url = {https://ctan.org/pkg/vertex},
-}
-
-@manual{ctan-vf-howto,
- title = {The \texttt{vf-howto} package},
- subtitle = {Tutorial on creating virtual fonts},
- author = {Thomas A. Schmitz},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/virtualfontshowto},
- url = {https://ctan.org/pkg/vf-howto},
-}
-
-@manual{ctan-vf-knuth,
- title = {The \texttt{vf-knuth} package},
- subtitle = {Knuth on virtual fonts},
- author = {Donald E. Knuth},
- date = {2021-08-26},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/info/knuth/virtual-fonts},
- url = {https://ctan.org/pkg/vf-knuth},
-}
-
-@manual{ctan-vfcomb,
- title = {The \texttt{vfcomb} package},
- subtitle = {VF author support},
- author = {Alexander Berdnikov},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/systems/msdos/utilities/vfcomb},
- url = {https://ctan.org/pkg/vfcomb},
-}
-
-@manual{ctan-vfinst,
- title = {The \texttt{vfinst} package},
- subtitle = {Virtual font installation support},
- author = {Alan Hoenig},
- date = {2016-06-24},
- version = {0.8},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/utilities/vfinst},
- url = {https://ctan.org/pkg/vfinst},
- annotation = {A set of scripts and Perl files which aim to make the installation
- of families of PostScript fonts and creation of necessary virtual
- fonts and outline fonts ‘virtually’ automatic.
- The scripts use .},
-}
-
-@manual{ctan-vfware,
- title = {The \texttt{vfware} package},
- subtitle = {Tools for virtual font metrics},
- author = {Donald E. Knuth},
- date = {2021-08-26},
- version = {},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/etc},
- url = {https://ctan.org/pkg/vfware},
-}
-
-@manual{ctan-vgrid,
- title = {The \texttt{vgrid} package},
- subtitle = {Overlay a grid on the printed page},
- author = {Scott Lawrence},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vgrid},
- url = {https://ctan.org/pkg/vgrid},
- annotation = {The package overlays a grid (whose spacing is
- , which offers guidlines for considering the
- “rhythm” of the document on the page.},
-}
-
-@manual{ctan-vhistory,
- title = {The \texttt{vhistory} package},
- subtitle = {Support for creating a change log},
- author = {Jochen Wertenauer},
- date = {2021-08-02},
- version = {1.8.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vhistory},
- url = {https://ctan.org/pkg/vhistory},
-}
-
-@manual{ctan-vicentino,
- title = {The \texttt{vicentino} package},
- subtitle = {Vicentino fonts},
- author = {Willibald Kraml and James Kilfiger},
- date = {2016-06-24},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/fonts/vicentino},
- url = {https://ctan.org/pkg/vicentino},
-}
-
-@manual{ctan-vietnet,
- title = {The \texttt{vietnet} package},
- subtitle = {Preprocessor and macros for Vietnamese},
- author = {Tony Tran},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/vietnamese/vietnet},
- url = {https://ctan.org/pkg/vietnet},
- annotation = {VNTeX is a preprocessor (written in C) that translates Vietnamese
- text, written according to a specific set of rules, into \TeX{}.
- VNTeX takes an file and creates a corresponding
- file, together with a file of supporting macros.},
-}
-
-@manual{ctan-viiptart,
- title = {The \texttt{viiptart} package},
- subtitle = {7pt-article class},
- author = {Moshe Zadka},
- date = {2016-06-24},
- version = {0.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/viiptart},
- url = {https://ctan.org/pkg/viiptart},
- annotation = {An article-like document class whose is 7pt
- rather than 10pt.},
-}
-
-@manual{ctan-viking,
- title = {The \texttt{viking} package},
- subtitle = {Scandinavian runic alphabet as used by the Vikings},
- author = {Uwe Zimmermann},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/archaic/viking},
- url = {https://ctan.org/pkg/viking},
-}
-
-@manual{ctan-vispeech,
- title = {The \texttt{vispeech} package},
- subtitle = {Using Bell's Visible Speech alphabet},
- author = {Mark Shoulson},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/language/vispeech},
- url = {https://ctan.org/pkg/vispeech},
-}
-
-@manual{ctan-visualfaq-fr,
- title = {The \texttt{visualFAQ-fr} package},
- subtitle = {FAQ \LaTeX{} visuelle francophone},
- author = {Jérémy Just},
- date = {2022-01-03},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/visualfaq-fr},
- url = {https://ctan.org/pkg/visualfaq-fr},
-}
-
-@manual{ctan-visualfaq,
- title = {The \texttt{visualFAQ} package},
- subtitle = {A Visual \LaTeX{} FAQ},
- author = {Scott Pakin},
- date = {2021-08-19},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/visualfaq},
- url = {https://ctan.org/pkg/visualfaq},
- annotation = {Having trouble finding the answer to a \LaTeX{} question? The Visual
- \LaTeX{} FAQ is an innovative new search interface that presents over
- a hundred typeset samples of frequently requested document
- formatting. Simply click on a hyperlinked piece of text and the
- Visual \LaTeX{} FAQ will send your Web browser to the appropriate
- page in the .},
-}
-
-@manual{ctan-visualpstricks,
- title = {The \texttt{VisualPSTricks} package},
- subtitle = {Visual help for PSTricks based on images with minimum text},
- author = {Jean Pierre Casteleyn},
- date = {2016-10-27},
- version = {2.3},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/visualpstricks},
- url = {https://ctan.org/pkg/visualpstricks},
-}
-
-@manual{ctan-visualtex,
- title = {The \texttt{visualtex} package},
- subtitle = {A \TeX{}-oriented visual editor for Windows platforms},
- author = {Alex Romanenko},
- date = {2017-04-18},
- version = {3.99},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/win32/visualtex},
- url = {https://ctan.org/pkg/visualtex},
-}
-
-@manual{ctan-visualtikz,
- title = {The \texttt{VisualTikZ} package},
- subtitle = {Visual help for TikZ based on images with minimum text},
- author = {Jean Pierre Casteleyn},
- date = {2019-05-31},
- version = {0.65},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/info/visualtikz},
- url = {https://ctan.org/pkg/visualtikz},
-}
-
-@manual{ctan-vita,
- title = {The \texttt{vita} package},
- subtitle = {Configurable class for curricula vitarum},
- author = {Andrej Brodnik},
- date = {2019-06-21},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vita},
- url = {https://ctan.org/pkg/vita},
-}
-
-@manual{ctan-vita209,
- title = {The \texttt{vita209} package},
- subtitle = {A Curriculum Vitae style},
- author = {Kim C Border},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/vita.sty},
- url = {https://ctan.org/pkg/vita209},
-}
-
-@manual{ctan-vmargin,
- title = {The \texttt{vmargin} package},
- subtitle = {Set various page dimensions},
- author = {Volker Kuhlmann},
- date = {2018-01-06},
- version = {2.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vmargin},
- url = {https://ctan.org/pkg/vmargin},
- annotation = {Provides a macro to set various margins as well as dimensions
- for header/footer and page dimensions. Most common paper sizes,
- paper orientation, disabling of headers and footers, and two
- sided printing are supported. The vmargin package does not rely
- on other packages and was designed with speed and size in
- mind. Its user interface might not be very fancy, but it's fast,
- small, and gets the job done. If you are looking for something
- more elaborate try the
- package.},
-}
-
-@manual{ctan-vmspell,
- title = {The \texttt{vmspell} package},
- subtitle = {A spell-checker for VMS systems},
- author = {Robin Fairbairns and David Carlisle},
- date = {2018-09-15},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/vmspell},
- url = {https://ctan.org/pkg/vmspell},
-}
-
-@manual{ctan-vmsps,
- title = {The \texttt{vmsps} package},
- subtitle = {Metrics for using Type 1 fonts available in VMS},
- author = {Jörg Knappen},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/psnfss-addons/vmsps},
- url = {https://ctan.org/pkg/vmsps},
-}
-
-@manual{ctan-vntex-nonfree,
- title = {The \texttt{vntex-nonfree} package},
- subtitle = {URW Classico and URW Garamond extended for Vietnamese},
- author = {Reinhard Kotucha},
- date = {2022-03-12},
- version = {3.2.2},
- license = {nosell},
- mirror = {https://mirror.ctan.org/fonts/vntex-nonfree},
- url = {https://ctan.org/pkg/vntex-nonfree},
- annotation = {This package contains URW Classico and URW Garamond No.8 fonts
- extended for Vietnamese. It can be installed with
- .},
-}
-
-@manual{ctan-vntex,
- title = {The \texttt{vntex} package},
- subtitle = {Support for Vietnamese},
- author = {Hàn Thế Thành and Werner Lemberg and Reinhard Kotucha},
- date = {2022-03-14},
- version = {3.2.2},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/vietnamese/vntex},
- url = {https://ctan.org/pkg/vntex},
-}
-
-@manual{ctan-vocaltract,
- title = {The \texttt{vocaltract} package},
- subtitle = {Visualise the vocal tract using \LaTeX{} and PSTricks},
- author = {Dimitrios Ververidis},
- date = {2018-09-15},
- version = {1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/vocaltract},
- url = {https://ctan.org/pkg/vocaltract},
-}
-
-@manual{ctan-volumes,
- title = {The \texttt{volumes} package},
- subtitle = {Typeset only parts of a document, with complete indexes etc},
- author = {Frank Küster},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/volumes},
- url = {https://ctan.org/pkg/volumes},
-}
-
-@manual{ctan-voss-mathcol,
- title = {The \texttt{voss-mathcol} package},
- subtitle = {Typesetting mathematics in colour, in (La)TeX},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/info/math/voss/mathCol},
- url = {https://ctan.org/pkg/voss-mathcol},
-}
-
-@manual{ctan-voss-mathmode,
- title = {The \texttt{voss-mathmode} package},
- subtitle = {A comprehensive review of mathematics in (La)TeX},
- author = {Herbert Voß},
- date = {2018-01-06},
- version = {2.47},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/info/math/voss/mathmode},
- url = {https://ctan.org/pkg/voss-mathmode},
-}
-
-@manual{ctan-vowel,
- title = {The \texttt{vowel} package},
- subtitle = {Draw vowel charts for phonetic research},
- author = {Fukui Rei},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/fonts/tipa/tipa-1.3/sty/vowel.sty},
- url = {https://ctan.org/pkg/vowel},
-}
-
-@manual{ctan-vpage,
- title = {The \texttt{vpage} package},
- subtitle = {Set page sizes},
- author = {Volker Kuhlmann},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/misc/vpage.sty},
- url = {https://ctan.org/pkg/vpage},
- annotation = {Set page sizes for many different pages. This package is now superceded
- by .},
-}
-
-@manual{ctan-vpe,
- title = {The \texttt{vpe} package},
- subtitle = {Source specials for PDF output},
- author = {Heiko Oberdiek},
- date = {2016-06-24},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vpe},
- url = {https://ctan.org/pkg/vpe},
-}
-
-@manual{ctan-vplutils,
- title = {The \texttt{vplutils} package},
- subtitle = {Manipulate (virtual) property lists},
- author = {Angus Duggan},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/utilities/vplutils},
- url = {https://ctan.org/pkg/vplutils},
- annotation = {The first two of a planned suite of tools, these are Perl
- scripts:
- – makevpl, which merges PL and VPL files, creating a VPL
- file, and
- – spacevpl, which alters the spacing in a PL or VPL file.},
-}
-
-@manual{ctan-vpp,
- title = {The \texttt{vpp} package},
- subtitle = {View and (selectively) Print PDF and PostScript},
- author = {Wybo H. Dekker},
- date = {2018-04-04},
- version = {3.07},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/view_print_ps_pdf},
- url = {https://ctan.org/pkg/vpp},
- annotation = {is a Bash script that displays a PDF or PostScript
- document (after conversion to PDF). The user can use the viewer
- to print the document or, alternatively, leave the viewer and
- use ’s facilities to print selected pages to a one-
- or two-sided hardcopy or an A5-booklet: see the section /Page
- selection and other commands/ for the details. Instead of
- printing your selections, you can also save them into PDF files.},
-}
-
-@manual{ctan-vrb,
- title = {The \texttt{vrb} package},
- subtitle = {Verbatim macros in plain \TeX{}},
- author = {Kees van der Laan},
- date = {2016-06-24},
- version = {1.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/vrb},
- url = {https://ctan.org/pkg/vrb},
- annotation = {A self-contained set of verbatim macros, providing both block
- () and in-line ()
- verbatim constructs. Can also support line-numbering of verbatim
- blocks and verbatim file inclusion.},
-}
-
-@manual{ctan-vrbexin,
- title = {The \texttt{vrbexin} package},
- subtitle = {Verbatim input support},
- author = {Paul A. Thompson},
- date = {2016-06-24},
- version = {1.0b},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/misc/vrbexin.sty},
- url = {https://ctan.org/pkg/vrbexin},
- annotation = {The package provides interface functions for
- to access the facilities of
- the package.},
-}
-
-@manual{ctan-vrsion,
- title = {The \texttt{vrsion} package},
- subtitle = {Add version number to a DVI file},
- author = {Mats Dahlgren},
- date = {2019-06-21},
- version = {1.5.a},
- license = {nosell},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vrsion},
- url = {https://ctan.org/pkg/vrsion},
-}
-
-@manual{ctan-vruler,
- title = {The \texttt{vruler} package},
- subtitle = {Numbering text},
- author = {Zhuhan Jiang},
- date = {2016-06-24},
- version = {2.3},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vruler},
- url = {https://ctan.org/pkg/vruler},
-}
-
-@manual{ctan-vslitex,
- title = {The \texttt{VSliTeX} package},
- subtitle = {Virtual invisible fonts for use with \LaTeX{} Slides class},
- author = {Armin Koellner},
- date = {2016-06-24},
- version = {0.4},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/vf-files/vslitex},
- url = {https://ctan.org/pkg/vslitex},
- annotation = {The \LaTeX{} 2.09-based program SliTeX, and the corresponding \LaTeX{}
- class, use invisible fonts when
- producing multi-coloured overlays on foils. SliTeX distributions
- included a set of invisible versions of the Metafont sources of
- the Computer Modern fonts (an odd concept, but it worked). The
- present bundle provides a (somewhat more intellectually
- satisfying) set of virtual fonts that provide the same information
- (i.e., effectively metrics only) without the need to compile a
- Metafont source to get it.},
-}
-
-@manual{ctan-vtable,
- title = {The \texttt{vtable} package},
- subtitle = {Vertical alignement of table cells},
- author = {Robert Paciorek},
- date = {2019-05-16},
- version = {1.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vtable},
- url = {https://ctan.org/pkg/vtable},
- annotation = {The package allows vertical alignement of table cell by providing:},
-}
-
-@manual{ctan-vtex-free,
- title = {The \texttt{VTeX/Free} package},
- subtitle = {TeX system and PDF support for Linux and OS/2},
- author = {{MicroPress}},
- date = {2022-01-28},
- version = {8.46},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/systems/vtex},
- url = {https://ctan.org/pkg/vtex-free},
-}
-
-@manual{ctan-vutex,
- title = {The \texttt{vutex} package},
- subtitle = {View \TeX{} output on an ASCII-only terminal},
- author = {Warren Wolfe},
- date = {2016-06-24},
- version = {1.02},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/dviware/vutex},
- url = {https://ctan.org/pkg/vutex},
-}
-
-@manual{ctan-vvcode,
- title = {The \texttt{vvcode} package},
- subtitle = {Reliable encoder for binary files via email},
- author = {Niel Kempson},
- date = {2016-06-24},
- version = {1.00},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/vvcode},
- url = {https://ctan.org/pkg/vvcode},
-}
-
-@manual{ctan-vwcol,
- title = {The \texttt{vwcol} package},
- subtitle = {Variable-width multiple text columns},
- author = {Will Robertson},
- date = {2018-01-06},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/vwcol},
- url = {https://ctan.org/pkg/vwcol},
- annotation = {The package provides a crude environment () for
- typesetting multicolumn paragraph text of various column widths on
- a single page.},
-}
-
-@manual{ctan-vxu,
- title = {The \texttt{vxu} package},
- subtitle = {Document classes for Vaxjo University},
- author = {Robert Nyqvist},
- date = {2016-06-24},
- version = {3.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/vxu},
- url = {https://ctan.org/pkg/vxu},
-}
-
-@manual{ctan-w-a-schmidt,
- title = {The \texttt{w-a-schmidt} package},
- subtitle = {A collection of metrics for commercial fonts},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2021-12-07},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/w-a-schmidt},
- url = {https://ctan.org/pkg/w-a-schmidt},
-}
-
-@manual{ctan-w32tex,
- title = {The \texttt{w32tex} package},
- subtitle = {A comprehensive \TeX{} system for Windows},
- author = {Akira Kakuto},
- date = {2021-09-15},
- version = {},
- license = {other-free},
- url = {https://ctan.org/pkg/w32tex},
- annotation = {A Japanese-oriented (full) \TeX{} distribution, which provides the
- basis of the Windows \TeX{} offered by
- .},
-}
-
-@manual{ctan-wadalab,
- title = {The \texttt{wadalab} package},
- subtitle = {Wadalab (Japanese) font packages},
- author = {Werner Lemberg},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/wadalab},
- url = {https://ctan.org/pkg/wadalab},
-}
-
-@manual{ctan-wallcalendar,
- title = {The \texttt{wallcalendar} package},
- subtitle = {A wall calendar class with custom layouts},
- author = {Gambhīro Bhikkhu},
- date = {2017-10-22},
- version = {1.3.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/wallcalendar},
- url = {https://ctan.org/pkg/wallcalendar},
-}
-
-@manual{ctan-wallpaper,
- title = {The \texttt{wallpaper} package},
- subtitle = {Easy addition of wallpapers (background images) to \LaTeX{} documents, including tiling},
- author = {Michael Wilkinson},
- date = {2016-06-24},
- version = {1.10},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wallpaper},
- url = {https://ctan.org/pkg/wallpaper},
- annotation = {This collection contains files to add wallpapers (background
- images) to \LaTeX{} documents. It uses the
- package,
- but provides simple commands to include effects such as tiling.
- An example is provided, which works under both \LaTeX{} and
- pdfLaTeX.},
-}
-
-@manual{ctan-wargame,
- title = {The \texttt{wargame} package},
- subtitle = {A \LaTeX{} package to prepare hex'n'counter wargames},
- author = {Christian Holm Christensen},
- date = {2022-10-07},
- version = {0.3.2},
- license = {cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wargame},
- url = {https://ctan.org/pkg/wargame},
-}
-
-@manual{ctan-warning,
- title = {The \texttt{warning} package},
- subtitle = {Global warnings at the end of the logfile},
- author = {Harald Harders},
- date = {2019-03-12},
- version = {0.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/warning},
- url = {https://ctan.org/pkg/warning},
-}
-
-@manual{ctan-warpcol,
- title = {The \texttt{warpcol} package},
- subtitle = {Relative alignment of rows in numeric columns in tabulars},
- author = {Wayne A. Rochester},
- date = {2016-06-24},
- version = {1.0c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/warpcol},
- url = {https://ctan.org/pkg/warpcol},
- annotation = {Defines a tabular column type for formatting numerical
- columns in \LaTeX{}. The column type enables numerical items
- to be right justified relative to each other, while centred
- beneath the column label. In addition, macros are provided to
- enable variations on this column type to be defined. Usage
- of the package is superficially similar to that of ; however, the alignment
- scheme is different, and the packages have different, though
- overlapping, applications.},
-}
-
-@manual{ctan-was,
- title = {The \texttt{was} package},
- subtitle = {A collection of small packages by Walter Schmidt},
- author = {Walter A. Schmidt and Keiran Harcombe},
- date = {2022-10-12},
- license = {collection},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/was},
- url = {https://ctan.org/pkg/was},
-}
-
-@manual{ctan-wasy-type1,
- title = {The \texttt{wasy-type1} package},
- subtitle = {Type 1 versions of wasy fonts},
- author = {Taco Hoekwater and Michael Sharpe},
- date = {2020-01-24},
- version = {001.002},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/wasy-type1},
- url = {https://ctan.org/pkg/wasy-type1},
- annotation = {Converted (Adobe Type 1) outlines of the
- fonts.},
-}
-
-@manual{ctan-wasy,
- title = {The \texttt{wasy} package},
- subtitle = {The wasy fonts (Waldi symbol fonts)},
- author = {Roland Waldi},
- date = {2020-01-24},
- version = {2.5},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/wasy},
- url = {https://ctan.org/pkg/wasy},
-}
-
-@manual{ctan-wasysym,
- title = {The \texttt{wasysym} package},
- subtitle = {\LaTeX{} support for the wasy fonts},
- author = {Axel Kielhorn},
- date = {2020-02-02},
- version = {2.4},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wasysym},
- url = {https://ctan.org/pkg/wasysym},
- annotation = {The (Waldi Symbol) font by Roland
- Waldi provides many glyphs like male and female symbols and
- astronomical symbols, as well as the complete lasy font set and
- other odds and ends. This package implements an easy to use
- interface for these symbols.},
-}
-
-@manual{ctan-watermark,
- title = {The \texttt{watermark} package},
- subtitle = {Draw “watermarks” on the output page},
- author = {Alexander I. Rozhenko},
- date = {2018-07-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools},
- url = {https://ctan.org/pkg/watermark},
-}
-
-@manual{ctan-weave,
- title = {The \texttt{weave} package},
- subtitle = {Generate \TeX{} source from web},
- author = {Donald E. Knuth},
- date = {2021-02-09},
- version = {4.5},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/web/weave.web},
- url = {https://ctan.org/pkg/weave},
- annotation = {This is the component of Knuth’s
- that
- produces \TeX{} input from the web representation of a program, ready
- for typesetting.},
-}
-
-@manual{ctan-web,
- title = {The \texttt{web} package},
- subtitle = {The original literate programming system},
- author = {Donald E. Knuth},
- date = {2016-06-24},
- version = {4.5},
- license = {knuth},
- mirror = {https://mirror.ctan.org/systems/knuth/dist/web},
- url = {https://ctan.org/pkg/web},
- annotation = {The system processes ‘web’ files in two ways:
- firstly to rearrange them to produce compilable code (using the
- program ), and secondly to
- produce a \TeX{} source (using the program
- ) that may be typeset for
- comfortable reading.},
-}
-
-@manual{ctan-web2c,
- title = {The \texttt{Web2C} package},
- subtitle = {Conversion programs and supporting code to compile \TeX{} in C},
- author = {Olaf Weber and {The \TeX{} Live Team}},
- date = {2022-01-17},
- license = {gpl},
- url = {https://ctan.org/pkg/web2c},
-}
-
-@manual{ctan-web2w,
- title = {The \texttt{web2w} package},
- subtitle = {Converting \TeX{} from WEB to cweb},
- author = {Martin Ruckert},
- date = {2019-06-21},
- version = {0.4},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/web/web2w},
- url = {https://ctan.org/pkg/web2w},
-}
-
-@manual{ctan-web9pt,
- title = {The \texttt{web9pt} package},
- subtitle = {Nine-point web listings},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/web9pt.tex},
- url = {https://ctan.org/pkg/web9pt},
- annotation = {A small patch to web listing macros that uses the 9pt file from
- the to make the body
- text of a web listing appear in 9pt.},
-}
-
-@manual{ctan-webcomp-errata,
- title = {The \texttt{webcomp-errata} package},
- subtitle = {Errata list for The \LaTeX{} Web Companion},
- author = {Michel Goossens and Sebastian Rahtz},
- date = {2016-10-18},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/base},
- url = {https://ctan.org/pkg/webcomp-errata},
-}
-
-@manual{ctan-webfiles,
- title = {The \texttt{webfiles} package},
- subtitle = {Include CWEB and/or Spidery WEB \LaTeX{}},
- author = {Mark Potse},
- date = {2016-06-24},
- version = {1.0.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/web/webfiles},
- url = {https://ctan.org/pkg/webfiles},
- annotation = {The package allows the user to plug the documentation of
- or
- programs into a \LaTeX{}
- document.},
-}
-
-@manual{ctan-webguide,
- title = {The \texttt{webguide} package},
- subtitle = {Brief Guide to \LaTeX{} Tools for Web publishing},
- author = {Peter R. Wilson},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/info/webguide},
- url = {https://ctan.org/pkg/webguide},
-}
-
-@manual{ctan-webmacss,
- title = {The \texttt{webmacss} package},
- subtitle = {Use sans serif font in Web listings},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/webmacss.tex},
- url = {https://ctan.org/pkg/webmacss},
-}
-
-@manual{ctan-webomints,
- title = {The \texttt{webomints} package},
- subtitle = {Webomints font support},
- author = {Maurizio Loreti},
- date = {2021-09-11},
- version = {1.1c},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/fonts/webomints},
- url = {https://ctan.org/pkg/webomints},
- annotation = {A set of files for using the Galapagos Design Group’s
-
- with (La)TeX. The original announcement of the
- font said “Created by George Ryan, Web-O-Mints contains a
- rich assortment of typographic decorations inspired by historical
- sources”. A copy of the type 1 font file is included with
- the distribution, as are test (demonstration) files.},
-}
-
-@manual{ctan-webquiz,
- title = {The \texttt{WebQuiz} package},
- subtitle = {Write interactive web based quizzes},
- author = {Andrew Mathas},
- date = {2019-05-01},
- version = {5.2},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/webquiz},
- url = {https://ctan.org/pkg/webquiz},
- annotation = {WebQuiz makes it possible to use \LaTeX{} to write interactive web
- based quizzes. The quizzes are first written in \LaTeX{} and then
- converted into HTML files using WebQuiz, which is written in
- Python3. The conversion from \LaTeX{} to HTML is done behind the
- scenes using .},
-}
-
-@manual{ctan-weekday,
- title = {The \texttt{weekday} package},
- subtitle = {Generate "day of week"},
- author = {Dimitri Vulis},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/weekday.sty},
- url = {https://ctan.org/pkg/weekday},
-}
-
-@manual{ctan-wheelchart,
- title = {The \texttt{wheelchart} package},
- subtitle = {Draw wheelcharts with TikZ},
- author = {Matthias Floré},
- date = {2022-09-14},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/wheelchart},
- url = {https://ctan.org/pkg/wheelchart},
-}
-
-@manual{ctan-wheretotrim,
- title = {The \texttt{wheretotrim} package},
- subtitle = {Assist in reducing \LaTeX{} document page counts},
- author = {Scott Pakin},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/support/wheretotrim},
- url = {https://ctan.org/pkg/wheretotrim},
-}
-
-@manual{ctan-wichura-table,
- title = {The \texttt{wichura-table} package},
- subtitle = {Table macros for plain \TeX{} (and \LaTeX{})},
- author = {Michael Wichura and David Carlisle},
- date = {2021-06-09},
- version = {1.0},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/generic/wichura-table},
- url = {https://ctan.org/pkg/wichura-table},
-}
-
-@manual{ctan-widetable,
- title = {The \texttt{widetable} package},
- subtitle = {An environment for typesetting tables of specified width},
- author = {Claudio Beccari},
- date = {2020-01-15},
- version = {2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/widetable},
- url = {https://ctan.org/pkg/widetable},
-}
-
-@manual{ctan-widows-and-orphans,
- title = {The \texttt{widows-and-orphans} package},
- subtitle = {Identify (typographic) widows and orphans},
- author = {Frank Mittelbach},
- date = {2023-03-10},
- version = {1.0e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/widows-and-orphans},
- url = {https://ctan.org/pkg/widows-and-orphans},
-}
-
-@manual{ctan-wiggly,
- title = {The \texttt{wiggly} package},
- subtitle = {Draw wiggly lines under text},
- author = {John Garavelli},
- date = {2021-08-26},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/wiggly.tex},
- url = {https://ctan.org/pkg/wiggly},
-}
-
-@manual{ctan-wiki,
- title = {The \texttt{wiki} package},
- subtitle = {Use Wiki-style markup in a \LaTeX{} document},
- author = {Uwe Lück},
- date = {2017-05-06},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/nicetext},
- url = {https://ctan.org/pkg/wiki},
-}
-
-@manual{ctan-williams,
- title = {The \texttt{williams} package},
- subtitle = {Miscellaneous macros by Peter Williams},
- author = {Peter Williams},
- date = {2018-12-23},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/williams},
- url = {https://ctan.org/pkg/williams},
-}
-
-@manual{ctan-willowtreebook,
- title = {The \texttt{willowtreebook} package},
- subtitle = {Easy basic book class, built on memoir},
- author = {Benjamin McKay},
- date = {2021-09-28},
- version = {1.03},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/willowtreebook},
- url = {https://ctan.org/pkg/willowtreebook},
- annotation = {The class is a simple book class,
- which the author uses for his lecture notes to be found
- on his web page .
- It actually just selects options for the more sophisticated memoir class.},
-}
-
-@manual{ctan-win32-emacs-auctex,
- title = {The \texttt{win32-emacs-auctex} package},
- subtitle = {Ready-to-use Emacs and AucTeX for Windows},
- author = {Reinhard Kotucha},
- date = {2020-06-21},
- version = {Emacs 24.5 and AUCTeX 11.89},
- license = {other-free},
- mirror = {https://mirror.ctan.org/obsolete/support/win32-emacs-auctex},
- url = {https://ctan.org/pkg/win32-emacs-auctex},
-}
-
-@manual{ctan-window,
- title = {The \texttt{window} package},
- subtitle = {Create windows in paragraphs},
- author = {Elmar Schalück},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/window},
- url = {https://ctan.org/pkg/window},
- annotation = {The package defines a command that will insert
- boxed material at a given position within a paragraph.},
-}
-
-@manual{ctan-windvi,
- title = {The \texttt{windvi} package},
- subtitle = {MS-Windows DVI viewer},
- author = {Fabrice Popineau},
- date = {2016-06-24},
- version = {0.56},
- license = {gpl},
- mirror = {https://mirror.ctan.org/obsolete/systems/win32/fptex},
- url = {https://ctan.org/pkg/windvi},
-}
-
-@manual{ctan-windycity,
- title = {The \texttt{windycity} package},
- subtitle = {A Chicago style for BibLaTeX},
- author = {Brian Chase},
- date = {2021-12-04},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/windycity},
- url = {https://ctan.org/pkg/windycity},
- annotation = {Windy City is a style for Bib\LaTeX{} that formats notes,
- bibliographies, parenthetical citations, and reference lists
- according to the 17th edition of .},
-}
-
-@manual{ctan-winedt,
- title = {The \texttt{WinEdt} package},
- subtitle = {MS-Windows shell and editor for \TeX{}},
- author = {Aleksander Simonic},
- date = {2017-04-18},
- version = {6.0},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/win32/winedt},
- url = {https://ctan.org/pkg/winedt},
-}
-
-@manual{ctan-winemtex,
- title = {The \texttt{winemtex} package},
- subtitle = {EmTeX for windows},
- author = {{Unknown}},
- date = {2016-06-24},
- license = {noinfo},
- url = {https://ctan.org/pkg/winemtex},
- annotation = {A full distribution
- for MS-Windows98 including Ghostscript and WinEdit and
- preconfigured to work with \TeX{}.},
-}
-
-@manual{ctan-winfonts,
- title = {The \texttt{Winfonts} package},
- subtitle = {Use fonts distributed with Windows XP},
- author = {Paul Pichaureau},
- date = {2016-06-24},
- version = {1.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/winfonts},
- url = {https://ctan.org/pkg/winfonts},
-}
-
-@manual{ctan-winlatex,
- title = {The \texttt{winlatex} package},
- subtitle = {FrontEnd for \TeX{}, Win98/NT, needs Microsoft VisualBasic-DLLs},
- author = {Thomas Reinhardt},
- date = {2016-06-18},
- version = {0.8},
- license = {pd},
- mirror = {https://mirror.ctan.org/systems/win32/winlatex},
- url = {https://ctan.org/pkg/winlatex},
-}
-
-@manual{ctan-winshell,
- title = {The \texttt{winshell} package},
- subtitle = {A MS-Windows32 user interface for \TeX{}},
- author = {Ingo H. de Boer},
- date = {2021-11-06},
- version = {4.0.0.2},
- license = {nosource},
- mirror = {https://mirror.ctan.org/systems/win32/winshell},
- url = {https://ctan.org/pkg/winshell},
-}
-
-@manual{ctan-wintex2000,
- title = {The \texttt{WinTeX XP} package},
- subtitle = {A Win32 \TeX{} Editor with the MS Office look and feel},
- author = {Michael Muecke},
- date = {2017-05-21},
- license = {shareware},
- mirror = {https://mirror.ctan.org/systems/win32/wintex2000},
- url = {https://ctan.org/pkg/wintex2000},
-}
-
-@manual{ctan-withargs,
- title = {The \texttt{withargs} package},
- subtitle = {In-place argument substitution},
- author = {Michiel Helvensteijn},
- date = {2021-03-01},
- version = {0.3.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/withargs},
- url = {https://ctan.org/pkg/withargs},
- annotation = {The command provides a clean way to populate
- a template (containing , , etc.) using
- \LaTeX{} argument substitution.
- It also allows you to carefully control argument expansion using
- a \LaTeX{}3-style argument specification.
- Uses range from creating readable string templates (akin to
- C’s function) to performing otherwise
- complex token-list manipulation.},
-}
-
-@manual{ctan-witharrows,
- title = {The \texttt{witharrows} package},
- subtitle = {“Aligned” math environments with arrows for comments},
- author = {François Pantigny},
- date = {2023-02-14},
- version = {2.8a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/witharrows},
- url = {https://ctan.org/pkg/witharrows},
-}
-
-@manual{ctan-withesis,
- title = {The \texttt{withesis} package},
- subtitle = {University of Wisconsin-Madison Thesis \LaTeX{} Class},
- author = {Eric Benedict},
- date = {2018-01-06},
- version = {2.0},
- license = {artistic},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/withesis},
- url = {https://ctan.org/pkg/withesis},
-}
-
-@manual{ctan-wmaainf,
- title = {The \texttt{wmaainf} package},
- subtitle = {BibTeX style for Abteilung für Angewandte Informatik},
- author = {Walter Müller},
- date = {2016-06-24},
- version = {},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/misc/wmaainf.bst},
- url = {https://ctan.org/pkg/wmaainf},
-}
-
-@manual{ctan-wmf2eps,
- title = {The \texttt{wmf2eps} package},
- subtitle = {Windows metafile conversion},
- author = {Wolfgang Schulter},
- date = {2016-06-24},
- version = {1.32},
- license = {shareware},
- mirror = {https://mirror.ctan.org/support/wmf2eps},
- url = {https://ctan.org/pkg/wmf2eps},
-}
-
-@manual{ctan-wncyr,
- title = {The \texttt{wncyr} package},
- subtitle = {University of Washington cyrillic fonts},
- author = {{The American Mathematical Society}},
- date = {2017-11-17},
- version = {2.2},
- license = {lppl},
- url = {https://ctan.org/pkg/wncyr},
-}
-
-@manual{ctan-wnri-latex,
- title = {The \texttt{wnri-latex} package},
- subtitle = {\LaTeX{} support for wnri fonts},
- author = {Anshuman Pandey},
- date = {2018-01-06},
- version = {1.0b},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wnri-latex},
- url = {https://ctan.org/pkg/wnri-latex},
- annotation = {\LaTeX{} support for the fonts.},
-}
-
-@manual{ctan-wnri,
- title = {The \texttt{wnri} package},
- subtitle = {Ridgeway's fonts},
- author = {Thomas Ridgeway and Anshuman Pandey},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/fonts/wnri},
- url = {https://ctan.org/pkg/wnri},
-}
-
-@manual{ctan-wntamil,
- title = {The \texttt{wntamil} package},
- subtitle = {Tamil to \TeX{} converter},
- author = {{Unknown}},
- date = {2019-06-21},
- license = {other-nonfree},
- mirror = {https://mirror.ctan.org/language/tamil/wntamil},
- url = {https://ctan.org/pkg/wntamil},
-}
-
-@manual{ctan-wochtag,
- title = {The \texttt{wochtag} package},
- subtitle = {Generate the German weekday name for a date},
- author = {Andreas Schrell},
- date = {2016-06-24},
- version = {1.0},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/misc/wochtag.tex},
- url = {https://ctan.org/pkg/wochtag},
- annotation = {Defines a macro
- that produces a day name, in German.},
-}
-
-@manual{ctan-woff2ot,
- title = {The \texttt{Woff2OT} package},
- subtitle = {Woff to OpenType converter},
- author = {Peter Frane Jr},
- date = {2020-10-05},
- version = {1.0},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/fonts/utilities/woff2ot},
- url = {https://ctan.org/pkg/woff2ot},
-}
-
-@manual{ctan-word2latex,
- title = {The \texttt{word2latex} package},
- subtitle = {A translator from MS Word to \LaTeX{} documents},
- author = {Ingo H. de Boer},
- date = {2016-06-24},
- version = {1.1.0.0},
- license = {nosource},
- mirror = {https://mirror.ctan.org/support/word2latex},
- url = {https://ctan.org/pkg/word2latex},
-}
-
-@manual{ctan-word2tex,
- title = {The \texttt{word2tex} package},
- subtitle = {Convert \TeX{}/MSWord to \LaTeX{}},
- author = {Kirill A Chikrii},
- date = {2017-04-18},
- version = {4.0},
- license = {other-nonfree},
- url = {https://ctan.org/pkg/word2tex},
-}
-
-@manual{ctan-word2x,
- title = {The \texttt{word2x} package},
- subtitle = {Word 6 format converter},
- author = {Duncan Simpson},
- date = {2016-06-24},
- version = {0.001},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/word2x},
- url = {https://ctan.org/pkg/word2x},
-}
-
-@manual{ctan-wordcount,
- title = {The \texttt{wordcount} package},
- subtitle = {Estimate the number of words in a \LaTeX{} document},
- author = {Michael J. Downes},
- date = {2016-06-24},
- version = {1.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wordcount},
- url = {https://ctan.org/pkg/wordcount},
- annotation = {The package provides a relatively easy way of estimating the
- number of words in a \LaTeX{} document that does not require
- or other DVI converters. It does however require
- something like Unix that can search a file for a
- particular string and report the number of matching lines. An
- accompanying shell script contains more
- information in its comments.},
-}
-
-@manual{ctan-wordlike,
- title = {The \texttt{wordlike} package},
- subtitle = {Simulating word processor layout},
- author = {Jürgen Fenn},
- date = {2016-06-24},
- version = {1.2b},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wordlike},
- url = {https://ctan.org/pkg/wordlike},
-}
-
-@manual{ctan-wordml2latex,
- title = {The \texttt{WordML2LaTeX} package},
- subtitle = {XSLT to transform a WordML file to a \LaTeX{}2e source},
- author = {Ruggero Dambra},
- date = {2016-06-24},
- version = {1.0},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/WordML2LaTeX},
- url = {https://ctan.org/pkg/wordml2latex},
-}
-
-@manual{ctan-wordweb,
- title = {The \texttt{wordweb} package},
- subtitle = {Literate programming using Microsoft Word},
- author = {Lee Wittenberg and Stephen Mc Kearney},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/web/wordweb},
- url = {https://ctan.org/pkg/wordweb},
- annotation = {An experimental mechanism for use with Word; a Word
- file is provided.},
-}
-
-@manual{ctan-worksheet,
- title = {The \texttt{worksheet} package},
- subtitle = {Easy creation of worksheets},
- author = {Benjamin Zöllner},
- date = {2018-08-18},
- version = {1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/worksheet},
- url = {https://ctan.org/pkg/worksheet},
- annotation = {This package provides macros and an environment for easy worksheet creation:
- Use the environment for formating exercises
- in a simple, efficient design;
- typeset customized and automatically numbered worksheet titles
- in the same way as standard \LaTeX{} titles (using );
- provide course and author information with a
- based automated header;
- conforming to different languages.
- (Currently English, French, and German are supported.)},
-}
-
-@manual{ctan-worldflags,
- title = {The \texttt{worldflags} package},
- subtitle = {Drawing flags with TikZ},
- author = {Wilhelm Haager},
- date = {2021-05-12},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/worldflags},
- url = {https://ctan.org/pkg/worldflags},
-}
-
-@manual{ctan-wotree,
- title = {The \texttt{wotree} package},
- subtitle = {Draw Warnier/Orr diagrams},
- author = {Eitan M. Gurari},
- date = {2019-03-02},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/graphics/dratex/wotree.sty},
- url = {https://ctan.org/pkg/wotree},
- annotation = {Draws the diagrams using .},
-}
-
-@manual{ctan-wp2latex,
- title = {The \texttt{WP2LaTeX} package},
- subtitle = {Convert WordPerfect documents to \LaTeX{}},
- author = {Jaroslav Fojtík},
- date = {2022-01-17},
- version = {3.88},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/wp2latex},
- url = {https://ctan.org/pkg/wp2latex},
- annotation = {This is a long established, supported, converter. A patch is
- available to use its code as an HTML to \LaTeX{} convertor (see
- documentation link, below; this code is unrelated to the
- purpose-built ,
- also on CTAN).},
-}
-
-@manual{ctan-wrapfig,
- title = {The \texttt{wrapfig} package},
- subtitle = {Produces figures which text can flow around},
- author = {Donald Arseneau},
- date = {2021-12-30},
- version = {3.6},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wrapfig},
- url = {https://ctan.org/pkg/wrapfig},
-}
-
-@manual{ctan-wrapfig2,
- title = {The \texttt{wrapfig2} package},
- subtitle = {Wrap text around figures},
- author = {Claudio Beccari},
- date = {2023-02-23},
- version = {6.1.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wrapfig2},
- url = {https://ctan.org/pkg/wrapfig2},
-}
-
-@manual{ctan-wrapstuff,
- title = {The \texttt{wrapstuff} package},
- subtitle = {Wrapping text around stuff},
- author = {Qing Lee},
- date = {2022-08-07},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wrapstuff},
- url = {https://ctan.org/pkg/wrapstuff},
-}
-
-@manual{ctan-wright,
- title = {The \texttt{wright} package},
- subtitle = {Define commands with optional arguments},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/wright},
- url = {https://ctan.org/pkg/wright},
- annotation = {Version of and that
- can define commands with optional arguments. (Preceding the
- public availability of such commands, in \LaTeX{} 2e, and with a
- slightly different syntax.)},
-}
-
-@manual{ctan-writeongrid,
- title = {The \texttt{WriteOnGrid} package},
- subtitle = {Write on grid lines},
- author = {Cédric Pierquet},
- date = {2023-01-31},
- version = {0.1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/writeongrid},
- url = {https://ctan.org/pkg/writeongrid},
-}
-
-@manual{ctan-wrtfile,
- title = {The \texttt{wrtfile} package},
- subtitle = {Write \TeX{} files from a \TeX{} document},
- author = {Cameron Smith},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/wrtfile},
- url = {https://ctan.org/pkg/wrtfile},
- annotation = {Wrtfile is a means of creating self-extracting distributions in
- \TeX{} files; it is similar in conception to the \LaTeX{}
- mechanism, but is somewhat
- more efficient. Wrtfile is (of course) distributed using its own
- mechanisms.},
-}
-
-@manual{ctan-wsemclassic,
- title = {The \texttt{wsemclassic} package},
- subtitle = {\LaTeX{} class for Bavarian school w-seminar papers},
- author = {Johannes Rosenberger},
- date = {2017-04-18},
- version = {1.0.1},
- license = {bsd},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wsemclassic},
- url = {https://ctan.org/pkg/wsemclassic},
-}
-
-@manual{ctan-wsuipa,
- title = {The \texttt{wsuipa} package},
- subtitle = {International Phonetic Alphabet fonts},
- author = {Dean Guenther},
- date = {2017-10-29},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/wsuipa},
- url = {https://ctan.org/pkg/wsuipa},
-}
-
-@manual{ctan-wsuipa2tipa,
- title = {The \texttt{wsuipa2tipa} package},
- subtitle = {Translate wsuipa font commands into tipa font commands},
- author = {Peter Kleiweg},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/wsuipa2tipa},
- url = {https://ctan.org/pkg/wsuipa2tipa},
- annotation = {Old fonts don't compile well
- on newer \TeX{} distributions, and may be unavailable on your local
- installation. The fonts are superseded by the newer
- fonts. The program wsu2tipa works as a
- filter that translates an old \LaTeX{} document, replacing all
- wsuipa font commands with tipa font commands.},
-}
-
-@manual{ctan-wtref,
- title = {The \texttt{WTRef} package},
- subtitle = {Extend \LaTeX{}’s cross-reference system},
- author = {Takuto Asakura},
- date = {2020-06-15},
- version = {0.4.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/wtref},
- url = {https://ctan.org/pkg/wtref},
- annotation = {Prerequisite packages:
- and
- .},
-}
-
-@manual{ctan-xargs,
- title = {The \texttt{xargs} package},
- subtitle = {Define commands with many optional arguments},
- author = {Manuel Pégourié-Gonnard},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xargs},
- url = {https://ctan.org/pkg/xargs},
- annotation = {The package provides extended versions of and
- related \LaTeX{} commands, which allow easy and robust definition of
- macros with many optional arguments, using a clear and simple
- -style syntax.},
-}
-
-@manual{ctan-xarticle,
- title = {The \texttt{xarticle} package},
- subtitle = {A \LaTeX{} 2.09 document style with 7pt, 8pt and 9pt options},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/xarticle},
- url = {https://ctan.org/pkg/xarticle},
-}
-
-@manual{ctan-xassoccnt,
- title = {The \texttt{xassoccnt} package},
- subtitle = {Associated counters stepping simultaneously},
- author = {Christian Hupfer},
- date = {2021-11-21},
- version = {2.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xassoccnt},
- url = {https://ctan.org/pkg/xassoccnt},
-}
-
-@manual{ctan-xbibfile,
- title = {The \texttt{xbibfile} package},
- subtitle = {Create and search BibTeX databases},
- author = {Ross Maloney},
- date = {2016-06-24},
- version = {0.7},
- license = {lppl},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/xbibfile},
- url = {https://ctan.org/pkg/xbibfile},
-}
-
-@manual{ctan-xbibtex,
- title = {The \texttt{xbibtex} package},
- subtitle = {An X-Windows utility for adding to a BibTeX database},
- author = {Nickolas J. Kelly and Christian H. Bischof},
- date = {2016-06-24},
- version = {0.0.a},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/biblio/bibtex/utils/xbibtex},
- url = {https://ctan.org/pkg/xbibtex},
- annotation = {The utility provides an X-Windows interface for inserting entries
- into a bibliography database in BibTeX format. Xbibtex provides a
- template listing the required and optional fields for each entry
- type. A further utility is provided to merge the content of
- ‘keyword’ and ‘annote’ entries
- into a file before final recompilation.},
-}
-
-@manual{ctan-xbmks,
- title = {The \texttt{xbmks} package},
- subtitle = {Create a cross-document bookmark tree},
- author = {Donald P. Story},
- date = {2020-01-18},
- version = {},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xbmks},
- url = {https://ctan.org/pkg/xbmks},
-}
-
-@manual{ctan-xcharter-math,
- title = {The \texttt{xcharter-math} package},
- subtitle = {XCharter-based OpenType Math font for LuaTeX and XeTeX},
- author = {Daniel Flipo},
- date = {2023-01-30},
- version = {0.36},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/xcharter-math},
- url = {https://ctan.org/pkg/xcharter-math},
- annotation = {This package provides an Unicode Math font
- meant to be used together with
-
- (extension of Bitstream Charter) in Lua\LaTeX{} or \XeLaTeX{} documents.},
-}
-
-@manual{ctan-xcharter,
- title = {The \texttt{XCharter} package},
- subtitle = {Extension of Bitstream Charter fonts},
- author = {Michael Sharpe},
- date = {2022-04-17},
- version = {1.24},
- license = {other-free,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/xcharter},
- url = {https://ctan.org/pkg/xcharter},
-}
-
-@manual{ctan-xcite,
- title = {The \texttt{xcite} package},
- subtitle = {Use citation keys from a different document},
- author = {Enrico Gregorio},
- date = {2020-01-21},
- version = {16383.99998},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcite},
- url = {https://ctan.org/pkg/xcite},
- annotation = {The package is no longer necessary,
- because its functionality has been taken over by
- , so this final version
- is just a stub that loads .},
-}
-
-@manual{ctan-xcjk2uni,
- title = {The \texttt{xcjk2uni} package},
- subtitle = {Convert CJK characters to Unicode, in pdfTeX},
- author = {Qing Lee},
- date = {2020-05-01},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcjk2uni},
- url = {https://ctan.org/pkg/xcjk2uni},
-}
-
-@manual{ctan-xcmr,
- title = {The \texttt{xcmr} package},
- subtitle = {A crossed-out version of Computer Modern},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/cm/xcmr/xcmr12.mf},
- url = {https://ctan.org/pkg/xcmr},
-}
-
-@manual{ctan-xcntperchap,
- title = {The \texttt{xcntperchap} package},
- subtitle = {Track the number of subsections etc. that occur in a specified tracklevel},
- author = {Christian Hupfer},
- date = {2020-01-16},
- version = {0.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcntperchap},
- url = {https://ctan.org/pkg/xcntperchap},
- annotation = {This package is the successor of
- and allows to provide more tracklevels than just only one.},
-}
-
-@manual{ctan-xcoffins,
- title = {The \texttt{xcoffins} package},
- subtitle = {Rich boxed material for \LaTeX{} 3},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-01-24},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3experimental},
- url = {https://ctan.org/pkg/xcoffins},
-}
-
-@manual{ctan-xcolor-material,
- title = {The \texttt{xcolor-material} package},
- subtitle = {Defines the 256 colors from Google Material Color Palette},
- author = {Jerick Órdenes},
- date = {2016-11-16},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcolor-material},
- url = {https://ctan.org/pkg/xcolor-material},
- annotation = {The package is built on top of the great
- package.
- It provides a useful definition of the beautiful
- Google Material Color Palette, available at
- ,
- for its use in document writing with \LaTeX{} and Friends.},
-}
-
-@manual{ctan-xcolor-solarized,
- title = {The \texttt{xcolor-solarized} package},
- subtitle = {Defines the 16 colors from Ethan Schoonover’s Solarized palette},
- author = {Julien Cretel},
- date = {2021-11-13},
- version = {0.4},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcolor-solarized},
- url = {https://ctan.org/pkg/xcolor-solarized},
- annotation = {Built on top of the package,
- this package defines the sixteen colors of Ethan Schoonover’s
- popular color palette, Solarized, for use in documents typeset
- with \LaTeX{} and Friends.},
-}
-
-@manual{ctan-xcolor,
- title = {The \texttt{xcolor} package},
- subtitle = {Driver-independent color extensions for \LaTeX{} and pdfLaTeX},
- author = {Uwe Kern and {The \LaTeX{} Project Team}},
- date = {2022-06-12},
- version = {2.14},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcolor},
- url = {https://ctan.org/pkg/xcolor},
- annotation = {The package starts from the basic facilities of the
- package, and
- provides easy driver-independent access to several kinds of
- color tints, shades, tones, and mixes of arbitrary colors. It
- allows a user to select a document-wide target color model and
- offers complete tools for conversion between eight color models.
- Additionally, there is a command for alternating row colors plus
- repeated non-aligned material (like horizontal lines) in tables.
- Colors can be mixed like \textbackslash{}color{red!30!green!40!blue}.},
-}
-
-@manual{ctan-xcomment,
- title = {The \texttt{xcomment} package},
- subtitle = {Allows selected environments to be included/excluded},
- author = {Timothy Van Zandt and Herbert Voß},
- date = {2019-06-09},
- version = {1.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/xcomment},
- url = {https://ctan.org/pkg/xcomment},
-}
-
-@manual{ctan-xcookybooky,
- title = {The \texttt{xcookybooky} package},
- subtitle = {Typeset (potentially long) recipes},
- author = {Sven Harder},
- date = {2018-04-05},
- version = {1.5},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcookybooky},
- url = {https://ctan.org/pkg/xcookybooky},
-}
-
-@manual{ctan-xcpdftips,
- title = {The \texttt{xcpdftips} package},
- subtitle = {Natbib citations with PDF tooltips},
- author = {Mikica Kocic},
- date = {2019-05-01},
- version = {1.1},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xcpdftips},
- url = {https://ctan.org/pkg/xcpdftips},
- annotation = {This \LaTeX{} package uses
- and to surround
- citations with PDF tooltips.},
-}
-
-@manual{ctan-xdoc,
- title = {The \texttt{xdoc} package},
- subtitle = {Extending the \LaTeX{} doc system},
- author = {Lars Hellström},
- date = {2016-06-24},
- version = {prot2.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xdoc},
- url = {https://ctan.org/pkg/xdoc},
-}
-
-@manual{ctan-xduthesis,
- title = {The \texttt{xduthesis} package},
- subtitle = {Xe\LaTeX{} template for writing Xidian University Thesis},
- author = {Fei Qi},
- date = {2023-01-24},
- version = {1.00},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xduthesis},
- url = {https://ctan.org/pkg/xduthesis},
-}
-
-@manual{ctan-xduts,
- title = {The \texttt{xduts} package},
- subtitle = {Xidian University \TeX{} Suite},
- author = {{Unknown}},
- date = {2023-03-08},
- version = {6.1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xduts},
- url = {https://ctan.org/pkg/xduts},
-}
-
-@manual{ctan-xdvi,
- title = {The \texttt{xdvi} package},
- subtitle = {A DVI previewer for the X Window System},
- author = {Paul Vojta},
- date = {2020-03-02},
- license = {other-free},
- url = {https://ctan.org/pkg/xdvi},
- annotation = {The canonical previewer for use on Unix and other X-windows based
- systems. The distribution has been integrated with that of xdvik
- (no longer separately available), so that it will build with
- “out of the
- box”. It is included in
- .},
-}
-
-@manual{ctan-xebaposter,
- title = {The \texttt{xebaposter} package},
- subtitle = {Create beautiful scientific Persian/Latin posters using TikZ},
- author = {Seiied-Mohammad-Javad Razavian},
- date = {2022-06-08},
- version = {2.53},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/xebaposter},
- url = {https://ctan.org/pkg/xebaposter},
-}
-
-@manual{ctan-xechangebar,
- title = {The \texttt{xechangebar} package},
- subtitle = {An extension of package changebar that can be used with \XeLaTeX{}},
- author = {Apostolos Syropoulos},
- date = {2019-11-14},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xechangebar},
- url = {https://ctan.org/pkg/xechangebar},
- annotation = {The package extends package
- so it can be used with \XeLaTeX{}. It introduces the new option
- for use with \XeLaTeX{}. Everything else remains the same and users
- should consult the original documentation for usage information.},
-}
-
-@manual{ctan-xecjk,
- title = {The \texttt{xecjk} package},
- subtitle = {Support for CJK documents in \XeLaTeX{}},
- author = {Qing Lee and Leo Liu and Wenchang Sun and Jiang Jiang},
- date = {2022-08-05},
- version = {3.9.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xecjk},
- url = {https://ctan.org/pkg/xecjk},
-}
-
-@manual{ctan-xecolor,
- title = {The \texttt{xecolor} package},
- subtitle = {Support for color in \XeLaTeX{}},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2019-09-08},
- version = {0.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xecolor},
- url = {https://ctan.org/pkg/xecolor},
-}
-
-@manual{ctan-xecolour,
- title = {The \texttt{xecolour} package},
- subtitle = {Support for colour in \XeLaTeX{}},
+@manual{ctan-mpgraphics,
+ title = {The \texttt{mpgraphics} package},
+ subtitle = {Process and display MetaPost figures inline},
author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
date = {2019-09-08},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/obsolete/macros/xetex/latex/xecolour},
- url = {https://ctan.org/pkg/xecolour},
- annotation = {This package is a predecessor of the newer
- package;
- but it was decided that it should remain available
- for the benefit of users wishing to run their
- old \TeX{} files using .},
-}
-
-@manual{ctan-xecyr,
- title = {The \texttt{xecyr} package},
- subtitle = {Using Cyrillic languages in XeTeX},
- author = {Alexey Shipunov},
- date = {2019-10-07},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xecyr},
- url = {https://ctan.org/pkg/xecyr},
- annotation = {Helper tools for using Cyrillic languages with \XeLaTeX{} and
- .},
-}
-
-@manual{ctan-xecyrmongolian,
- title = {The \texttt{xecyrmongolian} package},
- subtitle = {Basic support for the typesetting of Cyrillic Mongolian
- documents using (Xe|Lua)LaTeX},
- author = {Apostolos Syropoulos},
- date = {2019-12-21},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/language/mongolian/xecyrmongolian},
- url = {https://ctan.org/pkg/xecyrmongolian},
-}
-
-@manual{ctan-xeindex,
- title = {The \texttt{xeindex} package},
- subtitle = {Automatic index generation for \XeLaTeX{}},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
version = {0.3},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xeindex},
- url = {https://ctan.org/pkg/xeindex},
-}
-
-@manual{ctan-xellipsis,
- title = {The \texttt{xellipsis} package},
- subtitle = {Extremely configurable ellipses with formats for various style manuals},
- author = {Donald P. Goodman},
- date = {2018-04-16},
- version = {2.0},
license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xellipsis},
- url = {https://ctan.org/pkg/xellipsis},
-}
-
-@manual{ctan-xepersian-hm,
- title = {The \texttt{xepersian-hm} package},
- subtitle = {Fixes kashida feature in xepersian package},
- author = {Hossein Movahhedian},
- date = {2020-09-04},
- version = {1.1a},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xepersian-hm},
- url = {https://ctan.org/pkg/xepersian-hm},
-}
-
-@manual{ctan-xepersian,
- title = {The \texttt{XePersian} package},
- subtitle = {Persian for \LaTeX{}, using XeTeX},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2022-10-30},
- version = {24.8},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xepersian},
- url = {https://ctan.org/pkg/xepersian},
-}
-
-@manual{ctan-xesearch,
- title = {The \texttt{xesearch} package},
- subtitle = {A string finder for XeTeX},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-08-17},
- version = {0.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/generic/xesearch},
- url = {https://ctan.org/pkg/xesearch},
-}
-
-@manual{ctan-xesoul,
- title = {The \texttt{xesoul} package},
- subtitle = {Use the soul package with \XeLaTeX{}},
- author = {Apostolos Syropoulos},
- date = {2021-04-08},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xesoul},
- url = {https://ctan.org/pkg/xesoul},
- annotation = {This package allows the use of the package (hyphenation within
- letterspacing, unlderlining and others) with \XeLaTeX{}.},
-}
-
-@manual{ctan-xespotcolor,
- title = {The \texttt{xespotcolor} package},
- subtitle = {Spot colours support for \XeLaTeX{}},
- author = {Apostolos Syropoulos and Jens Elstner},
- date = {2021-03-06},
- version = {2.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xespotcolor},
- url = {https://ctan.org/pkg/xespotcolor},
-}
-
-@manual{ctan-xet-tex,
- title = {The \texttt{XeT-TeX} package},
- subtitle = {A bi-directional version of \TeX{}},
- author = {Pierre A. MacKay},
- date = {2016-06-24},
- version = {},
- license = {other-free},
- mirror = {https://mirror.ctan.org/language/xettex},
- url = {https://ctan.org/pkg/xet-tex},
-}
-
-@manual{ctan-xetal,
- title = {The \texttt{xetal} package},
- subtitle = {Strip \TeX{} constructs from a file},
- author = {Raphael Cerf},
- date = {2016-06-24},
- version = {1.2},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/xetal},
- url = {https://ctan.org/pkg/xetal},
-}
-
-@manual{ctan-xetex-def,
- title = {The \texttt{xetex-def} package},
- subtitle = {Colour and graphics support for XeTeX},
- author = {Ross Moore and Jonathan Kew and {The \LaTeX{} Project Team}},
- date = {2022-09-23},
- version = {5.0n},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/graphics-def},
- url = {https://ctan.org/pkg/xetex-def},
-}
-
-@manual{ctan-xetex-devanagari,
- title = {The \texttt{xetex-devanagari} package},
- subtitle = {XeTeX input map for Unicode Devanagari},
- author = {Daniel Stender},
- date = {2016-06-24},
- version = {0.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/generic/devanagari},
- url = {https://ctan.org/pkg/xetex-devanagari},
-}
-
-@manual{ctan-xetex-greek,
- title = {The \texttt{xetex-greek} package},
- subtitle = {Hyphenation for different variants of Greek, under XeTeX},
- author = {Apostolos Syropoulos},
- date = {2016-06-24},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/hyphenation/greek},
- url = {https://ctan.org/pkg/xetex-greek},
-}
-
-@manual{ctan-xetex-itrans,
- title = {The \texttt{xetex-itrans} package},
- subtitle = {Itrans input maps for use with \XeLaTeX{}},
- author = {S. P. Abhinandan and Shrisha Rao},
- date = {2020-06-07},
- version = {4.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/generic/itrans},
- url = {https://ctan.org/pkg/xetex-itrans},
- annotation = {The package provides maps for use with \XeLaTeX{} with coding done
- using .
- maps are provided for
- Devanagari (Sanskrit), for Sanskrit in Kannada and for Kannada
- itself.},
-}
-
-@manual{ctan-xetex-pstricks,
- title = {The \texttt{xetex-pstricks} package},
- subtitle = {Running PSTricks under XeTeX},
- author = {Miyata Shigeru},
- date = {2018-09-15},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/xetex/pstricks},
- url = {https://ctan.org/pkg/xetex-pstricks},
-}
-
-@manual{ctan-xetex-tibetan,
- title = {The \texttt{xetex-tibetan} package},
- subtitle = {XeTeX input maps for Unicode Tibetan},
- author = {Daniel Stender},
- date = {2016-06-24},
- version = {0.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xetex/generic/tibetan},
- url = {https://ctan.org/pkg/xetex-tibetan},
-}
-
-@manual{ctan-xetex,
- title = {The \texttt{xetex} package},
- subtitle = {An extended variant of \TeX{} for use with Unicode sources},
- author = {Jonathan Kew and Arthur Rosendahl and Khaled Hosny and {The \TeX{} Live Team}},
- date = {2022-01-25},
- license = {x11},
- url = {https://ctan.org/pkg/xetex},
-}
-
-@manual{ctan-xetexfontinfo,
- title = {The \texttt{xetexfontinfo} package},
- subtitle = {Report font features in XeTeX},
- author = {Jonathan Kew},
- date = {2016-06-24},
- version = {},
- license = {apache2},
- mirror = {https://mirror.ctan.org/macros/xetex/plain/xetexfontinfo},
- url = {https://ctan.org/pkg/xetexfontinfo},
-}
-
-@manual{ctan-xetexko,
- title = {The \texttt{xetexko} package},
- subtitle = {Typeset Korean with Xe(La)TeX},
- author = {Dohyun Kim},
- date = {2022-11-01},
- version = {4.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/generic/xetexko},
- url = {https://ctan.org/pkg/xetexko},
-}
-
-@manual{ctan-xetexref,
- title = {The \texttt{XeTeXref} package},
- subtitle = {Reference documentation of XeTeX},
- author = {Will Robertson},
- date = {2023-02-20},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/info/xetexref},
- url = {https://ctan.org/pkg/xetexref},
-}
-
-@manual{ctan-xevlna,
- title = {The \texttt{xevlna} package},
- subtitle = {Insert non-breakable spaces using XeTeX},
- author = {Zdeněk Wagner},
- date = {2018-05-30},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/generic/xevlna},
- url = {https://ctan.org/pkg/xevlna},
-}
-
-@manual{ctan-xfakebold,
- title = {The \texttt{xfakebold} package},
- subtitle = {Fake a regular font for bold characters},
- author = {Herbert Voß},
- date = {2020-06-24},
- version = {0.08},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xfakebold},
- url = {https://ctan.org/pkg/xfakebold},
-}
-
-@manual{ctan-xfig,
- title = {The \texttt{xfig} package},
- subtitle = {XWindows vector drawing program},
- author = {Brian Smith},
- date = {2017-04-18},
- version = {3.2.4},
- license = {bsd},
- mirror = {https://mirror.ctan.org/graphics/xfig},
- url = {https://ctan.org/pkg/xfig},
-}
-
-@manual{ctan-xfor,
- title = {The \texttt{xfor} package},
- subtitle = {A reimplementation of the \LaTeX{} for-loop macro},
- author = {Nicola Talbot},
- date = {2016-06-24},
- version = {1.05},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xfor},
- url = {https://ctan.org/pkg/xfor},
- annotation = {The package redefines the \LaTeX{} internal macro so
- that the loop may be prematurely terminated. The action is akin
- to the C/Java statement, except that the loop does
- not terminate until the end of the current iteration},
-}
-
-@manual{ctan-xfp,
- title = {The \texttt{xfp} package},
- subtitle = {Interface to the \LaTeX{}3 floating point unit},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-02},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages},
- url = {https://ctan.org/pkg/xfp},
-}
-
-@manual{ctan-xfrac,
- title = {The \texttt{xfrac} package},
- subtitle = {Split-level fractions in \LaTeX{}2e*},
- author = {Morten Høgholm and Lars Madsen and Will Robertson and Joseph Wright},
- date = {2023-02-02},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages},
- url = {https://ctan.org/pkg/xfrac},
-}
-
-@manual{ctan-xgalley,
- title = {The \texttt{xgalley} package},
- subtitle = {Control text feeding onto the page},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-01-24},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3experimental/xgalley.dtx},
- url = {https://ctan.org/pkg/xgalley},
- annotation = {The package, currently distributed as part of the
- bundle,
- provides control over the boxes that accept material as
- a page is filled.},
-}
-
-@manual{ctan-xgreek,
- title = {The \texttt{xgreek} package},
- subtitle = {Greek Language Support for \XeLaTeX{} and LuaLaTeX},
- author = {Apostolos Syropoulos},
- date = {2022-09-05},
- version = {3.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/xgreek},
- url = {https://ctan.org/pkg/xgreek},
-}
-
-@manual{ctan-xhfill,
- title = {The \texttt{xhfill} package},
- subtitle = {Extending \textbackslash{}hrulefill},
- author = {Herbert Voß},
- date = {2016-06-24},
- version = {1.01},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xhfill},
- url = {https://ctan.org/pkg/xhfill},
- annotation = {The package provides extended macros for the default
- command. It allows modification of the width
- and the colour of the line.},
-}
-
-@manual{ctan-xifthen,
- title = {The \texttt{xifthen} package},
- subtitle = {Extended conditional commands},
- author = {Josselin Noirel},
- date = {2016-06-24},
- version = {1.4.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xifthen},
- url = {https://ctan.org/pkg/xifthen},
- annotation = {This package extends the
- package by
- implementing new commands to go within the first argument of
- : to test whether a string is void or not, if
- a command is defined or equivalent to another. The package also
- enables use of complex expressions as introduced by the package
- , together with the ability of
- defining new commands to handle complex tests.},
-}
-
-@manual{ctan-xii-lat,
- title = {The \texttt{xii-lat} package},
- subtitle = {Christmas silliness (Latin)},
- author = {David Carlisle},
- date = {2017-11-20},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/xii-lat},
- url = {https://ctan.org/pkg/xii-lat},
-}
-
-@manual{ctan-xii,
- title = {The \texttt{xii} package},
- subtitle = {Christmas silliness (English)},
- author = {David Carlisle},
- date = {2017-11-14},
- version = {},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/xii},
- url = {https://ctan.org/pkg/xii},
-}
-
-@manual{ctan-xindex,
- title = {The \texttt{xindex} package},
- subtitle = {Unicode compatible index generation},
- author = {Herbert Voß},
- date = {2023-01-20},
- version = {0.47},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/indexing/xindex},
- url = {https://ctan.org/pkg/xindex},
-}
-
-@manual{ctan-xindy-persian,
- title = {The \texttt{xindy-persian} package},
- subtitle = {Support for the Persian language in xindy},
- author = {Vafa Khalighi and {bidi-tex GitHub Organisation}},
- date = {2021-04-30},
- version = {0.8},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/indexing/xindy/contrib/xindy-persian},
- url = {https://ctan.org/pkg/xindy-persian},
- annotation = {The package offers Persian language support for indexing using
- .},
-}
-
-@manual{ctan-xindy,
- title = {The \texttt{xindy} package},
- subtitle = {A general-purpose index processor},
- author = {Roger Kehr and Joachim Schrod},
- date = {2017-04-18},
- version = {2.5.1},
- license = {gpl},
- mirror = {https://mirror.ctan.org/indexing/xindy/base},
- url = {https://ctan.org/pkg/xindy},
-}
-
-@manual{ctan-xint,
- title = {The \texttt{xint} package},
- subtitle = {Expandable operations on long numbers},
- author = {Jean-François Burnol},
- date = {2022-06-11},
- version = {1.4m},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/xint},
- url = {https://ctan.org/pkg/xint},
-}
-
-@manual{ctan-xintsession,
- title = {The \texttt{xintsession} package},
- subtitle = {Interactive computing sessions (fractions, floating points, polynomials)},
- author = {Jean-François Burnol},
- date = {2021-11-01},
- version = {0.4alpha},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/xintsession},
- url = {https://ctan.org/pkg/xintsession},
-}
-
-@manual{ctan-xistercian,
- title = {The \texttt{xistercian} package},
- subtitle = {Cistercian numerals in \LaTeX{}},
- author = {Jonathan P. Spratte},
- date = {2021-12-20},
- version = {1.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/xistercian},
- url = {https://ctan.org/pkg/xistercian},
- annotation = {allows you to use Cistercian numerals in \LaTeX{}. The glyphs are
- created using PGF and to a certain degree configurable. You can use Cistercian
- numerals as page numbers using . The two main
- macros are:},
-}
-
-@manual{ctan-xits,
- title = {The \texttt{xits} package},
- subtitle = {A Scientific Times-like font with support for mathematical typesetting},
- author = {Khaled Hosny},
- date = {2020-07-02},
- version = {1.302},
- license = {ofl},
- mirror = {https://mirror.ctan.org/fonts/xits},
- url = {https://ctan.org/pkg/xits},
-}
-
-@manual{ctan-xkcdcolors,
- title = {The \texttt{xkcdcolors} package},
- subtitle = {xkcd names of colors},
- author = {Romano Giannetti},
- date = {2020-01-18},
- version = {1.0.1},
- license = {lppl1.3c,cc0},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xkcdcolors},
- url = {https://ctan.org/pkg/xkcdcolors},
-}
-
-@manual{ctan-xkeyval,
- title = {The \texttt{xkeyval} package},
- subtitle = {Extension of the keyval package},
- author = {Hendri Adriaens},
- date = {2022-06-16},
- version = {2.9},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xkeyval},
- url = {https://ctan.org/pkg/xkeyval},
- annotation = {This package is an extension of the
- package and offers additional
- macros for setting keys and declaring and setting class or
- package options. The package allows the programmer to specify a
- prefix to the name of the macros it defines for keys, and to
- define families of key definitions; these all help use in
- documents where several packages define their own sets of keys.},
-}
-
-@manual{ctan-xkvltxp,
- title = {The \texttt{xkvltxp} package},
- subtitle = {Provision for expandable macros in package options},
- author = {Hendri Adriaens},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xkeyval},
- url = {https://ctan.org/pkg/xkvltxp},
-}
-
-@manual{ctan-xkvview,
- title = {The \texttt{xkvview} package},
- subtitle = {Xkeyval viewer},
- author = {Hendri Adriaens},
- date = {2016-06-24},
- version = {1.4a},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xkeyval},
- url = {https://ctan.org/pkg/xkvview},
- annotation = {If xkvview is loaded, all keys defined in a document using the
- parent package are stored in
- an internal database. The command (which takes an
- argument of options) can be used to print the keys.},
-}
-
-@manual{ctan-xl2latex,
- title = {The \texttt{xl2latex} package},
- subtitle = {Convert Excel (97 and above) tables to \LaTeX{} tabulars},
- author = {Ronny Buchmann},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/xl2latex},
- url = {https://ctan.org/pkg/xl2latex},
-}
-
-@manual{ctan-xlatex,
- title = {The \texttt{xlatex} package},
- subtitle = {A \TeX{}/\LaTeX{} shell for X-windows},
- author = {Mario Dragone},
- date = {2016-06-24},
- version = {3.3c},
- license = {other-free},
- mirror = {https://mirror.ctan.org/support/xlatex},
- url = {https://ctan.org/pkg/xlatex},
-}
-
-@manual{ctan-xlop,
- title = {The \texttt{xlop} package},
- subtitle = {Calculates and displays arithmetic operations},
- author = {Jean-Côme Charpentier},
- date = {2020-11-11},
- version = {0.28},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/generic/xlop},
- url = {https://ctan.org/pkg/xlop},
-}
-
-@manual{ctan-xltabular,
- title = {The \texttt{xltabular} package},
- subtitle = {Longtable support with possible X-column specifier},
- author = {Herbert Voß and Rolf Niepraschk},
- date = {2020-11-04},
- version = {0.2e},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xltabular},
- url = {https://ctan.org/pkg/xltabular},
-}
-
-@manual{ctan-xltxtra,
- title = {The \texttt{xltxtra} package},
- subtitle = {“Extras” for \LaTeX{} users of XeTeX},
- author = {Will Robertson},
- date = {2020-09-26},
- version = {0.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/unicodetex/latex/xltxtra},
- url = {https://ctan.org/pkg/xltxtra},
- annotation = {This package was previously used to provide a number of features
- that were useful for typesetting documents with \XeLaTeX{}.
- Many of those features have now been incorporated into the
-
- package and other packages,
- but the package persists for backwards compatibility.
- Nowadays, loading will:
- load the
- ,
- , and
- packages;
- redefine so it works correctly;
- and define two extra commands:
- and .},
-}
-
-@manual{ctan-xml2pmx,
- title = {The \texttt{xml2pmx} package},
- subtitle = {Convert MusicXML to PMX and MusiXTeX},
- author = {Mike Spivey and Dieter Glötzel and Bob Tennent},
- date = {2021-04-03},
- version = {},
- license = {gpl3+},
- mirror = {https://mirror.ctan.org/support/xml2pmx},
- url = {https://ctan.org/pkg/xml2pmx},
- annotation = {This program translates MusicXML files to input suitable for
- and processing. This package
- supports Windows, MacOS and Linux systems.},
-}
-
-@manual{ctan-xmlplay,
- title = {The \texttt{xmlplay} package},
- subtitle = {Typeset Shakespeare’s plays as marked up by Bosak},
- author = {James Kilfiger},
- date = {2019-06-21},
- license = {pd},
- url = {https://ctan.org/pkg/xmlplay},
- annotation = {This is an package for
- typsetting the
- .},
-}
-
-@manual{ctan-xmltex,
- title = {The \texttt{xmltex} package},
- subtitle = {Support for parsing XML documents},
- author = {David Carlisle},
- date = {2018-04-05},
- version = {0.8},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/xmltex/base},
- url = {https://ctan.org/pkg/xmltex},
-}
-
-@manual{ctan-xmpincl,
- title = {The \texttt{xmpincl} package},
- subtitle = {Include eXtensible Metadata Platform data in pdfLaTeX},
- author = {Maarten Sneep},
- date = {2021-09-23},
- version = {2.4},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xmpincl},
- url = {https://ctan.org/pkg/xmpincl},
-}
-
-@manual{ctan-xmuthesis,
- title = {The \texttt{xmuthesis} package},
- subtitle = {XMU thesis style},
- author = {Camuse Cao},
- date = {2020-10-12},
- version = {0.4.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xmuthesis},
- url = {https://ctan.org/pkg/xmuthesis},
-}
-
-@manual{ctan-xnewcommand,
- title = {The \texttt{xnewcommand} package},
- subtitle = {Define \textbackslash{}global and \textbackslash{}protected commands with \textbackslash{}newcommand},
- author = {Josselin Noirel},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xnewcommand},
- url = {https://ctan.org/pkg/xnewcommand},
- annotation = {The package provides the means of defining and
- (e-TeX) commands, within the framework of
- \LaTeX{}'s standard .},
-}
-
-@manual{ctan-xoptarg,
- title = {The \texttt{xoptarg} package},
- subtitle = {Expandable macros that take an optional argument},
- author = {Josselin Noirel},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xoptarg},
- url = {https://ctan.org/pkg/xoptarg},
-}
-
-@manual{ctan-xparse,
- title = {The \texttt{xparse} package},
- subtitle = {A generic document command parser},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-02},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages},
- url = {https://ctan.org/pkg/xparse},
-}
-
-@manual{ctan-xpatch,
- title = {The \texttt{xpatch} package},
- subtitle = {Extending etoolbox patching commands},
- author = {Enrico Gregorio},
- date = {2020-03-25},
- version = {0.3},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xpatch},
- url = {https://ctan.org/pkg/xpatch},
- annotation = {The package generalises the macro patching commands provided by
- Philipp Lehmann’s .},
-}
-
-@manual{ctan-xpdf,
- title = {The \texttt{xpdf} package},
- subtitle = {Viewing and manipulating PDF files},
- author = {Derek B Noonburg},
- date = {2019-01-02},
- version = {3.04},
- license = {gpl},
- url = {https://ctan.org/pkg/xpdf},
-}
-
-@manual{ctan-xpdfopen,
- title = {The \texttt{xpdfopen} package},
- subtitle = {Commands to control PDF readers, under X11},
- author = {Jim Diamond and Taco Hoekwater and Fabrice Popineau},
- date = {2019-11-28},
- version = {0.86},
- license = {pd},
- mirror = {https://mirror.ctan.org/support/xpdfopen},
- url = {https://ctan.org/pkg/xpdfopen},
-}
-
-@manual{ctan-xpeek,
- title = {The \texttt{xpeek} package},
- subtitle = {Define commands that peek ahead in the input stream},
- author = {Joel C. Salomon},
- date = {2021-08-26},
- version = {0.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xpeek},
- url = {https://ctan.org/pkg/xpeek},
- annotation = {The package provides tools to help define commands that,
- like
- and the \LaTeX{} command , peek at what follows them
- in the command stream and choose appropriate behaviour.},
-}
-
-@manual{ctan-xpiano,
- title = {The \texttt{xpiano} package},
- subtitle = {An extension of the piano package},
- author = {Enrico Gregorio},
- date = {2021-08-26},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xpiano},
- url = {https://ctan.org/pkg/xpiano},
-}
-
-@manual{ctan-xpicture,
- title = {The \texttt{xpicture} package},
- subtitle = {Extensions of \LaTeX{} picture drawing},
- author = {Robert Fuster},
- date = {2018-01-06},
- version = {1.2a},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xpicture},
- url = {https://ctan.org/pkg/xpicture},
- annotation = {The package extends the facilities of the
- and the
- packages, providing extra
- reference frames, conic section curves, graphs of elementary
- functions and other parametric curves.},
-}
-
-@manual{ctan-xpinyin,
- title = {The \texttt{xpinyin} package},
- subtitle = {Automatically add pinyin to Chinese characters},
- author = {Qing Lee},
- date = {2023-02-15},
- version = {3.1},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xpinyin},
- url = {https://ctan.org/pkg/xpinyin},
-}
-
-@manual{ctan-xprintlen,
- title = {The \texttt{xprintlen} package},
- subtitle = {Print \TeX{} lengths in a variety of units},
- author = {Liam Huang},
- date = {2017-04-18},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xprintlen},
- url = {https://ctan.org/pkg/xprintlen},
-}
-
-@manual{ctan-xpunctuate,
- title = {The \texttt{xpunctuate} package},
- subtitle = {Process trailing punctuation which may be redundant},
- author = {Philip G. Ratcliffe},
- date = {2019-03-02},
- version = {1.0},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xpunctuate},
- url = {https://ctan.org/pkg/xpunctuate},
-}
-
-@manual{ctan-xq,
- title = {The \texttt{xq} package},
- subtitle = {Support for writing about xiangqi},
- author = {Stephan Weinhold and Sebastian Pipping},
- date = {2016-06-24},
- version = {0.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/xq},
- url = {https://ctan.org/pkg/xq},
-}
-
-@manual{ctan-xr-hyper,
- title = {The \texttt{xr-hyper} package},
- subtitle = {Inter-document hyper-references},
- author = {David Carlisle and {Oberdiek Package Support Group}},
- date = {2023-02-08},
- version = {7.00v},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/hyperref/xr-hyper.sty},
- url = {https://ctan.org/pkg/xr-hyper},
-}
-
-@manual{ctan-xr,
- title = {The \texttt{xr} package},
- subtitle = {References to other \LaTeX{} documents},
- author = {David Carlisle and Jean-Pierre Drucbert and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {5.06},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/xr},
-}
-
-@manual{ctan-xrefwarn,
- title = {The \texttt{xrefwarn} package},
- subtitle = {Only one warning for an undefined citation},
- author = {Nico Verwer},
- date = {2016-06-24},
- version = {1.2},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/misc/xrefwarn.sty},
- url = {https://ctan.org/pkg/xrefwarn},
-}
-
-@manual{ctan-xsavebox,
- title = {The \texttt{xsavebox} package},
- subtitle = {Saveboxes for repeating content without code replication, based on PDF Form XObjects},
- author = {Alexander Grahn},
- date = {2022-08-04},
- version = {0.18},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xsavebox},
- url = {https://ctan.org/pkg/xsavebox},
-}
-
-@manual{ctan-xsim,
- title = {The \texttt{xsim} package},
- subtitle = {eXercise Sheets IMproved},
- author = {Clemens Niederberger},
- date = {2022-02-12},
- version = {0.21},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xsim},
- url = {https://ctan.org/pkg/xsim},
- annotation = {This package helps in creating exercises and
- the corresponding solutions.
- It is the official successor of the
- package
- and fixes/improves various long-standing issues.},
-}
-
-@manual{ctan-xskak,
- title = {The \texttt{xskak} package},
- subtitle = {An extension to the skak package for chess typesetting},
- author = {Ulrike Fischer},
- date = {2023-03-09},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xskak},
- url = {https://ctan.org/pkg/xskak},
-}
-
-@manual{ctan-xspace,
- title = {The \texttt{xspace} package},
- subtitle = {Define commands that appear not to eat spaces},
- author = {David Carlisle and Morten Høgholm and {The \LaTeX{} Project Team}},
- date = {2021-06-01},
- version = {1.13},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/required/tools},
- url = {https://ctan.org/pkg/xspace},
-}
-
-@manual{ctan-xstring,
- title = {The \texttt{xstring} package},
- subtitle = {String manipulation for (La)TeX},
- author = {Christian Tellechea},
- date = {2023-01-14},
- version = {1.85},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/generic/xstring},
- url = {https://ctan.org/pkg/xstring},
-}
-
-@manual{ctan-xtab,
- title = {The \texttt{xtab} package},
- subtitle = {Break tables across pages},
- author = {Will Robertson and Peter R. Wilson},
- date = {2016-06-24},
- version = {2.3f},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xtab},
- url = {https://ctan.org/pkg/xtab},
- annotation = {Xtab is an extended and somewhat improved version of
- ; its
- environment provides tables
- that break across pages.},
-}
-
-@manual{ctan-xtcapts,
- title = {The \texttt{xtcapts} package},
- subtitle = {Defining language-dependent text macros},
- author = {Olaf Fricke},
- date = {2016-06-24},
- version = {1.1d},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xtcapts},
- url = {https://ctan.org/pkg/xtcapts},
- annotation = {The package provides macros which generate text which switches
- according to what language has been selected in
- . The documentation includes an
- example of the use of the package.},
-}
-
-@manual{ctan-xtem,
- title = {The \texttt{xtem} package},
- subtitle = {An X11 \TeX{} menu built on Tcl/Tk},
- author = {Guenther Lamprecht and Wolfhard Lotz and Roland Weibezahn},
- date = {2016-06-24},
- version = {7.03},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/xtem_texmenu},
- url = {https://ctan.org/pkg/xtem},
-}
-
-@manual{ctan-xtemplate,
- title = {The \texttt{xtemplate} package},
- subtitle = {A high-level interface for declaring document commands},
- author = {{The \LaTeX{} Project Team}},
- date = {2023-02-02},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages},
- url = {https://ctan.org/pkg/xtemplate},
-}
-
-@manual{ctan-xtexcad,
- title = {The \texttt{xtexcad} package},
- subtitle = {Simple drawing program for \LaTeX{} use},
- author = {Johannes Sixt and Klaus Zitzmann},
- date = {2016-06-24},
- version = {2.4.1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/graphics/xtexcad},
- url = {https://ctan.org/pkg/xtexcad},
-}
-
-@manual{ctan-xtexshell,
- title = {The \texttt{XteXShell} package},
- subtitle = {A shell/editor},
- author = {Michael T. Hofmann},
- date = {2016-06-24},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/support/xtexshell},
- url = {https://ctan.org/pkg/xtexshell},
-}
-
-@manual{ctan-xtrcode,
- title = {The \texttt{xtrcode} package},
- subtitle = {Extract contents of \LaTeX{} environments},
- author = {Thomas Ruedas},
- date = {2016-06-18},
- version = {0.02},
- license = {gpl},
- mirror = {https://mirror.ctan.org/support/xtrcode},
- url = {https://ctan.org/pkg/xtrcode},
-}
-
-@manual{ctan-xtuthesis,
- title = {The \texttt{xtuthesis} package},
- subtitle = {XTU thesis template},
- author = {Lin Dongdong},
- date = {2018-04-29},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xtuthesis},
- url = {https://ctan.org/pkg/xtuthesis},
-}
-
-@manual{ctan-xunicode,
- title = {The \texttt{xunicode} package},
- subtitle = {Generate Unicode characters from accented glyphs},
- author = {Ross Moore},
- date = {2016-10-08},
- version = {0.981},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/xunicode},
- url = {https://ctan.org/pkg/xunicode},
-}
-
-@manual{ctan-xurl,
- title = {The \texttt{xurl} package},
- subtitle = {Allow URL breaks at any alphanumerical character},
- author = {Herbert Voß},
- date = {2022-01-09},
- version = {0.10},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xurl},
- url = {https://ctan.org/pkg/xurl},
-}
-
-@manual{ctan-xwatermark,
- title = {The \texttt{xwatermark} package},
- subtitle = {Graphics and text watermarks on selected pages},
- author = {Ahmed Musa},
- date = {2021-06-17},
- version = {1.5.2d},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xwatermark},
- url = {https://ctan.org/pkg/xwatermark},
-}
-
-@manual{ctan-xwpick,
- title = {The \texttt{xwpick} package},
- subtitle = {Pick an image from an X display},
- author = {Evgeni Chernyaev},
- date = {2018-01-06},
- version = {2.10},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/support/xwpick},
- url = {https://ctan.org/pkg/xwpick},
-}
-
-@manual{ctan-xyling,
- title = {The \texttt{xyling} package},
- subtitle = {Draw syntactic trees, etc., for linguistics literature, using xy-pic},
- author = {Ralf Vogel},
- date = {2016-06-24},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xyling},
- url = {https://ctan.org/pkg/xyling},
- annotation = {The macros in this package model the construction of linguistic
- tree structures as a genuinely graphical problem: they contain two
- types of objects, and , and
- these are positioned relative to a . It is essential
- that each of these three elements is constructed independent of
- the other two, and hence they can be modified without unwanted
- side effects. The macros are based on the
- package.},
-}
-
-@manual{ctan-xymatrix,
- title = {The \texttt{xymatrix} package},
- subtitle = {Commutative diagrams using XY-pic},
- author = {Kristoffer H. Rose and Ross Moore},
- date = {2016-06-24},
- version = {3.4},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/xypic/texinputs/xymatrix.tex},
- url = {https://ctan.org/pkg/xymatrix},
-}
-
-@manual{ctan-xymtex,
- title = {The \texttt{xymtex} package},
- subtitle = {Typesetting chemical structures},
- author = {Shinsaku Fujita},
- date = {2021-08-26},
- version = {5.06},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xymtex},
- url = {https://ctan.org/pkg/xymtex},
-}
-
-@manual{ctan-xypic-tut-pt,
- title = {The \texttt{xypic-tut-pt} package},
- subtitle = {A tutorial for XY-pic, in Portuguese},
- author = {Carlos Campani},
- date = {2016-06-18},
- license = {gpl},
- mirror = {https://mirror.ctan.org/info/portuguese/xypic-tutorial},
- url = {https://ctan.org/pkg/xypic-tut-pt},
-}
-
-@manual{ctan-xypic,
- title = {The \texttt{xypic} package},
- subtitle = {Flexible diagramming macros},
- author = {Kristoffer H. Rose and Ross Moore},
- date = {2021-08-26},
- version = {3.8.9},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/generic/diagrams/xypic},
- url = {https://ctan.org/pkg/xypic},
-}
-
-@manual{ctan-xytree,
- title = {The \texttt{xytree} package},
- subtitle = {Tree macros using XY-Pic},
- author = {Koaunghi Un},
- date = {2016-06-24},
- version = {1.5},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/xytree},
- url = {https://ctan.org/pkg/xytree},
-}
-
-@manual{ctan-yacco2,
- title = {The \texttt{yacco2} package},
- subtitle = {Multi-threaded LR(1) compiler/compiler that emits literate grammar documents},
- author = {David Bone},
- date = {2016-06-24},
- version = {1.1},
- license = {other-free},
- mirror = {https://mirror.ctan.org/web/yacco2},
- url = {https://ctan.org/pkg/yacco2},
-}
-
-@manual{ctan-yafoot,
- title = {The \texttt{yafoot} package},
- subtitle = {A bundle of miscellaneous footnote packages},
- author = {Hiroshi Nakashima},
- date = {2018-09-03},
- version = {1.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yafoot},
- url = {https://ctan.org/pkg/yafoot},
- annotation = {Contains three packages:
- – to number footnotes
- per page;
- – to control the
- position of footnotes; and
- – to make
- footnotes double-columned.},
-}
-
-@manual{ctan-yagusylo,
- title = {The \texttt{yagusylo} package},
- subtitle = {A symbol loader},
- author = {Yvon Henel},
- date = {2016-06-24},
- version = {1.2},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yagusylo},
- url = {https://ctan.org/pkg/yagusylo},
-}
-
-@manual{ctan-yaletter,
- title = {The \texttt{yaletter} package},
- subtitle = {Extremely flexible macros for letters, envelopes, and label sheets},
- author = {Donald P. Goodman},
- date = {2017-01-03},
- version = {1.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yaletter},
- url = {https://ctan.org/pkg/yaletter},
- annotation = {The class provides extremely configurable macros
- for typesetting letters in any conceivable style. It
- provides facilities for maintaining easily-accessible
- databases of letterheads and addresses for repeat use. It
- further provides easy macros for envelopes and for label
- sheets. Finally, it provides some nice defaults for a few
- of the more common styles and sizes.},
-}
-
-@manual{ctan-yamlvars,
- title = {The \texttt{YAMLvars} package},
- subtitle = {A YAML parser and tool for easy \LaTeX{} definition creation},
- author = {Kale Ewasiuk},
- date = {2022-11-06},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/luatex/latex/yamlvars},
- url = {https://ctan.org/pkg/yamlvars},
-}
-
-@manual{ctan-yandy,
- title = {The \texttt{yandy} package},
- subtitle = {TUG release of Y and Y’s \TeX{} distribution},
- author = {Clerk Ma and Berthold K. P. Horn},
- date = {2017-04-18},
- version = {0.5},
- license = {gpl},
- mirror = {https://mirror.ctan.org/systems/win32/yandy},
- url = {https://ctan.org/pkg/yandy},
-}
-
-@manual{ctan-yannisgr,
- title = {The \texttt{yannisgr} package},
- subtitle = {Greek fonts by Yannis Haralambous},
- author = {Yannis Haralambous and Klaus Thull},
- date = {2016-06-24},
- version = {},
- license = {gpl2},
- mirror = {https://mirror.ctan.org/fonts/greek/yannis},
- url = {https://ctan.org/pkg/yannisgr},
-}
-
-@manual{ctan-yathesis,
- title = {The \texttt{yathesis} package},
- subtitle = {A \LaTeX{} class for writing a thesis following French rules},
- author = {Denis Bitouzé},
- date = {2023-02-24},
- version = {1.0.11},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yathesis},
- url = {https://ctan.org/pkg/yathesis},
-}
-
-@manual{ctan-yax,
- title = {The \texttt{yax} package},
- subtitle = {Yet Another Key System},
- author = {Paul Isambert and Yuri Robbers},
- date = {2019-07-25},
- version = {1.03},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/generic/yax},
- url = {https://ctan.org/pkg/yax},
-}
-
-@manual{ctan-yazd-thesis,
- title = {The \texttt{yazd-thesis} package},
- subtitle = {A template for the Yazd University},
- author = {Vahid Damanafshan},
- date = {2021-09-15},
- version = {0.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/yazd-thesis},
- url = {https://ctan.org/pkg/yazd-thesis},
-}
-
-@manual{ctan-yb-book,
- title = {The \texttt{yb-book} package},
- subtitle = {Template for YB Branded Books},
- author = {Yegor Bugayenko},
- date = {2022-10-02},
- version = {0.2.0},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yb-book},
- url = {https://ctan.org/pkg/yb-book},
-}
-
-@manual{ctan-ycbook,
- title = {The \texttt{ycbook} package},
- subtitle = {A versatile book class},
- author = {Youssef Cherem},
- date = {2021-03-09},
- version = {},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ycbook},
- url = {https://ctan.org/pkg/ycbook},
- annotation = {This class is intended to be an interpretation of the
- class which is a part of the
- package.
- The classes are simple,
- yet powerful and customizable classes that allow the end-user
- to customize the layout of headers, headings etc.
- They also have the benefit of being more economic in space
- than the most common \LaTeX{} classes,
- while keeping a clear appearance and a smooth flow.},
-}
-
-@manual{ctan-ydoc,
- title = {The \texttt{ydoc} package},
- subtitle = {Macros for documentation of \LaTeX{} classes and packages},
- author = {Martin Scharrer},
- date = {2022-11-01},
- version = {0.7alpha},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ydoc},
- url = {https://ctan.org/pkg/ydoc},
-}
-
-@manual{ctan-yet-another-guide-latex2e,
- title = {The \texttt{Yet-Another-Guide-LaTeX2e} package},
- subtitle = {A short guide to using \LaTeX{}2e to typeset high quality documents},
- author = {Michael P. Morris},
- date = {2023-02-02},
- version = {1.1},
- license = {fdl},
- mirror = {https://mirror.ctan.org/info/yet-another-guide-latex2e},
- url = {https://ctan.org/pkg/yet-another-guide-latex2e},
-}
-
-@manual{ctan-yfonts-otf,
- title = {The \texttt{yfonts-otf} package},
- subtitle = {OpenType version of the Old German fonts designed by Yannis Haralambous},
- author = {Daniel Flipo},
- date = {2022-11-16},
- version = {0.43},
- license = {ofl,lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/yfonts-otf},
- url = {https://ctan.org/pkg/yfonts-otf},
-}
-
-@manual{ctan-yfonts-t1,
- title = {The \texttt{yfonts-t1} package},
- subtitle = {Old German-style fonts, in Adobe type 1 format},
- author = {Torsten Bronger and Yannis Haralambous},
- date = {2017-11-24},
- version = {1.0},
- license = {other-free},
- mirror = {https://mirror.ctan.org/fonts/ps-type1/yfonts},
- url = {https://ctan.org/pkg/yfonts-t1},
- annotation = {This package comprises type 1 versions of the
- ,
- and
- fonts of Yannis Haralambous’
- set of old German fonts.},
-}
-
-@manual{ctan-yfonts,
- title = {The \texttt{yfonts} package},
- subtitle = {Support for old German fonts},
- author = {Walter A. Schmidt and Norbert Preining},
- date = {2019-04-04},
- version = {1.4},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yfonts},
- url = {https://ctan.org/pkg/yfonts},
- annotation = {A \LaTeX{} interface to the old-german fonts designed by Yannis
- Haralambous: ,
- ,
- and the
- .},
-}
-
-@manual{ctan-yfrak,
- title = {The \texttt{yfrak} package},
- subtitle = {Old German Fraktur font},
- author = {Yannis Haralambous},
- date = {2017-01-21},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/gothic/yfrak},
- url = {https://ctan.org/pkg/yfrak},
-}
-
-@manual{ctan-ygoth,
- title = {The \texttt{ygoth} package},
- subtitle = {Old German Gothic font},
- author = {Yannis Haralambous},
- date = {2017-01-21},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/gothic/ygoth},
- url = {https://ctan.org/pkg/ygoth},
-}
-
-@manual{ctan-yhmath,
- title = {The \texttt{yhmath} package},
- subtitle = {Extended maths fonts for \LaTeX{}},
- author = {Yannis Haralambous and Norbert Preining},
- date = {2020-03-17},
- version = {1.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/fonts/yhmath},
- url = {https://ctan.org/pkg/yhmath},
-}
-
-@manual{ctan-yi4latex,
- title = {The \texttt{yi4latex} package},
- subtitle = {Yi (Southern Chinese) support},
- author = {Oliver Corff},
- date = {2019-06-21},
- version = {0.1},
- license = {nocommercial},
- mirror = {https://mirror.ctan.org/language/yi4latex},
- url = {https://ctan.org/pkg/yi4latex},
-}
-
-@manual{ctan-yinit-as,
- title = {The \texttt{yinit-as} package},
- subtitle = {Additions to Yannis Haralambous' Old German decorative initials},
- author = {Andreas Schrell},
- date = {2019-02-01},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/obsolete/fonts/gothic/yinit-as},
- url = {https://ctan.org/pkg/yinit-as},
- annotation = {This package contains a modified driver file,
- ,
- as well as a \LaTeX{} file .},
-}
-
-@manual{ctan-yinit-otf,
- title = {The \texttt{yinit-otf} package},
- subtitle = {OTF conversion of Yannis Haralambous' Old German decorative initials},
- author = {Yannis Haralambous},
- date = {2016-06-24},
- version = {1.0},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/gothic/yinit-otf},
- url = {https://ctan.org/pkg/yinit-otf},
-}
-
-@manual{ctan-yinit,
- title = {The \texttt{yinit} package},
- subtitle = {Old German decorative initials},
- author = {Yannis Haralambous},
- date = {2019-01-29},
- version = {20190124},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/gothic/yinit},
- url = {https://ctan.org/pkg/yinit},
-}
-
-@manual{ctan-york-thesis,
- title = {The \texttt{york-thesis} package},
- subtitle = {A thesis class file for York University, Toronto},
- author = {Diane Gall},
- date = {2016-06-24},
- version = {3.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/york-thesis},
- url = {https://ctan.org/pkg/york-thesis},
-}
-
-@manual{ctan-young,
- title = {The \texttt{young} package},
- subtitle = {Young tableaux},
- author = {Jörg Knappen and Paul E. S. Wormer},
- date = {2016-06-24},
- license = {gpl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/jknappen/young.sty},
- url = {https://ctan.org/pkg/young},
-}
-
-@manual{ctan-youngtab,
- title = {The \texttt{youngtab} package},
- subtitle = {Typeset Young-Tableaux},
- author = {Volker Börchers},
- date = {2020-09-30},
- version = {1.1},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/macros/generic/youngtab},
- url = {https://ctan.org/pkg/youngtab},
- annotation = {A package for typesetting Young-Tableaux, mathematical symbols
- for the representations of groups, providing two macros,
- and to generate the whole
- Young-Tableau.},
-}
-
-@manual{ctan-yplan,
- title = {The \texttt{yplan} package},
- subtitle = {Daily planner type calendar},
- author = {Dick Nickalls and Harald Harders},
- date = {2019-03-12},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/yplan},
- url = {https://ctan.org/pkg/yplan},
-}
-
-@manual{ctan-yquant,
- title = {The \texttt{yquant} package},
- subtitle = {Typesetting quantum circuits in a human-readable language},
- author = {Benjamin Desef},
- date = {2023-02-19},
- version = {0.7.3},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/yquant},
- url = {https://ctan.org/pkg/yquant},
-}
-
-@manual{ctan-yswab,
- title = {The \texttt{yswab} package},
- subtitle = {Old German Schwabacher font},
- author = {Yannis Haralambous},
- date = {2017-01-21},
- version = {},
- license = {pd},
- mirror = {https://mirror.ctan.org/fonts/gothic/yswab},
- url = {https://ctan.org/pkg/yswab},
-}
-
-@manual{ctan-yt4pdf,
- title = {The \texttt{yt4pdf} package},
- subtitle = {Play YouTube videos in a PDF},
- author = {Donald P. Story},
- date = {2020-07-30},
- version = {},
- license = {lppl1},
- mirror = {https://mirror.ctan.org/obsolete/macros/latex/contrib/yt4pdf},
- url = {https://ctan.org/pkg/yt4pdf},
-}
-
-@manual{ctan-ytableau,
- title = {The \texttt{ytableau} package},
- subtitle = {Many-featured Young tableaux and Young diagrams},
- author = {Ryan Reich},
- date = {2021-06-13},
- version = {1.4},
- license = {lppl1.2},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ytableau},
- url = {https://ctan.org/pkg/ytableau},
- annotation = {The package provides several functions for drawing Young tableaux
- and Young diagrams, extending the
- and packages but providing
- lots more features. Skew and coloured tableaux are easy, and
- pgfkeys-enabled options are provided both at package load and
- configurably.},
-}
-
-@manual{ctan-ytex,
- title = {The \texttt{ytex} package},
- subtitle = {Macro package developed at MIT},
- author = {Daniel C. Brotsky},
- date = {2018-01-06},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/ytex},
- url = {https://ctan.org/pkg/ytex},
-}
-
-@manual{ctan-zaccone,
- title = {The \texttt{zaccone} package},
- subtitle = {Different configuration for different captions},
- author = {{Unknown}},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/zaccone},
- url = {https://ctan.org/pkg/zaccone},
-}
-
-@manual{ctan-zahl2string,
- title = {The \texttt{zahl2string} package},
- subtitle = {Format numbers as German words},
- author = {Jonathan Sauer},
- date = {2016-06-24},
- version = {1.2.1},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/sauerj},
- url = {https://ctan.org/pkg/zahl2string},
-}
-
-@manual{ctan-zblbuild,
- title = {The \texttt{zblbuild} package},
- subtitle = {Help with the choice of a Bib\LaTeX{} style and options},
- author = {Guido Milanese},
- date = {2019-08-28},
- version = {0.1c},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/support/zblbuild},
- url = {https://ctan.org/pkg/zblbuild},
-}
-
-@manual{ctan-zbmath-review-template,
- title = {The \texttt{zbmath-review-template} package},
- subtitle = {Template for a zbMATH Open review},
- author = {Isabel Beckenbach},
- date = {2021-06-24},
- version = {2.1},
- license = {gpl3,cc-by-sa-4},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/zbmath-review-template},
- url = {https://ctan.org/pkg/zbmath-review-template},
-}
-
-@manual{ctan-zebra-goodies,
- title = {The \texttt{zebra-goodies} package},
- subtitle = {A collection of handy macros for paper writing},
- author = {Ruini Xue},
- date = {2019-07-04},
- version = {0.8.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zebra-goodies},
- url = {https://ctan.org/pkg/zebra-goodies},
-}
-
-@manual{ctan-zed-csp,
- title = {The \texttt{zed-csp} package},
- subtitle = {Typesetting Z and CSP format specifications},
- author = {Jim Davies and Mike Spivey},
- date = {2016-06-24},
- license = {other-free},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zed-csp},
- url = {https://ctan.org/pkg/zed-csp},
-}
-
-@manual{ctan-zed,
- title = {The \texttt{zed} package},
- subtitle = {Typeset Z specifications},
- author = {Mike Spivey},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/zed},
- url = {https://ctan.org/pkg/zed},
-}
-
-@manual{ctan-zefonts,
- title = {The \texttt{zefonts} package},
- subtitle = {Virtual fonts to provide T1 encoding from existing fonts},
- author = {Robert Fuster and Constantin Kahn},
- date = {2016-06-24},
- version = {2.1},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/fonts/zefonts},
- url = {https://ctan.org/pkg/zefonts},
-}
-
-@manual{ctan-zennote,
- title = {The \texttt{zennote} package},
- subtitle = {Streamline your note-taking process!},
- author = {Yifan Liang},
- date = {2023-01-18},
- version = {1.0.0},
- license = {cc-by-4},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zennote},
- url = {https://ctan.org/pkg/zennote},
-}
-
-@manual{ctan-zero,
- title = {The \texttt{zero} package},
- subtitle = {Start list (etc.) numbering at zero},
- author = {Tom Verhoeff},
- date = {2016-06-24},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/latex209/contrib/zero},
- url = {https://ctan.org/pkg/zero},
-}
-
-@manual{ctan-zhlineskip,
- title = {The \texttt{zhlineskip} package},
- subtitle = {Line spacing for CJK documents},
- author = {Ruixi Zhang},
- date = {2019-05-16},
- version = {1.0e},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/language/chinese/zhlineskip},
- url = {https://ctan.org/pkg/zhlineskip},
- annotation = {This package supports typesetting CJK documents. It allows users
- to specify the two ratios between the leading and the font size
- of the body text and the footnote text. For CJK typesetting,
- these ratios usually range from 1.5 to 1.67. This package is
- also capable of restoring the math leading to that of the Latin
- text (usually 1.2 times the font size). Finally, it is possible
- to achieve the
- style using .},
-}
-
-@manual{ctan-zhlipsum,
- title = {The \texttt{zhlipsum} package},
- subtitle = {Chinese dummy text},
- author = {Xiangdong Zeng},
- date = {2020-04-26},
- version = {1.2.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zhlipsum},
- url = {https://ctan.org/pkg/zhlipsum},
-}
-
-@manual{ctan-zhmakeindex,
- title = {The \texttt{zhmakeindex} package},
- subtitle = {Makeindex replacement for Chinese users},
- author = {Leo Liu},
- date = {2018-04-11},
- version = {1.2},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/indexing/zhmakeindex},
- url = {https://ctan.org/pkg/zhmakeindex},
-}
-
-@manual{ctan-zhmcjk,
- title = {The \texttt{zhmCJK} package},
- subtitle = {Simplify configuration of CJK installations for Chinese},
- author = {Leo Liu},
- date = {2016-11-29},
- version = {0.9c},
- license = {lppl},
- mirror = {https://mirror.ctan.org/language/chinese/zhmcjk},
- url = {https://ctan.org/pkg/zhmcjk},
-}
-
-@manual{ctan-zhmetrics-uptex,
- title = {The \texttt{zhmetrics-uptex} package},
- subtitle = {Chinese font metrics for upTeX},
- author = {Leo Liu},
- date = {2021-10-22},
- version = {1.0},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/zhmetrics-uptex},
- url = {https://ctan.org/pkg/zhmetrics-uptex},
-}
-
-@manual{ctan-zhmetrics,
- title = {The \texttt{zhmetrics} package},
- subtitle = {TFM subfont files for using Chinese fonts in 8-bit \TeX{}},
- author = {Yue Wang and LingYun Wu},
- date = {2016-06-24},
- version = {r206},
- license = {lppl},
- mirror = {https://mirror.ctan.org/fonts/psfonts/zhmetrics},
- url = {https://ctan.org/pkg/zhmetrics},
-}
-
-@manual{ctan-zhnumber,
- title = {The \texttt{zhnumber} package},
- subtitle = {Typeset Chinese representations of numbers},
- author = {Qing Lee},
- date = {2023-02-15},
- version = {3.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zhnumber},
- url = {https://ctan.org/pkg/zhnumber},
- annotation = {The package provides commands to typeset Chinese representations
- of numbers. The main difference between this package and
- is that the commands provided
- are expandable in the ‘proper’ way.},
-}
-
-@manual{ctan-zhspacing,
- title = {The \texttt{zhspacing} package},
- subtitle = {Spacing for mixed CJK-English documents in XeTeX},
- author = {Yin Dian and Qing Lee},
- date = {2017-04-18},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/xetex/generic/zhspacing},
- url = {https://ctan.org/pkg/zhspacing},
-}
-
-@manual{ctan-ziffer,
- title = {The \texttt{ziffer} package},
- subtitle = {Conversion of punctuation in maths mode},
- author = {Martin Väth},
- date = {2016-06-24},
- version = {2.1},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/ziffer},
- url = {https://ctan.org/pkg/ziffer},
-}
-
-@manual{ctan-zigaretten,
- title = {The \texttt{zigaretten} package},
- subtitle = {Propaganda and mind-numbing for cigarette addicts},
- author = {Régis Lachaume},
- date = {2016-06-24},
- license = {pd},
- mirror = {https://mirror.ctan.org/graphics/zigaretten},
- url = {https://ctan.org/pkg/zigaretten},
-}
-
-@manual{ctan-zip,
- title = {The \texttt{zip} package},
- subtitle = {Barcodes for USA ZIP code},
- author = {J. Daniel Smith},
- date = {2020-04-11},
- version = {},
- license = {noinfo},
- mirror = {https://mirror.ctan.org/macros/generic/misc/zip.tex},
- url = {https://ctan.org/pkg/zip},
-}
-
-@manual{ctan-zitie,
- title = {The \texttt{zitie} package},
- subtitle = {Create CJK character calligraphy practicing sheets},
- author = {{Unknown}},
- date = {2021-10-04},
- version = {1.4.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/xetex/latex/zitie},
- url = {https://ctan.org/pkg/zitie},
-}
-
-@manual{ctan-zlmtt,
- title = {The \texttt{zlmtt} package},
- subtitle = {Use Latin Modern Typewriter fonts},
- author = {Michael Sharpe},
- date = {2022-08-08},
- version = {1.032},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/fonts/zlmtt},
- url = {https://ctan.org/pkg/zlmtt},
-}
-
-@manual{ctan-zootaxa-bst,
- title = {The \texttt{zootaxa-bst} package},
- subtitle = {A BibTeX style for the journal Zootaxa},
- author = {Gustavo A. Ballen},
- date = {2019-05-01},
- version = {1.0},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/biblio/bibtex/contrib/zootaxa-bst},
- url = {https://ctan.org/pkg/zootaxa-bst},
-}
-
-@manual{ctan-zref-check,
- title = {The \texttt{zref-check} package},
- subtitle = {Flexible cross-references with contextual checks based on zref},
- author = {Gustavo Barros},
- date = {2022-07-07},
- version = {0.3.2},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zref-check},
- url = {https://ctan.org/pkg/zref-check},
- annotation = {This package provides an user interface for making
- \LaTeX{} cross-references flexibly, while allowing to
- have them checked for consistency with the document
- structure as typeset.
-
- Statements such as “above”, “on the next page”, “previously”,
- “as will be discussed”, “on the previous chapter” and so on
- can be given to in free-form, and a set of
- “checks” can be specified to be run against a given “label”,
- which will result in a warning at compilation time if any
- of these checks fail.
-
- and the environment
- are also defined as a means to easily set label targets
- to arbitrary places in the text which can be referred to
- by .},
-}
-
-@manual{ctan-zref-clever,
- title = {The \texttt{zref-clever} package},
- subtitle = {Clever \LaTeX{} cross-references based on zref},
- author = {Gustavo Barros},
- date = {2023-02-21},
- version = {0.3.6},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zref-clever},
- url = {https://ctan.org/pkg/zref-clever},
- annotation = {This package provides a user interface for making
- \LaTeX{} cross-references which automates some of their
- typical features, thus easing their input in the document
- and improving the consistency of typeset results.
- A reference made with includes
- a “name” according to its “type”, and lists of multiple labels
- can be automatically sorted and compressed into ranges when due.
- The reference format is highly and easily customizable,
- both globally and locally.
- The package is based on ’s
- extensible referencing system.},
-}
-
-@manual{ctan-zref-vario,
- title = {The \texttt{zref-vario} package},
- subtitle = {Extended \LaTeX{} page cross-references with varioref and zref-clever},
- author = {Gustavo Barros},
- date = {2023-01-03},
- version = {0.1.7},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zref-vario},
- url = {https://ctan.org/pkg/zref-vario},
- annotation = {This package offers a compatibility layer for
- to be used alongside . It provides
- counterparts to 's main reference commands,
- each of which essentially does some (scoped) setup for ,
- then calls the original one.},
-}
-
-@manual{ctan-zref,
- title = {The \texttt{zref} package},
- subtitle = {A new reference scheme for \LaTeX{}},
- author = {Heiko Oberdiek},
- date = {2022-04-07},
- version = {2.34},
- license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zref},
- url = {https://ctan.org/pkg/zref},
-}
-
-@manual{ctan-zwgetfdate,
- title = {The \texttt{zwgetfdate} package},
- subtitle = {Get package or file date},
- author = {Zdeněk Wagner},
- date = {2017-04-18},
- version = {},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zwgetfdate},
- url = {https://ctan.org/pkg/zwgetfdate},
- annotation = {The package can fetch the date declaration of packages and files
- used by a document, and then provide the information in macros.
- The facilities provide a means of obtaining the date of a package
- being documented; this is mainly of use when
- /.},
-}
-
-@manual{ctan-zwpagelayout,
- title = {The \texttt{zwpagelayout} package},
- subtitle = {Page layout and crop-marks},
- author = {Zdeněk Wagner},
- date = {2022-04-18},
- version = {1.4e},
- license = {lppl},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/zwpagelayout},
- url = {https://ctan.org/pkg/zwpagelayout},
-}
-
-@manual{ctan-zx-calculus,
- title = {The \texttt{zx-calculus} package},
- subtitle = {A library to typeset ZX Calculus diagrams},
- author = {Léo Colisson},
- date = {2021-10-22},
- version = {},
- license = {mit},
- mirror = {https://mirror.ctan.org/graphics/pgf/contrib/zx-calculus},
- url = {https://ctan.org/pkg/zx-calculus},
- annotation = {This library (based on the great
- and packages)
- allows you to typeset ZX-calculus directly in \LaTeX{}.
- It comes with many pre-built wire shapes, a highly customizable
- node style (with multiple flavours for putting labels inside
- or outside nodes), and a “debugging” mode to avoid
- getting lost in big diagrams.},
-}
-
-@manual{ctan-zxjafbfont,
- title = {The \texttt{zxjafbfont} package},
- subtitle = {Fallback CJK font support for xeCJK},
- author = {Takayuki Yato},
- date = {2016-12-18},
- version = {0.2},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/zxjafbfont},
- url = {https://ctan.org/pkg/zxjafbfont},
-}
-
-@manual{ctan-zxjafont,
- title = {The \texttt{ZXjafont} package},
- subtitle = {Set up Japanese font families for \XeLaTeX{}},
- author = {Takayuki Yato},
- date = {2022-03-21},
- version = {1.3},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/zxjafont},
- url = {https://ctan.org/pkg/zxjafont},
-}
-
-@manual{ctan-zxjatype,
- title = {The \texttt{ZXjatype} package},
- subtitle = {Standard conforming typesetting of Japanese, for \XeLaTeX{}},
- author = {Takayuki Yato},
- date = {2020-01-21},
- version = {0.7},
- license = {mit},
- mirror = {https://mirror.ctan.org/language/japanese/zxjatype},
- url = {https://ctan.org/pkg/zxjatype},
-}
-
-@manual{ctan-zztex,
- title = {The \texttt{ZzTeX} package},
- subtitle = {A full-featured \TeX{} macro package for producing books, journals, and manuals},
- author = {Paul C. Anagnostopoulos},
- date = {2020-07-20},
- version = {17.7},
- license = {mit},
- mirror = {https://mirror.ctan.org/macros/plain/contrib/zztex},
- url = {https://ctan.org/pkg/zztex},
-}
-
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/mpgraphics},
+ url = {https://ctan.org/pkg/mpgraphics},
+} \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
index e33e5c228f..0dac2d7311 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
index fdf595c199..8cf4546ec2 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex
@@ -11,169 +11,10 @@
% without any invariant section or cover text.
\documentclass[english]{ltxdoc}
-\usepackage{tcolorbox}
-\tcbuselibrary{listings,breakable}
-%\tcbuselibrary{documentation}
-\usepackage{enumitem}
-\usepackage[tikz]{bclogo}
-\usepackage{mflogo}
-\usepackage{hologo}
-\usepackage{luamplib}
-\mplibtextextlabel{enable}
-\usepackage{biblatex}
-\addbibresource{ctan.bib}
-\usepackage{wrapfig}
-\usepackage{siunitx}
-\usepackage{imakeidx}
-\usepackage{fancyvrb,xparse,xargs}
-\usepackage[sfdefault]{FiraSans}
-\usepackage[mathrm=sym]{firamath-otf}
-%\setmonofont{Fira Mono}
-\setmonofont{FiraCode-Regular.ttf}[BoldFont= FiraCode-Bold.ttf,ItalicFont= FiraCode-RegularItalic.otf,BoldItalicFont= FiraCode-BoldItalic.otf,]
-
-\usepackage{xspace}
-\usepackage{animate}
-\usepackage[english]{babel}
-\newcommand{\ctan}{\textsc{ctan}}
-\NewDocumentCommand{\package}{ m }{%
- \href{https://ctan.org/pkg/#1}{#1}\xspace
-}
-\definecolor{darkred}{rgb}{0.6,0.1,0.1}
-\definecolor{vert}{rgb}{0.1,0.4,0.1}
-\definecolor{bleu}{rgb}{0.2,0.2,0.6}
-\definecolor{orange}{rgb}{0.6,0.4,0.}
-\colorlet{code}{blue!80!black}
-
-\usepackage[colorlinks=true,urlcolor=orange,linkcolor=orange,menucolor=black,citecolor=orange]{hyperref}
-
-\newcommand \file {\nolinkurl}
-\renewcommand \cmd {\texttt}
-\renewcommand \code [1] {\texorpdfstring {\texttt{\color{code}#1}} {#1}}
-\renewcommand*\cs [1] {\code{\textbackslash #1}}
-
-
-
-\newcommand*\commande{\par\bigskip\noindent\hspace{-30pt}%
- \SaveVerb[aftersave={%
- \UseVerb{Vitem}%
- }%
- ]{Vitem}%
- }
- \newcommand\vitem[1][]{\SaveVerb[%
- aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}}
-\newcommand*\textme[1]{\textcolor{black}{\rmfamily\textit{#1}}}
-%\renewcommand*\meta[1]{% % meta
-% \textme{\ensuremath{\langle}#1\ensuremath{\rangle}}}
-\newcommand*\optstar{% % optional star
- \meta{\ensuremath{*}}\xspace}
-\DefineShortVerb{\|}
-\newcommand\R{\mathbf{R}}
-\setlength{\fboxsep}{2pt}
-\fvset{%
- codes={\catcode`\«\active \catcode`\×\active },
- defineactive={\makefancyog\makefancytimes},
- formatcom=\color{darkred},
- frame=single
-}
-% rendre «...» équivalent à \meta{...}
-{\catcode`\«\active
- \newcommandx\makefancyog[0][addprefix=\global]{%
- \def«##1»{\meta{##1}}}}
-% rendre × équivalent à \optstar
-{\catcode`\×\active
- \newcommandx\makefancytimes[0][addprefix=\global]{%
- \def×{\optstar{}}}}
-
-
-\newcommand\mpchess{\textbf{\textlogo{MP}}\textit{chess}\xspace}
-
-
-
-%\addbibresource{biblio.bib}
-
-
-\lstset{
- numberstyle=\footnotesize\color{vert},
- keywordstyle=\ttfamily\bfseries\color{bleu},
- basicstyle=\ttfamily,
- commentstyle=\itshape\color{vert},
- stringstyle=\ttfamily\color{orange},
- showstringspaces=false,
- language=MetaPost,
- breaklines=true,
- breakindent=30pt,
- defaultdialect=MetaPost,
- classoffset=1,% frame=tb
- morekeywords={init_backboard,set_backboard_width,set_backboard_size,set_color_theme,get_backboard_width,get_backboard_size,set_backboard_width,get_square_dim,set_white_color,set_black_color,set_coords_inside,set_coords_outside,set_coords_font,set_coords,
- set_no_coords,set_white_view,set_black_view,
- set_white_player,set_black_player,set_pieces_theme,set_players_side,init_chessboard,set_empty_chessboard,add_white_pieces,add_black_pieces,clear_areas,clear_files,clear_ranks,clear_squares,build_chessboard_from_fen,build_chessboards_from_pgn,clear_chessboard,
- color_square,draw_arrows,draw_circles,draw_comment,draw_crosses,get_halfmove_number,get_totalmove_number,
- reset_mpchess,set_black_to_move,set_last_move_color,set_comment_color,set_white_to_move,set_whos_to_move,show_last_move,unset_whos_to_move,set_arrow_width,clip_chessboard},
- keywordstyle=\color{darkred},
- classoffset=2,% frame=tb
- morekeywords={backboard,chessboard,chessboard_step},
- keywordstyle=\color{vert},
- classoffset=0,% frame=tb
- morekeywords={draw},
- keywordstyle=\color{bleu}
-}
-
-\makeatletter
-\tcbset{%
- listing metapost/.code={%
- \def\tcbuselistingtext@input{\begin{mplibcode} input \jobname.listing; \end{mplibcode}}%
- }
-}
-\makeatother
-\newtcblisting[auto counter,]{ExempleMP}[1][]{%
- arc=0pt,outer arc=0pt,
- colback=darkred!3,
- colframe=darkred,
- breakable,fontupper=\small,
- boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
- 3pt, toptitle=3pt,
- boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
- 0pt, bottomrule at break = 0pt,
- listing side text,
- listing metapost,
- title=Exemple~\thetcbcounter,
- listing options={breaklines},#1
-}
-
-\newtcblisting{commandshell}{colback=black,colupper=white,colframe=black,
- arc=0pt,
- listing only,boxsep=0pt,listing
- options={style=tcblatex,language=sh},
- every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}}
-
-
- \newtcblisting{mpcode}{
- arc=0pt,outer arc=0pt,
- colback=darkred!3,
- colframe=darkred,
- breakable,
- boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
- 3pt, toptitle=3pt,
- boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
- 0pt, bottomrule at break = 0pt,
- listing only,boxsep=0pt,listing
- options={breaklines}
-}
-
-\newtcblisting{latexcode}{
- arc=0pt,outer arc=0pt,
- colback=darkred!3,
- colframe=darkred,
- breakable,
- boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
- 3pt, toptitle=3pt,
- boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
- 0pt, bottomrule at break = 0pt,
- listing only,boxsep=0pt,listing
- options={breaklines,language={[LaTeX]TeX}}
-}
+\input{mpchess-preamble}
+\usepackage[english]{babel}
\makeindex[title=Command Index, columns=2]
@@ -227,7 +68,7 @@
}
\vfill
\begin{center}
- Version 0.1, 2023, March, 23th \\
+ Version 0.3, 2023, March, 29th \\
\url{https://plmlab.math.cnrs.fr/mchupin/mpchess}
\end{center}
%% == Page de garde ====================================================
@@ -295,7 +136,7 @@ Then, you will have to place the \lstinline+.mp+ files in the
\item \verb+mpchess-pgn.mp+;
\item \verb+mpchess-fen.mp+;
\item \verb+mpchess-cburnett.mp+;
- \item \verb+mpchess-staunty.mp+;
+ \item \verb+mpchess-pieces.mp+;
\item \verb+mpchess-skak.mp+.
\end{itemize}
@@ -320,20 +161,6 @@ These two systems are unknown to the author of \mpchess, so we refer to their do
\mpchess is not used with \hologo{LuaLaTeX} and \package{luamplib},
\package{latexmp}.
-\subsection{Use with \hologo{LuaLaTeX} and \package{luamplib}}
-
-It is possible to use \mpchess directly in a \LaTeX{} file with
-\hologo{LuaLaTeX} and the package \package{luamplib}. This is what is done to
-write this documentation.
-
-For certain functionalities, \mpchess uses the \MP{} operator
-\lstinline+infont+. Thus, in order for the content of these features to be composed in the current font of the document, one must add the command :
-\begin{latexcode}
-\mplibtextextlabel{enable}
-\end{latexcode}
-
-For more details on these mechanisms, we refer to the documentation of the
-package \package{luamplib}~\cite{ctan-luamplib}.
\section{Why this package and general philosophy}
@@ -637,8 +464,8 @@ To choose the theme we will use the following command.
\begin{itemize}
\item \lstinline+"cburnett"+ (default), to get the Lichess \emph{cburnett}
pieces set;
-\item \lstinline+"staunty"+, to get the Lichess \emph{staunty}
-pieces set;
+\item \lstinline+"mpchess"+, to get the set specially designed for this
+package;
\item \lstinline+"skak"+, to get the \package{skak}
pieces set.
\end{itemize}
@@ -650,7 +477,7 @@ The table~\ref{tab:pieces} shows the result of the three sets of pieces.
\centering
\begin{tabular}{cc}
-\lstinline+cburnett+ theme&\lstinline+staunty+ theme\\
+\lstinline+cburnett+ theme&\lstinline+mpchess+ theme\\
\begin{mplibcode}
input mpchess
beginfig(0);
@@ -668,7 +495,7 @@ The table~\ref{tab:pieces} shows the result of the three sets of pieces.
beginfig(0);
init_chessboard;
set_backboard_width(4cm);
- set_pieces_theme("staunty");
+ set_pieces_theme("mpchess");
unset_whos_to_move;
init_backboard;
draw backboard;
@@ -858,10 +685,35 @@ endfig;
\end{ExempleMP}
+It is also possible to read an external file containing on the first line a
+string in the format \textsc{fen} with the following command.
+
+\commande|build_chessboard_from_fen_file(«string»)|\index{build_chessboard_from_fen_file@\lstinline+build_chessboard_from_fen_file+}\smallskip
+
+\begin{description}
+ \item[\meta{string}:] is a string of characters (between double quotes)
+ indicating the name of the file to read.
+\end{description}
+
+
+\begin{ExempleMP}
+input mpchess;
+beginfig(0);
+init_backboard;
+draw backboard;
+build_chessboard_from_fen_file("test.fen");
+draw chessboard;
+endfig;
+\end{ExempleMP}
+
\subsection{Reading data in \textsc{pgn} format}
-\mpchess also makes it possible to read a string in the \textsc{pgn}
-format.
+\mpchess also allows to read a string in the format \textsc{pgn}.
+Attention, this is a partial management of the format, in particular \mpchess
+does not manage the \emph{tags} of the format. In reality, \mpchess only handles
+the string describing the moves played. In the same way, the accepted format
+ by \mpchess does not allow variants or comments.
+
When such a functionality is used, \mpchess stores all the
intermediate positions and thus allows to represent them.
@@ -869,7 +721,6 @@ To construct the positions, we use the following command.
\commande|build_chessboards_from_pgn(«string»)|\index{build_chessboards_from_pgn@\lstinline+build_chessboards_from_pgn+}\smallskip
-The \textsc{pgn} format accepted is a simplified one which does not accept variants or comments.
Once the positions are built, we can represent them with the following command.
@@ -895,6 +746,26 @@ draw chessboard_step(3); % Nf3
endfig;
\end{ExempleMP}
+
+It is also possible to read an external file containing on the first line a
+string in the format \textsc{pgn} with the following command.
+
+\commande|build_chessboard_from_pgn_file(«string»)|\index{build_chessboard_from_pgn_file@\lstinline+build_chessboard_from_pgn_file+}\smallskip
+
+\begin{description}
+ \item[\meta{string}:] is a string of characters (between double quotes)
+ indicating the name of the file to read.
+\end{description}
+
+\begin{ExempleMP}
+input mpchess;
+build_chessboards_from_pgn_file("test.pgn");
+beginfig(0);
+init_backboard;
+draw backboard;
+draw chessboard_step(4); % Nc6
+endfig;
+\end{ExempleMP}
\subsubsection{Show last move}
The last move can be displayed automatically with the following command.
@@ -1125,6 +996,52 @@ following command.
\commande|set_comment_color(«color»)|\index{set_comment_color@\lstinline+set_comment_color+}\smallskip
+\subsection{Main Lines}
+
+\mpchess provides a command to display the arrows of the moves of the
+main lines of analysis. There are commands for both colors.
+
+\commande|draw_white_main_lines(«move1»,«move2»,etc.)|\index{draw_white_main_lines@\lstinline+draw_white_main_lines+}\smallskip
+
+\commande|draw_black_main_lines(«move1»,«move2»,etc.)|\index{draw_black_main_lines@\lstinline+draw_black_main_lines+}\smallskip
+
+\begin{description}
+ \item[\meta{move1}, \meta{move2}, etc.:] are the moves to be illustrated using
+\textsc{pgn} notation.
+\end{description}
+
+When using the format \textsc{pgn} for the construction of the positions to be
+to be displayed, the following commands can be used
+to specify which move of the game is being commented on.
+
+\commande|draw_white_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_white_main_lines_step@\lstinline+draw_white_main_lines_step+}\smallskip
+
+\commande|draw_black_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_black_main_lines_step@\lstinline+draw_black_main_lines_step+}\smallskip
+
+\begin{description}
+\item[\meta{step}:] is the step of the game you want to annote;
+\item[\meta{move1}, \meta{move2}, etc.:] are the moves to be illustrated using
+\textsc{pgn} notation.
+\end{description}
+
+The following example illustrates the use of this command.
+\begin{ExempleMP}
+input mpchess
+string pgnstr;
+pgnstr:="1. e4 d5";
+build_chessboards_from_pgn(pgnstr);
+beginfig(0);
+init_backboard;
+draw backboard;
+draw chessboard_step(2);
+draw_white_main_lines_step(2)("exd5","e5","Nc3");
+endfig;
+\end{ExempleMP}
+
+To change the color (by default \lstinline+0.3[_blackColorSquare,black]+),
+we will use the following command.
+
+\commande|set_main_lines_color(«color»)|\index{set_main_lines_color@\lstinline+set_main_lines_color+}\smallskip
\section{Miscellaneous}
@@ -1174,6 +1091,127 @@ clip_chessboard("e1-g4");
endfig;
\end{ExempleMP}
+
+\section{Use with \LaTeX{}}
+
+\subsection{Use with \hologo{pdfLaTeX} or \hologo{XeLaTeX}}
+
+There are several ways to include the images produced by \mpchess in a \LaTeX
+document. The first is to generate pdf files with \MP{} and then to include them
+with \lstinline[language=TeX]+\includegraphics+. This solution works with all
+engines.
+
+You can also use the packages \package{gmp} or \package{mpgraphics} with
+\hologo{pdfLaTeX} or \hologo{XeLaTeX}\footnote{We would like to thank Quark67
+for the questions and advice}.
+
+\subsubsection{With \package{mpgraphics}}
+
+With \package{mpgraphics}~\cite{ctan-mpgraphics}, we load \mpchess with the
+\lstinline+mpdefs+ environment and we can produce images with \MP{}
+code but without using \lstinline+beginfig+ and \lstinline+endfig+,
+the code to generate a figure is in the \lstinline+mpdisplay+ environment. It will be necessary to use the option \lstinline+-shell-escape+ option when compiling the \LaTeX document.
+
+Here is a complete example of illustration.
+
+\begin{latexcode}
+\documentclass{article}
+\usepackage{mpgraphics}
+\begin{document}
+\begin{mpdefs}
+input mpchess
+\end{mpdefs}
+\begin{mpdisplay}
+init_backboard;
+draw backboard;
+init_chessboard;
+draw chessboard;
+draw_arrows(red)("e7--e5","g1|-f3");
+\end{mpdisplay}
+\end{figure}
+\end{document}
+\end{latexcode}
+
+\subsubsection{With \package{gmp}}
+
+The use of \package{gmp}~\cite{ctan-gmp} is quite similar to that of
+\package{mpgraphics}. Some commands are different, but as with
+\package{mpgraphics}, we do not use \lstinline+beginfig+ and
+\lstinline+endfig+. The loading of \mpchess can be done when loading the
+package, and the \MP{} code is in a \lstinline+mpost+ environment. Here again
+it will be necessary to compile the \LaTeX{} document with the
+\lstinline+-shell-escape+ option.
+
+
+
+Here is a complete example of illustration.
+
+
+\begin{latexcode}
+\documentclass{article}
+\usepackage[shellescape, everymp={input mpchess;}]{gmp}
+
+\begin{document}
+
+\begin{mpost}
+init_backboard;
+draw backboard;
+init_chessboard;
+draw chessboard;
+draw_arrows(red)("e7--e5","g1|-f3");
+\end{mpost}
+\end{document}
+\end{latexcode}
+\subsection{Use with \hologo{LuaLaTeX} and \package{luamplib}}
+
+It is possible to use \mpchess directly in a \LaTeX{} file with
+\hologo{LuaLaTeX} and the package \package{luamplib}. This is what is done to
+write this documentation.
+
+It will then suffice to put the \MP{} code in the environment
+\lstinline+mplibcode+.
+
+For certain functionalities, \mpchess uses the \MP{} operator
+\lstinline+infont+. Thus, in order for the content of these features to be composed in the current font of the document, one must add the command :
+\begin{latexcode}
+\mplibtextextlabel{enable}
+\end{latexcode}
+
+
+
+For more details on these mechanisms, we refer to the documentation of the
+package \package{luamplib}~\cite{ctan-luamplib}.
+
+We can load globally \mpchess with the following command.
+
+\begin{latexcode}
+\everymplib{input mpchess;}
+\end{latexcode}
+
+Here is a complete example of illustration (to be compiled with
+\hologo{LuaLaTeX}).
+
+
+\begin{latexcode}
+\documentclass{article}
+\usepackage{luamplib}
+
+\everymplib{input mpchess;}
+
+\begin{document}
+
+\begin{mplibcode}
+beginfig(0);
+init_backboard;
+draw backboard;
+init_chessboard;
+draw chessboard;
+draw_arrows(red)("e7--e5","g1|-f3");
+endfig;
+\end{mplibcode}
+\end{document}
+\end{latexcode}
+
\section{To do}
Many things can be added to \mpchess. Among these, we can think of:
@@ -1211,6 +1249,17 @@ draw_arrows(0.3[red,black])("c4--f7");
endfig;
\end{ExempleMP}
+\section{History}
+
+\begin{description}
+ \item[v0.3, March 29, 2023:] Small bug.
+\item [v0.2, March 28, 2023:] Added commands for \textsc{pgn} and \textsc{fen}
+file reading; added commands for displaying the main lines of
+analysis; removal of the \lstinline+staunty+ theme (because of
+license) and creation of the \lstinline+mpchess+ parts theme.
+\item[v0.1, March 23, 2023:] First publication on the \ctan.
+\end{description}
+
\printbibliography
\printindex
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
index 6c98fb92a9..07fbf7d336 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf
Binary files differ
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
index 1e9b8fb3a3..e72f5fca91 100644
--- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex
@@ -11,175 +11,17 @@
% without any invariant section or cover text.
\documentclass[french]{ltxdoc}
-\usepackage{tcolorbox}
-\tcbuselibrary{listings,breakable}
-%\tcbuselibrary{documentation}
-\usepackage{enumitem}
-\usepackage[tikz]{bclogo}
-\usepackage{mflogo}
-\usepackage{hologo}
-\usepackage{luamplib}
-\mplibtextextlabel{enable}
-\usepackage{biblatex}
-\addbibresource{ctan.bib}
-\usepackage{wrapfig}
-\usepackage{siunitx}
-\usepackage{imakeidx}
-%\usepackage{csquotes}
-\usepackage{fancyvrb,xparse,xargs}
-\usepackage[sfdefault]{FiraSans}
-\usepackage[mathrm=sym]{firamath-otf}
-%\setmonofont{Fira Mono}
-\setmonofont{FiraCode-Regular.ttf}[BoldFont= FiraCode-Bold.ttf,ItalicFont= FiraCode-RegularItalic.otf,BoldItalicFont= FiraCode-BoldItalic.otf,]
-
-\usepackage{xspace}
-\usepackage{animate}
-\usepackage[french]{babel}
-\newcommand{\ctan}{\textsc{ctan}}
-\NewDocumentCommand{\package}{ m }{%
- \href{https://ctan.org/pkg/#1}{#1}\xspace
-}
-
-\definecolor{darkred}{rgb}{0.6,0.1,0.1}
-\definecolor{vert}{rgb}{0.1,0.4,0.1}
-\definecolor{bleu}{rgb}{0.2,0.2,0.6}
-\definecolor{orange}{rgb}{0.6,0.4,0.}
-\colorlet{code}{blue!80!black}
-
-\usepackage[colorlinks=true,urlcolor=orange,linkcolor=orange,menucolor=black,citecolor=orange]{hyperref}
-
-\newcommand \file {\nolinkurl}
-\renewcommand \cmd {\texttt}
-\renewcommand \code [1] {\texorpdfstring {\texttt{\color{code}#1}} {#1}}
-\renewcommand*\cs [1] {\code{\textbackslash #1}}
-
-
-
-\newcommand*\commande{\par\bigskip\noindent\hspace{-30pt}%
- \SaveVerb[aftersave={%
- \UseVerb{Vitem}%
- }%
- ]{Vitem}%
- }
- \newcommand\vitem[1][]{\SaveVerb[%
- aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}}
-\newcommand*\textme[1]{\textcolor{black}{\rmfamily\textit{#1}}}
-%\renewcommand*\meta[1]{% % meta
-% \textme{\ensuremath{\langle}#1\ensuremath{\rangle}}}
-\newcommand*\optstar{% % optional star
- \meta{\ensuremath{*}}\xspace}
-\DefineShortVerb{\|}
-\newcommand\R{\mathbf{R}}
-\setlength{\fboxsep}{2pt}
-\fvset{%
- codes={\catcode`\«\active \catcode`\×\active },
- defineactive={\makefancyog\makefancytimes},
- formatcom=\color{darkred},
- frame=single
-}
-% rendre «...» équivalent à \meta{...}
-{\catcode`\«\active
- \newcommandx\makefancyog[0][addprefix=\global]{%
- \def«##1»{\meta{##1}}}}
-% rendre × équivalent à \optstar
-{\catcode`\×\active
- \newcommandx\makefancytimes[0][addprefix=\global]{%
- \def×{\optstar{}}}}
-
-
-\newcommand\mpchess{\textbf{\textlogo{MP}}\textit{chess}\xspace}
-
-
-
-%\addbibresource{biblio.bib}
-
-
-\lstset{
- numberstyle=\footnotesize\color{vert},
- keywordstyle=\ttfamily\bfseries\color{bleu},
- basicstyle=\ttfamily,
- commentstyle=\itshape\color{vert},
- stringstyle=\ttfamily\color{orange},
- showstringspaces=false,
- language=MetaPost,
- breaklines=true,
- breakindent=30pt,
- defaultdialect=MetaPost,
- classoffset=1,% frame=tb
- morekeywords={init_backboard,set_backboard_width,set_backboard_size,set_color_theme,get_backboard_width,get_backboard_size,set_backboard_width,get_square_dim,set_white_color,set_black_color,set_coords_inside,set_coords_outside,set_coords_font,set_coords,
- set_no_coords,set_white_view,set_black_view,
- set_white_player,set_black_player,set_pieces_theme,set_players_side,init_chessboard,set_empty_chessboard,add_white_pieces,add_black_pieces,clear_areas,clear_files,clear_ranks,clear_squares,build_chessboard_from_fen,build_chessboards_from_pgn,clear_chessboard,
- color_square,draw_arrows,draw_circles,draw_comment,draw_crosses,get_halfmove_number,get_totalmove_number,
- reset_mpchess,set_black_to_move,set_last_move_color,set_comment_color,set_white_to_move,set_whos_to_move,show_last_move,unset_whos_to_move,set_arrow_width,clip_chessboard},
- keywordstyle=\color{darkred},
- classoffset=2,% frame=tb
- morekeywords={backboard,chessboard,chessboard_step},
- keywordstyle=\color{vert},
- classoffset=0,% frame=tb
- morekeywords={draw},
- keywordstyle=\color{bleu}
-}
-
-\makeatletter
-\tcbset{%
- listing metapost/.code={%
- \def\tcbuselistingtext@input{\begin{mplibcode} input \jobname.listing; \end{mplibcode}}%
- }
-}
-\makeatother
-\newtcblisting[auto counter,]{ExempleMP}[1][]{%
- arc=0pt,outer arc=0pt,
- colback=darkred!3,
- colframe=darkred,
- breakable,fontupper=\small,
- boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
- 3pt, toptitle=3pt,
- boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
- 0pt, bottomrule at break = 0pt,
- listing side text,
- listing metapost,
- title=Exemple~\thetcbcounter,
- listing options={breaklines},#1
-}
-\newtcblisting{commandshell}{colback=black,colupper=white,colframe=black,
- arc=0pt,
- listing only,boxsep=0pt,listing
- options={style=tcblatex,language=sh},
- every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}}
+\input{mpchess-preamble}
- \newtcblisting{mpcode}{
- arc=0pt,outer arc=0pt,
- colback=darkred!3,
- colframe=darkred,
- breakable,
- boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
- 3pt, toptitle=3pt,
- boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
- 0pt, bottomrule at break = 0pt,
- listing only,boxsep=0pt,listing
- options={breaklines}
-}
-
-\newtcblisting{latexcode}{
- arc=0pt,outer arc=0pt,
- colback=darkred!3,
- colframe=darkred,
- breakable,
- boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
- 3pt, toptitle=3pt,
- boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
- 0pt, bottomrule at break = 0pt,
- listing only,boxsep=0pt,listing
- options={breaklines,language={[LaTeX]TeX}}
-}
-
+\usepackage[french]{babel}
\makeindex[title=Index des commandes, columns=2]
+
%\lstset{moredelim=*[s][\color{red}\rmfamily\itshape]{<}{>}}
%\lstset{moredelim=*[s][\color{blue}\rmfamily\itshape]{<<}{>>}}
@@ -229,7 +71,7 @@
}
\vfill
\begin{center}
- Version 0.1, 23 mars 2023 \\
+ Version 0.3, 29 mars 2023 \\
\url{https://plmlab.math.cnrs.fr/mchupin/mpchess}
\end{center}
%% == Page de garde ====================================================
@@ -297,7 +139,7 @@ Ensuite, il faudra y placer les fichiers \lstinline+.mp+ dans le répertoire \be
\item \verb+mpchess-pgn.mp+;
\item \verb+mpchess-fen.mp+;
\item \verb+mpchess-cburnett.mp+;
- \item \verb+mpchess-staunty.mp+;
+ \item \verb+mpchess-pieces.mp+;
\item \verb+mpchess-skak.mp+.
\end{itemize}
@@ -321,24 +163,6 @@ leurs documentations pour y ajouter des packages locaux :
\mpchess dépend des packages \MP: \package{hatching} et, si
\mpchess n’est pas utilisé avec \hologo{LuaLaTeX} et \package{luamplib},
\package{latexmp}.
-
-\subsection{Utilisation avec \hologo{LuaLaTeX} et \package{luamplib}}
-
-Il est tout à fait possible d’utiliser \mpchess directement dans un fichier
-\LaTeX{} avec \hologo{LuaLaTeX} et le package \package{luamplib}. C’est
-d’ailleurs ce qui est fait pour écrire cette documentation.
-
-\mpchess utilise, pour certaines fonctionnalités, l’opérateur
-\lstinline+infont+ de \MP. Ainsi, pour que le contenu de ces fonctionnalités
-soit composé dans la fonte courante du document, on devra ajouter dans son
-document
-\LaTeX{}, la commande :
-\begin{latexcode}
-\mplibtextextlabel{enable}
-\end{latexcode}
-
-Pour plus de détails sur ces mécanismes, nous renvoyons à la documentation du
-package \package{luamplib}~\cite{ctan-luamplib}.
\section{Pourquoi ce package et philosophie générale}
Il existe déjà des packages \LaTeX{} pour dessiner des plateaux d’échecs et des
@@ -633,18 +457,18 @@ Pour choisir le thème on utilisera la commande suivante.
\begin{itemize}
\item \lstinline+"cburnett"+ (valeur par défaut), pour obtenir l’ensemble de pièces nommé \emph{cburnett} de Lichess;
-\item \lstinline+"staunty"+, pour obtenir l’ensemble de pièces nommé \emph{staunty} de Lichess;
+\item \lstinline+"mpchess"+, pour obtenir l’ensemble de pièces spécialement
+conçu pour ce package ;
\item \lstinline+"skak"+, pour obtenir l’ensemble de pièces du package~\package{skak}.
\end{itemize}
\end{description}
-
Le tableau~\ref{tab:pieces} montre le résultat des trois ensembles de pièces.
\begin{table}
\centering
\begin{tabular}{cc}
-Thème \lstinline+cburnett+&Thème \lstinline+staunty+\\
+Thème \lstinline+cburnett+&Thème \lstinline+mpchess+\\
\begin{mplibcode}
input mpchess
beginfig(0);
@@ -662,7 +486,7 @@ Thème \lstinline+cburnett+&Thème \lstinline+staunty+\\
beginfig(0);
init_chessboard;
set_backboard_width(4cm);
- set_pieces_theme("staunty");
+ set_pieces_theme("mpchess");
unset_whos_to_move;
init_backboard;
draw backboard;
@@ -687,6 +511,7 @@ Thème \lstinline+skak+&\\
\end{table}
+
\subsection{Trait}
\mpchess indique qui a le trait entre les blancs et les noirs. Ceci ce fait par
@@ -847,19 +672,45 @@ draw chessboard;
endfig;
\end{ExempleMP}
+Il est aussi possible de lire un fichier externe contenant sur la première ligne
+une chaîne de caractères au format \textsc{fen} avec la commande suivante.
+
+\commande|build_chessboard_from_fen_file(«string»)|\index{build_chessboard_from_fen_file@\lstinline+build_chessboard_from_fen_file+}\smallskip
+\begin{description}
+\item[\meta{string}:] est une chaîne de caractères (entre double-quotes)
+indiquant le nom du fichier à lire.
+\end{description}
+
+\begin{ExempleMP}
+input mpchess;
+beginfig(0);
+init_backboard;
+draw backboard;
+build_chessboard_from_fen_file("test.fen");
+draw chessboard;
+endfig;
+\end{ExempleMP}
+
+
+
\subsection{Lecture de données au format \textsc{pgn}}
\mpchess permet aussi de lire une chaîne de caractères au format \textsc{pgn}.
-Lorsque une telle fonctionnalité est utilisé, \mpchess stocke toutes les
+Attention, il s’agit d’une gestion partielle du format, en particulier
+\mpchess ne gère pas les \emph{tags} du format. En réalité, \mpchess ne traite
+que la chaîne de caractères décrivant les coups joués. De même, le format
+\textsc{pgn} accepté par \mpchess n’accepte ni les variantes ni les
+commentaires.
+
+Lorsqu’une telle fonctionnalité est utilisé, \mpchess stocke toutes les
positions intermédiaires et permet ainsi de les représenter.
Pour construire les positions, on utilisera la commande suivante.
\commande|build_chessboards_from_pgn(«string»)|\index{build_chessboards_from_pgn@\lstinline+build_chessboards_from_pgn+}\smallskip
-Le format \textsc{pgn} accepté par \mpchess est un format simplifié qui
-n’accepte ni les variantes ni les commentaires.
+
Une fois le positions construites, on pourra les représenter grâce à la commande suivante.
@@ -884,6 +735,28 @@ draw chessboard_step(3); % Nf3
endfig;
\end{ExempleMP}
+Il est aussi possible de lire un fichier externe contenant sur la première ligne
+une chaîne de caractères au format \textsc{pgn} avec la commande suivante.
+
+\commande|build_chessboard_from_pgn_file(«string»)|\index{build_chessboard_from_pgn_file@\lstinline+build_chessboard_from_pgn_file+}\smallskip
+
+\begin{description}
+\item[\meta{string}:] est une chaîne de caractères (entre double-quotes)
+indiquant le nom du fichier à lire.
+\end{description}
+
+\begin{ExempleMP}
+input mpchess;
+build_chessboards_from_pgn_file("test.pgn");
+beginfig(0);
+init_backboard;
+draw backboard;
+draw chessboard_step(4); % Nc6
+endfig;
+\end{ExempleMP}
+
+
+
\subsubsection{Montrer le dernier coup}
On peut afficher automatiquement le dernier coup grâce à la commande suivante.
@@ -993,6 +866,7 @@ draw_arrows(red)("f8--b4","g1|-f3");
endfig;
\end{ExempleMP}
+
\subsection{Coloration de cases}
\mpchess permet aussi de colorer des cases grâce à la commande suivante.
@@ -1097,12 +971,59 @@ draw_comment("?!","f3");
endfig;
\end{ExempleMP}
+
+
+
La couleur des annotation de commentaires peut être changé grâce à la commande
suivante.
\commande|set_comment_color(«color»)|\index{set_comment_color@\lstinline+set_comment_color+}\smallskip
+\subsection{Lignes principales}
+
+\mpchess fournit une commande permettant d’afficher les fléches des coups des
+lignes principales d’analyses. Il y a les commandes pour les deux couleurs.
+
+\commande|draw_white_main_lines(«move1»,«move2»,etc.)|\index{draw_white_main_lines@\lstinline+draw_white_main_lines+}\smallskip
+
+\commande|draw_black_main_lines(«move1»,«move2»,etc.)|\index{draw_black_main_lines@\lstinline+draw_black_main_lines+}\smallskip
+
+\begin{description}
+\item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une
+flêche, en suivant la notation de type \textsc{pgn}.
+\end{description}
+Lorsqu’on utilise la lecture de format \textsc{pgn} pour la construction des
+positions à afficher, on pourra alors utiliser les commandes suivantes
+permettant de spécifier quelle étape de la partie on commente.
+
+\commande|draw_white_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_white_main_lines_step@\lstinline+draw_white_main_lines_step+}\smallskip
+
+\commande|draw_black_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_black_main_lines_step@\lstinline+draw_black_main_lines_step+}\smallskip
+
+\begin{description}
+ \item[\meta{step}:] est l’étape de la partie qu’on souhaite annonter;
+\item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une
+flêche, en suivant la notation de type \textsc{pgn}.
+\end{description}
+
+L’exemple suivant permet d’illuster l’utilisation de cette commande.
+
+\begin{ExempleMP}
+input mpchess
+string pgnstr;
+pgnstr:="1. e4 d5";
+build_chessboards_from_pgn(pgnstr);
+beginfig(0);
+init_backboard;
+draw backboard;
+draw chessboard_step(2);
+draw_white_main_lines_step(2)("exd5","e5","Nc3");
+endfig;
+\end{ExempleMP}
+Pour changer la couleur (par défaut \lstinline+0.3[_blackColorSquare,black]+),
+on utilisera la commande suivante.
+\commande|set_main_lines_color(«color»)|\index{set_main_lines_color@\lstinline+set_main_lines_color+}\smallskip
\section{Divers}
\subsection{Réinitialisation du \lstinline+chessboard+}
@@ -1151,6 +1072,127 @@ clip_chessboard("e1-g4");
endfig;
\end{ExempleMP}
+
+
+
+\section{Utilisation avec \LaTeX{}}
+
+\subsection{Utilisation avec \hologo{pdfLaTeX} ou \hologo{XeLaTeX}}
+
+Il existe plusieurs façons d’inclure les images produites par \mpchess dans un
+document \LaTeX. La première est de générer des fichiers \pdf{} avec \MP{} puis
+de les inclure avec \lstinline[language=TeX]+\includegraphics+. Cette
+solution fonctionne avec tous les moteurs.
+
+On pourra aussi utiliser les packages \package{gmp} ou \package{mpgraphics}
+avec \hologo{pdfLaTeX} ou \hologo{XeLaTeX}\footnote{Nous tenons à remercier
+Quark67 pour les questions et les conseils.}.
+
+\subsubsection{Avec \package{mpgraphics}}
+
+Avec \package{mpgraphics}~\cite{ctan-mpgraphics}, on chargera \mpchess avec
+l’environnement \lstinline+mpdefs+ et on pourra produire des images grâce à du
+code \MP{} mais sans avoir recours à \lstinline+beginfig+ et \lstinline+endfig+,
+le code pour générer une figure \MP{} se trouvant dans l’environnement
+\lstinline+mpdisplay+. Il faudra de plus utiliser l’option
+\lstinline+-shell-escape+ à la compilation du document \LaTeX.
+
+Voici un exemple complet d’illustration.
+
+\begin{latexcode}
+\documentclass{article}
+\usepackage{mpgraphics}
+\begin{document}
+\begin{mpdefs}
+input mpchess
+\end{mpdefs}
+\begin{mpdisplay}
+init_backboard;
+draw backboard;
+init_chessboard;
+draw chessboard;
+draw_arrows(red)("e7--e5","g1|-f3");
+\end{mpdisplay}
+\end{figure}
+\end{document}
+\end{latexcode}
+
+\subsubsection{Avec \package{gmp}}
+
+L’utilisation de \package{gmp}~\cite{ctan-gmp} est assez similaire à celle de
+\package{mpgraphics}. Quelques commandes sont toute fois différentes, mais comme
+avec \package{mpgraphics}, on n’aura pas recours à \lstinline+beginfig+ et
+\lstinline+endfig+. Le chargement de \mpchess peut se faire au chargement du
+package, et le code \MP{} se trouve dans l’environnement \lstinline+mpost+. Là
+encore il faudra compiler le document \LaTeX{} avec l’option \lstinline+-shell-escape+.
+
+Voici un exemple complet d’illustration.
+
+\begin{latexcode}
+\documentclass{article}
+\usepackage[shellescape, everymp={input mpchess;}]{gmp}
+
+\begin{document}
+
+\begin{mpost}
+init_backboard;
+draw backboard;
+init_chessboard;
+draw chessboard;
+draw_arrows(red)("e7--e5","g1|-f3");
+\end{mpost}
+\end{document}
+\end{latexcode}
+
+\subsection{Utilisation avec \hologo{LuaLaTeX} et \package{luamplib}}
+
+Il est tout à fait possible d’utiliser \mpchess directement dans un fichier
+\LaTeX{} avec \hologo{LuaLaTeX}\footnote{Rappelons que \MP{} fait partie
+intégrante de \hologo{LuaTeX}.} et le package \package{luamplib}. C’est
+d’ailleurs ce qui est fait pour écrire cette documentation.
+
+Il suffira alors de mettre le code \MP{} dans l’environnement \lstinline+mplibcode+.
+
+
+\mpchess utilise, pour certaines fonctionnalités, l’opérateur
+\lstinline+infont+ de \MP. Ainsi, pour que le contenu de ces fonctionnalités
+soit composé dans la fonte courante du document, on devra ajouter dans son
+document
+\LaTeX{}, la commande :
+\begin{latexcode}
+\mplibtextextlabel{enable}
+\end{latexcode}
+
+Pour plus de détails sur ces mécanismes, nous renvoyons à la documentation du
+package \package{luamplib}~\cite{ctan-luamplib}.
+
+On pourra charger globaletement \mpchess avec la commande suivante.
+
+\begin{latexcode}
+\everymplib{input mpchess;}
+\end{latexcode}
+
+Voici un exemple complet d’illustration (à compiler avec \hologo{LuaLaTeX}).
+
+\begin{latexcode}
+\documentclass{article}
+\usepackage{luamplib}
+
+\everymplib{input mpchess;}
+
+\begin{document}
+
+\begin{mplibcode}
+beginfig(0);
+init_backboard;
+draw backboard;
+init_chessboard;
+draw chessboard;
+draw_arrows(red)("e7--e5","g1|-f3");
+endfig;
+\end{mplibcode}
+\end{document}
+\end{latexcode}
\section{To do}
De nombreuses choses sont à ajouter à \mpchess. Parmi celles-ci, on peut penser
@@ -1162,8 +1204,6 @@ De nombreuses choses sont à ajouter à \mpchess. Parmi celles-ci, on peut pense
\item montrer les cases accessibles pour une pièces choisie (les points de
Lichess) ;
\item ajouter les coordonnées en extérieur lorsque le plateau est découpé ;
-\item afficher les $n$ flèches indiquant les $n$ coups des premières lignes
-d’une position (avec une épaisseur des flèches qui décroit) ;
\item ajouter des thèmes de pièces.
\end{itemize}
@@ -1190,8 +1230,17 @@ draw_arrows(0.3[red,black])("c4--f7");
endfig;
\end{ExempleMP}
+\section{Historique}
-\printbibliography
+\begin{description}
+\item[v0.3, 29 mars 2023 :] Petit bug.
+\item[v0.2, 28 mars 2023 :] Ajout des commandes de lecture de fichiers
+\textsc{pgn} et \textsc{fen}; ajout des commandes d’affichage des lignes
+principales d’analyse; suppression du thème \lstinline+staunty+ (pour cause de
+licence) et création du thème de pièces \lstinline+mpchess+.
+\item[v0.1, 23 mars 2023 :] Première publication sur le \ctan.
+\end{description}
+ \printbibliography
\printindex
\end{document}
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex
new file mode 100644
index 0000000000..ce82395ee4
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex
@@ -0,0 +1,165 @@
+\usepackage{tcolorbox}
+\tcbuselibrary{listings,breakable}
+%\tcbuselibrary{documentation}
+\usepackage{enumitem}
+\usepackage[tikz]{bclogo}
+\usepackage{mflogo}
+\usepackage{hologo}
+\usepackage{luamplib}
+\mplibtextextlabel{enable}
+\usepackage{biblatex}
+\addbibresource{ctan.bib}
+\usepackage{wrapfig}
+\usepackage{siunitx}
+\usepackage{imakeidx}
+%\usepackage{csquotes}
+\usepackage{fancyvrb,xparse,xargs}
+\usepackage[sfdefault]{FiraSans}
+\usepackage[mathrm=sym]{firamath-otf}
+\setmonofont{Fira Mono}
+%\setmonofont{FiraCode-Regular.ttf}[BoldFont= FiraCode-Bold.ttf,ItalicFont= FiraCode-RegularItalic.otf,BoldItalicFont= FiraCode-BoldItalic.otf,Ligatures={NoCommon, NoDiscretionary, NoHistoric, NoRequired, NoContextual}]
+
+\usepackage{xspace}
+\usepackage{animate}
+\newcommand{\ctan}{\textsc{ctan}}
+\NewDocumentCommand{\package}{ m }{%
+ \href{https://ctan.org/pkg/#1}{#1}\xspace
+}
+
+\definecolor{darkred}{rgb}{0.6,0.1,0.1}
+\definecolor{vert}{rgb}{0.1,0.4,0.1}
+\definecolor{bleu}{rgb}{0.2,0.2,0.6}
+\definecolor{orange}{rgb}{0.6,0.4,0.}
+\colorlet{code}{blue!80!black}
+
+\usepackage[colorlinks=true,urlcolor=orange,linkcolor=orange,menucolor=black,citecolor=orange]{hyperref}
+
+\newcommand \file {\nolinkurl}
+\renewcommand \cmd {\texttt}
+\renewcommand \code [1] {\texorpdfstring {\texttt{\color{code}#1}} {#1}}
+\renewcommand*\cs [1] {\code{\textbackslash #1}}
+
+
+
+\newcommand*\commande{\par\bigskip\noindent\hspace{-30pt}%
+ \SaveVerb[aftersave={%
+ \UseVerb{Vitem}%
+ }%
+ ]{Vitem}%
+ }
+ \newcommand\vitem[1][]{\SaveVerb[%
+ aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}}
+\newcommand*\textme[1]{\textcolor{black}{\rmfamily\textit{#1}}}
+%\renewcommand*\meta[1]{% % meta
+% \textme{\ensuremath{\langle}#1\ensuremath{\rangle}}}
+\newcommand*\optstar{% % optional star
+ \meta{\ensuremath{*}}\xspace}
+\DefineShortVerb{\|}
+\newcommand\R{\mathbf{R}}
+\setlength{\fboxsep}{2pt}
+\fvset{%
+ codes={\catcode`\«\active \catcode`\×\active },
+ defineactive={\makefancyog\makefancytimes},
+ formatcom=\color{darkred},
+ frame=single
+}
+% rendre «...» équivalent à \meta{...}
+{\catcode`\«\active
+ \newcommandx\makefancyog[0][addprefix=\global]{%
+ \def«##1»{\meta{##1}}}}
+% rendre × équivalent à \optstar
+{\catcode`\×\active
+ \newcommandx\makefancytimes[0][addprefix=\global]{%
+ \def×{\optstar{}}}}
+
+
+\newcommand\mpchess{\textbf{\textlogo{MP}}\textit{chess}\xspace}
+
+
+
+%\addbibresource{biblio.bib}
+
+
+\lstset{
+ numberstyle=\footnotesize\color{vert},
+ keywordstyle=\ttfamily\bfseries\color{bleu},
+ basicstyle=\ttfamily,
+ commentstyle=\itshape\color{vert},
+ stringstyle=\ttfamily\color{orange},
+ showstringspaces=false,
+ language=MetaPost,
+ breaklines=true,
+ breakindent=30pt,
+ defaultdialect=MetaPost,
+ classoffset=1,% frame=tb
+ morekeywords={init_backboard,set_backboard_width,set_backboard_size,set_color_theme,get_backboard_width,get_backboard_size,set_backboard_width,get_square_dim,set_white_color,set_black_color,set_coords_inside,set_coords_outside,set_coords_font,set_coords,
+ set_no_coords,set_white_view,set_black_view,
+ set_white_player,set_black_player,set_pieces_theme,set_players_side,init_chessboard,set_empty_chessboard,add_white_pieces,add_black_pieces,clear_areas,clear_files,clear_ranks,clear_squares,build_chessboard_from_fen,build_chessboards_from_pgn,clear_chessboard,
+ color_square,draw_arrows,draw_circles,draw_comment,draw_crosses,get_halfmove_number,get_totalmove_number,
+ reset_mpchess,set_black_to_move,set_last_move_color,set_comment_color,set_white_to_move,set_whos_to_move,show_last_move,unset_whos_to_move,set_arrow_width,clip_chessboard,build_chessboard_from_fen_file,build_chessboard_from_pgn_file,draw_black_main_lines,draw_black_main_lines_step,draw_white_main_lines,draw_white_main_lines_step,set_main_lines_color},
+ keywordstyle=\color{darkred},
+ classoffset=2,% frame=tb
+ morekeywords={backboard,chessboard,chessboard_step},
+ keywordstyle=\color{vert},
+ classoffset=0,% frame=tb
+ morekeywords={draw},
+ keywordstyle=\color{bleu}
+}
+
+\makeatletter
+\tcbset{%
+ listing metapost/.code={%
+ \def\tcbuselistingtext@input{\begin{mplibcode} input \jobname.listing; \end{mplibcode}}%
+ }
+}
+\makeatother
+\newtcblisting[auto counter,]{ExempleMP}[1][]{%
+ arc=0pt,outer arc=0pt,
+ colback=darkred!3,
+ colframe=darkred,
+ breakable,fontupper=\small,
+ boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
+ 3pt, toptitle=3pt,
+ boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
+ 0pt, bottomrule at break = 0pt,
+ listing side text,
+ listing metapost,
+ title=Exemple~\thetcbcounter,
+ listing options={breaklines},#1
+}
+
+\newtcblisting{commandshell}{colback=black,colupper=white,colframe=black,
+ arc=0pt,
+ listing only,boxsep=0pt,listing
+ options={style=tcblatex,language=sh},
+ every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}}
+
+
+ \newtcblisting{mpcode}{
+ arc=0pt,outer arc=0pt,
+ colback=darkred!3,
+ colframe=darkred,
+ breakable,
+ boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
+ 3pt, toptitle=3pt,
+ boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
+ 0pt, bottomrule at break = 0pt,
+ listing only,boxsep=0pt,listing
+ options={breaklines}
+}
+
+\newtcblisting{latexcode}{
+ arc=0pt,outer arc=0pt,
+ colback=darkred!3,
+ colframe=darkred,
+ breakable,
+ boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle =
+ 3pt, toptitle=3pt,
+ boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break =
+ 0pt, bottomrule at break = 0pt,
+ listing only,boxsep=0pt,listing
+ options={breaklines,language={[LaTeX]TeX}}
+}
+
+
+\newcommand\pdf{\textsc{pdf}} \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/test.fen b/graphics/metapost/contrib/macros/mpchess/doc/test.fen
new file mode 100644
index 0000000000..765569d863
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mpchess/doc/test.fen
@@ -0,0 +1 @@
+rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2 \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/doc/test.pgn b/graphics/metapost/contrib/macros/mpchess/doc/test.pgn
new file mode 100644
index 0000000000..e0398d0a61
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mpchess/doc/test.pgn
@@ -0,0 +1 @@
+1. e4 e5 2. Nf3 Nc6 3. Nxe5 Nxe5 4. Bb5 c6 \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp
index 723a0ed0f9..2e0e69d8cd 100644
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-cburnett.mp
@@ -1,3 +1,6 @@
+%% File under license GPLv2+:
+%% https://github.com/lichess-org/lila/blob/master/COPYING.md
+
picture _chess_cburnett_bB;
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
index 996e928274..131fd0468c 100644
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp
@@ -386,11 +386,6 @@ def _build_all_chessboards=
chessboard_number:=_chess_step_numtable;
enddef;
-def build_chessboards_from_pgn(expr s)=
- _build_chess_moves_tables(s);
- _build_all_chessboards;
-enddef;
-
% set the starting empty board
def set_empty_chessboard =
@@ -452,3 +447,52 @@ def add_black_pieces(text plists) =
enddef;
+
+
+def _draw_main_lines(expr _k)(expr wb)(text slist)=
+ save _str;
+ _chess_arrow_width_save:=_chess_arrow_width;
+ _step:=1.4;
+ for _str = slist:
+ _chess_arrow_width:=(0.1*_step)*_chessSquareU;
+ _extract_single_move(_str,wb);
+ _piecetype:=_chess_extract_move_tab[0];
+ _pm:=_chess_extract_move_tab[1];
+ _iend:=_chess_extract_move_tab[2];
+ _jend:=_chess_extract_move_tab[3];
+ _capture:=_chess_extract_move_tab[4];
+ _promotion:=_chess_extract_move_tab[5];
+ _ambiguity:=_chess_extract_move_tab[6];
+ for i:=1 upto _chessSize:
+ for j:=1 upto _chessSize:
+ if(chessboard_table[_k][i][j]=_piecetype):
+ if(_chess_candidate(_piecetype, i, j, _iend, _jend,wb,_capture)=true):
+ draw_arrows(_chess_main_lines_color)(_int_to_letter_w(i)&_int_to_str_w(j)&"--"&_int_to_letter_w(_iend)&_int_to_str_w(_jend));
+ fi
+ fi
+ endfor;
+ endfor;
+ _step:=max(_step-0.3,0.7);
+ endfor;
+ _chess_arrow_width:=_chess_arrow_width_save;
+enddef;
+
+
+def draw_white_main_lines(text slist)=
+ _draw_main_lines(0)("white")(slist);
+enddef;
+
+
+def draw_black_main_lines(text slist)=
+ _draw_main_lines(0)("black")(slist);
+enddef;
+
+
+def draw_white_main_lines_step(expr k)(text slist)=
+ _draw_main_lines(k)("white")(slist);
+enddef;
+
+
+def draw_black_main_lines_step(expr k)(text slist)=
+ _draw_main_lines(k)("black")(slist);
+enddef; \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp
index 714922d53c..8d2f8e66e7 100644
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-fen.mp
@@ -87,4 +87,12 @@ enddef;
def build_chessboard_from_fen(expr s)=
set_empty_chessboard;
_chess_extract_position(s);
-enddef; \ No newline at end of file
+enddef;
+
+def build_chessboard_from_fen_file(expr s)=
+ set_empty_chessboard;
+ string _rf;
+ _rf:=readfrom s;
+ _chess_extract_position(_rf);
+enddef;
+
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp
index 0ed11644b0..155aaad262 100644
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pgn.mp
@@ -220,9 +220,9 @@ def _str_to_int(expr i)=
fi
enddef;
+numeric _chess_extract_move_tab[];
-
-vardef _extract_move(expr _step,s,wb)=
+vardef _extract_single_move(expr s,wb)=
% function to convert a PGN move (ie Nc6)
% to a array of numerics (type, wb,letter, nbr, capture,promotion,ambiguity)
% no castle moves !!!
@@ -304,12 +304,35 @@ vardef _extract_move(expr _step,s,wb)=
fi
fi
fi
- _chess_moves_table_numeric[_step][0]:=_piecetype;
- _chess_moves_table_numeric[_step][1]:=_pm;
- _chess_moves_table_numeric[_step][2]:=_letter;
- _chess_moves_table_numeric[_step][3]:=_nbr;
- _chess_moves_table_numeric[_step][4]:=_capture;
- _chess_moves_table_numeric[_step][5]:=_promotion;
- _chess_moves_table_numeric[_step][6]:=_ambiguity;
+ _chess_extract_move_tab[0]:=_piecetype;
+ _chess_extract_move_tab[1]:=_pm;
+ _chess_extract_move_tab[2]:=_letter;
+ _chess_extract_move_tab[3]:=_nbr;
+ _chess_extract_move_tab[4]:=_capture;
+ _chess_extract_move_tab[5]:=_promotion;
+ _chess_extract_move_tab[6]:=_ambiguity;
+enddef;
+
+vardef _extract_move(expr _step,s,wb)=
+ _extract_single_move(s,wb);
+ _chess_moves_table_numeric[_step][0]:=_chess_extract_move_tab[0];
+ _chess_moves_table_numeric[_step][1]:=_chess_extract_move_tab[1];
+ _chess_moves_table_numeric[_step][2]:=_chess_extract_move_tab[2];
+ _chess_moves_table_numeric[_step][3]:=_chess_extract_move_tab[3];
+ _chess_moves_table_numeric[_step][4]:=_chess_extract_move_tab[4];
+ _chess_moves_table_numeric[_step][5]:=_chess_extract_move_tab[5];
+ _chess_moves_table_numeric[_step][6]:=_chess_extract_move_tab[6];
+enddef;
+
+def build_chessboards_from_pgn(expr s)=
+ _build_chess_moves_tables(s);
+ _build_all_chessboards;
enddef;
+def build_chessboards_from_pgn_file(expr s)=
+ set_empty_chessboard;
+ string _rf;
+ _rf:=readfrom s;
+ _build_chess_moves_tables(_rf);
+ _build_all_chessboards;
+enddef;
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pieces.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pieces.mp
new file mode 100644
index 0000000000..0d6aa5ea24
--- /dev/null
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-pieces.mp
@@ -0,0 +1,366 @@
+picture _chess_mpchess_bB;
+
+
+_chess_mpchess_bB:=image(
+drawoptions (withcolor (0.000000,0.000000,0.007843));
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+fill (19.277300,8.980470)..controls (19.894501,9.753910) and (22.925800,14.847700)..(16.992201,20.039101)
+ ..controls (16.992201,20.039101) and (14.613300,17.152300)..(14.218800,12.882800)
+ --(12.765600,12.882800)..controls (12.738300,16.804701) and (15.839800,20.863300)..(15.839800,20.863300)
+ ..controls (18.335899,25.269501) and (10.136700,25.285200)..(12.398400,20.863300)
+ ..controls (5.476560,15.527300) and (8.558590,9.656250)..(9.070310,8.980470)
+ --cycle;
+);
+
+picture _chess_mpchess_bK;
+
+_chess_mpchess_bK := image(
+linecap := butt;
+linejoin := mitered;
+path _contours[];
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+
+_contours[1]:=(18.843800,17.230499)..controls (20.804701,17.054701) and (21.562500,14.839800)..(16.441401,11.679700)
+ --(16.441401,16.105499)..controls (17.390600,16.968800) and (17.949200,17.312500)..(18.843800,17.230499)
+ --cycle;
+_contours[2]:= (9.828130,17.207001)..controls (10.656300,17.183599) and (11.054700,16.828100)..(11.882800,16.074200)
+ --(11.882800,11.644500)..controls (6.761720,14.808600) and (7.519530,17.023399)..(9.484380,17.199200)
+ ..controls (9.593750,17.210899) and (9.710940,17.210899)..(9.828130,17.210899)
+ --cycle;
+
+fill (12.972700,25.609400)--(_contours[1])--(12.972700,25.609400)--(12.972700,24.281300)--(11.339800,24.281300)
+ --(11.339800,22.222700)--(12.972700,22.222700)..controls (12.972700,20.625000) and (12.539100,20.914101)..(11.347700,20.253901)
+ ..controls (3.992190,22.917999) and (-0.011719,14.625000)..(8.492190,9.007810)
+ --(19.800800,9.042970)..controls (28.468800,14.628900) and (24.375000,22.917999)..(17.019501,20.214800)
+ ..controls (15.617200,20.906300) and (15.363300,20.515600)..(15.363300,22.222700)
+ --(17.027300,22.222700)--(_contours[2])--(17.027300,22.222700)--(17.027300,24.281300)--(15.363300,24.281300)
+ --(15.363300,25.609400)--cycle;
+);
+
+picture _chess_mpchess_bN;
+
+_chess_mpchess_bN:=image(
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+fill (19.257799,9.101560)--(9.082030,9.101560)..controls (9.218750,12.449200) and (13.515600,14.226600)..(13.710900,15.843800)
+ ..controls (13.906300,17.457001) and (13.031300,17.875000)..(13.031300,17.875000)
+ ..controls (13.031300,17.875000) and (12.433600,15.933600)..(11.668000,15.535200)
+ ..controls (10.902300,15.136700) and (9.125000,14.765600)..(9.125000,14.765600)
+ ..controls (9.125000,14.765600) and (7.875000,13.789100)..(7.140630,13.855500)
+ ..controls (6.406250,13.925800) and (5.773440,15.449200)..(5.773440,15.449200)
+ --(8.273440,18.898399)--(9.539060,21.347700)--(10.734400,22.476601)
+ --(11.246100,24.136700)--(12.683600,22.675800)..controls (20.597700,22.675800) and (22.316401,13.824200)..(19.257799,9.101560)
+ --cycle;
+);
+
+picture _chess_mpchess_bP;
+_chess_mpchess_bP:=image(
+drawoptions (withcolor (0.000000,0.000000,0.015686));
+linecap := butt;
+linejoin := mitered;
+fill (14.156300,20.671900)..controls (12.527300,20.671900) and (11.203100,19.347700)..(11.203100,17.718800)
+ ..controls (11.203100,16.894501) and (11.550800,16.109400)..(12.156300,15.550800)
+ --(10.480500,14.832000)--(10.480500,13.085900)--(12.460900,13.089800)
+ ..controls (11.296900,5.554690) and (7.957030,7.871090)..(7.957030,3.695310)
+ --(20.449200,3.695310)..controls (20.449200,7.929690) and (17.027300,5.371090)..(15.855500,13.093800)
+ --(17.835899,13.125000)--(17.835899,14.859400)--(16.179701,15.566400)
+ ..controls (16.773399,16.125000) and (17.109400,16.902300)..(17.109400,17.718800)
+ ..controls (17.109400,19.351601) and (15.789100,20.671900)..(14.156300,20.671900)
+ --cycle;
+);
+
+picture _chess_mpchess_bQ;
+
+_chess_mpchess_bQ:=image(
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+fill (11.261700,25.441401)..controls (10.011700,25.445299) and (8.996090,24.496099)..(8.996090,23.328100)
+ ..controls (8.996090,22.457001) and (9.566410,21.675800)..(10.429700,21.359400)
+ --(10.148400,15.664100)--(7.160160,20.242201)..controls (7.421880,20.593800) and (7.558590,21.011700)..(7.558590,21.441401)
+ ..controls (7.558590,22.609400) and (6.546880,23.558599)..(5.296880,23.558599)
+ ..controls (4.046880,23.558599) and (3.035160,22.609400)..(3.035160,21.441401)
+ ..controls (3.035160,20.410200) and (3.828130,19.531300)..(4.914060,19.355499)
+ --(8.492190,9.046880)--(19.851601,9.046880)--(23.421900,19.292999)
+ ..controls (24.539101,19.441401) and (25.367201,20.332001)..(25.371099,21.386700)
+ ..controls (25.371099,22.554701) and (24.355499,23.500000)..(23.109400,23.503901)
+ ..controls (21.859400,23.500000) and (20.847700,22.554701)..(20.847700,21.386700)
+ ..controls (20.847700,20.992201) and (20.964800,20.609400)..(21.187500,20.273399)
+ --(18.132799,15.664100)--(17.894501,21.367201)..controls (18.746099,21.691401) and (19.300800,22.468800)..(19.300800,23.328100)
+ ..controls (19.300800,24.496099) and (18.289101,25.441401)..(17.039101,25.441401)
+ ..controls (15.789100,25.441401) and (14.777300,24.496099)..(14.777300,23.328100)
+ ..controls (14.777300,22.777300) and (15.007800,22.246099)..(15.418000,21.851601)
+ --(14.140600,15.664100)--(12.921900,21.894501)..controls (13.308600,22.285200) and (13.519500,22.796900)..(13.523400,23.328100)
+ ..controls (13.523400,24.496099) and (12.507800,25.441401)..(11.261700,25.441401)
+ --cycle;
+);
+
+picture _chess_mpchess_bR;
+_chess_mpchess_bR:=image(
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+fill (19.250000,7.917970)--cycle;
+fill (19.851601,9.046880)--(18.125000,15.882800)--(10.199200,15.882800)
+ --(8.492190,9.046880)--cycle;
+fill (19.851601,9.046880)--cycle;
+fill (19.609400,21.625000)--(17.171900,22.253901)--(16.644501,21.011700)
+ --(15.648400,21.019501)--(15.648400,22.785200)--(12.597700,22.738300)
+ --(12.597700,21.019501)--(11.710900,21.019501)--(11.074200,22.253901)
+ --(8.683590,21.382799)..controls (8.683590,21.382799) and (8.660160,17.046900)..(9.914060,17.070299)
+ --(18.378901,17.070299)..controls (19.628901,17.070299) and (19.609400,21.625000)..(19.609400,21.625000)
+ --cycle;
+);
+
+picture _chess_mpchess_wB;
+_chess_mpchess_wB:= image(
+ drawoptions (withcolor (1.000000,1.000000,1.000000));
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+fill (19.250000,7.917970)--cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+pickup pencircle scaled 0.000000bp;
+fill (19.277300,7.957030)..controls (19.894501,8.785160) and (22.925800,14.222700)..(16.992201,19.761700)
+ ..controls (16.992201,19.761700) and (14.613300,16.679701)..(14.218800,12.121100)
+ --(12.765600,12.125000)..controls (12.738300,16.308599) and (15.839800,20.640600)..(15.839800,20.640600)
+ ..controls (18.335899,25.343800) and (10.136700,25.359400)..(12.398400,20.640600)
+ ..controls (5.476560,14.945300) and (8.558590,8.679690)..(9.070310,7.957030)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.277300,7.957030)..controls (19.894501,8.785160) and (22.925800,14.222700)..(16.992201,19.761700)
+ ..controls (16.992201,19.761700) and (14.613300,16.679701)..(14.218800,12.121100)
+ --(12.765600,12.125000)..controls (12.738300,16.308599) and (15.839800,20.640600)..(15.839800,20.640600)
+ ..controls (18.335899,25.343800) and (10.136700,25.359400)..(12.398400,20.640600)
+ ..controls (5.476560,14.945300) and (8.558590,8.679690)..(9.070310,7.957030)
+ --cycle;
+);
+
+picture _chess_mpchess_wK;
+_chess_mpchess_wK:=image(
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+linecap := butt;
+linejoin := mitered;
+path _contours[];
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+draw (19.250000,7.917970);
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+pickup pencircle scaled 0.000000bp;
+
+_contours[1]:=(18.843800,16.433599)..controls (20.804701,16.250000) and (21.562500,13.957000)..(16.441401,10.687500)
+ --(16.441401,15.265600)..controls (17.390600,16.164101) and (17.949200,16.515600)..(18.843800,16.433599)
+ --cycle;
+_contours[2]:= (9.828130,16.410200)..controls (10.656300,16.382799) and (11.054700,16.015600)..(11.882800,15.234400)
+ --(11.882800,10.652300)..controls (6.761720,13.925800) and (7.519530,16.214800)..(9.484380,16.398399)
+ ..controls (9.593750,16.410200) and (9.710940,16.414101)..(9.828130,16.410200)
+ --cycle;
+fill (12.972700,25.101601)--(_contours[1])--(12.972700,25.101601)--(12.972700,23.730499)--(11.339800,23.730499)
+ --(11.339800,21.597700)--(12.972700,21.597700)..controls (12.972700,19.945299) and (12.539100,20.246099)..(11.347700,19.562500)
+ ..controls (3.992190,22.316401) and (-0.011719,13.738300)..(8.492190,7.921880)
+ --(19.800800,7.960940)..controls (28.468800,13.738300) and (24.375000,22.316401)..(17.019501,19.519501)
+ ..controls (15.617200,20.234400) and (15.363300,19.832001)..(15.363300,21.597700)
+ --(17.027300,21.597700)--(_contours[2])--(17.027300,21.597700)--(17.027300,23.730499)--(15.363300,23.730499)
+ --(15.363300,25.101601)--cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.133000bp;
+draw (12.972700,25.101601)--(12.972700,23.730499)--(11.339800,23.730499)
+ --(11.339800,21.597700)--(12.972700,21.597700)..controls (12.972700,19.945299) and (12.539100,20.246099)..(11.347700,19.562500)
+ ..controls (3.992190,22.316401) and (-0.011719,13.738300)..(8.492190,7.921880)
+ --(19.800800,7.960940)..controls (28.468800,13.738300) and (24.375000,22.316401)..(17.019501,19.519501)
+ ..controls (15.617200,20.234400) and (15.363300,19.832001)..(15.363300,21.597700)
+ --(17.027300,21.597700)--(17.027300,23.730499)--(15.363300,23.730499)
+ --(15.363300,25.101601)--cycle;
+draw (18.843800,16.433599)..controls (20.804701,16.250000) and (21.562500,13.957000)..(16.441401,10.687500)
+ --(16.441401,15.265600)..controls (17.390600,16.164101) and (17.949200,16.515600)..(18.843800,16.433599)
+ --cycle;
+draw (9.828130,16.410200)..controls (10.656300,16.382799) and (11.054700,16.015600)..(11.882800,15.234400)
+ --(11.882800,10.652300)..controls (6.761720,13.925800) and (7.519530,16.214800)..(9.484380,16.398399)
+ ..controls (9.593750,16.410200) and (9.710940,16.414101)..(9.828130,16.410200)
+ --cycle;
+draw (9.828130,16.410200);
+);
+
+picture _chess_mpchess_wN;
+_chess_mpchess_wN:=image(
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+pickup pencircle scaled 0.000000bp;
+fill (19.257799,8.000000)--(9.082030,8.000000)..controls (9.218750,11.593800) and (13.515600,13.503900)..(13.710900,15.234400)
+ ..controls (13.906300,16.968800) and (13.031300,17.414101)..(13.031300,17.414101)
+ ..controls (13.031300,17.414101) and (12.433600,15.332000)..(11.668000,14.906300)
+ ..controls (10.902300,14.480500) and (9.125000,14.078100)..(9.125000,14.078100)
+ ..controls (9.125000,14.078100) and (7.875000,13.031200)..(7.140630,13.105500)
+ ..controls (6.406250,13.175800) and (5.773440,14.812500)..(5.773440,14.812500)
+ --(8.273440,18.515600)--(9.539060,21.140600)--(10.734400,22.355499)
+ --(11.246100,24.136700)--(12.683600,22.570299)..controls (20.597700,22.570299) and (22.316401,13.070300)..(19.257799,8.000000)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.257799,8.000000)--(9.082030,8.000000)..controls (9.218750,11.593800) and (13.515600,13.503900)..(13.710900,15.234400)
+ ..controls (13.906300,16.968800) and (13.031300,17.414101)..(13.031300,17.414101)
+ ..controls (13.031300,17.414101) and (12.433600,15.332000)..(11.668000,14.906300)
+ ..controls (10.902300,14.480500) and (9.125000,14.078100)..(9.125000,14.078100)
+ ..controls (9.125000,14.078100) and (7.875000,13.031200)..(7.140630,13.105500)
+ ..controls (6.406250,13.175800) and (5.773440,14.812500)..(5.773440,14.812500)
+ --(8.273440,18.515600)--(9.539060,21.140600)--(10.734400,22.355499)
+ --(11.246100,24.136700)--(12.683600,22.570299)..controls (20.597700,22.570299) and (22.316401,13.070300)..(19.257799,8.000000)
+ --cycle;
+);
+
+picture _chess_mpchess_wP;
+_chess_mpchess_wP:=image(
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+linecap := butt;
+linejoin := mitered;
+fill (14.156300,20.671900)..controls (12.527300,20.671900) and (11.203100,19.347700)..(11.203100,17.718800)
+ ..controls (11.203100,16.894501) and (11.550800,16.109400)..(12.156300,15.550800)
+ --(10.480500,14.832000)--(10.480500,13.085900)--(12.460900,13.089800)
+ ..controls (11.296900,5.554690) and (7.957030,7.871090)..(7.957030,3.695310)
+ --(20.449200,3.695310)..controls (20.449200,7.929690) and (17.027300,5.371090)..(15.855500,13.093800)
+ --(17.835899,13.125000)--(17.835899,14.859400)--(16.179701,15.566400)
+ ..controls (16.773399,16.125000) and (17.109400,16.902300)..(17.109400,17.718800)
+ ..controls (17.109400,19.351601) and (15.789100,20.671900)..(14.156300,20.671900)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.133860bp;
+draw (14.156300,20.671900)..controls (12.527300,20.671900) and (11.203100,19.347700)..(11.203100,17.718800)
+ ..controls (11.203100,16.894501) and (11.550800,16.109400)..(12.156300,15.550800)
+ --(10.480500,14.832000)--(10.480500,13.085900)--(12.460900,13.089800)
+ ..controls (11.296900,5.554690) and (7.957030,7.871090)..(7.957030,3.695310)
+ --(20.449200,3.695310)..controls (20.449200,7.929690) and (17.027300,5.371090)..(15.855500,13.093800)
+ --(17.835899,13.125000)--(17.835899,14.859400)--(16.179701,15.566400)
+ ..controls (16.773399,16.125000) and (17.109400,16.902300)..(17.109400,17.718800)
+ ..controls (17.109400,19.351601) and (15.789100,20.671900)..(14.156300,20.671900)
+ --cycle;
+);
+
+picture _chess_mpchess_wQ;
+_chess_mpchess_wQ:=image(drawoptions (withcolor (1.000000,1.000000,1.000000));
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+pickup pencircle scaled 0.000000bp;
+fill (11.261700,25.441401)..controls (10.011700,25.445299) and (8.996090,24.429701)..(8.996090,23.179701)
+ ..controls (8.996090,22.253901) and (9.566410,21.417999)..(10.429700,21.078100)
+ --(10.148400,14.992200)--(7.160160,19.882799)..controls (7.421880,20.261700) and (7.558590,20.707001)..(7.558590,21.164101)
+ ..controls (7.558590,22.414101) and (6.546880,23.425800)..(5.296880,23.425800)
+ ..controls (4.046880,23.425800) and (3.035160,22.414101)..(3.035160,21.164101)
+ ..controls (3.035160,20.066401) and (3.828130,19.125000)..(4.914060,18.937500)
+ --(8.492190,7.921880)--(19.851601,7.921880)--(23.421900,18.871099)
+ ..controls (24.539101,19.027300) and (25.367201,19.980499)..(25.371099,21.105499)
+ ..controls (25.371099,22.355499) and (24.355499,23.367201)..(23.109400,23.367201)
+ ..controls (21.859400,23.367201) and (20.847700,22.355499)..(20.847700,21.105499)
+ ..controls (20.847700,20.687500) and (20.964800,20.277300)..(21.187500,19.917999)
+ --(18.132799,14.992200)--(17.894501,21.085899)..controls (18.746099,21.433599) and (19.300800,22.261700)..(19.300800,23.179701)
+ ..controls (19.300800,24.429701) and (18.289101,25.441401)..(17.039101,25.441401)
+ ..controls (15.789100,25.441401) and (14.777300,24.429701)..(14.777300,23.179701)
+ ..controls (14.777300,22.593800) and (15.007800,22.027300)..(15.418000,21.601601)
+ --(14.140600,14.992200)--(12.921900,21.648399)..controls (13.308600,22.066401) and (13.519500,22.613300)..(13.523400,23.179701)
+ ..controls (13.523400,24.429701) and (12.507800,25.441401)..(11.261700,25.441401)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.133860bp;
+draw (11.261700,25.441401)..controls (10.011700,25.445299) and (8.996090,24.429701)..(8.996090,23.179701)
+ ..controls (8.996090,22.253901) and (9.566410,21.417999)..(10.429700,21.078100)
+ --(10.148400,14.992200)--(7.160160,19.882799)..controls (7.421880,20.261700) and (7.558590,20.707001)..(7.558590,21.164101)
+ ..controls (7.558590,22.414101) and (6.546880,23.425800)..(5.296880,23.425800)
+ ..controls (4.046880,23.425800) and (3.035160,22.414101)..(3.035160,21.164101)
+ ..controls (3.035160,20.066401) and (3.828130,19.125000)..(4.914060,18.937500)
+ --(8.492190,7.921880)--(19.851601,7.921880)--(23.421900,18.871099)
+ ..controls (24.539101,19.027300) and (25.367201,19.980499)..(25.371099,21.105499)
+ ..controls (25.371099,22.355499) and (24.355499,23.367201)..(23.109400,23.367201)
+ ..controls (21.859400,23.367201) and (20.847700,22.355499)..(20.847700,21.105499)
+ ..controls (20.847700,20.687500) and (20.964800,20.277300)..(21.187500,19.917999)
+ --(18.132799,14.992200)--(17.894501,21.085899)..controls (18.746099,21.433599) and (19.300800,22.261700)..(19.300800,23.179701)
+ ..controls (19.300800,24.429701) and (18.289101,25.441401)..(17.039101,25.441401)
+ ..controls (15.789100,25.441401) and (14.777300,24.429701)..(14.777300,23.179701)
+ ..controls (14.777300,22.593800) and (15.007800,22.027300)..(15.418000,21.601601)
+ --(14.140600,14.992200)--(12.921900,21.648399)..controls (13.308600,22.066401) and (13.519500,22.613300)..(13.523400,23.179701)
+ ..controls (13.523400,24.429701) and (12.507800,25.441401)..(11.261700,25.441401)
+ --cycle;
+);
+
+picture _chess_mpchess_wR;
+_chess_mpchess_wR:=image(drawoptions (withcolor (1.000000,1.000000,1.000000));
+linecap := butt;
+linejoin := mitered;
+fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690)
+ --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970)
+ --cycle;
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+pickup pencircle scaled 0.000000bp;
+fill (19.851601,7.921880)--(18.125000,17.140600)--(10.199200,17.140600)
+ --(8.492190,7.921880)--cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.851601,7.921880)--(18.125000,17.140600)--(10.199200,17.140600)
+ --(8.492190,7.921880)--cycle;
+drawoptions (withcolor (1.000000,1.000000,1.000000));
+pickup pencircle scaled 0.000000bp;
+fill (19.609400,21.625000)--(17.171900,22.253901)--(16.644501,21.011700)
+ --(15.648400,21.019501)--(15.648400,22.785200)--(12.597700,22.738300)
+ --(12.597700,21.019501)--(11.710900,21.019501)--(11.074200,22.253901)
+ --(8.683590,21.382799)..controls (8.683590,21.382799) and (8.660160,17.046900)..(9.914060,17.070299)
+ --(18.378901,17.070299)..controls (19.628901,17.070299) and (19.609400,21.625000)..(19.609400,21.625000)
+ --cycle;
+drawoptions (withcolor (0.000000,0.000000,0.000000));
+pickup pencircle scaled 1.174850bp;
+draw (19.609400,21.625000)--(17.171900,22.253901)--(16.644501,21.011700)
+ --(15.648400,21.019501)--(15.648400,22.785200)--(12.597700,22.738300)
+ --(12.597700,21.019501)--(11.710900,21.019501)--(11.074200,22.253901)
+ --(8.683590,21.382799)..controls (8.683590,21.382799) and (8.660160,17.046900)..(9.914060,17.070299)
+ --(18.378901,17.070299)..controls (19.628901,17.070299) and (19.609400,21.625000)..(19.609400,21.625000)
+ --cycle;
+); \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-staunty.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-staunty.mp
deleted file mode 100644
index 507448cb76..0000000000
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-staunty.mp
+++ /dev/null
@@ -1,1066 +0,0 @@
-picture _chess_staunty_bB;
-
-
-_chess_staunty_bB:=image(
-color _chess_black;
-_chess_black:=(0.372549,0.349020,0.333333);
-drawoptions (withcolor _chess_black);
-%linecap := butt;
-pickup pencircle scaled 3.401580bp;
-fill (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002)
- --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700)
- --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399)
- --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898)
- ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703)
- --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000)
- --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,125.383003)..controls (68.550797,125.383003) and (66.414101,125.003998)..(64.656303,124.371002)
- ..controls (76.953102,121.964996) and (78.761703,121.198997)..(71.910202,112.039001)
- --(81.113297,101.926003)..controls (70.746101,78.566399) and (76.566399,79.269501)..(76.566399,79.269501)
- ..controls (76.566399,79.269501) and (78.539101,86.777298)..(88.222702,101.292999)
- ..controls (85.183601,104.921997) and (81.593803,108.601997)..(77.375000,112.305000)
- --(81.671898,119.816002)..controls (81.671898,122.890999) and (76.835899,125.383003)..(70.867203,125.383003)
- --cycle;
-fill (95.714798,90.691399)--(92.851601,86.410202)..controls (103.445000,62.558601) and (81.132797,35.390598)..(81.132797,35.390598)
- --(93.550797,35.390598)..controls (94.000000,35.292999) and (113.277000,60.460899)..(95.714798,90.699203)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (42.929699,51.812500)..controls (42.308601,51.902302) and (33.226601,79.550797)..(59.242199,104.964996)
- ..controls (52.718800,99.593803) and (39.015598,67.652298)..(42.929699,51.812500)
- --cycle;
-fill (66.023399,112.832001)--(61.835899,120.183998)..controls (61.835899,120.183998) and (62.523399,122.226997)..(66.886703,123.152000)
- ..controls (61.992199,119.328003) and (64.085899,118.438004)..(66.023399,112.832001)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002)
- --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700)
- --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399)
- --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898)
- ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703)
- --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000)
- --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003)
- --cycle;
-drawoptions (withcolor _chess_black);
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 0.1*_chess_black);
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-);
-
-picture _chess_staunty_bK;
-
-_chess_staunty_bK := image(
-color _chess_black;
-_chess_black:=(0.372549,0.349020,0.333333);
-
-%croix
-
-drawoptions (withcolor _chess_black);
-linejoin := mitered;
-fill (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002)
- --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999)
- --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997)
- --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102)
- --cycle;
- drawoptions (withcolor 0.8*_chess_black);
-fill (74.238297,132.210999)--(74.238297,121.176003)--(77.035202,121.176003)
- --(77.035202,132.210999)--cycle;
-fill (86.824203,121.176003)--(86.824203,107.160004)--(91.019501,107.160004)
- --(91.019501,121.176003)--cycle;
-fill (74.242203,108.621002)--(74.242203,101.555000)--(78.437500,101.555000)
- --(78.437500,108.621002)--cycle;
-fill (74.242203,108.621002)--cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002)
- --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999)
- --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997)
- --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102);
-
-% support croix
-drawoptions (withcolor _chess_black);
-pickup pencircle scaled 0.000000bp;
-linecap := butt;
-linejoin := rounded;
-fill (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398)
- ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101)
- --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398)
- ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (74.878899,101.438004)..controls (76.933601,101.438004) and (78.589798,99.675797)..(78.589798,97.484398)
- ..controls (78.589798,95.296898) and (76.933601,93.539101)..(74.878899,93.539101)
- --(80.472702,93.539101)..controls (82.527298,93.539101) and (84.183601,95.296898)..(84.183601,97.484398)
- ..controls (84.183601,99.675797) and (82.527298,101.438004)..(80.472702,101.438004)
- --cycle;
- drawoptions (withcolor 1.7*_chess_black);
-fill (61.316399,99.664101)..controls (60.175800,99.664101) and (59.261700,98.679703)..(59.261700,97.468803)
- ..controls (59.261700,96.253899) and (60.175800,95.285202)..(61.316399,95.285202)
- --(63.792999,95.285202)..controls (62.656300,95.285202) and (61.738300,96.253899)..(61.738300,97.468803)
- ..controls (61.738300,98.679703) and (62.656300,99.664101)..(63.792999,99.664101)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398)
- ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101)
- --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398)
- ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004)
- --cycle;
-drawoptions (withcolor _chess_black);
-linecap := rounded;
-linejoin := mitered;
-fill (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899)
- ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899)
- ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899)
- ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.855499,94.746101)..controls (116.035004,87.312500) and (106.496002,68.226601)..(89.679703,30.843800)
- --(95.425797,35.746101)..controls (95.425797,35.746101) and (117.387001,74.640602)..(114.089996,82.003899)
- ..controls (109.707001,90.039101) and (92.820297,93.792999)..(70.855499,94.750000)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899)
- ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899)
- ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899)
- ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (67.367203,92.710899)..controls (56.300800,93.226601) and (25.921900,87.597702)..(29.089800,78.484398)
- ..controls (31.406300,67.921898) and (36.898399,57.953098)..(41.867199,48.710899)
- ..controls (25.746099,78.003899) and (25.023399,87.753899)..(67.363297,92.710899)
- --cycle;
-fill (67.367203,92.710899)--cycle;
-fill (66.304703,130.397995)--(66.257797,121.012001)--(67.804703,121.012001)
- --(67.851601,130.397995)--cycle;
-fill (52.328098,119.430000)--(52.304699,110.339996)--(54.496101,110.339996)
- --(54.519501,119.430000)--cycle;
-fill (64.835899,110.328003)--(64.910202,103.277000)--(66.382797,103.277000)
- --(66.308601,110.328003)--cycle;
-fill (64.835899,110.328003)--cycle;
-drawoptions (withcolor _chess_black);
-linecap := butt;
-linejoin := rounded;
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-);
-
-picture _chess_staunty_bN;
-
-_chess_staunty_bN:=image(
-color _chess_black;
-_chess_black:=(0.372549,0.349020,0.333333);
-
-drawoptions (withcolor _chess_black);
-linecap := butt;
-fill (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900)
- --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000)
- ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004)
- --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202)
- ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800)
- ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101)
- --cycle;
-
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (54.765598,100.082001)..controls (52.566399,97.636703) and (52.808601,96.917999)..(52.457001,93.984398)
- ..controls (54.742199,93.632797) and (56.730499,93.304703)..(58.832001,93.796898)
- ..controls (65.582001,97.378899) and (59.046902,103.441002)..(54.765598,100.082001)
- --cycle;
-fill (26.054701,78.898399)..controls (23.648399,77.746101) and (23.226601,76.175797)..(23.058599,74.714798)
- ..controls (25.125000,73.535202) and (28.378901,75.074203)..(28.847700,78.773399)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (23.218800,70.437500)..controls (23.218800,70.437500) and (25.066401,67.214798)..(20.093800,75.089798)
- ..controls (21.960899,80.699203) and (43.515598,100.832001)..(55.351601,113.457001)
- --(54.832001,122.207001)..controls (54.832001,122.207001) and (57.859402,117.414001)..(58.367199,112.375000)
- ..controls (45.921902,99.925797) and (23.726601,81.667999)..(22.015600,74.921898)
- ..controls (22.082001,73.007797) and (22.695299,72.003899)..(23.214800,70.437500)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (37.585899,61.632801)..controls (43.339802,71.089798) and (61.375000,70.769501)..(71.410202,76.496101)
- ..controls (72.324203,76.207001) and (71.781303,72.609398)..(72.089798,73.003899)
- ..controls (74.492203,76.097702) and (80.382797,82.300797)..(74.550797,92.496101)
- ..controls (76.031303,75.605499) and (35.667999,76.644501)..(29.507799,63.285198)
- ..controls (28.941401,62.046902) and (35.695301,61.035198)..(37.589802,61.632801)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (73.132797,74.324203)..controls (70.261703,57.839802) and (46.078098,56.980499)..(41.988300,38.492199)
- ..controls (50.019501,56.644501) and (72.492203,54.683601)..(73.132797,74.324203)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (52.835899,124.285004)..controls (52.835899,124.285004) and (61.484402,122.188004)..(66.742203,112.996002)
- ..controls (124.848000,92.714798) and (88.402298,33.800800)..(83.148399,24.914101)
- --(103.566002,24.839800)..controls (97.933601,34.035198) and (130.632996,97.394501)..(69.746101,116.277000)
- ..controls (64.714798,119.308998) and (61.902302,123.676003)..(52.835899,124.285004)
- --cycle;
- drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900)
- --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000)
- ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004)
- --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202)
- ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800)
- ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101)
- --cycle;
-drawoptions (withcolor _chess_black);
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.058599) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.429699)..(70.867203,36.429699)
- --cycle;
-);
-
-picture _chess_staunty_bP;
-_chess_staunty_bP:=image(
-color _chess_black;
-_chess_black:=(0.372549,0.349020,0.333333);
-
-drawoptions (withcolor _chess_black);
-linecap := butt;
-fill (60.953098,63.511700)--(80.781303,63.511700)--(53.859402,92.101601)
- ..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702)
- --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700)
- ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899)
- ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000)
- --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899)
- ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700)
- --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702)
- ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601)
- ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001)
- ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.757797,109.027000)..controls (74.078102,110.332001) and (97.765602,92.289101)..(72.593803,78.492203)
- --(85.382797,72.539101)--(83.789101,63.679699)--(91.324203,63.679699)
- --(92.539101,73.312500)--(82.191399,79.265602)..controls (85.746101,82.667999) and (87.753899,86.585899)..(87.761703,91.496101)
- ..controls (86.433601,106.844002) and (70.757797,109.027000)..(70.757797,109.027000)
- --cycle;
-fill (62.402302,63.679699)..controls (75.164101,41.187500) and (89.246101,35.347698)..(99.460899,35.433601)
- --(93.464798,39.253899)..controls (87.582001,43.472698) and (80.050797,53.019501)..(79.113297,63.679699)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (62.312500,78.765602)--(57.644501,72.117203)--(50.964802,72.152298)
- --(62.343800,78.742203)--cycle;
-fill (62.312500,78.765602)--cycle;
-fill (68.902298,106.960999)..controls (61.695301,106.566002) and (52.660198,97.960899)..(56.472698,87.347702)
- --(57.035198,85.523399)..controls (56.101601,95.417999) and (63.066399,105.703003)..(68.902298,106.960999)
- --cycle;
-fill (50.636700,35.082001)..controls (39.343800,28.542999) and (36.128899,17.671900)..(36.128899,17.671900)
- ..controls (36.101601,17.671900) and (34.578098,29.507799)..(47.343800,36.539101)
- ..controls (60.113300,43.558601) and (61.011700,53.968800)..(63.957001,61.746101)
- ..controls (62.152302,51.246101) and (61.929699,41.617199)..(50.636700,35.082001)
- --cycle;
-
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (53.859402,92.101601)..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702)
- --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700)
- ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899)
- ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000)
- --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899)
- ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700)
- --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702)
- ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601)
- ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001)
- ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601)
- --cycle;
- draw (60.953098,63.511700)--(80.781303,63.511700);
-);
-
-picture _chess_staunty_bQ;
-
-_chess_staunty_bQ:=image(
-color _chess_black;
-_chess_black:=(0.372549,0.349020,0.333333);
-
-drawoptions (withcolor _chess_black);
-fill (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004)
- ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997)
- ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997)
- ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004)
- ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999)
- ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.402298,125.480003)..controls (69.335899,126.078003) and (59.843800,123.198997)..(64.207001,115.348000)
- ..controls (63.539101,119.726997) and (65.449203,124.426003)..(70.402298,125.480003)
- --cycle;
-fill (70.402298,125.480003)--cycle;
-drawoptions (withcolor _chess_black);
-fill (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202)
- --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997)
- --cycle;
-
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (51.480499,99.277298)..controls (54.433601,103.464996) and (59.757801,108.402000)..(70.871101,108.855003)
- ..controls (69.988297,108.073997) and (57.296902,105.633003)..(51.480499,99.277298)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (70.402298,127.542999)..controls (70.402298,127.542999) and (70.531303,126.866997)..(70.402298,127.542999)
- ..controls (77.429703,124.339996) and (76.210899,116.633003)..(72.718803,111.816002)
- ..controls (93.562500,101.035004) and (78.988297,87.246101)..(78.988297,87.246101)
- --(86.644501,87.246101)..controls (91.640602,83.593803) and (107.078003,95.011703)..(75.773399,111.816002)
- ..controls (85.773399,120.648003) and (76.046898,127.710999)..(70.402298,127.542999)
- --cycle;
- drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202)
- --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401290bp;
-draw (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004)
- ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997)
- ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997)
- ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004)
- ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999)
- ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999)
- --cycle;
-
-drawoptions (withcolor _chess_black);
-fill (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803)
- ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602)
- ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602)
- ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398)
- ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598)
- --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398)
- ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602)
- ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602)
- ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803)
- ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (28.050800,86.914101)..controls (27.664101,86.937500) and (27.109400,86.753899)..(26.750000,86.671898)
- ..controls (35.484402,75.046898) and (45.386700,59.632801)..(46.871101,51.468800)
- ..controls (42.886700,65.457001) and (37.613300,78.578102)..(29.468800,86.828102)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (113.313004,88.628899)..controls (86.425797,60.269501) and (85.179703,37.640598)..(65.289101,33.886700)
- --(94.984398,33.886700)..controls (94.695297,52.148399) and (98.230499,62.210899)..(117.616997,87.230499)
- ..controls (117.616997,87.230499) and (115.664001,89.378899)..(113.313004,88.628899)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401290bp;
-draw (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803)
- ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602)
- ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602)
- ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398)
- ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598)
- --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398)
- ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602)
- ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602)
- ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803)
- ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102)
- --cycle;
-
-drawoptions (withcolor 1.7*_chess_black);
-fill (42.269501,88.027298)..controls (42.843800,88.277298) and (45.625000,93.152298)..(47.882801,93.554703)
- ..controls (43.859402,94.539101) and (43.296902,93.687500)..(42.269501,88.027298)
- --cycle;
-fill (63.812500,91.058601)..controls (66.511703,93.460899) and (68.441399,98.585899)..(72.988297,96.292999)
- ..controls (70.726601,96.937500) and (66.710899,93.339798)..(63.812500,91.058601)
- --cycle;
-fill (88.214798,90.332001)..controls (88.808601,90.132797) and (94.382797,94.984398)..(96.328102,93.785202)
- ..controls (96.328102,93.785202) and (92.269501,90.609398)..(88.214798,90.332001)
- --cycle;
-drawoptions (withcolor _chess_black);
-linecap := butt;
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.980499,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-);
-
-picture _chess_staunty_bR;
-_chess_staunty_bR:=image(
-color _chess_black;
-_chess_black:=(0.372549,0.349020,0.333333);
-
-drawoptions (withcolor _chess_black);
-linecap := butt;
-linejoin := mitered;
-fill (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203)
- --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203)
- ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002)
- --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997)
- --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997)
- --(53.468800,105.515999)--(50.429699,115.844002)--cycle;
-
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (50.832001,83.867203)..controls (70.187500,83.867203) and (88.015602,82.710899)..(93.203102,36.886700)
- --(99.777298,35.792999)--(90.898399,82.367203)..controls (90.812500,83.234398) and (73.644501,87.527298)..(50.828098,83.867203)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (41.886700,112.762001)--(48.339802,113.578003)..controls (42.917999,112.691002) and (41.785198,98.562500)..(41.785198,98.562500)
- ..controls (41.109402,99.062500) and (41.250000,112.460999)..(41.886700,112.762001)
- --cycle;
-fill (71.648399,114.660004)..controls (66.976601,114.660004) and (64.507797,106.875000)..(64.507797,106.875000)
- --(65.464798,114.605003)--cycle;
-fill (92.609398,113.910004)--(95.257797,113.573997)..controls (93.035202,112.152000) and (90.750000,107.933998)..(90.750000,107.933998)
- --cycle;
-fill (52.363300,82.304703)--(59.789101,83.136703)..controls (52.363300,82.304703) and (45.910198,46.136700)..(45.882801,45.964802)
- --cycle;
-
-drawoptions (withcolor 0.8*_chess_black);
-fill (96.414101,115.089996)..controls (97.425797,97.050797) and (90.886703,85.039101)..(73.621101,85.226601)
- --(87.164101,83.628899)..controls (108.487999,82.753899) and (101.625000,114.258003)..(101.527000,114.339996)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (50.832001,83.867203)..controls (64.738297,85.964798) and (77.984398,85.503899)..(90.902298,83.867203);
-draw (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203)
- --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203)
- ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002)
- --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997)
- --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997)
- --(53.468800,105.515999)--(50.429699,115.844002)--cycle;
-
- drawoptions (withcolor _chess_black);
-linejoin := rounded;
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.828098)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.773399)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.179701)
- ..controls (44.980499,34.632801) and (70.867203,34.769501)..(70.867203,34.769501)
- ..controls (70.867203,34.769501) and (96.750000,34.632801)..(104.008003,30.179701)
- ..controls (105.116997,29.503901) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,31.000000)..(103.191002,32.242199)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-);
-
-picture _chess_staunty_wB;
-_chess_staunty_wB:= image(
-color _chess_black;
-_chess_black:=(0.941176,0.941176,0.941176);
-
-drawoptions (withcolor _chess_black);
-%linecap := butt;
-pickup pencircle scaled 3.401580bp;
-fill (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002)
- --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700)
- --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399)
- --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898)
- ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703)
- --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000)
- --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,125.383003)..controls (68.550797,125.383003) and (66.414101,125.003998)..(64.656303,124.371002)
- ..controls (76.953102,121.964996) and (78.761703,121.198997)..(71.910202,112.039001)
- --(81.113297,101.926003)..controls (70.746101,78.566399) and (76.566399,79.269501)..(76.566399,79.269501)
- ..controls (76.566399,79.269501) and (78.539101,86.777298)..(88.222702,101.292999)
- ..controls (85.183601,104.921997) and (81.593803,108.601997)..(77.375000,112.305000)
- --(81.671898,119.816002)..controls (81.671898,122.890999) and (76.835899,125.383003)..(70.867203,125.383003)
- --cycle;
-fill (95.714798,90.691399)--(92.851601,86.410202)..controls (103.445000,62.558601) and (81.132797,35.390598)..(81.132797,35.390598)
- --(93.550797,35.390598)..controls (94.000000,35.292999) and (113.277000,60.460899)..(95.714798,90.699203)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (42.929699,51.812500)..controls (42.308601,51.902302) and (33.226601,79.550797)..(59.242199,104.964996)
- ..controls (52.718800,99.593803) and (39.015598,67.652298)..(42.929699,51.812500)
- --cycle;
-fill (66.023399,112.832001)--(61.835899,120.183998)..controls (61.835899,120.183998) and (62.523399,122.226997)..(66.886703,123.152000)
- ..controls (61.992199,119.328003) and (64.085899,118.438004)..(66.023399,112.832001)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002)
- --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700)
- --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399)
- --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898)
- ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703)
- --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000)
- --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003)
- --cycle;
-drawoptions (withcolor _chess_black);
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 0.1*_chess_black);
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-);
-
-picture _chess_staunty_wK;
-
-_chess_staunty_wK:=image(
-color _chess_black;
-_chess_black:=(0.941176,0.941176,0.941176);
-
-
-drawoptions (withcolor _chess_black);
-linejoin := mitered;
-fill (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002)
- --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999)
- --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997)
- --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102)
- --cycle;
- drawoptions (withcolor 0.8*_chess_black);
-fill (74.238297,132.210999)--(74.238297,121.176003)--(77.035202,121.176003)
- --(77.035202,132.210999)--cycle;
-fill (86.824203,121.176003)--(86.824203,107.160004)--(91.019501,107.160004)
- --(91.019501,121.176003)--cycle;
-fill (74.242203,108.621002)--(74.242203,101.555000)--(78.437500,101.555000)
- --(78.437500,108.621002)--cycle;
-fill (74.242203,108.621002)--cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002)
- --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999)
- --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997)
- --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102);
-
-% support croix
-drawoptions (withcolor _chess_black);
-pickup pencircle scaled 0.000000bp;
-linecap := butt;
-linejoin := rounded;
-fill (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398)
- ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101)
- --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398)
- ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (74.878899,101.438004)..controls (76.933601,101.438004) and (78.589798,99.675797)..(78.589798,97.484398)
- ..controls (78.589798,95.296898) and (76.933601,93.539101)..(74.878899,93.539101)
- --(80.472702,93.539101)..controls (82.527298,93.539101) and (84.183601,95.296898)..(84.183601,97.484398)
- ..controls (84.183601,99.675797) and (82.527298,101.438004)..(80.472702,101.438004)
- --cycle;
- drawoptions (withcolor 1.7*_chess_black);
-fill (61.316399,99.664101)..controls (60.175800,99.664101) and (59.261700,98.679703)..(59.261700,97.468803)
- ..controls (59.261700,96.253899) and (60.175800,95.285202)..(61.316399,95.285202)
- --(63.792999,95.285202)..controls (62.656300,95.285202) and (61.738300,96.253899)..(61.738300,97.468803)
- ..controls (61.738300,98.679703) and (62.656300,99.664101)..(63.792999,99.664101)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398)
- ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101)
- --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398)
- ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004)
- --cycle;
-drawoptions (withcolor _chess_black);
-linecap := rounded;
-linejoin := mitered;
-fill (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899)
- ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899)
- ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899)
- ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.855499,94.746101)..controls (116.035004,87.312500) and (106.496002,68.226601)..(89.679703,30.843800)
- --(95.425797,35.746101)..controls (95.425797,35.746101) and (117.387001,74.640602)..(114.089996,82.003899)
- ..controls (109.707001,90.039101) and (92.820297,93.792999)..(70.855499,94.750000)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899)
- ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899)
- ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899)
- ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (67.367203,92.710899)..controls (56.300800,93.226601) and (25.921900,87.597702)..(29.089800,78.484398)
- ..controls (31.406300,67.921898) and (36.898399,57.953098)..(41.867199,48.710899)
- ..controls (25.746099,78.003899) and (25.023399,87.753899)..(67.363297,92.710899)
- --cycle;
-fill (67.367203,92.710899)--cycle;
-fill (66.304703,130.397995)--(66.257797,121.012001)--(67.804703,121.012001)
- --(67.851601,130.397995)--cycle;
-fill (52.328098,119.430000)--(52.304699,110.339996)--(54.496101,110.339996)
- --(54.519501,119.430000)--cycle;
-fill (64.835899,110.328003)--(64.910202,103.277000)--(66.382797,103.277000)
- --(66.308601,110.328003)--cycle;
-fill (64.835899,110.328003)--cycle;
-drawoptions (withcolor _chess_black);
-linecap := butt;
-linejoin := rounded;
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-);
-
-picture _chess_staunty_wN;
-_chess_staunty_wN:=image(
- color _chess_black;
-_chess_black:=(0.941176,0.941176,0.941176);
-
-drawoptions (withcolor _chess_black);
-linecap := butt;
-fill (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900)
- --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000)
- ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004)
- --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202)
- ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800)
- ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101)
- --cycle;
-
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (54.765598,100.082001)..controls (52.566399,97.636703) and (52.808601,96.917999)..(52.457001,93.984398)
- ..controls (54.742199,93.632797) and (56.730499,93.304703)..(58.832001,93.796898)
- ..controls (65.582001,97.378899) and (59.046902,103.441002)..(54.765598,100.082001)
- --cycle;
-fill (26.054701,78.898399)..controls (23.648399,77.746101) and (23.226601,76.175797)..(23.058599,74.714798)
- ..controls (25.125000,73.535202) and (28.378901,75.074203)..(28.847700,78.773399)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (23.218800,70.437500)..controls (23.218800,70.437500) and (25.066401,67.214798)..(20.093800,75.089798)
- ..controls (21.960899,80.699203) and (43.515598,100.832001)..(55.351601,113.457001)
- --(54.832001,122.207001)..controls (54.832001,122.207001) and (57.859402,117.414001)..(58.367199,112.375000)
- ..controls (45.921902,99.925797) and (23.726601,81.667999)..(22.015600,74.921898)
- ..controls (22.082001,73.007797) and (22.695299,72.003899)..(23.214800,70.437500)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (37.585899,61.632801)..controls (43.339802,71.089798) and (61.375000,70.769501)..(71.410202,76.496101)
- ..controls (72.324203,76.207001) and (71.781303,72.609398)..(72.089798,73.003899)
- ..controls (74.492203,76.097702) and (80.382797,82.300797)..(74.550797,92.496101)
- ..controls (76.031303,75.605499) and (35.667999,76.644501)..(29.507799,63.285198)
- ..controls (28.941401,62.046902) and (35.695301,61.035198)..(37.589802,61.632801)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (73.132797,74.324203)..controls (70.261703,57.839802) and (46.078098,56.980499)..(41.988300,38.492199)
- ..controls (50.019501,56.644501) and (72.492203,54.683601)..(73.132797,74.324203)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (52.835899,124.285004)..controls (52.835899,124.285004) and (61.484402,122.188004)..(66.742203,112.996002)
- ..controls (124.848000,92.714798) and (88.402298,33.800800)..(83.148399,24.914101)
- --(103.566002,24.839800)..controls (97.933601,34.035198) and (130.632996,97.394501)..(69.746101,116.277000)
- ..controls (64.714798,119.308998) and (61.902302,123.676003)..(52.835899,124.285004)
- --cycle;
- drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900)
- --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000)
- ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004)
- --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202)
- ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800)
- ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101)
- --cycle;
-drawoptions (withcolor _chess_black);
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.058599) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.429699)..(70.867203,36.429699)
- --cycle;
-);
-
-picture _chess_staunty_wP;
-
-_chess_staunty_wP:=image(
-color _chess_black;
-_chess_black:=(0.941176,0.941176,0.941176);
-
-drawoptions (withcolor _chess_black);
-linecap := butt;
-fill (60.953098,63.511700)--(80.781303,63.511700)--(53.859402,92.101601)
- ..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702)
- --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700)
- ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899)
- ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000)
- --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899)
- ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700)
- --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702)
- ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601)
- ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001)
- ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.757797,109.027000)..controls (74.078102,110.332001) and (97.765602,92.289101)..(72.593803,78.492203)
- --(85.382797,72.539101)--(83.789101,63.679699)--(91.324203,63.679699)
- --(92.539101,73.312500)--(82.191399,79.265602)..controls (85.746101,82.667999) and (87.753899,86.585899)..(87.761703,91.496101)
- ..controls (86.433601,106.844002) and (70.757797,109.027000)..(70.757797,109.027000)
- --cycle;
-fill (62.402302,63.679699)..controls (75.164101,41.187500) and (89.246101,35.347698)..(99.460899,35.433601)
- --(93.464798,39.253899)..controls (87.582001,43.472698) and (80.050797,53.019501)..(79.113297,63.679699)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (62.312500,78.765602)--(57.644501,72.117203)--(50.964802,72.152298)
- --(62.343800,78.742203)--cycle;
-fill (62.312500,78.765602)--cycle;
-fill (68.902298,106.960999)..controls (61.695301,106.566002) and (52.660198,97.960899)..(56.472698,87.347702)
- --(57.035198,85.523399)..controls (56.101601,95.417999) and (63.066399,105.703003)..(68.902298,106.960999)
- --cycle;
-fill (50.636700,35.082001)..controls (39.343800,28.542999) and (36.128899,17.671900)..(36.128899,17.671900)
- ..controls (36.101601,17.671900) and (34.578098,29.507799)..(47.343800,36.539101)
- ..controls (60.113300,43.558601) and (61.011700,53.968800)..(63.957001,61.746101)
- ..controls (62.152302,51.246101) and (61.929699,41.617199)..(50.636700,35.082001)
- --cycle;
-
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (53.859402,92.101601)..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702)
- --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700)
- ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899)
- ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000)
- --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899)
- ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700)
- --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702)
- ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601)
- ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001)
- ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601)
- --cycle;
- draw (60.953098,63.511700)--(80.781303,63.511700);
-);
-
-picture _chess_staunty_wQ;
-
-_chess_staunty_wQ:=image(
- color _chess_black;
-_chess_black:=(0.941176,0.941176,0.941176);
-
-drawoptions (withcolor _chess_black);
-fill (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004)
- ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997)
- ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997)
- ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004)
- ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999)
- ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.402298,125.480003)..controls (69.335899,126.078003) and (59.843800,123.198997)..(64.207001,115.348000)
- ..controls (63.539101,119.726997) and (65.449203,124.426003)..(70.402298,125.480003)
- --cycle;
-fill (70.402298,125.480003)--cycle;
-drawoptions (withcolor _chess_black);
-fill (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202)
- --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997)
- --cycle;
-
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (51.480499,99.277298)..controls (54.433601,103.464996) and (59.757801,108.402000)..(70.871101,108.855003)
- ..controls (69.988297,108.073997) and (57.296902,105.633003)..(51.480499,99.277298)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (70.402298,127.542999)..controls (70.402298,127.542999) and (70.531303,126.866997)..(70.402298,127.542999)
- ..controls (77.429703,124.339996) and (76.210899,116.633003)..(72.718803,111.816002)
- ..controls (93.562500,101.035004) and (78.988297,87.246101)..(78.988297,87.246101)
- --(86.644501,87.246101)..controls (91.640602,83.593803) and (107.078003,95.011703)..(75.773399,111.816002)
- ..controls (85.773399,120.648003) and (76.046898,127.710999)..(70.402298,127.542999)
- --cycle;
- drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202)
- --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401290bp;
-draw (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004)
- ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997)
- ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997)
- ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004)
- ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999)
- ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999)
- --cycle;
-
-drawoptions (withcolor _chess_black);
-fill (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803)
- ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602)
- ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602)
- ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398)
- ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598)
- --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398)
- ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602)
- ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602)
- ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803)
- ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (28.050800,86.914101)..controls (27.664101,86.937500) and (27.109400,86.753899)..(26.750000,86.671898)
- ..controls (35.484402,75.046898) and (45.386700,59.632801)..(46.871101,51.468800)
- ..controls (42.886700,65.457001) and (37.613300,78.578102)..(29.468800,86.828102)
- --cycle;
-drawoptions (withcolor 0.8*_chess_black);
-fill (113.313004,88.628899)..controls (86.425797,60.269501) and (85.179703,37.640598)..(65.289101,33.886700)
- --(94.984398,33.886700)..controls (94.695297,52.148399) and (98.230499,62.210899)..(117.616997,87.230499)
- ..controls (117.616997,87.230499) and (115.664001,89.378899)..(113.313004,88.628899)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401290bp;
-draw (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803)
- ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602)
- ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602)
- ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398)
- ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598)
- --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398)
- ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602)
- ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602)
- ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803)
- ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102)
- --cycle;
-
-drawoptions (withcolor 1.7*_chess_black);
-fill (42.269501,88.027298)..controls (42.843800,88.277298) and (45.625000,93.152298)..(47.882801,93.554703)
- ..controls (43.859402,94.539101) and (43.296902,93.687500)..(42.269501,88.027298)
- --cycle;
-fill (63.812500,91.058601)..controls (66.511703,93.460899) and (68.441399,98.585899)..(72.988297,96.292999)
- ..controls (70.726601,96.937500) and (66.710899,93.339798)..(63.812500,91.058601)
- --cycle;
-fill (88.214798,90.332001)..controls (88.808601,90.132797) and (94.382797,94.984398)..(96.328102,93.785202)
- ..controls (96.328102,93.785202) and (92.269501,90.609398)..(88.214798,90.332001)
- --cycle;
-drawoptions (withcolor _chess_black);
-linecap := butt;
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800)
- ..controls (44.980499,34.628899) and (70.867203,34.765598)..(70.867203,34.765598)
- ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800)
- ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-);
-
-picture _chess_staunty_wR;
-
-_chess_staunty_wR:=image(
- color _chess_black;
-_chess_black:=(0.941176,0.941176,0.941176);
-
-drawoptions (withcolor _chess_black);
-linecap := butt;
-linejoin := mitered;
-fill (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203)
- --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203)
- ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002)
- --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997)
- --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997)
- --(53.468800,105.515999)--(50.429699,115.844002)--cycle;
-
-drawoptions (withcolor 0.8*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (50.832001,83.867203)..controls (70.187500,83.867203) and (88.015602,82.710899)..(93.203102,36.886700)
- --(99.777298,35.792999)--(90.898399,82.367203)..controls (90.812500,83.234398) and (73.644501,87.527298)..(50.828098,83.867203)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-fill (41.886700,112.762001)--(48.339802,113.578003)..controls (42.917999,112.691002) and (41.785198,98.562500)..(41.785198,98.562500)
- ..controls (41.109402,99.062500) and (41.250000,112.460999)..(41.886700,112.762001)
- --cycle;
-fill (71.648399,114.660004)..controls (66.976601,114.660004) and (64.507797,106.875000)..(64.507797,106.875000)
- --(65.464798,114.605003)--cycle;
-fill (92.609398,113.910004)--(95.257797,113.573997)..controls (93.035202,112.152000) and (90.750000,107.933998)..(90.750000,107.933998)
- --cycle;
-fill (52.363300,82.304703)--(59.789101,83.136703)..controls (52.363300,82.304703) and (45.910198,46.136700)..(45.882801,45.964802)
- --cycle;
-
-drawoptions (withcolor 0.8*_chess_black);
-fill (96.414101,115.089996)..controls (97.425797,97.050797) and (90.886703,85.039101)..(73.621101,85.226601)
- --(87.164101,83.628899)..controls (108.487999,82.753899) and (101.625000,114.258003)..(101.527000,114.339996)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (50.832001,83.867203)..controls (64.738297,85.964798) and (77.984398,85.503899)..(90.902298,83.867203);
-draw (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203)
- --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203)
- ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002)
- --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997)
- --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997)
- --(53.468800,105.515999)--(50.429699,115.844002)--cycle;
-
- drawoptions (withcolor _chess_black);
-linejoin := rounded;
-fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-drawoptions (withcolor 1.7*_chess_black);
-pickup pencircle scaled 0.000000bp;
-fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.828098)..(37.917999,31.710899)
- ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.773399)
- ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.179701)
- ..controls (44.980499,34.632801) and (70.867203,34.769501)..(70.867203,34.769501)
- ..controls (70.867203,34.769501) and (96.750000,34.632801)..(104.008003,30.179701)
- ..controls (105.116997,29.503901) and (105.688004,28.671900)..(106.433998,27.710899)
- ..controls (106.508003,27.925800) and (105.277000,31.000000)..(103.191002,32.242199)
- ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601)
- --cycle;
-drawoptions (withcolor (0.117647,0.117647,0.117647));
-pickup pencircle scaled 3.401580bp;
-draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902)
- ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000)
- --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902)
- ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700)
- --cycle;
-); \ No newline at end of file
diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
index d79b984ad6..0fab8735ec 100644
--- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
+++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp
@@ -2,7 +2,7 @@
%% mpchess.mp %%
%% draw chessboards with metapost %%
%% chupin@ceremade.dauphine.fr %%
-%% Version 0.1 (mars 2023) %%
+%% Version 0.3 (mars 2023) %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% This work may be distributed and/or modified under the conditions of
@@ -14,8 +14,8 @@
%input format;
input hatching;
+input mpchess-pieces; % piece of mpchess package
input mpchess-cburnett; % piece of lichess cburnett
-input mpchess-staunty; % piece of lichess staunty
input mpchess-skak; % piece of skak package
input mpchess-chessboard;
input mpchess-pgn;
@@ -182,9 +182,12 @@ color _blackColorSquare,_whiteColorSquare;
_blackColorSquare:=(0.549,0.6353,0.6784);
_whiteColorSquare:=(0.8706,0.8912,0.902);
+color _chess_main_lines_color;
+_chess_main_lines_color:=0.3[_blackColorSquare,black];
-
-
+def set_main_lines_color(expr c)=
+ _chess_main_lines_color:=c;
+enddef;
picture _blackSquarePic, _whiteSquarePic;
@@ -251,7 +254,22 @@ _chess_wQ:=_chess_cburnett_wQ;
_chess_wR:=_chess_cburnett_wR;
def set_pieces_theme(expr t)=
- if(t="cburnett"):
+ if(t="mpchess"):
+ _chess_bB:=_chess_mpchess_bB;
+ _chess_bK:=_chess_mpchess_bK;
+ _chess_bN:=_chess_mpchess_bN;
+ _chess_bP:=_chess_mpchess_bP;
+ _chess_bQ:=_chess_mpchess_bQ;
+ _chess_bR:=_chess_mpchess_bR;
+
+
+ _chess_wB:=_chess_mpchess_wB;
+ _chess_wK:=_chess_mpchess_wK;
+ _chess_wN:=_chess_mpchess_wN;
+ _chess_wP:=_chess_mpchess_wP;
+ _chess_wQ:=_chess_mpchess_wQ;
+ _chess_wR:=_chess_mpchess_wR;
+ elseif(t="cburnett"):
_chess_bB:=_chess_cburnett_bB;
_chess_bK:=_chess_cburnett_bK;
_chess_bN:=_chess_cburnett_bN;
@@ -265,22 +283,7 @@ def set_pieces_theme(expr t)=
_chess_wN:=_chess_cburnett_wN;
_chess_wP:=_chess_cburnett_wP;
_chess_wQ:=_chess_cburnett_wQ;
- _chess_wR:=_chess_cburnett_wR;
- elseif(t="staunty"):
- _chess_bB:=_chess_staunty_bB;
- _chess_bK:=_chess_staunty_bK;
- _chess_bN:=_chess_staunty_bN;
- _chess_bP:=_chess_staunty_bP;
- _chess_bQ:=_chess_staunty_bQ;
- _chess_bR:=_chess_staunty_bR;
-
-
- _chess_wB:=_chess_staunty_wB;
- _chess_wK:=_chess_staunty_wK;
- _chess_wN:=_chess_staunty_wN;
- _chess_wP:=_chess_staunty_wP;
- _chess_wQ:=_chess_staunty_wQ;
- _chess_wR:=_chess_staunty_wR;
+ _chess_wR:=_chess_cburnett_wR;
elseif(t="skak"):
_chess_bB:=_chess_skak_bB;
_chess_bK:=_chess_skak_bK;
@@ -960,6 +963,9 @@ def reset_mpchess=
set_pieces_theme("cburnett");
_chess_white_player:="";
_chess_black_player:="";
+ _chess_arrow_width:=0.08*_chessSquareU;
+ _chess_arrow_head:=0.4*_chessSquareU;
+ _chess_main_lines_color:=0.3[_blackColorSquare,black];
enddef;
color _commentColor;
diff --git a/info/context-notes-zh-cn/LICENSE b/info/context-notes-zh-cn/LICENSE
new file mode 100644
index 0000000000..f288702d2f
--- /dev/null
+++ b/info/context-notes-zh-cn/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<https://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/info/context-notes-zh-cn/README b/info/context-notes-zh-cn/README
deleted file mode 100644
index eb41b59ff0..0000000000
--- a/info/context-notes-zh-cn/README
+++ /dev/null
@@ -1,12 +0,0 @@
-This is an introductory tutorial on ConTeXt in Chinese written by Yanrui Li.
-
-ConTeXt installation, fonts, layout design, cross-reference, project structure, metafun are covered in this tutorial.
-
-This package is licensed in GFDL (GNU Free Documentation License).
-
-If you are interested in the process of development you may observe
-
- http://code.google.com/p/ctex-doc/updates/list
-
-Report feedback in the Issues section of ctex-doc project,
-or in http://bbs.ctex.org forum.
diff --git a/info/context-notes-zh-cn/README.md b/info/context-notes-zh-cn/README.md
new file mode 100644
index 0000000000..19e4d1d000
--- /dev/null
+++ b/info/context-notes-zh-cn/README.md
@@ -0,0 +1 @@
+This tutorial is completely rewritten. It comprehensively introduces how to use ConTeXt (>= MkIV) to typeset Simplified Chinese documents, mainly including the installation of ConTeXt LMTX, how to use Chinese fonts, and how to typeset lists, references, illustrations, tables, and framed texts. Furthermore, it is described how to use the MetaPost language for drawing in ConTeXt. Finally, how to make slides and books is introduced.
diff --git a/info/context-notes-zh-cn/ctxnotes.pdf b/info/context-notes-zh-cn/ctxnotes.pdf
index 5b13416d1e..7fde3eef9e 100644
--- a/info/context-notes-zh-cn/ctxnotes.pdf
+++ b/info/context-notes-zh-cn/ctxnotes.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/01.tex b/info/context-notes-zh-cn/src/01.tex
new file mode 100644
index 0000000000..4086af389e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/01.tex
@@ -0,0 +1,236 @@
+\chapter[Installation]{不怕命令行 }
+
+无论是安装还是使用 \ConTeXt,皆需要对命令行环境有所了解。原本未有介绍这方面知识的计划,但是考虑到我正在写一份世上最好的 \ConTeXt\ 入门文档,便有了些许动力。本章先分别介绍 Windows、Linux 和 macOS 系统的命令行环境的基本用法,以刚好满足安装和运行 \ConTeXt\ 的需求为要。倘若对命令行环境已颇为熟悉,可直接阅读 \in[installation] 和 \in[quick-installation] 节。
+
+\section{任务}
+
+使用命令行环境,在文件系统中,创建一个名为 foo 的目录,在该目录内创建一份 Shell 脚本,令其可在命令行窗口中输出「不怕命令行」,执行该脚本,查看其输出。
+
+\section{Windows 命令行}
+
+Windows 用户似乎畏惧甚至厌憎命令行环境,甚至很多人认为命令行环境是早已被淘汰的上个世纪的产物,因此要教会他们如何使用命令行环境,通常会有些麻烦,我当勉力为之。
+
+在 Windows 系统中打开一个命令行窗口,有很多种方法,其中最快的应当是使用如图 \in[win-r] 所示快捷键「Win + R」,打开「运行」对话框,在其中输入「cmd」后点击「确定」按钮或单击「Enter」键,即可打开与图 \in[cmd-window] 类似的命令行窗口。
+
+\startplacefigure[location=none]
+\startfloatcombination[nx=2,ny=1]
+\startplacefigure[title={「\type{Win + R}」 组合键},reference=win-r]
+\externalfigure[win-r.jpg][height=6cm]
+\stopplacefigure
+\startplacefigure[title={Windows 命令行窗口},reference=cmd-window]
+\externalfigure[cmd-window.png][height=6cm]
+\stopplacefigure
+\stopfloatcombination
+\stopplacefigure
+
+所有要执行的命令皆是在「\type{>}」符号后输入,因而该符号名曰「命令提示符」。命令提示符左侧的内容是一个文件目录,名曰「当前目录」或「工作目录」。在命令行环境里,任何命令皆是在某个目录中执行的。在开始尝试输入命令之前,请将输入法切换为英文输入状态。
+
+在命令行窗口中输入命令「d:」,然后单击「Enter」键执行该命令,可将当前目录切换为 D 盘。在命令行环境里,输入命令后,必须单击「Enter」键,方能使命令得以执行。
+
+执行命令「\type{md foo}」,可在 D 盘根目录创建目录 foo,然后执行命令「\type{cd foo}」,将当前目录切换为 foo,即 \type{D:\foo}。
+
+诸如 \type{D:\} 和 \type{D:\foo} 这样的表示形式统称为路径,更为准确地说,是绝对路径。有相对路径吗?有。在 \type{D:\foo} 中执行命令「\type{cd ..}」,便可将当前目录返回上一级,即 \type{D:\}。在 \type{D:\foo} 中执行命令「\type{cd ..\foo}」,则当前目录不会发生变化,因为 \type{D:\foo} 的上一级目录的子目录 foo 依然是 \type{D:\foo} 。形如 \type{..\foo} 这样的路径便是相对路径。
+
+在当前目录 \type{D:\} 中执行命令「\type{cd ..}」,当前目录会发生什么变化?不会发生任何变化,因为 \type{D:\} 是 D 盘的最顶层目录,亦即它的上一级目录为空。
+
+掌握了上述命令,便可在 Windows 文件系统中畅游无阻了,然而我们的任务尚未完成。在 Windows 系统中,该任务可描述为,在 \type{D:\foo} 中创建一份 Shell 脚本,执行该脚本,在命令行窗口中输出「不怕命令行」。在 Windows 系统中,Shell 脚本即批处理文件——扩展名为「\type{.bat}」的纯文本文件。在制作这份批处理文件之前,需要了解「\type{echo}」命令的基本用法。
+
+「\type{echo}」命令,如同我们对着幽深的山谷呼喊而产生回声的过程,它读取一段文本,然后在命令行窗口中原样输出。例如,
+
+\starttyping
+D:\foo> echo 不怕命令行
+不怕命令行
+\stoptyping
+
+似乎「\type{echo}」命令是一个什么都不会做的命令,这样的命令有什么用呢?它有一个用途是,利用输出重定向,将一些内容写入文本文件。例如,
+
+\starttyping
+D:\foo> echo @echo off > foo.bat
+\stoptyping
+
+\noindent 上述命令通过命令输出重定向符「\type{>}」将「\type{echo}」原本会输出到命令行窗口的文字「@echo off」重定向为输出到文件 \type{D:\foo\foo.bat} 。倘若该文件事先并不存在,上述命令会自动创建它。
+
+现在,使用「\type{echo}」命令向文件 \type{D:\foo\foo.bat} 增加一行文字:
+
+\starttyping
+D:\foo> echo echo 不怕命令行 >> foo.bat
+\stoptyping
+
+\noindent 注意,向指定文件追加内容,需要使用「\type{>>}」,倘若使用「\type{>}」,则文件原有内容会被全部替换。
+
+现在,略有纪念意义的时刻到了,你可能已经创建了人生中第一份 Windows 批处理文件,执行它吧!
+
+\starttyping
+D:\foo> .\foo.bat
+不怕命令行
+\stoptyping
+
+\noindent 注意,上述命令使用了相对路径的第二种形式,路径中的「\type{.}」表示当前目录。事实上,在 Windows 命令行环境里,这种形式的相对路径可以忽略,亦即上述命令可以改为
+
+\starttyping
+D:\foo> foo.bat
+不怕命令行
+\stoptyping
+
+\noindent 在执行某个程序或批处理文件时,倘若未给出其路径,Windows 系统默认先从当前目录中搜索文件,若未搜到,才会在系统环境变量 \type{PATH} 设定的路径中搜索。
+
+系统环境变量 \type{PATH} 是什么呢?既然是变量,必定有值,其值是绝对路径集,执行以下命令可以查看:
+
+\starttyping
+D:\foo> echo %PATH%
+\stoptyping
+
+\noindent 顺便指出,这是「\type{echo}」命令的另一种用途。
+
+使用以下「\type{setx}」命令可以将上述示例创建的批处理文件 foo.bat 所在目录 \type{D:\foo} 追加至 \type{PATH} 变量现有路径集的尾部:
+
+\starttyping
+D:\foo> setx /M PATH "%PATH%d:\foo;"
+\stoptyping
+
+\noindent 务必注意,该命令仅在「以管理员身份」启动的命令行窗口中起效。在 Windows 开始菜单里的搜索栏,输入「cmd」并单击「Enter」键提交,然后鼠标右键单击搜索结果,在弹出的菜单中选择「以管理员身份运行」。以这种方式开启的命令行窗口方可执行上述的「\type{setx}」命令。
+
+验证「\type{D:\foo}」是否被成功添加到系统 \type{PATH} 变量,只需在除 \type{D:\foo} 之外的任一目录验证能否执行 foo.bat,例如
+
+\starttyping
+D:\foo> c:
+C:\> cd windows\system32
+C:\Windows\System32> foo.bat
+不怕命令行
+\stoptyping
+
+\useURL[Windows 命令行][https://www.bilibili.com/video/BV1vk4y1h7LE/]
+若不知如何以管理员身份运行命令行窗口,亦可通过图形界面设置 \type{PATH} 变量。我已将上述构建 \type{D:\foo\foo.bat} 以及如何通过图形界面设置系统 \type{PATH} 变量等过程录制为视频,网络链接为\bluebox{\from[Windows 命令行]},藉此避免让层峦叠障的 Windows 窗口截图占据本章太多篇幅。
+
+\section{Linux 终端}
+
+在 Linux 系统中,命令行环境叫作「终端(Terminal)」。终端中可以运行多种 Shell,最为常见的是 Bash Shell。这些 Shell 往往大同小异。终端可以嵌入窗口运行,也可以在没有窗口的情况下运行\footnote{通常情况下,可使用快捷键「\type{Ctrl + Alt + F1~F6}」切换到无窗口的终端。「\type{Ctrl + Alt + F7}」也对应一个终端,它通常被 Linux 窗口系统占用。},我们通常使用的是前者。
+
+Linux 系统发行版众多,每个发行版有其不同的打开终端窗口的方式且因 Linux 用户往往对终端较为熟悉,因而不再赘述如何打开终端窗口。现在,假设终端窗口已经开启。首先,进入 \type{$HOME} 目录,创建子目录 foo:
+
+\starttyping
+$ cd $HOME
+$ mkdir foo
+\stoptyping
+
+\noindent 进入 foo,使用命令输出重定向,将 \type{echo} 命令的输出结果写入 foo.sh 文件:
+
+\starttyping
+$ cd foo
+$ echo #!/bin/bash > foo.sh
+$ echo echo 不怕命令行 >> foo.sh
+\stoptyping
+
+\noindent 使用 \type{chmod} 命令为 foo.sh 增加可执行权限,让它像程序一样运行:
+
+\starttyping
+$ chmod +x foo.sh
+\stoptyping
+
+\noindent 运行 foo.sh:
+
+\starttyping
+$ ./foo.sh
+不怕命令行
+\stoptyping
+
+\noindent 将「\type{$HOME/foo}」添加至系统「\type{PATH}」变量并使之生效:
+
+\starttyping
+$ cd $HOME
+$ echo 'export PATH=$HOME/foo:$PATH' >> .bashrc
+$ source .bashrc
+\stoptyping
+
+\noindent 在任一目录下执行 foo.sh 以验证「\type{$HOME/foo}」是否已被添加至「\type{PATH}」变量,例如
+
+\starttyping
+$ cd /tmp
+$ foo.sh
+不怕命令行
+\stoptyping
+
+倘若想对 Bash Shell 有更多一些的了解,可以阅读我的拙作「写给高年级小学生的《Bash 指南》」\cite[bash-tutor],它介绍了 Bash 的诸多有趣之处,也许会让你喜欢命令行,而不仅仅是不怕它。
+
+\section{macOS 终端}
+
+\useURL[macOS 终端][https://support.apple.com/zh-cn/guide/terminal/apd5265185d-f365-44cb-8b09-71a064a42125/mac]
+我没用过 macOS 系统,在该系统中打开终端窗口,可按 macOS 官方帮助文档介绍的方法进行,详见:\\
+\bluebox{{\switchtobodyfont[9.75pt]\from[macOS 终端]}}
+
+至于 macOS 终端的用法,因 macOS 和 Linux 皆为 Unix-like(类 Unix)系统,二者终端环境的用法近乎相同,唯一有些区别的是,从 macOS Catalina 版开始,macOS 默认使用的 Shell 不再是 Bash,而是 zsh。因此,在设置「\type{PATH}」变量时,命令需要变为
+
+\starttyping
+$ cd $HOME
+$ echo 'export PATH=$HOME/foo:$PATH' >> .zshrc
+$ source .zshrc
+\stoptyping
+
+\section[installation]{安装 \ConTeXt\ LMTX}
+
+\useURL[installation][https://wiki.contextgarden.net/Installation]
+\ConTeXt\ 的最新版本是 \ConTeXt\ LMTX,目前尚在开发和试验阶段,功能虽不稳定,但对于入门而言并无妨碍。从 \bluebox{\from[installation]} 下载对应操作系统类型的 \ConTeXt\ LMTX 安装包,按照该网址的相关介绍进行安装即可。授人以鱼,不如授人以渔,安装过程所需要的全部知识皆已在上文介绍完毕。不过,我总担心 Windows 用户无法安装成功,下文以 Windows 64 位系统为例,给出完整的安装过程。
+
+\useURL[win-64-version][http://lmtx.pragma-ade.com/install-lmtx/context-win64.zip]
+首先,从链接 \bluebox{\from[win-64-version]} 获得面向 Windows 64 位系统的安装包 \type{context-win64.zip} 并假设将其放在 \type{D:\} 解开,所得目录为 \type{context-win64},其结构如下:
+
+\starttyping
+D:\context-win64
+├── bin
+│   ├── mtx-install.lua
+│   ├── mtxrun.exe
+│   └── mtxrun.lua
+├── installation.pdf
+├── install.bat
+└── setpath.bat
+\stoptyping
+
+将目录 \type{context-win64} 改名为 \type{context},然后打开命令行窗口,依次执行以下命令:
+
+\starttyping
+> d:
+> cd context
+> install.bat
+\stoptyping
+
+\noindent 批处理文件 install.bat 能够自动从网络上下载 \ConTeXt\ LMTX 的所有文件,并将其安装在 \type{D:\context} 目录。安装时长取决于网络下载速度。由于服务器在境外,文件下载速度缓慢,可能需要很久方能安装完毕。当安装过程结束后,目前需要再次执行 install.bat,将 \ConTeXt\ LMTX 更新到最新版本。这些都是 \bluebox{\from[installation]} 未告诉我们的。此外,即使安装过程中断,再次运行 install.bat 可继续安装,而不会导致前功尽弃。
+
+验证 \ConTeXt\ LMTX 是否安装成功的方法是,在 \type{D:\context} 目录中执行以下命令:
+
+\starttyping
+> setpath.bat
+> md test
+> cd test
+> echo \startTEXpage[frame=on,offset=1pt] > foo.tex
+> echo Hello \ConTeXt! >> foo.tex
+> echo \stopTEXpage >> foo.tex
+> context foo.tex
+\stoptyping
+
+\noindent 倘若在 \type{D:\context\test} 目录下能够得到 \type{foo.pdf} 文件,且其内容为 \lower.3em\hbox{\externalfigure[foo.pdf]},则意味着已成功安装 \ConTeXt\ LMTX。
+
+最后,将 \type{D:\context\tex\texmf-win64\bin} 添加到系统 \type{PATH} 变量,便可在任一目录使用 \type{context} 命令将扩展名为 \type{.tex} 的文本文件编译成 PDF 文件了。
+
+\section[quick-installation]{投机取巧}
+
+倘若因为网络不畅甚至不通等问题无法成功安装 \ConTeXt\ LMTX,可以考虑下载我打包的整个 \ConTeXt\ LMTX 环境,目前仅有 Windows 64 位和 Linux 64 位版本,下载地址为:
+
+\useURL[win64v][https://pan.baidu.com/s/1r5gMqsk-peGQhOmcp_dNlw?pwd=eejf]
+\useURL[linux64v][https://pan.baidu.com/s/1iBHN-8Zroyd9rGOjRpQrYg?pwd=r2hp]
+\startitemize[packed]
+\item Windows amd64 版本:\bluebox{\from[win64v]}
+\item Linux amd64 版本:\bluebox{\from[linux64v]}
+\stopitemize
+
+\useURL[quick-installation][https://www.bilibili.com/video/BV1q84y1c7Je/]
+以 Windows 系统为例,从上述链接获得压缩包,以 \type{D:\} 作为解压缩目录,解压后可得 \type{D:\context} 目录,然后按照上一节所述方式修改系统 \type{PATH} 变量即可得到完整的 \ConTeXt\ LMTX 环境,日后依然可执行 \type{D:\context\install.bat} 对其进行更新。我已将该过程录制为视频,网络链接为 \bluebox{\from[quick-installation]}。
+
+\section{小结}
+
+在一个桌面操作系统中,命令行环境能完成的工作,图形界面通常也能完成,但对于有些任务,命令行环境比图形界面更为高效,反之亦然,原本无需厚此薄彼,但尺有所短,寸有所长,Windows,Linux 和 macOS 也是如此。
+
+\startitemize
+\item Windows 系统的命令行环境,前身是 MS DOS 系统,长期未得进化,现在用起来,捉襟见肘。现代的 PowerShell 更为适用,但因 \ConTeXt\ 目前不能直接在 PowerShell 环境里完成安装,故而上文未曾言及。
+\item macOS 无论图形界面还是命令行环境皆胜于 Windows 和 Linux,但其缺点是在不违法的情况下,它只能运行于苹果公司的计算机,费用不菲。
+\item Linux 系统的图形界面不及 Windows 和 macOS,但命令行环境优于 Windows\footnote{自 Windows 10 开始,微软在 Windows 系统中构建了 Linux 子系统(WSL),允许用户在 Windows 系统中使用 Linux 命令行环境,但是该环境无法利用 Windows 和 Linux 的图形界面功能。},与 macOS 相当,但 Linux 最显著的特点是,它能帮助每一个使用计算机的人,让他深刻觉察自己以往所宣称的那样热爱自由是否真实。
+\stopitemize
diff --git a/info/context-notes-zh-cn/src/02.tex b/info/context-notes-zh-cn/src/02.tex
new file mode 100644
index 0000000000..fe7e6ed58e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/02.tex
@@ -0,0 +1,255 @@
+\chapter{沙盘游戏}
+
+先不要急于学习使用 \ConTeXt\ 写论文,出专著,虽然它极为擅长这类任务,但是我还是希望先将它当成一个可爱的朋友,慢慢去熟悉它,而不是功利主义视角下的工具。
+
+\section{新手村}
+
+在第 \in[Installation] 章中,为了验证 \ConTeXt\ LMTX 是否已成功安装,我使用三条 \type{echo} 命令构造了一份简单的 \ConTeXt\ 源文件 foo.tex。事实上,可以使用任何一个文本编辑器来做此事。foo.tex 文件内容如下:
+
+\starttyping[option=TEX]
+\startTEXpage[offset=1cm]
+Hello \ConTeXt!
+\stopTEXpage
+\stoptyping
+
+\noindent 执行以下命令\footnote{从本章开始,一直使用 Linux 风格的命令提示符 \type{$}。},调用 \type{context} 程序,可将 foo.tex 编译成 PDF 文件 foo.pdf:
+
+\starttyping
+$ context foo.tex
+\stoptyping
+
+\noindent 在使用 \type{context} 命令编译 ConTeXt 源文件时,可省略文件扩展名「\type{.tex}」,因此下面的命令与上述命令等效:
+
+\starttyping
+$ context foo.tex
+\stoptyping
+
+现在,想必你已经敏锐地觉察到了,凡是开头为反斜线「\type{\}」开头的英文单词,都是排版命令,的确如此。
+
+排版命令 \type{\startTEXpage...\stopTEXpage} 称为 \type{TEXpage} 环境,我将其称为新手村。这一对排版命令所包含的内容,例如「\type{Hello \ConTeXt!}」会被排版于一个恰好能包含它的矩形排版空间。\type{frame} 参数用于控制边框是否开启,其值为 \type{off} 或省略对它的设定时,关闭边框。\type{offset} 参数可用于对排版空间进行扩大或缩小,如示例 \in[starting-area] 所示,排版空间从中心向四周被扩大 2.5 mm。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,offset=2.5mm]
+Hello \ConTeXt!
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[starting-area]{新手村}{starting-area.pdf}
+
+之所以称 \type{TEXpage} 环境为新手村,是因它足够简单,将其用于观察大多数排版命令的效果时无需关心版面的天头、地脚、订口、翻口、版心、页码等元素的设定。
+
+\section{伪文字}
+
+\ConTeXt\ 有一个可视化模块,提供了伪造单词的排版命令,使用该命令可以生成一些黑色的长短随机的矩形块,可将它们当成文字,从而在沙盘上可以更加随心所欲一些。
+
+如示例 \in[true-words] 所示,排版两行文字,每行由 5 个单词组成。示例 \in[true-words] 给出了伪文字的效果。同样是两行文字,每一行由 3~5 个单词构成。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual] % 加载可视化模块
+\startTEXpage[frame=on,offset=2.5mm]
+This is the first line.\\ % 强制换行
+This is the second line.
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[true-words]{两行真实文字}{true-words.pdf}
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm]
+\fakewords{3}{5}\\
+\fakewords{3}{5}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[fakewords]{两行伪文字}{fakewords.pdf}
+
+\section{注释}
+
+在示例 \in[true-words] 的源代码中,「\type{%}」及其后面的同一行文字,是 \TeX\ 注释文本,它们会被 \type{context} 程序忽略,故而不会出现在排版结果中。注释是为了便于人类阅读 \ConTeXt\ 源代码而存在的。
+
+\section{换行符}
+
+在示例 \in[true-words] 和 \in[fakewords] 的源代码中,「\type{\\}」是强制换行命令,倘若将其删除,即使在源代码中将文字分为两行,例如
+
+\starttyping[option=TEX]
+This is the first line.
+This is the second line.
+\stoptyping
+
+\noindent 排版结果依然是一行,而且换行符会被 \type{context} 程序视为一个空格,不妨亲自动手试验一下。
+
+在使用换行符的情况下,即使两行文字在源代码中处于同一行,例如
+
+\starttyping[option=TEX]
+This is the first line.\\ This is the second line.
+\stoptyping
+
+\noindent 排版结果依然是两行。
+
+\type{\crlf} 也能用于对文字强制进行断行。倘若不希望对每一行都输入断行命令,也可以考虑使用 \type{lines} 环境,请参考示例 \in[lines]。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm]
+\startlines
+\fakewords{3}{5}
+\fakewords{4}{7}
+\fakewords{5}{9}
+\stoplines
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[lines]{排版多行文本}{lines.pdf}
+
+\section{分段}
+
+观察示例 \in[pars],虽然排版结果依然是两行,但实际上它是两段。\type{\par} 是分段命令。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm]
+\startlines
+\fakewords{3}{5}\par
+\fakewords{3}{5}
+\stoplines
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars]{分段}{pars.pdf}
+
+通常很少使用分段符对文本进行分段,因为在 \ConTeXt\ 源文档中,只需在两段文字之间空一行便可实现分段。示例 \in[pars-2] 使用空行进行分段,并通过限定「新手村」的宽度为 6 cm,从而在促狭的空间里展示了多行伪文字构成的段落。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars-2]{多行文本构成的段落}{pars-2.pdf}
+
+段落可以设置首行缩进。中文排版的惯例是,段落首行需缩进 2 个汉字的宽度,示例 \in[pars-3] 实现了该需求,排版结果中段落开头的蓝色矩形区域表示文字缩进后产生的空白区域。尺寸 2em 即英文字母 \type{M} 的宽度的 2 倍,刚好与两个汉字的宽度相同。还有一个常用的尺寸单位 ex,它是英文字母 \type{x} 的高度。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars-3]{设置段落首行缩进}{pars-3.pdf}
+
+根据文档「Faking text and more」\cite[faking-text]的提示,可将段落缩进区域的颜色定义为白色,从而可避免蓝色矩形块对视觉的干扰,见示例 \in[parindentcolor]。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+% 将缩进区域的颜色由默认的蓝色改为白色
+\definecolor[fakeparindentcolor][white]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[parindentcolor]{消除段落缩进色块}{parindentcolor.pdf}
+
+在设定段落首行缩进后,若不希望某个段落的首行被缩进,可在段落开头放置命令 \type{\noindent}。示例 \in[noindent],第二段消除了第二段文字的首行缩进。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+\definecolor[fakeparindentcolor][white]
+\fakewords{9}{15}
+
+\noindent\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[noindent]{消除第二段的首行缩进}{pars-4.pdf}
+
+\section[interlinespace]{行间距}
+
+\ConTeXt\ 默认的段落内各行文字的间距是 2.8 ex,约等于 \ConTeXt\ 默认的正文字体大小 12 pt。可使用 \type{\setupinterlinespace} 对行间距进行调整。如示例 \in[pars-5] 将行间距设为 1.75 倍默认行距。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+\definecolor[fakeparindentcolor][white]
+\setupinterlinespace[1.75]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars-5]{多行文本构成的段落}{pars-5.pdf}
+
+不过,我发现示例 \in[pars-5] 的行间距设定语句若放在 \type{\startTEXpage} 语句之前则无效\footnote{在 \in[context-world] 节中会介绍 \type{\starttext ... \stoptext},直接以默认行距倍数的方式设置行间距,若设定语句位于 \type{\starttext} 之前则同样无效。},也许是当前的 \ConTeXt\ LMTX 版本存在 bug。
+
+不过,还有一种段落内行间距设定方法。等到掌握第 \in[chinese-fonts] 章中讲述的设定 \ConTeXt\ 字体的方法,在你已经清楚正文字体的大小时,例如 11 pt,可采取以下方式设定 1.75 倍行距:
+
+\starttyping[option=TEX]
+\setupinterlinespace[line=19.25pt]
+\stoptyping
+
+\noindent 之所以是 19.25 pt,是因它等于 $1.75\times 11$ pt。上述代码设定的是一行文字的最大高度。在后文中,本文档皆使用这种方式设定段落内行间距。
+
+\section{对齐}
+
+有时,希望将一行文字居左、居中或居右放置,可分别使用 \type{\leftaligned},\type{\midaligned} 和\type{\rightaligned} 进行排版,请参考示例 \in[aligned-1]。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage
+ [frame=on,offset=2.5mm,width=6cm]
+\leftaligned{\fakewords{1}{2}}
+\midaligned{\fakewords{1}{2}}
+\rightaligned{\fakewords{1}{2}}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[aligned-1]{多行文本构成的段落}{aligned-1.pdf}
+
+如果是一段文字需要居左、居中或居右排版,可使用 \type{alignment} 环境,通过该环境的参数控制对齐形式。示例 \in[aligned-2] 展示了段落的三种对齐形式。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\startalignment[flushleft] % 左对齐
+1. \fakewords{5}{15}
+\stopalignment
+\startalignment[middle] % 居中对齐
+2. \fakewords{5}{15}
+\stopalignment
+\startalignment[flushright] % 右对齐
+3. \fakewords{5}{15}
+\stopalignment
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[aligned-2]{段落对齐}{aligned-2.pdf}
+
+\section{写一封谁也看不懂的信}
+
+现在,我们已经有能力用伪文字排版一封谁也看不懂内容的书信了,见示例 \in[letter]。也许现在你很想用汉字给朋友写封信,并告诉他,这封信的排版是你亲手用 \ConTeXt\ 制作的。我劝你暂时最好放弃这个想法,写英文书信是完全可以的。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage
+ [frame=on,offset=1cm,width=10cm]
+\definecolor[fakeparindentcolor][white]
+\setupindenting[first,always,2em]
+\noindent\fakewords{1}{1}:\par
+\fakewords{1}{2}\par
+\fakewords{20}{50}\par
+\fakewords{20}{50}\par
+\fakewords{20}{50}\par
+\fakewords{1}{1}\par
+\noindent\fakewords{1}{1}\par
+\rightaligned{\fakewords{1}{1}}\par
+\rightaligned{\fakewords{1}{1}}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[letter]{一封谁也看不懂的信}{letter.pdf}
+
+\section{小结}
+
+恭喜你,走出了新手村。在下一章学会安装和使用汉字字体,便可以闯荡 \ConTeXt\ 世界了。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/03.tex b/info/context-notes-zh-cn/src/03.tex
new file mode 100644
index 0000000000..34688f0564
--- /dev/null
+++ b/info/context-notes-zh-cn/src/03.tex
@@ -0,0 +1,327 @@
+\chapter[chinese-fonts]{汉字}
+
+让 \TeX\ 系统支持汉字,这个任务曾经很容易对新手学习和使用 \TeX\ 的热情造成毁灭性打击。后来,随着 \XeTeX\ 和 \LuaTeX\ 等现代 \TeX\ 引擎的出现,这项任务的难度已经大幅降低了。\ConTeXt\ LMTX 所用的 \TeX\ 引擎是 \LuaMetaTeX,对 \LuaTeX\ 进行了精简并作为它的继任者而继续发展。可能你现在并不理解这些术语,但也不必担心,如同驾驶一辆 \ConTeXt\ 汽车,无需知道它的引擎(发动机)是哪个工厂生产的,其性能参数又是如何。
+
+\section[fonts-installation]{安装字体}
+
+首先,需要找到一款汉字字体文件,否则只有学仓颉,自己造字。倘若你或你的朋友的计算机中装有 Windows 系统,可从如图 \in[msfonts] 所示的 \type{C:\Windows\Fonts} 目录下获得宋体(simsun.ttc)、黑体(simhei.ttf)和楷体(simkai.ttf)等字体文件。有了它们,足以胜任常规的排版工作。
+
+\placefigure
+ [here,force]
+ [msfonts]
+ {\type{C:\Windows\Fonts}}
+ {\externalfigure[msfonts.png][width=.6\textwidth]}
+
+在开始安装字体之前,需要给出一个术语,\TeX\ 根目录。以 Windows 系统为例,若 \ConTeXt\ 安装在 \type{D:\context} 目录,则该目录中的子目录和文件当如图 \in[tex-root] 所示。在这种情况下,\type{D:\context\tex} 目录即为 \TeX\ 根目录。同理,对于 Linux 和 macOS 系统,若 \ConTeXt\ 安装在 \type{$HOME/context} 目录,则 \type{$HOME/context/tex} 为 \TeX\ 根目录。
+
+\placefigure
+ [here,force]
+ [tex-root]
+ {\TeX\ 根目录}
+ {\externalfigure[tex-root.png][width=.6\textwidth]}
+
+为了便于描述,从现在开始,以虚构的类 Unix 环境变量风格的 \type{$TEXROOT} 指代 \TeX\ 根目录,不再使用具体路径,因为后者严重依赖于操作系统和用户偏好而缺乏一致性。此外,路径中的目录间隔符也统一使用类 Unix 风格进行表示,即使用「\type{/}」而非 Windows 风格的「\type{\}」,例如 \type{$TEXROOT/texmf} 表示 \TeX\ 根目录的子目录 \type{texmf}。
+
+向 \ConTeXt\ 安装宋体(simsun.ttc)、黑体(simhei.ttf)和楷体(simkai.ttf)的具体过程如下:
+
+\startitemize[n,packed][stopper=,left=(,right=)]
+\item 将上述字体文件复制到 \type{$TEXROOT/texmf-local/fonts/truetype/msfonts} 目录,若该目录不存在,则自行创建;
+\item 执行「\type{context --generate}」命令,刷新 \ConTeXt\ 的文件数据库:
+\item 执行「\type{mtxrun --script fonts --reload --force}」命令,载入新添加的字体:
+\stopitemize
+
+字体安装完毕后,可以通过查询字体文件名确认字体是否安装成功,例如查询 simhei.ttf:
+
+
+\starttyping
+$ mtxrun --script fonts --list --file simhei.ttf
+familyname weight style width variant fontname filename ...
+
+simhei normal normal normal normal simhei simhei.ttf
+\stoptyping
+
+\noindent 查询结果中的 \type{fontname} 栏很重要,因为在排版时,通常要使用字体名字指代某个字体。上述命令也可用于查询 simkai.ttf 的信息,但是无法用于查询 TTC 字体 simsun.ttc,可能是因 TTC 字体文件较为特殊,但无论如何,这是 \type{mtxrun} 的 \type{fonts} 脚本的一个 bug,希望日后能被修复。
+
+查询 simsun.ttc 对应的字体名,可以使用以下命令:
+
+\starttyping
+$ mtxrun --script fonts --list --all simsun
+identifier familyname fontname filename subfont instances
+
+nsimsunnormal nsimsun nsimsun simsun.ttc 2
+nsimsunregular nsimsun nsimsun simsun.ttc 2
+simsun simsun simsun simsun.ttc 1
+simsunnormal simsun simsun simsun.ttc 1
+simsunregular simsun simsun simsun.ttc 1
+\stoptyping
+
+\noindent\type{subfont} 栏表明 simsun.ttc 里包含了两种字体,一种是 \type{simsun}(宋体),另一种是 \type{nsimsun}(新宋体)。此外,请对 \type{identifier} 和 \type{familyname} 栏略加留意,\in[define-family] 节需要这些信息。
+
+需要注意,上述过程安装的字体都是有版权的,倘若作商业用途,需要向开发这些字体的公司支付授权费用。本文档之所以选择使用它们,主要是为了兼容国内在文档字体选用上的积习。网络上能够找到 Google 公司开发的一系列免费的汉字字体,例如 Noto 系列,其安装方式可参考上述过程,无须赘述。此外,若安装扩展名为「\type{.otf}」的字体,即 OpenType 字体,建议将它们安装到 \type{$TEXROOT/texmf-local/fonts/opentype} 目录,若无该目录,可自行创建。
+
+\section{字体的定义与使用}
+
+示例 \in[hello-hanzi] 演示了如何在新手村里为 \ConTeXt\ 定义大小为 12 pt 的宋体,黑体和楷体等字体切换命令,并使用它们各排版一行文字。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\definefont[heiti][name:simhei at 12pt]
+\definefont[kaiti][name:kaiti at 12pt]
+\songti 潜龙勿用。\\
+\heiti 见龙在田,利见大人。\\
+\kaiti 君子终日乾乾,夕惕若厉,无咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[hello-hanzi]{三种汉字字体}{qian.pdf}
+
+需要注意的是,第一次在 \ConTeXt\ 中使用新安装的汉字字体,源文件编译过程会较为缓慢,因为 \ConTeXt\ 需要解析字体文件中的一些编码信息并将解析结果存到它的字体缓存目录。待下一次使用经过缓存后字体时,编译速度便会正常,因此不应急切宣判 \ConTeXt\ 不适合处理中文文档。我的计算机 CPU 是 \type{Intel i5-4300U @ 1.90GHz}。这份文档写至此处,已有 20 页内容,其源文件单次编译时间不到 3 秒。我感觉 \ConTeXt\ 处理中文文档,并不是很慢,但是应当承认,肯定是比基于 \pdfTeX 或 \XeTeX 等引擎的 \TeX\ 要慢一些。
+
+\section[breaking-lines]{中文断行}
+
+现在尝试用宋体字排版一段中文,见示例 \in[无法断行]。结果表明,仅仅能在 \ConTeXt\ 中使用汉字字体是不够的,因为 \ConTeXt\ 此刻尚不知在限定宽度的版面内如何对汉字进行断行,以致文字超出版面。究其原因,是汉字之间不像西文单词以空格作为间隔,因此在 \ConTeXt\ 看来,一段汉字文字等同于一个很长的西文单词,是一个无法分隔的单元。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\songti
+潜龙勿用。见龙在田,利见大人。%
+君子终日乾乾,夕惕若厉,无咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[无法断行]{中文段落无法断行}{breakinglines-1.pdf}
+
+需要注意示例 \in[无法断行] 中的注释符的用法。虽然注释内容为空,但注释符可令 \TeX\ 引擎忽略其后的所有空白字符(包括换行符)。倘若将该示例中的注释符去掉,第一行汉字和第二行汉字之间的换行符会被 \TeX\ 引擎视为空白字符,从而让 \ConTeXt\ 觉得,它面对的是两个较长的单词,它们之间可以断行,结果见示例 \in[将错就错],可以断行,但属于误打误撞。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\songti
+潜龙勿用。见龙在田,利见大人。
+君子终日乾乾,夕惕若厉,无咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[将错就错]{中文段落无法断行}{breakinglines-2.pdf}
+
+现在,我们可以灵机一动,既然换行符被 \TeX\ 引擎视为空白字符从而使得 \ConTeXt\ 误打误撞对汉字进行了一次断行,那么倘若在汉字之间手工插入空格字符,\ConTeXt\ 能否实现汉字断行呢?答案是,可行,见源文档显现了空格字符(以 \type[space=on]{ } 表示)的示例 \in[手工断行],只是空格的存在,导致排版结果中的汉字分布较为蓬松。
+
+\startsamplecode\startnarrowtyping[space=on]
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\songti
+潜 龙 勿 用。 见 龙 在 田, 利 见 大 人。
+君 子 终 日 乾 乾, 夕 惕 若 厉, 无 咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[手工断行]{中文段落手工插入空格进行断行}{breakinglines-3.pdf}
+
+位于 \ConTeXt\ 底层的 \TeX\ 系统提供了粘连(Glue)机制,我们可以用它定义给定宽度且有些许弹性的空格。例如,定义一个宽度为 0,最大可伸展 2 pt 且不可收缩的粘连:
+
+\starttyping[option=TEX]
+\def\foo{\hskip 0pt plus 2pt minus 0pt}
+\stoptyping
+
+\noindent 然后用该粘连代替空格,插入到汉字之间,便基本可实现汉字断行,结果见示例 \in[手工插入粘连断行],需要注意的是,\TeX\ 会自动忽略排版命令之后尾随的空格,因此 \type{\foo} 之后虽然有一个空格,但该空格不会在排版结果里出现。
+
+\startsamplecode\startnarrowtyping[space=on]
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\def\foo{\hskip 0pt plus 2pt minus 0pt}
+\songti
+潜\foo 龙\foo 勿\foo 用。%
+\foo 见\foo 龙\foo 在\foo 田,\foo 利\foo 见%
+\foo 大\foo 人。%
+\foo 君\foo 子\foo 终\foo 日\foo 乾\foo 乾,%
+\foo 夕\foo 惕\foo 若\foo 厉,\foo 无\foo 咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[手工插入粘连断行]{中文段落手工插入粘连进行断行}{breakinglines-4.pdf}
+
+由于没有人愿意像示例 \in[手工插入粘连断行] 那样排版汉字,因此 \ConTeXt\ 提供了一个可以自动在汉字之间插入粘连的命令,即
+
+\starttyping[option=TEX]
+\setscript[hanzi]
+\stoptyping
+
+\noindent 上述过程大费周章,仅仅是让你明白 \type{\setscript[hanzi]} 的原理。此外,你甚至学会了如何定义一个 \TeX\ 宏,即 \type{\foo},从而避免了像下面这样输入繁琐的排版命令:
+
+\starttyping[option=TEX]
+潜\hskip 0pt plus 2pt minus 0pt 龙\hskip 0pt plus 2pt minus 0pt 勿……
+\stoptyping
+
+\noindent 倘若你擅长定义你所需要的 \TeX\ 宏,便可以自己创造一个可与 \ConTeXt\ 媲美的宏包。现在,已经隐隐知道了\ConTeXt\ 的一些真相了吧。
+
+\section{写一封真正的信}
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,width=6cm,offset=6pt]
+\definefont[songti][name:simsun at 10.5pt]
+\setscript[hanzi] % 中文断行支持
+\songti
+\setupindenting[always,first,2em]
+\setupinterlinespace[1.5]
+\noindent 亲爱的朋友:\par
+你们好吗?\par
+现在工作很忙吧,身体好吗?我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。\par
+五百年后的春节,我一定回山。
+好了,先写到这吧。\par
+此致\par
+\noindent 敬礼\par
+\rightaligned{孙悟空}
+\rightaligned{2035.10.1}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[孙悟空的信]{孙悟空的信}{breakinglines-5.pdf}
+
+从现在开始,在提供示例时,为了节省篇幅,我有时会省略一部分经常重复使用的代码,仅给出关键代码以突出重点,在有兴致动手试验这些代码时,需要你自己动手添加被省略的代码。
+
+\section{字族}
+
+如同我们习惯于将汉字分为许多书体,诸如常用的宋体、楷体、仿宋、隶书、幼圆、黑体等,西方人对他们的字体也是有着一套分类体系。\TeX\ 系统原本是针对西方文字排版而设计和开发的,因此我们需要先了解西方人对字体的分类,然后将汉字字体按自己的需要与之相应。
+
+回忆一下,在学会安装和使用汉字字体之前,用 \ConTeXt\ 排版英文内容,我们并未设置任何西文字体,\ConTeXt\ 依然能完成排版。这意味着 \ConTeXt\ 已经为用户定义了一套西文字体,且在排版环境中默认启用了。这套字体由十多种字体组成,统称为 Computer Modern Roman(简称 cmr)字体,可分为四族:衬线(Serif)、无衬线(Sans Serif)、等宽(Monospace)以及数学。前三个字族基本上又分别细分为正体(Regular 或 Normal)、粗体(Bold)、斜体(Italic)和粗斜体(BoldItalic)。
+
+\ConTeXt\ 默认启用的正文字体是衬线字族中的正体。\type{\rm},\type{\ss} 和 \type{\tt} 可分别用于将字体切换为衬线、无衬线和等宽字族的正体。\type{\tf},\type{\bf},\type{\it} 和 {\type{\bi}} 可分别用于切换每个字族中的正体、粗体、斜体和粗斜体等字体。示例 \in[默认字体] 演示了如何切换各种字体以及 \type{{...}} 的用法。在默认情况下,\TeX\ 引擎将一对花括号所包含的内容视为一个整体,\TeX\ 术语称之为编组(Group)。编组内部的排版命令不会对编组外部产生任何影响,但编组外部的排版命令会影响编组内部。
+
+\startsamplecode\startnarrowtyping
+% 衬线字体
+Hello. {\bf Hello.}
+{\it Hello.} {\bi Hello.}\\
+% 无衬线字体
+\ss Hello. {\bf Hello.}
+{\it Hello.} {\bi Hello.}\\
+% 等宽字体
+\tt Hello. {\bf Hello.}
+{\it Hello.} {\bi Hello.}\\
+% 将字体切换为衬线字体
+\rm
+% 数学字体
+Math in text mode: $\int_a^b f(x)dx$\\
+Math in display mode:
+\startformula
+\int_a^b f(x)dx
+\stopformula
+\stopnarrowtyping\stopsamplecode
+\mysample[默认字体]{\ConTeXt\ 默认字体}{defaultfonts.pdf}
+
+\ConTeXt\ 默认正文字体的大小为 12 pt,并以该尺寸为基准,定义了 6 种不同级别的字体尺寸,从小到大依序为:\type{xx},\type{x},\type{a},\type{b},\type{c},\type{d}。\type{x} 级比正文字体小,\type{a} 级比正文字体大。示例 \in[fontsize-level] 演示了无衬线字族的正体字体 7 种大小级别的切换。
+
+\startsamplecode\startnarrowtyping
+\ss {\tfxx A} {\tfx A} A or {\tf A}
+{\tfa A} {\tfb A} {\tfc A} {\tfd A}
+\stopnarrowtyping\stopsamplecode
+\mysample[fontsize-level]{字体大小的 7 种级别}{fontsize-level.pdf}
+
+此外,还需要注意的是,尺寸单位 em 的含义。之前我对它给出解释是字母 \type{M} 宽度,恰好等于 1 个汉字的宽度,这是针对当前所的字体环境而言的。例如,在示例 \in[em-1] 和 \in[em-2] 中,段落首行缩进设定命令出现的位置不同,导致段落缩进距离产生了差异。这是因为,在示例 \in[em-1] 中,设定段落首行缩进时,em 的值是基于 \ConTeXt\ 默认的正文字体尺寸确定的,其值为 12 pt,而在 示例 \in[em-1] 中,em 的值是基于我们自定义的字体 \type{\songti} 的尺寸确定的,其值为 9 pt。
+
+\startsamplecode\startnarrowtyping
+\setscript[hanzi]
+\definefont[songti][name:simsun at 9pt]
+\setupindenting[always,first,2em]
+\songti
+我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stopnarrowtyping\stopsamplecode
+\mysample[em-1]{段落缩进距离是 24 pt}{indenting-1.pdf}
+
+\startsamplecode\startnarrowtyping
+\setscript[hanzi]
+\definefont[songti][name:simsun at 9pt]
+\songti
+\setupindenting[always,first,2em]
+我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stopnarrowtyping\stopsamplecode
+\mysample[em-2]{段落缩进距离是 18 pt}{indenting-2.pdf}
+
+\section[define-family]{定义汉字字族}
+
+使用 \type{\definefontfamily} 可将你喜欢的一些汉字字体定义为字族,用以代替 \ConTeXt\ 的默认字族,然后使用 \type{\setupbodyfont} 启用你定义的字族。示例 \in[setupbodyfont] 将 10.5 pt 的宋体作为正文默认字体\footnote{10.5 pt 可对应 MicroSoft Word 中的五号字。}。注意,字族的定义和启用,需在新手村之外进行,否则无效。不过,\type{\setupindenting} 却只能在新手村之内起效,这让我有些不解,但是这就是新手村的规矩,只能接受。
+
+\startsamplecode\startnarrowtyping
+\definefontfamily[myfonts][rm][nsimsun]
+\setupbodyfont[myfonts,10.5pt]
+\setscript[hanzi]
+\startTEXpage[frame=on,width=6cm,offset=6pt]
+\setupindenting[always,first,2em]
+我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[setupbodyfont]{定义正文字体并启用}{setupbodyfont.pdf}
+
+示例 \in[setupbodyfont] 仅定义了 \type{myfonts} 的衬线字族(\type{rm})为 \type{nsimsun},且需要注意的是,此处的 \type{nsimsun} 并非字体名,而是字族名。在 \in[fonts-installation] 节中,将 simsun.ttc 安装至 \ConTeXt\ 环境之后,我们曾查询过它的相关信息,其中有一栏信息是 \type{familyname},其中罗列的便是字体所属的字族名。\ConTeXt\ 会根据字族名自动搜索字体的 \type{identifier} 信息,若某字体,其 identifier 的末尾是 \type{regular} 或 \type{normal}\footnote{identifier 名的末尾为 regular 和 normal 的字体通常是同一个字体。},则该字体会被 \ConTeXt\ 自动作为该字体所属字族的正体。同理,若某字体的 identifier 的末尾是 \type{bold},\type{italic} 或 \type{bolditalic},则该字体会被 \ConTeXt\ 自动作为该字体所属字族的粗体、斜体或粗斜体。
+
+由于我们的 \ConTeXt\ 环境里的 \type{nsimsun} 字族只有正体 \type{nsimsunregular},没有其他字体,因此倘若在示例 \in[setupbodyfont] 中,使用 \type{\bf} 切换字体时,即
+
+\starttyping[option=TEX]
+\bf 我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stoptyping
+
+\noindent \ConTeXt\ 会因找不到相应的字体而排出空页。若要解决该问题,需要使用 \type{\definefontfamily} 的第四个参数,通过字体名指定其他字体以补充字族缺失的字体。例如,可以使用黑体和楷体作为来补充 \type{nsimsun} 字族的缺失字体:
+
+\starttyping[option=TEX]
+\definefontfamily[myfonts][rm][nsimsun][bf=simhei,it=kaiti,bi=simhei]
+\stoptyping
+
+同理,也可以用宋体,黑体和楷体定义非衬线和等宽字族:
+
+\starttyping[option=TEX]
+\definefontfamily[myfonts][ss][simhei][bf=simhei,it=simhei,bi=simhei]
+\definefontfamily[myfonts][tt][kaiti][bf=simhei,it=kaiti,bi=simhei]
+\stoptyping
+
+为汉字定义字族还有一种传统方法,使用 \ConTeXt\ 的 typescript 机制,但是需要写许多代码,但以前只有这一种方法。现在我们可以对它说,再见,typescript!
+
+\section[fallback-fonts]{字形替换}
+
+也许你现在觉得自己在新手村里已经脱胎换骨,可以扬眉吐气了,因为你已经能够自由地在 \ConTeXt\ 世界里使用汉字。是的,你可以如此觉得,只要你的排版内容没有西方文字。
+
+排版内容里有西方文字会怎样的?图 \in[bad-latin] 给出了选项,在排版结果中,是上面那行文字里的英文单词美观,还是下面那行?前者是 simsun.ttc 中的西文字形,后者是 \ConTeXt\ 默认的 cmr 字体里的衬线正体中的西文字形。若你选择前者,则本节内容可至此完全忽略,否则请继续阅读。
+
+\placefigure
+ [here,force][bad-latin]
+ {英文字形比较}
+ {\externalfigure[bad-latin.pdf][width=.4\textwidth]}
+
+\type{\definefallbackfamily} 可用一种字体中的部分字形替换另一种字体的相应字形,其用法与 \type{\definefontfamily} 类似,只是需要在参数中指定字形覆盖范围。示例 \in[fallbacks] 使用 latinmodernroman 字族里的每种字体的 Unicode 码位区间 $[0\mathrm{x}0000, 0\mathrm{x}0400]$ 中的所有字形强行替换 nsimsun 字族中每种字体(包括替补字体)的相应字形。也可以使用 \ConTeXt\ 已经定义了名字的 Unicode 码位区间代替 16 进制数字形式的区间。例如,
+
+\starttyping[option=TEX]
+\definefallbackfamily
+ [myfonts][rm][latinmodernroman]
+ [range={basiclatin,latinsupplement},force=yes]
+\stoptyping
+
+\noindent 指定了 Unicode 码位区间 $\mathrm{[0x0000, 0x00FF]}$ 中的字形作为替换字形。Unicode 码位区间的名字见文档「List of Unicode blocks」\cite[unicode-blocks]。
+
+\startsamplecode\startnarrowtyping
+\definefallbackfamily
+ [myfonts][rm][latinmodernroman]
+ [range={0x0000-0x0400},force=yes]
+\definefontfamily
+ [myfonts][rm][nsimsun]
+ [bf=simhei,it=kaiti,bi=simhei]
+\setupbodyfont[myfonts,16pt]
+\setscript[hanzi]
+\startTEXpage[frame=on,offset=4pt]
+爱因斯坦 Einstein\\
+\bf 爱因斯坦 Einstein\\
+\it 爱因斯坦 Einstein\\
+\bi 爱因斯坦 Einstein
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[fallbacks]{字形替换}{fallbacks.pdf}
+
+\section{小结}
+
+当你读到此处,我想悄悄告诉你,\ConTeXt\ 里最难的知识,你已基本掌握。现在,你完全可以在新手村的春天里扬眉吐气了。
+
+这部分知识有多难呢,难到 Hans Hagen 需要为之撰写一本长达 228 页的手册,若有兴趣,不妨拜读。我可以很诚实地说,该手册我只读过寥寥数页。由于你已经安装了 \ConTeXt,这份手册就在你的 \ConTeXt\ 环境里,执行以下命令可以找到它:
+
+\starttyping
+$ mtxrun --script base --find-file fonts-mkiv.pdf
+\stoptyping
+
+\noindent 请顺便浏览一番这份手册所在的目录里的其他 PDF 文件吧。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/04.tex b/info/context-notes-zh-cn/src/04.tex
new file mode 100644
index 0000000000..e8c0d0dcfa
--- /dev/null
+++ b/info/context-notes-zh-cn/src/04.tex
@@ -0,0 +1,186 @@
+\chapter[post]{让文章有它该有的样子}
+
+走出新手村,我们的第一个任务是,让一篇文章有它该有的样子。什么样子呢?至少要有标题,有作者信息,还可能有次标题,次次标题……还要有页码,当然最重要的是,要有段落——新手村里我们的老朋友。对于大多数文学创作工作者而言,这些已经足够了,这就是一篇文章该有的样子。至于科技工作者通常所需要的列表、表格、插图、数学公式等形式,是在文章该有的样子的基础上进一步的构造,现在不必急于理会。
+
+\section{标题}
+
+在 \ConTeXt\ 中,标题分为两种,无编号的和有编号的。每种标题又分为诸多级别。无编号的标题,级别从高到低,排版命令依序是
+
+\starttyping[option=TEX]
+\title{...} % 一级标题
+\subject{...} % 次级标题
+\subsubject{...} % 次次级标题
+\subsubsubject{...} % 次次次级标题
+... ... ...
+\stoptyping
+
+\noindent 有编号的标题,级别从高到低,排版命令依序是
+
+\starttyping[option=TEX]
+\title{...} % 一级标题
+\section{...} % 次级标题
+\subsection{...} % 次次级标题
+\subsubsection{...} % 次次次级标题
+... ... ...
+\stoptyping
+
+\noindent 应该不难看出两种标题各自的次级标题降级规律。不建议使用级别层次太深的标题,否则会让读者觉得身陷迷宫,通常前三级标题足够使用。若是写一篇散文,标题只需要用 \type{\title}。若是写一本小说,只需用 \type{\title} 制作书名,用 \type{\chapter} 制作章名。
+
+\section{写一篇散文}
+
+示例 \in[zaoshu] 虚构了一篇散文,我只给出了关键的源代码——为它构建完整的可编译的源代码,对你应该不是难事。该示例设置了段落首行缩进距离,并且使用 \type{\title} 创建了文章标题。目前尚无作者的名字,因为它会导致你无法看到 \ConTeXt\ 标题之后的段落,首行是不缩进的,这是西文的排版习惯。在使用标题前,只需对标题作如下设定,便可强迫 \ConTeXt\ 必须对每个标题后的第一个段落进行缩进。
+
+\starttyping[option=TEX]
+\setupheads[indentnext=yes]
+\stoptyping
+
+\startsamplecode\startnarrowtyping
+\setupindenting[first,always,2em]
+\title{鲁迅家的后园}
+
+在鲁迅家的后园,可以看见墙外有两株树。
+一株是枣树,还有一株也是枣树。
+
+这上面的夜的天空,奇怪而高,鲁迅生平
+没有见过这样奇怪而高的天空。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu]{散文示例 1}{zaoshu.pdf}
+
+现在可以为文章增加作者信息了,虽然他叫无名氏,见示例 \in[zaoshu-2],只是作者距离正文太近了。不要尝试使用一些空行去增大该距离,因为 \TeX\ 引擎在遇到多个空行时,它也只是把它们当成一个空行,并将其视为 \type{\par}。
+
+\startsamplecode\startnarrowtyping
+\setupheads[indentnext=yes]
+\setupindenting[first,always,2em]
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+% 省略了正文内容
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-2]{散文示例 2}{zaoshu-2.pdf}
+
+在版面的竖直方向,段落之间,或标题与段落之间,或标题与标题之间……增加空白,通常可以使用 \type{\blank} 命令。例如,在作者和正文之间增加一个空行的距离,只需 \type{\blank[line]};要增加 $n$ 个空行的距离,只需 \type{\blank[n*line]}。
+
+\startsamplecode\startnarrowtyping
+\midaligned{无名氏}
+\blank[line]
+% 省略了正文内容
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-3]{散文示例 3}{zaoshu-3.pdf}
+
+倘若需要将标题居中,而非默认的居左,只需使用 \type{\setuphead}单独为 \type{\title} 设定样式:
+
+\starttyping[option=TEX]
+\setuphead[title][align=middle]
+\stoptyping
+
+若汉字字族里已经设定了粗体,也可以将标题的样式设为粗体,并指定它的大小级别:
+
+\starttyping[option=TEX]
+\setuphead[title][style=\bfc,align=middle]
+\stoptyping
+
+示例 \in[zaoshu-4] 将上述设定综合起来,排版结果已经中规中矩了,只是标题里的汉字的分布有些疏松,这是 \type{\setscript[hanzi]} 命令在汉字之间插入的粘连的伸长特性被 \ConTeXt\ 激活导致的,而它们之所以被激活,大概是 \ConTeXt\ 过于追求精确文字居中对齐而导致的,令 \type{\setuphead} 的参数 \type{align} 的值为 \type{{middle,broad}} 可以让 \ConTeXt\ 在文字居中对齐方面宽松一些\cite[contextref](p86),结果可让汉字的分布变为紧密,见示例 \in[zaoshu-5]。
+
+\startsamplecode\startnarrowtyping
+\setupheads[indentnext=yes]
+\setuphead[title][style=\bfc,align=middle]
+\setupindenting[first,always,2em]
+
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+% 省略了正文内容
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-4]{散文示例 4}{zaoshu-4.pdf}
+
+不知 \ConTeXt\ 从哪个版本起,有了一个新的对齐方式 \type{center},它与 \type{{middle,broad}} 等价。请记住这个知识,因为以后可能会经常需要设定居中对齐。
+
+\startsamplecode\startnarrowtyping
+\setupheads[indentnext=yes]
+\setuphead
+ [title][style=\bfc,align=center]
+\setupindenting[first,always,2em]
+
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+% 省略了正文内容
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-5]{散文示例 5}{zaoshu-5.pdf}
+
+\section[context-world]{正式踏入 \ConTeXt\ 世界}
+
+新手村终究太小了,小到已经不太容易让你尝试越来越多的 \ConTeXt\ 排版命令了。事实上,真正的 \ConTeXt\ 世界用起来要比新手村更为简单,只需使用 \type{\starttext ...\stoptext} 环境取代新手村即可,另外,一切设置排版样式的命令皆可放在 \type{\starttext} 之前。在 \type{text} 环境里,我们通常只需要关心文章或书籍的内容。
+
+以下代码应当有助于你看到 \ConTeXt\ 世界大致面目。它是完整的,亦即可将其保存为 \ConTeXt\ 源文件,使用 \type{context} 程序进行编译。
+
+\starttyping[option=TEX]
+% 排版样式
+\definefontfamily[myfonts][rm][nsimsun][bf=simhei]
+\setupbodyfont[myfonts,10.5pt]
+\setscript[hanzi]
+\setupheads[indentnext=yes]
+\setuphead[title][style=\bfc,align=center]
+\setupindenting[first,always,2em]
+% 行距:1.5 倍的正文字体尺寸,即1.5 * 10.5pt
+\setupinterlinespace[line=15.75pt]
+% 正文
+\starttext
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+\blank[line]
+在我的后园,可以看见墙外有两株树,一株是枣树,还有一株也是枣树。
+
+这上面的夜的天空,奇怪而高,我生平没有见过这样的奇怪而高的天空。他仿佛要离开人间而去,使人们仰面不再看见。然而现在却非常之蓝,闪闪地眨着几十个星星的眼,冷眼。他的口角上现出微笑,似乎自以为大有深意,而将繁霜洒在我的园里的野花草上。
+
+... ... ...
+\stoptext
+\stoptyping
+
+\section[style]{内容与样式分离}
+
+或许你现在已经对每次排版时,会担心日后需要重复输入许多代码,它们主要用于设定排版所用的字体,标题的对齐方式、字体的大小粗细、段落缩进、行间距等。无需有此担心,因为任何一种 \TeX\ 都支持排版内容与样式的分离。
+
+如图 \in[style-file] 若将 \in[context-world] 节中的代码中位于 \type{\starttext} 之前的部分保存为文件,例如 foo-env.tex,然后将这部分代码之后的所有代码也保存为文件,例如 foo.tex。让 foo-env.tex 和 foo.tex 位于同一目录,然后在 foo.tex 的开头添加
+
+\starttyping[option=TEX]
+\input foo-env
+\stoptyping
+
+\noindent 最后,编译 foo.tex,所的结果必定与 \in[context-world] 节中的代码的编译结果相同。\type{\input} 是 \TeX\ 层面的命令,它的作用载入指定的扩展名为 \type{.tex} 的文件,但扩展名可省略。\ConTeXt\ 提供了 \type{\input} 等效且用法相同的命令 \type{\environment},以体现所载入的文件仅涉及排版样式的设定。
+
+\placefigure
+ [here,force][style-file]
+ {内容与样式分离}{\blueframed{\externalfigure[style-file.png][width=.8\textwidth]}}
+
+一旦熟悉了如何实现排版内容与样式的分离,在使用 \ConTeXt\ 排版愈发复杂的内容时,你的样式文件 foo-env.tex 的内容便会日益丰富。长此以往,你总是能攒出一些样式文件,供不同的文档形式使用。排版内容总是千变万化,但样式却总是寥寥数种且极易与他人分享,这便是 \TeX\ 的优点,但前提是,你需要清晰地理解你所设定的任何一个排版样式。事实上,这也正是学习任何一种 \TeX\ 系统的乐趣所在。
+
+\section{页码}
+
+如果你亲自动手编译了 \in[style] 的 foo.tex,应当能看到,页眉是有页码的,如图 \in[pagenumber] 所示。这是 \ConTeXt\ 默认的页码样式,即页码出现在每一页,且居中位于页眉,这并不合乎中文的排版习惯,需要对页码进行样式设定。
+
+\placefigure
+ [here,force][pagenumber]
+ {页码}{\blueframed{\externalfigure[pagenumber.png][width=.8\textwidth]}}
+
+首先,文章标题所在页面,通常不需要页码。该要求,只需在标题样式将页眉和页脚置空,即
+
+\starttyping[option=TEX]
+\setuphead
+ [title]
+ [header=empty,
+ footer=empty,
+ % 应该还有其他设定吧
+ ...=...]
+\stoptyping
+
+然后,修改页码投放位置,例如放在页脚右侧:
+
+\starttyping[option=TEX]
+\setuppagenumbering[location={footer,right}]
+\stoptyping
+
+将上述设定酌情添加到样式文件里,然后编译 \ConTeXt\ 源文档,查看其效果吧。日后,倘若是排版书籍,还需要对标题和页码样式的设计作更多的调整。
+
+\section{小结}
+
+现在,你已经可以用 \ConTeXt\ 写日记或随笔了。倘若动手尝试了 \type{\chapter},你甚至能用 \ConTeXt\ 写一本文集,只是风格过于朴素。若想让排版结果更为精致,\ConTeXt\ 博大精深,通常总有途径能够实现你的想法,前提是你需要更加用心。\TeX\ 之父 Donald Knuth 曾有一言,「我从来也不期盼 {\TeX} 会成为某种万能的排版工具,用于制作一些快速而脏的东西;我只是将其视为一种只要你足够用心就能得到最好结果的东西」,引用于此,与君共勉。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/05.tex b/info/context-notes-zh-cn/src/05.tex
new file mode 100644
index 0000000000..3a1a3cdc0b
--- /dev/null
+++ b/info/context-notes-zh-cn/src/05.tex
@@ -0,0 +1,146 @@
+\chapter{列表}
+
+若是帮领导起草并排版一份会议讲话稿,须知天下没有领导不偏爱含有列表的文章。大可以相信,\ConTeXt\ 列表绝对不会让领导失望。
+
+\section{Todo List}
+
+在偷偷使用 ChatGPT 给领导起草讲稿之前,先用 \ConTeXt\ 列表安排一下今日待办事项:
+
+\startsamplecode\startnarrowtyping
+2023 年 3 月 22 日
+\startitemize
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[todo-list]{待办事项}{05-todo-list.pdf}
+
+现在你已经学会了列表的用法了,剩下的,仅仅是设定它的样式。此外,你也学到了如何写大写的罗马数字,至于小写的,将 \type{\Romannumerals} 换成 \type{\romannumerals} 即可。
+
+\section{无序号列表}
+
+示例 \in[todo-list] 已经展示了样式最为简单的无序号列表,列表项符号是实心圆点。该示例中的列表实际上省略了列表项符号的设定,其完整形式为
+
+\starttyping[option=TEX]
+\startitemize[1]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stoptyping
+
+将上述代码中的数字 1 换成 2~9 的任何一个数字,可更换另一种列表项符号。例如
+
+\startsamplecode\startnarrowtyping
+\startitemize[8]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{改变列表项符号}{05-todo-list-2.pdf}
+
+\section{有序号列表}
+
+将无序号列表的数字参数换为 n,便可得到有序号列表。例如
+
+\startsamplecode\startnarrowtyping
+\startitemize[n]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{有序号列表}{05-todo-list-3.pdf}
+
+有时,需要序号形式是带括号的数字,可作以下设定:
+
+\startsamplecode\startnarrowtyping
+\startitemize[n][left=(,right=),stopper=]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{数字带括号的有序号列表}{05-todo-list-4.pdf}
+
+\noindent 其中「\type{stopper=}」是将参数 \type{stopper} 置空,达到的效果是消除列表项序号的西文句号后缀「\type{.}」。
+
+若将列表项序号参数设定为 a,A,r,R,对应的序号形式分别为小写英文字母、大写英文字母、小写罗马数字、大写罗马数字。
+
+\section[item-sym-diy]{自定义符号列表}
+
+你可能会觉得 \ConTeXt\ 为无序号列表提供的列表项符号无法体现你的气质,\ConTeXt\ 说,Do it yourself! 下面我用 \METAPOST\ 代码绘制了一个小正方形,并令其边线略微受到随机扰动,然后将该图形定义为列表项符号:
+
+\startsamplecode\startnarrowtyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullsquare scaled 8pt randomized 1pt;
+ draw p withpen pencircle scaled 2pt
+ withcolor darkred;
+\stopuseMPgraphic
+
+\definesymbol
+ [10][{\lower.2ex\hbox{\useMPgraphic{foo}}}]
+\startitemize[10]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[rsquare]{自定义符号的无序号列表}{05-todo-list-5.pdf}
+
+\noindent 现在你不懂上述代码的具体细节也无妨,观其大略即可,知道有一种可以画画的语言,叫 \METAPOST,它的代码可嵌入 \ConTeXt\ 环境作为插图使用,便已足够。
+
+对于有序号列表,有时会需要使用带圈的数字作为序号。虽然 Unicode 有相应的带圈字符的码位,例如 \char"2460,\char"2461……对应的 \TeX\ 命令是
+
+\starttyping[option=TEX]
+\char"2460,\char"2461……
+\stoptyping
+
+\noindent 但是这些带圈数字都是文字,并非数字。带圈的数字,无非是数字外面画个圆圈。画圆圈,用 \METAPOST\ 做此事,完全是不费吹灰之力,然后借助 \ConTeXt\ 的 overlay 机制\cite[overlay],将圆圈作为 inframed\cite[framed] 的背景,再用 inframed 套住列表项序号即可,详见
+
+\startsamplecode\startnarrowtyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled 12pt;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+
+\defineconversion[foo][\fooframe]
+\startitemize[foo][stopper=]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[number-in-circle]{数字带圆圈的有序号列表}{05-todo-list-6.pdf}
+
+\noindent 你可能依然不知道上述代码具体细节,不必着急,以后会经常和它们打交道,逐渐便可熟悉。
+
+\section{间距调整}
+
+消除列表项之间的空白,只需
+
+\startsamplecode\startnarrowtyping
+2023 年 3 月 22 日
+\startitemize[1,packed]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{消除列表项之间的空白}{05-todo-list-7.pdf}
+
+消除列表前后以及列表项之间的空白,只需
+
+\startsamplecode\startnarrowtyping
+2023 年 3 月 22 日
+\startitemize[1,nowhite]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{消除列表项之间的空白}{05-todo-list-8.pdf}
+
+\section{小结}
+
+真正让你的领导失望并抱怨的应该是,他想要一份 Microsoft Word 文件,而你提交给他的却是只能看不能随手改动的 PDF 文件。
diff --git a/info/context-notes-zh-cn/src/06.tex b/info/context-notes-zh-cn/src/06.tex
new file mode 100644
index 0000000000..e37f533934
--- /dev/null
+++ b/info/context-notes-zh-cn/src/06.tex
@@ -0,0 +1,179 @@
+\chapter{参考文献}
+
+稍微严肃一些的文章,往往会附上一些与文章内容密切相关的参考文献。科研论文更是如此,牛顿都说过自己是站在巨人的肩膀上做事情的。参考文献便是巨人。任何一个 \TeX\ 系统皆不敢对支持参考文献排版这一事宜掉以轻心,否则 \TeX\ 无以为科技文献排版软件之先驱和典范。
+
+\section{\BibTeX}
+
+大多数 \TeX\ 系统在排版参考文献时,皆需依赖 bibtex 程序。由 bibtex 基于文献数据文件生成参考文献列表信息,然后交由 \TeX\ 进行排版,这一过程通常是自动进行的,并不需要用户了解和干预。\ConTeXt\ 现在不需要依赖 bibtex 程序,它已自身内部实现了 bibtex 的全部功能。本文档在谈及 \BibTeX 时,主要指其文献数据格式。
+
+\BibTeX\ 文献数据文件是纯文本文件,其中包含着论文、专著和手册等文献数据。例如,一篇期刊论文,其数据格式为
+
+\starttyping
+@article{knuth-1984-literate,
+ title={Literate programming},
+ author={Knuth, Donald Ervin},
+ journal={The computer journal},
+ volume={27},
+ number={2},
+ pages={97--111},
+ year={1984},
+ publisher={Oxford University Press}
+}
+\stoptyping
+
+\noindent 再例如一本专著,其数据格式为
+
+\starttyping
+@book{knuth-1986-texbook,
+ title={The texbook},
+ author={Knuth, Donald Ervin and Bibby, Duane},
+ volume={1993},
+ year={1986},
+ publisher={Addison-Wesley Reading, MA}
+}
+\stoptyping
+
+现在,为了学习 \ConTeXt\ 的参考文献排版功能,可将上述文献数据保存为一份文本文件,例如 foo.bib,将该文件作为文献数据文件。
+
+在 foo.bib 相同目录下,建立 \ConTeXt\ 源文件,例如 foo.tex,其内容为
+
+\starttyping[option=TEX]
+\usebtxdataset[foo.bib] % 加载 foo.bib
+\starttext
+Knuth 基于文学编程\cite[knuth-1984-literate]技术开发了
+\TeX\ 系统\cite[knuth-1986-texbook]。
+\blank
+\placelistofpublications
+\stoptext
+\stoptyping
+\noindent 编译 foo.tex,可得以下结果:
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-01.pdf]}
+\blank[line]
+
+\section{文献列表样式}
+
+上一节示例中的文献列表是 \ConTeXt\ 默认样式,除此之外,还有其他三种预定义的文献列表样式:apa,aps 和 chicago,可在 \type{\placelistofpublications} 之前使用 \type{\usebtxdefinitions} 进行切换。例如使用 aps 样式,
+
+\starttyping[option=TEX]
+... ... ...
+\usebtxdefinitions[aps]
+\placelistofpublications
+\stoptyping
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-02.pdf]}
+\blank[line]
+
+对于预定义样式,可以进行调整。例如,缩小文献序号后的空白间距,
+
+\starttyping[option=TEX]
+\setupbtxlist[apa][distance=.5em,width=fit]
+\stoptyping
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-03.pdf]}
+
+\section{自定义文献列表样式}
+
+也许 \ConTeXt\ 提供的参考文献列表样式并不符合你的需求,因此你会忍不住想自己定义一种样式。对此,我的看法是,文献列表样式当由期刊编辑部或专著出版商负责定义,个人无需如此刻意。不过,倘若你正是此类机构工作人员,需要为 \ConTeXt\ 定义符合自己单位要求的文献样式,下文仅能为你提供一个简单的示例,希望对你有所帮助。
+
+现在,假设我们要定义一种名字叫作 foo 的文献列表样式。首先,需要按照 \ConTeXt\ 的文件命名约定,建立两份文件,一份是 publ-imp-foo.lua,一份是 publ-imp-foo.tex。
+
+在 publ-imp-foo.lua 里写入以下内容:
+
+\starttyping[option=LUA]
+local specification = {
+ name = "foo",
+ categories = {},
+}
+local categories = specification.categories
+categories.book = {
+ required = { "title" },
+ optional = {"author", "editor",
+ "year",
+ "edition", "series", "volume", "number",
+ "address", "publisher",
+ },
+}
+return specification
+\stoptyping
+
+\noindent 上述代码是 Lua 代码,定义了一个表。\ConTeXt\ 可通过该表明白 \BibTeX\ 文献数据里哪些信息是必须的,哪些信息是可选的。
+
+在 publ-imp-foo.tex 文件中写入以下内容
+
+\starttyping[option=TEX]
+\startbtxrenderingdefinitions[foo]
+\definebtx
+ [foo]
+ [default=default,specification=foo]
+
+\definebtxrendering
+ [foo]
+ [specification=foo,numbering=yes]
+\stopbtxrenderingdefinitions
+\stoptyping
+
+\noindent 上述代码定义了 foo 环境及其默认样式。此外,\ConTeXt\ 实际上是通过上述代码获知你在 publ-imp-foo.lua 文件里定义的数据表。
+
+下面在 publ-imp-foo.tex 文件为期刊论文定义文献列表样式:
+
+\starttyping[option=TEX]
+\startsetups btx:foo:list:article
+ \btxdoif {author} {
+ \color[blue]{\btxflush{author}}\btxperiod\btxspace
+ }
+ \btxdoifelse {title} {
+ \color[red]{\btxflush{title}}\btxperiod\btxspace
+ }{
+ No title\btxperiod\btxspace
+ }
+ \btxdoif {journal} {
+ \color[magenta]{\btxflush{journal}}\btxcomma\btxspace
+ \btxflush{year},\nospace
+ \btxdoifelse {volume} {
+ \btxspace
+ \btxflush{volume}
+ \btxdoif {number} {
+ \ignorespaces
+ \btxleftparenthesis
+ \btxflush{number}
+ \btxrightparenthesis
+ }
+ }{
+ \btxdoif {number} {
+ \btxlabeltext{default:number}
+ \btxspace
+ \btxflush{number}
+ }
+ }
+ \btxdoif {pages} {
+ \nospace\btxcolon\btxspace\btxflush{pages}
+ }
+ \btxperiod
+ }
+ \removeunwantedspaces
+\stopsetups
+\stoptyping
+
+这是本文档截止至此最为复杂的 \TeX\ 代码,但是所表达的内容非常简单,仅仅是针对期刊论文设定文献列表应当出现作者、文章名称、期刊名称、时间、卷号、期号以及页码等信息。其中,\type{\btxflush} 命令可将 \ConTeXt\ 从 \BibTeX\ 数据格式中解析出的信息输出到排版结果中;\type{\btxcomma},\type{\btxperiod} 之类的命令皆为西文逗号,句号等标点符号;\type{\btxspace} 是西文空格;\type{\btxdoif} 之类的命令是判断 \ConTeXt\ 对 \BibTeX\ 数据格式的解析结果中是否包含某项。
+
+在 publ-imp-foo.lua 和 publ-imp-foo.tex 文件同一目录下,建立测试文件,例如 foo.tex,其内容为
+
+\starttyping[option=TEX]
+\usebtxdataset[foo.bib] % 加载 foo.bib
+\starttext
+Knuth 发明了文学编程语言 WEB\cite[knuth-1984-literate]。
+\blank
+\usebtxdefinitions[foo]
+\placelistofpublications
+\stoptext
+\stoptyping
+
+用于验证上述定义参考文献类表样式 foo 是否可用。结果为
+
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-04.pdf]}
+
+\section{小结}
+
+参考文献的样式,我总觉得是学术界拿来唬人的东西。写一篇论文,即使附上几十篇参考文献,用 \ConTeXt\ 列表进行排版,与写文章内容的所耗费的时间相比,完全可以忽略不计。然而在学术界,参考文献如何排版,却成了一门学问。倘若你半个小时依然未能学会如何为 \ConTeXt\ 定义参考文献样式,我建议随便选一个 \ConTeXt\ 预定义的样式使用。待文章最终定稿后,再手工用 \ConTeXt\ 列表将参考文献制作成你需要的样式。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/07.tex b/info/context-notes-zh-cn/src/07.tex
new file mode 100644
index 0000000000..154b4d9364
--- /dev/null
+++ b/info/context-notes-zh-cn/src/07.tex
@@ -0,0 +1,179 @@
+\chapter{数学环境}
+
+\TeX\ 原本是 Knuth 专为排版数学类书籍而开发的,亦即排版数学公式是 \TeX\ 最擅长的任务,这也是我对数学的唯一兴趣了。希望你是因为喜欢数学而喜欢 \TeX。
+
+\section{两种模式}
+
+\TeX\ 数学公式有两种模式,一种是正文模式(text mode),一种是显摆模式(display mode),在 \ConTeXt\ 中,自然也是如此。当然,可能你觉得显摆模式这个称谓不够严肃,于是随了它的俗称「行间模式」,并无不可,而且后文我也如此称谓它。
+
+正文模式里的数学公式放在一对美元符号之间,意思是有钱人都精通数学。例如 \type{$a^2 + b^2 = c^2$} 便是正文模式的数学公式,其排版结果为 $a^2 + b^2 = c^2$。\TeX\ 数学公式的行间模式是放在一对双美元符号之间,例如
+
+\starttyping[option=TEX]
+$$
+\int_0^{+\infty}f(x) {\rm d}x
+$$
+\stoptyping
+
+\noindent 其排版结果为
+
+$$
+\int_0^{+\infty}f(x) {\rm d}x
+$$
+
+\noindent 但是,在 \ConTeXt\ 里,行间模式建议用以下形式的语法
+
+\starttyping[option=TEX]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+
+\noindent 至于原因为何,想必你已经知道了,\ConTeXt\ 对 \type{\startformula ... \stopformula} 环境的行间公式默认提供了居中对齐以及前后空白支持。为什么 \ConTeXt\ 不对 \type{$$...$$} 提供类似的支持呢?因为 \ConTeXt\ 需要以一种统一的方式控制行间公式前后的空白大小,例如消除行间公式前后空白,只需
+
+\starttyping[option=TEX]
+\setupformulas[spacebefore=0pt,spaceafter=0pt]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+\setupformulas[spacebefore=0pt,spaceafter=0pt]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+
+\noindent 若基于 \type{$$...$$} 标记则很难实现该方式。
+
+\section{公式编号}
+
+如同插图和表格,行间数学公式也有一个放置命令 \type{\placeformula}。例如
+
+\starttyping[option=TEX]
+\placeformula
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+
+\placeformula[math-example]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+
+\ConTeXt\ 行间公式支持引用,例如
+
+\starttyping[option=TEX]
+\placeformula[math-example]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+
+\noindent 类似插图和表格,使用 \type{\in[...]} 进行引用。例如 \type{\in[math-example]},结果为「\in[math-example]」。
+
+\section{定理和证明}
+
+\ConTeXt\ 未提供可直接用于排版数学定理和证明的命令,但是我们可以借助枚举环境定义它们。我们对枚举环境事实上并不陌生,因为早已见识过它的一个特例:列表。
+
+使用 \type{\defineenumeration} 可以定义一种新的枚举特例。例如
+
+\starttyping[option=TEX]
+\defineenumeration[theorem][text=定理]
+\stoptyping
+
+然后便可使用该特例:
+
+\starttyping[option=TEX]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stoptyping
+
+\noindent 结果为
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stopblueframedtext
+
+接下来,让定理序号与定理内容的第一行处于同一行,让版面更加紧凑(serried):
+
+\starttyping[option=TEX]
+\defineenumeration[theorem][text=定理,alternative=serried]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stoptyping
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理,alternative=serried]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stopblueframedtext
+
+现在,只需将定理的宽度设为 \type{broad} 或 \type{\textwidth},便可让定理编号和定理内容不至于如此隔阂,顺便将定理内容的字体切换为粗体:
+
+\starttyping[option=TEX]
+\defineenumeration[theorem][text=定理,alternative=serried,width=broad,style=\bf]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stoptyping
+
+\noindent 结果为
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理,alternative=serried,width=broad,style=\bf]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stopblueframedtext
+
+由于枚举环境皆支持引用,因此上述定义的定理可免费继承该功能。例如
+
+\starttyping[option=TEX]
+\starttheorem[千面神定理]
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+
+如定理 \in[千面神定理] 所述……
+\stoptyping
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理,alternative=serried,width=broad,style=\bf]
+\starttheorem[千面神定理]
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+
+如定理 \in[千面神定理] 所述……
+\stopblueframedtext
+
+类似地,也基于枚举环境定义证明,只需去掉序号,并在证明结尾居右放置 $\square$ 符号。例如
+
+\starttyping[option=TEX]
+\defineenumeration
+ [proof]
+ [text=证明,alternative=serried,width=broad,
+ number=no,closesymbol={$\square$}]
+\startproof
+因为人的生命是有限的,为人民服务是无限的。我们应当将有限的生命投入到无限的为人民服务中去。
+\stopproof
+\stoptyping
+\startblueframedtext
+\defineenumeration
+ [proof]
+ [text=证明,alternative=serried,width=broad,
+ number=no,closesymbol={$\square$}]
+\startproof
+因为人的生命是有限的,为人民服务是无限的。我们应当将有限的生命投入到无限的为人民服务中去。
+\stopproof
+\stopblueframedtext
+
+\section{小结}
+
+现在你已经基本学会了 \ConTeXt\ 数学公式排版。与 \ConTeXt\ 数学排版专家相比,你缺乏的可能主要是如何熟练地输入具体的数学公式。若想在这方面能有所精进,可参考 \ConTeXt\ Wiki 的「Math」页面\cite[math]。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/08.tex b/info/context-notes-zh-cn/src/08.tex
new file mode 100644
index 0000000000..052ef77ea6
--- /dev/null
+++ b/info/context-notes-zh-cn/src/08.tex
@@ -0,0 +1,281 @@
+\chapter{插图}
+
+在某些情境下,一图可胜千言。\ConTeXt\ 在插图方面,不仅支持常见的 JPEG,GIF 和 PNG 等位图格式,也支持 PDF,SVG 以及 \METAPOST\ 等矢量图格式。
+
+\section[figure]{位图}
+
+所谓位图,直观上的认识是,对其进行放大或缩小,图像会失真。照片和屏幕截图,都是位图。常见的几种位图格式文件的扩展名是「\type{.jpg}」(或「\type{.jpeg}」),「\type{.gif}」和「\type{.png}」。\ConTeXt\ 在处理插图时,若发现插图文件的扩展名是这些扩展名之一,便会以位图的形式将图片插入版面相应位置。
+
+假设在 \ConTeXt\ 源文件同一目录里有一幅位图 ctxnotes.png,以下代码,
+
+\starttyping[option=TEX]
+\externalfigure[ctxnotes.png]
+\stoptyping
+
+
+\noindent 便可将 ctxnotes.png 作为插图,即 \externalfigure[ctxnotes.png]。显然,这是插图,但很可能并非是我们想要的插图形式。我们想要的是,独占一行且居中放置的插图,这个要求这并不难实现:
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png]}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png]}
+
+如果需要让插图更大一些,例如宽度为 8 cm,高度按图片原有比例自动放大,只需
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=8cm]}
+\stoptyping
+
+\noindent 通常更建议使用相对尺寸,例如 0.3 倍的版心宽度(满行文字的最大宽度):
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+
+如法炮制,给图片加上标题也很容易:
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx \ConTeXt\ 学习笔记封面截图}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx\ConTeXt\ 学习笔记封面截图}
+
+\indentation 如果你还希望插图能有编号,对于篇幅较小的文章,手工输入即可,建议在编号后,使用 \type{\quad} 插入一个字宽的空白作为间隔,因为普通的空格只有半个字宽。例如
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx 图 1\quad\ConTeXt\ 学习笔记封面截图}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx 图 1\quad\ConTeXt\ 学习笔记封面截图}
+
+如果你担心,插图太多,手工输入图片编号难免会出错,可以使用 \ConTeXt\ 的计数器功能,让 \ConTeXt\ 为你自动递增图片序号。首先,定义一个计数器:
+
+\starttyping[option=TEX]
+\definenumber[myfig]
+\stoptyping
+
+\noindent 然后,每次在给插图添加加标题时,将该计数器增 1,并获取它的当前的值:
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad\ConTeXt\ 学习笔记封面截图}
+\blank[line]
+\midaligned{\externalfigure[ctxnotes-2.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad 涂鸦版 Hilbert 曲线}
+\stoptyping
+
+\definenumber[myfig][prefix=no]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad\ConTeXt\ 学习笔记封面截图}
+\midaligned{\externalfigure[ctxnotes-2.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad 涂鸦版 Hilbert 曲线}
+
+\section{矢量图}
+
+所谓矢量图,对其进行放大或缩小,图像不会失真。PDF 和 SVG 格式,皆为矢量图格式,文件扩展名分别为 \type{.pdf} 和 \type{.svg},将它们作为文档插图,方法与位图相同,例如
+
+\starttyping[option=TEX]
+\externalfigure[ctxnotes.pdf][width=.7\textwidth]
+\stoptyping
+
+\section{宏}
+
+超弦理论认为,宇宙是十维的,其中有六个维度蜷缩在卡拉比-丘空间,人类目前观测不到。我不知道这个理论是否正确,但是在 \TeX\ 系统中,的确能将让一些维度蜷缩在一个空间里,这个空间叫作「宏」。
+
+在 \in[breaking-lines] 节,我们曾经定义过一个宏:
+
+\starttyping[option=TEX]
+\def\foo{\hskip 0pt plus 2pt minus 0pt}
+\stoptyping
+
+\noindent 当我们使用 \type{\foo} 时,\TeX\ 引擎会将其展开为「\type{\hskip 0pt plus 2pt minus 0pt}」。用类似的方法,可以让 \in[figure] 节中的制作插图的代码蜷缩在一个带参数的宏里,例如
+
+\starttyping[option=TEX]
+\definenumber[myfig] % 定义插图编号计数器
+\def\placemyfigure#1#2{%
+ \midaligned{#2}
+ \incrementnumber[myfig]
+ \midaligned{\tfx 图 \getnumber[myfig]\quad #1}
+ \blank[line]
+}
+\stoptyping
+
+\noindent 之后,在文章里放入插图会更为容易,例如
+
+\starttyping[option=TEX]
+\placemyfigure
+ {涂鸦版 Hilbert 曲线}
+ {\externalfigure[ctxnotes-2.png][width=.4\textwidth]}
+\stoptyping
+
+你可能并不能完全理解 \type{\palcemyfigure} 的定义,但是基于上一节的一些示例,应该能猜出其要义。这已经足够了,日后倘若你觉得有些经常重复使用的排版代码,它们只存在少许差异,便可尝试为它们定义一个宏,用宏的参数代替差异。现在也许你已经隐隐感觉到了,\ConTeXt\ 的排版命令也是 \TeX\ 宏。
+
+\section{\type{\placefigure}}
+
+事实上,\ConTeXt\ 提供了比我们定义的 \type{\palcemyfigure} 更为强大的命令 \type{\palcefigure},其用法为
+
+\starttyping[option=TEX]
+\placefigure[插图摆放位置][引用]{插图标题}{\exteranlfigure[...][...]}
+\stoptyping
+
+例如,将 ctxnotes-2.png 作为插图,居中放置,引用为「Hilbert 曲线」,标题为「涂鸦版 Hilbert 曲线」,只需
+
+\starttyping[option=TEX]
+\placefigure
+ [][Hilbert 曲线]
+ {涂鸦版 Hilbert 曲线}
+ {\externalfigure[ctxnotes-2.png][width=.3\textwidth]}
+\stoptyping
+\midaligned{\externalfigure[hibert.pdf]}
+
+\subsection{插图标题样式}
+
+对于 \type{\placefigure} 的结果,可能你已经觉得有些不满意了。在中文排版中,图片的编号前缀不应该是 Figure,而应该是「图」,此外,编号也没必要粗体,而且标题字号应当比正文字体小一级。没有办法,\ConTeXt\ 一切默认的样式,皆针对西文排版。不过,我们可以通过以下命令,将插图标题样式设置成我们所期望的样式:
+
+\starttyping[option=TEX][space=on]
+\setupcaption[figure][style=\tfx,headstyle=\rm]
+\setuplabeltext[en][figure={图 }]
+\stoptyping
+\midaligned{\externalfigure[hibert-1.pdf]}
+
+上述设定的样式,已基本符合我们的要求。根据排版结果,很容易能猜出来,\type{\setupcaption} 的 \type{style} 参数用于设定插图字体样式,\type{headstyle} 则用于设定插图编号样式。至于 \type{\setuplabeltext},与 \ConTeXt\ 的语言界面有关,但现在不必涉及太多细节,仅需知道,它可将插图标题的前缀「\type{Figure}」替换为「\type[space=on]{图 }」。不过,依然存在一个细微的问题,标题里的汉字之间的粘连的伸长特性又被 \ConTeXt\ 触发了,导致汉字分布有些疏松。该问题的解决方法与第 \in[post] 章的示例 \in[zaoshu-5] 相似,用将对齐参数设为 \type{center},即
+
+\starttyping[option=TEX]
+\setupcaption[figure][style=\tfx,headstyle=\normal,align=center]
+\stoptyping
+\midaligned{\externalfigure[hibert-2.pdf]}
+
+\subsection{插图位置}
+
+\type{\placefigure} 的第一个参数用于设定插图摆放位置。当该参数为空时,\ConTeXt\ 默认插图居中放置。有时为了节省排版空间,需要将插图居左或居右放置,该需求可通过参数 \type{left} 或 \type{right} 实现。例如,
+
+\starttyping[option=TEX]
+% 居左
+\placefigure[left][...]{...}{...}
+% 居右
+\placefigure[right][...]{...}{...}
+\stoptyping
+
+与 Mircro Word 这种字处理软件相比,\ConTeXt\ 的居中插图缺乏文字环绕功能,若想实现该功能,需对在 \TeX\ 层面掌握如何控制段落形状。
+
+在 \ConTeXt\ 世界里,插图实际上是浮动对象(Float Object)的特例。所谓浮动对象,即你以为插图应该在文档的某个位置出现,但实际上 \TeX\ 引擎会根据版面的拥挤程度,修改插图的位置。例如,在文档的某一页的底部,若剩余空间已经不够放置一幅插图,则 \TeX\ 引擎会努力在下一页为插图寻找一个更合适的位置,但是原本应该位于插图之后的正文内容会出现在插图之前。若是禁止插图浮动,只需
+
+\starttyping[option=TEX]
+\placefigure[force][...]{...}{...}
+\stoptyping
+
+\noindent 还有一个参数 \type{here},强迫性比 \type{force} 要弱一些,只是建议 \TeX\ 引擎尽量让插图保持在原位置。
+
+除上述参数之外,\type{\placefigure} 还有许多控制插图摆放位置的参数,但并不常用,欲知其详,请参考 \ConTeXt\ Wiki 页面「Floating Objects」\cite[floating-objects]。
+
+\subsection{引用}
+
+\type{\placefigure} 的第二个参数用于设定图片的引用标记。在正文中,使用 \type{\in[...]} 便可得到插图编号。例如
+
+\starttyping[option=TEX]
+如图 \in[Hilbert 曲线] 所示……
+
+\placefigure
+ [][Hilbert 曲线]
+ {涂鸦版 Hilbert 曲线}{\externalfigure[ctxnotes-2.png][width=.3\textwidth]}
+\stoptyping
+\midaligned{\blueframed{\externalfigure[hibert-3.pdf]}}
+
+\section[figure-matrix]{阵列}
+
+有时为了节省排版空间,需要将两幅或更多幅插图并排放置,如图 \in[win-r] 和 \in[cmd-window] 所示。该效果可使用 floatcombination 环境构造插图阵列来实现。例如,首先构建一行两列的插图阵列:
+
+\starttyping[option=TEX]
+\startfloatcombination[nx=2,ny=1]
+\placefigure{}{}
+\placefigure{}{}
+\stopfloatcombination
+\stoptyping
+\leftaligned{\externalfigure[05-floatcomb.pdf]}
+
+\noindent 然后将所得阵列作为插图,便可得到居中放置的插图阵列:
+
+\starttyping[option=TEX]
+\placefigure[none][]{}{
+ \startfloatcombination[nx=2,ny=1]
+ \placefigure{}{}
+ \placefigure{}{}
+ \stopfloatcombination
+}
+\stoptyping
+\midaligned{\externalfigure[05-floatcomb-2.pdf]}
+
+上述示例用了 \type{\placefigure} 一个小技巧:当 \type{\placefigure} 的第一个参数含有 \type{none} 时,可以消除插图编号和标题。此外,你应该发现了,\type{\placefigure} 的参数为空时,\ConTeXt\ 会以一个矩形框表示插图,还应当注意到,方括号形式的参数,通常是可以省略的。
+
+若 \type{\placefigure} 的第一个参数含有 \type{nonumber} 时,可以消除插图编号,仅保留标题。因此,上述实现图片阵列的方法稍加变换,便可实现由多幅插图组合为一幅插图的效果:
+
+\starttyping[option=TEX]
+\placefigure{}{
+ \startfloatcombination[nx=2,ny=1]
+ \placefigure[nonumber]{a}{}
+ \placefigure[nonumber]{b}{}
+ \stopfloatcombination
+}
+\stoptyping
+\midaligned{\externalfigure[05-floatcomb-3.pdf]}
+
+基于 \type{combination} 环境可实现与上例等效的插图阵列,只是所用代码略多一些,但形式上更为结构化且应用范围更广。例如
+
+\starttyping[option=TEX]
+\placefigure{}{
+ \startcombination[nx=2,ny=1]
+ \startcontent \externalfigure[ctxnotes.png][height=3cm] \stopcontent
+ \startcaption a \stopcaption
+ \startcontent \externalfigure[ctxnotes-2.png][height=3cm] \stopcontent
+ \startcaption b \stopcaption
+ \stopcombination
+}
+\stoptyping
+\midaligned{\externalfigure[05-floatcomb-4.pdf]}
+
+\section{图片目录}
+
+前文所有示例,插图所用图形文件皆需与 \ConTeXt\ 源文件位于同一目录。为了让文件目录更为整洁,我们在 \ConTeXt\ 源文件所在目录下,构建了一子目录,例如 figures,专门用于存放图形文件。为了让 \ConTeXt\ 能够找到图形文件,在构造插图时,需要向 \type{\externalfigure} 提供图形文件的相对路径:
+
+\starttyping[option=TEX]
+\externalfigure[figures/图形文件]
+\stoptyping
+
+若不想每次插图时如此麻烦,可以通过以下命令将图形文件所在目录告知 \ConTeXt:
+
+\starttyping[option=TEX]
+\setupexternalfigures[directory={./figures}]
+\stoptyping
+
+\section{\MetaFun}
+
+在 \ConTeXt\ 中,还有一种插图形式,\METAPOST\ 绘图代码,这些绘图代码被嵌入在 \ConTeXt\ 的 \MetaFun\ 环境里。例如,使用 \MetaFun\ 环境 \type{useMPgraphic},以 \METAPOST\ 语言绘制一个边线被轻微随机扰动的矩形:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{metapost 图形}
+path p;
+u := 7cm; v := 3cm;
+p := fullsquare xyscaled (u, v) randomized 0.07u;
+drawpath p;
+drawpoints p;
+\stopuseMPgraphic
+\placefigure{\MetaFun\ example}{\useMPgraphic{metapost 图形}}
+\stoptyping
+\midaligned{\externalfigure[05-metapost.pdf]}
+
+上述示例在排版插图标题时,涉及 \TeX\ 宏在使用时即宏调用时的一个细节。例如,\type{\TeX} 之后跟随一个或多个空格,即 \type[space=on]{\TeX },这些空格会被 \TeX\ 引擎吞掉,不会显示在排版结果中,原因是默认情况下,空格是 \TeX\ 引擎需要知道宏的名字的结束符。如果需要在一个宏调用之后插入空格,需要对空格进行转义,即 \type[space=on]{\ },亦即反斜线后跟随一个空格。
+
+\section{小结}
+
+所谓插图,不过是个头较大的文字罢了。
diff --git a/info/context-notes-zh-cn/src/09.tex b/info/context-notes-zh-cn/src/09.tex
new file mode 100644
index 0000000000..587dd248b5
--- /dev/null
+++ b/info/context-notes-zh-cn/src/09.tex
@@ -0,0 +1,295 @@
+\chapter{表格}
+
+\ConTeXt\ 提供了多种表格形式,我们不需要全都学会,可以先学会最为简单的形式 Tabulate,等到将它用到山穷水尽也无法表达你想要的表格时,再考虑其他形式是否够用。简单的未必不好,强大的未必更好,既简单又符合自己需求的,永远都是最好的。
+
+\section{基本用法}
+
+首先,构造一个 2 行 3 列的表格,第 1 行的内容是 \type{1 2 3},第二行的内容是 \type{4 5 6},排版代码和结果如下:
+
+\starttyping[option=TEX]
+\starttabulate
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+\stoptyping
+\starttabulate
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+
+结果第 3 列跑到版面最右侧了。这是因为我们尚未定义表格各列的对齐方式。对齐方式不外乎三种,左、中、右,Tabulate 分别使用缩写 \type{l},\type{c} 和 \type{r} 指代它们。例如,若令表格第 1 列居左,第 2 列居中,第 3 列居右,只需
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|]
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+\stoptyping
+\starttabulate[|l|c|r|]
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+
+现在看上去像表格了,但是由于表格尚无边框线,无法看出表格各列内容的对齐状态。
+
+想必你已经猜测出了,\type{\NC} 用于在表格的某一行构造一个单元格,上述示例中,表格内容的每一行最后一个 \type{\NC} 实际上是多余的,\ConTeXt\ 会忽略它,但是你可以将它理解为表格的单元格的边界。\type{\NR} 用于构造一个新行,即下一行。上述示例里,表格只有两行,实际上第 2 个 \type{\NR} 也是多余的,只是为了形式上更整齐而保留,\ConTeXt\ 会忽略它,你可以将它理解为表格一行的结束。
+
+现在,将 \type{\NC} 替换为 \type{\VL},便可画出单元格的左右边界线,即
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|]
+\VL 1 \VL 2 \VL 3\VL\NR
+\VL 4 \VL 5 \VL 6\VL\NR
+\stoptabulate
+\stoptyping
+
+\starttabulate[|l|c|r|]
+\VL 1 \VL 2 \VL 3\VL\NR
+\VL 4 \VL 5 \VL 6\VL\NR
+\stoptabulate
+
+如果在表格每一行的开始放上 \type{\HL},可画出表格各行横线,即
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|l|c|r|]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+可能你已经发现了,表格的竖线将被横线截断了。不必担心是你的问题,而是 Tabulate 主要用于排版横线表,例如图 \in[three-line table] 所示的在科技论文中常用的三线表。
+
+\placefigure[here][three-line table]{三线表}{\externalfigure[06-three-line-table.pdf]}
+
+不过,要让表格的横线和竖线完全相交并不困难,只需将单元格之间的纵向间距参数 \type{distance} 设为 \type{0pt} 或 \type{none}:
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|l|c|r|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+\section{间距调整}
+
+若希望单元格的宽度更宽一些,需要在列格式中设定 \type{w} 参数,例如令单元格宽度为 1 cm,只需 \type{w(1cm)} 即可。例如
+
+\starttyping[option=TEX]
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+如果希望所有的 Tablutate 实例的 \type{distance} 参数皆为 \type{none},可使用 \type{\setuptabulate} 进行设定:
+
+\starttyping[option=TEX]
+\setuptabulate[distance=none]
+\stoptyping
+
+若希望单元格的竖向间距大一些,可使用 \type{\TB} 命令插入空行进行调整。例如插入 2mm 高的空格:
+
+\starttyping[option=TEX]
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\TB[2mm]
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\TB[line]
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+\noindent \type{\TB} 也可以使用相对尺寸,例如 \type{2*line},\type{line},\type{halfline} 和 \type{quarterline} 分别为一行文字的高度的 2 倍,1 倍,1/2 倍和 1/4 倍。
+
+由于插图不过是个头较大的文字,因此基于表格理应能实现 \in[figure-matrix] 节所述的排版插图阵列。的确可以如此,例如
+
+\starttyping[option=TEX]
+\def\figA{\externalfigure[ctxnotes.png][height=3cm]}
+\def\figB{\externalfigure[ctxnotes-2.png][height=3cm]}
+\placefigure{}{
+ \starttabulate[|cw(6cm)|cw(6cm)|]
+ \NC \figA \NC \figB \NC\NR
+ \NC a \NC b\NC\NR
+ \stoptabulate
+}
+\stoptyping
+\midaligned{\externalfigure[06-01.pdf]}
+
+\section{\type{\placetable}}
+
+类似于插图,表格也有一个放置命令 \type{\placetable},其用法与 \type{\placefigure} 相似。例如
+
+\starttyping[option=TEX]
+\placetable[here][表格示例]{简单的表格}{
+ \starttabulate[|cw(2cm)|cw(2cm)|cw(2cm)|][distance=none]
+ \HL
+ \VL 1 \VL 2 \VL 3\VL\NR
+ \HL
+ \VL 4 \VL 5 \VL 6\VL\NR
+ \HL
+ \stoptabulate
+}
+\stoptyping
+\midaligned{\externalfigure[06-02.pdf]}
+
+对于中文排版,表格的标题,也需要自己定制,默认的设置并不符合我们的习惯。首先,将表格编号前缀设定为
+
+\starttyping[option=TEX][space=on]
+\setuplabeltext[en][table={表 }]
+\stoptyping
+
+\noindent 然后将表格标题编号设为正体,字号比正文字号小一级,放置于表格上方,并居中对齐:
+
+\starttyping[option=TEX]
+\setupcaption
+ [table]
+ [headstyle=\tf,style=\tfx,location=top,align=center]
+\stoptyping
+\blank[line]
+\midaligned{\externalfigure[06-03.pdf]}
+
+\section{不传之秘}
+
+在绘制表格的横线和竖线时,线条粗度可通过参数 \type{rulethickness} 进行设定。例如,将线条粗度设为 2 pt:
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\HL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\HL
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\HL
+\stoptabulate
+\stoptyping
+\midaligned{\externalfigure[06-04.pdf]}
+
+\noindent 但是,如果我们只想让表格的顶线和底线是粗度 2 pt,中间那条横线让它是 Tabulate 的默认粗度,该如何实现呢?
+
+对于该问题,也许你翻遍 \ConTeXt\ 的 Wiki 或手册,都找不到答案,因为答案在 \ConTeXt\ 的 tabl-tbl.mkxl 文件里。使用以下命令可搜索该文件:
+
+\starttyping
+$ mtxrun --script base --search tabl-tbl.mkxl
+\stoptyping
+
+\noindent 需要注意的是,该文件中关于 \type{\TL},\type{\LL} 和 \type{\BL} 的注释应该是错的。要解决上述问题,需要先了解以下细节:
+
+\startitemize[packed]
+\item 表格线粗度默认大概是 0.4 pt;
+\item 横线 \type{\HL} 有着细致的类别划分,从表格的顶线到底线,依次为顶线 \type{\TL},第一条横线 \type{\FL},中间的横线 \type{\ML},最后一条横线 \type{LL},底线 \type{\BL};
+\item 若要设定表格横线的不同粗度,则横线必须按照类别使用,不可使用 \type{\HL};
+\item \type{\HL}\footnote{包括 \type{\TL},\type{\FL},……,\type{\BL}。}和 \type{\VL} 可以接受两个参数,一个是表格线既定粗度的倍数,另一个是表格线颜色。
+\stopitemize
+
+解决方法是,首先将上述示例修改为
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\TL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\FL
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\BL
+\stoptabulate
+\stoptyping
+
+\noindent 由于该表格内容只有三行,因此只有顶线,第一条横线和底线,亦即无中间横线和最后一条横线。为了更加充分演示问题是如何解决的,可以让该表格的内容再丰富一些:
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\TL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\FL
+\NC 甲 \NC 乙 \NC 丙 \NC 丁 \NC 戊 \NC\NR
+\ML
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\LL
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\BL
+\stoptabulate
+\stoptyping
+
+现在要保持 \type{\TL} 和 \type{\BL} 为既定粗度 2 pt,将 \type{\FL},\type{\ML} 和 \type{\LL} 的粗度设置为 0.2 倍的既定粗度,及 0.4 pt,顺便试验一下颜色是否真的可用,见表 \in[HL example] 对应的代码,结果只有 \type{\ML} 变成了双线,其他皆符合预期。
+
+为何 \type{\ML} 如此不配合呢?我猜也许它本来就是在绘制双线,因为 Tabulate 支持表格分页断开,即一个表格若处于页面底部且不能完全被当前页面容纳时,\ConTeXt\ 可将其断开,一部分在当前页面,另一部分在下一页面。为了让断开后的表格完整,\type{\ML} 必须是双线。若将表 \in[HL example] 对应代码中的 \type{\ML} 换成 \type{\HL},结果同样是双线。若不需要双线,可将 \type{\ML} 皆换为 \type{\FL} 或 \type{\LL}。
+
+为了避免上述莫名其妙的问题,若只是令表格顶线和底线变粗,不必设定 \type{rulethickness} 参数,而是修改顶线和底线的粗度,令其他表格线的粗度皆为默认值。
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\TL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\FL[0.2,red]
+\NC 甲 \NC 乙 \NC 丙 \NC 丁 \NC 戊 \NC\NR
+\ML[0.2,blue]
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\LL[0.2,magenta]
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\BL
+\stoptabulate
+\stoptyping
+\placetable[here][HL example]{修改表格线粗度和颜色}{
+ \starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+ \TL
+ \NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+ \FL[0.2,red]
+ \NC 甲 \NC 乙 \NC 丙 \NC 丁 \NC 戊 \NC\NR
+ \ML[0.2,blue]
+ \NC one \NC two \NC three \NC four \NC five \NC\NR
+ \LL[0.2,magenta]
+ \NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+ \BL
+ \stoptabulate
+}
+
+\section{小结}
+
+除了在设定表格线粗度时不尽人意之外,Tabulate 堪当日常之用。它还有一些功能,本章尚未涉及,诸如跨栏,分页,段落等,这部分功能在后续章节介绍其他排版元素时,将作为搭配示例予以介绍。
+
+待到 Tabulate 用至捉襟见肘之时,可使用「终极表格」,其文档在你的 \ConTeXt\ 环境里,可通过以下命令搜索:
+
+\starttyping
+$ mtxrun --script base --search xtables-mkiv.pdf
+\stoptyping
diff --git a/info/context-notes-zh-cn/src/10.tex b/info/context-notes-zh-cn/src/10.tex
new file mode 100644
index 0000000000..7616361d01
--- /dev/null
+++ b/info/context-notes-zh-cn/src/10.tex
@@ -0,0 +1,276 @@
+\chapter{盒子}
+
+在 \in[item-sym-diy] 节中,你已经见过盒子了,只是那时可能你还不知其究竟,本章将揭开它们的一些端倪。也有可能你早已钻研过 Knuth 的《The \TeX\ book》,对盒子的研究之深已经让我望风而拜,但是未必熟悉 \ConTeXt\ 的盒子,故而本章仍有部分内容值得一睹。
+
+\section{\TeX\ 盒子}
+
+前面已经多次暗示和明示,\TeX\ 系统是 \ConTeXt\ 的底层,二者的关系犹如引擎(发动机)和汽车的关系。对 \TeX\ 引擎丝毫不懂,并不影响你学习和使用 \ConTeXt\ 排版一份精致的文档,但是懂一些引擎层面工作原理,未必会有用处,但是你现在也并不能确定将来会不会成为一名 \TeX\ 黑客,如同你从前也从未想过有一天会学习 \ConTeXt。
+
+在 \TeX\ 系统中,盒子是很重要的部件。例如,在 \ConTeXt\ 的排版的每一个段落,是一个竖向盒子,即 \type{\vbox},该盒子之内又有一些横向盒子,即 \type{\hbox},它们是段落的每一行。我们可以直接用这两种盒子构造一个不甚规整的段落:
+
+\startsamplecode\startnarrowtyping
+\vbox{
+ \hbox{离离原上草}\hbox{一岁一枯荣}\hbox{野火烧不尽}\hbox{春风吹又生}
+}
+\stopnarrowtyping\stopsamplecode
+\mysample[todo-list]{竖向盒子和横向盒子}{08-vbox-and-hbox.pdf}
+
+横向盒子可以指定它的长度,竖向盒子可以指定它的高度。例如,
+
+\starttyping[option=TEX]
+\hbox to 5cm {赋得古原草送别}
+\vbox to 3cm {
+ \hbox{离离原上草}\hbox{一岁一枯荣}\hbox{野火烧不尽}\hbox{春风吹又生}
+}
+\stoptyping
+
+在示例 \in[rsquare] 中,\type{\hbox} 用于包含一副使用 \METAPOST\ 语言绘制的矢量插图,关键代码如下:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{foo}
+... ... ...
+\stopuseMPgraphic
+\lower.2ex\hbox{\useMPgraphic{foo}}
+\stoptyping
+
+\noindent 其中 \type{useMPgraphic} 环境中的 \METAPOST\ 代码会被 \type{\useMPgraphic{foo}} 提交给 \TeX\ 引擎。\TeX\ 引擎会调用 metapost 程序将 \METAPOST\ 代码编译成 PDF 格式的图片,然后交给 \ConTeXt。最后由 \ConTeXt\ 将图片插入到 \type{\useMPgraphic{foo}} 所在的横向盒子里。\type{\lower .2ex} 可令位于其后的横向盒子下沉 0.2 ex。长度单位 ex 类似于 em,也是一个相对尺寸,它是当前所用字体中的字母 x 对应的字形的高度。从现在开始要记住,横向距离用 em,竖向距离用 ex,不过这只是建议,并非 \TeX\ 世界的法律。
+
+还有一种横向盒子 \type{\line},它的宽度是当前段落的宽度,可让其中的文字向两边伸展并与边界对齐,例如
+
+\starttyping[option=TEX]
+\line{\darkred\bf 我能吞下玻璃而不伤身体。}
+\stoptyping
+\line{\darkred\bf 我能吞下玻璃而不伤身体。}
+
+看到上述示例,想必你想起了之前我们曾在文章标题的样式设定时,用 \type{{middle,broad}} 抑制的 \ConTeXt\ 触发汉字间隙的伸长特性,该特性与\type{\line} 的效果非常相似。
+
+使用 \type{\hfill} 或 \type{\hss} 可对横向盒子里的内容进行挤压。例如
+
+\starttyping[option=TEX]
+\line{\hfill 我能吞下玻璃而不伤身体。}
+\line{我能吞下玻璃而不伤身体。\hfill}
+\line{\hfill 我能吞下玻璃而不伤身体。\hfill}
+\line{\hss 我能吞下玻璃而不伤身体。}
+\line{我能吞下玻璃而不伤身体。\hss}
+\line{\hss 我能吞下玻璃而不伤身体。\hss}
+\stoptyping
+
+\blueframed{
+ \vbox{
+ \line{\hfill 我能吞下玻璃而不伤身体。}
+ \line{我能吞下玻璃而不伤身体。\hfill}
+ \line{\hfill 我能吞下玻璃而不伤身体。\hfill}
+ \line{\hss 我能吞下玻璃而不伤身体。}
+ \line{我能吞下玻璃而不伤身体。\hss}
+ \line{\hss 我能吞下玻璃而不伤身体。\hss}
+ }
+}
+
+\type{\hfill} 和 \type{\hss},都是可无限伸缩的粘连,还有一个伸缩能力弱于 \type{\hfill} 的 \type{\hfil}。竖向的可无限伸缩的粘连有 \type{\vfil},\type{\vfill} 和 \type{\vss}。
+
+\section{\ConTeXt\ 盒子}
+
+在 \ConTeXt\ 层面,通常很少使用 \TeX\ 盒子,而是使用 \type{\inframed} 和 \type{\framed}——前者是后者的特例。与 \TeX\ 盒子相比,\ConTeXt\ 层面的盒子可以显示边框,且有非常多的参数可以定制它们的外观。
+
+\type{\inframed} 用于正文,可用于给一行文字增加边框,例如
+
+\starttyping[option=TEX]
+\type{\inframed{\type{\inframed{...}}}}
+\stoptyping
+
+\noindent 结果为 \inframed{\type{\inframed{...}}}。倘若使用 \type{\framed},例如
+
+\starttyping[option=TEX]
+\type{\framed{\type{\framed{...}}}}
+\stoptyping
+
+\noindent 结果为 \framed{\type{\framed{...}}}。可以发现,\type{\inframed} 更适合在正文中使用,因为它能与文字基线对齐。事实上,\type{\inframed} 与 \type{\framed[location=low]} 等效,故而前者是后者的特例。例如
+
+\starttyping[option=TEX]
+\framed[location=low]{\type{\framed[location=low]{...}}}
+\stoptyping
+
+\noindent 结果为 \framed[location=low]{\type{\framed[location=low]{...}}}。上述示例中的 \type{\type} 用于排版代码,它会自动将字体切换为等宽字体(\type{\tt})原样显示它所接受的文字。顺便多言,若是排版一段代码,可使用 \type{\starttyping[option=TEX] ... \stoptyping}。
+
+如果不希望 \type{\framed} 显示边框,只需 \type{\framed[frame=off]{...}},也可以单独显示某条边线,并设定边线粗度和颜色:
+
+\starttyping[option=TEX]
+\line{
+ \framed[frame=off,leftframe=on,rulethickness=4pt,framecolor=red]{foo}
+ \framed[frame=off,topframe=on,rulethickness=4pt,framecolor=green]{foo}
+ \framed[frame=off,rightframe=on,rulethickness=4pt,framecolor=blue]{foo}
+ \framed[frame=off,bottomframe=on,rulethickness=4pt,framecolor=magenta]{foo}
+}
+\stoptyping
+\line{
+ \framed[frame=off,leftframe=on,rulethickness=4pt,framecolor=red]{foo}
+ \framed[frame=off,topframe=on,rulethickness=4pt,framecolor=green]{foo}
+ \framed[frame=off,rightframe=on,rulethickness=4pt,framecolor=blue]{foo}
+ \framed[frame=off,bottomframe=on,rulethickness=4pt,framecolor=magenta]{foo}
+}
+
+\blank
+
+可以设定盒子的宽度和高度,例如宽 10cm,高 2 cm 的盒子:
+
+\starttyping[option=TEX]
+\hbox to \textwidth{\hfill\framed[width=10cm,height=2cm]{foo}\hfill}
+\stoptyping
+\hbox to \textwidth{\hfill\framed[width=10cm,height=2cm]{foo}\hfill}
+
+\section{对齐}
+
+\ConTeXt\ 盒子的内容默认居中,即 \type{align=center},此外还有 8 种对齐方式:
+
+\starttyping[option=TEX]
+\line{
+ \setupframed[width=1.95cm,height=1.95cm]
+ \framed[align={flushleft,high}]{A}
+ \framed[align={middle,high}]{A}
+ \framed[align={flushright,high}]{A}
+ \framed[align={flushright,lohi}]{A}
+ \framed[align={flushright,low}]{A}
+ \framed[align={middle,low}]{A}
+ \framed[align={flushleft,low}]{A}
+ \framed[align={flushleft,lohi}]{A}
+}
+\stoptyping
+\line{
+ \setupframed[width=1.95cm,height=1.95cm]
+ \framed[align={flushleft,high}]{A}
+ \framed[align={middle,high}]{A}
+ \framed[align={flushright,high}]{A}
+ \framed[align={flushright,lohi}]{A}
+ \framed[align={flushright,low}]{A}
+ \framed[align={middle,low}]{A}
+ \framed[align={flushleft,low}]{A}
+ \framed[align={flushleft,lohi}]{A}
+}
+
+\type{\setupframed} 所作的设定会影响到其后的所有 \type{\framed},但是不会影响到其所处编组\footnote{还记得 \TeX\ 编组吗?即 \type[escape=no]{{...}}。}之外的 \type{\framed}。
+
+\section{背景}
+
+可将颜色作为 \type{\framed} 的背景。例如
+
+\starttyping[option=TEX]
+\inframed
+ [background=color,
+ backgroundcolor=lightgray,
+ width=2cm,
+ frame=off]{\bf foo}
+\stoptyping
+
+\noindent 结果为 \inframed[background=color,backgroundcolor=lightgray,width=2cm,frame=off]{\bf foo}。
+
+通过 overlay,可将一些代码片段的排版结果作为 \type{\framed} 的背景。例如
+
+\starttyping[option=TEX]
+\defineoverlay
+ [foo]
+ [{\framed[width=3cm,frame=off,bottomframe=on]{}}]
+\midaligned{\inframed[background=foo,frame=off]{你好啊!}}
+\stoptyping
+
+\defineoverlay
+ [foo]
+ [{\framed[width=3cm,frame=off,bottomframe=on]{}}]
+\midaligned{\inframed[background=foo,frame=off]{你好啊!}}
+\blank
+
+通过上述示例,现在你应该能有有七八分明白 \in[item-sym-diy] 节中带圈数字是如何实现的了,其关键代码如下:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled 12pt;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+\stoptyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled 12pt;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+\noindent 无非是将一个圆圈图形作为 \type{\inframed} 的背景罢了,而且对圈内的文字的长度有限制,字数略多一些,便出圈了,例如 \type{\fooframe{123}},结果为 \fooframe{123}。不过,只需对上述代码略加修改,
+
+\starttyping[option=TEX]
+ p := fullcircle scaled \overlaywidth;
+\stoptyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled \overlaywidth;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+
+\noindent 便可解除该限制。技巧是,用 overlay 的实际宽度作为单位圆的放大倍数,故而可保证圆圈的直径即圈内文字的长度,例如 \type{\fooframe{我有一个大房子}},结果为 \fooframe{我有一个大房子}。
+
+\section{盒子的深度}
+
+如果你仔细观察,\ConTeXt\ 盒子里的内容在水平方向是精确居中的,但是在并非如此。例如
+
+\starttyping[option=TEX]
+\inframed{ajk\framed{我看到一棵樱桃树}}。
+\stoptyping
+
+\noindent 结果为 \inframed{\framed{我看到一棵樱桃树}}。可见 \type{\inframed} 内部的 \type{\framed} 的底部有着看似多余的空白。使用盒子的参数 \type{depth} 可以消除这些空白,但问题在于这处空白从何而来及其高度是多少。该问题与底层 \TeX\ 的西文排版机制有关。
+
+首先,我们需要明白,西文排版,一行文字是有基线的,但基线并非位于该行文字的最底端,而是距最底端有一段较小的距离,否则所有西文字母都在同一条线上了。在上述示例中,\type{\framed} 的底线便是其外围的 \type{\inframed} 所在行的基线。西文字体在设计时,每个字形(Glyph)是有基线位置,因此在排版时可根据实际的基线位置对字形进行对齐。一行文字的基线到该行的最底端的这段距离称为深度。一行文字的基线到该行最顶端的这段距离称为高度。因此,一行文字的真正高度等于深度 + 高度;在 \ConTeXt\ 中,它等于我们使用 \type{\setupinterlinespace} 设定的尺寸。
+
+无论是 \TeX\ 还是 \ConTeXt\ 盒子,它们本身是没有深度的,但是当它们里面的文字或盒子有深度时,它们便有了深度。至于深度值具体是多大,可以借助 \TeX\ 的盒子寄存器进行测量。例如,定义一个盒子寄存器 box0:
+
+\starttyping[option=TEX]
+\setbox0\hbox{\inframed{\framed{我看到一棵樱桃树}}}
+\stoptyping
+
+\noindent 现在我们有了一个 0 号盒子,使用 \type{\wd},\type{\ht} 和 \type{\dp} 可分别测量该盒子的宽度、高度和深度……顺便复习一下表格的用法:
+
+\starttyping[option=TEX]
+\placetable[force]{box0 的几何信息}{\tfx
+ \starttabulate[|c|c|c|]
+ \HL
+ \NC 宽度 \NC 高度 \NC 深度 \NC\NR
+ \HL
+ \NC \the\wd0 \NC \the\ht0 \NC \the\dp0 \NC\NR
+ \HL
+ \stoptabulate
+}
+\stoptyping
+\setbox0\hbox{\inframed{\framed{我看到一棵樱桃树}}}
+\setupcaption[table][location=top]
+\placetable[force]{box0 的几何信息}{\tfx
+ \starttabulate[|c|c|c|]
+ \HL
+ \NC 宽度 \NC 高度 \NC 深度 \NC\NR
+ \HL
+ \NC \the\wd0 \NC \the\ht0 \NC \the\dp0 \NC\NR
+ \HL
+ \stoptabulate
+}
+
+将上述所得深度信息取负作为 \type{\inframed} 的参数 \type{depth} 的值,即
+
+\starttyping[option=TEX]
+\inframed[depth=-\dp0]{\framed{我看到一棵樱桃树}}
+\stoptyping
+
+\noindent 便可消除深度,结果为 \inframed[depth=-\dp0]{\framed{我看到一棵樱桃树}}。
+
+\section{小结}
+
+\TeX\ 盒子是无形的。\ConTeXt\ 盒子是有形的。老子曾说过,恒无欲,以观其妙;恒有欲,以观其所徼。故而,\TeX\ 要懂一些,\ConTeXt\ 也要懂一些。
diff --git a/info/context-notes-zh-cn/src/11.tex b/info/context-notes-zh-cn/src/11.tex
new file mode 100644
index 0000000000..7b5d538b3e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/11.tex
@@ -0,0 +1,810 @@
+\chapter{学一点 \METAPOST}
+
+想必你已迫不及待想学习 \METAPOST\ 了。这大概是来自人类上古基因的冲动。人类先学会的是绘画,而后才是文字。只是不要妄图通过这区区一章内容掌握 \METAPOST,因为关于它的全部内容,足够写一本至少三百多页的书籍了。不过,本章内容足以给你打开一扇窗户,让 \METAPOST\ 的优雅气息拂过时常过于严肃的 \ConTeXt\ 世界。
+
+\section{作图环境}
+
+\METAPOST\ 是一种计算机作图语言,与 \TeX\ 一样,皆为宏编程语言。使用 \METAPOST\ 语言编写的代码可被 mpost 程序编译成 PS 格式的图形文件。自 \LuaTeX\ 开始,mpost 的核心功能集成到了 \LuaTeX\ 中,从此以后,在 \TeX\ 环境中使用 \METAPOST\ 语言作图便不需依赖外部程序了。
+
+\ConTeXt\ 为 \METAPOST\ 代码提供了五种环境:
+
+\starttyping
+\startMPcode ... \stopMPcode
+\startMPpage ... \stopMPpage
+\startuseMPgraphic{name} ... \stopuseMPgraphic
+\startuniqueMPgraphic{name} ... \stopuniqueMPgraphic
+\startreusableMPgraphic{name} ... \stopreusableMPgraphic
+\stoptyping
+
+\noindent 第一种环境用于临时作图,生成的图形会被插入到代码所在位置。第二种环境是生成单独的图形文件,以作其他用途。后面三种环境,生成的图形可根据环境的名称作为文章插图随处使用,但它们又有三种不同用途:
+
+\startitemize[nowhite]
+\item useMPgraphic:每被使用一次,对应的 \METAPOST\ 代码便会被重新编译一次。
+\item uniqueMPgraphic:只要图形所处环境不变,\METAPOST\ 代码只会被编译一次。
+\item reusableMPgraphic:无论如何使用,其 \METAPOST\ 只会被编译一次。
+\stopitemize
+
+\noindent 大多数情况下,建议选用 uniqueMPgraphic,但若图形中存在一些需要每次使用时都要有所变化的内容,可选用 useMPgraphic。
+
+另外需要注意,在 \ConTeXt\ 中使用 \METAPOST\ 时,通常会使用 \ConTeXt\ 定义的一些 \METAPOST\ 宏,这些宏构成的集合,名曰 \MetaFun。
+
+\section{画一个盒子}
+
+\METAPOST\ 作图语句遵守基本的英文语法,理解起来颇为简单。例如,用粗度为 2 pt 的圆头笔用暗红色绘制一条经过 $(0, 0)$,$(3\,{\rm cm}, 0)$,$(3\,{\rm cm}, 1\,{\rm cm})$,$(0, 1\,{\rm cm})$ 的封闭路径,
+
+\starttyping[option=MP]
+\startMPcode
+pickup pencircle scaled 2pt;
+draw (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle withcolor darkred;
+\stopMPcode
+\stoptyping
+\startMPcode
+pickup pencircle scaled 2pt;
+draw (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle withcolor darkred;
+\stopMPcode
+
+上述代码中,\type{(0, 0) -- ... -- cycle} 构造的是一条封闭路径,可将其保存于路径变量:
+
+\starttyping[option=MP]
+path p;
+p := (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle;
+pickup pencircle scaled 2pt;
+draw p withcolor darkred;
+\stoptyping
+
+将路径保存在变量中,是为了更便于对路径进行一些运算,例如
+
+\starttyping[option=MP]
+path p;
+p := (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle;
+pickup pencircle scaled 2pt;
+draw p withcolor darkred;
+draw p shifted (2cm, .5cm) withcolor darkblue;
+\stoptyping
+\startMPcode
+path p;
+p := (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle;
+pickup pencircle scaled 2pt;
+draw p withcolor darkred;
+draw p shifted (2cm, .5cm) withcolor darkblue;
+\stopMPcode
+\noindent 路径 \type{p} 被向右平移了 2 cm,继而被向上平移动了 0.5 cm。
+
+还有一种构造矩形路径的方法:先构造一个单位正方形,然后对其缩放。例如
+
+\starttyping[option=MP]
+pickup pencircle scaled 2pt;
+draw fullsquare xscaled 3cm yscaled 1cm withcolor darkred;
+\stoptyping
+\startMPcode
+pickup pencircle scaled 2pt;
+draw fullsquare xscaled 3cm yscaled 1cm withcolor darkred;
+\stopMPcode
+
+可以使用 \MetaFun\ 宏 \type{randomized} 对路径进行随机扰动。例如,对一个宽为 3 cm,高为 1cm 的矩形路径以幅度 2mm 的程度予以扰动:
+
+\starttyping[option=MP]
+\startuseMPgraphic{随机晃动的矩形}
+pickup pencircle scaled 2pt;
+draw (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+\useMPgraphic{随机晃动的矩形}
+\stoptyping
+\startuseMPgraphic{随机晃动的矩形}
+pickup pencircle scaled 2pt;
+draw (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+\useMPgraphic{随机晃动的矩形}
+
+还记得 overlay 吗?只要将上述 useMPgraphic 环境构造的图形制作为 overlay,便可将其作为 \type{\framed} 的背景,从而可以得到一种外观颇为别致的盒子。
+
+\starttyping
+\defineoverlay[晃晃][\useMPgraphic{随机晃动的矩形}]
+\framed[frame=off,background=晃晃]{光辉岁月}
+\stoptyping
+\defineoverlay[晃晃][\useMPgraphic{随机晃动的矩形}]
+\dontleavehmode\kern .25em\framed[frame=off,background=晃晃]{光辉岁月}
+
+在 \ConTeXt\ 为 \METAPOST\ 提供的作图环境里,可分别通过 \type{\overlaywidth} 和 \type{\overlayheight} 获得 overlay 的宽度和高度。在将 overlay 作为 \type{\framed} 的背景时,\type{\framed} 的宽度和高度便是 overlay 的宽度和高度。基于这一特性,便可实现 \METAPOST\ 绘制的图形能够自动适应 \type{\framed} 的宽度和高度的变化。例如
+
+\starttyping[option=MP]
+\startuseMPgraphic{新的随机晃动的矩形}
+path p;
+p := fullsquare xscaled \overlaywidth yscaled \overlayheight;
+pickup pencircle scaled 2pt;
+draw p randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+
+\defineoverlay[新的晃晃][\useMPgraphic{新的随机晃动的矩形}]
+\framed
+ [frame=off,background=新的晃晃]
+ {今天只有残留的躯壳,迎接光辉岁月,风雨中抱紧自由。}
+\stoptyping
+
+\startuseMPgraphic{新的随机晃动的矩形}
+path p;
+p := fullsquare xscaled \overlaywidth yscaled \overlayheight;
+pickup pencircle scaled 2pt;
+draw p randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+
+\defineoverlay[新的晃晃][\useMPgraphic{新的随机晃动的矩形}]
+\framed[frame=off,background=新的晃晃]{今天只有残留的躯壳,迎接光辉岁月,风雨中抱紧自由。}
+
+对于需要重复使用的盒子,为了避免每次重复设置其样式,可以将它定义为专用盒子。例如
+
+\starttyping[option=TEX]
+\defineframed[funnybox][frame=off,background=新的晃晃]
+\funnybox{今天只有残留的躯壳,迎接光辉岁月,风雨中抱紧自由。}
+\stoptyping
+
+\METAPOST\ 可以为一条封闭路径填充颜色。在此需要明确,何为封闭路径。例如
+
+\starttyping[option=MP]
+path p, q, r;
+p := (0, 0) -- (1, 0) -- (1, 1) -- (0, 0) -- (0, 0);
+q := (0, 0) -- (1, 0) -- (1, 1) -- (0, 0) -- cycle;
+r := fullsquare;
+\stoptyping
+
+\noindent 其中路径 \type{p} 的终点的坐标恰好是其起点,但它并非封闭路径,而路径 \type{q} 和 \type{r} 皆为封闭路径。下面示例,为封闭路径填充颜色:
+
+\starttyping[option=MP]
+path p;
+p := (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm;
+pickup pencircle scaled 2pt;
+fill p withcolor gray;
+draw p withcolor darkred;
+\stoptyping
+\startMPcode
+path p;
+p := (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm;
+pickup pencircle scaled 2pt;
+fill p withcolor darkgray;
+draw p withcolor darkred;
+\stopMPcode
+\noindent 注意,对于封闭路径,应当先填充颜色,再绘制路径,否则所填充的颜色会覆盖一部分路径线条。
+
+\section{颜色}
+
+\METAPOST\ 以含有三个分量的向量表示颜色。向量的三个分量分别表示红色、绿色和蓝色,取值范围为 [0, 1],例如 \type{(0.4, 0.5, 0.6)}。可将颜色保存到 color 类型的变量中,以备绘图中重复使用。例如定义一个值为暗红色的颜色变量:
+
+\starttyping[option=MP]
+color foo;
+foo := (0.3, 0, 0);
+\stoptyping
+
+由于 METAPOST 内部已经定义了用于表示红色的变量 \type{red},因此 \type{foo} 的定义也可写为
+
+\starttyping[option=MP]
+color foo;
+foo := 0.3 * red;
+\stoptyping
+
+\noindent 小于 1 的倍数,可以忽略前缀 0,且可以直接作用于颜色:
+
+\starttyping[option=MP]
+foo := .3red;
+\stoptyping
+
+使用 \type{transparent} 宏可用于构造带有透明度的颜色值。例如
+
+\starttyping[option=MP]
+path p; p := fullsquare scaled 1cm;
+color foo; foo := .3red;
+pickup pencircle scaled 4pt;
+draw p withcolor transparent (1, 0.3, foo);
+draw p shifted (.5cm, .5cm) withcolor transparent (1, 0.25, blue);
+\stoptyping
+\startMPcode
+path p; p := fullsquare scaled 1cm;
+color foo; foo := .3red;
+pickup pencircle scaled 4pt;
+draw p withcolor transparent (1, 0.3, foo);
+draw p shifted (.5cm, .5cm) withcolor transparent (1, 0.25, blue);
+\stopMPcode
+\noindent \type{transparent} 的第一个参数表示选用的颜色透明方法,共有 12 种方法可选:
+
+\startitemize[n,packed,columns,four]
+\item normal
+\item multiply
+\item screen
+\item overlay
+\item softlight
+\item hardlight
+\item colordodge
+\item colorburn
+\item darken
+\item lighten
+\item difference
+\item exclusion
+\stopitemize
+\noindent 第二个参数表示透明度,取值范围 [0, 1],其值越大,透明程度越低。第三个参数为颜色值。需要注意的是,\METAPOST\ 并不支持以 \type{color} 类型的变量保存带透明度的颜色值,而且 \METAPOST\ 里也没有与之对应的变量类型。
+
+\section{文字}
+
+使用 \MetaFun\ 宏 \type{textext} 可在 \METAPOST\ 图形中插入文字,且基于 \METAPOST\ 图形变换命令可对文字进行定位、缩放、旋转。例如
+
+\starttyping[option=MP]
+string s; % 字符串类型变量
+s = "\color[darkred]{\bf 江山如此多娇}";
+draw textext(s);
+draw textext(s) shifted (4cm, 0);
+draw textext(s) scaled 1.5 shifted (8cm, 0) ;
+draw textext(s) scaled 1.5 rotated 45 shifted (12cm, 0);
+\stoptyping
+\startMPcode
+string s; s = "\color[darkred]{\bf 江山如此多娇}";
+draw textext(s);
+draw thetextext(s, (4cm, 0));
+draw textext(s) scaled 1.5 shifted (8cm, 0) ;
+draw textext(s) scaled 1.5 rotated 45 shifted (12cm, 0);
+\stopMPcode
+
+也可使用 \type{\thetextext} 宏直接对文字进行定位,从而可省去 \type{shifted} 变换。例如
+
+\starttyping
+string s; s = "{\bf 江山如此多娇}";
+draw (0, 0) withpen pensquare scaled 11pt withcolor darkred;
+draw textext(s, (4cm, 0)) withcolor darkred;
+\stoptyping
+\startMPcode
+string s; s = "{\bf 江山如此多娇}";
+draw (0, 0) withpen pensquare scaled 12pt withcolor darkred;
+draw thetextext(s, (4cm, 0)) withcolor darkred;
+\stopMPcode
+
+\section{方向路径}
+
+\METAPOST\ 宏 \type{drawarrow} 可绘制带箭头的路径。例如
+
+\starttyping[option=MP]
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+drawarrow p shifted (6cm, 0) dashed (evenly scaled .5mm) withcolor darkred;
+\stoptyping
+\startMPcode
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+drawarrow p shifted (6cm, 0) dashed (evenly scaled .5mm) withcolor darkred;
+\stopMPcode
+
+\noindent 上述代码也给出了虚线路径的画法。
+
+\METAPOST\ 的任何一条路径,从起点到终点可基于取值范围为 [0, 1] 的参数选择该路径上的某一点。基于该功能可实现路径标注。例如选择路径参数 0.5 对应的点,在该点右侧放置 \ConTeXt\ 旋转 90 度的文字:
+
+\starttyping[option=MP]
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pair pos; pos := point .5 along p;
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+draw pos withpen pensquare scaled 4pt withcolor darkgreen;
+draw thetextext.rt("\rotate[rotation=-90]{路过}", pos shifted (1mm, 0));
+\stoptyping
+\startMPcode
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pair pos; pos := point .5 along p;
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+draw pos withpen pensquare scaled 4pt withcolor darkgreen;
+draw thetextext.rt("\rotate[rotation=-90]{路过}", pos shifted (1mm, 0));
+\stopMPcode
+
+\noindent 上述代码中出现了 \type{thetextext} 的后缀形式。除了默认形式,\type{thetextext} 还有 4 种后缀形式,后缀名为 \inframed{\type{.lft}},\inframed{\type{.top}},\inframed{\type{.rt}} 和 \inframed{\type{.bot}},分别表示将文字放在指定位置的左侧、上方、右侧和下方。
+
+\section{画面}
+
+\METAPOST\ 有一种变量类型 \type{picture},可将其用于将一组绘图语句合并为一个图形,然后予以绘制。使用 \METAPOST\ 宏 \type{image} 可构造 \type{picture} 实例。例如
+
+\starttyping[option=MP]
+path a; a := fullsquare xscaled 4cm yscaled 1cm;
+picture p; p := image(fill a withcolor darkgray;
+ draw a withpen pencircle scaled 2pt withcolor darkblue;);
+draw p;
+\stoptyping
+\startMPcode
+path a; a := fullsquare xscaled 4cm yscaled 1cm;
+picture p; p := image(fill a withcolor darkgray;
+ draw a withpen pencircle scaled 2pt withcolor darkblue;);
+draw p;
+\stopMPcode
+
+使用 \METAPOST\ 宏 \type{center} 可以获得 \type{picture} 实例的中心坐标,结果可保存于一个 \type{pair} 类型的变量。例如
+
+\starttyping[option=MP]
+picture p; p := image(draw textext("密云不雨,自我西郊"););
+pair c; c := center p;
+draw c withpen pensquare scaled 4pt withcolor darkred;
+draw p withcolor darkblue;
+\stoptyping
+\startMPcode
+picture p; p := image(draw textext("密云不雨,自我西郊"););
+pair c; c := center p;
+draw c withpen pensquare scaled 4pt withcolor darkred;
+draw p withcolor darkblue;
+\stopMPcode
+
+使用 \MetaFun\ 宏 \type{bbwidth} 和 \type{bbheight} 可以获得 \type{picture} 实例的宽度和高度。使用这两个宏,可为任何图形和文字构造边框。例如
+
+\starttyping[option=MP]
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+path q; q := fullsquare xscaled w yscaled h;
+\stoptyping
+\starttyping[option=MP]
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stoptyping
+\startMPcode
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+path q; q := fullsquare xscaled w yscaled h;
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stopMPcode
+
+上述实例为文字构造的边框太紧了,综合利用现有所学,让它宽松一些并不困难:
+
+\starttyping[option=MP]
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+numeric offset; offset := 5mm;
+path q;
+q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stoptyping
+\startMPcode
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+numeric offset; offset := 5mm;
+path q; q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stopMPcode
+
+\section[macro]{宏}
+
+定义一个宏,令其接受一个字符串类型的参数,返回一个矩形框,并令文字居于矩形框中心:
+
+\starttyping[option=MP]
+vardef framed (expr text, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ path q;
+ q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+ image(fill q withcolor lightgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p;)
+enddef;
+\stoptyping
+
+\noindent 使用上述定义的宏:
+
+\starttyping[option=MP]
+draw framed("{\bf 亢龙有悔}", 5mm);
+\stoptyping
+\startMPcode
+vardef framed (expr text, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ path q;
+ q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+ image(fill q withcolor lightgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p;)
+enddef;
+draw framed("{\bf 亢龙有悔}", 5mm);
+\stopMPcode
+
+\METAPOST\ 的 \type{vardef} 用于定义一个有返回值的宏,宏定义的最后一条语句即返回值,该条语句不可以分号作为结尾。\METAPOST\ 还有其他几种宏定义形式,但是对于大多数作图任务而言,\type{vardef} 已足够应付。
+
+\section[sec:flow-chart]{画一幅简单的流程图}
+
+现在,请跟随我敲击键盘的手指,逐步画一幅描述数字求和过程的流程图,希望这次旅程能让你对 \METAPOST\ 的基本语法有一些全面的认识。
+
+首先,构造一个结点,表示数据输入“”
+
+\starttyping[option=MP]
+string f; f := "\framed[frame=off,align=center]";
+picture a;
+a := image(
+ % 符号 & 用于拼接两个字符串
+ draw textext(f & "{$i\leftarrow 1$\\$s\leftarrow 0$}");
+);
+\stoptyping
+
+然后,用 \in[macro] 节定义的 \type{framed} 宏构造两个运算过程结点:
+
+\starttyping[option=MP]
+numeric offset; offset := 5mm;
+picture b; b := framed(f & "{$s\leftarrow s + i$}", offset);
+picture c; c := framed(f & "{$i\leftarrow i + 1$}", offset);
+\stoptyping
+
+还需要定义一个宏,用它构造菱形的条件判断结点:
+
+\starttyping[option=MP]
+vardef diamond (expr text, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ path q;
+ q := fulldiamond xscaled (w + offset) yscaled (h + offset) shifted center p;
+ image(fill q withcolor darkgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p withcolor white;)
+enddef;
+picture d; d := diamond(f & "{$i > 100$}", 3 * offset);
+\stoptyping
+
+最后,再构造一个结点表示程序输出:
+
+\starttyping[option=MP]
+picture e;
+e := image(draw textext(f & "{$s$}"););
+\stoptyping
+
+保持结点 \type{a} 不动,对 \type{b},\type{c},\type{d} 和 \type{e} 进行定位:
+
+\starttyping[option=MP]
+b := b shifted (0, -2cm);
+c := c shifted (4cm, -4.5cm);
+d := d shifted (0, -4.5cm);
+e := e shifted (0, -7cm);
+\stoptyping
+
+现在可以画出所有结点了,即
+
+\starttyping[option=MP]
+draw a; draw b; draw c; draw d; draw e;
+\stoptyping
+\midaligned{\externalfigure[11-flowchart-1.pdf]}
+\blank
+
+现在开始构造连接各结点的路径。首先构造结点 \type{a} 的底部中点到 \type{b} 的顶部中点的路径:
+
+\starttyping[option=MP]
+path ab;
+ab := .5[llcorner a, lrcorner a] -- .5[ulcorner b, urcorner b];
+\stoptyping
+
+\noindent 其中 \type{llcorner} 用于获取路径或画面实例的最小包围盒的左下角顶点坐标。同理,\type{ulcorner},\type{urcorner} 和 \type{lrcorner} 分别获取包围盒的左上角、右上角和右下角顶点坐标。\type{.5[..., ...]} 用于计算两个点连线的中点。
+
+用类似的方法可以构造其他连接各结点的路径:
+
+\starttyping[option=MP]
+path bd;
+bd := .5[llcorner b, lrcorner b] -- .5[ulcorner d, urcorner d];
+path dc;
+dc := .5[lrcorner d, urcorner d] -- .5[ulcorner c, llcorner c];
+path cb;
+cb := .5[ulcorner c, urcorner c] -- (4cm, -2cm) -- .5[urcorner b, lrcorner b];
+path de;
+de := .5[llcorner d, lrcorner d] -- .5[ulcorner e, urcorner e];
+\stoptyping
+
+画出所有路径:
+
+\starttyping[option=MP]
+drawarrow ab withcolor darkred; drawarrow bd withcolor darkred;
+drawarrow cb withcolor darkred; drawarrow dc withcolor darkred;
+drawarrow de withcolor darkred;
+\stoptyping
+\midaligned{\externalfigure[11-flowchart-2.pdf]}
+\blank
+
+最后一步,路径标注:
+
+\starttyping[option=MP]
+pair no; no := point .4 along dc;
+pair yes; yes := point .5 along de;
+draw thetextext.top("否", no);
+draw thetextext.rt("是", yes);
+\stoptyping
+\midaligned{\externalfigure[11-flowchart-3.pdf]}
+
+\section{代码简化}
+
+\in[sec:flow-chart] 节中用于绘制程序流程图的代码存在许多重复。我们可以尝试使用条件、循环,宏等形式对代码进行简化,但我对它们给出的讲解并不会细致,为的正是走马观花,观其大略。
+
+首先,观察宏 \type{framed} 和 \type{diamond} 的定义,发现二者仅有的不同是前者用 \type{fullsquare} 绘制盒子,后者用 \type{fulldiamond}。因此,可以重新定义一个更为灵活的宏,用于制作结点:
+
+\starttyping[option=MP]
+vardef make_node(expr text, shape, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ if path shape:
+ path q;
+ q := shape xysized (w + offset, h + offset) shifted center p;
+ image(fill q withcolor lightgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p;)
+ else:
+ image(draw p;)
+ fi
+enddef;
+\stoptyping
+
+\noindent 由于上述代码使用了 \METAPOST\ 的条件判断语法,以 \type{path shape} 判断 \type{shape} 是否为路径变量,从而使得 \type{make_node} 能构用于构造有无边框和有边框的结点:
+
+\starttyping[option=MP]
+numeric offset; offset := 5mm;
+string f; f := "\framed[frame=off,align=center]";
+picture a, b, c, d, e;
+a := make_node(f & "{$i\leftarrow 1$\\$s\leftarrow 0$}", none, 0);
+b := make_node(f & "{$s\leftarrow s + i$}", fullsquare, offset);
+c := make_node(f & "{$i\leftarrow i + 1$}", fullsquare, offset);
+d := make_node(f & "{$i > 100$}", fulldiamond, offset);
+e := make_node(f & "{$s$}", none, 0);
+\stoptyping
+
+在 \type{vardef} 宏中使用条件语句时需要注意,通常情况下不要条件结束语句 \type{fi} 后面添加分号,否则 \type{vardef} 宏的返回值会带上这个分号。在其他情境下,通常需要在 \type{fi} 加分号。还要注意,我在 \type{make_node} 宏中使用 \type{xysized} 取代了之前的 \type{xscale} 和 \type{yscale},可直接指定路径或画面的尺寸。之所以如此,是因为我们无法确定 \type{make_node} 宏的第 2 个参数对应的路径是否为标准图形。
+
+在绘制结点和路径时,存在重复使用 \type{draw} 语句的情况,例如
+
+\starttyping[option=MP]
+drawarrow ab withcolor darkred;
+drawarrow bd withcolor darkred;
+drawarrow cb withcolor darkred;
+drawarrow dc withcolor darkred;
+drawarrow de withcolor darkred;
+\stoptyping
+
+\noindent 可使用循环语句予以简化:
+
+\starttyping[option=MP]
+for i = ab, bd, cb, dc, de:
+ draw i withcolor darkred;
+endfor;
+\stoptyping
+
+为了便于获得路径或画面的包围盒的四边中点,定义以下宏:
+
+\starttyping[option=MP]
+vardef left(expr p) = .5[llcorner p, ulcorner p] enddef;
+vardef top(expr p) = .5[ulcorner p, urcorner p] enddef;
+vardef right(expr p) = .5[lrcorner p, urcorner p] enddef;
+vardef bottom(expr p) = .5[llcorner p, lrcorner p] enddef;
+\stoptyping
+
+\noindent 以绘制结点 \type{b} 的四边中点为测试用例
+
+\starttyping[option=MP]
+for i = left(b), top(b), right(b), bottom(b):
+ draw i withpen pensquare scaled 4pt withcolor darkblue;
+endfor;
+\stoptyping
+\leftaligned{\externalfigure[11-flowchart-4.pdf]}
+\blank
+
+基于上述宏,可以更为简洁地构造连接各结点的路径:
+
+\starttyping[option=MP]
+path ab; ab := bottom(a) -- top(b);
+path bd; bd := bottom(b) -- top(d);
+path dc; dc := right(d) -- left(c);
+path cb; cb := top(c) -- (xpart center c, ypart center b) -- right(b);
+path de; de := bottom(d) -- top(e);
+\stoptyping
+
+\noindent \type{center} 是 \METAPOST\ 宏,可用于获取路径或画面的包围盒中心点坐标。\type{xpart} 和 \type{ypart} 也皆为 \METAPOST\ 宏,用于获取点的坐标分量。
+
+路径标注也可以通过定义一个宏予以简化:
+
+\starttyping[option=MP]
+vardef tag(expr p, text, pos, loc) =
+ if loc = "left":
+ thetextext.lft(text, point pos along p)
+ elseif loc = "right":
+ thetextext.rt(text, point pos along p)
+ elseif loc = "top":
+ thetextext.top(text, point pos along p)
+ elseif loc = "bottom":
+ thetextext.bot(text, point pos along p)
+ else
+ thetextext(text, point pos along p)
+ fi
+enddef;
+\stoptyping
+
+\noindent 其用法为
+
+\starttyping[option=MP]
+draw tag(dc, "否", .5, "top");
+draw tag(de, "是", .5, "right");
+\stoptyping
+
+
+\section{层层叠叠}
+
+\ConTeXt\ 有一个以 overlay 为基础的层(Layer)机制。利用层机制,我们可将 \METAPOST\ 图形绘制在页面上的任何一个位置。在学习层之前,我们需要对 overlay 的认识再加深一些。
+
+\subsection{overlay}
+
+实际上 overlay 环境是一个图形「栈」。通过它,可实现图形(包括文字)的叠加。例如,对于以下 \METAPOST\ 图形:
+
+\starttyping[option=MP]
+\startuseMPgraphic{一个矩形}
+path p; p := fullsquare xscaled 4cm yscaled 1cm;
+draw p randomized 3mm
+ withcolor transparent (1, .5 randomized .3, red)
+ withpen pencircle scaled 2pt;
+\stopuseMPgraphic
+\stoptyping
+
+\noindent 上述代码中,\type{transparent (1, .5 randomized .3, red)} 用于构造在一定程度上不确定透明度的红色,透明度在 [0.2, 0.8] 之间,亦即 \type{randomized} 不仅可作用于路径,也可作用于数字或颜色值。由于上述 \METAPOST\ 图形环境包含着随机内容,将其作为插图,在一个 overlay 中多次使用,每次使用都会产生不同的结果,在 overlay 中它们会被叠加到一起:
+
+\starttyping[option=TEX]
+\startoverlay
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+\stopoverlay
+\stoptyping
+\startuseMPgraphic{一个矩形}
+path p; p := fullsquare xscaled 4cm yscaled 1cm;
+draw p randomized 3mm
+ withcolor transparent (0, .5 randomized .25, red)
+ withpen pencircle scaled 2pt;
+\stopuseMPgraphic
+\startoverlay
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+\stopoverlay
+
+之前在为 \type{\framed} 定义 overlay 时,overlay 中只有单个图形,亦即我们并未充分利用 overlay 的特性。以下代码定义的 \type{\framed} 的背景便包含了三个叠加的 overlay:
+
+\starttyping[option=TEX]
+\defineoverlay
+ [叠叠]
+ [\startoverlay
+ {\useMPgraphic{一个矩形}} {\useMPgraphic{一个矩形}} {\useMPgraphic{一个矩形}}
+ \stopoverlay]
+\stoptyping
+\starttyping[option=TEX]
+\defineframed[foo][frame=off,background={叠叠}]
+\foo{迎接光辉岁月}
+\stoptyping
+\defineoverlay
+ [叠叠]
+ [\startoverlay
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ \stopoverlay]
+\defineframed[foo][frame=off,background={叠叠}]
+\dontleavehmode\kern .25em\foo{迎接光辉岁月}
+
+\type{\framed} 的也可以将多个 overlay 作为背景,以下代码与上例等效:
+
+\starttyping[option=TEX]
+\defineoverlay[叠叠-1]{\useMPgraphic{一个矩形}}
+\defineoverlay[叠叠-2]{\useMPgraphic{一个矩形}}
+\defineoverlay[叠叠-3]{\useMPgraphic{一个矩形}}
+\defineframed[foo][frame=off,background={叠叠-1,重叠-2,重叠-3}]
+\foo{迎接光辉岁月}
+\stoptyping
+
+\noindent 这意味着,\type{\framed} 的背景,本质上也是一个 overlay。
+
+基于 overlay,也可为文档设置水印。例如,若在 \type{\starttext} 之前添加以下代码:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{square}
+path p; p := fullsquare xscaled 4cm yscaled 1cm;
+draw p randomized 3mm
+ withcolor transparent (1, .5 randomized .3, red)
+ withpen pencircle scaled 2pt;
+\stopuseMPgraphic
+\defineoverlay[watermark][\useMPgraphic{square}]
+\setupbackgrounds[page][background=watermark]
+\stoptyping
+\midaligned{\externalfigure[11-watermark.png][width=.6\textwidth]}
+
+\subsection[layer]{层}
+
+\ConTeXt\ 的层,本质上是一个可作为全页背景的 overlay,可使用绝对坐标或相对坐标对排版元素在页面上定位放置。例如,定义一个层 foo,在三个不同位置分别放置一幅 \METAPOST\ 图形,并将其作用于当前页面:
+
+\starttyping[option=TEX]
+\definelayer[foo]
+\setlayer[foo][x=0cm,y=0cm]{\useMPgraphic{一个矩形}}
+\setlayer[foo][x=6cm,y=1cm]{\useMPgraphic{一个矩形}}
+\stoptyping
+\starttyping[option=TEX]
+\setlayer
+ [foo]
+ [x=\textwidth,y=2cm,hoffset=-4cm,vhoffset=-.5cm]{\useMPgraphic{一个矩形}}
+\flushlayer[foo]
+\stoptyping
+\definelayer[test]
+\setlayer[test][x=0cm,y=0cm]{\useMPgraphic{一个矩形}}
+\setlayer[test][x=6cm,y=1cm]{\useMPgraphic{一个矩形}}
+\setlayer
+ [test]
+ [x=\textwidth,y=2cm,hoffset=-4cm,voffset=-3cm]{\useMPgraphic{一个矩形}}
+\flushlayer[test]
+\noindent 上述代码定义的层 foo,其坐标原点是层被投放的位置,亦即在本行文字的左上角。$x$ 坐标向右递增,$y$ 坐标向下递增。
+\definelayer[foo]
+\setlayer[foo][x=0cm,y=0cm]{\useMPgraphic{circle}}
+\setlayer[foo][preset=rightbottom]{\useMPgraphic{circle}}
+\setupbackgrounds[page][background=foo]
+
+如果将层的宽度和高度分别设为页面的宽度和高度,并将其设为页面背景,则坐标原点在页面的左上角,且可使用一些预定义位置投放内容。例如以下代码可在当前页面的左上角和右下角位置各放一个圆圈:
+
+\starttyping[option=TEX]
+\startuniqueMPgraphic{circle}
+draw fullcircle scaled 2cm withpen pencircle scaled 2pt withcolor darkgreen;
+\stopuniqueMPgraphic
+\definelayer[foo][width=\paperwidth,height=\paperheight]
+\setlayer[foo][x=0cm,y=0cm]{\uniqueMPgraphic{circle}}
+\setlayer[foo][preset=rightbottom]{\uniqueMPgraphic{circle}}
+\setupbackgrounds[page][background=foo]
+\stoptyping
+\startuniqueMPgraphic{circle}
+draw fullcircle scaled 2cm withpen pencircle scaled 2pt withcolor darkgreen;
+\stopuniqueMPgraphic
+\definelayer[foo][width=\paperwidth,height=\paperheight]
+\setlayer[foo][x=0cm,y=0cm]{\uniqueMPgraphic{circle}}
+\setlayer[foo][preset=rightbottom]{\uniqueMPgraphic{circle}}
+\setupbackgrounds[page][background=foo]
+
+\noindent 需要注意的是,层被使用一次后,便会被清空,因而将其作为页面背景,仅对当前页有效。
+
+通过 \type{preset} 参数可调整层的坐标原点和坐标方向。在上述代码中,\type{rightbottom} 可将层的坐标原点定位于层的右下角,同时 $x$ 坐标方向变为向左递增,$y$ 坐标方向变为向上递增。
+
+\ConTeXt\ 预定义的 \type{preset} 参数值有
+
+\startitemize[packed,columns,five]
+\item lefttop\item righttop\item leftbottom\item rightbottom\item middle\item middletop
+\item middlebottom\item middleleft\item middleright\item lefttopleft\item lefttopright
+\stopitemize
+
+\noindent 使用这些参数值时,要注意坐标方向。例如,若 \type{preset=middleright},其 $x$ 坐标方向变为向左递增,而 $y$ 坐标方向依然保持向上递增,以下代码可予以验证:
+
+\starttyping[option=TEX]
+\definelayer[bar][width=\paperwidth,height=\paperheight]
+\setlayer[bar][preset=middleright]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt withcolor darkred;
+ \stopMPcode
+}
+\stoptyping
+\starttyping[option=TEX]
+\setlayer[bar][preset=middleright,x=2cm,y=2cm]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt
+ withcolor transparent (1, .3, darkred);
+ \stopMPcode
+}
+\setupbackgrounds[page][background=bar]
+\stoptyping
+
+\definelayer[bar][width=\paperwidth,height=\paperheight]
+\setlayer[bar][preset=middleright]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt withcolor darkred;
+ \stopMPcode
+}
+\setlayer[bar][preset=middleright,x=2cm,y=2cm]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt
+ withcolor transparent (1, .3, darkred);
+ \stopMPcode
+}
+\setupbackgrounds[page][background=bar]
+
+\section{小结}
+
+也许你意犹未尽,甚至觉得我语焉不详。切莫怪我,我原本仅仅是介绍如何使用 \METAPOST\ 绘制一个边框受随机扰动的盒子。不过,在大致掌握了本章所述的内容的基础上,关于 \METAPOST\ 更多的知识,特别本章所有你觉得语焉不详之处,皆可阅读它的手册\cite[mpman]以增进认识。此外,\ConTeXt\ 开发者 Hans Hagen 所写的 \MetaFun\ 手册除了讲述 \MetaFun\ 之外也大量介绍了 \METAPOST\ 的基本知识和技巧,该手册在你的 \ConTeXt\ 系统中,使用以下命令查找:
+
+\starttyping
+$ mtxrun --script base --search metafun-s.pdf
+\stoptyping \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/12.tex b/info/context-notes-zh-cn/src/12.tex
new file mode 100644
index 0000000000..cbbc82666f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/12.tex
@@ -0,0 +1,280 @@
+\chapter{幻灯片}
+
+现在你已经领略甚至可能全部掌握了 \ConTeXt\ 常用的的排版元素,若不使用它们而是依然使用 Microsoft PowerPoint 制作幻灯片甚为可惜。如果你已决意使用 \ConTeXt\ 制作幻灯片,你会发现,你几乎不需要再学习多少新的 \ConTeXt\ 命令便可随心所欲地制作清新质朴的幻灯片了。
+
+\section{纸面尺寸}
+
+纸面尺寸是每一页的打印尺寸。至此为止,本文档之前所有的示例,在 \type{TEXpage} 环境里的,纸面尺寸取决于文档内容的多少,而在 \type{text} 环境里的,纸面尺寸默认是 A4,即 $21\,{\rm cm}\times 29.7\,{\rm cm}$,如果你需要将该尺寸换成 A5,只需在样式文件中作以下设定
+
+\starttyping[option=TEX]
+\setuppapersize[A5]
+\stoptyping
+
+制作幻灯片通常不需要太大的纸面尺寸。\ConTeXt\ 提供了 S4 尺寸($400\,{\rm pt}\times 300\,{\rm pt}$),可将其作为幻灯片的纸面尺寸。也可以自己定义纸面尺寸并使用,例如
+
+\starttyping[option=TEX]
+\definepapersize[foo][width=640pt,height=480pt]
+\setuppapersize[foo]
+\stoptyping
+
+实际上,纸面尺寸仅对排版结果的打印很重要,倘若只是在计算机(或投影仪)屏幕上观看排版结果,我们总是可以通过调整正文字体大小去应对过大或过小的纸面尺寸,但是纸面尺寸的宽高比例,对于屏幕非常重要。通常,幻灯片的宽高比应当与屏幕的分辨率相适应为最佳。例如,我的屏幕分辨率是 $1600\times 900$,那么我要制作的幻灯片页面的宽高比也应当是 $16:9$,故而纸面尺寸可设定为
+
+\starttyping[option=TEX]
+\definepapersize[foo][width=640pt,height=360pt]
+\setuppapersize[foo]
+\stoptyping
+
+现在,我们可以制作幻灯片的最原始的形式:
+
+\starttyping[option=TEX]
+\usemodule[visual]
+\definepapersize[foo][width=640pt,height=360pt]
+\setuppapersize[foo]
+\starttext
+\title{\fakewords{3}{5}}
+\fakewords{50}{100}
+\stoptext
+\stoptyping
+\midaligned{\externalfigure[12-slides-1.pdf][width=.6\textwidth,frame=on]}
+
+\section{页面布局}
+
+在 \type{text} 环境之前添加以下代码
+
+\starttyping[option=TEX]
+\showframe
+\stoptyping
+
+\noindent 可在页面上显示当前的页面布局,结果如图 \in[12-layout-1] 所示。可根据图 \in[ConTeXt-layout] 理解页面布局中各区域名称和尺寸参数名称。
+
+\placefigure[here][12-layout-1]{\ConTeXt\ 默认的页面布局}{\externalfigure[12-layout-1.pdf][width=.6\textwidth]}
+
+\placefigure[here][ConTeXt-layout]{页面布局注解}{\externalfigure[ConTeXt-layout.svg][width=.8\textwidth]}
+
+使用 \type{\setlayout} 可对各区域尺寸进行调整,例如让版心居中,即图 \in[ConTeXt-layout] 所示的 \type{width} 和 \type{textheight} 确定的区域居中,因为在默认情况下,它有些偏左。我们已经知道,页面的横向尺寸是 640 pt,按照以下设定便可将问题解决:
+
+\starttyping[option=TEX]
+\setuplayout
+ [leftedge=0pt,leftedgedistance=0pt,
+ leftmargin=80pt,leftmargindistance=10pt,
+ backspace=90pt,
+ rightedge=0pt,rightedgedistance=0pt,
+ rightmargin=80pt,rightmargindistance=10pt,
+ width=460pt]
+\stoptyping
+
+\noindent 上述设定,实现了页面布局中页面总宽度值 640 pt 的分配,但是要注意一点,\type{backspace} 的值等于 4 个以 \type{left} 为前缀的参数值之和,虽然在设定了它的各个分量后,但 \ConTeXt\ 在遇到默认的 \type{backspace} 值与实际的 \type{left...} 参数值之和不符时,会根据 \type{backspace} 值进行页面布局。倘若我们不关心 \type{left...} 参数,即 \ConTeXt\ 默认对页面左侧留白区域默认如何分配,仅需要让 \ConTeXt\ 知道 \type{backspace=90pt},则上述代码可简化为
+
+\starttyping[option=TEX]
+\setuplayout
+ [backspace=90pt,
+ rightedge=0pt,rightedgedistance=0pt,
+ rightmargin=80pt,rightmargindistance=10pt,
+ width=460pt]
+\stoptyping
+
+\noindent 还可以进一步简化,因为 \ConTeXt\ 对 \type{rightedge} 和 \type{rightedgedistance} 赋予的默认值原本就是 0,因此有
+
+\starttyping[option=TEX]
+\setuplayout
+ [backspace=90pt,
+ rightmargin=80pt,rightmargindistance=10pt,
+ width=460pt]
+\stoptyping
+
+如果我们只关心版心的横向居中问题,并不关心左右留白区域的尺寸,最为简单的布局方式是
+
+\starttyping[option=TEX]
+\setuplayout[width=middle]
+\stoptyping
+
+以上设置的是页面横向布局。对于纵向布局,存在与 \type{backspace} 类似的问题,即 \type{topspace} 的设定。\type{tospace} 的值是 \type{top} + \type{topdistance},但是在 \type{\setuplayout} 中只对后者进行设定是无效的,必须先设定 \type{tospace},然后再将其值分配给 \type{top} 和 \type{topdistance},或让 \ConTeXt\ 自动分配。
+
+对于页面纵向布局参数,我要去掉页面顶部和底部留白,只需作以下设定
+
+\starttyping[option=TEX]
+topspace=0pt,height=middle,bottom=0pt
+\stoptyping
+
+\noindent 现在全部的页面布局设定如下:
+
+\starttyping[option=TEX]
+\setuplayout[width=middle,topspace=0pt,height=middle,footer=40pt]
+\stoptyping
+
+完成页面布局设定后,别忘记去掉 \type{text} 环境之前的 \type{\showframe} 语句。此外,我建议你在 \type{text} 环境里动手试验一番 \type{\showlayout}。
+
+\section[slide-fonts]{字体}
+
+在 \ConTeXt\ 使用汉字字体,对此估计你已经颇为熟悉了。在幻灯片中,我使用以下字体:
+
+\starttyping[option=TEX]
+\definefallbackfamily
+ [myfonts][ss][latinmodernsans][range={0x0000-0x0400},force=yes]
+\definefontfamily[myfonts][ss][simhei][bf=simhei,it=kaiti,bi=simhei]
+\setscript[hanzi]
+\setupbodyfont[myfonts,ss,16pt]
+\stoptyping
+
+\noindent 上述字体设定并不完整,尚未设定衬线字族和等宽字族,这些待需要时再予以设定。
+
+\section[regular-style]{常规样式}
+
+首先,消除 \ConTeXt\ 默认在页面顶部设置的页码:
+
+\starttyping[option=TEX]
+\setuppagenumbering[location=]
+\stoptyping
+
+\noindent 幻灯片通常不需要页码,即使需要页码,默认的页码出现的位置和字号皆不合适。
+
+设置行间距为 1.75 倍,即 $1.75\times 16\,{\rm pt}$:
+
+\starttyping[option=TEX]
+\setupinterlinespace[line=28pt]
+\stoptyping
+
+以下代码设置了了第 1 级列表样式,(1)定义一个新的列表项符号,将其设置列表项默认符号;(2)消除列表项之间的额外间距;(3)列表项的符号和内容之间插入 .5em 的间距;(4)列表前后各空 1/4 行,因为在幻灯片中,纵向空间颇为珍贵。
+
+\starttyping[option=MP]
+\startuseMPgraphic{square}
+ path a, b;
+ a := (-.5, 0) -- (-.5, .5) -- (.5, .5);
+ b := (-.5, -.5) -- (.5, -.5) -- (.5, 0);
+ for i = a, b:
+ draw i scaled 10pt withpen pencircle scaled 2pt withcolor darkred;
+ endfor;
+ draw (0, 0) withpen pensquare scaled 4pt withcolor darkred;
+\stopuseMPgraphic
+\stoptyping
+\starttyping[option=TEX]
+\definesymbol[10][{\lower.15ex\hbox{\useMPgraphic{square}}}]
+\setupitemize
+ [1][10,packed]
+ [distance=0.4em,
+ before={\blank[quarterline]},after={\blank[quarterline]}]
+\stoptyping
+\noindent 如果你还需要二级、三级列表,可参照上述设定制作适合的样式。
+
+将幻灯片一级无编号标题和有编号标题均设置为居中对齐,字号级别为 \type{b},颜色为 \type{darkred},前后各空半行:
+
+\starttyping[option=TEX]
+\setuphead
+ [title,chapter]
+ [align=center,style=\ssb,color=darkred,
+ before={\blank[halfline]},after={\blank[halfline]}]
+\stoptyping
+
+现在,在 \type{text} 环境中随便写点什么,察验上述设定是否起效。
+
+\starttyping[option=TEX]
+\starttext
+\startbuffer[foo]
+\chapter{蒙}
+亨。匪我求童蒙,童蒙求我;初筮告,再三渎,渎则不告。利贞。
+\startitemize
+\item 初六,发蒙,利用刑人,用说桎梏;以往吝。
+\item 九二,包蒙,吉。纳妇,吉;子克家。
+\item 六三,勿用取女,见金夫,不有躬,无攸利。
+\item 六四,困蒙,吝。
+\item 六五,童蒙,吉。
+\item 上九,击蒙,不利为寇,利御寇。
+\stopitemize
+\stopbuffer
+\dorecurse{10}{\getbuffer[foo]}
+\stoptext
+\stoptyping
+\midaligned{\externalfigure[12-slides-2.pdf][width=.6\textwidth,frame=on]}
+
+\noindent 上述代码使用了 \ConTeXt\ 的 \type{buffer} 环境和循环宏 \type{\dorecurse}。所谓 \type{buff},是一个可以设定名字的缓存,它可以包含 \ConTeXt\ 排版代码。\type{\getbuffer} 可获得指定名字的缓存中所包含的全部代码。\type{\dorecurse} 可以将其所含内容重复指定次数。上述代码所产生的效果是生成十页内容相同的幻灯片。
+
+截止至此,我们第一次在示例中使用有编号标题。对于 \type{\chapter} 建议在幻灯片样式中增加以下设定,将其数字编号更改为中文编号,另外设置编号不参与对齐,亦即只有标题内容参与对齐:
+
+\starttyping[option=TEX]
+\setuphead[chapter][conversion=chinesenumerals,alternative=inmargin]
+\stoptyping
+\midaligned{\externalfigure[12-slides-3.pdf][width=.6\textwidth,frame=on]}
+\blank
+
+\noindent 如果你还需要二级、三级标题,可参照上述设定制作适合的样式。
+
+\section{页脚}
+
+在 \in[regular-style] 节中,我关闭了 \ConTeXt\ 好意提供的页码。因为我希望页码出现在页面的右下角,且除以总页数,以便清楚幻灯片的进度。
+
+\ConTeXt\ 提供了 \type{\setupfootertexts} 命令,可以在页脚左、右区域放入文字、盒子或图形等内容,同时提供了 \type{\setupfooter} 用于设定页脚区域的文字样式。另外,\type{\userpagenumber} 和 \type{\lastuserpage} 可分别用于获取当前页的页码和最后一页的页码。基于这些命令,便可实现能够表示进度的页码。例如
+
+\starttyping[option=TEX]
+\showframe
+\setupfooter[style=small,color=darkred]
+% 页脚左侧区域为空,右侧区域放置用于表示进度的页码
+\setupfootertexts[margin][][\hss\userpagenumber/\lastuserpage]
+\stoptyping
+\noindent 结果如图 \in[页码进度] 所示。
+\placefigure[here][页码进度]{第 4 页幻灯片}{\externalfigure[12-slides-4.pdf][page=4,width=.6\textwidth,frame=on]}
+
+现在,我们已经有了一个基本可用的幻灯片样式了。倘若使用刚学过的 \METAPOST\ 语言,琢磨一下,给幻灯片增加些许不庸俗又实用的装饰,也许会让人觉得你的幻灯片颇为用心。
+
+\section{进度条}
+
+现在,我们放弃使用当前页码除以总页数的方式表示进度,而是颇为用心地用 \METAPOST\ 在页面底部绘制一个进度条。实际上,用不了几行代码便可实现:
+
+\starttyping[option=MP]
+\startuseMPgraphic{processbar}
+numeric w, n, s, t;
+w := \overlaywidth; n := \lastuserpage;
+s := .5w / (n + 2); t := \userpagenumber - 1;
+path p; p := (fullsquare scaled \overlayheight);
+pickup pencircle scaled 2pt;
+picture q;
+q := image(for i = 0 upto n - 1:
+ p := (p shifted (2s, 0)) randomized .5pt;
+ if t = i: fill p withcolor darkgreen; fi;
+ draw p withcolor transparent(1, 0.5, darkgray);
+ endfor;);
+draw q xsized w;
+\stopuseMPgraphic
+\stoptyping
+
+\starttyping[option=TEX]
+\defineoverlay[process][\useMPgraphic{processbar}]
+\setupfootertexts[{\framed[frame=off,offset=0pt,
+ width=\makeupwidth,height=.8em,
+ background=process,empty=yes]{}}]
+\stoptyping
+
+\noindent 上述代码唯一需要解释之处是,当 \type{\setupfootertexts} 只有一个参数时,该参数的值会被安置在页脚的中间区域。所构造的进度条效果如图 \in[processbar] 所示。
+
+\placefigure[here][processbar]{第 3 页幻灯片}{\externalfigure[slides.pdf][width=.6\textwidth,page=4,frame=on]}
+
+\section{封面和致谢}
+
+幻灯片的封面和最后的致谢页皆可使用 \type{sandardmakeup} 环境制作。例如
+
+\starttyping[option=TEX]
+\startstandardmakeup[align=center]
+\ssd \color[darkred]{如何用 \ConTeXt\ 制作幻灯片}
+\blank[2*line]
+\ssb 李某人
+\blank[line]
+2023 年 3 月 28 日
+\stopstandardmakeup
+\stoptyping
+\noindent 结果如图 \in[cover] 所示。
+
+之所以使用 \type{standardmakeup} 环境,是因为它是完全的空白页,且不会参与页码计数。
+\placefigure[here][cover]{封面}{\externalfigure[slides.pdf][width=.6\textwidth,page=1,frame=on]}
+
+\section{不要太刺眼}
+
+白色背景,往往过于刺眼。我们可将幻灯片背景色设置为浅灰色:
+
+\starttyping[option=TEX]
+\setupbackgrounds[page][backgroundcolor=lightgray,background=color]
+\stoptyping
+\noindent 结果如图 \in[slide-background] 所示。
+\placefigure[here][slide-background]{浅灰色背景}{\externalfigure[slides-finished.pdf][width=.6\textwidth,page=1,frame=on]}
+
+\section{小结}
+
+本章仅介绍了非常基本的幻灯片制作过程。一份精致的幻灯片样式,值得你用心设计,但是切记,不要喧宾夺主。质胜文则野,文胜质则史。孔子说,好的幻灯片样式,总是是文质彬彬的。本文制作的幻灯片示例,路数偏野。
diff --git a/info/context-notes-zh-cn/src/13.tex b/info/context-notes-zh-cn/src/13.tex
new file mode 100644
index 0000000000..9e620179a3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/13.tex
@@ -0,0 +1,271 @@
+\chapter{写一本书?}
+
+至此,你所掌握的关于 \CONTEXT\ 的所有知识,无论是用于撰写书信,随笔,论文,还是制作幻灯片,皆已游刃有余。现在再掌握 \ConTeXt\ 对文档逻辑结构的划分以及为文档添加目录等功能,便可写书了,这是 \TEX\ 系统一直以来最为擅长的事情,也是 \TEX\ 系统为何复杂到令很多人畏惧的原因,他们从未想过自己有一天会写一本书。
+
+\section{书的内容结构}
+
+一本书,通常是由一组文章构成的,可分为序、前言、目录、正文篇章、跋、参考文献、索引、附录等内容,再加上封面,衬页、扉页等页面。对于书籍制作,\CONTEXT\ 对 \type{text} 环境进行了更为细致的划分:
+
+\starttyping[option=TEX]
+\starttext
+\startfrontmatter
+% 封面、扉页、序、前言、目录等内容
+\stopfrontmatter
+\startbodymatter
+% 正文篇章
+\stopbodymatter
+\startbackmatter
+% 跋,参考文献列表、索引等内容
+\stopbackmatter
+\startappendices
+% 附录
+\stopappendices
+\stoptext
+\stoptyping
+
+\section{文件结构}
+
+将一本书的内容全部放在一份 \CONTEXT\ 源文件中并不违法,但是数十万甚至上百万字的内容,无论是撰写还是修改必定极为不便。通常是将按照内容结构,将每部分内容制作为单独的 \type{.tex} 源文件,然后使用 \type{\input} 载入到主文件中。例如,主文档的主文件内容如下:
+
+\starttyping[option=TEX]
+\starttext
+\startfrontmatter
+\input cover % cover.tex:封面
+\input preface % preface.tex:序
+\stopfrontmatter
+\stoptyping
+\starttyping[option=TEX]
+\startbodymatter
+\input 01 % 01.tex:第一章
+\input 02 % 02.tex:第二章
+% ... ...
+\stopbodymatter
+\startbackmatter
+\title{参考文献}
+\placelistofpublications % 参考文献列表
+\stopbackmatter
+\startappendices
+\null % 暂时为空
+\stopappendices
+\stoptext
+\stoptyping
+
+\noindent 主文件 \type{\input} 的所有文件皆与主文件在同一目录。
+
+\section{样式}
+
+原则上,书籍的所有排版样式皆应在单独的文件中设定,然后使用 \type{\input} 或 \type{\environment} 命令在 \type{text} 环境之前将其载入。例如
+
+\starttyping[option=TEX]
+\environment book-style % 载入book-style.tex
+\starttext
+% ... ... ...
+\stoptext
+\stoptyping
+
+\section{目录}
+
+\type{\placecontent} 可将全文章节标题及其所在页码等信息汇总为一个列表,以方便读者查阅。例如
+
+\starttyping[option=TEX]
+\usemodule[visual]
+\starttext
+\title{\fakewords{3}{5}}
+\placecontent
+\section{\fakewords{3}{5}}
+... ... ...
+\section{\fakewords{3}{5}}
+... ... ...
+\stoptext
+\stoptyping
+\midaligned{%
+ \clip[width=\textwidth,height=6cm,voffset=3cm]{%
+ \externalfigure[13-toc.pdf][width=\textwidth,frame=on]%
+ }%
+}
+
+使用 \type{\setupcombinedlist} 可设定目录样式,例如设定可在目录中出现的标题级别以及列表样式。若得到常见的目录样式,只需作以下设定:
+
+\starttyping[option=TEX]
+\setupcombinedlist[content][alternative=c]
+\stoptyping
+\midaligned{%
+ \clip[width=\textwidth,height=6cm,voffset=3cm]{%
+ \externalfigure[13-toc-2.pdf][width=\textwidth,frame=on]%
+ }%
+}
+\blank
+\noindent 目录列表样式参数 \type{alternative} 有 \type{a},\type{b},\type{c},\type{d} 四个值可选,默认是 \type{b}。本文档目录使用的是 \type{d}。
+
+\type{\setupcombinedlist} 亦可用于指定可出现在目录列表中的标题级别,例如
+
+\starttyping[option=TEX]
+\setupcombinedlist[content][list={chapter,section}]
+\stoptyping
+
+注意,当 \type{\placecontent} 出现在 \type{\chapter} 之后时,生成的目录仅针对该章之内的各节。若是写书,需将 \type{\placecontent} 放在 \type{frontmatter} 环境,例如:
+
+\starttyping[option=TEX]
+\startfrontmatter
+\title{目录}
+\placecontent
+\stopfrontmatter
+\stoptyping
+
+\noindent 可对全篇被列入目录列表的章节生成目录。
+
+使用 \type{\setuplist} 可对出现在目录列表中相应级别的标题样式分别予以设定,例如
+
+\starttyping[option=TEX]
+\setuplist[chapter]
+ [alternative=a,
+ before={\blank[halfline]},after={\blank[halfline]},style=bold]
+\setuplist[section]
+ [alternative=d,style=normal,pagestyle=smallbold]
+\stoptyping
+
+\section{让无编号标题进入目录}
+
+\CONTEXT\ 默认不允许无编号标题出现在目录中,但是倘若对无编号标题,例如 \type{\title} 作以下设定
+
+\starttyping[option=TEX]
+\setuphead[title][incrementnumber=list]
+\stoptyping
+
+\noindent 之后便可将 \type{\title} 添加到目录列表,即
+
+\starttyping[option=TEX]
+\setupcombinedlist[content][list={title,chapter,section}]
+\stoptyping
+
+需要注意的是,在 \type{frontmatter} 环境中放置目录列表时,若使用以下代码
+
+\starttyping[option=TEX]
+\startfrontmatter
+\title{目录}
+\placecontent
+\stopfrontmatter
+\stoptyping
+
+\noindent 由于此时 \type{\title} 已被列入目录列表,因此 \type{\title{目录}} 本身会出现在目录列表中。为避免这一问题,需要为目录页单独定义一个标题。\CONTEXT\ 支持我们定义自己的标题,例如
+
+\starttyping[option=TEX]
+\definehead[TOC][title]
+\stoptyping
+
+\noindent 定义了一个新的标题 \type{\TOC},它与 \type{\title} 的样式相同。在 \type{frontmatter} 环境中使用 \type{\TOC}:
+
+\starttyping[option=TEX]
+\startfrontmatter
+\TOC{目录}
+\placecontent
+\stopfrontmatter
+\stoptyping
+
+\noindent 由于我们并未将 \type{\TOC} 列入目录列表,因此上述问题得以解决。
+
+\section{书签}
+
+对于内容较多的 PDF 文档,提供书签(Bookmark)可更加便于他人阅读。书签通常显示于 PDF 阅读器的侧栏,如图 \in[13-bookmarks] 所示,点击某个书签便可跳转至其关联的页面。
+
+\placefigure[here][13-bookmarks]{PDF 书签}{\externalfigure[13-bookmarks.png][width=.6\textwidth]}
+
+为 \ConTeXt\ 生成的 PDF 文件制作书签,非常简单,只需在样式文件中添加以下语句,
+
+\starttyping[option=TEX]
+\setupinteraction[state=start,focus=standard]
+\setupinteractionscreen[option=bookmark]
+\placebookmarks[title,chapter,section][title,chapter]
+\stoptyping
+
+\noindent 其中,\type{\setupinteraction} 用于开启 PDF 的用户交互特性。\type{\setupinteractionscreen} 用于设定 PDF 文件被阅读器打开后,以何种形式如何呈现在屏幕上,若其 \type{option} 值为 \type{bookmark},则文件打开后,会自动开启阅读器的侧边栏并显示书签;若设置 \type{option} 为 \type{max},则文件在被打开后会全屏显示。上述 \type{\placebookmarks} 语句的用途是设置可出现在书签栏的标题级别,且仅允许 \type{\title} 和 \type{\chapter} 级别的标题,其子标题列表可被展开。
+
+需要注意的是,\CONTEXT\ 同样默认无编号标题不被列入书签,但是倘若做以下设定
+
+\starttyping[option=TEX]
+\setuphead[title][incrementnumber=list]
+\stoptyping
+
+\noindent 则 \type{\title} 亦可出现在书签列表中。
+
+还需要注意一点, 书签功能取决于你所用的 PDF 阅读器是否支持。此外,你的 PDF 阅读器可能会将 \ConTeXt\ 生成的书签视为索引(Index),而其本身则提供了另一个叫作书签的功能,允许用户手动在侧边栏为文档的某一页建立链接,与 \CONTEXT\ 的书签原理相同。
+
+\section[reference]{引用}
+
+在本文档的插图、表格、数学公式等章节中,已简略介绍了 \CONTEXT\ 引用的用法。\CONTEXT\ 的标题和列表也支持引用。例如,本节的标题对应的排版命令是
+
+\starttyping[option=TEX]
+\section[reference]{引用}
+\stoptyping
+
+可以在文章几乎任何一个位置,像下面这样引用本节:
+
+\starttyping[option=TEX]
+我在 \at[reference] 页 \in[reference] 节\about[reference]中的一些内容。
+\stoptyping
+
+\noindent 结果为
+\blank[line]
+\blueframed{我引用了本文档 \at[reference] 页 \in[reference] 节\about[reference]中的一些内容。}
+\blank[line]
+
+使用 \type{\textreference} 可在文档几乎任何位置插入引用。例如
+
+\starttyping[option=TEX]
+我在此处放置了一个引用\textreference[myref]{一个引用}。
+\stoptyping
+\blank[line]
+\blueframed{我在此处放置了一个引用\textreference[myref]{一个引用}。}
+\blank[line]
+\noindent 注意,一个引用,其内容是不会显示在排版结果中的。然后在文档某处使用该引用,
+
+\starttyping[option=TEX]
+我在此处使用一个引用,它是 \at[myref] 的「\in[myref]」。
+\stoptyping
+\blank[line]
+\blueframed{我在此处使用一个引用,它是第 \at[myref] 页的「\in[myref]」。}
+\blank[line]
+
+如果你希望一个引用,其内容不仅出现在排版结果中,且想给他加个外框,只需定义一个宏来帮助你实现这一需求。例如
+
+\starttyping[option=TEX]
+\def\framedref[#1]#2{\inframed{#2}\textreference[#1]{#2}}
+\stoptyping
+\starttyping[option=TEX]
+我在此处放置了一个引用\textreference[myref]{一个引用}。
+\stoptyping
+\blank[line]
+\def\framedref[#1]#2{\inframed{#2}\textreference[#1]{#2}}
+\blueframed{我在此处放置了\framedref[myref]{一个引用}。}
+\blank[line]
+
+\section{索引}
+
+索引通常放在 \type{backmatter} 环境,即附在书的正文之后,
+
+\starttyping[option=TEX]
+\startbackmatter
+\title{索引}
+\placeindex
+\stopbackmatter
+\stoptyping
+
+\noindent 以便检索在正文某页检索一些关键词这些关键词在正文中需由 \type{\index} 给出。例如
+
+\starttyping[option=TEX]
+我在此演示 \type{\placeindex}\index[placeindex]{\type{\placeindex}}
+和 \type{\index}\index[index]{\type{\index}} 的用法。
+\stoptyping
+\blank[line]
+\blueframed{我在此演示 \type{\placeindex}\index[placeindex]{\type{\placeindex}} 和 \type{\index}\index[index]{\type{\index}} 的用法。}
+\blank[line]
+
+\noindent \tex{placeindex} 产生的结果为
+
+\blank[line]
+\blueframed{\placeindex}
+\blank[line]
+
+\section{小结}
+
+用 \CONTEXT\ 排版一本书并不难,难的是书该如何写。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/Makefile b/info/context-notes-zh-cn/src/Makefile
deleted file mode 100644
index f49149b0dc..0000000000
--- a/info/context-notes-zh-cn/src/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-PRODUCT=ctxnotes
-READER=evince
-
-all:
- context --mode=screen $(PRODUCT)
-
-print:
- context --mode=print $(PRODUCT)
- context --purge
-
-bib:
- context --mode=screen --once $(PRODUCT) \
- && bibtex $(PRODUCT) \
- && context --mode=screen $(PRODUCT)
-
-pdf:
- $(READER) $(PRODUCT).pdf &
-
-clean:
- context --purge
- rm -f *.aux *.bbl *.blg
- rm -f *.pdf
diff --git a/info/context-notes-zh-cn/src/basis.tex b/info/context-notes-zh-cn/src/basis.tex
index 6d1e46590b..ab0980d470 100644
--- a/info/context-notes-zh-cn/src/basis.tex
+++ b/info/context-notes-zh-cn/src/basis.tex
@@ -1,242 +1,10 @@
-\startcomponent basis
-\product ctxnotes
-
\chapter{让 \CONTEXT\ 工作起来}
-\bookmark{让 ConTeXt 工作起来}
-
-目前,只有 \ConTeXt\ Minimals(\ConTeXt\ 最小包)提供了最新的 ConTeXt 版本并且可以使之与系统所安装的其它 TeX 发行版友好共存。本章介绍 \ConTeXt\ Minimals 的安装、基本使用以及 MkIV 的中文支持等知识,目的在于让你多快好省地拥有一个 \CONTEXT\ 文档编译环境。本章的最后介绍了一些初学者应当阅读的文档以及一些学习资源。
-
-\section[installmkiv]{\ConTeXt\ Minimals}
-\bookmark{ConTeXt Minimals}
-
-首先,在本地机器上创建一个 \ConTeXt\ 安装目录,该目录的位置与名字视个人嗜好而定,我喜欢用 \type{/opt/context}。为了不引起混乱,下文提及 \ConTeXt\ 安装目录皆以如下设定的 Bash 变量 \type{$CTXDIR} 代替:
-
-\starttyping
-$ export CTXDIR=/opt/context
-$ mkdir -p $CTXDIR
-\stoptyping
-
-然后下载 ConTeXt 最小包安装脚本,将其存放于 \type{$CTXDIR} 目录并执行:
-
-\starttyping
-$ cd $CTXDIR
-$ rsync -ptv \
-rsync://contextgarden.net/minimals/setup/linux/first-setup.sh .
-$ ./first-setup.sh
-\stoptyping
-
-由于安装脚本需要联网下载 \ConTeXt\ Minimals,需要等待一段时间才可以完成安装。这段时间,你可以做点自己喜欢做的事情。
-
-\ConTeXt\ Minimals 安装完毕后,就开始进行 \ConTeXt\ 运行环境的配置,这需要设置许多的系统环境变量。不过莫要担心,\ConTeXt\ Minimals 提供了一个配置脚本,使用 source(亦称点命令)命令加载该文件即可完成所有 \ConTeXt\ 所需环境变量的设定。
-
-\starttyping
-$ . $CTXDIR/tex/setuptex $CTXDIR/tex
-\stoptyping
-
-上述命令行可将 setuptex 配置文件中的诸多环境变量的设定在当前终端环境中保持有效性。这意味着,每次使用 \ConTeXt\ Minimals,可以开一个终端窗口,然后执行一次上述命令,之后就可以在该终端中使用 \ConTeXt\ 环境。如果需要使用系统所安装的其它 \TeX\ 发行套件,可另建一个未开启 \ConTeXt\ 环境的终端即可。
-
-虽然每次启用 \ConTeXt\ Minimals 所输入的命令行并不复杂,但是尽力让命令行简约且易于输入一向是 Unix-like 系统的光荣传统,因此我在 \type{$HOME/myscript} 目录下建立了一个配置文件 ctx,该文件内容如下:
-
-\starttyping
-export TEXDIR=/opt/context/tex
-source $TEXDIR/setuptex $TEXDIR
-export OSFONTDIR="/usr/share/fonts/{adobe,winfonts}"
-\stoptyping
-
-然后将 \type{$HOME/myscript} 目录添加到系统环境变量 \type{$PATH} 并使之生效:
-
-\starttyping
-$ echo "PATH=$PATH:$HOME/myscript" >> ~/.bashrc
-$ . ~/.bashrc
-\stoptyping
-
-这样,以后每次启用 \ConTeXt\ 环境时,只需执行以下命令:
-
-\starttyping
-$ . ctx
-\stoptyping
-
-注意,在 ctx 文件中设置了 \type{$OSFONTDIR} 变量,该变量的意义在下一章讲述 MkIV 中文排版时会进行详细阐述,现在可不予理会。
-
-使用 \type{ctxtools} 命令并配合 \type{-updatecontext} 参数可对所安装的 \ConTeXt\ Minimals 进行在线升级,不过前提是要建立 \type{$TEXMFLOCAL} 目录。因为 \ConTeXt\ Minimals 升级包是一个 zip 压缩档,升级时会将该压缩档下载到 \type{$TEXMFLOCAL} 目录并进行解压缩。
-
-\CONTEXT\ Minimals 的升级很简单,那就是再重装一遍。
-
-\section{若需要 \TeX\ 与 \LaTeX}
-\bookmark{若需要 TeX 与 LaTeX}
-
-\ConTeXt\ Minimals 可以与其它 \TeX\ 发行套件友好共存。最近,我打算使用 \XeTeX\ + plain \TeX\ 格式写一份文档,但是 \ConTeXt\ Minimals 默认未提供 \XeTeX\ 的 plain \TeX\ 格式并且缺乏一些 plain \TEX\ 必须的字体,因此基于 \XeTeX\ 的 plain \TEX\ 及 \LATEX\ 环境均无法正常运行。对于这个问题,我能想到的比较轻省的解决方案是安装一个 \TeX\ Live 2008,使用它所包含的 plain \TeX\ 环境,另外再安装一个 \LATEX\ 环境以备不时之需。
-
-首先从清华的 CTAN 镜像 FTP 服务器下载 \TEX\ Live 2008 的网络安装程序并解包:
-
-\starttyping
-$ wget ftp://ftp.tsinghua.edu.cn/mirror/CTAN/systems/texlive/\
-tlnet/tldev/install-tl-unx.tar.gz
-$ tar -zxvf install-tl-unx.tar.gz && cd install-tl-unx
-\stoptyping
-
-\TEX\ Live 2008 的安装程序兼顾了不同用户的软件使用习惯,同时提供了文本界面与图形界面两种安装模式:
-
-\starttyping
-$ install-tl # 文本界面安装
-$ install-tl --gui # 图形界面安装模式
-\stoptyping
-
-\type{install-tl} 程序在运行时会自动访问预设定的 CTAN 镜像 FTP 服务器,如果连接失败,安装过程也就终止了。对于国内用户,可以通过 \type{--location} 参数将 CTAN 镜像服务器设为清华的 FTP:
-
-\starttyping
-$ install-tl --location=ftp://ftp.tsinghua.edu.cn/\
-mirror/CTAN/systems/texlive/tlnet/tldev
-\stoptyping
-
-如果网速足够,那么应当很快就可以在终端中显示文本安装界面了,具体的安装过程应当参考 \TEX\ Live 2008 中文指南\footnote{http://tug.org/texlive/doc/texlive-zh-cn/}。\TEX\ Live 2008 成功安装后,只要不在终端中开启 \ConTeXt\ Minimals 的 \ConTeXt\ 环境,就不会影响它的使用。
-
-\section[helloworld]{Hello World}
-
-将下面代码使用文本编辑器保存为 hello-world.tex 文件,这就是一个最简单的 \ConTeXt\ 源文档。
-
-\starttyping
-% hello-world.tex
-\starttext
-Hello World.
-\stoptext
-\stoptyping
-
-我们可以在终端中使用 \type{context} 命令将这份源文档编译、输出为 PDF 文档:
-
-\starttyping
-$ . ctx
-$ context hello-world
-\stoptyping
-
-上述命令将在当前目录产生 hello-world.pdf 文档,使用 PDF 阅读器查看它,可以看到文档中除了“Hello World.”字串之外,就剩下一个置于顶端的页码了。
-
-在编译 hello-world.tex 时,生成了许多中间文件,如果你不喜欢看到它们,可以使用以下命令将其清除:
-
-\starttyping
-$ context --purge
-\stoptyping
-
-\section{\TeX\ 与 \ConTeXt\ 的关系}
-\bookmark{TeX 与 ConTeXt 的关系}
-
-在上一节 hello-world.tex 文档的编译过程中,我们可以获得的直观认识如下图所示:
-
-\setupFLOWcharts[nx=3,ny=1,
- dx=2\bodyfontsize,dy=4\bodyfontsize,
- width=8\bodyfontsize, height=4\bodyfontsize,
- maxwidth=.8\textwidth]
-
-\startFLOWchart[context-flow]
-\startFLOWcell
-\name{texfile}\location{1,1}\shape{singledocument}
-\text{\ConTeXt\ 源文档}
-\connection[rl]{context}
-\stopFLOWcell
-
-\startFLOWcell
-\name{context}\location{2,1}\shape{}
-\text{\ConTeXt\ 程序}
-\connection[rl]{pdf}
-\stopFLOWcell
-
-\startFLOWcell
-\name{pdf}\location{3,1}\shape{singledocument}
-\text{PDF 文档}
-\stopFLOWcell
-
-\stopFLOWchart
-
-\placefigure[force][fig:context-flow]{\ConTeXt\ 文档编译过程的直观认识}
- {\FLOWchart[context-flow]}
-
-实际上是没有所谓的“\ConTeXt\ 程序”的,真正实现 \TeX\ 文档编译的的是 \TeX\ 引擎。在 \ConTeXt\ MkIV 中,\type{context} 程序只是一个脚本文件,只有一行代码:
-
-\starttyping
-mtxrun --script context "$@"
-\stoptyping
-
-\type{mtxrun} 是一个 Lua 脚本,它需要调用 Lua\TEX\ 引擎并读入 cont-en.fmt 文件才可以对 \ConTeXt\ 文档进行编译处理。cont-en.fmt 是 \ConTeXt\ 的格式文件,可以将它理解为一本词典,当编译 \ConTeXt\ 文档时,Lua\TeX\ 引擎遇到文档中的排版命令时,就去 cont-en.fmt 文件中查找这些排版命令的定义并依命行事。可还记得 2.3 节中使用 \type{context --make} 命令么?这个命令就是用于产生 cont-en.fmt 之类的格式文件的。这就是为什么我们经常说 \ConTeXt\ 或 \LaTeX\ 是 \TeX\ 的一种格式的原因。
-
-\section{让 MkIV 讲中文}
-
-要让 \ConTeXt\ MkIV 讲中文,首先要让它能够找到中文字体所在。还记得 \in{}[installmkiv]\ 节中我们写的那个 \ConTeXt\ 环境配置文件 ctx 么?其中有一行代码如下:
-
-\starttyping
-export OSFONTDIR="/usr/share/fonts/{adobe,winfonts}"
-\stoptyping
-
-\type{$OSFONTDIR} 可以让 Lua\TeX\ 知道系统所安装的字体所在。
-
-我在 \type{/usr/share/fonts/adobe} 目录中存放了 4 款 Adobe OTF 中文字体,在 \type{/usr/share/fonts/winfonts} 目录中存放了一些从 Windows XP 中复制过来的一些中文字体。
-
-有了中文字体,还需要一份字体配置文件。\ConTeXt\ 提供了一套比较高级的字体机制,叫做 Typescript,它可以设置三种字型:衬线 (Serif)、非衬线 (Sans)与等宽 (Mono) 字型。这三种字型均为英文字体机制中的术语,就像我们中文字体有楷体、宋体、黑体等类型一样。\ConTeXt\ 的 Typescript 机制牵涉太多的字体知识,对它们的详细描述已超出我之所能,这里仅给出一份我照猫画虎搞出来的的一份字体配置文件——\type{zhfonts.tex},它是随这份文档一起发布的,只需将它放到 \type{TEX} 目录树中,譬如:
-
-\startniceTEX
-$ mkdir -p $TEXMFLLOCAL/tex/context/third
-$ mv zhfonts.tex $TEXMFLLOCAL/tex/context/third
-\stopniceTEX
-
-\noindent 然后执行:
-
-\starttyping
-$ context --generate
-\stoptyping
-
-\noindent 刷新一下文档数据库,就可以使用该字体配置文件了。
-
-在 zhfonts.tex 中,我使用了 Adobe 宋、黑、楷体作为主要的中文字体。如果你没有这些字体,可以将其替换为其它 TTF 或 OpenType 中文字体,但是要保证 Lua\TEX\ 可以找到它们。由于中文字体所包含的英文字形通常比较丑陋,因此在 zhfonts.tex 文件中利用了 MkIV 的混合字体机制,将 lmroman、lmsans、lmmono 以及它们的粗体的英文字形区域分别注入到相应的中文字体中。
-
-现在,将 \in[helloworld] 节中的 hello-world.tex 文档修改为:
-
-\startTEX
-\usetypescriptfile[zhfonts]
-\usetypescript[myfont]
-\setupbodyfont[myfont,rm,11pt]
-\starttext
-世界,你好!
-\stoptext
-\stopTEX
-
-重新编译这份文档,即可得到中文版的 hello-world.pdf 文档。
-
-\tex{usetypescriptfile} 命令用于加载 typescript 文件,要求 typescript 文件与 helloworld.tex 文件均在同一目录或者前者位于 \ConTeXt\ Minimals 的某个可以检索到的目录中。
-
-\tex{usetypescript} 命令表示使用 typescript 文件中定义的 typeface。所谓 typeface,就是一个字型族。在 zhfonts.tex 文件中所定义的 typeface为 myfont,该字型族包含了 3 种字型:Serif、Sans 与 Mono。\tex{setupbodyfont} 命令是用于定义 hello-world.tex 文档的默认字体,也就是正文字体,这里是将 myfont 字型族中的 Serif 字型作为文档的默认字体,并且默认尺寸为 11pt。
-
-现在,MkIV 基本上已经解决了中文排版问题,我们应当为此感谢 Hans、Taco 等开发者的辛勤劳动。另外,还要感谢 Wang Yue、SDE 诸位同学,他们提出了许多有关 \ConTeXt\ 中文支持的要求并报告了许多 bug。特别是 Wang Yue 同学,自去年始,一直在关注 Lua\TeX\ \& \ConTeXt\ MkIV 等项目的发展,并积极地与开发者们沟通,使得开发者认真考虑了有关中文处理的诸多需求。
-
-\section{开始 \ConTeXt\ 的旅程}
-\bookmark{开始 ConTeXt 的旅程}
-
-\ConTeXt\ MkIV 中文支持的成功尝试,奠定了我开始学习 \ConTeXt\ 的信心。\CONTEXT\ 的文档非常丰富,不过大部分都是英文的,这多少让我有点沮丧。虽然读英文文档不是什么大障碍,但是总没有中文文档来得亲切。现状如此,只好忍了。
-
-目前,\ConTeXt\ 的大多数文档是针对 MkII 版本的,除了 MkIV 手册之外,似乎再也没有其它文档来讲述 MkIV 的应用。不过,由于 MkIV 改变的主要是 \CONTEXT\ 底层,用户界面基本上没有改变,对于中文用户而言,基本上只需将 MkII 的中文字体支持机制改换为 MkIV 的即可,这样原来适用于 MkII 的文档基本上也适用于 MkIV。现在,\ConTeXt\ 项目组现在正在组织进行新的 \ConTeXt\ 文档撰写,这个工程非常浩大,其意在于将这么多年零散的文档汇总到一起,并追随 \CONTEXT\ 的最新进展,估计要到明年方能竣工。远水解不了近渴,现在学习 \CONTEXT,还是要从 MKII 版本的文档开始。
-
-作为初学者,{\it\ConTeXt, an excursion}\cite[ms-cb-en]文档是官方制作的新手入门必读文档。\ConTeXt\ 的官方文档通常是分为屏幕阅读版本与打印版本,我读的 {\it\ConTeXt, an excursion} 是屏幕阅读版本,第一次打开这份文档,就惊愕了一下,没想到 PDF 文档居然可以做得如此精致。内容浅显易懂,文档版面美观,我觉得 \ConTeXt\ 是非常礼遇初学者的。
-
-当读过 {\it\ConTeXt, an excursion} 时\footnote{实际上我是用到什么就去看什么,现在大概看了有一半内容。},就可以使用 \ConTeXt\ 排版手头上正在写作的一些文档,其实这才是真正的开始学习 \CONTEXT。对于其它任何一种 \TEX\ 都是如此,只有真正开始使用它,才有可能掌握它。一开始,文档的版面丑点没关系,毕竟内容是最重要的。随着对 \CONTEXT\ 的认识日益深刻,你的文档便会愈发具备可观赏性。在实践的过程中,\CONTEXT\ 用户手册\cite[cont-eni]是主要的参考书。当你遇到不解的命令/参数,或者想了解一些命令更多的细节,都可以使用 PDF 阅读器打开 \CONTEXT\ 用户手册,利用阅读器提供的查询功能找到你所感兴趣的内容,并掌握它们。
-
-字体在排版中是决定版面美观的重要因素,阅读 \CONTEXT\ 新手册中已经基本完工的 {\it fonts}\mycite{fonts} 部分,便可以理解 \CONTEXT\ 的字体机制,你将获得可以在 \CONTEXT\ 自如使用你喜欢的字体的能力;同时,我制作的那份 MkIV 中文字体配置文件也不再会令你感到困惑。
-
-若使用 \ConTeXt\ 排版时存在矢量图绘制需求,推荐使用 \METAPOST。不过,在 \ConTeXt\ 中,我们要面对的不是 \METAPOST,而是 \METAFUN\mycite{metafun},后者对前者进行了封装,实现了 \CONTEXT\ 与 \METAPOST\ 的完美结合。{\it\ConTeXt, an excursion} 文档版面之所以美观,是因为在排版中大量使用 \METAFUN 来美化版面布局的结果。
-
-若你对 \ConTeXt\ 已经有所认识,那么 \ConTeXt\ Wiki\footnote{\type{http://wiki.contextgarden.net/Main_Page}} 是非常好的网络学习资源。若有能力,可以在该 Wiki 上与整个世界的 \ConTeXt\ 用户分享你的学习经验;若暂时没能力,可以选择潜水。目前,我是这个 Wiki 众多潜水员中的一名。
-
-目前,\CONTEXT\ MkIV 也许还存在许多的 bug,当你发现它们,应当提交 \CONTEXT\ 邮件列表\footnote{http://archive.contextgarden.net/list/context.en.html}中;当你使用 \CONTEXT\ 时有不解的问题,也可以去邮件列表中寻找答案。说来惭愧,我英文不好,并且不熟悉邮件列表的交流规则,所以一直都胆怯于邮件列表上的交流。
-
-介绍了以上学习资源之后,我开始如释重负。以后再在这份文档上折腾,心里就不会总是想着自己在写一本 \CONTEXT\ 教程,那样子很累,并且很容易丧失乐趣。这份笔记的真正的意图是自我备忘,将它投放到网络上,是希望我的经验能够对他人有所帮助并且能够一同学习、讨论 \CONTEXT\ 排版知识。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “序幕有些长”,介绍了 \TEX\ 与 \CONTEXT\ MkIV 的背景知识:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/10/zhfonts-usage.23740.html}
-\item “这就是 \CONTEXT\ Minimals”,讲述了 \CONTEXT\ Minimals 的安装方法:\crlf\hbox{\tt http://liyanrui.is-programmer.com/2009/10/7/this-is-context-minimals.11971.html}
+\startitemize[columns,n,joinedup]
+\item a
+\item b
+\stopitemize
+\startitemize[continue,columns,joinedup]
+\item a
+\item b
\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/bib-style.tex b/info/context-notes-zh-cn/src/bib-style.tex
new file mode 100644
index 0000000000..3aac77b6dc
--- /dev/null
+++ b/info/context-notes-zh-cn/src/bib-style.tex
@@ -0,0 +1,80 @@
+\setupbtxlist
+ [default]
+ [starter={[},stopper={]},
+ width=fit,
+ distance=.5em,
+ before={\blank[.25em]},
+ after={\blank[.25em]},]
+
+\setupbtx
+ [default:list:author]
+ [authorconversion=invertedshort,
+ separator:invertedinitials=\btxspace,
+ otherstext={\nospace,et al},
+ stopper:initials=\btxspace,
+ separator:names:2={\nospace,}]
+\setupbtx[default:list:journal][style=normal]
+
+\definebtx
+ [default:title:online]
+ [default:list:title]
+
+\startsetups btx:default:list:article
+ \texdefinition{btx:default:author}\nospace.
+ \texdefinition{btx:default:title} [J].
+ \texdefinition{btx:default:journal}.
+\stopsetups
+
+\startsetups btx:default:list:online
+ \texdefinition{btx:default:author}\nospace.
+ \texdefinition{btx:default:title}.
+ \texdefinition{btx:default:url},
+ \btxdoif {year} {
+ \btxflush{year}.
+ }
+\stopsetups
+
+\starttexdefinition btx:default:url
+ \goto{\hyphenatedurl{\btxflush{url}}}
+ [url(\btxflush{url})]
+\stoptexdefinition
+
+\starttexdefinition btx:default:author
+ \btxflush{author}
+\stoptexdefinition
+
+\starttexdefinition btx:default:title
+ \btxflush{title}
+\stoptexdefinition
+
+\starttexdefinition btx:default:journal
+ \btxdoif {journal} {
+ \btxstartstyleandcolor [default:list:journal]
+ \btxusecommand [default:list:journal] {
+ \btxflush{journal},
+ }
+ \btxstopstyleandcolor
+ \btxdoif {year} {
+ \btxflush{year},\nospace
+ }
+ \btxdoifelse {volume} {
+ \btxspace
+ \btxflush{volume}
+ \btxdoif {number} {
+ \ignorespaces % brrr
+ \btxleftparenthesis
+ \btxflush{number}
+ \btxrightparenthesis
+ }
+ } {
+ \btxdoif {number} {
+ \btxlabeltext{default:number}
+ \btxspace
+ \btxflush{number}
+ }
+ }
+ \btxdoif {pages} {
+ \nospace:\kern-.1em\btxflush{pages}
+ }
+ }
+\stoptexdefinition \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/bibl-lyr.tex b/info/context-notes-zh-cn/src/bibl-lyr.tex
deleted file mode 100644
index 6e30f43781..0000000000
--- a/info/context-notes-zh-cn/src/bibl-lyr.tex
+++ /dev/null
@@ -1,77 +0,0 @@
-\setupcite[num][inbetween={, }, lastpubsep={, },compress=yes]
-
-\def\withbrackets#1{[#1]~~}
-\setuppublications
- [sorttype=,
- criterium=,
- refcommand=num,
- numbering=yes,
- numbercommand=\withbrackets,
- autohang=yes]
-
-\setuppublicationlist
- [artauthor=\normalauthor,
- editor=\normalauthor,
- author=\normalauthor,
- namesep={,},
- lastnamesep={ and },
- finalnamesep={ and },
- firstnamesep={ },
- juniorsep={ },
- vonsep={ },
- surnamesep={ },
- authoretallimit=5,
- editoretallimit=5,
- artauthoretallimit=5,
- authoretaldisplay=5,
- editoretaldisplay=5,
- artauthoretaldisplay=5,
- authoretaltext={ etc},
- editoretaltext={ etc},
- artauthoretaltext={ etc},
-]
-
-\setuppublicationlayout[article]{%
- \insertartauthors{}{\unskip.}{}%
- \insertarttitle{\bgroup }{\egroup[J].}{}%
- \insertjournal{\bgroup }{\egroup}{}%
- \insertpubyear{,}{}{}%
- \insertvolume{,}{}{}%
- \insertissue{(}{)}{}%
- \insertpages{:}{.}{}%
-}
-
-\setuppublicationlayout[phdthesis]{%
- \insertauthors{}{\unskip.}{}%
- \inserttitle{}{\unskip[D].}{}%
- \insertpubname{}{,}{}%
- \insertpubyear{}{.}{}%
-}
-
-\setuppublicationlayout[techreport]{%
- \insertauthors{}{.}{}%
- \inserttitle{}{[R].}{}%
- \insertpubname{}{}{}%
- \insertpubyear{,}{.}{}%
-}
-
-\setuppublicationlayout[inproceedings]{%
- \insertauthors{}{.}{}%
- \insertarttitle{}{[C].}{}%%
- \inserttitle{}{}{}%
- \insertpubyear{,}{.}{}%
-}
-
-\setuppublicationlayout[book]{%
- \insertauthors{}{.}{}%
- \inserttitle{}{[M].}{}%
- \insertpubname{}{}{}%
- \insertpubyear{,}{.}{}%
- \insertnote{}{}{}%
-}
-
-\setuppublicationlayout[unpublished]{%
- \insertauthors{}{.}{}%
- \inserttitle{}{.}{}%
- \inserturl{}{}{}%
-}
diff --git a/info/context-notes-zh-cn/src/bibliography.bib b/info/context-notes-zh-cn/src/bibliography.bib
deleted file mode 100644
index 0203a2de9a..0000000000
--- a/info/context-notes-zh-cn/src/bibliography.bib
+++ /dev/null
@@ -1,53 +0,0 @@
-@unpublished{bibtex,
- title = {{Tame the BeaST: The B to X of Bib\TeX}},
- author = {Nicolas Markey},
- url = {http://www.ctan.org/tex-archive/info/bibtex/tamethebeast/},
-}
-
-@unpublished{fonts,
- title = {{Fonts in \ConTeXt}},
- author = {PRAGMA},
- url = {http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf},
-}
-
-@unpublished{Taco,
- title = {{Bibliographies}},
- author = {Taco Hoekwater},
- url = {http://modules.contextgarden.net/bib},
-}
-
-@unpublished{TacoCTXWiki,
- title = {{Bibliography}},
- author = {Taco Hoekwater},
- url = {http://wiki.contextgarden.net/Bibliography},
-}
-
-@unpublished{widgets,
- title = {{WIDGETS uncovered}},
- author = {PRAGMA},
- url = {http://pragma-ade.com/general/manuals/mwidget-s.pdf},
-}
-
-@unpublished{cont-eni,
- title = {{\ConTeXt the manual}},
- author = {PRAGMA},
- url = {http://www.pragma-ade.com/general/manuals/cont-eni.pdf},
-}
-
-@unpublished{ms-cb-en,
- title = {{\ConTeXt an excursion}},
- author = {PRAGMA},
- url = {http://www.pragma-ade.com/general/manuals/ms-cb-en.pdf},
-}
-
-@unpublished{metafun,
- title = {{METAFUN}},
- author = {Hans Hagen},
- url = {http://www.pragma-ade.com/general/manuals/metafun-s.pdf},
-}
-
-@unpublished{lnotes,
- title = {{\LATEX 学习笔记}},
- author = {Alpha Huang},
- url = {http://www.ctan.org/tex-archive/info/lnotes/lnotes.pdf},
-}
diff --git a/info/context-notes-zh-cn/src/cover.tex b/info/context-notes-zh-cn/src/cover.tex
new file mode 100644
index 0000000000..57c033c631
--- /dev/null
+++ b/info/context-notes-zh-cn/src/cover.tex
@@ -0,0 +1,78 @@
+% 封面
+\startMPinclusions
+vardef hilbert(expr sidelength, n) =
+ numeric u; u := 0.5sidelength;
+ pair a, b, c, d;
+ a := (-0.5, -0.5) * u;
+ b := (-0.5, 0.5) * u;
+ c := (0.5, 0.5) * u;
+ d := (0.5, -0.5) * u;
+ path p;
+ p := a -- b -- c -- d;
+ transform sw, nw, ne, se;
+ sw := identity
+ scaled 0.5
+ reflectedabout ((0, 0), (1, 1))
+ shifted (-0.5u, -0.5u);
+ nw := identity
+ scaled 0.5
+ shifted (-0.5u, 0.5u);
+ ne := identity
+ scaled 0.5
+ shifted (0.5u, 0.5u);
+ se := identity
+ scaled 0.5
+ reflectedabout ((0, 0), (1, -1))
+ shifted (0.5u, -0.5u);
+
+ for i := 2 upto n:
+ p := p transformed sw for j := nw, ne, se: -- p transformed j endfor;
+ endfor;
+ p
+enddef;
+\stopMPinclusions
+\startuseMPgraphic{TitleGraphic}
+path p; p := hilbert(OverlayWidth, 5) randomized 1mm;
+pickup pencircle scaled 1mm;
+draw p yscaled(OverlayHeight / OverlayWidth) withcolor transparent(1, .5, darkgray); %\MPcolor{tan};
+\stopuseMPgraphic
+\defineoverlay[TitleGraphic][\useMPgraphic{TitleGraphic}]
+
+%% 阴影盒
+\startuniqueMPgraphic{shade box}
+numeric u, w, h, roundcorner, offset;
+path p, q;
+color shade;
+u := 1cm; w := \overlaywidth; h := \overlayheight;
+p := unitsquare xyscaled (w, h);
+offset := 7pt;
+shade := darkgray;
+pickup pencircle scaled offset;
+for i = 0 step .1 until 1:
+ q := unitsquare xyscaled (w, h) shifted (i * offset, -i * offset);
+ fill q withcolor transparent (1, .1, shade);
+ draw q withcolor transparent (1, .1, shade);
+endfor;
+q := p shifted (-offset, offset);
+draw q withcolor transparent (1, 0, white);
+fill p withcolor \MPcolor{dimgray};
+draw p withcolor \MPcolor{lightsteelblue};
+\stopuniqueMPgraphic
+\defineoverlay[shade box][\uniqueMPgraphic{shade box}]
+\defineframedtext[coverbox][frame=off,background={shade box}]
+
+\setupbackgrounds[page][background=TitleGraphic]
+\startstandardmakeup
+ \startcolor[white]
+ \startcoverbox[middle][width=.6\textwidth,height=5cm,toffset=.8cm]
+ \strut
+ \hfil \bfd\ConTeXt\ 蹊径\hfil
+ \blank[1cm]
+ \hfil\bfa 李延瑞\hfil
+ \blank[.25cm]
+ \hfil\bf 2023 年 3 月 29 日\hfil
+ \stopcoverbox
+ \stopcolor
+ \blank[14cm]
+\stopstandardmakeup
+\setupbackgrounds[page][background=] \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/ctxnotes.bib b/info/context-notes-zh-cn/src/ctxnotes.bib
new file mode 100644
index 0000000000..5ce2928904
--- /dev/null
+++ b/info/context-notes-zh-cn/src/ctxnotes.bib
@@ -0,0 +1,101 @@
+@article {Hagen2019,
+ author = "Hans Hagen",
+ title = "ConTeXt LMTX",
+ journal = "TUGboat",
+ volume = "40",
+ number = "1",
+ pages = "34--37",
+ month = "4",
+ year = "2019"
+}
+
+@online{ma-cb-en,
+ author = {Hans Hagen},
+ title = {\ConTeXt\ Mark IV: an excursion},
+ url = {http://www.pragma-ade.nl/general/manuals/ma-cb-en.pdf},
+ year = {2017}
+}
+
+@online{ctxnotes,
+ author = {李延瑞},
+ title = {\ConTeXt\ 学习笔记:Using MkIV},
+ url = {http://mirrors.ctan.org/info/context-notes-zh-cn/ctxnotes.pdf},
+ year = {2009}
+}
+
+@online{bash-tutor,
+ author = {李延瑞},
+ title = {写给高年级小学生的《Bash》指南},
+ url = {https://segmentfault.com/a/1190000017229619},
+ year = {2018}
+}
+
+@online{faking-text,
+ author = {Hans Hagen},
+ title = {Faking text and more},
+ url = {http://www.pragma-ade.nl/general/magazines/mag-0007-mkiv.pdf},
+ year = {2016}
+}
+
+@online{unicode-blocks,
+ author = {\ConTeXt\ wiki editors},
+ title = {List of Unicode blocks},
+ url = {https://wiki.contextgarden.net/List_of_Unicode_blocks},
+ year = {2020}
+}
+
+@online{contextref,
+ author = {Hans Hagen},
+ title = {\ConTeXt\ Reference},
+ url = {http://pmrb.free.fr/contextref.pdf},
+ year = 2013
+}
+
+@online{floating-objects,
+ author = {\ConTeXt\ wiki editors},
+ title = {Floating Objects},
+ url = {https://wiki.contextgarden.net/Floating_Objects},
+ year = 2021
+}
+
+@online{metafun,
+ author = {李延瑞},
+ title = {\MetaFun\ 小传},
+ url = {https://segmentfault.com/a/1190000016832302},
+ year = 2018
+}
+
+@online{math,
+ author = {\ConTeXt\ wiki editors},
+ title = {Math},
+ url = {https://wiki.contextgarden.net/Math},
+ year = {2022}
+}
+
+@online{mpman,
+ author = {John D. Hobby},
+ title = {\MetaPost\ Manual},
+ url = {https://www.tug.org/docs/metapost/mpman.pdf},
+ year = {2022}
+}
+
+@online{overlay,
+ author = {\ConTeXt\ wiki editors},
+ title = {Overlays},
+ url = {https://wiki.contextgarden.net/Overlays},
+ year = {2022}
+}
+
+@online{framed,
+ author = {\ConTeXt\ wiki editors},
+ title = {Framed},
+ url = {https://wiki.contextgarden.net/Framed},
+ year = {2022}
+}
+
+@online{math-fonts,
+ author = {\ConTeXt\ wiki editors},
+ title = {Math fonts},
+ url = {https://wiki.contextgarden.net/Math_fonts},
+ year = {2020}
+} \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/ctxnotes.tex b/info/context-notes-zh-cn/src/ctxnotes.tex
index 87059cd3f5..7b4847b28c 100644
--- a/info/context-notes-zh-cn/src/ctxnotes.tex
+++ b/info/context-notes-zh-cn/src/ctxnotes.tex
@@ -1,88 +1,40 @@
\environment doc-env
-%\startproduct ctxnotes
+\usebtxdataset[ctxnotes.bib]
\starttext
-
-% 封面
-\startMPinclusions
- def random_hash_frame (expr width, height, offset, linewidth ) =
-
- def delta = ((uniformdeviate .5offset) + .25offset) enddef ;
- x1 := offset ; y1 := offset ; x2 := width-offset ; y2 := height-offset ;
-
- drawoptions(withpen pencircle scaled linewidth withcolor transparent(1,.8,\MPcolor{BackgroundColor})) ;
- fill z1--(x2,y1)--z2--(x1,y2)--cycle ;
-
- drawoptions(withpen pencircle scaled linewidth withcolor \MPcolor{OrnamentColor}) ;
- draw (x1-delta,y1)--(x2+delta,y1) ;
- draw (x2,y1-delta)--(x2,y2+delta) ;
- draw (x2+delta,y2)--(x1-delta,y2) ;
- draw (x1,y2+delta)--(x1,y1-delta) ;
-
- drawoptions();
- setbounds currentpicture to unitsquare xscaled width yscaled height ;
- enddef ;
-\stopMPinclusions
-
-\startuseMPgraphic{TitleGraphic}
- for i=1 upto 400 :
- offset := uniformdeviate 10pt ;
- width := 2*offset + 40pt + uniformdeviate 30pt ;
- height := 2*offset + 30pt + uniformdeviate 10pt ;
- addto currentpicture also
- image(random_hash_frame(width,height,offset,1pt)) shifted
- (uniformdeviate OverlayWidth, uniformdeviate OverlayHeight) ;
- endfor ;
-\stopuseMPgraphic
-
-\defineoverlay [TitleGraphic] [\useMPgraphic{TitleGraphic}]
-
-% 前文
\startfrontmatter
-\setupbackgrounds [page][background=TitleGraphic]
-\startstandardmakeup
- \startcolor[white]
- \startframedtext[middle][width=.8\textwidth,height=5cm]
- \dontleavehmode
- \blank[.5cm]
- \hfil\bfd\ConTeXt\ 学习笔记\hfil
- \blank[.5cm]
- \hfil\bfc Using MkIV\hfil
- \blank[1cm]
- \hfil\bfa Li Yanrui (liyanrui.m2@gmail.com)\hfil
- \stopframedtext
- \stopcolor
- \blank[14cm]
-\stopstandardmakeup
-\setupbackgrounds [page][background=]
-\setuppagenumbering[conversion=romannumerals]
+\input cover
\setuppagenumber[number=1]
-\title{目\;\;录}\blank
-\placecontent
+\setupuserpagenumber[numberconversion=romannumerals]
+\setups{FrontHeaderFooter}
+\input preface % 自序
+\TOC{目录}
+\definelistextra[page][before=\page]
+\placecontent[extras={page=10}] % 强行在第 10 章之前分页
\stopfrontmatter
-
-% 正文
\startbodymatter
-\setuppagenumbering[conversion=number]
\setuppagenumber[number=1]
-\setups{HeaderFooter}
-\component basis
-\component fonts
-\component layout
-\component references
-\component project
-\component metafun
+\setupuserpagenumber[numberconversion=number]
+\setups{BodyHeaderFooter}
+\input 01
+\input 02
+\input 03
+\input 04
+\input 05
+\input 06
+\input 07
+\input 08
+\input 09
+\input 10
+\input 11
+\input 12
+\input 13
\stopbodymatter
-
-% 附录
+\startbackmatter
+\input postscript
+\stopbackmatter
\startappendices
+\input zhfonts
\title{参考文献}
-\placepublications[criterium=all]
+\placelistofpublications
\stopappendices
-
-% 后文
-\startbackmatter
-未完成……
-\stopbackmatter
-
-%\stopproduct
\stoptext
diff --git a/info/context-notes-zh-cn/src/doc-env.tex b/info/context-notes-zh-cn/src/doc-env.tex
index 138b60d565..c6fe8890fa 100644
--- a/info/context-notes-zh-cn/src/doc-env.tex
+++ b/info/context-notes-zh-cn/src/doc-env.tex
@@ -1,153 +1,196 @@
\startenvironment doc-env
-
\usemodule[zhfonts]
-
-\usemodule[chart]
-\usemodule[t][layout]
-
-\setupcolor[hex]
-\definecolor [BackgroundColor] [h=cccccc]
-\definecolor [OrnamentColor] [h=99ccff]
-\definecolor [TitleColor] [h=336699]
-
-\setupinteraction
- [state=start,
- focus=standard,
- color=darkblue,
- title={ConTeXt 学习笔记},
- subtitle={Using MkIV},
- author={Li Yanrui},
- keyword={TeX, ConTeXt, MkIV, LuaTeX}]
-
-%\setupinteractionscreen[option=max]
-
+\definefont[kaiti][name:kaiti]
+
+\usecolors[svg]
+%\showgrid
+\setupinteraction[state=start,
+ focus=standard,
+ color=darkblue,
+ title={ConTeXt 蹊径},
+ author={李延瑞},
+ keyword={TeX, ConTeXt, LMTX, MkIV, LuaTeX, LuaMetaTeX}]
+% 书签
+\setupinteractionscreen[option=bookmark]
+\placebookmarks[title,chapter,section][chapter]
+% 版式
\setuppapersize[A4][A4]
-\setuplayout[width=fit,height=middle,
- leftmargin=2cm,rightmargin=2cm,
- backspace=2.5cm,topspace=2cm,
- headerdistance=.5cm,footerdistance=.5cm,
- leftmargindistance=.5cm,rightmargindistance=.5cm,
- header=1cm,footer=1cm]
-\setuppagenumbering[style=\tfx,location=]
-
-\setuptolerance[horizontal, stretch]
-
+\setuplayout[backspace=2.5cm,width=16.5cm,
+ topspace=1.5cm,header=1.5cm,
+ height=27.2cm,footer=1cm]
+%\showframe
+% 段落首行缩进、行间距
+\setupindenting[first,always,2em]
+\setupinterlinespace[line=3.7ex]
+% 关闭页码,后面会在页眉设置页码
+\setuppagenumbering[location=]
+% 丑度
+%\setuptolerance[horizontal,stretch]
% 图片目录
\setupexternalfigures[directory={./figures}]
-
-%-------- 标题设置 --------
+% 标题设置
\setupheads[indentnext=yes]
-
-\setuphead[title][style=\bfb,align={broad,middle},header=empty,foote=empty]
-\setuphead[chapter][style=\bfb,header=empty,footer=empty]
-\setuphead[section][style=\bfa]
-\setuphead[subsubject][style=\bf]
-
-% 代码环境
-\setuplinenumbering[color=darkgray,style=small]
-\setuptyping[option=color,palet=graypretty,
- before={\blank[.5em]\setupinterlinespace[line=1.2em]},
- after={\blank[.5em]}]
-
-\definetyping[niceTEX][option=TEX]
-
-%-------- 中文化 --------
-\setuplabeltext [en] [chapter={第\;,\;章}]
-\setuplabeltext [en] [figure=图\;]
-\setuplabeltext [en] [table=表\;]
-\setupheadtext[en][pubs={\bfc 参考文献}]
-\setupheadtext[en][content={\bfc 目录}]
-
-%% 目录 %%
-\def\ChapterNumber#1{\doiftext{#1}{第\;#1\;章\quad}}
+\setuphead[title][incrementnumber=list]
+\setuphead
+ [title,chapter]
+ [style=\bfb,header=empty,footer=empty,before=,after={\blank[2*line]},align=center]
+\setuphead[chapter][alternative=inmargin]
+\setuphead[subject,section][style=\bfa,before={\blank},after={\blank}]
+\setuphead[subsubject,subsection][style=\bf,before={\blank},after={\blank}]
+\definehead[TOC][title]
+\setuphead[TOC][before={\blank[quarterline]},after={\blank[quarterline]}]
+% 目录列表
+\setupcombinedlist[content][list={title,chapter,section},criterium=text]
+\def\PageNumber#1{\underbars{#1}.} % 给页码增加下划线
\setuplist
- [chapter]
- [alternative=a,
- before=\blank,
- after=\blank,
- style=\bf,
- width=fit,
- pagestyle=boldslanted,
- pagenumber=no,
- numbercommand=\ChapterNumber]
-
+ [title]
+ [alternative=a,
+ before={\blank[halfline]},
+ after={\blank[halfline]},
+ style=bold,
+ pagecommand=\PageNumber,
+ pagestyle=smallbold,
+ width=fit]
+\def\ChapterNumber#1{\doiftext{#1}{第 #1 章\quad}} % 若 #1 是存在,则将其中文化
+\setuplist
+ [chapter]
+ [alternative=a,
+ before={\blank[halfline]},
+ after={\blank[halfline]},
+ style=bold,
+ width=fit,
+ pagenumber=no,
+ numbercommand=\ChapterNumber]
\def\PageNumber#1{\underbars{#1}.}
\setuplist
- [section]
- [alternative=d,
- style=normal,
- pagecommand=\PageNumber,
- pagestyle=\itx]
+ [section]
+ [alternative=d,
+ style=normal,
+ pagecommand=\PageNumber,
+ pagestyle=smallbold]
-% 页眉页脚
+% 页眉:通用
\startsetups HeaderFooter
- \def\CurrentChapter{%
- 第 \headnumber[chapter]\ 章%
- \hbox to 2em{}%
- \getmarking[chapter]%
- }
- \def\CurrentSection{%
- \headnumber[section]%
- \hbox to 2em{}%
- \getmarking[section]%
- }
- \setupheadertexts
- [\CurrentChapter][pagenumber]
- [pagenumber][\CurrentSection]
- \setupheader[style=\bfx,color=darkgray]
+\setupheadertexts[][pagenumber][pagenumber][]
+\setupheader[style=\tfx]
+\stopsetups
+% 页眉:body 部分
+\startsetups BodyHeaderFooter
+\def\CurrentChapter{%
+ 第 \headnumber[chapter]\ 章\kern 1em\getmarking[chapter]%
+}
+\def\CurrentSection{%
+ \headnumber[section]%
+ \hbox to 2em{}%
+ \getmarking[section]%
+}
+\setupheadertexts[\CurrentChapter][pagenumber][pagenumber][\CurrentSection]
+\setupheader[style=\tfx]
\stopsetups
-% 书签
-\setupinteractionscreen[option=bookmark]
-\placebookmarks[chapter,section][chapter]
-
-% 参考文献
-\setupbibtex[database=bibliography]
-\setuppublications[alternative=lyr]
-
-%---- 其它一些零碎设置 ----
-\setupinterlinespace[line=1.5em]
-\setupwhitespace[big]
+% 脚注里的中文断行
+\startsetups footnote:hanzi
+\setscript[hanzi]
+\stopsetups
+\setupnote[footnote][textstyle=\bold,setups={footnote:hanzi}]
+\setupnotation[footnote][way=bypage] % 来自 wolfgang 的 tip
+% 汉化
+\setuplabeltext[en][chapter={第\;,\;章\kern.5em}]
+\setuplabeltext[en][figure=图\;]
+\setuplabeltext[en][table=表\;]
+\setupheadtext[en][pubs={\bfc 参考文献}]
+\setupheadtext[en][content={\bfc 目录}]
+%---- 列表 ----
\setupfloats[indentnext=yes]
-\setupcaptions[style=\tfx, headstyle=\normal]
-
-\setupitemize[each][packed,serried,inmargin][margin=2em]
-
-\setupfootnotes[way=bychapter]
-
+\setupcaptions[style=\tfx, headstyle=\normal, align=center]
+%\setupitemize[each][packed,serried,inmargin][margin=2em]
+\setupitemize[each][distance=.4em]
\setupinmargin[left,right][style=\tfx]
-
-\definedescription[definition]
- [location=top,hang=20,width=broad,indenting=always,style=\ss,headstyle=\bf]
-
-\def\mycite#1{\cite[#1]}
-
-%% 阴影盒
-
-\startuniqueMPgraphic{shade box}
- path p;
- u := 1cm; w := \overlaywidth; h := \overlayheight;
- roundcorner := 8pt; offset := 12pt;
-
- color shade;
- shade := (.6,.6,.6);
-
- for i = 0 step .02 until 1:
- fill unitsquare xyscaled (w-i*u,h-i*u) squeezed (8pt,6pt)
- shifted (offset+i*u/2,-offset+i*u/2)
- withcolor transparent (1,.1,shade);
- endfor;
-
- p := unitsquare xyscaled (w, h);
- draw p withcolor transparent (1,0,white);
-
- p := p shifted (offset/2, -offset/2) squeezed (8pt,6pt);
- fill p withcolor \MPcolor{darkgray};
- draw p withcolor \MPcolor{OrnamentColor};
+\definedescription
+ [definition]
+ [location=top,hang=20,width=broad,indenting=always,style=\ss,headstyle=\bf]
+
+
+% 抄录
+\setuplinenumbering[style=small]
+%\setuptyping[option=color,palet=graypretty,
+% before={\blank[.5em]\setupinterlinespace[line=1.2em]},
+% after={\blank[.5em]}]
+\startuniqueMPgraphic{blue box}
+path p, q;
+w := \overlaywidth; h := \overlayheight;
+p := (3mm, 0) -- (0, 0) -- (0, h) -- (3mm, h);
+q := (w - 3mm, 0) -- (w, 0) -- (w, h) -- (w - 3mm, h);
+pickup pencircle scaled 2pt;
+draw p withcolor \MPcolor{lightsteelblue};
+draw q withcolor \MPcolor{lightsteelblue};
\stopuniqueMPgraphic
-
-\defineoverlay[shade box][\uniqueMPgraphic{shade box}]
-\setupframedtexts[frame=off,background={shade box}]
-
-\stopenvironment
+\defineoverlay[blue box][\uniqueMPgraphic{blue box}]
+\defineframedtext
+ [blueframe]
+ [frame=off,background={blue box},
+ offset=0pt,loffset=.5em,roffset=.5em,before={\blank},after={\blank[.95em]}]
+\setuptyping
+ [before={\startblueframe[width=\textwidth]},
+ after={\stopblueframe},escape=yes]
+\definetyping
+ [narrowtyping]
+ [option=TEX,before={\startblueframe[width=fit]},after={\stopblueframe},escape=yes]
+
+\startuniqueMPgraphic{blue box2}
+path p;
+numeric s;
+w := \overlaywidth; h := \overlayheight;
+p := (0, 0) -- (0, h) -- (w, h) -- (w, 0) -- cycle;
+pickup pencircle scaled 2pt;
+s := .1 * h;
+if s < 2mm:
+ s := 2mm;
+fi
+draw p randomized s withcolor \MPcolor{lightsteelblue};
+\stopuniqueMPgraphic
+\defineoverlay[blue box2][\uniqueMPgraphic{blue box2}]
+\def\bluebox#1{%
+ \kern.25em%
+ \inframed[frame=off,background={blue box2},offset=0pt,loffset=.25em,roffset=.25em]{#1}%
+ \kern.25em%
+}
+\def\blueframed#1{%
+ \kern.25em%
+ \framed[frame=off,background={blue box2},offset=0pt,loffset=.25em,roffset=.25em]{#1}%
+ \kern.25em%
+}
+\defineframedtext[blueframedtext][offset=0pt,frame=off,background={blue box2},width=\textwidth]
+
+% 红色背景框
+\def\redbox#1{%
+ \inframed[frame=off,background=color,backgroundcolor=indianred,offset=4pt]{#1}%
+}
+
+% sample
+\definefloat[Sample][Samples]
+\setuplabeltext[en][Sample={示例\;}]
+\definebuffer[samplecode]
+\def\mysample[#1]#2#3{%
+ \placeSample[force][#1]{#2}{%
+ \hbox to \textwidth{%
+ \hbox to .45\textwidth{\getsamplecode}\hfill\externalfigure[#3][maxwidth=.45\textwidth]%
+ }%
+ }%
+}
+% 修改 MPcode 代码部分高亮颜色
+\definestartstop
+ [MetapostSnippetName]
+ [color=darkblue,
+ style=boldface]
+\definestartstop
+ [MetapostSnippetNamePrimitive]
+ [color=darkgreen,
+ style=boldface]
+
+\def\BibTeX{B\scale[height=.5em]{IB}\TeX}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 参考文献 GB
+\input bib-style
+\stopenvironment \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/example/slides.tex b/info/context-notes-zh-cn/src/example/slides.tex
new file mode 100644
index 0000000000..15b6714f03
--- /dev/null
+++ b/info/context-notes-zh-cn/src/example/slides.tex
@@ -0,0 +1,28 @@
+\input style
+\starttext
+\startstandardmakeup[align=center]
+\ssd \color[darkred]{如何用 \ConTeXt\ 制作幻灯片}
+\blank[2*line]
+\ssb 李某人
+\blank[line]
+2023 年 3 月 28 日
+\stopstandardmakeup
+
+\startbuffer[foo]
+\chapter{蒙}
+亨。匪我求童蒙,童蒙求我;初筮告,再三渎,渎则不告。利贞。
+\startitemize
+\item 初六,发蒙,利用刑人,用说桎梏;以往吝。
+\item 九二,包蒙,吉。纳妇,吉;子克家。
+\item 六三,勿用取女,见金夫,不有躬,无攸利。
+\item 六四,困蒙,吝。
+\item 六五,童蒙,吉。
+\item 上九,击蒙,不利为寇,利御寇。
+\stopitemize
+\stopbuffer
+\dorecurse{50}{\getbuffer[foo]}
+
+\startstandardmakeup[align=center]
+\ssd \color[darkred]{同志们,辛苦了!}
+\stopstandardmakeup
+\stoptext
diff --git a/info/context-notes-zh-cn/src/example/style.tex b/info/context-notes-zh-cn/src/example/style.tex
new file mode 100644
index 0000000000..e0919cf7db
--- /dev/null
+++ b/info/context-notes-zh-cn/src/example/style.tex
@@ -0,0 +1,52 @@
+% 页面布局
+\definepapersize[foo][width=640pt,height=360pt]
+\setuppapersize[foo]
+\setuplayout[width=middle,topspace=0pt,height=middle,footer=40pt]
+\setupbackgrounds[page][backgroundcolor=gray,background=color]
+% 字体
+\definefallbackfamily
+ [myfonts][ss][latinmodernsans][range={0x0000-0x0400},force=yes]
+\definefontfamily[myfonts][ss][simhei][bf=simhei,it=kaiti,bi=simhei]
+\setscript[hanzi]
+\setupbodyfont[myfonts,ss,16pt]
+% 常规
+\setuppagenumbering[location=]
+\setupinterlinespace[line=28pt]
+\startuseMPgraphic{square}
+ path a, b;
+ a := (-.5, 0) -- (-.5, .5) -- (.5, .5);
+ b := (-.5, -.5) -- (.5, -.5) -- (.5, 0);
+ for i = a, b:
+ draw i scaled 10pt withpen pencircle scaled 2pt withcolor darkred;
+ endfor;
+ draw (0, 0) withpen pensquare scaled 4pt withcolor darkred;
+\stopuseMPgraphic
+\definesymbol[10][{\lower.15ex\hbox{\useMPgraphic{square}}}]
+\setupitemize
+ [1][10,packed]
+ [distance=0.4em,
+ before={\blank[quarterline]},after={\blank[quarterline]}]
+% 标题
+\setuphead
+ [title,chapter]
+ [align=center,style=\ssb,color=darkred,
+ before={\blank[halfline]},after={\blank[halfline]}]
+\setuphead[chapter][conversion=chinesenumerals,alternative=inmargin]
+
+\startuseMPgraphic{processbar}
+ numeric w, n, s, t;
+ w := \overlaywidth; n := \lastuserpage; s := .5w / (n + 2); t := \userpagenumber - 1;
+ path p; p := (fullsquare scaled \overlayheight) randomized 1pt;
+ pickup pencircle scaled 1.25pt;
+ picture q;
+ q := image(for i = 0 upto n - 1:
+ p := (p shifted (2s, 0));
+ if t = i: fill p withcolor darkgreen; fi;
+ draw p withcolor darkgray;%transparent(1, 0.5, darkgray);
+ endfor;);
+ draw q xsized w;
+\stopuseMPgraphic
+\defineoverlay[process][\useMPgraphic{processbar}]
+\setupfootertexts[{\framed[frame=off,offset=0pt,
+ width=\makeupwidth,height=.8em,
+ background=process,empty=yes]{}}] \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf
new file mode 100644
index 0000000000..801ec7b83d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf
new file mode 100644
index 0000000000..5ba88c0db7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf
new file mode 100644
index 0000000000..8a1efdd6ec
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb.pdf
new file mode 100644
index 0000000000..60e2a8572f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-metapost.pdf b/info/context-notes-zh-cn/src/figures/05-metapost.pdf
new file mode 100644
index 0000000000..5b8683edee
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-metapost.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf
new file mode 100644
index 0000000000..355e2722a7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf
new file mode 100644
index 0000000000..8476132bf8
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf
new file mode 100644
index 0000000000..2c8ecf2d79
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf
new file mode 100644
index 0000000000..4633d66ca4
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf
new file mode 100644
index 0000000000..162f257cb5
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf
new file mode 100644
index 0000000000..7bce0357e2
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf
new file mode 100644
index 0000000000..12cabf988f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list.pdf
new file mode 100644
index 0000000000..40a311e607
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-01.pdf b/info/context-notes-zh-cn/src/figures/06-01.pdf
new file mode 100644
index 0000000000..334748a68d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-01.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-02.pdf b/info/context-notes-zh-cn/src/figures/06-02.pdf
new file mode 100644
index 0000000000..b28053808f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-02.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-03.pdf b/info/context-notes-zh-cn/src/figures/06-03.pdf
new file mode 100644
index 0000000000..2b790a5def
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-03.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-04.pdf b/info/context-notes-zh-cn/src/figures/06-04.pdf
new file mode 100644
index 0000000000..fec3105025
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-04.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-05.pdf b/info/context-notes-zh-cn/src/figures/06-05.pdf
new file mode 100644
index 0000000000..f622fb5a85
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-05.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-three-line-table.pdf b/info/context-notes-zh-cn/src/figures/06-three-line-table.pdf
new file mode 100644
index 0000000000..ac000edc79
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-three-line-table.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf b/info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf
new file mode 100644
index 0000000000..243b337735
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf
new file mode 100644
index 0000000000..b58373132e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf
new file mode 100644
index 0000000000..43adbf2577
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf
new file mode 100644
index 0000000000..28e3443a8d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf
new file mode 100644
index 0000000000..279e7212f0
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf
new file mode 100644
index 0000000000..54e71e8a71
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf
new file mode 100644
index 0000000000..3567cae708
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf
new file mode 100644
index 0000000000..cf06b847eb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf
new file mode 100644
index 0000000000..5a1e6a2d8e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-watermark.png b/info/context-notes-zh-cn/src/figures/11-watermark.png
new file mode 100644
index 0000000000..4e689c338c
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-watermark.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-layout-1.pdf b/info/context-notes-zh-cn/src/figures/12-layout-1.pdf
new file mode 100644
index 0000000000..9bc70bc4ca
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-layout-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-1.pdf b/info/context-notes-zh-cn/src/figures/12-slides-1.pdf
new file mode 100644
index 0000000000..2485deadde
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-2.pdf b/info/context-notes-zh-cn/src/figures/12-slides-2.pdf
new file mode 100644
index 0000000000..4b26477642
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-3.pdf b/info/context-notes-zh-cn/src/figures/12-slides-3.pdf
new file mode 100644
index 0000000000..28f9344b4f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-4.pdf b/info/context-notes-zh-cn/src/figures/12-slides-4.pdf
new file mode 100644
index 0000000000..8ceef2f8c9
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/13-bookmarks.png b/info/context-notes-zh-cn/src/figures/13-bookmarks.png
new file mode 100644
index 0000000000..d11a152edc
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/13-bookmarks.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/13-toc-2.pdf b/info/context-notes-zh-cn/src/figures/13-toc-2.pdf
new file mode 100644
index 0000000000..1329c57d27
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/13-toc-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/13-toc.pdf b/info/context-notes-zh-cn/src/figures/13-toc.pdf
new file mode 100644
index 0000000000..60c2b9fbdd
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/13-toc.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg b/info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg
new file mode 100644
index 0000000000..d50f52a056
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg
@@ -0,0 +1,1235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="420.0534pt" height="395.1229pt" viewBox="0 0 420.0534 395.1229" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 4.578125 0 L 2.59375 -2.28125 L 4.421875 -4.421875 L 3.59375 -4.421875 L 2.265625 -2.78125 L 0.890625 -4.421875 L 0.0625 -4.421875 L 1.9375 -2.28125 L 0 0 L 0.8125 0 L 2.265625 -1.875 L 3.765625 0 Z M 4.578125 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph3-0">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph3-1">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph3-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-0">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-2">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-3">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph6-0">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph6-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph6-2">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.421875 4.15625 -4.53125 3.203125 -4.53125 C 2.609375 -4.53125 2.03125 -4.328125 1.5625 -3.9375 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 1.9375 L 1.59375 1.9375 L 1.59375 -0.453125 C 1.90625 -0.171875 2.34375 0.109375 2.9375 0.109375 C 3.90625 0.109375 4.78125 -0.875 4.78125 -2.21875 Z M 4 -2.21875 C 4 -1.203125 3.296875 -0.5 2.546875 -0.5 C 2.15625 -0.5 1.890625 -0.703125 1.6875 -0.96875 C 1.59375 -1.109375 1.59375 -1.140625 1.59375 -1.3125 L 1.59375 -3.3125 C 1.828125 -3.671875 2.21875 -3.890625 2.65625 -3.890625 C 3.40625 -3.890625 4 -3.140625 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-0">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-3">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-0">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.453125 4.109375 -4.53125 3.171875 -4.53125 C 2.78125 -4.53125 2.15625 -4.4375 1.5625 -3.953125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.59375 0 L 1.59375 -0.453125 C 1.828125 -0.234375 2.265625 0.109375 2.9375 0.109375 C 3.921875 0.109375 4.78125 -0.890625 4.78125 -2.21875 Z M 4 -2.21875 C 4 -0.921875 3.171875 -0.5 2.5625 -0.5 C 2.171875 -0.5 1.84375 -0.671875 1.59375 -1.140625 L 1.59375 -3.34375 C 1.75 -3.578125 2.109375 -3.921875 2.65625 -3.921875 C 3.25 -3.921875 4 -3.5 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-3">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-0">
+<path style="stroke:none;" d="M 3.71875 -0.46875 C 3.71875 -0.5 3.703125 -0.5625 3.640625 -0.78125 C 3.59375 -0.984375 3.5625 -1.03125 3.484375 -1.03125 C 3.421875 -1.03125 3.421875 -1.03125 3.359375 -0.96875 C 3.25 -0.890625 2.984375 -0.671875 2.5625 -0.671875 C 2.328125 -0.671875 2.171875 -0.84375 2.171875 -1.5 L 2.171875 -3.84375 L 3.0625 -3.84375 C 3.1875 -3.84375 3.53125 -3.84375 3.53125 -4.203125 C 3.53125 -4.5625 3.1875 -4.5625 3.0625 -4.5625 L 2.171875 -4.5625 L 2.171875 -5.390625 C 2.171875 -5.71875 2.109375 -5.875 1.6875 -5.875 L 1.390625 -5.875 C 1.03125 -5.875 0.90625 -5.765625 0.90625 -5.390625 L 0.90625 -4.5625 L 0.671875 -4.5625 C 0.5625 -4.5625 0.203125 -4.5625 0.203125 -4.203125 C 0.203125 -3.84375 0.5625 -3.84375 0.671875 -3.84375 L 0.875 -3.84375 L 0.875 -1.328125 C 0.875 -0.3125 1.234375 0.109375 1.921875 0.109375 C 2.015625 0.109375 2.453125 0.109375 2.96875 -0.046875 C 3.140625 -0.09375 3.71875 -0.28125 3.71875 -0.46875 Z M 3.71875 -0.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-1">
+<path style="stroke:none;" d="M 5.15625 -2.25 C 5.15625 -3.875 4.359375 -4.734375 2.734375 -4.734375 C 1.078125 -4.734375 0.3125 -3.84375 0.3125 -2.25 C 0.3125 -0.625 1.171875 0.109375 2.734375 0.109375 C 4.296875 0.109375 5.15625 -0.609375 5.15625 -2.25 Z M 3.8125 -2.359375 C 3.8125 -1.578125 3.8125 -0.671875 2.734375 -0.671875 C 1.671875 -0.671875 1.671875 -1.5625 1.671875 -2.359375 C 1.671875 -3.125 1.671875 -4.015625 2.734375 -4.015625 C 3.8125 -4.015625 3.8125 -3.140625 3.8125 -2.359375 Z M 3.8125 -2.359375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-2">
+<path style="stroke:none;" d="M 5.21875 -2.296875 C 5.21875 -2.796875 5.21875 -4.671875 3.40625 -4.671875 C 2.828125 -4.671875 2.296875 -4.4375 1.9375 -4.09375 C 1.9375 -4.46875 1.796875 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 1.453125 C 0.609375 1.8125 0.71875 1.9375 1.09375 1.9375 L 1.484375 1.9375 C 1.859375 1.9375 1.96875 1.796875 1.96875 1.453125 L 1.96875 -0.390625 C 2.40625 0.109375 2.953125 0.109375 3.09375 0.109375 C 5.21875 0.109375 5.21875 -1.796875 5.21875 -2.296875 Z M 3.859375 -2.28125 C 3.859375 -1.890625 3.859375 -0.609375 2.734375 -0.609375 C 2.5 -0.609375 2.328125 -0.6875 2.203125 -0.78125 C 1.96875 -0.953125 1.96875 -1 1.96875 -1.171875 L 1.96875 -3.5625 C 2.078125 -3.671875 2.40625 -3.890625 2.828125 -3.890625 C 3.84375 -3.890625 3.859375 -2.71875 3.859375 -2.28125 Z M 3.859375 -2.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-3">
+<path style="stroke:none;" d="M 3.953125 -1.40625 C 3.953125 -1.96875 3.65625 -2.3125 3.46875 -2.46875 C 3.078125 -2.828125 2.71875 -2.890625 2.296875 -2.96875 C 1.75 -3.078125 1.359375 -3.15625 1.359375 -3.53125 C 1.359375 -3.953125 1.6875 -4.03125 2.078125 -4.03125 C 2.734375 -4.03125 3.09375 -3.78125 3.359375 -3.5625 C 3.453125 -3.453125 3.484375 -3.453125 3.515625 -3.453125 C 3.625 -3.453125 3.640625 -3.546875 3.65625 -3.59375 C 3.671875 -3.671875 3.765625 -4.234375 3.765625 -4.28125 C 3.765625 -4.4375 3.234375 -4.578125 3.125 -4.609375 C 2.734375 -4.71875 2.40625 -4.734375 2.15625 -4.734375 C 1.703125 -4.734375 0.375 -4.734375 0.375 -3.3125 C 0.375 -2.828125 0.59375 -2.515625 0.859375 -2.28125 C 1.203125 -1.96875 1.59375 -1.890625 2.15625 -1.78125 C 2.453125 -1.734375 2.953125 -1.640625 2.953125 -1.203125 C 2.953125 -0.734375 2.578125 -0.671875 2.1875 -0.671875 C 1.75 -0.671875 1.1875 -0.796875 0.71875 -1.359375 C 0.671875 -1.40625 0.640625 -1.4375 0.578125 -1.4375 C 0.484375 -1.4375 0.453125 -1.34375 0.453125 -1.28125 C 0.421875 -1.140625 0.3125 -0.578125 0.3125 -0.484375 C 0.3125 -0.296875 1.0625 -0.0625 1.0625 -0.0625 C 1.609375 0.109375 2.015625 0.109375 2.1875 0.109375 C 2.6875 0.109375 3.953125 0.0625 3.953125 -1.40625 Z M 3.953125 -1.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-4">
+<path style="stroke:none;" d="M 4.71875 -0.484375 L 4.71875 -3.15625 C 4.71875 -4.71875 3.203125 -4.734375 2.71875 -4.734375 C 2.25 -4.734375 1.75 -4.6875 1.078125 -4.421875 C 0.875 -4.328125 0.8125 -4.296875 0.8125 -4.1875 C 0.8125 -4.109375 0.875 -3.53125 0.890625 -3.453125 C 0.890625 -3.40625 0.953125 -3.34375 1.015625 -3.34375 C 1.0625 -3.34375 1.09375 -3.375 1.125 -3.40625 C 1.5625 -3.859375 2.046875 -4.078125 2.671875 -4.078125 C 3.203125 -4.078125 3.375 -3.75 3.375 -3.15625 L 3.375 -2.8125 C 3.015625 -2.8125 0.40625 -2.796875 0.40625 -1.328125 C 0.40625 -0.625 0.96875 0.109375 1.84375 0.109375 C 2.1875 0.109375 2.9375 0.015625 3.40625 -0.671875 L 3.40625 -0.484375 C 3.40625 -0.15625 3.46875 0 3.875 0 L 4.25 0 C 4.625 0 4.71875 -0.125 4.71875 -0.484375 Z M 3.375 -1.53125 C 3.375 -0.609375 2.421875 -0.609375 2.390625 -0.609375 C 1.96875 -0.609375 1.703125 -0.96875 1.703125 -1.34375 C 1.703125 -2.328125 3.09375 -2.390625 3.375 -2.40625 Z M 3.375 -1.53125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-5">
+<path style="stroke:none;" d="M 4.5625 -0.5 C 4.5625 -0.609375 4.515625 -1.0625 4.5 -1.203125 C 4.5 -1.21875 4.46875 -1.328125 4.375 -1.328125 C 4.34375 -1.328125 4.3125 -1.328125 4.21875 -1.21875 C 4.046875 -1.078125 3.578125 -0.671875 2.765625 -0.671875 C 1.71875 -0.671875 1.71875 -1.671875 1.71875 -2.3125 C 1.71875 -3.125 1.78125 -3.953125 2.796875 -3.953125 C 3.4375 -3.953125 3.703125 -3.796875 4.0625 -3.5 C 4.1875 -3.390625 4.203125 -3.390625 4.25 -3.390625 C 4.34375 -3.390625 4.359375 -3.484375 4.375 -3.515625 C 4.390625 -3.59375 4.5 -4.15625 4.5 -4.203125 C 4.5 -4.296875 4.421875 -4.34375 4.25 -4.421875 C 3.78125 -4.640625 3.484375 -4.734375 2.78125 -4.734375 C 1.296875 -4.734375 0.375 -4.03125 0.375 -2.296875 C 0.375 -0.640625 1.21875 0.109375 2.734375 0.109375 C 3 0.109375 3.59375 0.09375 4.265625 -0.234375 C 4.546875 -0.390625 4.5625 -0.40625 4.5625 -0.5 Z M 4.5625 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-6">
+<path style="stroke:none;" d="M 4.78125 -2.59375 C 4.78125 -3.875 4.171875 -4.734375 2.6875 -4.734375 C 1.09375 -4.734375 0.3125 -3.84375 0.3125 -2.328125 C 0.3125 -0.6875 1.25 0.109375 2.828125 0.109375 C 3.203125 0.109375 3.765625 0.0625 4.421875 -0.265625 C 4.640625 -0.375 4.71875 -0.40625 4.71875 -0.53125 C 4.71875 -0.59375 4.6875 -0.890625 4.671875 -0.96875 C 4.640625 -1.28125 4.625 -1.28125 4.53125 -1.28125 C 4.5 -1.28125 4.46875 -1.28125 4.359375 -1.1875 C 3.78125 -0.671875 3.1875 -0.609375 2.859375 -0.609375 C 1.734375 -0.609375 1.609375 -1.5 1.578125 -2.140625 L 4.296875 -2.140625 C 4.53125 -2.140625 4.78125 -2.140625 4.78125 -2.59375 Z M 3.671875 -2.65625 L 1.59375 -2.65625 C 1.625 -3.265625 1.828125 -4.015625 2.6875 -4.015625 C 3.484375 -4.015625 3.640625 -3.4375 3.671875 -2.65625 Z M 3.671875 -2.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-0">
+<path style="stroke:none;" d="M 5.21875 -2.296875 C 5.21875 -2.78125 5.21875 -4.671875 3.34375 -4.671875 C 2.515625 -4.671875 2.03125 -4.21875 1.9375 -4.109375 L 1.9375 -6.4375 C 1.9375 -6.765625 1.859375 -6.921875 1.453125 -6.921875 L 1.09375 -6.921875 C 0.734375 -6.921875 0.609375 -6.8125 0.609375 -6.4375 L 0.609375 -0.484375 C 0.609375 -0.125 0.71875 0 1.09375 0 L 1.484375 0 C 1.65625 0 1.953125 0 1.96875 -0.390625 C 2.421875 0.109375 2.9375 0.109375 3.09375 0.109375 C 5.21875 0.109375 5.21875 -1.796875 5.21875 -2.296875 Z M 3.859375 -2.296875 C 3.859375 -1.5625 3.859375 -0.609375 2.734375 -0.609375 C 2.328125 -0.609375 2.078125 -0.859375 1.96875 -1 L 1.96875 -3.609375 C 2.09375 -3.734375 2.390625 -3.953125 2.84375 -3.953125 C 3.859375 -3.953125 3.859375 -3.046875 3.859375 -2.296875 Z M 3.859375 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-1">
+<path style="stroke:none;" d="M 4.71875 -0.484375 L 4.71875 -3.15625 C 4.71875 -4.71875 3.203125 -4.734375 2.71875 -4.734375 C 2.25 -4.734375 1.75 -4.6875 1.078125 -4.421875 C 0.875 -4.328125 0.8125 -4.296875 0.8125 -4.1875 C 0.8125 -4.109375 0.875 -3.53125 0.890625 -3.453125 C 0.890625 -3.40625 0.953125 -3.34375 1.015625 -3.34375 C 1.0625 -3.34375 1.09375 -3.375 1.125 -3.40625 C 1.5625 -3.859375 2.046875 -4.078125 2.671875 -4.078125 C 3.203125 -4.078125 3.375 -3.75 3.375 -3.15625 L 3.375 -2.8125 C 3.015625 -2.8125 0.40625 -2.796875 0.40625 -1.328125 C 0.40625 -0.625 0.96875 0.109375 1.84375 0.109375 C 2.1875 0.109375 2.9375 0.015625 3.40625 -0.671875 L 3.40625 -0.484375 C 3.40625 -0.15625 3.46875 0 3.875 0 L 4.25 0 C 4.625 0 4.71875 -0.125 4.71875 -0.484375 Z M 3.375 -1.53125 C 3.375 -0.609375 2.421875 -0.609375 2.390625 -0.609375 C 1.96875 -0.609375 1.703125 -0.96875 1.703125 -1.34375 C 1.703125 -2.328125 3.09375 -2.390625 3.375 -2.40625 Z M 3.375 -1.53125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-2">
+<path style="stroke:none;" d="M 4.5625 -0.5 C 4.5625 -0.609375 4.515625 -1.0625 4.5 -1.203125 C 4.5 -1.21875 4.46875 -1.328125 4.375 -1.328125 C 4.34375 -1.328125 4.3125 -1.328125 4.21875 -1.21875 C 4.046875 -1.078125 3.578125 -0.671875 2.765625 -0.671875 C 1.71875 -0.671875 1.71875 -1.671875 1.71875 -2.3125 C 1.71875 -3.125 1.78125 -3.953125 2.796875 -3.953125 C 3.4375 -3.953125 3.703125 -3.796875 4.0625 -3.5 C 4.1875 -3.390625 4.203125 -3.390625 4.25 -3.390625 C 4.34375 -3.390625 4.359375 -3.484375 4.375 -3.515625 C 4.390625 -3.59375 4.5 -4.15625 4.5 -4.203125 C 4.5 -4.296875 4.421875 -4.34375 4.25 -4.421875 C 3.78125 -4.640625 3.484375 -4.734375 2.78125 -4.734375 C 1.296875 -4.734375 0.375 -4.03125 0.375 -2.296875 C 0.375 -0.640625 1.21875 0.109375 2.734375 0.109375 C 3 0.109375 3.59375 0.09375 4.265625 -0.234375 C 4.546875 -0.390625 4.5625 -0.40625 4.5625 -0.5 Z M 4.5625 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-3">
+<path style="stroke:none;" d="M 4.953125 -0.21875 C 4.953125 -0.21875 4.953125 -0.3125 4.859375 -0.4375 L 3.125 -2.71875 L 4.65625 -4.140625 C 4.78125 -4.25 4.8125 -4.28125 4.8125 -4.359375 C 4.8125 -4.5625 4.609375 -4.5625 4.46875 -4.5625 L 3.890625 -4.5625 C 3.703125 -4.5625 3.515625 -4.5625 3.296875 -4.359375 L 1.859375 -3.015625 L 1.859375 -6.4375 C 1.859375 -6.765625 1.78125 -6.921875 1.375 -6.921875 L 1.171875 -6.921875 C 0.8125 -6.921875 0.6875 -6.8125 0.6875 -6.4375 L 0.6875 -0.484375 C 0.6875 -0.125 0.796875 0 1.171875 0 L 1.34375 0 C 1.71875 0 1.828125 -0.125 1.828125 -0.484375 L 1.828125 -1.515625 C 1.984375 -1.65625 2.140625 -1.796875 2.296875 -1.9375 L 3.59375 -0.25 C 3.765625 -0.03125 3.828125 0 4.109375 0 L 4.59375 0 C 4.734375 0 4.953125 0 4.953125 -0.21875 Z M 4.953125 -0.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-4">
+<path style="stroke:none;" d="M 3.953125 -1.40625 C 3.953125 -1.96875 3.65625 -2.3125 3.46875 -2.46875 C 3.078125 -2.828125 2.71875 -2.890625 2.296875 -2.96875 C 1.75 -3.078125 1.359375 -3.15625 1.359375 -3.53125 C 1.359375 -3.953125 1.6875 -4.03125 2.078125 -4.03125 C 2.734375 -4.03125 3.09375 -3.78125 3.359375 -3.5625 C 3.453125 -3.453125 3.484375 -3.453125 3.515625 -3.453125 C 3.625 -3.453125 3.640625 -3.546875 3.65625 -3.59375 C 3.671875 -3.671875 3.765625 -4.234375 3.765625 -4.28125 C 3.765625 -4.4375 3.234375 -4.578125 3.125 -4.609375 C 2.734375 -4.71875 2.40625 -4.734375 2.15625 -4.734375 C 1.703125 -4.734375 0.375 -4.734375 0.375 -3.3125 C 0.375 -2.828125 0.59375 -2.515625 0.859375 -2.28125 C 1.203125 -1.96875 1.59375 -1.890625 2.15625 -1.78125 C 2.453125 -1.734375 2.953125 -1.640625 2.953125 -1.203125 C 2.953125 -0.734375 2.578125 -0.671875 2.1875 -0.671875 C 1.75 -0.671875 1.1875 -0.796875 0.71875 -1.359375 C 0.671875 -1.40625 0.640625 -1.4375 0.578125 -1.4375 C 0.484375 -1.4375 0.453125 -1.34375 0.453125 -1.28125 C 0.421875 -1.140625 0.3125 -0.578125 0.3125 -0.484375 C 0.3125 -0.296875 1.0625 -0.0625 1.0625 -0.0625 C 1.609375 0.109375 2.015625 0.109375 2.1875 0.109375 C 2.6875 0.109375 3.953125 0.0625 3.953125 -1.40625 Z M 3.953125 -1.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-5">
+<path style="stroke:none;" d="M 5.21875 -2.296875 C 5.21875 -2.796875 5.21875 -4.671875 3.40625 -4.671875 C 2.828125 -4.671875 2.296875 -4.4375 1.9375 -4.09375 C 1.9375 -4.46875 1.796875 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 1.453125 C 0.609375 1.8125 0.71875 1.9375 1.09375 1.9375 L 1.484375 1.9375 C 1.859375 1.9375 1.96875 1.796875 1.96875 1.453125 L 1.96875 -0.390625 C 2.40625 0.109375 2.953125 0.109375 3.09375 0.109375 C 5.21875 0.109375 5.21875 -1.796875 5.21875 -2.296875 Z M 3.859375 -2.28125 C 3.859375 -1.890625 3.859375 -0.609375 2.734375 -0.609375 C 2.5 -0.609375 2.328125 -0.6875 2.203125 -0.78125 C 1.96875 -0.953125 1.96875 -1 1.96875 -1.171875 L 1.96875 -3.5625 C 2.078125 -3.671875 2.40625 -3.890625 2.828125 -3.890625 C 3.84375 -3.890625 3.859375 -2.71875 3.859375 -2.28125 Z M 3.859375 -2.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-6">
+<path style="stroke:none;" d="M 4.78125 -2.59375 C 4.78125 -3.875 4.171875 -4.734375 2.6875 -4.734375 C 1.09375 -4.734375 0.3125 -3.84375 0.3125 -2.328125 C 0.3125 -0.6875 1.25 0.109375 2.828125 0.109375 C 3.203125 0.109375 3.765625 0.0625 4.421875 -0.265625 C 4.640625 -0.375 4.71875 -0.40625 4.71875 -0.53125 C 4.71875 -0.59375 4.6875 -0.890625 4.671875 -0.96875 C 4.640625 -1.28125 4.625 -1.28125 4.53125 -1.28125 C 4.5 -1.28125 4.46875 -1.28125 4.359375 -1.1875 C 3.78125 -0.671875 3.1875 -0.609375 2.859375 -0.609375 C 1.734375 -0.609375 1.609375 -1.5 1.578125 -2.140625 L 4.296875 -2.140625 C 4.53125 -2.140625 4.78125 -2.140625 4.78125 -2.59375 Z M 3.671875 -2.65625 L 1.59375 -2.65625 C 1.625 -3.265625 1.828125 -4.015625 2.6875 -4.015625 C 3.484375 -4.015625 3.640625 -3.4375 3.671875 -2.65625 Z M 3.671875 -2.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-0">
+<path style="stroke:none;" d="M 4.984375 -0.484375 L 4.984375 -3.234375 C 4.984375 -4.265625 4.546875 -4.671875 3.53125 -4.671875 C 2.53125 -4.671875 2.078125 -3.984375 1.9375 -3.703125 L 1.921875 -3.703125 L 1.921875 -6.4375 C 1.921875 -6.765625 1.859375 -6.921875 1.453125 -6.921875 L 1.078125 -6.921875 C 0.71875 -6.921875 0.59375 -6.8125 0.59375 -6.4375 L 0.59375 -0.484375 C 0.59375 -0.125 0.703125 0 1.078125 0 L 1.46875 0 C 1.859375 0 1.953125 -0.125 1.953125 -0.484375 L 1.953125 -2.6875 C 1.953125 -3.546875 2.53125 -3.953125 3.046875 -3.953125 C 3.53125 -3.953125 3.625 -3.734375 3.625 -3.21875 L 3.625 -0.484375 C 3.625 -0.15625 3.703125 0 4.109375 0 L 4.5 0 C 4.890625 0 4.984375 -0.125 4.984375 -0.484375 Z M 4.984375 -0.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-1">
+<path style="stroke:none;" d="M 4.78125 -2.59375 C 4.78125 -3.875 4.171875 -4.734375 2.6875 -4.734375 C 1.09375 -4.734375 0.3125 -3.84375 0.3125 -2.328125 C 0.3125 -0.6875 1.25 0.109375 2.828125 0.109375 C 3.203125 0.109375 3.765625 0.0625 4.421875 -0.265625 C 4.640625 -0.375 4.71875 -0.40625 4.71875 -0.53125 C 4.71875 -0.59375 4.6875 -0.890625 4.671875 -0.96875 C 4.640625 -1.28125 4.625 -1.28125 4.53125 -1.28125 C 4.5 -1.28125 4.46875 -1.28125 4.359375 -1.1875 C 3.78125 -0.671875 3.1875 -0.609375 2.859375 -0.609375 C 1.734375 -0.609375 1.609375 -1.5 1.578125 -2.140625 L 4.296875 -2.140625 C 4.53125 -2.140625 4.78125 -2.140625 4.78125 -2.59375 Z M 3.671875 -2.65625 L 1.59375 -2.65625 C 1.625 -3.265625 1.828125 -4.015625 2.6875 -4.015625 C 3.484375 -4.015625 3.640625 -3.4375 3.671875 -2.65625 Z M 3.671875 -2.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-2">
+<path style="stroke:none;" d="M 1.9375 -0.484375 L 1.9375 -4.09375 C 1.9375 -4.40625 1.859375 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 -0.484375 C 0.609375 -0.125 0.71875 0 1.09375 0 L 1.453125 0 C 1.828125 0 1.9375 -0.125 1.9375 -0.484375 Z M 2 -6.046875 L 2 -6.234375 C 2 -6.546875 1.9375 -6.703125 1.53125 -6.703125 L 1.015625 -6.703125 C 0.640625 -6.703125 0.53125 -6.578125 0.53125 -6.234375 L 0.53125 -6.046875 C 0.53125 -5.75 0.59375 -5.5625 1.015625 -5.5625 L 1.53125 -5.5625 C 1.9375 -5.5625 2 -5.734375 2 -6.046875 Z M 2 -6.046875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-3">
+<path style="stroke:none;" d="M 5.328125 -4.03125 C 5.328125 -4.078125 5.28125 -4.3125 5.25 -4.421875 C 5.21875 -4.65625 5.21875 -4.671875 5.03125 -4.671875 C 4.71875 -4.671875 4.234375 -4.5625 3.84375 -4.328125 C 3.375 -4.640625 2.859375 -4.671875 2.4375 -4.671875 C 2.015625 -4.671875 0.421875 -4.671875 0.421875 -3.03125 C 0.421875 -2.625 0.53125 -2.140625 0.921875 -1.796875 C 0.640625 -1.4375 0.640625 -1.046875 0.640625 -1 C 0.640625 -0.8125 0.703125 -0.484375 0.921875 -0.203125 C 0.765625 -0.15625 0.25 0.03125 0.25 0.671875 C 0.25 0.984375 0.40625 1.5 1.03125 1.78125 C 1.59375 2.046875 2.265625 2.046875 2.734375 2.046875 C 3.3125 2.046875 5.21875 2.046875 5.21875 0.640625 C 5.21875 -0.921875 3.8125 -0.921875 2.46875 -0.921875 L 2 -0.921875 C 1.640625 -0.921875 1.5 -0.921875 1.359375 -1.03125 C 1.3125 -1.078125 1.140625 -1.21875 1.140625 -1.484375 C 1.140625 -1.5625 1.15625 -1.578125 1.171875 -1.640625 C 1.640625 -1.375 2.21875 -1.375 2.4375 -1.375 C 2.84375 -1.375 4.4375 -1.375 4.4375 -3.015625 C 4.4375 -3.59375 4.21875 -3.953125 4.125 -4.0625 C 4.296875 -4.0625 4.640625 -4.0625 5.046875 -3.953125 C 5.09375 -3.921875 5.15625 -3.90625 5.1875 -3.90625 C 5.28125 -3.90625 5.328125 -3.96875 5.328125 -4.03125 Z M 3.15625 -3.03125 C 3.15625 -2.484375 3.125 -2.09375 2.4375 -2.09375 C 1.734375 -2.09375 1.703125 -2.46875 1.703125 -3.015625 C 1.703125 -3.5625 1.734375 -3.953125 2.4375 -3.953125 C 3.125 -3.953125 3.15625 -3.578125 3.15625 -3.03125 Z M 4.203125 0.671875 C 4.203125 1.328125 3.0625 1.328125 2.734375 1.328125 C 2.34375 1.328125 1.28125 1.328125 1.28125 0.640625 C 1.28125 0.171875 1.578125 0.171875 1.8125 0.171875 L 2.96875 0.171875 C 3.78125 0.171875 4.203125 0.3125 4.203125 0.671875 Z M 4.203125 0.671875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-4">
+<path style="stroke:none;" d="M 3.71875 -0.46875 C 3.71875 -0.5 3.703125 -0.5625 3.640625 -0.78125 C 3.59375 -0.984375 3.5625 -1.03125 3.484375 -1.03125 C 3.421875 -1.03125 3.421875 -1.03125 3.359375 -0.96875 C 3.25 -0.890625 2.984375 -0.671875 2.5625 -0.671875 C 2.328125 -0.671875 2.171875 -0.84375 2.171875 -1.5 L 2.171875 -3.84375 L 3.0625 -3.84375 C 3.1875 -3.84375 3.53125 -3.84375 3.53125 -4.203125 C 3.53125 -4.5625 3.1875 -4.5625 3.0625 -4.5625 L 2.171875 -4.5625 L 2.171875 -5.390625 C 2.171875 -5.71875 2.109375 -5.875 1.6875 -5.875 L 1.390625 -5.875 C 1.03125 -5.875 0.90625 -5.765625 0.90625 -5.390625 L 0.90625 -4.5625 L 0.671875 -4.5625 C 0.5625 -4.5625 0.203125 -4.5625 0.203125 -4.203125 C 0.203125 -3.84375 0.5625 -3.84375 0.671875 -3.84375 L 0.875 -3.84375 L 0.875 -1.328125 C 0.875 -0.3125 1.234375 0.109375 1.921875 0.109375 C 2.015625 0.109375 2.453125 0.109375 2.96875 -0.046875 C 3.140625 -0.09375 3.71875 -0.28125 3.71875 -0.46875 Z M 3.71875 -0.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-0">
+<path style="stroke:none;" d="M 7.171875 -4.28125 C 7.140625 -4.5625 6.953125 -4.5625 6.65625 -4.5625 C 6.1875 -4.5625 6.0625 -4.53125 5.921875 -4.015625 L 5.109375 -1.125 L 4.265625 -4.109375 C 4.203125 -4.34375 4.140625 -4.5625 3.671875 -4.5625 C 3.53125 -4.5625 3.296875 -4.5625 3.15625 -4.34375 C 3.078125 -4.1875 2.625 -2.46875 2.28125 -1.296875 L 1.484375 -4.109375 C 1.390625 -4.453125 1.28125 -4.5625 0.875 -4.5625 L 0.671875 -4.5625 C 0.484375 -4.5625 0.265625 -4.5625 0.234375 -4.28125 L 1.296875 -0.453125 C 1.421875 0 1.6875 0 1.9375 0 L 2.21875 0 C 2.6875 0 2.765625 -0.15625 2.875 -0.546875 C 3.09375 -1.375 3.453125 -2.625 3.5 -3.15625 L 3.515625 -3.15625 C 3.5625 -2.59375 4 -1.015625 4.140625 -0.546875 C 4.25 -0.1875 4.296875 0 4.796875 0 L 5.46875 0 C 5.90625 0 6 -0.125 6.09375 -0.453125 Z M 7.171875 -4.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-1">
+<path style="stroke:none;" d="M 1.9375 -0.484375 L 1.9375 -4.09375 C 1.9375 -4.40625 1.859375 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 -0.484375 C 0.609375 -0.125 0.71875 0 1.09375 0 L 1.453125 0 C 1.828125 0 1.9375 -0.125 1.9375 -0.484375 Z M 2 -6.046875 L 2 -6.234375 C 2 -6.546875 1.9375 -6.703125 1.53125 -6.703125 L 1.015625 -6.703125 C 0.640625 -6.703125 0.53125 -6.578125 0.53125 -6.234375 L 0.53125 -6.046875 C 0.53125 -5.75 0.59375 -5.5625 1.015625 -5.5625 L 1.53125 -5.5625 C 1.9375 -5.5625 2 -5.734375 2 -6.046875 Z M 2 -6.046875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-2">
+<path style="stroke:none;" d="M 4.96875 -0.484375 L 4.96875 -6.4375 C 4.96875 -6.765625 4.90625 -6.921875 4.5 -6.921875 L 4.125 -6.921875 C 3.75 -6.921875 3.65625 -6.78125 3.65625 -6.4375 L 3.65625 -4.171875 C 3.203125 -4.609375 2.703125 -4.671875 2.390625 -4.671875 C 0.375 -4.671875 0.375 -2.765625 0.375 -2.265625 C 0.375 -1.8125 0.375 0.109375 2.34375 0.109375 C 2.765625 0.109375 3.1875 -0.015625 3.625 -0.46875 C 3.625 -0.09375 3.765625 0 4.09375 0 L 4.5 0 C 4.875 0 4.96875 -0.125 4.96875 -0.484375 Z M 3.625 -1.25 C 3.625 -1.078125 3.625 -0.984375 3.328125 -0.78125 C 3.078125 -0.625 2.84375 -0.609375 2.734375 -0.609375 C 1.71875 -0.609375 1.71875 -1.53125 1.71875 -2.265625 C 1.71875 -3.015625 1.71875 -3.953125 2.84375 -3.953125 C 3.125 -3.953125 3.40625 -3.859375 3.625 -3.65625 Z M 3.625 -1.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-3">
+<path style="stroke:none;" d="M 3.71875 -0.46875 C 3.71875 -0.5 3.703125 -0.5625 3.640625 -0.78125 C 3.59375 -0.984375 3.5625 -1.03125 3.484375 -1.03125 C 3.421875 -1.03125 3.421875 -1.03125 3.359375 -0.96875 C 3.25 -0.890625 2.984375 -0.671875 2.5625 -0.671875 C 2.328125 -0.671875 2.171875 -0.84375 2.171875 -1.5 L 2.171875 -3.84375 L 3.0625 -3.84375 C 3.1875 -3.84375 3.53125 -3.84375 3.53125 -4.203125 C 3.53125 -4.5625 3.1875 -4.5625 3.0625 -4.5625 L 2.171875 -4.5625 L 2.171875 -5.390625 C 2.171875 -5.71875 2.109375 -5.875 1.6875 -5.875 L 1.390625 -5.875 C 1.03125 -5.875 0.90625 -5.765625 0.90625 -5.390625 L 0.90625 -4.5625 L 0.671875 -4.5625 C 0.5625 -4.5625 0.203125 -4.5625 0.203125 -4.203125 C 0.203125 -3.84375 0.5625 -3.84375 0.671875 -3.84375 L 0.875 -3.84375 L 0.875 -1.328125 C 0.875 -0.3125 1.234375 0.109375 1.921875 0.109375 C 2.015625 0.109375 2.453125 0.109375 2.96875 -0.046875 C 3.140625 -0.09375 3.71875 -0.28125 3.71875 -0.46875 Z M 3.71875 -0.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-4">
+<path style="stroke:none;" d="M 4.984375 -0.484375 L 4.984375 -3.234375 C 4.984375 -4.265625 4.546875 -4.671875 3.53125 -4.671875 C 2.53125 -4.671875 2.078125 -3.984375 1.9375 -3.703125 L 1.921875 -3.703125 L 1.921875 -6.4375 C 1.921875 -6.765625 1.859375 -6.921875 1.453125 -6.921875 L 1.078125 -6.921875 C 0.71875 -6.921875 0.59375 -6.8125 0.59375 -6.4375 L 0.59375 -0.484375 C 0.59375 -0.125 0.703125 0 1.078125 0 L 1.46875 0 C 1.859375 0 1.953125 -0.125 1.953125 -0.484375 L 1.953125 -2.6875 C 1.953125 -3.546875 2.53125 -3.953125 3.046875 -3.953125 C 3.53125 -3.953125 3.625 -3.734375 3.625 -3.21875 L 3.625 -0.484375 C 3.625 -0.15625 3.703125 0 4.109375 0 L 4.5 0 C 4.890625 0 4.984375 -0.125 4.984375 -0.484375 Z M 4.984375 -0.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-0">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-2">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.421875 4.15625 -4.53125 3.203125 -4.53125 C 2.609375 -4.53125 2.03125 -4.328125 1.5625 -3.9375 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 1.9375 L 1.59375 1.9375 L 1.59375 -0.453125 C 1.90625 -0.171875 2.34375 0.109375 2.9375 0.109375 C 3.90625 0.109375 4.78125 -0.875 4.78125 -2.21875 Z M 4 -2.21875 C 4 -1.203125 3.296875 -0.5 2.546875 -0.5 C 2.15625 -0.5 1.890625 -0.703125 1.6875 -0.96875 C 1.59375 -1.109375 1.59375 -1.140625 1.59375 -1.3125 L 1.59375 -3.3125 C 1.828125 -3.671875 2.21875 -3.890625 2.65625 -3.890625 C 3.40625 -3.890625 4 -3.140625 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-3">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-4">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-5">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-8">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-9">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-0">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-2">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-3">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-5">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-6">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-7">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-8">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-9">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-0">
+<path style="stroke:none;" d="M 2.828125 -0.21875 L 2.6875 -0.71875 C 2.421875 -0.53125 2.140625 -0.46875 1.921875 -0.46875 C 1.578125 -0.46875 1.5 -0.796875 1.5 -1.15625 L 1.5 -3.03125 L 2.671875 -3.03125 L 2.671875 -3.53125 L 1.5 -3.53125 L 1.5 -4.546875 L 0.890625 -4.546875 L 0.890625 -3.53125 L 0.15625 -3.53125 L 0.15625 -3.03125 L 0.859375 -3.03125 L 0.859375 -1.015625 C 0.859375 -0.484375 1 0.078125 1.5625 0.078125 C 2.140625 0.078125 2.578125 -0.109375 2.828125 -0.21875 Z M 2.828125 -0.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-1">
+<path style="stroke:none;" d="M 3.5 -1.75 C 3.5 -2.109375 3.46875 -2.640625 3.15625 -3.09375 C 2.875 -3.5 2.390625 -3.65625 2 -3.65625 C 1.03125 -3.65625 0.28125 -2.8125 0.28125 -1.796875 C 0.28125 -0.765625 1.078125 0.078125 2.125 0.078125 C 2.59375 0.078125 3.0625 -0.0625 3.46875 -0.296875 L 3.421875 -0.875 C 2.984375 -0.546875 2.484375 -0.453125 2.140625 -0.453125 C 1.4375 -0.453125 0.921875 -1.015625 0.890625 -1.75 Z M 3.015625 -2.21875 L 0.953125 -2.21875 C 1.125 -2.859375 1.609375 -3.125 2 -3.125 C 2.34375 -3.125 2.875 -2.96875 3.015625 -2.21875 Z M 3.015625 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-2">
+<path style="stroke:none;" d="M 3.890625 0 L 2.203125 -1.828125 L 3.75 -3.53125 L 3.046875 -3.53125 L 1.921875 -2.234375 L 0.765625 -3.53125 L 0.046875 -3.53125 L 1.640625 -1.828125 L 0 0 L 0.703125 0 L 1.921875 -1.5 L 3.171875 0 Z M 3.890625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-3">
+<path style="stroke:none;" d="M 3.703125 0 L 3.703125 -2.359375 C 3.703125 -2.984375 3.515625 -3.625 2.546875 -3.625 C 1.859375 -3.625 1.484375 -3.21875 1.328125 -3.046875 L 1.328125 -5.53125 L 0.65625 -5.53125 L 0.65625 0 L 1.359375 0 L 1.359375 -1.9375 C 1.359375 -2.46875 1.578125 -3.09375 2.1875 -3.09375 C 3.015625 -3.09375 3.015625 -2.53125 3.015625 -2.296875 L 3.015625 0 Z M 3.703125 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-4">
+<path style="stroke:none;" d="M 1.34375 0 L 1.34375 -3.53125 L 0.671875 -3.53125 L 0.671875 0 Z M 1.40625 -4.46875 L 1.40625 -5.265625 L 0.609375 -5.265625 L 0.609375 -4.46875 Z M 1.40625 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-5">
+<path style="stroke:none;" d="M 4.109375 -3.078125 L 4.015625 -3.625 C 3.828125 -3.625 3.296875 -3.609375 2.6875 -3.375 L 2.671875 -3.375 C 2.390625 -3.5625 2.109375 -3.625 1.875 -3.625 C 1.09375 -3.625 0.515625 -3 0.515625 -2.3125 C 0.515625 -2.046875 0.609375 -1.75 0.796875 -1.53125 C 0.6875 -1.390625 0.5625 -1.171875 0.5625 -0.875 C 0.5625 -0.5625 0.6875 -0.359375 0.765625 -0.265625 C 0.328125 -0.015625 0.234375 0.359375 0.234375 0.546875 C 0.234375 1.15625 1.078125 1.640625 2.109375 1.640625 C 3.15625 1.640625 3.984375 1.15625 3.984375 0.546875 C 3.984375 -0.578125 2.59375 -0.578125 2.25 -0.578125 L 1.5 -0.578125 C 1.375 -0.578125 1.03125 -0.578125 1.03125 -0.984375 C 1.03125 -1.140625 1.09375 -1.234375 1.09375 -1.25 C 1.375 -1.0625 1.65625 -1.015625 1.875 -1.015625 C 2.65625 -1.015625 3.234375 -1.625 3.234375 -2.3125 C 3.234375 -2.5625 3.15625 -2.796875 3.015625 -3.015625 C 2.984375 -3.0625 2.984375 -3.078125 2.984375 -3.078125 C 2.984375 -3.109375 3.46875 -3.109375 3.5 -3.109375 C 3.5 -3.109375 3.8125 -3.109375 4.109375 -3.078125 Z M 2.625 -2.3125 C 2.625 -1.703125 2.21875 -1.5 1.875 -1.5 C 1.453125 -1.5 1.125 -1.78125 1.125 -2.3125 C 1.125 -2.9375 1.53125 -3.125 1.875 -3.125 C 2.296875 -3.125 2.625 -2.859375 2.625 -2.3125 Z M 3.375 0.5625 C 3.375 0.90625 2.78125 1.140625 2.109375 1.140625 C 1.4375 1.140625 0.84375 0.90625 0.84375 0.5625 C 0.84375 0.515625 0.84375 0.046875 1.484375 0.046875 L 2.25 0.046875 C 2.4375 0.046875 3.375 0.046875 3.375 0.5625 Z M 3.375 0.5625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-0">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-3">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-5">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-6">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-8">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-0">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.453125 4.109375 -4.53125 3.171875 -4.53125 C 2.78125 -4.53125 2.15625 -4.4375 1.5625 -3.953125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.59375 0 L 1.59375 -0.453125 C 1.828125 -0.234375 2.265625 0.109375 2.9375 0.109375 C 3.921875 0.109375 4.78125 -0.890625 4.78125 -2.21875 Z M 4 -2.21875 C 4 -0.921875 3.171875 -0.5 2.5625 -0.5 C 2.171875 -0.5 1.84375 -0.671875 1.59375 -1.140625 L 1.59375 -3.34375 C 1.75 -3.578125 2.109375 -3.921875 2.65625 -3.921875 C 3.25 -3.921875 4 -3.5 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-3">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-4">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-5">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-6">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-7">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-8">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-9">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-10">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-4">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-5">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-6">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-4">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-5">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-6">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-8">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-11">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-0">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-1">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-3">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-4">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-5">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-8">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-4">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-5">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-6">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-7">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-8">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-10">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-4">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-5">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-6">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-7">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-8">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-10">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-11">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-12">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-13">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-0">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-1">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-2">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-3">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-4">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-5">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-6">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-8">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-9">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-10">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-5">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-8">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-9">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-11">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-12">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-5">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-8">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-5">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-6">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-8">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-11">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-5">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-6">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-7">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface1">
+<path style="fill:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.00059375 -340.160387 C 119.054094 -340.160387 238.112687 -340.160387 357.167375 -340.160387 C 357.167375 -226.773669 357.167375 -113.38695 357.167375 -0.00023125 C 238.112687 -0.00023125 119.054094 -0.00023125 -0.00059375 -0.00023125 C -0.00059375 -113.38695 -0.00059375 -226.773669 -0.00059375 -340.160387 Z M -0.00059375 -340.160387 " transform="matrix(1,0,0,-1,48.067,40.1443)"/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 142.191406 L 286.179688 142.191406 L 286.179688 244.242188 L 167.125 244.242188 Z M 167.125 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 108.175781 L 286.179688 108.175781 L 286.179688 125.183594 L 167.125 125.183594 Z M 167.125 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 261.25 L 286.179688 261.25 L 286.179688 278.257812 L 167.125 278.257812 Z M 167.125 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 65.65625 L 286.179688 65.65625 L 286.179688 91.167969 L 167.125 91.167969 Z M 167.125 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 295.265625 L 286.179688 295.265625 L 286.179688 320.777344 L 167.125 320.777344 Z M 167.125 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 142.191406 L 155.21875 142.191406 L 155.21875 244.242188 L 105.894531 244.242188 Z M 105.894531 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 108.175781 L 155.21875 108.175781 L 155.21875 125.183594 L 105.894531 125.183594 Z M 105.894531 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 261.25 L 155.21875 261.25 L 155.21875 278.257812 L 105.894531 278.257812 Z M 105.894531 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 65.65625 L 155.21875 65.65625 L 155.21875 91.167969 L 105.894531 91.167969 Z M 105.894531 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 295.265625 L 155.21875 295.265625 L 155.21875 320.777344 L 105.894531 320.777344 Z M 105.894531 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 142.191406 L 347.410156 142.191406 L 347.410156 244.242188 L 298.085938 244.242188 Z M 298.085938 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 108.175781 L 347.410156 108.175781 L 347.410156 125.183594 L 298.085938 125.183594 Z M 298.085938 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 261.25 L 347.410156 261.25 L 347.410156 278.257812 L 298.085938 278.257812 Z M 298.085938 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 65.65625 L 347.410156 65.65625 L 347.410156 91.167969 L 298.085938 91.167969 Z M 298.085938 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 295.265625 L 347.410156 295.265625 L 347.410156 320.777344 L 298.085938 320.777344 Z M 298.085938 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 142.191406 L 97.390625 142.191406 L 97.390625 244.242188 L 53.167969 244.242188 Z M 53.167969 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 108.175781 L 97.390625 108.175781 L 97.390625 125.183594 L 53.167969 125.183594 Z M 53.167969 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 261.25 L 97.390625 261.25 L 97.390625 278.257812 L 53.167969 278.257812 Z M 53.167969 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 65.65625 L 97.390625 65.65625 L 97.390625 91.167969 L 53.167969 91.167969 Z M 53.167969 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 295.265625 L 97.390625 295.265625 L 97.390625 320.777344 L 53.167969 320.777344 Z M 53.167969 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 142.191406 L 400.132812 142.191406 L 400.132812 244.242188 L 355.914062 244.242188 Z M 355.914062 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 108.175781 L 400.132812 108.175781 L 400.132812 125.183594 L 355.914062 125.183594 Z M 355.914062 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 261.25 L 400.132812 261.25 L 400.132812 278.257812 L 355.914062 278.257812 Z M 355.914062 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 65.65625 L 400.132812 65.65625 L 400.132812 91.167969 L 355.914062 91.167969 Z M 355.914062 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 295.265625 L 400.132812 295.265625 L 400.132812 320.777344 L 355.914062 320.777344 Z M 355.914062 295.265625 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-0" x="218.5448" y="23.4284"/>
+ <use xlink:href="#glyph0-1" x="222.141312" y="23.4284"/>
+ <use xlink:href="#glyph0-2" x="226.564722" y="23.4284"/>
+ <use xlink:href="#glyph0-0" x="231.157497" y="23.4284"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-0" x="123.8304" y="23.4284"/>
+ <use xlink:href="#glyph1-1" x="126.211472" y="23.4284"/>
+ <use xlink:href="#glyph1-2" x="130.634886" y="23.4284"/>
+ <use xlink:href="#glyph1-3" x="133.683455" y="23.4284"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="116.3834" y="32.6618"/>
+ <use xlink:href="#glyph2-1" x="124.293735" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="128.80681" y="32.6618"/>
+ <use xlink:href="#glyph2-3" x="132.214033" y="32.6618"/>
+ <use xlink:href="#glyph2-4" x="137.195352" y="32.6618"/>
+ <use xlink:href="#glyph2-5" x="139.576423" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-0" x="68.5549" y="23.4284"/>
+ <use xlink:href="#glyph1-1" x="70.935972" y="23.4284"/>
+ <use xlink:href="#glyph1-2" x="75.359386" y="23.4284"/>
+ <use xlink:href="#glyph1-3" x="78.407955" y="23.4284"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="65.7903" y="33.050398"/>
+ <use xlink:href="#glyph3-1" x="70.213713" y="33.050398"/>
+ <use xlink:href="#glyph3-2" x="75.364399" y="33.050398"/>
+ <use xlink:href="#glyph3-0" x="80.34572" y="33.050398"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph4-0" x="312.9852" y="21.485698"/>
+ <use xlink:href="#glyph4-1" x="316.392424" y="21.485698"/>
+ <use xlink:href="#glyph4-2" x="318.773496" y="21.485698"/>
+ <use xlink:href="#glyph4-3" x="323.754818" y="21.485698"/>
+ <use xlink:href="#glyph4-4" x="328.905504" y="21.485698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="308.5718" y="32.6618"/>
+ <use xlink:href="#glyph2-1" x="316.482135" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="320.99521" y="32.6618"/>
+ <use xlink:href="#glyph2-3" x="324.402433" y="32.6618"/>
+ <use xlink:href="#glyph2-4" x="329.383752" y="32.6618"/>
+ <use xlink:href="#glyph2-5" x="331.764823" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph4-0" x="368.2607" y="21.485698"/>
+ <use xlink:href="#glyph4-1" x="371.667924" y="21.485698"/>
+ <use xlink:href="#glyph4-2" x="374.048996" y="21.485698"/>
+ <use xlink:href="#glyph4-3" x="379.030318" y="21.485698"/>
+ <use xlink:href="#glyph4-4" x="384.181004" y="21.485698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="368.5297" y="33.050398"/>
+ <use xlink:href="#glyph3-1" x="372.953113" y="33.050398"/>
+ <use xlink:href="#glyph3-2" x="378.103799" y="33.050398"/>
+ <use xlink:href="#glyph3-0" x="383.08512" y="33.050398"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-0" x="28.858" y="196.0044"/>
+ <use xlink:href="#glyph0-1" x="32.454512" y="196.0044"/>
+ <use xlink:href="#glyph0-2" x="36.877922" y="196.0044"/>
+ <use xlink:href="#glyph0-0" x="41.470697" y="196.0044"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph5-0" x="17.7199" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="22.870585" y="120.0818"/>
+ <use xlink:href="#glyph5-2" x="27.293997" y="120.0818"/>
+ <use xlink:href="#glyph5-3" x="32.086026" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="37.236711" y="120.0818"/>
+ <use xlink:href="#glyph5-4" x="41.660123" y="120.0818"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph6-0" x="31.3386" y="80.2899"/>
+ <use xlink:href="#glyph6-1" x="34.935113" y="80.2899"/>
+ <use xlink:href="#glyph6-2" x="39.916433" y="80.2899"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-0" x="20.35" y="273.2072"/>
+ <use xlink:href="#glyph7-1" x="23.398567" y="273.2072"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-1" x="28.658839" y="273.2072"/>
+ <use xlink:href="#glyph7-2" x="33.640158" y="273.2072"/>
+ <use xlink:href="#glyph7-3" x="37.23667" y="273.2072"/>
+ <use xlink:href="#glyph7-4" x="41.66008" y="273.2072"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-0" x="14.5717" y="311.4201"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-1" x="20.001338" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="24.982657" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="28.579169" y="311.4201"/>
+ <use xlink:href="#glyph8-1" x="32.175681" y="311.4201"/>
+ <use xlink:href="#glyph8-3" x="37.157" y="311.4201"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 168.121094 40.144531 C 168.121094 40.144531 166.128906 40.144531 166.128906 40.144531 L 166.128906 104.480469 C 166.128906 104.480469 168.121094 104.480469 168.121094 104.480469 Z M 168.121094 40.144531 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 165.59375 104.480469 L 167.125 108.175781 L 168.652344 104.480469 Z M 165.59375 104.480469 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 166.589844 104.480469 C 166.589844 104.480469 166.296875 103.777344 166.296875 103.777344 C 166.296875 103.777344 165.59375 103.484375 165.59375 103.484375 C 165.59375 103.484375 164.886719 103.777344 164.886719 103.777344 C 164.886719 103.777344 164.597656 104.480469 164.597656 104.480469 L 166.128906 108.175781 C 166.128906 108.175781 166.417969 108.882812 166.417969 108.882812 C 166.417969 108.882812 167.125 109.171875 167.125 109.171875 C 167.125 109.171875 167.828125 108.882812 167.828125 108.882812 C 167.828125 108.882812 168.121094 108.175781 168.121094 108.175781 L 169.648438 104.480469 C 169.648438 104.480469 169.359375 103.777344 169.359375 103.777344 C 169.359375 103.777344 168.652344 103.484375 168.652344 103.484375 L 165.59375 103.484375 C 165.59375 103.484375 164.886719 103.777344 164.886719 103.777344 C 164.886719 103.777344 164.597656 104.480469 164.597656 104.480469 C 164.597656 104.480469 164.886719 105.1875 164.886719 105.1875 C 164.886719 105.1875 165.59375 105.476562 165.59375 105.476562 L 168.652344 105.476562 C 168.652344 105.476562 167.65625 104.480469 167.65625 104.480469 L 166.128906 108.175781 C 166.128906 108.175781 168.121094 108.175781 168.121094 108.175781 Z M 166.589844 104.480469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph9-0" x="170.1218" y="54.8677"/>
+ <use xlink:href="#glyph9-1" x="174.146707" y="54.8677"/>
+ <use xlink:href="#glyph9-2" x="179.626159" y="54.8677"/>
+ <use xlink:href="#glyph9-3" x="185.2152" y="54.8677"/>
+ <use xlink:href="#glyph9-2" x="189.419434" y="54.8677"/>
+ <use xlink:href="#glyph9-4" x="195.008475" y="54.8677"/>
+ <use xlink:href="#glyph9-5" x="200.238861" y="54.8677"/>
+ <use xlink:href="#glyph9-6" x="205.110592" y="54.8677"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 48.066406 107.179688 C 48.066406 107.179688 48.066406 109.171875 48.066406 109.171875 L 163.429688 109.171875 C 163.429688 109.171875 163.429688 107.179688 163.429688 107.179688 Z M 48.066406 107.179688 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 163.425781 109.707031 L 167.125 108.175781 L 163.425781 106.644531 Z M 163.425781 109.707031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 163.425781 108.710938 C 163.425781 108.710938 162.722656 109.003906 162.722656 109.003906 C 162.722656 109.003906 162.429688 109.707031 162.429688 109.707031 C 162.429688 109.707031 162.722656 110.410156 162.722656 110.410156 C 162.722656 110.410156 163.425781 110.703125 163.425781 110.703125 L 167.125 109.171875 C 167.125 109.171875 167.828125 108.882812 167.828125 108.882812 C 167.828125 108.882812 168.121094 108.175781 168.121094 108.175781 C 168.121094 108.175781 167.828125 107.472656 167.828125 107.472656 C 167.828125 107.472656 167.125 107.179688 167.125 107.179688 L 163.425781 105.648438 C 163.425781 105.648438 162.722656 105.941406 162.722656 105.941406 C 162.722656 105.941406 162.429688 106.644531 162.429688 106.644531 L 162.429688 109.707031 C 162.429688 109.707031 162.722656 110.410156 162.722656 110.410156 C 162.722656 110.410156 163.425781 110.703125 163.425781 110.703125 C 163.425781 110.703125 164.132812 110.410156 164.132812 110.410156 C 164.132812 110.410156 164.421875 109.707031 164.421875 109.707031 L 164.421875 106.644531 C 164.421875 106.644531 163.425781 107.640625 163.425781 107.640625 L 167.125 109.171875 C 167.125 109.171875 167.125 107.179688 167.125 107.179688 Z M 163.425781 108.710938 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph10-0" x="84.6109" y="103.242899"/>
+ <use xlink:href="#glyph10-1" x="90.199941" y="103.242899"/>
+ <use xlink:href="#glyph10-2" x="95.430327" y="103.242899"/>
+ <use xlink:href="#glyph10-3" x="100.302058" y="103.242899"/>
+ <use xlink:href="#glyph10-4" x="105.59222" y="103.242899"/>
+ <use xlink:href="#glyph10-5" x="109.796454" y="103.242899"/>
+ <use xlink:href="#glyph10-1" x="115.385495" y="103.242899"/>
+ <use xlink:href="#glyph10-2" x="120.615881" y="103.242899"/>
+ <use xlink:href="#glyph10-6" x="125.487612" y="103.242899"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 203.835938 108.175781 C 203.835938 108.175781 201.84375 108.175781 201.84375 108.175781 L 201.84375 274.5625 C 201.84375 274.5625 203.835938 274.5625 203.835938 274.5625 Z M 203.835938 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 201.308594 274.5625 L 202.839844 278.257812 L 204.371094 274.5625 Z M 201.308594 274.5625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 202.304688 274.5625 C 202.304688 274.5625 202.015625 273.859375 202.015625 273.859375 C 202.015625 273.859375 201.308594 273.566406 201.308594 273.566406 C 201.308594 273.566406 200.605469 273.859375 200.605469 273.859375 C 200.605469 273.859375 200.3125 274.5625 200.3125 274.5625 L 201.84375 278.257812 C 201.84375 278.257812 202.136719 278.960938 202.136719 278.960938 C 202.136719 278.960938 202.839844 279.253906 202.839844 279.253906 C 202.839844 279.253906 203.546875 278.960938 203.546875 278.960938 C 203.546875 278.960938 203.835938 278.257812 203.835938 278.257812 L 205.367188 274.5625 C 205.367188 274.5625 205.074219 273.859375 205.074219 273.859375 C 205.074219 273.859375 204.371094 273.566406 204.371094 273.566406 L 201.308594 273.566406 C 201.308594 273.566406 200.605469 273.859375 200.605469 273.859375 C 200.605469 273.859375 200.3125 274.5625 200.3125 274.5625 C 200.3125 274.5625 200.605469 275.265625 200.605469 275.265625 C 200.605469 275.265625 201.308594 275.558594 201.308594 275.558594 L 204.371094 275.558594 C 204.371094 275.558594 203.375 274.5625 203.375 274.5625 L 201.84375 278.257812 C 201.84375 278.257812 203.835938 278.257812 203.835938 278.257812 Z M 202.304688 274.5625 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph11-0" x="171.5153" y="216.054798"/>
+ <use xlink:href="#glyph11-1" x="177.104341" y="216.054798"/>
+ <use xlink:href="#glyph11-2" x="182.195249" y="216.054798"/>
+ <use xlink:href="#glyph11-3" x="184.745685" y="216.054798"/>
+ <use xlink:href="#glyph11-0" x="190.225136" y="216.054798"/>
+ <use xlink:href="#glyph11-4" x="195.814177" y="216.054798"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.125 175.210938 C 167.125 175.210938 167.125 177.203125 167.125 177.203125 L 282.484375 177.203125 C 282.484375 177.203125 282.484375 175.210938 282.484375 175.210938 Z M 167.125 175.210938 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 282.484375 177.738281 L 286.179688 176.207031 L 282.484375 174.675781 Z M 282.484375 177.738281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 282.484375 176.742188 C 282.484375 176.742188 281.78125 177.03125 281.78125 177.03125 C 281.78125 177.03125 281.488281 177.738281 281.488281 177.738281 C 281.488281 177.738281 281.78125 178.441406 281.78125 178.441406 C 281.78125 178.441406 282.484375 178.734375 282.484375 178.734375 L 286.179688 177.203125 C 286.179688 177.203125 286.882812 176.910156 286.882812 176.910156 C 286.882812 176.910156 287.175781 176.207031 287.175781 176.207031 C 287.175781 176.207031 286.882812 175.503906 286.882812 175.503906 C 286.882812 175.503906 286.179688 175.210938 286.179688 175.210938 L 282.484375 173.679688 C 282.484375 173.679688 281.78125 173.972656 281.78125 173.972656 C 281.78125 173.972656 281.488281 174.675781 281.488281 174.675781 L 281.488281 177.738281 C 281.488281 177.738281 281.78125 178.441406 281.78125 178.441406 C 281.78125 178.441406 282.484375 178.734375 282.484375 178.734375 C 282.484375 178.734375 283.1875 178.441406 283.1875 178.441406 C 283.1875 178.441406 283.480469 177.738281 283.480469 177.738281 L 283.480469 174.675781 C 283.480469 174.675781 282.484375 175.671875 282.484375 175.671875 L 286.179688 177.203125 C 286.179688 177.203125 286.179688 175.210938 286.179688 175.210938 Z M 282.484375 176.742188 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph12-0" x="241.2793" y="173.0954"/>
+ <use xlink:href="#glyph12-1" x="248.691503" y="173.0954"/>
+ <use xlink:href="#glyph12-2" x="251.241938" y="173.0954"/>
+ <use xlink:href="#glyph12-3" x="256.830978" y="173.0954"/>
+ <use xlink:href="#glyph12-4" x="260.855884" y="173.0954"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 226.152344 91.167969 C 226.152344 91.167969 227.148438 91.167969 227.148438 91.167969 L 227.148438 69.351562 C 227.148438 69.351562 226.152344 69.351562 226.152344 69.351562 Z M 226.152344 91.167969 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.183594 69.351562 L 226.652344 65.65625 L 225.121094 69.351562 Z M 228.183594 69.351562 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.683594 69.351562 C 227.683594 69.351562 227.828125 69.703125 227.828125 69.703125 C 227.828125 69.703125 228.183594 69.851562 228.183594 69.851562 C 228.183594 69.851562 228.535156 69.703125 228.535156 69.703125 C 228.535156 69.703125 228.679688 69.351562 228.679688 69.351562 L 227.148438 65.65625 C 227.148438 65.65625 227.003906 65.304688 227.003906 65.304688 C 227.003906 65.304688 226.652344 65.160156 226.652344 65.160156 C 226.652344 65.160156 226.300781 65.304688 226.300781 65.304688 C 226.300781 65.304688 226.152344 65.65625 226.152344 65.65625 L 224.621094 69.351562 C 224.621094 69.351562 224.769531 69.703125 224.769531 69.703125 C 224.769531 69.703125 225.121094 69.851562 225.121094 69.851562 L 228.183594 69.851562 C 228.183594 69.851562 228.535156 69.703125 228.535156 69.703125 C 228.535156 69.703125 228.679688 69.351562 228.679688 69.351562 C 228.679688 69.351562 228.535156 69 228.535156 69 C 228.535156 69 228.183594 68.855469 228.183594 68.855469 L 225.121094 68.855469 C 225.121094 68.855469 225.617188 69.351562 225.617188 69.351562 L 227.148438 65.65625 C 227.148438 65.65625 226.152344 65.65625 226.152344 65.65625 Z M 227.683594 69.351562 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph6-0" x="229.6493" y="80.2898"/>
+ <use xlink:href="#glyph6-1" x="233.245813" y="80.2898"/>
+ <use xlink:href="#glyph6-2" x="238.227133" y="80.2898"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.679688 108.175781 C 285.679688 108.175781 286.675781 108.175781 286.675781 108.175781 L 286.675781 94.863281 C 286.675781 94.863281 285.679688 94.863281 285.679688 94.863281 Z M 285.679688 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.710938 94.863281 L 286.179688 91.167969 L 284.648438 94.863281 Z M 287.710938 94.863281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.210938 94.863281 C 287.210938 94.863281 287.359375 95.214844 287.359375 95.214844 C 287.359375 95.214844 287.710938 95.363281 287.710938 95.363281 C 287.710938 95.363281 288.0625 95.214844 288.0625 95.214844 C 288.0625 95.214844 288.207031 94.863281 288.207031 94.863281 L 286.675781 91.167969 C 286.675781 91.167969 286.53125 90.816406 286.53125 90.816406 C 286.53125 90.816406 286.179688 90.671875 286.179688 90.671875 C 286.179688 90.671875 285.828125 90.816406 285.828125 90.816406 C 285.828125 90.816406 285.679688 91.167969 285.679688 91.167969 L 284.152344 94.863281 C 284.152344 94.863281 284.296875 95.214844 284.296875 95.214844 C 284.296875 95.214844 284.648438 95.363281 284.648438 95.363281 L 287.710938 95.363281 C 287.710938 95.363281 288.0625 95.214844 288.0625 95.214844 C 288.0625 95.214844 288.207031 94.863281 288.207031 94.863281 C 288.207031 94.863281 288.0625 94.511719 288.0625 94.511719 C 288.0625 94.511719 287.710938 94.367188 287.710938 94.367188 L 284.648438 94.367188 C 284.648438 94.367188 285.148438 94.863281 285.148438 94.863281 L 286.675781 91.167969 C 286.675781 91.167969 285.679688 91.167969 285.679688 91.167969 Z M 287.210938 94.863281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph13-0" x="289.1767" y="102.162299"/>
+ <use xlink:href="#glyph13-1" x="292.773213" y="102.162299"/>
+ <use xlink:href="#glyph13-2" x="297.754533" y="102.162299"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph13-3" x="303.184171" y="102.162299"/>
+ <use xlink:href="#glyph13-4" x="308.334856" y="102.162299"/>
+ <use xlink:href="#glyph13-5" x="310.715927" y="102.162299"/>
+ <use xlink:href="#glyph13-0" x="314.531617" y="102.162299"/>
+ <use xlink:href="#glyph13-6" x="318.12813" y="102.162299"/>
+ <use xlink:href="#glyph13-7" x="322.92016" y="102.162299"/>
+ <use xlink:href="#glyph13-8" x="328.070844" y="102.162299"/>
+ <use xlink:href="#glyph13-9" x="332.494256" y="102.162299"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.148438 108.175781 C 227.148438 108.175781 226.152344 108.175781 226.152344 108.175781 L 226.152344 121.488281 C 226.152344 121.488281 227.148438 121.488281 227.148438 121.488281 Z M 227.148438 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.121094 121.488281 L 226.652344 125.183594 L 228.183594 121.488281 Z M 225.121094 121.488281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.617188 121.488281 C 225.617188 121.488281 225.472656 121.136719 225.472656 121.136719 C 225.472656 121.136719 225.121094 120.992188 225.121094 120.992188 C 225.121094 120.992188 224.769531 121.136719 224.769531 121.136719 C 224.769531 121.136719 224.621094 121.488281 224.621094 121.488281 L 226.152344 125.183594 C 226.152344 125.183594 226.300781 125.535156 226.300781 125.535156 C 226.300781 125.535156 226.652344 125.683594 226.652344 125.683594 C 226.652344 125.683594 227.003906 125.535156 227.003906 125.535156 C 227.003906 125.535156 227.148438 125.183594 227.148438 125.183594 L 228.679688 121.488281 C 228.679688 121.488281 228.535156 121.136719 228.535156 121.136719 C 228.535156 121.136719 228.183594 120.992188 228.183594 120.992188 L 225.121094 120.992188 C 225.121094 120.992188 224.769531 121.136719 224.769531 121.136719 C 224.769531 121.136719 224.621094 121.488281 224.621094 121.488281 C 224.621094 121.488281 224.769531 121.839844 224.769531 121.839844 C 224.769531 121.839844 225.121094 121.988281 225.121094 121.988281 L 228.183594 121.988281 C 228.183594 121.988281 227.683594 121.488281 227.683594 121.488281 L 226.152344 125.183594 C 226.152344 125.183594 227.148438 125.183594 227.148438 125.183594 Z M 225.617188 121.488281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph5-0" x="229.6493" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="234.799985" y="120.0818"/>
+ <use xlink:href="#glyph5-2" x="239.223397" y="120.0818"/>
+ <use xlink:href="#glyph5-3" x="244.015426" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="249.166111" y="120.0818"/>
+ <use xlink:href="#glyph5-4" x="253.589523" y="120.0818"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 286.675781 125.183594 C 286.675781 125.183594 285.679688 125.183594 285.679688 125.183594 L 285.679688 138.496094 C 285.679688 138.496094 286.675781 138.496094 286.675781 138.496094 Z M 286.675781 125.183594 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 284.648438 138.496094 L 286.179688 142.191406 L 287.710938 138.496094 Z M 284.648438 138.496094 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.148438 138.496094 C 285.148438 138.496094 285 138.144531 285 138.144531 C 285 138.144531 284.648438 138 284.648438 138 C 284.648438 138 284.296875 138.144531 284.296875 138.144531 C 284.296875 138.144531 284.152344 138.496094 284.152344 138.496094 L 285.679688 142.191406 C 285.679688 142.191406 285.828125 142.542969 285.828125 142.542969 C 285.828125 142.542969 286.179688 142.691406 286.179688 142.691406 C 286.179688 142.691406 286.53125 142.542969 286.53125 142.542969 C 286.53125 142.542969 286.675781 142.191406 286.675781 142.191406 L 288.207031 138.496094 C 288.207031 138.496094 288.0625 138.144531 288.0625 138.144531 C 288.0625 138.144531 287.710938 138 287.710938 138 L 284.648438 138 C 284.648438 138 284.296875 138.144531 284.296875 138.144531 C 284.296875 138.144531 284.152344 138.496094 284.152344 138.496094 C 284.152344 138.496094 284.296875 138.847656 284.296875 138.847656 C 284.296875 138.847656 284.648438 138.996094 284.648438 138.996094 L 287.710938 138.996094 C 287.710938 138.996094 287.210938 138.496094 287.210938 138.496094 L 285.679688 142.191406 C 285.679688 142.191406 286.675781 142.191406 286.675781 142.191406 Z M 285.148438 138.496094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph14-0" x="289.1767" y="137.0896"/>
+ <use xlink:href="#glyph14-1" x="294.327385" y="137.0896"/>
+ <use xlink:href="#glyph14-2" x="298.750798" y="137.0896"/>
+ <use xlink:href="#glyph14-3" x="303.542828" y="137.0896"/>
+ <use xlink:href="#glyph14-1" x="308.693513" y="137.0896"/>
+ <use xlink:href="#glyph14-4" x="313.116925" y="137.0896"/>
+ <use xlink:href="#glyph14-3" x="316.524149" y="137.0896"/>
+ <use xlink:href="#glyph14-5" x="321.674834" y="137.0896"/>
+ <use xlink:href="#glyph14-6" x="324.055905" y="137.0896"/>
+ <use xlink:href="#glyph14-7" x="327.871596" y="137.0896"/>
+ <use xlink:href="#glyph14-2" x="331.46811" y="137.0896"/>
+ <use xlink:href="#glyph14-8" x="336.26014" y="137.0896"/>
+ <use xlink:href="#glyph14-9" x="341.410825" y="137.0896"/>
+ <use xlink:href="#glyph14-1" x="345.834237" y="137.0896"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 226.902344 142.191406 C 226.902344 142.191406 226.402344 142.191406 226.402344 142.191406 L 226.402344 240.546875 C 226.402344 240.546875 226.902344 240.546875 226.902344 240.546875 Z M 226.902344 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.121094 240.296875 C 225.121094 240.296875 224.945312 240.367188 224.945312 240.367188 C 224.945312 240.367188 224.871094 240.546875 224.871094 240.546875 C 224.871094 240.546875 224.945312 240.722656 224.945312 240.722656 L 225.554688 242.191406 C 225.554688 242.191406 225.480469 242.015625 225.480469 242.015625 L 226.402344 244.242188 C 226.402344 244.242188 226.476562 244.417969 226.476562 244.417969 C 226.476562 244.417969 226.652344 244.488281 226.652344 244.488281 C 226.652344 244.488281 226.828125 244.417969 226.828125 244.417969 C 226.828125 244.417969 226.902344 244.242188 226.902344 244.242188 L 227.820312 242.015625 C 227.820312 242.015625 227.75 242.191406 227.75 242.191406 L 228.359375 240.722656 C 228.359375 240.722656 228.429688 240.546875 228.429688 240.546875 C 228.429688 240.546875 228.359375 240.367188 228.359375 240.367188 C 228.359375 240.367188 228.183594 240.296875 228.183594 240.296875 Z M 225.121094 240.296875 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.296875 240.367188 C 225.296875 240.367188 225.121094 240.792969 225.121094 240.792969 L 228.183594 240.792969 C 228.183594 240.792969 228.007812 240.367188 228.007812 240.367188 L 227.398438 241.839844 C 227.398438 241.839844 227.324219 242.015625 227.324219 242.015625 L 226.402344 244.242188 C 226.402344 244.242188 226.902344 244.242188 226.902344 244.242188 L 225.980469 242.015625 C 225.980469 242.015625 225.90625 241.839844 225.90625 241.839844 Z M 225.296875 240.367188 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.183594 146.136719 C 228.183594 146.136719 228.359375 146.0625 228.359375 146.0625 C 228.359375 146.0625 228.429688 145.886719 228.429688 145.886719 C 228.429688 145.886719 228.359375 145.710938 228.359375 145.710938 L 227.75 144.242188 C 227.75 144.242188 227.820312 144.417969 227.820312 144.417969 L 226.902344 142.191406 C 226.902344 142.191406 226.828125 142.015625 226.828125 142.015625 C 226.828125 142.015625 226.652344 141.945312 226.652344 141.945312 C 226.652344 141.945312 226.476562 142.015625 226.476562 142.015625 C 226.476562 142.015625 226.402344 142.191406 226.402344 142.191406 L 225.480469 144.417969 C 225.480469 144.417969 225.554688 144.242188 225.554688 144.242188 L 224.945312 145.710938 C 224.945312 145.710938 224.871094 145.886719 224.871094 145.886719 C 224.871094 145.886719 224.945312 146.0625 224.945312 146.0625 C 224.945312 146.0625 225.121094 146.136719 225.121094 146.136719 Z M 228.183594 146.136719 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.007812 146.0625 C 228.007812 146.0625 228.183594 145.640625 228.183594 145.640625 L 225.121094 145.640625 C 225.121094 145.640625 225.296875 146.0625 225.296875 146.0625 L 225.90625 144.59375 C 225.90625 144.59375 225.980469 144.417969 225.980469 144.417969 L 226.902344 142.191406 C 226.902344 142.191406 226.402344 142.191406 226.402344 142.191406 L 227.324219 144.417969 C 227.324219 144.417969 227.398438 144.59375 227.398438 144.59375 Z M 228.007812 146.0625 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph15-0" x="229.6493" y="215.5726"/>
+ <use xlink:href="#glyph15-1" x="232.709823" y="215.5726"/>
+ <use xlink:href="#glyph15-2" x="236.471715" y="215.5726"/>
+ <use xlink:href="#glyph15-0" x="240.377069" y="215.5726"/>
+ <use xlink:href="#glyph15-3" x="243.437592" y="215.5726"/>
+ <use xlink:href="#glyph15-1" x="247.813183" y="215.5726"/>
+ <use xlink:href="#glyph15-4" x="251.575075" y="215.5726"/>
+ <use xlink:href="#glyph15-5" x="253.591513" y="215.5726"/>
+ <use xlink:href="#glyph15-3" x="257.823642" y="215.5726"/>
+ <use xlink:href="#glyph15-0" x="262.199233" y="215.5726"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.679688 261.25 C 285.679688 261.25 286.675781 261.25 286.675781 261.25 L 286.675781 247.9375 C 286.675781 247.9375 285.679688 247.9375 285.679688 247.9375 Z M 285.679688 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.710938 247.9375 L 286.179688 244.242188 L 284.648438 247.9375 Z M 287.710938 247.9375 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.210938 247.9375 C 287.210938 247.9375 287.359375 248.289062 287.359375 248.289062 C 287.359375 248.289062 287.710938 248.433594 287.710938 248.433594 C 287.710938 248.433594 288.0625 248.289062 288.0625 248.289062 C 288.0625 248.289062 288.207031 247.9375 288.207031 247.9375 L 286.675781 244.242188 C 286.675781 244.242188 286.53125 243.886719 286.53125 243.886719 C 286.53125 243.886719 286.179688 243.742188 286.179688 243.742188 C 286.179688 243.742188 285.828125 243.886719 285.828125 243.886719 C 285.828125 243.886719 285.679688 244.242188 285.679688 244.242188 L 284.152344 247.9375 C 284.152344 247.9375 284.296875 248.289062 284.296875 248.289062 C 284.296875 248.289062 284.648438 248.433594 284.648438 248.433594 L 287.710938 248.433594 C 287.710938 248.433594 288.0625 248.289062 288.0625 248.289062 C 288.0625 248.289062 288.207031 247.9375 288.207031 247.9375 C 288.207031 247.9375 288.0625 247.585938 288.0625 247.585938 C 288.0625 247.585938 287.710938 247.4375 287.710938 247.4375 L 284.648438 247.4375 C 284.648438 247.4375 285.148438 247.9375 285.148438 247.9375 L 286.675781 244.242188 C 286.675781 244.242188 285.679688 244.242188 285.679688 244.242188 Z M 287.210938 247.9375 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph16-0" x="289.1767" y="256.1993"/>
+ <use xlink:href="#glyph16-1" x="292.225268" y="256.1993"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph16-1" x="297.485542" y="256.1993"/>
+ <use xlink:href="#glyph16-2" x="302.466861" y="256.1993"/>
+ <use xlink:href="#glyph16-3" x="306.063374" y="256.1993"/>
+ <use xlink:href="#glyph16-4" x="310.486786" y="256.1993"/>
+ <use xlink:href="#glyph16-5" x="313.894009" y="256.1993"/>
+ <use xlink:href="#glyph16-6" x="319.044694" y="256.1993"/>
+ <use xlink:href="#glyph16-7" x="321.425765" y="256.1993"/>
+ <use xlink:href="#glyph16-2" x="325.241456" y="256.1993"/>
+ <use xlink:href="#glyph16-8" x="328.837969" y="256.1993"/>
+ <use xlink:href="#glyph16-9" x="333.629998" y="256.1993"/>
+ <use xlink:href="#glyph16-10" x="338.780683" y="256.1993"/>
+ <use xlink:href="#glyph16-3" x="343.204095" y="256.1993"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 226.152344 278.257812 C 226.152344 278.257812 227.148438 278.257812 227.148438 278.257812 L 227.148438 264.945312 C 227.148438 264.945312 226.152344 264.945312 226.152344 264.945312 Z M 226.152344 278.257812 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.183594 264.945312 L 226.652344 261.25 L 225.121094 264.945312 Z M 228.183594 264.945312 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.683594 264.945312 C 227.683594 264.945312 227.828125 265.296875 227.828125 265.296875 C 227.828125 265.296875 228.183594 265.441406 228.183594 265.441406 C 228.183594 265.441406 228.535156 265.296875 228.535156 265.296875 C 228.535156 265.296875 228.679688 264.945312 228.679688 264.945312 L 227.148438 261.25 C 227.148438 261.25 227.003906 260.898438 227.003906 260.898438 C 227.003906 260.898438 226.652344 260.75 226.652344 260.75 C 226.652344 260.75 226.300781 260.898438 226.300781 260.898438 C 226.300781 260.898438 226.152344 261.25 226.152344 261.25 L 224.621094 264.945312 C 224.621094 264.945312 224.769531 265.296875 224.769531 265.296875 C 224.769531 265.296875 225.121094 265.441406 225.121094 265.441406 L 228.183594 265.441406 C 228.183594 265.441406 228.535156 265.296875 228.535156 265.296875 C 228.535156 265.296875 228.679688 264.945312 228.679688 264.945312 C 228.679688 264.945312 228.535156 264.59375 228.535156 264.59375 C 228.535156 264.59375 228.183594 264.445312 228.183594 264.445312 L 225.121094 264.445312 C 225.121094 264.445312 225.617188 264.945312 225.617188 264.945312 L 227.148438 261.25 C 227.148438 261.25 226.152344 261.25 226.152344 261.25 Z M 227.683594 264.945312 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-0" x="229.6493" y="273.2072"/>
+ <use xlink:href="#glyph7-1" x="232.697867" y="273.2072"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-1" x="237.958139" y="273.2072"/>
+ <use xlink:href="#glyph7-2" x="242.939458" y="273.2072"/>
+ <use xlink:href="#glyph7-3" x="246.53597" y="273.2072"/>
+ <use xlink:href="#glyph7-4" x="250.95938" y="273.2072"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 286.675781 278.257812 C 286.675781 278.257812 285.679688 278.257812 285.679688 278.257812 L 285.679688 291.570312 C 285.679688 291.570312 286.675781 291.570312 286.675781 291.570312 Z M 286.675781 278.257812 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 284.648438 291.570312 L 286.179688 295.265625 L 287.710938 291.570312 Z M 284.648438 291.570312 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.148438 291.570312 C 285.148438 291.570312 285 291.21875 285 291.21875 C 285 291.21875 284.648438 291.070312 284.648438 291.070312 C 284.648438 291.070312 284.296875 291.21875 284.296875 291.21875 C 284.296875 291.21875 284.152344 291.570312 284.152344 291.570312 L 285.679688 295.265625 C 285.679688 295.265625 285.828125 295.617188 285.828125 295.617188 C 285.828125 295.617188 286.179688 295.761719 286.179688 295.761719 C 286.179688 295.761719 286.53125 295.617188 286.53125 295.617188 C 286.53125 295.617188 286.675781 295.265625 286.675781 295.265625 L 288.207031 291.570312 C 288.207031 291.570312 288.0625 291.21875 288.0625 291.21875 C 288.0625 291.21875 287.710938 291.070312 287.710938 291.070312 L 284.648438 291.070312 C 284.648438 291.070312 284.296875 291.21875 284.296875 291.21875 C 284.296875 291.21875 284.152344 291.570312 284.152344 291.570312 C 284.152344 291.570312 284.296875 291.921875 284.296875 291.921875 C 284.296875 291.921875 284.648438 292.066406 284.648438 292.066406 L 287.710938 292.066406 C 287.710938 292.066406 287.210938 291.570312 287.210938 291.570312 L 285.679688 295.265625 C 285.679688 295.265625 286.675781 295.265625 286.675781 295.265625 Z M 285.148438 291.570312 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph17-0" x="289.1767" y="290.1602"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph17-1" x="294.606339" y="290.1602"/>
+ <use xlink:href="#glyph17-2" x="299.587659" y="290.1602"/>
+ <use xlink:href="#glyph17-2" x="303.184172" y="290.1602"/>
+ <use xlink:href="#glyph17-1" x="306.780685" y="290.1602"/>
+ <use xlink:href="#glyph17-3" x="311.762005" y="290.1602"/>
+ <use xlink:href="#glyph17-4" x="319.672341" y="290.1602"/>
+ <use xlink:href="#glyph17-5" x="324.823025" y="290.1602"/>
+ <use xlink:href="#glyph17-6" x="327.204096" y="290.1602"/>
+ <use xlink:href="#glyph17-2" x="331.019787" y="290.1602"/>
+ <use xlink:href="#glyph17-7" x="334.6163" y="290.1602"/>
+ <use xlink:href="#glyph17-8" x="339.40833" y="290.1602"/>
+ <use xlink:href="#glyph17-9" x="344.559015" y="290.1602"/>
+ <use xlink:href="#glyph17-10" x="348.982427" y="290.1602"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.148438 295.265625 C 227.148438 295.265625 226.152344 295.265625 226.152344 295.265625 L 226.152344 317.082031 C 226.152344 317.082031 227.148438 317.082031 227.148438 317.082031 Z M 227.148438 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.121094 317.082031 L 226.652344 320.777344 L 228.183594 317.082031 Z M 225.121094 317.082031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.617188 317.082031 C 225.617188 317.082031 225.472656 316.730469 225.472656 316.730469 C 225.472656 316.730469 225.121094 316.582031 225.121094 316.582031 C 225.121094 316.582031 224.769531 316.730469 224.769531 316.730469 C 224.769531 316.730469 224.621094 317.082031 224.621094 317.082031 L 226.152344 320.777344 C 226.152344 320.777344 226.300781 321.128906 226.300781 321.128906 C 226.300781 321.128906 226.652344 321.273438 226.652344 321.273438 C 226.652344 321.273438 227.003906 321.128906 227.003906 321.128906 C 227.003906 321.128906 227.148438 320.777344 227.148438 320.777344 L 228.679688 317.082031 C 228.679688 317.082031 228.535156 316.730469 228.535156 316.730469 C 228.535156 316.730469 228.183594 316.582031 228.183594 316.582031 L 225.121094 316.582031 C 225.121094 316.582031 224.769531 316.730469 224.769531 316.730469 C 224.769531 316.730469 224.621094 317.082031 224.621094 317.082031 C 224.621094 317.082031 224.769531 317.433594 224.769531 317.433594 C 224.769531 317.433594 225.121094 317.578125 225.121094 317.578125 L 228.183594 317.578125 C 228.183594 317.578125 227.683594 317.082031 227.683594 317.082031 L 226.152344 320.777344 C 226.152344 320.777344 227.148438 320.777344 227.148438 320.777344 Z M 225.617188 317.082031 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-0" x="229.6493" y="311.4201"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-1" x="235.078938" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="240.060257" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="243.656769" y="311.4201"/>
+ <use xlink:href="#glyph8-1" x="247.253281" y="311.4201"/>
+ <use xlink:href="#glyph8-3" x="252.2346" y="311.4201"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 97.390625 176.703125 C 97.390625 176.703125 97.390625 175.707031 97.390625 175.707031 L 56.863281 175.707031 C 56.863281 175.707031 56.863281 176.703125 56.863281 176.703125 Z M 97.390625 176.703125 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 56.863281 174.675781 L 53.167969 176.207031 L 56.863281 177.738281 Z M 56.863281 174.675781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 56.863281 175.175781 C 56.863281 175.175781 57.21875 175.027344 57.21875 175.027344 C 57.21875 175.027344 57.363281 174.675781 57.363281 174.675781 C 57.363281 174.675781 57.21875 174.324219 57.21875 174.324219 C 57.21875 174.324219 56.863281 174.175781 56.863281 174.175781 L 53.167969 175.707031 C 53.167969 175.707031 52.816406 175.855469 52.816406 175.855469 C 52.816406 175.855469 52.671875 176.207031 52.671875 176.207031 C 52.671875 176.207031 52.816406 176.558594 52.816406 176.558594 C 52.816406 176.558594 53.167969 176.703125 53.167969 176.703125 L 56.863281 178.234375 C 56.863281 178.234375 57.21875 178.089844 57.21875 178.089844 C 57.21875 178.089844 57.363281 177.738281 57.363281 177.738281 L 57.363281 174.675781 C 57.363281 174.675781 57.21875 174.324219 57.21875 174.324219 C 57.21875 174.324219 56.863281 174.175781 56.863281 174.175781 C 56.863281 174.175781 56.511719 174.324219 56.511719 174.324219 C 56.511719 174.324219 56.367188 174.675781 56.367188 174.675781 L 56.367188 177.738281 C 56.367188 177.738281 56.863281 177.238281 56.863281 177.238281 L 53.167969 175.707031 C 53.167969 175.707031 53.167969 176.703125 53.167969 176.703125 Z M 56.863281 175.175781 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph18-0" x="57.6808" y="171.152698"/>
+ <use xlink:href="#glyph18-1" x="60.061871" y="171.152698"/>
+ <use xlink:href="#glyph18-2" x="64.485284" y="171.152698"/>
+ <use xlink:href="#glyph18-3" x="67.533852" y="171.152698"/>
+ <use xlink:href="#glyph18-1" x="71.130365" y="171.152698"/>
+ <use xlink:href="#glyph18-4" x="75.553778" y="171.152698"/>
+ <use xlink:href="#glyph18-5" x="80.704463" y="171.152698"/>
+ <use xlink:href="#glyph18-1" x="85.685784" y="171.152698"/>
+ <use xlink:href="#glyph18-6" x="90.109197" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="65.7903" y="186.118898"/>
+ <use xlink:href="#glyph3-1" x="70.213713" y="186.118898"/>
+ <use xlink:href="#glyph3-2" x="75.364399" y="186.118898"/>
+ <use xlink:href="#glyph3-0" x="80.34572" y="186.118898"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 105.894531 321.273438 C 105.894531 321.273438 105.894531 320.277344 105.894531 320.277344 L 101.085938 320.277344 C 101.085938 320.277344 101.085938 321.273438 101.085938 321.273438 Z M 105.894531 321.273438 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 101.085938 319.246094 L 97.390625 320.777344 L 101.085938 322.308594 Z M 101.085938 319.246094 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 101.085938 319.746094 C 101.085938 319.746094 101.4375 319.597656 101.4375 319.597656 C 101.4375 319.597656 101.585938 319.246094 101.585938 319.246094 C 101.585938 319.246094 101.4375 318.894531 101.4375 318.894531 C 101.4375 318.894531 101.085938 318.75 101.085938 318.75 L 97.390625 320.277344 C 97.390625 320.277344 97.039062 320.425781 97.039062 320.425781 C 97.039062 320.425781 96.890625 320.777344 96.890625 320.777344 C 96.890625 320.777344 97.039062 321.128906 97.039062 321.128906 C 97.039062 321.128906 97.390625 321.273438 97.390625 321.273438 L 101.085938 322.804688 C 101.085938 322.804688 101.4375 322.660156 101.4375 322.660156 C 101.4375 322.660156 101.585938 322.308594 101.585938 322.308594 L 101.585938 319.246094 C 101.585938 319.246094 101.4375 318.894531 101.4375 318.894531 C 101.4375 318.894531 101.085938 318.75 101.085938 318.75 C 101.085938 318.75 100.734375 318.894531 100.734375 318.894531 C 100.734375 318.894531 100.585938 319.246094 100.585938 319.246094 L 100.585938 322.308594 C 100.585938 322.308594 101.085938 321.808594 101.085938 321.808594 L 97.390625 320.277344 C 97.390625 320.277344 97.390625 321.273438 97.390625 321.273438 Z M 101.085938 319.746094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph19-0" x="67.1764" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="69.557471" y="330.797298"/>
+ <use xlink:href="#glyph19-2" x="73.980882" y="330.797298"/>
+ <use xlink:href="#glyph19-3" x="77.02945" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="80.625963" y="330.797298"/>
+ <use xlink:href="#glyph19-4" x="85.049375" y="330.797298"/>
+ <use xlink:href="#glyph19-5" x="90.200059" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="95.181378" y="330.797298"/>
+ <use xlink:href="#glyph19-4" x="99.60479" y="330.797298"/>
+ <use xlink:href="#glyph19-6" x="104.755475" y="330.797298"/>
+ <use xlink:href="#glyph19-7" x="107.136545" y="330.797298"/>
+ <use xlink:href="#glyph19-3" x="110.952236" y="330.797298"/>
+ <use xlink:href="#glyph19-8" x="114.548749" y="330.797298"/>
+ <use xlink:href="#glyph19-9" x="119.340778" y="330.797298"/>
+ <use xlink:href="#glyph19-10" x="124.491463" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="128.914874" y="330.797298"/>
+ <use xlink:href="#glyph19-11" x="133.338286" y="330.797298"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph20-0" x="75.2859" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="79.709312" y="342.593098"/>
+ <use xlink:href="#glyph20-2" x="84.859996" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="89.841315" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="94.264727" y="342.593098"/>
+ <use xlink:href="#glyph20-3" x="99.415411" y="342.593098"/>
+ <use xlink:href="#glyph20-4" x="101.796482" y="342.593098"/>
+ <use xlink:href="#glyph20-5" x="105.612172" y="342.593098"/>
+ <use xlink:href="#glyph20-6" x="109.208685" y="342.593098"/>
+ <use xlink:href="#glyph20-7" x="114.000714" y="342.593098"/>
+ <use xlink:href="#glyph20-8" x="119.151399" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="123.57481" y="342.593098"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 155.21875 176.703125 C 155.21875 176.703125 155.21875 175.707031 155.21875 175.707031 L 109.589844 175.707031 C 109.589844 175.707031 109.589844 176.703125 109.589844 176.703125 Z M 155.21875 176.703125 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 109.589844 174.675781 L 105.894531 176.207031 L 109.589844 177.738281 Z M 109.589844 174.675781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 109.589844 175.175781 C 109.589844 175.175781 109.941406 175.027344 109.941406 175.027344 C 109.941406 175.027344 110.089844 174.675781 110.089844 174.675781 C 110.089844 174.675781 109.941406 174.324219 109.941406 174.324219 C 109.941406 174.324219 109.589844 174.175781 109.589844 174.175781 L 105.894531 175.707031 C 105.894531 175.707031 105.542969 175.855469 105.542969 175.855469 C 105.542969 175.855469 105.394531 176.207031 105.394531 176.207031 C 105.394531 176.207031 105.542969 176.558594 105.542969 176.558594 C 105.542969 176.558594 105.894531 176.703125 105.894531 176.703125 L 109.589844 178.234375 C 109.589844 178.234375 109.941406 178.089844 109.941406 178.089844 C 109.941406 178.089844 110.089844 177.738281 110.089844 177.738281 L 110.089844 174.675781 C 110.089844 174.675781 109.941406 174.324219 109.941406 174.324219 C 109.941406 174.324219 109.589844 174.175781 109.589844 174.175781 C 109.589844 174.175781 109.238281 174.324219 109.238281 174.324219 C 109.238281 174.324219 109.09375 174.675781 109.09375 174.675781 L 109.09375 177.738281 C 109.09375 177.738281 109.589844 177.238281 109.589844 177.238281 L 105.894531 175.707031 C 105.894531 175.707031 105.894531 176.703125 105.894531 176.703125 Z M 109.589844 175.175781 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph21-0" x="108.2739" y="171.152698"/>
+ <use xlink:href="#glyph21-1" x="110.654971" y="171.152698"/>
+ <use xlink:href="#glyph21-2" x="115.078383" y="171.152698"/>
+ <use xlink:href="#glyph21-3" x="118.12695" y="171.152698"/>
+ <use xlink:href="#glyph21-4" x="121.723463" y="171.152698"/>
+ <use xlink:href="#glyph21-5" x="129.633798" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph21-6" x="134.146874" y="171.152698"/>
+ <use xlink:href="#glyph21-7" x="137.554096" y="171.152698"/>
+ <use xlink:href="#glyph21-8" x="142.535416" y="171.152698"/>
+ <use xlink:href="#glyph21-9" x="144.916487" y="171.152698"/>
+ <use xlink:href="#glyph21-10" x="150.067171" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="116.3834" y="185.7304"/>
+ <use xlink:href="#glyph2-1" x="124.293735" y="185.7304"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="128.80681" y="185.7304"/>
+ <use xlink:href="#glyph2-3" x="132.214033" y="185.7304"/>
+ <use xlink:href="#glyph2-4" x="137.195352" y="185.7304"/>
+ <use xlink:href="#glyph2-5" x="139.576423" y="185.7304"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.125 321.273438 C 167.125 321.273438 167.125 320.277344 167.125 320.277344 L 158.914062 320.277344 C 158.914062 320.277344 158.914062 321.273438 158.914062 321.273438 Z M 167.125 321.273438 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 158.914062 319.246094 L 155.21875 320.777344 L 158.914062 322.308594 Z M 158.914062 319.246094 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 158.914062 319.746094 C 158.914062 319.746094 159.265625 319.597656 159.265625 319.597656 C 159.265625 319.597656 159.410156 319.246094 159.410156 319.246094 C 159.410156 319.246094 159.265625 318.894531 159.265625 318.894531 C 159.265625 318.894531 158.914062 318.75 158.914062 318.75 L 155.21875 320.277344 C 155.21875 320.277344 154.867188 320.425781 154.867188 320.425781 C 154.867188 320.425781 154.71875 320.777344 154.71875 320.777344 C 154.71875 320.777344 154.867188 321.128906 154.867188 321.128906 C 154.867188 321.128906 155.21875 321.273438 155.21875 321.273438 L 158.914062 322.804688 C 158.914062 322.804688 159.265625 322.660156 159.265625 322.660156 C 159.265625 322.660156 159.410156 322.308594 159.410156 322.308594 L 159.410156 319.246094 C 159.410156 319.246094 159.265625 318.894531 159.265625 318.894531 C 159.265625 318.894531 158.914062 318.75 158.914062 318.75 C 158.914062 318.75 158.5625 318.894531 158.5625 318.894531 C 158.5625 318.894531 158.414062 319.246094 158.414062 319.246094 L 158.414062 322.308594 C 158.414062 322.308594 158.914062 321.808594 158.914062 321.808594 L 155.21875 320.277344 C 155.21875 320.277344 155.21875 321.273438 155.21875 321.273438 Z M 158.914062 319.746094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph22-0" x="122.0214" y="354.608098"/>
+ <use xlink:href="#glyph22-1" x="124.402471" y="354.608098"/>
+ <use xlink:href="#glyph22-2" x="128.825883" y="354.608098"/>
+ <use xlink:href="#glyph22-3" x="131.874451" y="354.608098"/>
+ <use xlink:href="#glyph22-4" x="135.470964" y="354.608098"/>
+ <use xlink:href="#glyph22-5" x="143.381301" y="354.608098"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph22-6" x="147.894377" y="354.608098"/>
+ <use xlink:href="#glyph22-7" x="151.3016" y="354.608098"/>
+ <use xlink:href="#glyph22-8" x="156.28292" y="354.608098"/>
+ <use xlink:href="#glyph22-9" x="158.663991" y="354.608098"/>
+ <use xlink:href="#glyph22-10" x="163.814676" y="354.608098"/>
+ <use xlink:href="#glyph22-8" x="168.965361" y="354.608098"/>
+ <use xlink:href="#glyph22-11" x="171.346432" y="354.608098"/>
+ <use xlink:href="#glyph22-3" x="175.162123" y="354.608098"/>
+ <use xlink:href="#glyph22-5" x="178.758636" y="354.608098"/>
+ <use xlink:href="#glyph22-9" x="183.550666" y="354.608098"/>
+ <use xlink:href="#glyph22-12" x="188.701351" y="354.608098"/>
+ <use xlink:href="#glyph22-1" x="193.124764" y="354.608098"/>
+ <use xlink:href="#glyph22-13" x="197.548176" y="354.608098"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-0" x="130.1309" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="138.041236" y="366.404298"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-2" x="142.554312" y="366.404298"/>
+ <use xlink:href="#glyph23-3" x="145.961535" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="150.942855" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="153.323926" y="366.404298"/>
+ <use xlink:href="#glyph23-6" x="158.474611" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="163.625296" y="366.404298"/>
+ <use xlink:href="#glyph23-7" x="166.006367" y="366.404298"/>
+ <use xlink:href="#glyph23-8" x="169.822058" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="173.418571" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="178.210601" y="366.404298"/>
+ <use xlink:href="#glyph23-9" x="183.361286" y="366.404298"/>
+ <use xlink:href="#glyph23-10" x="187.784699" y="366.404298"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 286.179688 320.277344 C 286.179688 320.277344 286.179688 321.273438 286.179688 321.273438 L 294.390625 321.273438 C 294.390625 321.273438 294.390625 320.277344 294.390625 320.277344 Z M 286.179688 320.277344 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 294.390625 322.308594 L 298.085938 320.777344 L 294.390625 319.246094 Z M 294.390625 322.308594 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 294.390625 321.808594 C 294.390625 321.808594 294.039062 321.957031 294.039062 321.957031 C 294.039062 321.957031 293.890625 322.308594 293.890625 322.308594 C 293.890625 322.308594 294.039062 322.660156 294.039062 322.660156 C 294.039062 322.660156 294.390625 322.804688 294.390625 322.804688 L 298.085938 321.273438 C 298.085938 321.273438 298.4375 321.128906 298.4375 321.128906 C 298.4375 321.128906 298.582031 320.777344 298.582031 320.777344 C 298.582031 320.777344 298.4375 320.425781 298.4375 320.425781 C 298.4375 320.425781 298.085938 320.277344 298.085938 320.277344 L 294.390625 318.75 C 294.390625 318.75 294.039062 318.894531 294.039062 318.894531 C 294.039062 318.894531 293.890625 319.246094 293.890625 319.246094 L 293.890625 322.308594 C 293.890625 322.308594 294.039062 322.660156 294.039062 322.660156 C 294.039062 322.660156 294.390625 322.804688 294.390625 322.804688 C 294.390625 322.804688 294.742188 322.660156 294.742188 322.660156 C 294.742188 322.660156 294.886719 322.308594 294.886719 322.308594 L 294.886719 319.246094 C 294.886719 319.246094 294.390625 319.746094 294.390625 319.746094 L 298.085938 321.273438 C 298.085938 321.273438 298.085938 320.277344 298.085938 320.277344 Z M 294.390625 321.808594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph24-0" x="249.9482" y="354.498598"/>
+ <use xlink:href="#glyph24-1" x="253.355423" y="354.498598"/>
+ <use xlink:href="#glyph24-2" x="255.736494" y="354.498598"/>
+ <use xlink:href="#glyph24-3" x="260.717814" y="354.498598"/>
+ <use xlink:href="#glyph24-4" x="265.868499" y="354.498598"/>
+ <use xlink:href="#glyph24-5" x="269.465012" y="354.498598"/>
+ <use xlink:href="#glyph24-6" x="277.375349" y="354.498598"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph24-0" x="281.888425" y="354.498598"/>
+ <use xlink:href="#glyph24-2" x="285.295648" y="354.498598"/>
+ <use xlink:href="#glyph24-1" x="290.276968" y="354.498598"/>
+ <use xlink:href="#glyph24-7" x="292.658039" y="354.498598"/>
+ <use xlink:href="#glyph24-8" x="297.808724" y="354.498598"/>
+ <use xlink:href="#glyph24-1" x="302.959409" y="354.498598"/>
+ <use xlink:href="#glyph24-9" x="305.34048" y="354.498598"/>
+ <use xlink:href="#glyph24-4" x="309.156172" y="354.498598"/>
+ <use xlink:href="#glyph24-6" x="312.752685" y="354.498598"/>
+ <use xlink:href="#glyph24-7" x="317.544715" y="354.498598"/>
+ <use xlink:href="#glyph24-10" x="322.6954" y="354.498598"/>
+ <use xlink:href="#glyph24-11" x="327.118812" y="354.498598"/>
+ <use xlink:href="#glyph24-12" x="331.542224" y="354.498598"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-0" x="261.0913" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="269.001636" y="366.404298"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-2" x="273.514712" y="366.404298"/>
+ <use xlink:href="#glyph23-3" x="276.921935" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="281.903255" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="284.284326" y="366.404298"/>
+ <use xlink:href="#glyph23-6" x="289.435011" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="294.585696" y="366.404298"/>
+ <use xlink:href="#glyph23-7" x="296.966767" y="366.404298"/>
+ <use xlink:href="#glyph23-8" x="300.782458" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="304.378971" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="309.171001" y="366.404298"/>
+ <use xlink:href="#glyph23-9" x="314.321686" y="366.404298"/>
+ <use xlink:href="#glyph23-10" x="318.745099" y="366.404298"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 298.085938 175.707031 C 298.085938 175.707031 298.085938 176.703125 298.085938 176.703125 L 343.714844 176.703125 C 343.714844 176.703125 343.714844 175.707031 343.714844 175.707031 Z M 298.085938 175.707031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 343.710938 177.738281 L 347.410156 176.207031 L 343.710938 174.675781 Z M 343.710938 177.738281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 343.710938 177.238281 C 343.710938 177.238281 343.359375 177.386719 343.359375 177.386719 C 343.359375 177.386719 343.214844 177.738281 343.214844 177.738281 C 343.214844 177.738281 343.359375 178.089844 343.359375 178.089844 C 343.359375 178.089844 343.710938 178.234375 343.710938 178.234375 L 347.410156 176.703125 C 347.410156 176.703125 347.761719 176.558594 347.761719 176.558594 C 347.761719 176.558594 347.90625 176.207031 347.90625 176.207031 C 347.90625 176.207031 347.761719 175.855469 347.761719 175.855469 C 347.761719 175.855469 347.410156 175.707031 347.410156 175.707031 L 343.710938 174.175781 C 343.710938 174.175781 343.359375 174.324219 343.359375 174.324219 C 343.359375 174.324219 343.214844 174.675781 343.214844 174.675781 L 343.214844 177.738281 C 343.214844 177.738281 343.359375 178.089844 343.359375 178.089844 C 343.359375 178.089844 343.710938 178.234375 343.710938 178.234375 C 343.710938 178.234375 344.066406 178.089844 344.066406 178.089844 C 344.066406 178.089844 344.210938 177.738281 344.210938 177.738281 L 344.210938 174.675781 C 344.210938 174.675781 343.710938 175.175781 343.710938 175.175781 L 347.410156 176.703125 C 347.410156 176.703125 347.410156 175.707031 347.410156 175.707031 Z M 343.710938 177.238281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph25-0" x="297.4288" y="171.152698"/>
+ <use xlink:href="#glyph25-1" x="300.836023" y="171.152698"/>
+ <use xlink:href="#glyph25-2" x="303.217094" y="171.152698"/>
+ <use xlink:href="#glyph25-3" x="308.198413" y="171.152698"/>
+ <use xlink:href="#glyph25-4" x="313.349098" y="171.152698"/>
+ <use xlink:href="#glyph25-5" x="316.945611" y="171.152698"/>
+ <use xlink:href="#glyph25-6" x="324.855947" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph25-0" x="329.369023" y="171.152698"/>
+ <use xlink:href="#glyph25-2" x="332.776245" y="171.152698"/>
+ <use xlink:href="#glyph25-1" x="337.757565" y="171.152698"/>
+ <use xlink:href="#glyph25-7" x="340.138636" y="171.152698"/>
+ <use xlink:href="#glyph25-8" x="345.289321" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="308.5718" y="185.7304"/>
+ <use xlink:href="#glyph2-1" x="316.482135" y="185.7304"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="320.99521" y="185.7304"/>
+ <use xlink:href="#glyph2-3" x="324.402433" y="185.7304"/>
+ <use xlink:href="#glyph2-4" x="329.383752" y="185.7304"/>
+ <use xlink:href="#glyph2-5" x="331.764823" y="185.7304"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 347.410156 320.277344 C 347.410156 320.277344 347.410156 321.273438 347.410156 321.273438 L 352.21875 321.273438 C 352.21875 321.273438 352.21875 320.277344 352.21875 320.277344 Z M 347.410156 320.277344 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 352.21875 322.308594 L 355.914062 320.777344 L 352.21875 319.246094 Z M 352.21875 322.308594 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 352.21875 321.808594 C 352.21875 321.808594 351.863281 321.957031 351.863281 321.957031 C 351.863281 321.957031 351.71875 322.308594 351.71875 322.308594 C 351.71875 322.308594 351.863281 322.660156 351.863281 322.660156 C 351.863281 322.660156 352.21875 322.804688 352.21875 322.804688 L 355.914062 321.273438 C 355.914062 321.273438 356.265625 321.128906 356.265625 321.128906 C 356.265625 321.128906 356.410156 320.777344 356.410156 320.777344 C 356.410156 320.777344 356.265625 320.425781 356.265625 320.425781 C 356.265625 320.425781 355.914062 320.277344 355.914062 320.277344 L 352.21875 318.75 C 352.21875 318.75 351.863281 318.894531 351.863281 318.894531 C 351.863281 318.894531 351.71875 319.246094 351.71875 319.246094 L 351.71875 322.308594 C 351.71875 322.308594 351.863281 322.660156 351.863281 322.660156 C 351.863281 322.660156 352.21875 322.804688 352.21875 322.804688 C 352.21875 322.804688 352.570312 322.660156 352.570312 322.660156 C 352.570312 322.660156 352.714844 322.308594 352.714844 322.308594 L 352.714844 319.246094 C 352.714844 319.246094 352.21875 319.746094 352.21875 319.746094 L 355.914062 321.273438 C 355.914062 321.273438 355.914062 320.277344 355.914062 320.277344 Z M 352.21875 321.808594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph26-0" x="314.1579" y="330.687698"/>
+ <use xlink:href="#glyph26-1" x="317.565123" y="330.687698"/>
+ <use xlink:href="#glyph26-2" x="319.946193" y="330.687698"/>
+ <use xlink:href="#glyph26-3" x="324.927513" y="330.687698"/>
+ <use xlink:href="#glyph26-4" x="330.078198" y="330.687698"/>
+ <use xlink:href="#glyph26-5" x="333.674711" y="330.687698"/>
+ <use xlink:href="#glyph26-6" x="338.098122" y="330.687698"/>
+ <use xlink:href="#glyph26-2" x="343.248807" y="330.687698"/>
+ <use xlink:href="#glyph26-5" x="348.230127" y="330.687698"/>
+ <use xlink:href="#glyph26-6" x="352.653539" y="330.687698"/>
+ <use xlink:href="#glyph26-1" x="357.804223" y="330.687698"/>
+ <use xlink:href="#glyph26-7" x="360.185294" y="330.687698"/>
+ <use xlink:href="#glyph26-4" x="364.000985" y="330.687698"/>
+ <use xlink:href="#glyph26-8" x="367.597498" y="330.687698"/>
+ <use xlink:href="#glyph26-9" x="372.389527" y="330.687698"/>
+ <use xlink:href="#glyph26-10" x="377.540212" y="330.687698"/>
+ <use xlink:href="#glyph26-5" x="381.963624" y="330.687698"/>
+ <use xlink:href="#glyph26-11" x="386.387036" y="330.687698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph20-0" x="325.301" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="329.724412" y="342.593098"/>
+ <use xlink:href="#glyph20-2" x="334.875096" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="339.856415" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="344.279827" y="342.593098"/>
+ <use xlink:href="#glyph20-3" x="349.430511" y="342.593098"/>
+ <use xlink:href="#glyph20-4" x="351.811582" y="342.593098"/>
+ <use xlink:href="#glyph20-5" x="355.627272" y="342.593098"/>
+ <use xlink:href="#glyph20-6" x="359.223785" y="342.593098"/>
+ <use xlink:href="#glyph20-7" x="364.015814" y="342.593098"/>
+ <use xlink:href="#glyph20-8" x="369.166499" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="373.58991" y="342.593098"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 355.914062 175.707031 C 355.914062 175.707031 355.914062 176.703125 355.914062 176.703125 L 396.4375 176.703125 C 396.4375 176.703125 396.4375 175.707031 396.4375 175.707031 Z M 355.914062 175.707031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 396.4375 177.738281 L 400.132812 176.207031 L 396.4375 174.675781 Z M 396.4375 177.738281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 396.4375 177.238281 C 396.4375 177.238281 396.085938 177.386719 396.085938 177.386719 C 396.085938 177.386719 395.941406 177.738281 395.941406 177.738281 C 395.941406 177.738281 396.085938 178.089844 396.085938 178.089844 C 396.085938 178.089844 396.4375 178.234375 396.4375 178.234375 L 400.132812 176.703125 C 400.132812 176.703125 400.484375 176.558594 400.484375 176.558594 C 400.484375 176.558594 400.632812 176.207031 400.632812 176.207031 C 400.632812 176.207031 400.484375 175.855469 400.484375 175.855469 C 400.484375 175.855469 400.132812 175.707031 400.132812 175.707031 L 396.4375 174.175781 C 396.4375 174.175781 396.085938 174.324219 396.085938 174.324219 C 396.085938 174.324219 395.941406 174.675781 395.941406 174.675781 L 395.941406 177.738281 C 395.941406 177.738281 396.085938 178.089844 396.085938 178.089844 C 396.085938 178.089844 396.4375 178.234375 396.4375 178.234375 C 396.4375 178.234375 396.789062 178.089844 396.789062 178.089844 C 396.789062 178.089844 396.9375 177.738281 396.9375 177.738281 L 396.9375 174.675781 C 396.9375 174.675781 396.4375 175.175781 396.4375 175.175781 L 400.132812 176.703125 C 400.132812 176.703125 400.132812 175.707031 400.132812 175.707031 Z M 396.4375 177.238281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph27-0" x="357.3867" y="171.152698"/>
+ <use xlink:href="#glyph27-1" x="360.793923" y="171.152698"/>
+ <use xlink:href="#glyph27-2" x="363.174995" y="171.152698"/>
+ <use xlink:href="#glyph27-3" x="368.156315" y="171.152698"/>
+ <use xlink:href="#glyph27-4" x="373.307001" y="171.152698"/>
+ <use xlink:href="#glyph27-5" x="376.903514" y="171.152698"/>
+ <use xlink:href="#glyph27-6" x="381.326927" y="171.152698"/>
+ <use xlink:href="#glyph27-2" x="386.477613" y="171.152698"/>
+ <use xlink:href="#glyph27-5" x="391.458933" y="171.152698"/>
+ <use xlink:href="#glyph27-7" x="395.882346" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="368.5297" y="186.118898"/>
+ <use xlink:href="#glyph3-1" x="372.953113" y="186.118898"/>
+ <use xlink:href="#glyph3-2" x="378.103799" y="186.118898"/>
+ <use xlink:href="#glyph3-0" x="383.08512" y="186.118898"/>
+</g>
+</g>
+</svg>
diff --git a/info/context-notes-zh-cn/src/figures/aligned-1.pdf b/info/context-notes-zh-cn/src/figures/aligned-1.pdf
new file mode 100644
index 0000000000..e7c5b46d7c
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/aligned-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/aligned-2.pdf b/info/context-notes-zh-cn/src/figures/aligned-2.pdf
new file mode 100644
index 0000000000..8f52afbeee
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/aligned-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/bad-latin.pdf b/info/context-notes-zh-cn/src/figures/bad-latin.pdf
new file mode 100644
index 0000000000..34bf4d40d7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/bad-latin.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-1.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-1.pdf
new file mode 100644
index 0000000000..00d0481dcd
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-2.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-2.pdf
new file mode 100644
index 0000000000..0c53fb84bd
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-3.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-3.pdf
new file mode 100644
index 0000000000..5c09f0bd80
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-4.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-4.pdf
new file mode 100644
index 0000000000..c79c91dd5e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-5.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-5.pdf
new file mode 100644
index 0000000000..d7c29695f3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/cmd-window.png b/info/context-notes-zh-cn/src/figures/cmd-window.png
new file mode 100644
index 0000000000..81629fcb6e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/cmd-window.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/ctxnotes-2.png b/info/context-notes-zh-cn/src/figures/ctxnotes-2.png
new file mode 100644
index 0000000000..11190a179d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/ctxnotes-2.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/ctxnotes.png b/info/context-notes-zh-cn/src/figures/ctxnotes.png
new file mode 100644
index 0000000000..faaf563432
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/ctxnotes.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/defaultfonts.pdf b/info/context-notes-zh-cn/src/figures/defaultfonts.pdf
new file mode 100644
index 0000000000..0a2af2b0ca
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/defaultfonts.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/fakewords.pdf b/info/context-notes-zh-cn/src/figures/fakewords.pdf
new file mode 100644
index 0000000000..8170c00d84
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/fakewords.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/fallbacks.pdf b/info/context-notes-zh-cn/src/figures/fallbacks.pdf
new file mode 100644
index 0000000000..599fe4e088
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/fallbacks.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/fontsize-level.pdf b/info/context-notes-zh-cn/src/figures/fontsize-level.pdf
new file mode 100644
index 0000000000..91c34eab9b
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/fontsize-level.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/foo.pdf b/info/context-notes-zh-cn/src/figures/foo.pdf
new file mode 100644
index 0000000000..0da6514b9f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/foo.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hello.png b/info/context-notes-zh-cn/src/figures/hello.png
new file mode 100644
index 0000000000..01b096bd20
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hello.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert-1.pdf b/info/context-notes-zh-cn/src/figures/hibert-1.pdf
new file mode 100644
index 0000000000..9f7ba941b7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert-2.pdf b/info/context-notes-zh-cn/src/figures/hibert-2.pdf
new file mode 100644
index 0000000000..47b7d5728e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert-3.pdf b/info/context-notes-zh-cn/src/figures/hibert-3.pdf
new file mode 100644
index 0000000000..4a780c6814
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert.pdf b/info/context-notes-zh-cn/src/figures/hibert.pdf
new file mode 100644
index 0000000000..627236d101
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/indenting-1.pdf b/info/context-notes-zh-cn/src/figures/indenting-1.pdf
new file mode 100644
index 0000000000..52333e11b7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/indenting-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/indenting-2.pdf b/info/context-notes-zh-cn/src/figures/indenting-2.pdf
new file mode 100644
index 0000000000..be10c57825
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/indenting-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/letter.pdf b/info/context-notes-zh-cn/src/figures/letter.pdf
new file mode 100644
index 0000000000..9a2aa7345d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/letter.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/lines.pdf b/info/context-notes-zh-cn/src/figures/lines.pdf
new file mode 100644
index 0000000000..b5445178d1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/lines.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/linux-terminal-icon.png b/info/context-notes-zh-cn/src/figures/linux-terminal-icon.png
new file mode 100644
index 0000000000..561da8dbb8
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/linux-terminal-icon.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf b/info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf
new file mode 100644
index 0000000000..6b5a8ecb67
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/msfonts.png b/info/context-notes-zh-cn/src/figures/msfonts.png
new file mode 100644
index 0000000000..a1e05840f5
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/msfonts.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/none-zhfonts.pdf b/info/context-notes-zh-cn/src/figures/none-zhfonts.pdf
new file mode 100644
index 0000000000..5064281d40
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/none-zhfonts.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pagenumber.png b/info/context-notes-zh-cn/src/figures/pagenumber.png
new file mode 100644
index 0000000000..16906a2736
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pagenumber.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/parindentcolor.pdf b/info/context-notes-zh-cn/src/figures/parindentcolor.pdf
new file mode 100644
index 0000000000..36f765a403
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/parindentcolor.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-2.pdf b/info/context-notes-zh-cn/src/figures/pars-2.pdf
new file mode 100644
index 0000000000..3651200580
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-3.pdf b/info/context-notes-zh-cn/src/figures/pars-3.pdf
new file mode 100644
index 0000000000..efb7228ddb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-4.pdf b/info/context-notes-zh-cn/src/figures/pars-4.pdf
new file mode 100644
index 0000000000..795bd8b5b4
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-5.pdf b/info/context-notes-zh-cn/src/figures/pars-5.pdf
new file mode 100644
index 0000000000..45ed389aeb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars.pdf b/info/context-notes-zh-cn/src/figures/pars.pdf
new file mode 100644
index 0000000000..1db6965752
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/qian.pdf b/info/context-notes-zh-cn/src/figures/qian.pdf
new file mode 100644
index 0000000000..461e463a48
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/qian.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/search.png b/info/context-notes-zh-cn/src/figures/search.png
new file mode 100644
index 0000000000..74e12ca6a2
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/search.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/setupbodyfont.pdf b/info/context-notes-zh-cn/src/figures/setupbodyfont.pdf
new file mode 100644
index 0000000000..9086488f21
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/setupbodyfont.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/slides-finished.pdf b/info/context-notes-zh-cn/src/figures/slides-finished.pdf
new file mode 100644
index 0000000000..b49b06afcb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/slides-finished.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/slides.pdf b/info/context-notes-zh-cn/src/figures/slides.pdf
new file mode 100644
index 0000000000..3d65bd5a28
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/slides.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/starting-area.pdf b/info/context-notes-zh-cn/src/figures/starting-area.pdf
new file mode 100644
index 0000000000..40598ce3da
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/starting-area.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/style-file.png b/info/context-notes-zh-cn/src/figures/style-file.png
new file mode 100644
index 0000000000..1612428c77
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/style-file.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/tex-root.png b/info/context-notes-zh-cn/src/figures/tex-root.png
new file mode 100644
index 0000000000..0a7d60fbd1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/tex-root.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/true-words.pdf b/info/context-notes-zh-cn/src/figures/true-words.pdf
new file mode 100644
index 0000000000..0faf5af1e3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/true-words.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/win-r.jpg b/info/context-notes-zh-cn/src/figures/win-r.jpg
new file mode 100644
index 0000000000..b33d05417a
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/win-r.jpg
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-2.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-2.pdf
new file mode 100644
index 0000000000..dafa5e5f8b
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-3.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-3.pdf
new file mode 100644
index 0000000000..ede9539c35
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-4.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-4.pdf
new file mode 100644
index 0000000000..595fad74e9
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-5.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-5.pdf
new file mode 100644
index 0000000000..5dec6e3ec1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu.pdf b/info/context-notes-zh-cn/src/figures/zaoshu.pdf
new file mode 100644
index 0000000000..b40135449a
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts-01.pdf b/info/context-notes-zh-cn/src/figures/zhfonts-01.pdf
new file mode 100644
index 0000000000..12e3519ae6
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts-01.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts-02.pdf b/info/context-notes-zh-cn/src/figures/zhfonts-02.pdf
new file mode 100644
index 0000000000..f4795fec8c
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts-02.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts-03.pdf b/info/context-notes-zh-cn/src/figures/zhfonts-03.pdf
new file mode 100644
index 0000000000..c1ccc3fcfc
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts-03.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts.pdf b/info/context-notes-zh-cn/src/figures/zhfonts.pdf
new file mode 100644
index 0000000000..8958d73fc3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/fonts.tex b/info/context-notes-zh-cn/src/fonts.tex
deleted file mode 100644
index c597b23ee5..0000000000
--- a/info/context-notes-zh-cn/src/fonts.tex
+++ /dev/null
@@ -1,219 +0,0 @@
-\startcomponent fonts
-\environment doc-env
-\product ctxnotes
-
-\chapter{在字体中挣扎}
-
-当我刚开始学用 \LATEX\ 时,就患上了字体恐惧症。如果只是写英文文档,那么对于初学者而言实在是太简单了,基本上不需要怎么关心字体的问题;但是对于中文或者其它非西语文字而言,\TEX\ 的易用性依然很弱,以至于用户不得不去弄清楚诸多有关字体方面的知识及其配置方法。我很憎恶这些东西,但是也没有办法,排版本来就不是一件易事,只好秉承“为之,则难者易易也”的精神去摸索一下。我开始阅读 \CONTEXT\ Fonts 文档\mycite{fonts},这一章内容就是我的阅读笔记。
-
-\section{字体、别名与特征}
-
-为字体文件取个别名,这是 \CONTEXT\ 字体机制推荐的做法。比如,我们可以将 AdobeSongStd-Light.otf 字体取名为 Song:
-
-\startniceTEX
-\definefontsynonym
- [Song][AdobeSongStd-Light][features=zh]
-\stopniceTEX
-
-\noindent \type{features=zh} 参数是用来告诉 \CONTEXT\ MkIV 应当采用中文 (zh) 方式来处理这款字体。\type{features} 的值并非 \CONTEXT\ 提供的标准值,而是要用户自己定义:
-
-\startniceTEX
-\definefontfeature
- [zh][mode=node,script=hang,lang=zhs]
-\stopniceTEX
-
-\noindent \type{zh} 这个 font feature 名字可根据自己的嗜好来定;至于第二组参数,对于简体中文用户,通常这样设置就可以。
-
-\tex{definefontfeature} 与 \tex{definefontsynonym} 命令的用法在与本文档一同发布的 zhfonts.tex 文件中均有体现,可参照理解。
-
-这里需要注意一下字体别名定义中的字体名称。上面的示例中,我直接使用 \type{AdobeSongStd-Light} 告诉 MkIV:我使用的是 AdobeSongStd-Light.otf 字体。实际上,这样的效率会有点低。因为 MkIV 有两种搜索字体的方式,第一种是根据字体开发商给出的字体名 (name),第二种是字体的文件名 (file)。字体名可以使用 \type{fc-list} 命令来查,譬如查询搜索 AdobeSongStd-Light.otf 的字体名:
-
-\starttyping
-> fc-list | grep Song
-Adobe 宋体 Std L,Adobe Song Std,Adobe 宋体 Std,
-Adobe Song Std L:style=L,Regular
-\stoptyping
-
-\noindent 我们可以得到许多字体名,推荐从中选择一个纯英文的供给 MkIV,譬如:
-
-\startniceTEX
-\definefontsynonym
- [Song][name:Adobe Song Std][features=zh]
-\stopniceTEX
-
-如果想使用字体文件名,可以为其冠以 \type{file} 前缀:
-
-\startniceTEX
-\definefontsynonym
- [Song][file:AdobeSongStd-Light][features=zh]
-\stopniceTEX
-
-在本节最初的那个例子中,既没有 \type{name} 前缀,也没有 \type{file} 前缀,那么 MkIV 就只好先尝试字体名;如果找不到字体,再去尝试字体文件名。
-
-我觉得使用字体名比较正规一些,因为字体的文件名很容易被改掉;字体名是由开发商设定的,一般用户不会想到去修改它,因此使用它可以提高文档的可移植性。
-
-\CONTEXT\ 预定义了一些标准的字体别名,我们常用的是\crlf\type{[Serif|Sans|Mono][Bold|Italic|BoldItalic]},它们在 zhfonts.tex 中均出现了。
-
-还值得注意的一个问题就是:我们可以定义字体别名的别名。
-
-\section{简单的字体定义}
-
-使用 \tex{definefont} 命令可以实现最快捷、最容易理解的字体定义与使用。比如我想定义 Adobe 宋体并使用它:
-
-\startniceTEX
-\definefont
- [Song]
- [{name:Adobe Song Std*zh} at 14pt]
-
-\starttext
-\Song 我使用的是 Adobe 宋体
-\stoptext
-\stopniceTEX
-
-或许上面这个例子看起来有点古怪,我将字体定义的部分改写一下,或许就会清楚一些:
-
-\startniceTEX
-\definefontsynonym
- [SongTi][name:Adobe Song Std][features=zh]
-
-\definefont
- [Song][SongTi at 14pt]
-\stopniceTEX
-
-如果在定义字体时,不去硬性地设定字体尺寸,那么 \CONTEXT\ 可以根据具体的排版环境自动为字体设定合适的尺寸。
-
-\section{Typescript 与 typeface}
-
-说实在的,typescript 的中文意思我真的说不出来,词典上可以查到的解释是“用打字机打的文件”。我在中文里也实在找不出简洁、准确的翻译,所以还是直称 typescript 为好。
-
-简单来说,typescript 是 \CONTEXT\ 的最上层的字体配置文件。目前,MkIV 没有提供面向中文用户的 typescript 文件,这就需要我们自行去实现,因此掌握 typescript 文件的写法非常重要。
-
-在只针对 MkIV 的 typescript 配置与使用中,常用命令如下:
-
-\startitemize
-\item typescript 环境
-\item \tex{definefontsynonym}
-\item \tex{definetypeface}
-\item \tex{usetypescriptfile}
-\item \tex{usetypescript}
-\stopitemize
-
-\noindent 下面我将结合 zhfonts.tex 中的部分内容来理解这些命令的用法。
-
-在 zhfonts.tex 文件中可以看到,typescript 文件内容是被 typescript 环境分为多个小节的,每个小节实现了一组字体的配置:
-
-\startniceTEX
-\definefontfeature
- [zh][mode=node,script=hang,lang=zhs]
-
-\starttypescript[serif] [zhfont]
- ... ...
-\stoptypescript
-
-\starttypescript[sans][zhfont]
- ... ...
-\stoptypescript
-
-\starttypscript[mono][zhfont]
- ... ...
-\stoptypescript
-
-\starttypescript[myfont]
- ... ...
-\stoptypescript
-\stopniceTEX
-
-上述代码,我设置了三种字样 (typeface):衬线 (serif)、非衬线 (sans) 与等宽 (mono)。最后的那个 typescript 环境是打算用来定义字样集合的。有关这里的字样的概念,可参考黄老师的《\LATEX\ 学习笔记》\mycite{lnotes}的第 8 章来理解,同时你也可以从中额外获得一些 \TEX\ 字体的常识。
-
-我们是在 typescript 环境中定义具体的字体,比如下面定义衬线字样的一组字体:
-
-\startniceTEX
-\starttypescript[serif] [zhfont]
- \definefontsynonym
- [Serif][name:adobesongstd]
- \definefontsynonym
- [SerifBold][name:adobeheitistd]
- \definefontsynonym
- [SerifItalic][name:adobekaitistd]
- \definefontsynonym
- [SerifBoldItalic][name:adobeheitistd]
-\stoptypescript
-\stopniceTEX
-
-\noindent 因为已经知道了 \tex{definefontsynonym} 命令的作用,因此上述字体的定义看起来就非常简单了,就是用我们所指定的一组字体去替换 \ConTeXt\ 标准字体别名默认所使用的字体而已。我们可以按照这样的方式完成非衬线与等宽字样的字体定义,不再赘述。
-
-下面来看一下字样的定义:
-
-\startniceTEX
-\starttypescript[myfont]
- \definetypeface[myfont][rm][serif][zhfont][features=zh]
- \definetypeface[myfont][ss][sans][zhfont][features=zh]
- \definetypeface[myfont][tt][mono][zhfont]
-\stoptypescript
-\stopniceTEX
-
-\noindent \tex{definetypeface} 命令的第三个参数与第四个参数是与前面的 typescript 环境参数对应一致的,比如:
-
-\startniceTEX
-\definetypeface
- [adobe][rm][serif][zhfont]
-\stopniceTEX
-\noindent 对应:
-\startniceTEX
-\starttypescript[serif][zhfont]
- ... ... ...
-\stoptypescript
-\stopniceTEX
-\noindent 其中含义就是将 adobe 字样集合的衬线 (rm) 字样设为该 typescript 文件中具有 \type{[serif][zhfont]} 参数的 typescript 环境所定义的字体集;也就是说,\CONTEXT\ 可以根据 \tex{definetypeface} 的第三、四个参数来匹配对应的 typescript 环境。不知我有没有说明白。总之,在此要认真体会一下 typescript 环境参数的作用,姑且可以将其当作是对应 typescript 环境唯一的标识符号。至于 \tex{definetypeface} 前两个参数,其实也是作为一个标识符来用的,这在使用 typescript 文件时就可以看到。
-
-将上述的知识汇在一起,就可以写出类似 zhfonts.tex 这样的 typescript 文件,若将其投入到 \TEX\ 目录树中,就可以在排版时使用它了,譬如:
-
-\startniceTEX
-\usetypescriptfile[zhfonts]
-\usetypescript[myfont]
-\setupbodyfont[adobe,rm,11pt]
-\stopniceTEX
-
-\noindent 首先 \tex{usetypescriptfile} 命令驱使 \CONTEXT\ 在 \TEX\ 目录树中找到 zhfonts.tex 这个 typescript 文件;然后 \tex{usetypescript} 命令可以在 zhfonts.tex 文件中匹配含有一个参数为 myfont 的 typescript 环境,并读取该环境所定义的字样信息;最后使用 \tex{setupbodyfont} 命令将 typescript 文件中所定义的某种字样其定位文档的默认字体集,\tex{definetypeface} 命令的前两个参数的用途再次便得以体现出来。
-
-\section{混合字体}
-
-从概念上讲,混合字体就是将两种或更多的字体的不同编码部分合成到一起,形成一种新的字体。比如,中文字体往往也会包含了英文部分,偏偏这部分字体设计的又太差。所以,目前对于中文用户而言,混合字体机制实在是重之又重,因为我们可以利用这套机制来实现将一部分好看的英文字体注入到中文字体中,以此来实现美观的中英文混合文本排版。
-
-下面展示一个小例子,用以说明如何使用 MkIV 的混合字体机制:
-
-\startniceTEX
-\definefontsynonym
- [zhserif][name:adobesongstd]
-\definefontfallback
- [serifwhatever][lmroman10-regular][0x0000-0x0400][force=yes]
-\definefontsynonym
- [ZhSerif][zhserif][fallbacks=serifwhatever]
-\definefont[FbSong][ZhSerif at 12pt]
-\definefont[Song][name:adobesongstd at 12pt]
-
-\starttext
-\FbSong
-中英文混合:To do or not to do, this is the question!
-
-\Song
-中英文混合:To do or not to do, this is the question!
-\stoptext
-\stopniceTEX
-
-字体切换命令 \tex{ZhSerif} 使用的是混合字体,是 Adobe 宋体的 \type{0x0000-0x0400} 区域中掺入了 lmroman10 字体的对应区域;而 \tex{Song} 命令使用的则是纯的 Adobe 宋体。上面的例子也许看不出来混合字体的优势所在,这主要是因为 Adobe 宋体中的英文部分设计的还算不错。如果将 Adobe 宋体换成 SimSun,对比效果会更明显一些。
-
-我们可以将这种混合字体机制与 MkIV 的 typescript 机制相结合,在不同风格的中文字体中掺入类似风格的英文字符,这样中英文混合排版的问题就能够得到较好的解决。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “不仅仅是为了中文”,详细介绍了 \CONTEXT\ 的 Typescript 机制:\crlf \hbox{\tt http://liyanrui.is-programmer.com/2009/10/21/not-just-for-chinese.12264.html}
-\item “zhfonts 模块的用法”,zhfonts 模块可支持中文字体加载、标点间距调整等功能:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/10/zhfonts-usage.23740.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/layout.tex b/info/context-notes-zh-cn/src/layout.tex
deleted file mode 100644
index 52691d16d8..0000000000
--- a/info/context-notes-zh-cn/src/layout.tex
+++ /dev/null
@@ -1,233 +0,0 @@
-\startcomponent layout
-\product ctxnotes
-
-\chapter{版面设计}
-
-其实我不懂排版,我只是希望这份文档的版面看上去不那么丑陋,所以我经常留意有关排版的知识,并乐于使用 \CONTEXT\ 来实践。我将这个实践的过程整理出来,就是本章所记述的内容,并且每当我修改本文档的版面风格时,这一章的内容也会适应性的变动。可以将本章看作是这份笔记版面设计的说明书。
-
-\section{页面与纸张}
-
-页面尺寸就是文档的版面尺寸,而纸张尺寸是指文档印刷用纸的规格,它们的取值一般是相同的;只有在要求每张印刷用纸上实现多页排版时,二者的取值才不一样。这份笔记的屏幕阅读文档页面与纸张尺寸设定如下:
-
-\startniceTEX
-\definepapersize[SCREEN][width=24cm,height=18cm]
-\setuppapersize[SCREEN][SCREEN]
-\stopniceTEX
-
-\noindent 其意是指页面与纸张的尺寸的宽高分别为 24cm 与 18cm,这是考虑到显示屏幕尺寸的宽高比一般为 4:3,这样可以充分利用屏幕区域,并且翻页方便。
-
-页面与纸张的规格可以采用 \CONTEXT\ 已经预定义好的国际标准规格,如 A0~A10、B0~B5 等;也可以采用自定义尺寸:
-
-\startniceTEX
-\definepapersize[I18][width=18.5cm,height=23cm]
-\setuppapersize[I18][I18]
-\stopniceTEX
-
-\noindent 这里定义的 I18 规格的页面与纸张尺寸,是近年来计算机技术书籍排版常用的纸张规格。
-
-\section{版面布局}
-
-\CONTEXT\ 将版面划分为 25 个区域,具体的区域划分在 {\it\CONTEXT, an excursion}\cite[ms-cb-en]文档的第 32 章 {\it Page Layout} 中可以看到,也可以在 \CONTEXT\ Wiki 的 {\it Layout} 页面看到\footnote{http://wiki.contextgarden.net/Layout}。
-
-我为这份文档所规划的版面布局如下:
-
-\startmode[print]
-\startniceTEX
-\setuplayout
- [leftmargin=2cm,
- rightmargin=3cm,
- width=fit,
- height=fit,
- topspace=1cm,
- header=1.5cm,
- footer=1.5cm]
-\stopniceTEX
-\stopmode
-
-\startmode[screen]
-\startniceTEX
-\setuplayout
- [width=fit,
- height=middle,
- leftmargin=3cm,
- rightmargin=3cm,
- backspace=4cm,
- topspace=.5cm,
- headerdistance=.4cm,
- footerdistance=.4cm,
- header=1cm,
- footer=1cm]
-\stopniceTEX
-\stopmode
-
-\noindent 下一页的插图显示了这些参数的布局效果,这里交代一下,那幅插图是利用了 Patrick 写的一个模块 (Module)\footnote{\type{http://modules.contextgarden.net/t-layout}}绘制的。
-
-\type{\setuplayout} 命令所具有的参数,在数量上堪称是 \ConTeXt\ 命令之最,如果我没有数错,应该是 44 个,常用的参数也就是下一页插图中所示的那些了。通过这些参数,\ConTeXt\ 可实现各种复杂的版面布局。
-
-说点闲话。如果我没记错的话,MS Word 用来设置版面布局的参数不超过 10 个。在 \LATEX\ 中,需要借助一些宏包才可以比较方便地实现版面布局控制。复杂与统一,也许这是 \CONTEXT\ 的一个很重要的特征,复杂是追求功能强大的必然结果,而统一可以让用户只需一份官方提供的技术手册就可以毫无争议地使用这些功能。
-
-注意,将 \type{\setuplayout} 的 \type{width} 与 \type{height} 参数设为 \type{fit} 或 \type{middle} 都可以让 \CONTEXT\ 自动为我们确定它们的值。\type{fit} 参数的确定是根据周边邻域参数计算出来的,而 \type{middle} 不是很关心周边参数,它只需要将 \type{width} 或 \type{height} 所确定的尺度相对于同一维向的页面尺度是居中的。
-
-\type{location} 这个参数让我费解了许久,历经多次尝试,总算知道一点所以然。当我们将版面尺寸与纸张尺寸设为相同时,\type{location} 这个参数无论如何设定都是看不到效果的。当纸张尺寸大于版面尺寸时,\type{location} 的值可以表示版面在纸张的位置,譬如 left、right、middle、singlesided 以及 doublesided。
-
-\page
-\ShowLayout[digit=1,showmore=0]
-\page
-
-\section[HFer]{页眉、页脚}
-
-对于这份文档的页眉,我将奇数页的页眉设为当前章标题(左)+ 页码(右);偶数页的页眉设为当前节标题(左)+ 页码(右):
-
-\startniceTEX
-\def\CurrentChapter{%
- 第 \headnumber[chapter]\ 章%
- \hbox to wem{}%
- \getmarking[chapter]%
-}
-
-\def\CurrentSection{%
- \headnumber[section]%
- \hbox to 2em{}%
- \getmarking[section]%
-}
-
- \setupheadertexts
- [\CurrentChapter][pagenumber]
- [pagenumber][\CurrentSection]
-\stopniceTEX
-
-\tex{setupheadertexts} 命令的参数设置的有些古怪,按手册上讲的,前两个参数分别用于设置奇数页的页眉左侧与右侧内容,后两个参数则用于设置偶数页的页眉左侧与右侧内容,但是在上述的页眉设置语句中,我只有将偶数页的页眉内容的左右位置掉换过来才可以得到这份文档的页眉结构。我并不知道为什么要这样设置,只是多次尝试才知道只有如此才能实现我的要求。
-
-由于设置在页眉中显示页码,所以应当引去 \CONTEXT\ 自动为页面添加的页码,顺便把页码的字号也设置一下:
-
-\startniceTEX
-\setuppagenumbering
- [style=\tfx,location=]
-\stopniceTEX
-
-我感觉 \CONTEXT\ 是有点另类,居然让 \tex{setuppagenumbering} 来设置双面打印文档模式。如果,我想将本文档的页眉结构变成:奇数页的页眉设为当前章标题(左)+ 页码(右);偶数页的页眉设为当前节标题(右)+ 页码(左),只需在 \tex{setuppagenumbering} 命令中设定 \type{alternative} 参数即可:
-
-\startniceTEX
-\setuppagenumbering
- [alternative=doublesided,style=\tfx,location=]
-\stopniceTEX
-
-\noindent 感觉有点莫名其妙,也许因为我还未发现正确的页眉设置方法的缘故。
-
-页脚的设定方法与页眉类似,我在页脚的左侧设置了显示这份文档的名称,在其右侧显示可以跳往目录页的链接:
-
-\startniceTEX
-\startmode[screen]
-\setupfootertexts
- [{\ConTeXt\ MkIV 学习笔记}][{\goto{回目录}[content]}]
- [{\goto{回目录}[content]}][{\ConTeXt\ MkIV 学习笔记}]
-\stopmode
-\stopniceTEX
-
-\noindent 用到了 \CONTEXT\ 的 mode 环境,这就像 C 语言中的编译宏。只有在 \CONTEXT\ 编译命令中设定对应的 mode 值,对应 mode 环境中的语句才是有效的。要让 screen mode 环境生效,可:
-
-\starttyping
-$ context --mode=screen ctxnotes
-\stoptyping
-
-\noindent \CONTEXT\ 的 mode 环境非常有用,许多 \CONTEXT\ 官方制作的文档都是利用 mode 环境同时产生屏幕阅读版本与打印版本。将来,我打算将这一环境用于制作演示文档与讲稿。
-
-在页脚右侧显示的“回目录”的链接需要设置目录代码的支持,因为这需要利用 \ConTeXt\ 的引用机制:
-
-\startniceTEX
-% 我的目录页
-\title[content]{目录}
-\placecontent
-\stopniceTEX
-
-\noindent 有关文档目录设置的细节,准备单独开一个章节来记述。
-
-\section{封面设计}
-
-\CONTEXT\ 没有像 \LATEX\ 那样提供了专用于封面制作的命令,只是提供了一个 \type{standardmakeup} 环境,该环境的作用就是建立一个不增加页码计数的页面,使得用户可以在其中排版封面、扉页之类的页面。这份文档的封面的具体设计如下:
-
-\startniceTEX
-\startstandardmakeup
- \startcolor[mydarkred]
- \switchtobodyfont[14pt]
- \hfil\bfd\ConTeXt 学习笔记\hfil
- \blank[1.5cm]
- \hfil\bfc Using MkIV\hfil
- \blank[12cm]
-
- \startalignment[flushright]
- \ssa
- \bTABLE
- \setupTABLE[r][each][frame=off]
- \bTR \bTD Athor: Li Yanrui\eTD \eTR
- \bTR \bTD Email: lyanry@gmail.com\eTD \eTR
- \bTR \bTD \date \eTD \eTR
- \eTABLE
- \stopalignment
- \stopcolor
-\stopstandardmakeup
-\stopniceTEX
-
-请宽恕我在上述语句中很可耻地使用了 1.5cm、12cm 这样确定的长度。因为我还不怎么会驾驭 \CONTEXT,还无法灵活地实现可根据版面的变化自适应调整的封面设计。
-
-要设计一个美观的封面真得很难,而且这也不是我所擅长的。现在,拥有这样一个简单的封面,我已经心满意足。也许等我以后渐渐熟悉 \METAFUN\ 之时,会让它再美观一些。
-
-\section{标题样式}
-
-惯见的文档章、节标题一般都是采用黑体,字号通常也比正文字号大一些,另外标题前后也留出了一些垂直间距。这些设置无非是为了告诉读者,它们是标题,而不是正文。这份文档的标题样式设置如下:
-
-\startniceTEX
-\setupheads[indentnext=yes]
-\setuphead
- [chapter]
- [style=\bfc,header=empty,footer=empty]
-\setuphead
- [section]
- [style=\bfa]
-\setuphead
- [title]
- [style=\bfb,header=empty,foote=empty]
-\setuphead
- [subsubject]
- [style=\bf]
-\stopniceTEX
-
-\noindent\tex{setupheads} 命令可以设置所有类型的章节标题默认状态。在设置章标题时,由于其所在页面通常不需要页眉与页脚,所以 \type{header} 与 \type{footer} 都应设为 \type{empty}。
-
-现在使用 MkIV 排版中文,要想实现章节的编号格式为“第 x 章”、“第 x 节”,或者实现图、表标题格式为“图 x”、“表 x”,可能需要自己来做一些有些 dirty 工作。\ConTeXt\ 提供了 \tex{setuplabeltext} 命令,可用于设置表格、图、章节、附录的编号格式。譬如,要设置中文的章节编号:
-
-\startniceTEX
-\setuplabeltext [en] [chapter={第\;,\;章}]
-\setuplabeltext [en] [section={第\;,\;节}]
-\stopniceTEX
-
-\noindent 遗憾的是,我不知道怎样将编号中的数字也使用中文来表示,这在 MkII 中是可以的。
-
-\section{段落与行}
-
-中文排版,段落间距通常等于行间距,因为中文段落是通过首行缩进来标示的,下面代码可将段落文本首行缩进 2 个汉字距离:
-
-\startniceTEX
-\setupindenting[always,2em,first]
-\stopniceTEX
-
-\ConTeXt\ 默认是将段间距设置为 0,这碰巧符合中文的排版规范。如果有设定段间距的需求,就查一下 \tex{setupwhitespace} 命令的用法。
-
-对文档正文而言,行间距的设置对于排版的美观性是至关重要的:行间距过小则阅读困难;行间距过大又显得版面稀疏,浪费纸张。\ConTeXt\ 默认的文本行间距的值对于中文排版而言过小,可通过 \tex{setupinterlinespace} 命令结合自己的审美嗜好对行间距进行调整。我习惯将行高设为 1.5em:
-
-\startniceTEX
-\setupinterlinespace[line=1.5em]
-\stopniceTEX
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “页面布局控制”:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/19/layout-control.23895.html}
-\item “\CONTEXT\ 文稿的逻辑结构”:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/16/context-manuscript-logic-structure.23826.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/metafun.tex b/info/context-notes-zh-cn/src/metafun.tex
deleted file mode 100644
index c7a121d47b..0000000000
--- a/info/context-notes-zh-cn/src/metafun.tex
+++ /dev/null
@@ -1,463 +0,0 @@
-\startcomponent metafun
-\product ctxnotes
-
-\chapter{我是这样学习 MetaFun 的}
-
-其实,我本来是想尽快制作一份有关 \CONTEXT\ 演示文档的学习笔记,尝试了几次之后,都铩羽而归。我渐渐意识到如果不了解 \METAFUN,那么使用 \CONTEXT\ 是很痛苦的,就像拿到了一座金山却无处消费它一般。我开始认真学习 \METAFUN,并且也很后悔当初没有学习 \METAPOST,而在 PGF/TikZ 上却曾经浪费了很多时间。
-
-\section{从画一个矩形开始}
-
-在这份这份文档的封面上,画有许多形态各异的矩形,它们不是我画的,而是我从一份 \CONTEXT\ 演示文档模板中扣出来的一段代码。我从现在开始逐步研究它们是如何绘制出来的。
-
-先进行一个矩形区域的填充:
-
-\startniceTEX[numbering=line]
-\setupcolors[state=start]
-\setupcolor[hex]
-\definecolor[BackgroundColor][h=cccccc]
-
-\starttext
-\startuseMPgraphic{box}
-offset := uniformdeviate 10pt;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-\stopuseMPgraphic
-
-\useMPgraphic{box}
-\stoptext
-\stopniceTEX
-
-\definecolor[BackgroundColor][h=cccccc]
-\startuseMPgraphic{box}
-offset := uniformdeviate 10pt;
-
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset;
-x2 := width-offset; y2 := height-offset;
-
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-\stopuseMPgraphic
-
-这个小例子可在页面中绘制一个灰色的矩形填充域\;\useMPgraphic{box}\;\;。实际上,单单要完成这个例子所实现的目标,没必要去定义那么多的变量,这里之所以如此,不妨认为我想借此来熟悉一下 \METAPOST\ 的变量赋值与运算语法。
-
-代码第 1-3 行的大意是启用颜色环境,并将颜色描述格式设为 16 进制码形式,最后使用灰色定义了一种名曰 BackgroundColor 的颜色;在 \METAFUN\ 中,我们可以使用 \tex{MPcolor} 命令将 \CONTEXT\ 中定义的颜色转换为 \METAFUN\ 所使用的颜色值,详见代码第 12 行。这多少可以体现出 \METAFUN\ 的一些特点,它实现了 \CONTEXT\ 与 \METAPOST\ 的沟通。
-
-代码第 7 行演示了 uniformdeviate 命令的用法,它的作用就是从 \type{[0pt - 10pt]} 这个尺寸区间中随机取一个尺寸。
-
-代码第 11-12 行演示了如何填充一条路径,比较值得注意的是路径构成中的 \type{z1} 与 \type{z2} 的含意,这似乎是 \METAPOST\ 约定的,它们分别表示 \type{(x1,y1)} 与 \type{(x2,y2)},但愿我没有理解错。
-
-代码第 6-13 行构造了一幅 \METAFUN\ 图形,第 15 行代码将该图形插入至文档中。这就是 \METAFUN\ 图形嵌入于 \CONTEXT\ 的一般方式。另外,也可以像插入普通图片那样:
-
-\startniceTEX
-\placefigure
- [here,force][fig:box]
- {嵌入 \METAFUN\ 图形}{\useMPgraphic{box}}
-\stopniceTEX
-
-\placefigure
- [here,force][fig:box]
- {嵌入 \METAFUN\ 图形}{\useMPgraphic{box}}
-
-下面为这个矩形填充域绘制边框。如果只是绘制一个矩形框,这比较简单,以下示例便可以:
-
-\startniceTEX
-\setupcolors[state=start]
-\setupcolor[hex]
-\definecolor[BackgroundColor][h=cccccc]
-\definecolor[OrnamentColor][h=99ccff]
-
-\starttext
-\startuseMPgraphic{box-ornament}
-offset := uniformdeviate 10pt;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-draw z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\useMPgraphic{box-ornament}
-\stoptext
-\stopniceTEX
-
-\definecolor[BackgroundColor][h=cccccc]
-\definecolor[OrnamentColor][h=99ccff]
-\startuseMPgraphic{box-ornament}
-offset := uniformdeviate 10pt;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-draw z1--(x2,y1)--z2--(x1,y2)--cycle
- withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\noindent 得到\;\useMPgraphic{box-ornament}\;,但是它无法实现本文档封面页上的那些小矩形框的效果,它们是无法采用一条路径来实现,而是要四个边框逐个的画:
-
-\startniceTEX[numbering=line]
-... ...
-def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-drawoptions(withpen pencircle scaled 2pt
- withcolor \MPcolor{OrnamentColor});
-draw (x1-delta,y1)--(x2+delta,y1);
-draw (x2,y1-delta)--(x2,y2+delta);
-draw (x2+delta,y2)--(x1-delta,y2);
-draw (x1,y2+delta)--(x1,y1-delta);
-
-drawoptions();
-setbounds currentpicture to unitsquare xyscaled (width,height);
-\stopniceTEX
-
-\startuseMPgraphic{box-random-ornament}
-offset := uniformdeviate 10pt;
-def delta = ((uniformdeviate offset) + .25offset) enddef;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-drawoptions(withpen pencircle scaled 2pt
- withcolor \MPcolor{OrnamentColor});
-draw (x1-delta,y1)--(x2+delta,y1);
-draw (x2,y1-delta)--(x2,y2+delta);
-draw (x2+delta,y2)--(x1-delta,y2);
-draw (x1,y2+delta)--(x1,y1-delta);
-
-drawoptions();
-setbounds currentpicture to unitsquare xyscaled (width,height);
-\stopuseMPgraphic
-
-\noindent 这样才可以得到那种类似于手绘矩形框的效果\;\useMPgraphic{box-random-ornament}\;\;。注意,第 2 行代码所定义的 \type{delta} 似乎是一个变量,实际它是一个宏,一个不带任何参数的宏。宏可以避免许多重复的输入,并且使得代码更为易读;\type{drawoptions} 也具有类似作用。在上述代码片段中,宏还起到了让 \type{delta} 返回的尺寸大小居于随机变化的效果,因为宏在被 \METAPOST\ 处理时要被其定义替换,因为 \type{delta} 定义中的 \type{uniformdeviate} 运算符就被反复调用,生成不同的随机数。\type{setbounds} 语句用于设置图形的边界,这样可以保证将所绘制的图形完全地显示出来(其实我觉得这有点多余)。
-
-下面,来看一下带参数的宏该如何写。带参数的宏,可将它理解为可重复调用的函数。对于前面的示例,可以将这一系列的绘制过程定义为下面的宏:
-
-\startniceTEX
-def random_box (expr width, height, offset, linewidth ) =
- def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-
- x1 := offset; y1 := offset; x2 := width-offset; y2 := height-offset;
-
- drawoptions(withcolor transparent(1,.8,\MPcolor{BackgroundColor}));
- fill z1--(x2,y1)--z2--(x1,y2)--cycle;
-
- drawoptions(withpen pencircle scaled linewidth
- withcolor \MPcolor{OrnamentColor});
- draw (x1-delta,y1)--(x2+delta,y1);
- draw (x2,y1-delta)--(x2,y2+delta);
- draw (x2+delta,y2)--(x1-delta,y2);
- draw (x1,y2+delta)--(x1,y1-delta);
-
- drawoptions();
- setbounds currentpicture to unitsquare xyscaled (width,height);
-enddef;
-\stopniceTEX
-
-\type{random_box} 宏是可以接受传入参数的。\METAPOST\ 宏所支持的参数类型有:
-\type{expr}、\type{text} 与 \type{suffix}。\type{expr} 参数类型的用法正如上例 \type{random_box} 宏定义所示,它表示宏的使用者可以向其传入表达式的值。至于 \type{text} 与 \type{suffix} 参数类型,由于现在尚未用到它们,所以我可以暂时不理睬它们的功用。
-
-下面演示如何使用上述定义的 \type{random_box} 宏:
-
-\startniceTEX
-offset := uniformdeviate 10pt ;
-width := 2*offset + 40pt + uniformdeviate 30pt ;
-height := 2*offset + 30pt + uniformdeviate 10pt ;
-
-random_box (width,height,offset,1pt);
-\stopniceTEX
-
-\section[ordinary-repeat]{平凡的重复}
-
-一个士兵会踢正步,实在太平凡了;一群士兵会踢同样节奏的正步,就开始不平凡起来了。平凡的重复,往往是不平凡的。现在,我们开始重复上一节所绘制的那个 Box。先来看下面这个可编译的示例:
-
-\startniceTEX[numbering=line]
-\startuseMPgraphic{random-box}
-def random_box (expr width, height, offset, linewidth ) =
- def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-
- x1 := offset; y1 := offset; x2 := width-offset; y2 := height-offset;
-
- drawoptions(withcolor \MPcolor{BackgroundColor});
- fill z1--(x2,y1)--z2--(x1,y2)--cycle;
-
- drawoptions(withpen pencircle scaled linewidth
- withcolor \MPcolor{OrnamentColor});
- draw (x1-delta,y1)--(x2+delta,y1);
- draw (x2,y1-delta)--(x2,y2+delta);
- draw (x2+delta,y2)--(x1-delta,y2);
- draw (x1,y2+delta)--(x1,y1-delta);
-
- drawoptions();
- setbounds currentpicture to unitsquare xyscaled (width,height);
-enddef;
-
-for i=1 upto 400 :
- offset := uniformdeviate 4pt ;
- width := 2*offset + 10pt + uniformdeviate 10pt ;
- height := 2*offset + 5pt + uniformdeviate 4pt ;
-
- addto currentpicture also
- image(random_box (width,height,offset,1pt)) shifted
- (uniformdeviate 8cm, uniformdeviate 6cm) ;
-endfor ;
-\stopuseMPgraphic
-\stopniceTEX
-
-\startuseMPgraphic{random-box}
-def random_box (expr width, height, offset, linewidth ) =
- def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-
- x1 := offset; y1 := offset; x2 := width-offset; y2 := height-offset;
-
- drawoptions(withcolor \MPcolor{BackgroundColor});
- fill z1--(x2,y1)--z2--(x1,y2)--cycle;
-
- drawoptions(withpen pencircle scaled linewidth
- withcolor \MPcolor{OrnamentColor});
- draw (x1-delta,y1)--(x2+delta,y1);
- draw (x2,y1-delta)--(x2,y2+delta);
- draw (x2+delta,y2)--(x1-delta,y2);
- draw (x1,y2+delta)--(x1,y1-delta);
-
- drawoptions();
- setbounds currentpicture to unitsquare xyscaled (width,height);
-enddef;
-
-for i=1 upto 400 :
- offset := uniformdeviate 4pt ;
- width := 2*offset + 10pt + uniformdeviate 10pt ;
- height := 2*offset + 5pt + uniformdeviate 4pt ;
-
- addto currentpicture also
- image(random_box (width,height,offset,1pt)) shifted
- (uniformdeviate 8cm, uniformdeviate 6cm) ;
-endfor ;
-\stopuseMPgraphic
-
-\noindent 我得到如下图所示的图形:
-
-\placefigure
- [here,force][fig:random-box]
- {平凡的重复}{\useMPgraphic{random-box}}
-
-第 26-28 行是解决 \type{random_box} 重复绘制的核心代码。\type{addto ... also} 是 \METAPOST\ 内部定义的宏,它可以将一幅图形 (picture) 添加到另一幅图形中。图形是 \METAPOST\ 中的一个数据结构,它可以存储多条已被绘制的路径,并且图形与图形之间是可以包容的。\type{image} 也是 \METAPOST\ 内部定义的宏,它可以将某一被绘制的路径转变为图形。至于 \type{shifted},顾名思义,它是用来进行几何平移变换的,而且变换的位置是随机坐标来确定的。
-
-\section{Overlay 与背景}
-
-Overlay 这是 \CONTEXT\ 的一个术语,它的名字取的不是很正确,其本意是“覆盖,覆盖图”,但是在 \CONTEXT\ 中,它通常是位于文本之下的图形,或者说它是被文本覆盖。不过,overlay 可以分为许多个层次,因此这个术语的名字取得也不是完全不正确。
-
-很多时候,我都是将 overlay 作为一个背景层来对待的,下面的这个例子便可以说明这个问题:
-
-\startniceTEX[numbering=line]
-\setupcolors[state=start]
-
-\starttext
-\defineoverlay[tea][{\darkgreen\ss\bfc 绿茶}]
-\framed[background=tea, align=middle]{今\\天\\出\\售}
-\stoptext
-\stopniceTEX
-
-\defineoverlay[tea][{\darkgreen\ss\bfd 绿\;茶}]
-
-\noindent 这个例子可以将“绿茶”作为“今天出售”的背景:\framed[background=tea, align=middle]{今\\天\\出\\售}\;\;。
-
-\tex{defineoverlay} 的命令使用起来很简单,第一个参数是 overlay 名,第二个参数是 overlay 的内容,通常是一组排版或绘图命令的集合,推荐使用 \type{{}} 将其括起来。
-
-在上述示例中,已经演示了使用文本作为 overlay 内容,下面来看一下使用图片的例子:
-
-\startniceTEX
-\defineoverlay[cow][{\externalfigure[cow]%
- [width=\overlaywidth,height=\overlayheight]}]
-\framed[width=3cm,height=2cm,background=cow,align=right]
- {\vfill\color[darkred]{这是一头奶牛}}
-\stopniceTEX
-
-\defineoverlay[cow][{\externalfigure[cow][width=\overlaywidth,height=\overlayheight]}]
-
-\noindent 于是我们便拥有了一头漂亮的奶牛 \framed[width=3cm,height=2cm,background=cow,align=right]{\vfill\color[darkred]{这是一头奶牛}} 。
-
-上述以图片作为 overlay 的代码没必要多费口舌,多看几遍,动手尝试一下便可以明了。值得注意的倒是 \tex{framed} 命令的 \type{align} 参数,它的取值有些另类,明明是左对齐,但是它的值却是 right;如果你想让文本右对齐,就不得不将其设为 left。这实际上是 Hans 犯得一个错误,因为他当年在写 \CONTEXT\ 时,满脑子是 ragged left(左边不齐) 与 ragged right(右边不齐)。这样的错误一旦犯下了,便不好再改,主要是因为无法兼容过去的文档,后来 Hans 又加入了 flushleft 与 flushright 参数值,这是与我们普遍的习惯是相符的。
-
-我们还可以将 \METAFUN\ 绘制的图形作为 overlay,这也是本章一个非常重要的内容,它是 \METAFUN\ 与 \CONTEXT\ 集成的基础,来看这个示例:
-
-\startniceTEX
-\startuseMPgraphic{demo circle}
- path p ;
- p := fullcircle xscaled \overlaywidth yscaled \overlayheight ;
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\defineoverlay[demo circle][\useMPgraphic{demo circle}]
-\framed[background=demo circle,frame=off]{被椭圆包围的文本}
-\stopniceTEX
-
-\startuseMPgraphic{demo circle}
- path p ;
- p := fullcircle xscaled \overlaywidth yscaled \overlayheight ;
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-\defineoverlay[demo circle][\useMPgraphic{demo circle}]
-
-\noindent 我们可以得到 \framed[background=demo circle,frame=off,height=22pt]{被椭圆包围的文本}\;。
-
-由上例可见,我们发现 \METAFUN\ 可以将 \CONTEXT\ 中的一些尺寸,比如 \tex{overlaywidth} 与 \tex{overlayheight} 等参数传入 \METAFUN\ 环境中。在本章开始的时候,还用过一个 \tex{MPcolor} 宏,可以将 \CONTEXT\ 的颜色定义转换为 \METAPOST\ 的颜色定义。我们还可以通过使用 \tex{the} 作为前缀,实现在 \METAFUN\ 环境中访问诸如 \tex{textwidth}、\tex{textheight}、\tex{topspace} 等尺寸参数。
-
-前面说过,overlay 是可以叠加的,下面再来用一个例子演示一下:
-
-\startniceTEX
-\startuseMPgraphic{demo ellipse}
- path p ;
- p := fullcircle xscaled (.95*\overlaywidth) yscaled (.95*\overlayheight);
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\startuseMPgraphic{demo square}
- path p ;
- p := fullsquare xscaled \overlaywidth yscaled \overlayheight;
- fill p withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\defineoverlay[demo ellipse][\useMPgraphic{demo ellipse}]
-\defineoverlay[demo square][\useMPgraphic{demo square}]
-
-\framed[background={demo square,demo ellipse},frame=off]{被矩形与椭圆包围的文本}
-\stopniceTEX
-
-\startuseMPgraphic{demo ellipse}
- path p ;
- p := fullcircle xscaled \overlaywidth yscaled \overlayheight;
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\startuseMPgraphic{demo square}
- path p ;
- p := fullsquare xyscaled (1.1*\overlaywidth,1.1*\overlayheight);
- fill p withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\defineoverlay[demo ellipse][\useMPgraphic{demo ellipse}]
-\defineoverlay[demo square][\useMPgraphic{demo square}]
-
-\noindent 我们可以得到\quad\framed[background={demo square,demo ellipse},frame=off,height=22pt]{被矩形与椭圆包围的文本} 。这其实没什么技巧,只需多定义几个 overlay,然后将它们作为 \tex{framed} 的 \type{background} 的参数列表并按照先后的显示次序排列即可。
-
-本节所举的例子,只是使用 \tex{framed} 命令来演示。事实上,\CONTEXT\ 有许多命令都支持 overlay,只要它具备 \type{background} 参数。
-
-\section{代码的分离}
-
-有时候,会希望能够在多个 \METAFUN\ 图形环境中引用同样的一段代码,在我不知道存在 \type{MPinclusions} 环境时,我写过下面这般风格的代码:
-
-\startniceTEX
-\startuseMPgraphic{TitlePage}
-def random_box (expr width, height, offset, linewidth ) =
- ... ... ...
-enddef
-
-for i=1 upto 400 :
- ... ... ...
- addto currentpicture also
- image(random_hash_frame(width,height,offset,1pt)) shifted
- (uniformdeviate OverlayWidth, uniformdeviate OverlayHeight) ;
-endfor ;
-\stopuseMPgraphic
-
-\startuseMPgraphic{PageNumberBox}
-def random_box (expr width, height, offset, linewidth ) =
- ... ... ...
-enddef
-
-offset := uniformdeviate 10pt ;
-random_box (\overlaywidth, \overlayheight, offset, 1pt);
-\stopuseMPgraphic
-\stopniceTEX
-
-\noindent 虽然这样的代码可以用,但是它很脏。比如,如果我想修改 \type{random_box} 宏的定义,就意味着这两个图形环境中的 \type{random_box} 都要修改。当我我在 \METAFUN\ 手册中发现了 \type{MPinclusions} 这个环境时,立刻就将上述的代码格式修改为:
-
-\startniceTEX
-
-\startMPinclusions
-def random_box (expr width, height, offset, linewidth ) =
- ... ... ...
-enddef
-\stopMPinclusions
-
-\startuseMPgraphic{TitlePage}
-for i=1 upto 400 :
- ... ... ...
- addto currentpicture also
- image(random_hash_frame(width,height,offset,1pt)) shifted
- (uniformdeviate OverlayWidth, uniformdeviate OverlayHeight) ;
-endfor ;
-\stopuseMPgraphic
-
-\startuseMPgraphic{PageNumberBox}
-offset := uniformdeviate 10pt ;
-random_box (\overlaywidth, \overlayheight, offset, 1pt);
-\stopuseMPgraphic
-\stopniceTEX
-
-\noindent 可以看出,\type{MPinclusions} 环境的作用就是用于存放各 \METAFUN\ 图形的公共代码,类似于 C 程序的 .h 文件。
-
-我们还可以在 \METAFUN\ 图形环境中使用 \tex{includeMPgraphic} 来引用其它的 \METAFUN\ 图形:
-
-\startniceTEX
-\setupcolors[state=start]
-
-\starttext
-\startuseMPgraphic{test}
- fill fullsquare rotated 45 scaled 4cm withcolor \MPcolor{yellow} ;
-\stopuseMPgraphic
-
-\startuseMPgraphic{demo}
- \includeMPgraphic{test}
- fill fullsquare scaled 2cm withcolor \MPcolor{red} ;
-\stopuseMPgraphic
-
-\useMPgraphic{demo}
-\stoptext
-\stopniceTEX
-
-\section{还有一些图形环境}
-
-除了 \type{useMPgraphic} 环境之外,还有 \type{uniqueMPgraphic}、\type{MPpage} 图形环境,当然还有其它类型的,只是我目前认为掌握这三种,基本上够用了。
-
-\type{uniqueMPgrahpic} 环境与 \type{useMPgraphic} 环境的区别是:前者只生成一份图形,可供多次使用;后者是在每一次使用时,都要生成图形。如果是要实现随机图形效果,也就是说多次使用同一份绘图代码生成的图形却不相同,这就只好使用 \type{useMPgraphic} 环境,这个问题在 \in[ordinary-repeat] 节中有所体现。
-
-\type{MPpage} 环境可专门用于生成单独的矢量图形,试验一下这个例子便可体验其用处:
-
-\startniceTEX
-\setupcolors[state=start]
-\setupMPpage
- [offset=1pt,
- background=color,
- backgroundcolor=gray]
-
-\startuseMPgraphic{test}
- fill fullsquare rotated 45 scaled 4cm withcolor \MPcolor{yellow} ;
-\stopuseMPgraphic
-
-\starttext
-\startMPpage
- \includeMPgraphic{test}
- fill fullsquare scaled 2.5cm withcolor \MPcolor{red} ;
-\stopMPpage
-\stoptext
-\stopniceTEX
-
-\section{后记}
-
-这篇文章的内容,支离破碎。这是自然的。因为 \METAFUN\ 所涵括的内容远非我这一篇小文所能覆盖得了的。我以为 \METAFUN\ 手册最好是能通读一遍,不过我现在做不到,只好用什么,看什么。在这用与看的过程中,我想尽量地建立系统的认识。这是一个长期的过程。我唯一能做的就是尽量寻找可以使用 \METAFUN\ 的机会。
-
-我觉得使用 \CONTEXT\ 排版文档,如果能够充分结合 \METAFUN\ 图形环境来设计文档版面的外观,这是非常具有挑战性的。个人的审美观以及绘制图形的能力决定了文档样式能否体现出个性。
-
-\stopcomponent \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/postscript.tex b/info/context-notes-zh-cn/src/postscript.tex
new file mode 100644
index 0000000000..da911d0668
--- /dev/null
+++ b/info/context-notes-zh-cn/src/postscript.tex
@@ -0,0 +1,13 @@
+\title{跋}
+
+历时二十日,终于写完了。
+
+你现在学会 \CONTEXT\ 了吗?
+
+我还没有学会。
+
+这份文档所介绍的 \CONTEXT\ 知识或许尚不及它全部功能的百分之一,且 \CONTEXT\ 依然在发展着。学无止境,以我生之有涯随知识之无涯,这样不好。弱水三千,仅取一瓢饮,会好一些。
+
+我应该去外面走走了,不然春天又悄悄离去了。
+
+
diff --git a/info/context-notes-zh-cn/src/preface.tex b/info/context-notes-zh-cn/src/preface.tex
new file mode 100644
index 0000000000..bc545f60ab
--- /dev/null
+++ b/info/context-notes-zh-cn/src/preface.tex
@@ -0,0 +1,23 @@
+\title{自序}
+
+\useURL[王垠][https://www.yinwang.org]%[][\hyphenatedurl{https://www.yinwang.org}]
+
+我最早听闻并接触 \ConTeXt,大概是 2008 年在王垠\footnote{一个敢于自我否定的人,曾致力于在国内推广 GNU/Linux 和 \TEX,后来以其对计算机科学和编程语言设计的洞察而闻名,详见其个人主页 \bluebox{\from[王垠]}。}的个人主页上看到他对 \ConTeXt 的谥美之文。当时我猎奇心甚为严重,又觉得大家都在用的 \LaTeX\ 无法体现我的气质,便开始自学 \CONTEXT。或许这是年青人的通病。
+
+现在,我已不再年青,却依然喜欢 \ConTeXt。曾经沧海难为水,或许这是人老了之后的通病,而我觉得更可能是因为 \CONTEXT\ 依然年青。2008 年,\CONTEXT\ 正处于从 Mk\Romannumerals{2} 版本向 Mk\Romannumerals{4} 版本跃迁期间。待 2019 年 MK\Romannumerals{4} 版本尘埃落定时,\CONTEXT\ 的开发者大刀阔斧,如火如荼,开启了下一个版本 \LMTX\cite[Hagen2019]的开发工作,至今方兴未艾。
+
+任何工具,只要有人长时间维持和改进,便会趋向于复杂而难以被他人驾驭,但是它能胜任复杂的任务。\TEX\ 是复杂的,以它为基础的 Plain \TeX,\LaTeX\ 和 \ConTeXt\ 则更为复杂。事实上,并非工具趋向于变得复杂,而是任务趋向于变得复杂,更本质一些,是人心趋向于变得复杂。例如,使用 Markdown 之类的标记语言写散文类的文章,轻松愉快,这是近年来 Markdown 广泛用于网文创作的主要原因。倘若用 Markdown 写一本含有许多插图、数学公式、表格、参考文献等内容的书籍,便需要为它增加许多功能,最终的结果相当于又重新发明了一次 \TeX。
+
+Plain \TeX,\LaTeX\ 和 \ConTeXt\ 虽然皆为构建在 \TeX\ 系统上的宏包,但是国内熟悉前两者的人数远多于 \ConTeXt,究其原因,我觉得是因为 \ConTeXt\ 入门文档甚少,其中中文文档则更为罕见。\ConTeXt\ 创始人兼主要开发者 Hans Hagen 为 \ConTeXt\ 撰写了一份内容全面、排版精美的英文版入门文档\cite[ma-cb-en],对于具备一些英文阅读能力的人,原本可从该文档入门,但遗憾的是,除非读者知道如何在 \ConTeXt\ 中使用汉字(也包括日、韩文字)字体,否则所学知识仅能用于英文排版。
+
+\useURL[ctan][https://ctan.org]
+我曾于 2009 年写过一份 \ConTeXt 学习笔记\cite[ctxnotes],介绍了在 \ConTeXt\ Mk\Romannumerals{4} 中如何加载汉字字体以及基本的 \ConTeXt\ 排版命令的用法,内容颇为粗陋,由 CTeX 论坛里的朋友整合至 ctex-doc 项目并打包呈交 \bluebox{\from[ctan]} 网站。2011 年夏天曾许诺将我发布于网络上的一些相关文章合并至该笔记,但因俗务缠身,后来兴趣又有漂移,便不了了之。
+
+光阴荏苒,时过境迁,当年曾在 CTeX 论坛一起折腾 \TeX\ 的朋友大多已不知所踪——在他们看来,我亦如是。2018 年,CTeX 论坛因国内日益严厉的互联网监管政策被迫无限期关闭,导致国内 \TeX\ 学习、研究和使用热情似乎遭受了毁灭性打击,爱好者们离散江湖,白头宫女在,闲坐说玄宗。现在,若学习 \LaTeX\ 尚能找到一些讨论区,而 \ConTeXt\ 似乎再也无人问津了。爱好终归属于自己。即使现在国内只有我一个人还在喜欢 \ConTeXt,依然应当为自己写一份新的 \ConTeXt\ 学习笔记,以偿旧诺。
+
+值此情境,需篡改古词一阙,歌以咏志:芦叶满汀洲,寒沙带浅流,二十年重过南楼。欲买桂花同载酒,终不负,少年游。
+
+\vfill
+\startalignment[flushright,broad]
+2023 年 3 月写于乡下老家
+\stopalignment \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/project.tex b/info/context-notes-zh-cn/src/project.tex
deleted file mode 100644
index 861c51f179..0000000000
--- a/info/context-notes-zh-cn/src/project.tex
+++ /dev/null
@@ -1,67 +0,0 @@
-\startcomponent project
-\environment doc-env
-\product ctxnotes
-
-\chapter{大文档项目}
-
-对于规模比较大的文档项目而言,采用 \TEX\ 的优越性要高于 WYSIWYG 的字处理器 (MS Word)。众人谓之曰字处理器使用起来比较方便,实际这只不过表面现象,在其背后是文档更新方面的困难——难以进行多人协同撰写与版本维护。本章主要介绍 \CONTEXT\ 所提供的文档项目管理功能,探讨如何在文档项目中布置版本控制系统,建立一种比较稳定的大文档项目撰写模式。
-
-\section{项目的部署}
-
-一个 \TeX\ 文档项目,通常可以将文档结构分为:环境、宏、文档主体内容。这样划分的意图就是让文档的样式与内容分离开。环境,主要用于定制版面样式。宏,主要是封装一些排版命令,实现一些特定的排版功能。在 \CONTEXT\ 中,环境或宏可以由一份或多份专门的环境文件来定义,环境文件的格式如下:
-
-\startniceTEX
-\startenvironment 环境文件名
-... 环境内容 ...
-\stopenvironment
-\stopniceTEX
-
-如果不对文档的主体内容进行划分的话,那么它就与普通的 \CONTEXT\ 文档无异,只是多了加载环境文件的命令:
-
-\startniceTEX
-\environment 环境文档名
-... ... ...
-\starttext
-... 文档内容
-\stoptext
-\stopniceTEX
-
-如果对文档的主体内容细分下去,可以有封面、前言、正文章节、附录、封底等。文档结构划分的深浅程度,这个主要由用户来把握,主要视文档的规模而定。对于 \CONTEXT\ 而言,文档的主体内容实际上只有产品 (product) 与 组件 (component) 这两种划分\footnote{事实上还有比产品更高层的结构,就是项目 (project),不过我们写文档一般用不到它,如果是出版期刊杂志倒是有可能用到它。}\;。对于产品与组件之间的关系,这在产品文档中便可以直观地看到,譬如:
-
-\startniceTEX
-\startproduct 产品文档名
-\environment 环境文档名
-
-\component 组件文档 1
-\component 组件文档 2
-... ... ...
-\stopproduct
-\stopniceTEX
-
-产品文档将环境与组件的信息都记录了下来,因此当我们在使用 \CONTEXT\ 编译一个文档项目时,只需要编译产品文档即可。
-
-组件文档的格式如下:
-
-\startniceTEX
-\startcomponent 组件文档名
-\environment 环境文档名
-\product 所属产品名
-
-... 组件内容 ...
-
-\stopcomponent
-\stopniceTEX
-
-也可以直接编译组件文档,因为在组件文档中已经记录了所使用的环境文档信息;在撰写文档的过程中,推荐使用编译组件文档的方式来查看排版效果。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “\CONTEXT\ 文稿的物理结构”:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/12/project-structure.23773.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/references.tex b/info/context-notes-zh-cn/src/references.tex
deleted file mode 100644
index 2fe85785d9..0000000000
--- a/info/context-notes-zh-cn/src/references.tex
+++ /dev/null
@@ -1,362 +0,0 @@
-\startcomponent bibliography
-\product ctxnotes
-\chapter{引用}
-
-当我用我这个代号来进行对话的同时,你的代号也是我,这意味着什么呢?这是否意味着你就是我,而我也就是你?
-
-\section{目录}
-
-如果不那么在乎目录的样式,可以在期望插入目录之处添加:
-
-\startniceTEX
-\completecontent
-% 或者
-\placecontent
-\stopniceTEX
-
-\noindent \tex{completecontent} 与 \tex{placecontent} 的区别就是前者是生成的目录列表页面是带有标题的;而后者只生成目录列表,如果需要页面带有标题,可以使用 \tex{title} 之类的无编号的标题命令实现:
-
-\startniceTEX
-\title{目录}
-\placecontent
- [alternative=a,
- style=normal,
- numberstyle=bold]
-\stopniceTEX
-
-在章标题之后使用 \tex{placecontent}:
-
-\startniceTEX
-\chapter{引用}
-\placecontent
- [alternative=a,
- style=normal,
- pagenumber=no,
- margin=2em]
-\stopniceTEX
-
-\noindent 可以实现在当前章标题下面显示出这一章所有小节的列表。
-
-由于我比较喜欢 \CONTEXT\ 手册的那种目录样式,便从手册的源码中找到了该样式的具体设置,然后照虎画猫一番,并添加了一些小创意:
-
-\startniceTEX
-\def\ChapterNumber#1{\doiftext{#1}{第\;#1\;章\quad}}
-\setuplist
- [chapter]
- [alternative=a,
- before={\page[preference]\blank},
- after=\blank,
- style=bold,
- width=fit,
- pagestyle=boldslanted,
- pagenumber=no,
- numbercommand=\ChapterNumber]
-
-\def\PageNumber#1{\color[darkgray]{#1}.}
-\setuplist
- [section]
- [alternative=d,
- style=small,
- pagecommand=\PageNumber,
- pagestyle=\itx]
-\stopniceTEX
-
-\noindent
-
-\noindent 结果便是这份文档目录页中所显示的那个样子。我所说得小创意,实际上就是让章节编号变成半中文化(因为还夹着阿拉伯语呢);另外就是让目录列表中各小节的页码显示为灰色,不那么抢眼。
-
-\section[cross references]{交叉引用}
-
-交叉引用实在是太有用了,即便也不怎么经常用到它,也还可以借此嘲笑一下 Word 交叉引用功能的孱弱,赢得一次口水战的胜利。
-
-这份文档的页脚的右侧的“回目录”链接就是通过交叉引用来实现的,在\in[HFer]{} 节(瞧,这就是一个交叉引用)中的页脚设置:
-
-\startniceTEX
-\setupfootertexts
- [{\ConTeXt\ MkIV 学习笔记}][{\goto{回目录}[content]}]
- [{\goto{回目录}[content]}][{\ConTeXt\ MkIV 学习笔记}]
-\stopniceTEX
-
-\noindent 其中,\tex{goto} 这个命令可以跳到任何设置了引用的文档位置。这里,它要跳到 \type{content} 引用所在的位置,由于这个引用我是在设置目录页面时设定的:
-
-\startniceTEX
-\startfrontmatter
- \setuppagenumbering
- [conversion=romannumerals]
- \title[Content]{目录} % 在此设定了引用
- \placecontent
-\stopfrontmatter
-\stopniceTEX
-
-\noindent 因此 \tex{goto} 会带你跳到目录页。目录页面的引用是通过 \type{content} 这个名称标识的,\tex{goto} 命令可以根据这个标识确定所要跳往的页面位置。
-
-\CONTEXT\ 许多排版命令都支持引用设置,譬如章节标题、插图、表格等命令。一定要记住,文档中只要出现诸如“第 xxx 章”、“xxx 节”、“图 xxx”、“表 xxx”之类的内容时,这就意味着您应当使用交叉引用机制了。比如,我要引用当前这一节,首先要为节标题命令设定引用名称:
-
-\startniceTEX
-\section[cross references]{交叉引用}
-\stopniceTEX
-
-\noindent 然后在需要引用本节之处,通过 \tex{in} 命令即可获取节号;如果是屏幕阅读文档,还可以让节号作为一个链接,指向本节所在页面位置。同类的命令还有 \tex{at} 与 \tex{about},前者可以获取引用所在的页面,后者可以得到引用的内容。下面仿照 \CONTEXT\ 手册中的例子,演示这三个命令的用法:
-
-\startniceTEX
-我引用了第 \at[cross references] 页的 \in[cross references] 节\about[corss references]的一些内容。
-\stopniceTEX
-
-\noindent 效果:{\ss 我引用了第 \at[cross references] 页的 \in[cross references] 节 \about[cross references]的一些内容。}
-
-现在,MkIV 还未能实现引用在页面的准确定位,所以在屏幕阅读文档中的一些链接只是将你带往这些引用所在的页面而不是将准确的位置展示在你眼前。
-
-\section{索引}
-
-在阅读 {\it \CONTEXT\ 手册}或者 {\it \CONTEXT, an excursion} 之类的文档时,在附录中可以看到许多命令的索引,这些索引会告诉你那些命令在哪些页面出现了;如果是屏幕阅读文档,还可以将页码变成指向对应页面的链接。利用这些索引功能,我可以快速找到这些命令的细节知识。这在写技术文档时非常重要。在这份文档中,我没有使用索引的功能,因为很少有人会为了一份学习笔记如此大动干戈。将它记述于此,仅仅是为了将来有可能使用到它。
-
-要定义索引很简单,使用\tex{index} \index[index]{\tex{index}} 这个命令就可以:
-
-\startniceTEX
-我在这里演示 index\index[index]{\tex{index}} 与
- placeindex\index[placeindex]{\tex{placeindex}} 命令的用法。
-
-\placeindex
-\stopniceTEX
-
-\noindent 然后使用 \tex{placeindex}\index[placeindex]{\tex{placeindex}} 或 \tex{completeindex}\index[completeindex]{\tex{completeindex}} 命令在需要放置索引的页面显示索引。
-
-索引列表默认是以字母进行分组与排序的,这对于西文文档排版很适用,但是没法处理中文。可以采用汉语拼音\index[HYPY]{汉语拼音}来解决这个问题。譬如:
-
-\startniceTEX
-……可以采用汉语拼音\index[HYPY]{汉语拼音}来解决这个问题……
-\stopniceTEX
-
-\noindent 生成的索引列表如下:
-
-\placeindex
-
-索引与目录的用法很相似。实际上这一章中所有的内容都是基于 \CONTEXT\ 的引用机制实现的。索引与目录存在着更为高级的用法,但是我没有那么多兴趣和精力去折腾它们,以后若有这方面的需要再下手也不迟。
-
-\section{参考文献}
-
-写科技文档必然离不开参考文献 (Bibliography) 的支撑,所以要评价一个文档排版软件的优劣,其参考文献管理功能是一项非常重要的指标。与 \LaTeX\ 类似,\ConTeXt\ 主要是基于 Bib\TeX\ 维护参考文献,这是借助 Taco Hoekwater 写的 t-bib.tex 模块来实现的。
-
-\subsubject{Bib\TEX}
-
-Bib\TeX\ 的主要功能是管理参考文献信息并提供排版格式。在使用 Bib\TeX\ 之前,用户需要建立参考文献数据库,不要害怕,这里的数据库实际上就是一个扩展名为 .bib 的文本文件,我们在其中记录文献信息。下面是一份 .bib 文件示例:
-
-\startTEX
-@book{诸葛专著2008,
- author = "诸葛亮",
- year = "2008",
- title = "木牛流马制造工艺 [M]",
- publisher = "蜀国机械工业出版社"
-};
-
-@article{诸葛论文2008,
- author = "诸葛亮",
- title = "论伐魏的必要性与可行性 [J]",
- journal = "蜀国军事",
- volume = "13",
- number = "110",
- year = "2007"
-}
-\stopTEX
-
-在文献数据库中,可以存储许多种文献类别,常用条目类型有 article、book、conference、manual、misc、techreport 等。每种参考文献类别由多个域组成,有些是必须写得,没写会给出警告,而有些是可选。譬如 book 类别中,不可省略的域有 author, title, journal, year,可省略的域有 volume, number, pages, month, note。推荐做法是在参考文献数据库中尽可能地提供文献的详细信息。关于 .bib 文件的格式说明,请参考 Bib\TeX\ 文档\cite[bibtex]。
-
-Bib\TeX\ 为便于用户管理参考文献列表的排版风格,提供了 .bst 文件。.bib 文件与 .bst 文件之间的关系宛若 HTML 与 CSS 之间的关系,它们都遵守内在数据与外在表现分离的游戏规则。用户在 .bst 文件中可使用 Bib\TeX\ 定义的一种微型语言来实现对参考文献列表风格的控制,但是在 \ConTeXt\ 的 bib 模块中,仅使用 .bst 文件控制参考文献条目的排列次序。一般情况下,用户不需要制作 .bst,所以这个了解一下就可以了。
-
-Bib\TeX\ 与 \ConTeXt\ 的协同工作时,需要 \ConTeXt\ 文档编译命令输出 .aux 文件。基于 .aux 文件,Bib\TeX\ 在 .bib 检索所需的文献信息,并结合 .bst 文件实现参考文献列表外观控制,最终输出 .bbl 文件。一旦我们得到了 .bbl 文件(实际是 \TeX\ 文档),那么就可以继续进行 \ConTeXt\ 文档编译过程,最终输出带有参考文献信息的文档,这一工作流程如下图所示。
-
-\setupFLOWcharts[nx=4,ny=4,
- dx=\bodyfontsize,dy=\bodyfontsize,
- width=7.5\bodyfontsize, height=4\bodyfontsize,
- maxwidth=.8\textwidth]
-
-\startFLOWchart[bibtex-flow]
-
-\startFLOWcell
-\name{texfile}\location{1,2}\shape{singledocument}
-\text{\ConTeXt\ 源文档}\connection[rl]{ctx}
-\stopFLOWcell
-
-\startFLOWcell
-\name{ctx}\location{2,2}\shape{action}
-\text{编译 \ConTeXt\ 文档}\connection[rl]{aux}
-\stopFLOWcell
-
-\startFLOWcell
-\name{aux}\location{3,3}\shape{singledocument}
-\text{.aux 文档}\connection[rln]{bibtex}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bib}\location{3,1}\shape{singledocument}
-\text{.bib 文档}\connection[rlp]{bibtex}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bst}\location{3,2}\shape{singledocument}
-\text{.bst 文档}\connection[rl]{bibtex}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bibtex}\location{4,2}\shape{action}
-\text{Bib\TeX}\connection[bt]{bbl}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bbl}\location{4,4}\shape{singledocument}
-\text{.bbl 文档}\connection[lr]{ctxagain}
-\stopFLOWcell
-
-\startFLOWcell
-\name{ctxagain}\location{3,4}\shape{action}
-\text{编译 \ConTeXt\ 文档}\connection[lr]{pdf}
-\stopFLOWcell
-
-\startFLOWcell
-\name{pdf}\location{2,4}\shape{singledocument}
-\text{含参考文献的 PDF 文档}
-\stopFLOWcell
-
-\stopFLOWchart
-\placefigure[here][fig:bibtex-flow]{Bib\TeX\ 工作过程}
- {\FLOWchart[bibtex-flow]}
-
-\subsubject{\ConTeXt\ 的 bib 模块}
-
-\ConTeXt\ 是通过 Taco 写的 bib 模块取得 Bib\TeX\ 的协同(现已集成至 \CONTEXT\ 中),用户可以在 \ConTeXt\ 文档中实现参考文献列表排版样式的设置。下面是一份最为简单的 \ConTeXt\ 参考文献示例文档 \type{example/ex-4.tex}:
-
-\startTEX
-\setupbibtex[database=example]
-
-\starttext
-这一年,诸葛亮同学出版了一本专著\cite[诸葛专著2008],并在核心学术期刊上发表了一篇论文\cite[诸葛论文2008],因此深得刘备的赏识。
-\completepublications
-\stoptext
-\stopTEX
-
-上例中 \tex{setupbibtex} 命令的 \type{database} 参数的值为 .bib 文件名,我是将上一节中的那个 .bib 文件命名为 example.bib,然后在此使用。\tex{completepublications} 命令会在所排版的文档中插入参考文献列表。
-
-编译上述示例文档的过程正如图 \in[fig:bibtex-flow] 所示的那样,需要三个处理步骤,如下:
-
-\starttyping
-$ context --once ex-4 # 产生 .aux 文档
-$ bibtex ex-4 # 产生 .bbl 文档
-$ context ex-4 # 完成文档编译
-\stoptyping
-
-如果嫌每次编译文档都要重复输入三次命令过于繁琐,花上 20 分钟学习一下 Makefile 的简单用法会让我们更轻松一些。
-
-查看一下带有参考文献的 PDF 文档,可能你会发现参考文献并非是我们常见的那种风格,不要着慌,\ConTeXt\ 提供了一些用于设置参考文献风格的命令供我们使用。下面对 \type{ex-4.tex} 文件略作修改,添加了 \tex{setuppublications} 代码:
-
-\startTEX
-...
-\setupbibtex[database=example]
-\setuppublications[alternative=num]
-...
-\stopTEX
-
-重新编译一次 \type{ex-4.tex} 文档\footnote{若是未有改动 .bib 文档或者未引用新的文献,只需使用常规 \ConTeXt\ 文档编译方式即可。},现在参考文献的样式基本符合我们常见的风格了。有关 \tex{setuppublications} 命令的详细用法请参考 bib 模块文档\mycite{Taco}。
-
-\subsubject{Zotero}
-
-Zotero 是 Firefox 的一款扩展 (Extension),号称是下一代研究工具\footnote{至于上一代是谁,不可考,也许是那些脱离网络环境的文献管理软件吧。},我使用它来管理参考文献数据。除 Zotero 之外,还有许多其它文献管理软件,比如 Endnote、RefWorks、jabref 等,与它们相比,Zotero 将我们进行文献管理的整个过程──搜集、整理、阅读和引用等步骤都很好地集成在一起,并且与 Firefox 取得完美的结合,莫要忘记我们通常要在网上寻找文献的。关于 Zotero 的详情见其项目主页\footnote{\type{http://www.zotero.org/}}。
-
-大多数情况下,使用 Zotero 的流程可以归纳为:在互联网上发现文献──利用导入功能得到文件信息和有关附件──制作文献阅读笔记、tag 以及相关文件链接──搜索文献──输出有关文献为其他软件格式──在 TeX 或字处理软件中引用。除最后一步外都不需要打开任何其他软件。
-
-关于 Zotero 的具体用法……咳咳……实在不知道该如何用文字来讲述一款 GUI 工具的使用,又不胜一副一副配图介绍的那般繁琐。自我开脱一下,毕竟这是一份个人学习笔记,而不是一份教材,所以推荐去看 Zotero 的操作视频教程\footnote{\type{http://www.zotero.org/videos/tour/zotero_tour.htm}}。
-
-\subsubject{设置参考文献列表的样式}
-
-在制作这份学习笔记的参考文献时,因为有一些文献来自于网络,我希望在参考文献列表中提供它们的网址 (URL) 并且要求是超级链接格式的,这样便于读者直接驱动网页浏览器去下载它们。按照 Bib\TeX\ 的 .bib 文档语法,我采用以下文献条目格式提供此类文献的信息:
-
-\startTEX
-@booklet{Taco,
- title = {{Bibliographies}},
- author = {Taco Hoekwater},
- url = {http://modules.contextgarden.net/bib}
-}
-\stopTEX
-
-但是在文档中去引用上述文献时,其 URL 信息无法在参考文献列表中显示,更谈不上超级链接格式了。在 \ConTeXt\ Wiki 中的 Bibliography 文档\mycite{TacoCTXWiki}中讲述了如何在参考文献中启用 URL 的方法,并提供了一个示例。我对这个示例进行了一些简化,贵在于理解其要义。将以下代码添加到文档导言区,位于 bib 模块加载及其设置代码区域的下面:
-
-\startTEX
-\unprotect
-\setuppublicationlayout[booklet]{%
- \insertauthors{}{\unskip.}{}%
- \inserttitle{ \bgroup\it }{\/\egroup\unskip.}{}%
- \insertbiburl{ URL: }{\unskip.}{}%
- \insertnote{ }{\unskip.}{}}
-\protect
-\stopTEX
-
-\tex{setuppublicationlayout} 命令是用于设置参考文献列表的排版布局的,上例中,其参数我设为 booklet,这是因为我在 .bib 文档中将将网络文档类型定义为 booklet(小册子)类型,它是 Bib\TeX\ 的标准文献条目类型之一,将其作为 \tex{setuppublicationlayout} 的参数,表示这里要设置该类型文献条目的排版风格。
-
-在这份笔记中,我只需要 booklet 条目由 author(作者)、title(标题)、URL(文献网址)以及 note(文献注解)附加注释信息构成,因此在设置 booklet 文献条目的排版风格时,对于每一条目要素都对应一个 \tex{insertxxx} 命令。\tex{insertxxx} 命令有三个参数,可用于设定每一文献条目构成要素的排版环境,前两个参数分别用于设置对应排版文献条目构成要素的前后排版命令,第三个参数用于设置对应的文献条目构成要素缺省状态。以 \type{\insertauthors{}{\unskip.}{}} 为例,第一个参数是空的,表示采用默认排版环境;第二个参数为 \type{\unskip.},表示消除 booklet 文献条目中作者信息之后的空格,并且添加句点,第三个参数为空,表示当 .bib 文件中的 booklet 条目未提供作者信息时不作任何处理。
-
-注意,在上述示例中,\tex{insertbiburl} 命令是启来 .bib 中所提供的文献 URL 信息的。如果你希望文档中的 URL 是超级链接格式,那么还需要在 \ConTeXt\ 文档导言区添加以下代码:
-
-\startTEX
-\setupinteraction[state=start] % 启用文档的可交互功能
-\stopTEX
-
-利用上述方法并配合 \ConTeXt\ 各种排版命令可以灵活地控制参考文献列表的排版格式,这就是为什么 \ConTeXt\ 的 bib 模块只是将 Bib\TeX\ 的 .bst 文档用来实现参考文献列表排序的主要原因。
-
-\section{书签}
-
-在阅读很长的 PDF 文档时,书签 (Bookmark) 是很有用的,它们通常显示于 PDF 阅读器的侧栏,用户用鼠标点击书签就可以快速打开书签所指向的页面。对于如何使用 \CONTEXT\ 实现书签,由于我是没有耐心的人,所以看到 \ConTeXt\ Wiki 上提供了适合没耐心的人对文档书签的生成快速建立初步认识的代码,便直接抄过来:
-
-\startniceTEX
-% 启用书签功能
-\setupinteraction[state=start]
-\setupinteractionscreen[option=bookmark]
-\placebookmarks[chapter][chapter]
-
-\starttext
-\chapter{飞刀与快剑}
-冷风如刀,以大地为砧板,视众生为鱼肉。\par
-万里飞雪,将穹庐作洪炉,熔万物为白银。\par
-……
-\chapter{海内存知己}
-马车里堆着好几坛酒,这酒是那少年买的,
-所以他一碗又一碗地喝着,而且喝得很快。\par
-……
-\stoptext
-\stopniceTEX
-
-\noindent 用常规的 PDF 阅读器打开所生成的文档,若开启侧栏面板,应当可以看到书签了。如果你看不到,那么就见识一下图 \in{}[fig:bookmark]\quad。
-
-\placefigure[here][fig:bookmark]
- {带书签的 PDF 文档}
- {\externalfigure[bookmark][bookmark][width=.6\textwidth]}
-
-要开启 \ConTeXt\ 的书签功能,必须 \tex{setupinteraction[state=start]}。另外,PDF 阅读器的侧栏的书签窗口默认是隐藏的,要让阅读器打开文档时自动开启书签窗口,那就是上例中 \tex{setupinteractionscreen} 命令所做的。
-
-将章、节标题作为书签的想法很好,这样在书签窗口中,可以通过章节标题对文档的大致内容有所了解。在上例中,我通过 \tex{placebookmarks} 命令设置 chapter 标题作为书签。\tex{placebookmarks} 的第一个参数是设定各层次的章节类型作为书签,第二个参数是设置默认可见的书签。看下面一个更复杂的示例:
-
-\startTEX
-\placebookmarks[chapter,section,subsection][chapter]
-\stopTEX
-
-\noindent 这个示例的含义是:将章、节、小节的标题作为书签,默认只在书签窗口中显示由章标题生成的书签。
-
-在 MkIV 中,不知是特性还是缺陷,在将章节标题作为书签时,若标题中出现了格式化文本,譬如 \type{\ConTeXt} 这样的文本,那么书签中就会将 \type{\ConTeXt} 的 \TeX\ 定义显示出来,而不是显示 \type{ConTeXt} 或者 \ConTeXt。现在,我未能找到解决这一问题的好方法,笨方法是有的。在撰写某章节标题时,若是需要使用格式化文本,那么就在章节命令之后使用 \tex{bookmark} 命令手动设定书签标题:
-
-\startTEX
-\section{安装 \ConTeXt\ Minimals}
-\bookmark{安装 ConTeXt Minimals}
-\stopTEX
-
-\noindent 本文档目前正是使用这种方法去除书签中出现的格式化文本,勉强对付过去。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “\CONTEXT\ 对参考文献的处理”:\crlf \hbox{\tt http://liyanrui.is-programmer.com/2009/12/17/bibliographic-in-ConTeXt.14078.html}
-\item “\CONTEXT\ 对参考文献的处理——整容篇”,讲述了 \CONTEXT\ Minimals 的安装方法:\crlf\hbox{\tt http://liyanrui.is-programmer.com/2009/12/18/bibliographic-style-in-ConTeXt.14103.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/t-layout.tex b/info/context-notes-zh-cn/src/t-layout.tex
deleted file mode 100644
index 7ca9d6e1b6..0000000000
--- a/info/context-notes-zh-cn/src/t-layout.tex
+++ /dev/null
@@ -1,411 +0,0 @@
-%% Last Change: Fri Apr 22 11:06:09 2005
-
-%D \module
-%D [ file=t-layout,
-%D version=2003.03.26,
-%D title=\CONTEXT\ User Module,
-%D subtitle=show layout,
-%D author=Patrick Gundlach,
-%D date=\currentdate,
-%D copyright={Patrick Gundlach}]
-
-
-%C filename: t-layout.tex
-%C module layout, shows layout of current page
-
-
-%C copyright 2003,2007 Patrick Gundlach, patrick@gundla.ch
-%C may be distributed under the terms of the GNU General Public License
-%C URL: http://levana.de/context/
-
-%D \subject{Introduction}
-%D This third-party module \quote{layout} draws a representation of
-%D the of the layout of the
-%D current page and displays the sizes of the widths and heights of the
-%D margins, header, footer and text body.
-
-%D \subject{Usage}
-%D Include this module into your ConTeXt files:
-%D \type{\usemodule[t][layout]} and show the layout with \type{\ShowLayout}.
-
-%D You can set some parameters using \type{\SetupShowLayout}. The
-%D parameters are: units, digits, round, showmore and graphonly.
-%D If graphonly (0/1) is 0, this module shows the lenghts of some text areas.
-%D units (cm, mm, in or pt) sets the unit in which the lengths will be
-%D displayed, digits (any number $\geq 0$)
-%D sets the number of digits after the decimal period, round (any
-%D number $\neq 0$) states
-%D the place where rounding of the displayed numbers should occur
-%D (\TeX\ is bad at calculating such things) and showmore (0/1) tells
-%D this module to display information about the edge and top/bottom.
-
-%D Example:
-%D \starttyping
-%D \ShowLayout
-%D [units=cm,
-%D digits=2,
-%D round=0.1,
-%D showmore=1,
-%D graphonly=1]
-%D
-%D \stoptyping
-
-%D The idea was taken from the \type{\layout} command from the layout LaTeX
-%D package. (Kent McPherson and others)
-
-%C the following settings will be recognized:
-%C units = cm, mm, in or pt
-%C digits = any number >= 0, those are the digits after the decimal period
-%C round = any number != 0, just play with it, example 0.1 or 0.01.
-%C Explanation will be done later
-
-%D \subject{The code}
-
-%D This section is not meant as documentation
-
-\newdimen\ShowLayoutdimen
-
-\setvalue{Layoutmm}{0.351459804} % 2.54/72.27 * 10
-\setvalue{Layoutcm}{0.0351459804} % 2.54/72.27
-\setvalue{Layoutin}{0.0138370001} % 1/72.27
-\setvalue{Layoutpt}{1}
-
-\def\ShowLayoutB(#1.#2)#3{%
- \counttokens #2\to\scratchcounter
- #1\ifnum#3>0%
- \ifnum#3 > \the\scratchcounter \else \scratchcounter=#3 \fi
- \splitofftokens \scratchcounter \from #2 \to\test .\test \fi}
-
-% taken from ConTeXt source
-\def\LayoutConvert#1#2#3%
- {\ShowLayoutdimen=\getvalue{ShowLayoutround}pt
- \begingroup
- \scratchdimen#1\relax
- \scratchdimen\getvalue{Layout#2}\scratchdimen
- \advance\scratchdimen by 0.5\ShowLayoutdimen
- \divide\scratchdimen by \ShowLayoutdimen
- \multiply\scratchdimen by \ShowLayoutdimen
- \expandafter\ShowLayoutB\expandafter(\number\withoutpt{\the\scratchdimen}){#3}\thinspace #2
- \endgroup}
-
-\def\ShowLayoutA#1{%
- \LayoutConvert{#1}%
- {\getvalue{ShowLayoutunits}}%
- {\getvalue{ShowLayoutdigits}}}%
-
-\startuniqueMPgraphic{ShowLayout}{showmore}
-% make sure that the label is on the same side as the posa
-vardef swapifnecessary (suffix posa, posb)(expr labelpos) =
- if ( (labelpos < posa) and (posa > posb))
- or ( (labelpos > posa) and (posa < posb)) :
- save c; %swap 'em
- c:=posa;
- posa:=posb;
- posb:= c;
- fi
-enddef;
-% num: labelnumber
-% vertical: horizontal or vertical label?
-% pos: for horizontal the y coord, for vertical the x corrd
-% posa, posb: positions of the borders (x coord for horizontal)
-% labelpos: position for label, only for outer labels, given in the
-% same direction as posa, posb
-def layoutshowmark(expr num, vertical, pos, posa, posb, labelpos) =
- save b,e,c,p,arrow;
- numeric b,e; pair p[]; path arrow[],c;
-
- b:=posa;
- e:=posb;
-
- % p0 is labelposition
- % p1 is from
- % p2 is to
- % p3 is opposite arrow in outer marking
-
- if labelpos = 0 : % inner label |<----(n)---->|
- p0 := (.5[b,e], pos);
- else: % outer label --->| |<----(n)
- swapifnecessary (b,e, labelpos);
- p0 := (labelpos, pos);
- p3 := ( if b < labelpos: e-5mm else: e+5mm fi ,pos);
- fi
-
- p1 := (b,pos);
- p2 := (e,pos);
-
- if vertical:
- p0:=(ypart p0,xpart p0);
- p1:=(ypart p1,xpart p1);
- p2:=(ypart p2,xpart p2);
- p3:=(ypart p3,xpart p3);
- fi
- c:= fullcircle scaled .7cm shifted p0;
-
- if (center(c) -- p1) intersectiontimes c = (-1,-1):
- % don't draw the arrows, because there is not enough room for them.
- else:
- arrow1 :=center(c) -- p1 cutbefore (center(c) -- p1) intersectionpoint c ;
- arrow2 :=
- if labelpos = 0 : % inner
- center(c) -- p2 cutbefore (center(c) -- p2) intersectionpoint c
- else:
- p3 -- p2
- fi;
-
- label (decimal (num), center(c));
- draw c;
- drawarrow arrow1;
- drawarrow arrow2;
- fi
-
-enddef;
-
-
-
-StartPage;
-numeric xpos,ypos;
-
-path body,leftmargin,header,footer,rightmargin;
-
-
-% backspace:
-draw llcorner Page shifted (BackSpace,0) --
- ulcorner Page shifted (BackSpace,0) dashed evenly;
-
-%topspace
-draw urcorner Page shifted (0,-TopSpace) --
- ulcorner Page shifted (0,-TopSpace) dashed evenly;
-
-
-header := Field [Header] [Text];
-footer := Field [Footer] [Text];
-leftmargin := Field [LeftMargin] [Text];
-rightmargin:= Field [RightMargin][Text];
-body := Field [Text] [Text];
-
-pickup pencircle scaled 2pt;
-
-draw Page;
-draw leftmargin;
-draw rightmargin;
-draw header;
-draw footer;
-draw body;
-
-
-
-label ("Body", center (body));
-label ("Header",center (header));
-label ("Left Margin", center (leftmargin));
-label ("Right Margin", center (rightmargin));
-label ("Footer", center (footer));
-%% label (textext("\tfb Body"), center (body));
-%% label (textext("\tfa Header"),center (header));
-%% label (textext("Left Margin"), center (leftmargin));
-%% label (textext("Right Margin"), center (rightmargin));
-%% label (textext("\tfa Footer"), center (footer));
-
-
-if \MPvar{showmore}=1:
- path top, bot, leftedge, rightedge;
-
- top := Field [Top] [Text];
- bot := Field [Bottom] [Text];
- leftedge := Field [LeftEdge] [Text];
- rightedge := Field [RightEdge][Text];
-
- draw top;
- draw bot;
- draw leftedge;
- draw rightedge;
-fi
-
-pickup pencircle scaled 1pt;
-
-% (num, vertical, pos, from, to, labelpos)
-
-%backspace
-layoutshowmark (1, false, .5[ypart(ulcorner Page),Vstep[Top]], 0,BackSpace,0)
-
-
-ypos := Vstep[HeaderSeparator] -1cm;
-
-% leftmargin
-layoutshowmark (2, false, ypos,
- Hstep[LeftMargin],
- Hstep[LeftMargin]+Hsize[LeftMargin],0);
-
-% leftmargindistance
-layoutshowmark (3, false, ypos -1cm,
- Hstep[LeftMarginSeparator],
- Hstep[Text],
- Hstep[Text]+1cm);
-
-% makeupwidth
-layoutshowmark (4, false, Vstep[Text]+2cm,
- Hstep[Text], Hstep[Text]+Hsize[Text],0);
-
-% rightmargin
-layoutshowmark (5, false, ypos,
- Hstep[RightMargin],
- Hstep[RightMargin]+Hsize[RightMargin],0);
-
-% rightmargindistance
-layoutshowmark (6, false, ypos-1cm,
- Hstep[RightMargin],
- Hstep[RightMarginSeparator],
- Hstep[RightMarginSeparator] -1cm);
-
-
-%topspace
-
-xpos:=xpart(ulcorner Page)+BackSpace+1cm;
-layoutshowmark (7, true, xpos, PaperHeight,PaperHeight-TopSpace,0)
-
-%header
-xpos:=xpos+1cm;
-ypos:=.5[PaperHeight,PaperHeight-TopSpace];
-layoutshowmark (8, true, xpos ,
- Vstep[Header],
- Vstep[Header]+Vsize[Header],ypos);
-
-%headerseparator
-xpos:=xpos+1cm;
-layoutshowmark (9, true,xpos,
- Vstep[HeaderSeparator],
- Vstep[HeaderSeparator]+Vsize[HeaderSeparator],ypos);
-
-xpos:=xpos+1cm;
-
-if \MPvar{showmore}=1:
- % top
- layoutshowmark (17, true, xpos,
- Vstep[Top],
- Vstep[Top]+Vsize[Top], ypos);
-
- xpos:=xpos+1cm;
- layoutshowmark (18, true, xpos,
- Vstep[TopSeparator],
- Vstep[TopSeparator]+Vsize[TopSeparator], ypos);
-
-fi
-
-% makeupheight
-layoutshowmark (10, true,Hstep[RightMarginSeparator]-2cm,
- Vstep[Header]+Vsize[Header],
- Vstep[Footer],0);
-
-
-%footerseparator
-xpos:=xpart(ulcorner Page)+BackSpace+2cm;
-ypos:=.5(Vstep[Footer]);
-
-layoutshowmark (11, true,xpos,
- Vstep[FooterSeparator],
- Vstep[FooterSeparator]+Vsize[FooterSeparator],ypos);
-
-%footer
-xpos:=xpos+1cm;
-layoutshowmark (12, true,xpos,
- Vstep[Footer],Vstep[Footer]+Vsize[Footer],ypos);
-
-xpos:=xpos+1cm;
-
-if \MPvar{showmore}=1:
- % bottom
- layoutshowmark (19, true, xpos,
- Vstep[Bottom],
- Vstep[Bottom]+Vsize[Bottom], ypos);
- xpos:=xpos+1cm;
- layoutshowmark (20, true, xpos,
- Vstep[BottomSeparator],
- Vstep[BottomSeparator]+Vsize[BottomSeparator], ypos);
-
-fi
-
-if \MPvar{showmore}=1:
-
- ypos := Vstep[HeaderSeparator] -3cm;
-
- % LeftEdge
- layoutshowmark (13, false, ypos,
- Hstep[LeftEdge],
- Hstep[LeftEdge]+Hsize[LeftEdge],Hstep[Text]+1cm);
- ypos := ypos-1cm;
- % LeftEdgeSeparator
- layoutshowmark (14, false, ypos,
- Hstep[LeftEdgeSeparator],
- Hstep[LeftEdgeSeparator]+Hsize[LeftEdgeSeparator],
- Hstep[Text]+1cm);
-
- ypos := Vstep[HeaderSeparator] -3cm;
-
- layoutshowmark (15, false, ypos,
- Hstep[RightEdge],
- Hstep[RightEdge]+Hsize[RightEdge],
- Hstep[RightMarginSeparator] -1cm);
-
- ypos := ypos-1cm;
-
- layoutshowmark (16, false, ypos,
- Hstep[RightEdge],
- Hstep[RightEdgeSeparator],
- Hstep[RightMarginSeparator] -1cm);
-
-
-
-fi
-
-currentpicture := currentpicture scaled .5;
-
-\stopuniqueMPgraphic
-\defineoverlay[ShowLayout][\uniqueMPgraphic{ShowLayout}]
-
-\def\SetupShowLayout{\dosingleempty\getparameters[ShowLayout]}
-\SetupShowLayout[units=pt,digits=1,round=0.1,showmore=0,graphonly=0]
-
-\def\ShowLayout{\dosingleempty\doShowLayout}
-
-
-\def\doShowLayout[#1]{%
- \getparameters[ShowLayout][#1]
- \setMPvariables[ShowLayout][showmore=\getvalue{ShowLayoutshowmore}]
- \framed[width=.5\paperwidth,
- height=.5\paperheight,
- background=ShowLayout,
- frame=off,
-% frame=on,
- ]{}%
-\ifnum\getvalue{ShowLayoutgraphonly}=0
- \bgroup\tfxx
-\startcolumns[n=2]
-\starttabulate[|r|l|]
-\NC 1 \NC backspace \ShowLayoutA{\the\backspace} \NR
-\NC 2 \NC leftmargin \ShowLayoutA{\the\leftmarginwidth}\NR
-\NC 3 \NC leftmargindistance \ShowLayoutA{\the\leftmargindistance}\NR
-\NC 4 \NC width \ShowLayoutA{\the\makeupwidth}\NR
-\NC 5 \NC rightmargin \ShowLayoutA{\the\rightmarginwidth}\NR
-\NC 6 \NC rightmargindistance \ShowLayoutA{\the\rightmargindistance}\NR
-\NC 7 \NC topspace \ShowLayoutA{\the\topspace}\NR
-\NC 8 \NC header \ShowLayoutA{\the\headerheight}\NR
-\NC 9 \NC headerdistance \ShowLayoutA{\the\headerdistance}\NR
-\NC 10\NC height \ShowLayoutA{\the\makeupheight}\NR
-\NC 11\NC footerdistance \ShowLayoutA{\the\footerdistance}\NR
-\NC 12\NC footer \ShowLayoutA{\the\footerheight}\NR
-\ifnum\getvalue{ShowLayoutshowmore}=1%
-\NC 13\NC leftedge \ShowLayoutA{\the\leftedgewidth}\NR
-\NC 14\NC leftedgedistance \ShowLayoutA{\the\leftedgedistance}\NR
-\NC 15\NC rightedge \ShowLayoutA{\the\rightedgewidth}\NR
-\NC 16\NC rightedgedistance \ShowLayoutA{\the\rightedgedistance}\NR
-\NC 17\NC top \ShowLayoutA{\the\topheight}\NR
-\NC 18\NC topdistance \ShowLayoutA{\the\topdistance}\NR
-\NC 19\NC bottom \ShowLayoutA{\the\bottomheight}\NR
-\NC 20\NC bottomdistance \ShowLayoutA{\the\bottomdistance}\NR
-\fi
-\NC \NC paperwidth \ShowLayoutA{\the\paperwidth}\NR
-\NC \NC paperheight \ShowLayoutA{\the\paperheight}\NR
-\stoptabulate
-\stopcolumns
-\egroup
-\fi
-}
diff --git a/info/context-notes-zh-cn/src/t-zhfonts.lua b/info/context-notes-zh-cn/src/t-zhfonts.lua
deleted file mode 100644
index c40219febf..0000000000
--- a/info/context-notes-zh-cn/src/t-zhfonts.lua
+++ /dev/null
@@ -1,272 +0,0 @@
-zhfonts = {}
-
-local function init_fonts_table ()
- local f = {}
- f.serif, f.sans, f.mono = {}, {}, {}
- for k in pairs (f) do
- f[k] = {regular = {},bold = {}, italic = {}, bolditalic = {}}
- end
- return f
-end
-
-local cjkfonts, latinfonts = init_fonts_table (), init_fonts_table ()
-
-cjkfonts.serif.regular = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.serif.bold = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.serif.italic = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.serif.bolditalic = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.regular = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.bold = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.italic = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.bolditalic = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.mono.regular = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.mono.bold = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.mono.italic = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.mono.bolditalic = {name = 'adobesongstd', rscale = '1.0'}
-
-latinfonts.serif.regular = {name = 'texgyrepagellaregular'}
-latinfonts.serif.bold = {name = 'texgyrepagellabold'}
-latinfonts.serif.italic = {name = 'texgyrepagellaitalic'}
-latinfonts.serif.bolditalic = {name = 'texgyrepagellabolditalic'}
-latinfonts.sans.regular = {name = 'texgyreherosregular'}
-latinfonts.sans.bold = {name = 'texgyreherosbold'}
-latinfonts.sans.italic = {name = 'texgyreherositalic'}
-latinfonts.sans.bolditalic = {name = 'texgyreherosbolditalic'}
-latinfonts.mono.regular = {name = 'lmmono10regular'}
-latinfonts.mono.bold = {name = 'lmmonolt10bold'}
-latinfonts.mono.italic = {name = 'lmmono10italic'}
-latinfonts.mono.bolditalic = {name = 'lmmonolt10boldoblique'}
-
-local mathfonts = {roman = {}}
-mathfonts.roman.name = 'xitsmathregular'
-mathfonts.roman.feature = 'math\mathsizesuffix'
-mathfonts.roman.goodies = 'xits-math'
-
-local function strsplit(str, sep)
- local start_pos = 1
- local split_pos = 1
- local result = {}
- local stop_pos = nil
- while true do
- stop_pos = string.find (str, sep, start_pos)
- if not stop_pos then
- result[split_pos] = string.sub (str, start_pos, string.len(str))
- break
- end
- result[split_pos] = string.sub (str, start_pos, stop_pos - 1)
- start_pos = stop_pos + string.len(sep)
- split_pos = split_pos + 1
- end
- return result
-end
-
-local function strtrim (str)
- return string.gsub (str, "^%s*(.-)%s*$", "%1")
-end
-
-local function str_split_and_trim (str, sep)
- local strlist = strsplit (str, sep)
- local result = {}
- for i, v in ipairs (strlist) do
- result[i] = strtrim (v)
- end
- return result
-end
-
-local function gen_cjk_typescript (ft)
- local fb = '\\definefontfallback'
- local fb_area = '[0x00400-0x2FA1F]'
- local s1 = nil
-
- context ('\\starttypescript[serif][zhfonts]')
- context ('\\setups[font:fallbacks:serif]')
- s = ft.serif.regular
- context (fb..'[zhSerif][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.serif.bold
- context (fb..'[zhSerifBold][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.serif.italic
- context (fb..'[zhSerifItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.serif.bolditalic
- context (fb..'[zhSerifBoldItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[sans][zhfonts]')
- context ('\\setups[font:fallbacks:sans]')
- s = ft.sans.regular
- context (fb..'[zhSans][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.sans.bold
- context (fb..'[zhSansBold][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.sans.italic
- context (fb..'[zhSansItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.sans.bolditalic
- context (fb..'[zhSansBoldItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[mono][zhfonts]')
- context ('\\setups[font:fallbacks:mono]')
- s = ft.mono.regular
- context (fb..'[zhMono][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.mono.bold
- context (fb..'[zhMonoBold][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.mono.italic
- context (fb..'[zhMonoItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.mono.bolditalic
- context (fb..'[zhMonoBoldItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- context ('\\stoptypescript')
-end
-
-local function gen_latin_typescript (ft)
- local la = '\\definefontsynonym[latin'
-
- context ('\\starttypescript[serif][zhfonts]')
- context (la..'Serif][name:' .. ft.serif.regular.name .. ']')
- context (la..'SerifBold][name:' .. ft.serif.bold.name .. ']')
- context (la..'SerifItalic][name:' .. ft.serif.italic.name .. ']')
- context (la..'SerifBoldItalic][name:' .. ft.serif.bolditalic.name .. ']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[sans][zhfonts]')
- context (la..'Sans][name:' .. ft.sans.regular.name .. ']')
- context (la..'SansBold][name:' .. ft.sans.bold.name .. ']')
- context (la..'SansItalic][name:' .. ft.sans.italic.name .. ']')
- context (la..'SansBoldItalic][name:' .. ft.sans.bolditalic.name .. ']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[mono][zhfonts]')
- context (la..'Mono][name:' .. ft.mono.regular.name .. ']')
- context (la..'MonoBold][name:' .. ft.mono.bold.name .. ']')
- context (la..'MonoItalic][name:' .. ft.mono.italic.name .. ']')
- context (la..'MonoBoldItalic][name:' .. ft.mono.bolditalic.name .. ']')
- context ('\\stoptypescript')
-end
-
-local function gen_fallback_typescript ()
- context ('\\starttypescript[serif][zhfonts]')
- context ('\\setups[font:fallbacks:serif]')
- context ('\\definefontsynonym[zhSeriffallback][latinSerif][fallbacks=zhSerif]')
- context ('\\definefontsynonym[Serif][zhSeriffallback]')
- context ('\\definefontsynonym[zhSerifBoldfallback][latinSerifBold][fallbacks=zhSerifBold]')
- context ('\\definefontsynonym[SerifBold][zhSerifBoldfallback]')
- context ('\\definefontsynonym[zhSerifItalicfallback][latinSerifItalic][fallbacks=zhSerifItalic]')
- context ('\\definefontsynonym[SerifItalic][zhSerifItalicfallback]')
- context ('\\definefontsynonym[zhSerifBoldItalicfallback][latinSerifBoldItalic][fallbacks=zhSerifBoldItalic]')
- context ('\\definefontsynonym[SerifBoldItalic][zhSerifBoldItalicfallback]')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[sans][zhfonts]')
- context ('\\setups[font:fallbacks:sans]')
- context ('\\definefontsynonym[zhSansfallback][latinSans][fallbacks=zhSans]')
- context ('\\definefontsynonym[Sans][zhSansfallback]')
- context ('\\definefontsynonym[zhSansBoldfallback][latinSansBold][fallbacks=zhSansBold]')
- context ('\\definefontsynonym[SansBold][zhSansBoldfallback]')
- context ('\\definefontsynonym[zhSansItalicfallback][latinSansItalic][fallbacks=zhSansItalic]')
- context ('\\definefontsynonym[SansItalic][zhSansItalicfallback]')
- context ('\\definefontsynonym[zhSansBoldItalicfallback][latinSansBoldItalic][fallbacks=zhSansBoldItalic]')
- context ('\\definefontsynonym[SansBoldItalic][zhSansBoldItalicfallback]')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[mono][zhfonts]')
- context ('\\setups[font:fallbacks:mono]')
- context ('\\definefontsynonym[zhMonofallback][latinMono][fallbacks=zhMono]')
- context ('\\definefontsynonym[Mono][zhMonofallback]')
- context ('\\definefontsynonym[zhMonoBoldfallback][latinMonoBold][fallbacks=zhMonoBold]')
- context ('\\definefontsynonym[MonoBold][zhMonoBoldfallback]')
- context ('\\definefontsynonym[zhMonoItalicfallback][latinMonoItalic][fallbacks=zhMonoItalic]')
- context ('\\definefontsynonym[MonoItalic][zhMonoItalicfallback]')
- context ('\\definefontsynonym[zhMonoBoldItalicfallback][latinMonoBoldItalic][fallbacks=zhMonoBoldItalic]')
- context ('\\definefontsynonym[MonoBoldItalic][zhMonoBoldItalicfallback]')
- context ('\\stoptypescript')
-end
-
-local function gen_math_typescript (ft)
- if mathfonts.roman.name then
- local s = ft.roman
- context ('\\starttypescript[math][zhfonts]')
- context ('\\setups[font:fallbacks:math]')
- context ('\\definefontsynonym[MathRoman][name:'..s.name..'][features='..s.feature..', goodies='..s.goodies..']')
- context ('\\stoptypescript')
- end
-end
-
-local function gen_typeface ()
- context ('\\starttypescript[zhfonts]')
- context ('\\definetypeface[zhfonts][rm][serif][zhfonts][default][features=zh]')
- context ('\\definetypeface[zhfonts][ss][sans][zhfonts][default][features=zh]')
- context ('\\definetypeface[zhfonts][tt][mono][zhfonts][default]')
- if mathfonts.roman.name then
- context ('\\definetypeface[zhfonts][mm][math][zhfonts]')
- end
- context ('\\stoptypescript')
-end
-
-function zhfonts.gen_typescript ()
- gen_cjk_typescript (cjkfonts)
- gen_latin_typescript (latinfonts)
- gen_fallback_typescript ()
- gen_math_typescript (mathfonts)
- gen_typeface ()
-end
-
-local function setup_cjkfonts (meta, fontlist)
- local f, g = nil, nil
- for i, v in ipairs (fontlist) do
- f = str_split_and_trim (v, '=')
- g = str_split_and_trim (f[2], '@')
- if g[1] ~= '' then cjkfonts[meta][f[1]].name = g[1] end
- if g[2] then cjkfonts[meta][f[1]].rscale = g[2] end
- end
-end
-
-local function setup_latinfonts (meta, fontlist)
- local f, g = nil, nil
- for i, v in ipairs (fontlist) do
- f = str_split_and_trim (v, '=')
- latinfonts[meta][f[1]].name = f[2]
- end
-end
-
-local function setup_mathfonts (fontlist)
- local f, g = nil, nil
- for i, v in ipairs (fontlist) do
- f = str_split_and_trim (v, '=')
- if f[2] ~= '' then
- mathfonts[f[1]].name = f[2]
- else
- mathfonts[f[1]].name = nil
- end
- end
-end
-
-
-local fontfeatures = "mode=node,protrusion=myvector,liga=yes,"
-local function setup_fontfeatures (s)
- fontfeatures = fontfeatures .. s
- print (fontfeatures)
-end
-
-function zhfonts.setup (metainfo, fontinfo)
- local m = str_split_and_trim (metainfo, ',')
- local f = str_split_and_trim (fontinfo, ',')
- if #m == 1 and m[1] == 'feature' then setup_fontfeatures (fontinfo) end
- if #m == 1 and cjkfonts[m[1]] then setup_cjkfonts (m[1], f) end
- if #m == 1 and m[1] == 'math' then setup_mathfonts (f) end
- if #m == 2 then
- if m[1] == 'latin' and latinfonts[m[2]] then setup_latinfonts (m[2], f) end
- if m[2] == 'latin' and latinfonts[m[1]] then setup_latinfonts (m[1], f) end
- end
-end
-
-function zhfonts.use (param)
- context ('\\setscript[hanzi]')
- zhspuncs.opt ()
- context ('\\definefontfeature[zh][default][' .. fontfeatures .. ']')
- context ('\\setupalign[hz,hanging]')
- local f = strtrim (param)
- if f ~= "none" then
- zhfonts.gen_typescript ()
- if f ~= "hack" then
- context ('\\usetypescript[zhfonts]')
- context ('\\setupbodyfont[zhfonts, ' .. param .. ']')
- end
- end
-end
diff --git a/info/context-notes-zh-cn/src/t-zhfonts.mkiv b/info/context-notes-zh-cn/src/t-zhfonts.mkiv
deleted file mode 100644
index 5549845cce..0000000000
--- a/info/context-notes-zh-cn/src/t-zhfonts.mkiv
+++ /dev/null
@@ -1,37 +0,0 @@
-%D \module
-%D [ file=t-zhfonts,
-%D version=2010.01.06,
-%D title=\CONTEXT\ User Module,
-%D subtitle=zhfonts,
-%D author=Li Yanrui,
-%D date=\currentdate,
-%D copyright=Li Yanrui,
-%D email=liyanrui.m2@gmail.com,
-%D license=Public Domain]
-
-\writestatus{loading}{ConTeXt User Module / zhfonts}
-\startmodule[zhfonts]
-\unprotect
-\setupmodule[style=rm,size=11pt]
-
-%D Lua code
-\ctxloadluafile{t-zhfonts}
-\ctxloadluafile{t-zhspuncs}
-
-\def\setupzhfonts{\dodoubleempty\dosetupzhfonts}
-\def\dosetupzhfonts[#1][#2]{%
- \ctxlua{zhfonts.setup ('#1', '#2')}
-}
-
-\def\zhfonts[#1]{%
- \ctxlua{zhfonts.use ("#1")}
-}
-
-\edef\@@@@??style{\currentmoduleparameter{style}}
-\edef\@@@@??size{\currentmoduleparameter{size}}
-\prependtoks \zhfonts[\@@@@??style, \@@@@??size] \to \everystarttext
-
-\protect
-\stopmodule
-\endinput
-
diff --git a/info/context-notes-zh-cn/src/t-zhspuncs.lua b/info/context-notes-zh-cn/src/t-zhspuncs.lua
deleted file mode 100644
index a739bf4c03..0000000000
--- a/info/context-notes-zh-cn/src/t-zhspuncs.lua
+++ /dev/null
@@ -1,178 +0,0 @@
-zhspuncs = zhspuncs or {}
-
-local glyph = nodes.pool.register (node.new ("glyph", 0))
-
-local glyph_flag = node.id ('glyph')
-local glue_flag = node.id ('glue')
-local hlist_flag = node.id ('hlist')
-local kern_flag = node.id ('kern')
-local penalty_flag = node.id ('penalty')
-local math_flag = node.id ('math')
-
-local fonthashes = fonts.hashes
-local fontdata = fonthashes.identifiers
-local quaddata = fonthashes.quads
-
-local node_count = node.count
-local node_dimensions = node.dimensions
-local node_traverse_id = node.traverse_id
-local node_slide = node.slide
-local list_tail = node.tail
-local insert_before = node.insert_before
-local insert_after = node.insert_after
-local new_glue = nodes.pool.glue
-local new_kern = nodes.pool.kern
-local new_glue_spec = nodes.pool.glue_spec
-local new_penalty = nodes.pool.penalty
-local new_rule = nodes.pool.rule
-
-local tasks = nodes.tasks
-
-
-local puncs = {
- [0x2018] = {0.5, 0.1, 1.0, 1.0}, -- ‘
- [0x201C] = {0.5, 0.1, 0.5, 1.0}, -- “
- [0x3008] = {0.5, 0.1, 1.0, 1.0}, -- 〈
- [0x300A] = {0.5, 0.1, 1.0, 1.0}, -- 《
- [0x300C] = {0.5, 0.1, 1.0, 1.0}, -- 「
- [0x300E] = {0.5, 0.1, 1.0, 1.0}, -- 『
- [0x3010] = {0.5, 0.1, 1.0, 1.0}, -- 【
- [0x3014] = {0.5, 0.1, 1.0, 1.0}, -- 〔
- [0x3016] = {0.5, 0.1, 1.0, 1.0}, -- 〖
- [0xFF08] = {0.5, 0.1, 1.0, 1.0}, -- (
- [0xFF3B] = {0.5, 0.1, 1.0, 1.0}, -- [
- [0xFF5B] = {0.5, 0.1, 1.0, 1.0}, -- {
- [0x2019] = {0.1, 0.5, 1.0, 0.0}, -- ’
- [0x201D] = {0.1, 0.5, 1.0, 0.0}, -- ”
- [0x3009] = {0.1, 0.5, 1.0, 0.5}, -- 〉
- [0x300B] = {0.1, 0.5, 1.0, 0.5}, -- 》
- [0x300D] = {0.1, 0.5, 1.0, 0.5}, -- 」
- [0x300F] = {0.1, 0.5, 1.0, 0.5}, -- 』
- [0x3011] = {0.1, 0.5, 1.0, 0.5}, -- 】
- [0x3015] = {0.1, 0.5, 1.0, 0.5}, -- 〕
- [0x3017] = {0.1, 0.5, 1.0, 0.5}, -- 〗
- [0xFF09] = {0.1, 0.5, 1.0, 0.5}, -- )
- [0xFF3D] = {0.1, 0.5, 1.0, 0.5}, -- ]
- [0xFF5D] = {0.1, 0.5, 1.0, 0.5}, -- }
- -- 需要特殊处理
- [0x2014] = {0.0, 0.0, 1.0, 1.0}, -- —
- [0x2026] = {0.1, 0.1, 1.0, 1.0}, -- …
- [0x2500] = {0.0, 0.0, 1.0, 1.0}, -- ─
- [0x3001] = {0.15, 0.5, 1.0, 0.5}, -- 、
- [0x3002] = {0.15, 0.6, 1.0, 0.3}, -- 。
- [0xFF01] = {0.15, 0.5, 1.0, 0.5}, -- !
- [0xFF05] = {0.0, 0.0, 1.0, 0.5}, -- %
- [0xFF0C] = {0.15, 0.5, 1.0, 0.3}, -- ,
- [0xFF0E] = {0.15, 0.5, 1.0, 0.5}, -- .
- [0xFF1A] = {0.15, 0.5, 1.0, -0.1}, -- :
- [0xFF1B] = {0.15, 0.5, 1.0, 0.5}, -- ;
- [0xFF1F] = {0.15, 0.5, 1.0, 0.5}, -- ?
-}
-
-local function is_zhcnpunc_node (n)
- local n_is_punc = 0
- if puncs[n.char] then
- return true
- end
- return false
-end
-
-local function is_zhcnpunc_node_group (n)
- local n_is_punc = 0
- if puncs[n.char] then
- n_is_punc = 1
- end
- local nn = n.next
- local nn_is_punc = 0
- -- 还需要穿越那些非 glyph 结点
- while nn_is_punc == 0 and nn and n_is_punc == 1 do
- if nn.id == glyph_flag then
- if puncs[nn.char] then nn_is_punc = 1 end
- break
- end
- nn = nn.next
- end
- return n_is_punc + nn_is_punc
-end
-
-local function is_cjk_ideo (n)
- -- CJK Ext A
- if n.char >= 13312 and n.char <= 19893 then
- return true
- -- CJK
- elseif n.char >= 19968 and n.char <= 40891 then
- return true
- -- CJK Ext B
- elseif n.char >= 131072 and n.char <= 173782 then
- return true
- else
- return false
- end
-end
-
-local function quad_multiple (font, r)
- local quad = quaddata[font]
- return r * quad
-end
-
-local function process_punc (head, n, punc_flag, punc_table)
- local desc = fontdata[n.font].descriptions[n.char]
- if not desc then return end
- local quad = quad_multiple (n.font, 1)
-
- -- 像 $\ldots$ 这样的符号竟然没有边界盒,只好忽略并返回
- -- if desc.boundingbox == nil then return end
-
- local l_space = desc.boundingbox[1] / desc.width
- local r_space = (desc.width - desc.boundingbox[3]) / desc.width
- local l_kern, r_kern = 0.0, 0.0
-
- if punc_flag == 1 then
- l_kern = (punc_table[n.char][1] - l_space) * quad
- r_kern = (punc_table[n.char][2] - r_space) * quad
- elseif punc_flag == 2 then
- l_kern = (punc_table[n.char][1] * punc_table[n.char][3] - l_space) * quad
- r_kern = (punc_table[n.char][2] * punc_table[n.char][4] - r_space) * quad
- end
-
- insert_before (head, n, new_kern (l_kern))
- insert_after (head, n, new_kern (r_kern))
-end
-
-local function compress_punc (head)
- for n in node_traverse_id (glyph_flag, head) do
- local n_flag = is_zhcnpunc_node_group (n)
- if n_flag ~= 0 then
- process_punc (head, n, n_flag, puncs)
- end
- end
-end
-
-function zhspuncs.my_linebreak_filter (head, is_display)
- compress_punc (head)
- return head, true
-end
-
-function zhspuncs.opt ()
- tasks.appendaction("processors","after","zhspuncs.my_linebreak_filter")
-end
-
-fonts.protrusions.vectors['myvector'] = {
- [0xFF0c] = { 0, 0.60 }, -- ,
- [0x3002] = { 0, 0.60 }, -- 。
- [0x2018] = { 0.60, 0 }, -- ‘
- [0x2019] = { 0, 0.60 }, -- ’
- [0x201C] = { 0.60, 0 }, -- “
- [0x201D] = { 0, 0.60 }, -- ”
- [0xFF1F] = { 0, 0.60 }, -- ?
- [0x300A] = { 0.60, 0 }, -- 《
- [0x300B] = { 0, 0.60 }, -- 》
- [0xFF08] = { 0.50, 0 }, -- (
- [0xFF09] = { 0, 0.50 }, -- )
- [0x3001] = { 0, 0.50 }, -- 、
- [0xFF0E] = { 0, 0.50 }, -- .
-}
-fonts.protrusions.classes['myvector'] = {
- vector = 'myvector', factor = 1
-}
-
diff --git a/info/context-notes-zh-cn/src/zhfonts.tex b/info/context-notes-zh-cn/src/zhfonts.tex
new file mode 100644
index 0000000000..b2fa8d7bb1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/zhfonts.tex
@@ -0,0 +1,153 @@
+\title{zhfonts 模块}
+
+基于第 \in[chinese-fonts] 章介绍的汉字字体的设定方法,使用 \CONTEXT\ 足以排版中文文档,但是存在汉字标点符号的间距过大且无法与正文左右边界对齐等问题。若你对此无法忍受,可以考虑使用我写的 zhfonts 模块。
+
+\section{标点间距微调}
+
+根据现在你已经掌握的 \CONTEXT\ 知识,理解以下代码,想必已不在话下:
+
+\starttyping[option=TEX]
+\definefallbackfamily
+ [foo][rm][latinmodernroman][range={0x0000-0x0400},force=yes]
+\definefontfamily[myfonts][rm][nsimsun][bf=simhei,it=kaiti,bi=simhei]
+\setscript[hanzi]
+\setupbodyfont[foo,12pt]
+\setuppapersize[S4]
+\setuplayout[width=middle]
+\showglyphs % 显示字形边界盒
+\starttext
+小知不及大知,小年不及大年。奚以知其然也?朝菌不知晦朔,蟪蛄不知春秋,此小年也。楚之南有冥灵者,以五百岁为春,五百岁为秋;上古有大椿者,以八千岁为春,八千岁为秋,此大年也。而彭祖乃今以久特闻,众人匹之,不亦悲乎!汤之问棘也是已。穷发之北,有冥海者,天池也。有鱼焉,其广数千里,未有知其修者,其名为鲲。有鸟焉,其名为鹏,背若泰山,翼若垂天之云,抟扶摇羊角而上者九万里,绝云气,负青天,然后图南,且适南冥也。斥鴳笑之曰:“彼且奚适也?我腾跃而上,不过数仞而下,翱翔蓬蒿之间,此亦飞之至也。而彼且奚适也?”此小大之辩也。
+\stoptext
+\stoptyping
+\noindent 对应的排版结果如图 \in[none-zhfonts] 所示。
+
+若使用 zhfonts 模块,则上述示例可改写为
+
+\starttyping[option=TEX]
+\usemodule[zhfonts][size=12pt]
+\setuppapersize[S4]
+\setuplayout[width=middle]
+\showglyphs % 显示字形边界盒
+\starttext
+小知不及大知,小年不及大年 [... 省略很多字 ...] 此小大之辩也。
+\stoptext
+\stoptyping
+\noindent 对应的排版结果如图 \in[zhfonts] 所示。
+
+若认真对比图 \in[none-zhfonts] 和图 \in[zhfonts] 中的标点符号的排版结果,则不难发现 zhfonts 模块解决的问题是标点间距微调。
+
+\placefigure[here][none-zhfonts]{未使用 zhfonts 的中文标点排版效果}{%
+ \clip[width=\textwidth,height=5cm,voffset=1.8cm]{\externalfigure[none-zhfonts.pdf][width=\textwidth]}}
+\placefigure[here][zhfonts]{使用 zhfonts 的中文标点排版结果}{%
+ \clip[width=\textwidth,height=4.25cm,voffset=1.8cm]{\externalfigure[zhfonts.pdf][width=\textwidth]}}
+
+\section{安装 zhfonts 模块}
+
+\useURL[zhfonts][https://github.com/liyanrui/zhfonts/archive/refs/heads/master.zip]
+下载 zhfonts-master.zip 包,网络链接为\\
+\blueframed{\from[zhfonts]}\\
+解包后可得目录 zhfonts-master,将其更名为 zhfonts 并移动至
+\starttyping
+$TEXROOT/texmf-local/tex/context/third
+\stoptyping
+\noindent 若无该目录\footnote{\type{$TEXROOT} 的含义详见 \in[fonts-installation] 节。},可自行创建。
+
+然后执行以下命令刷新 \CONTEXT\ 文件系统,
+
+\starttyping
+$ context --generate
+\stoptyping
+
+\noindent 以使 \CONTEXT\ 能够通过 \type{\usemodule[zhfonts]} 搜索并加载 zhfonts 模块的相关文件。
+
+zhfonts 模块默认使用 simsun.ttc,simhei.ttf,simkai.ttf 这三款汉字字体——想必你早已按照 \in[fonts-installation] 节的介绍安装了它们——,西文字体默认使用随 \CONTEXT\ 发行的 Latin Modern 系列字体。
+
+\section{基本用法}
+
+zhfonts 默认使用 11 pt 正体字(宋体 + Latin Modern Serif)作为正文字体:
+
+\starttyping[option=TEX]
+\usemodule[zhfonts] % 默认正文字号为 11 pt
+\startTEXpage[frame=on,offset=4pt,width=12cm]
+我能吞下玻璃而不伤身体。I can eat glass, it does not hurt me.
+\stopTEXpage
+\stoptyping
+\placefigure[none]{}{\externalfigure[zhfonts-01.pdf]}
+
+使用模块参数 \type{style=ss} 或 \type{style=tt},可将正文字体切换为模块参数 \type{size} 所设定大小的无衬线字体或等宽字体。例如
+
+\starttyping[option=TEX]
+% 以 12 pt 的无衬线字体作为正文字体
+\usemodule[zhfonts][style=ss,size=12pt]
+\startTEXpage[frame=on,offset=4pt,width=12cm]
+我能吞下玻璃而不伤身体。I can eat glass, it does not hurt me.
+\stopTEXpage
+\stoptyping
+\placefigure[none]{}{\externalfigure[zhfonts-02.pdf]}
+
+\section{\type{\setupzhfonts}}
+
+使用 \type{\setupzhfonts} 可替换 zhfonts 默认的中文和西文字体。例如,将默认的汉字的衬线字族的粗体更换为 NotoSerifCJK-Bold.ttc\footnote{Google 开发的 Noto 字体中的一款,需要你去网络上搜索获取并按照 \in[fonts-installation] 节所介绍的方式予以安装。}:
+
+\starttyping[option=TEX]
+\setupzhfonts
+ [serif]
+ [bold=notoserifcjkscbold,
+ bolditalic=notoserifcjkscbold]
+\stoptyping
+
+亦可将默认的汉字字族全部替换为其他字体,例如替换衬线字族:
+
+\starttyping[option=TEX]
+\setupzhfonts
+ [serif]
+ [regular=notoserifcjkscregular,
+ bold=notoserifcjkscbold,
+ italic=notoserifcjkscregular,
+ bolditalic=notoserifcjkscbold]
+\stoptyping
+
+西文字体的替换方式为
+
+\starttyping[option=TEX]
+\setupzhfonts
+ [latin,serif|sans|mono]
+ [regular=...,
+ bold=...,
+ italic=...,
+ bolditalic=...]
+\stoptyping
+
+对于数学字体,zhfonts 使用 \CONTEXT\ 默认的数学字体。如果你想更换其他的数学字体,请参考 \CONTEXT\ wiki 页「Math fonts」\cite[math-fonts],例如切换为 antykwa 字体,只需
+
+\starttyping[option=TEX]
+\setupzhfonts[math][antykwa]
+\stoptyping
+
+zhfonts 并未使用汉字字体中的西文字形,而是是将汉字字体作为 Fallback 字体「注入」到西文字体,从而将汉字字体与西文字体组成了混合字体,具体原因已在 \in[fallback-fonts] 节给出了说明。
+
+两种不同的字体,混合到一起,可能会出现字形尺寸不一致的情况。若遇到这种情况,可使用 \type{\setupzhfonts} 的 \type{fontname@n.n} 的参数形式设置汉字的缩放比例。例如
+
+\starttyping[option=TEX]
+\usemodule[zhfonts][size=16pt]
+\setupzhfonts
+ [serif]
+ [regular=@1.5, % 设置默认字体的 rscale 参数值
+ bold=notoserifcjkscbold@0.5]
+\startTEXpage[frame=on,offset=4pt]
+这是汉字,These are English characters.\par
+\bf 这是汉字,These are English characters.
+\stopTEXpage
+\stoptyping
+\placefigure[none]{}{\externalfigure[zhfonts-03.pdf]}
+
+\section{小结}
+
+zhfonts 模块是基于 \CONTEXT\ 的传统的 Typescript 机制实现的汉字字体和英文字体的混合。若想见识一下 Typescript 的恐怖之处,只需编译以下内容的 \CONTEXT\ 源文件:
+
+\starttyping[option=TEX]
+\usemodule[zhfonts]
+\starttext
+\showzhfonts
+\stoptext
+\stoptyping \ No newline at end of file
diff --git a/macros/latex/contrib/songproj/Makefile b/macros/latex/contrib/songproj/Makefile
index 48edf01b51..de8b57bc12 100644
--- a/macros/latex/contrib/songproj/Makefile
+++ b/macros/latex/contrib/songproj/Makefile
@@ -22,10 +22,12 @@ pdf: songproj.pdf
mostlyclean:
rm -f *.aux *.glo *.gls *.hd *.idx *.ilg *.ind *.log *.out
+ctanclean: mostlyclean
+ rm -f *.sty
+
clean: mostlyclean
rm -f *.pdf
-maintainer-clean: clean
- rm -f *.sty
+maintainer-clean: ctanclean clean
-.PHONY: all sty doc mostlyclean clean maintainer-clean
+.PHONY: all sty doc mostlyclean ctanclean clean maintainer-clean
diff --git a/macros/latex/contrib/songproj/song2tex.py b/macros/latex/contrib/songproj/song2tex.py
index dc32da2b3f..270a9ef721 100755
--- a/macros/latex/contrib/songproj/song2tex.py
+++ b/macros/latex/contrib/songproj/song2tex.py
@@ -8,6 +8,7 @@ import re
# The following regexp match the typical markers of refrain and couplet:
re_refrain = re.compile(r'(R(efrain)?|C(horus)?)( |[-./] ?)', re.IGNORECASE)
re_couplet = re.compile(r'\d+( |[-./] ?)')
+re_txt_ext = re.compile(r'\.te?xt$')
def match_rest(regexp, s):
@@ -41,35 +42,35 @@ def parse_song(lines, re_refrain, re_couplet):
yield '\\begin{refrain}\n'
state = State.REFRAIN
line = rest
- yield ' {} \\\\\n'.format(line)
+ yield ' {}'.format(line)
elif (rest := match_rest(re_couplet, line)) is not None:
# when a couplet start marker is found, enter a couplet.
yield '\\begin{couplet}\n'
state = State.COUPLET
line = rest
- yield ' {} \\\\\n'.format(line)
+ yield ' {}'.format(line)
elif line != '':
# when a non-empty line is found, also enter a couplet as all.
yield '\\begin{couplet}\n'
state = State.COUPLET
- yield ' {} \\\\\n'.format(line)
+ yield ' {}'.format(line)
elif state == State.REFRAIN:
# We are in the refrain. Depending on what we find:
if line != '':
# when a non-empty line is found, stay in the refrain.
- yield ' {} \\\\\n'.format(line)
+ yield ' \\\\\n {}'.format(line)
else:
# when an empty line is found, leave the refrain.
- yield '\\end{refrain}\n\n'
+ yield '\n\\end{refrain}\n\n'
state = State.LIMBO
elif state == State.COUPLET:
# We are in a couplet. Depending on what we find:
if line != '':
# when a non-empty line is found, stay in the couplet.
- yield ' {} \\\\\n'.format(line)
+ yield ' \\\\\n {}'.format(line)
else:
# when an empty line is found, leave the couplet.
- yield '\\end{couplet}\n\n'
+ yield '\n\\end{couplet}\n\n'
state = State.LIMBO
# No matter what we found, we have a song line, possibly empty, that we
# have to check to see if it could not be the new longest line seen so far.
@@ -78,9 +79,9 @@ def parse_song(lines, re_refrain, re_couplet):
# The song text file is now finished. We may still be in the refrain or in a
# couplet, that we have to close.
if state == State.REFRAIN:
- yield '\\end{refrain}\n\n'
+ yield '\n\\end{refrain}\n\n'
elif state == State.COUPLET:
- yield '\\end{couplet}\n\n'
+ yield '\n\\end{couplet}\n\n'
# Now print the longest line of the entire song.
yield '\\longest{{{}}}\n'.format(longest)
@@ -92,8 +93,13 @@ def main(args=None):
parser.add_argument("--couplet", '-c', type=re.compile, default=re_couplet, metavar="REGEXP",
help="specify the couplet marker (regexp, default \"{}\")".format(re_couplet.pattern))
parser.add_argument("infile", help="input song text file", type=argparse.FileType('r'))
- parser.add_argument("outfile", help="output LaTeX file", type=argparse.FileType('w'))
+ parser.add_argument("outfile", help="output LaTeX file", type=argparse.FileType('w'), nargs='?')
args = parser.parse_args(args)
+ if args.outfile is None:
+ try:
+ args.outfile = open(re_txt_ext.sub('', args.infile.name) + '.tex', 'w')
+ except AttributeError:
+ parser.error("the following argument is required: outfile")
for line in parse_song(args.infile, args.refrain, args.couplet):
args.outfile.write(line)
diff --git a/macros/latex/contrib/songproj/songproj.dtx b/macros/latex/contrib/songproj/songproj.dtx
index 7c1783fe15..6ed09318c0 100644
--- a/macros/latex/contrib/songproj/songproj.dtx
+++ b/macros/latex/contrib/songproj/songproj.dtx
@@ -34,7 +34,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
%<package>\ProvidesPackage{songproj}
%<*package>
- [2022/11/07 v1.0.1 Song projection]
+ [2023/03/29 v1.2.0 Song projection]
%</package>
%
%<*driver>
@@ -52,7 +52,7 @@
%</driver>
% \fi
%
-% \CheckSum{256}
+% \CheckSum{269}
%
% \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
@@ -75,6 +75,8 @@
% \changes{v0.3.0}{2021/09/26}{Use \textsf{expl3} naming conventions}
% \changes{v1.0.0}{2021/11/07}{First public release}
% \changes{v1.0.1}{2021/11/07}{Add the generated extension file to Git}
+% \changes{v1.1.0}{2023/03/27}{Allow couplet numbering with \cs{numbercouplets}}
+% \changes{v1.2.0}{2023/03/29}{Allow couplet numbering with \cs{inputsong*}}
%
% \GetFileInfo{songproj.dtx}
%
@@ -147,6 +149,16 @@
% is only used to compute and record its length, and will not be typeset.
% \end{function}
%
+% \changes{v1.1.0}{2023/03/27}{Document the \cs{numbercouplets} command}
+% \begin{function}{\numbercouplets}
+% \label{doc-cs-numbercouplets}
+% Inside a \env{song} environment, the \cs{numbercouplets} command can be used
+% to enable couplet numbering. This can be useful when specific couplets have
+% been selected but the lead singer has a score a lyrics sheet that includes
+% all of them: indicating the couplet numbers in the projection will allow them
+% to check which couplet to sing.
+% \end{function}
+%
% \changes{v0.4.0}{2021/09/29}{Document \env{intro} and \env{final} environments}
%
% \paragraph{}
@@ -215,10 +227,12 @@
%
% \subsection{The \cs{inputsong} command}
% \changes{v1.0.0}{2021/11/07}{Document the \cs{inputsong} command}
+% \changes{v1.2.0}{2023/03/29}{Document the \cs{inputsong*} command}
%
-% \begin{function}{\inputsong}
+% \begin{function}{\inputsong, \inputsong*}
% \begin{syntax}
% \cs{inputsong}\marg{file}\marg{stanzas per slide}\oarg{couplet list}
+% \cs{inputsong*}\marg{file}\marg{stanzas per slide}\oarg{couplet list}
% \end{syntax}
%
% The \cs{inputsong} command environment is used as a shortcut for
@@ -235,6 +249,9 @@
% \end{verbatim}
% \end{function}
%
+% The starred version \cs{inputsong*} enables couplet numbering, as described
+% in \ref{doc-cs-numbercouplets}.
+%
% \subsection{The \env{refrain}, \env{couplet}, \env{intro} and \env{final} environments}
%
% \changes{v0.4.0}{2021/09/29}{Document \env{intro} and \env{final} environments}
@@ -293,6 +310,7 @@
% \end{verbatim}
%
% \subsubsection{Importing text lyrics}
+% \changes{v1.1.0}{2023/03/27}{Derivate output file name from input file name if not specified}
%
% Song lyrics are often found in text format with basic markup:
%
@@ -391,6 +409,8 @@
%
% \changes{v0.2.0}{2021/09/23}{Use \texttt{sp} prefix for functions and
% variables}
+% \changes{v1.1.0}{2023/03/27}{Add the \cs{g__sp_show_numbers_bool} variable to
+% number or not couplets}
%
% We define a number of internal variables, that are used when reading and
% formatting a song. All of these variables are meant to be set globally: since
@@ -402,6 +422,7 @@
\bool_new:N \g__sp_song_start_bool % are we at the start of a song?
\bool_new:N \g__sp_refrain_first_bool % does current song start with the
% refrain?
+\bool_new:N \g__sp_show_numbers_bool % should we show the couplet numbers?
\int_new:N \g__sp_stanzas_per_slide_int % number of stanzas to show on each
% slide (1 or 2)
\dim_new:N \g__sp_linewidth_dim % length of the longest line in current
@@ -500,8 +521,9 @@
% \end{macro}
%
% \begin{macro}{\__sp_song_couplet:n}
+% \changes{v1.1.0}{2023/03/27}{Print the couplet number when requested}
%
-% This macro uses the \env{__sp_couplet} environment to a specified couplet of
+% This macro uses the \env{__sp_couplet} environment to format a specified couplet of
% the current song. It takes a single argument:
%
% \begin{arguments}
@@ -515,6 +537,9 @@
\dim_compare:nNnTF \g__sp_linewidth_dim {=} {0pt}
{ \begin{__sp_couplet} }
{ \begin{__sp_couplet} [\g__sp_linewidth_dim] }
+ \bool_if:NTF \g__sp_show_numbers_bool
+ { \flagverse{#1.} }
+ {}
\seq_item:Nn \g__sp_couplets_seq {#1}
\end{__sp_couplet}
}
@@ -832,7 +857,20 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\numbercouplets}
+% \changes{v1.1.0}{2023/03/27}{New command to enable couplet numbering}
+%
+% This macro can be used within a song to indicate that its couplets should be
+% numbered.
+%
+% \begin{macrocode}
+ \NewDocumentCommand {\numbercouplets}{}
+ { \bool_gset_true:N \g__sp_show_numbers_bool }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{environment}{song}
+% \changes{v1.1.0}{2023/03/27}{Do not number couplets by default}
%
% This environment is used as a container for entire songs. On opening, it does several things:
% \begin{enumerate}
@@ -847,6 +885,9 @@
% we are at the start of the song, which will allow the next
% \env{refrain} or \env{couplet} to tell if the song starts with the
% refrain or with a couplet;
+% \item it sets the \cs{g__sp_show_numbers_bool} variable to false, to
+% indicate that the couplets should not be numbered by default (the user
+% will be able to override this with the \cs{numbercouplets} command).
% \end{enumerate}
%
% This environment takes two arguments:
@@ -877,6 +918,9 @@
% Indicate that we are in a song, and at its start
\bool_gset_true:N \g__sp_song_bool
\bool_gset_true:N \g__sp_song_start_bool
+
+ % Couplets should not be numbered by default
+ \bool_gset_false:N \g__sp_show_numbers_bool
}
% \end{macrocode}
%
@@ -994,18 +1038,21 @@
% \end{environment}
%
% \begin{macro}{\inputsong}
-% \changes{v1.0.0}{2021/11/07}{Add a \cs{inputsong} command}
+% \changes{v1.0.0}{2021/11/07}{Add an \cs{inputsong} command}
+% \changes{v1.2.0}{2023/03/29}{Add an \cs{inputsong*} command}
%
% This macro starts a \env{song} environment and \cs{input}s the song content
% from an external file.
%
% \begin{macrocode}
-\NewDocumentCommand {\inputsong} { m m o }
+\NewDocumentCommand {\inputsong} { s m m o }
{
- \IfNoValueTF {#3}
- { \begin{song} {#2} }
- { \begin{song} {#2} [#3] }
- \input{#1}
+ \IfNoValueTF {#4}
+ { \begin{song} {#3} }
+ { \begin{song} {#3} [#4] }
+ \IfBooleanT {#1}
+ { \numbercouplets }
+ \input{#2}
\end{song}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/songproj/songproj.pdf b/macros/latex/contrib/songproj/songproj.pdf
index 24216ce150..1329f0e986 100644
--- a/macros/latex/contrib/songproj/songproj.pdf
+++ b/macros/latex/contrib/songproj/songproj.pdf
Binary files differ
diff --git a/macros/latex/contrib/wargame/README.md b/macros/latex/contrib/wargame/README.md
index 000f3cd68b..3de32ab4d0 100644
--- a/macros/latex/contrib/wargame/README.md
+++ b/macros/latex/contrib/wargame/README.md
@@ -1,8 +1,6 @@
-A package to make Hex'n'Counter wargames in LaTeX
-=================================================
+# A package to make Hex'n'Counter wargames in LaTeX
-Version 0.3.2
--------------
+## Version 0.5
This package can help make classic [Hex'n'Counter
wargames](https://en.wikipedia.org/wiki/Wargame) using LaTeX. The
@@ -25,14 +23,12 @@ one will need for a game (rules, charts, boards, counter sheets).
- The package support exporting the game to a
[VASSAL](#vassal-support%20'Section%20below') module
-Sources
--------
+## Sources
The sources of the package are kept at
[GitLab](https://gitlab.com/wargames_tex/wargame_tex)
-Download from GitLab
---------------------
+## Download from GitLab
- [Zip file of package and support
files](https://gitlab.com/wargames_tex/wargame_tex/-/jobs/artifacts/master/download?job=dist)
@@ -67,14 +63,12 @@ to install in `~/texmf`. If you prefer another destination, say
make install DESTDIR=/usr/local/share/texmf
-Download from CTAN
-------------------
+## Download from CTAN
The package is available from
[CTAN](https://ctan.org/tex-archive/macros/latex/contrib/wargame) in the
-directory `/macros/latex/contrib/wargame`. As of this writing, the
-package has not hit any of the major distributions (e.g.,
-[TeXLive](https://tug.org/texlive/index.html)).
+directory `/macros/latex/contrib/wargame`. The package is part of the
+CTAN distribution [TeXLive](https://tug.org/texlive/index.html).
### From TDS zip archive
@@ -170,16 +164,14 @@ the module `PIL` for this. On Debian based systems, do
sudo apt install poppler-utils python3-pil
-Tutorial
---------
+## Tutorial
See the [tutorial](tutorial/README.md "Link works on GitLab only") page
for more
([here](https://ctan.org/tex-archive/macros/latex/contrib/wargame/doc/tutorial/)
if you browse from CTAN).
-Examples
---------
+## Examples
Below are some print'n'play board wargames made with this package. These
are not original games but rather revamps of existing games. All credits
@@ -192,6 +184,9 @@ goes to the original authors of these games.
- Western Front
- [D-Day](https://gitlab.com/wargames_tex/dday_tex) (Avalon
Hill classic)
+ - [Smithsonian
+ D-Day](https://gitlab.com/wargames_tex/sdday_tex) (Avalon
+ Hill)
- [Paul Koenig's Market
Garden](https://gitlab.com/wargames_tex/pkmg_tex)
- [Paul Koenig's
@@ -208,9 +203,10 @@ goes to the original authors of these games.
- [Strike Force One](https://gitlab.com/wargames_tex/sfo_tex)
- [Kriegspiel](https://gitlab.com/wargames_tex/kriegspiel_tex)
(Avalon Hill classic)
+ - [Port Stanley](https://gitlab.com/wargames_tex/portstanley_tex)
+ (from the *Wargamer* magazine)
-VASSAL support
---------------
+## VASSAL support
The packages has the script [`wgexport.py`](utils/wgexport.py) to
generate a draft [VASSAL](https://vassalengine.org) module from the
@@ -231,8 +227,14 @@ An example of this is given in the [Battle for
Moscow](https://gitlab.com/wargames_tex/bfm_tex) project, and of course
in the [tutorial](tutorial/ "Link works on GitLab only")
-NATO App6
----------
+The sources of this script is kept in a different project
+[`pywargame`](https://gitlab.com/wargames_tex/pywargame) also on GitLab.
+The script is generated in that package. The `pywargame` package allows
+one to manipulate VASSAL modules from Python, or to read (and convert)
+[CyberBoard](http://cyberboard.norsesoft.com/)
+([GitHub](https://github.com/CyberBoardPBEM/cbwindows)) scenarios.
+
+## NATO App6
The package supports
@@ -257,8 +259,7 @@ standard.
- Other LaTeX package for making NATO symbology
[XMilSymb](https://github.com/ralphieraccoon/MilSymb)
-Copyright and license
----------------------
+## Copyright and license
(c) 2022 Christian Holm Christensen
@@ -277,7 +278,7 @@ you generate using the package is *not* required to be licensed
according to the *ShareAlike* clause of CC-BY-SA-4.0. That is, you can
license your materials *any way you want*.
-However, that copyright rights on games is not as prohibitive as you may
+However, copyright rights on games is not as prohibitive as you may
think (see [this thread on
BGG](https://boardgamegeek.com/thread/493249/)). What you *can*
copyright is original, artistic expression. That is, the copyrighted
diff --git a/macros/latex/contrib/wargame/doc/compat.pdf b/macros/latex/contrib/wargame/doc/compat.pdf
index 70583eca2f..2ba344d4ab 100644
--- a/macros/latex/contrib/wargame/doc/compat.pdf
+++ b/macros/latex/contrib/wargame/doc/compat.pdf
Binary files differ
diff --git a/macros/latex/contrib/wargame/doc/symbols.pdf b/macros/latex/contrib/wargame/doc/symbols.pdf
index b7f8a0a6c0..cd8f0d3ddc 100644
--- a/macros/latex/contrib/wargame/doc/symbols.pdf
+++ b/macros/latex/contrib/wargame/doc/symbols.pdf
Binary files differ
diff --git a/macros/latex/contrib/wargame/doc/tutorial/Makefile b/macros/latex/contrib/wargame/doc/tutorial/Makefile
index 4947d84ee0..ed50fabad5 100644
--- a/macros/latex/contrib/wargame/doc/tutorial/Makefile
+++ b/macros/latex/contrib/wargame/doc/tutorial/Makefile
@@ -8,7 +8,7 @@ LATEX_FLAGS := -interaction=nonstopmode \
-shell-escape
EXPORT := ../utils/wgexport.py
EXPORT_FLAGS :=
-
+PATCH := patch.py
ifdef VERBOSE
MUTE :=
REDIR :=
@@ -22,15 +22,15 @@ endif
%.aux:%.tex
@echo "LATEX $< -> $@"
- $(MUTE)TEXINPUTS=:..: $(LATEX) $(LATEX_FLAGS) $< $(REDIR)
+ $(MUTE)TEXINPUTS=..: $(LATEX) $(LATEX_FLAGS) $< $(REDIR)
%.pdf:%.aux
@echo "LATEX $*.tex -> $@ (via $*.aux)"
- $(MUTE)TEXINPUTS=:..: $(LATEX) $(LATEX_FLAGS) $*.tex $(REDIR)
+ $(MUTE)TEXINPUTS=..: $(LATEX) $(LATEX_FLAGS) $*.tex $(REDIR)
%.pdf:%.tex
@echo "LATEX $< -> $@"
- $(MUTE)TEXINPUTS=:..: $(LATEX) $(LATEX_FLAGS) $< $(REDIR)
+ $(MUTE)TEXINPUTS=..: $(LATEX) $(LATEX_FLAGS) $< $(REDIR)
%.json:%.pdf
@@ -39,11 +39,12 @@ all: game.pdf Game.vmod
game.aux:game.tex game.sty export.tex
export.pdf:export.tex game.sty
-Game.vmod:export.pdf export.json patch.py game.pdf
+Game.vmod:export.pdf export.json $(PATCH) game.pdf
@echo "$(EXPORT) $< -> $@"
- $(MUTE)$(EXPORT) export.pdf export.json -p patch.py -r game.pdf \
+ $(MUTE)$(EXPORT) export.pdf export.json -p $(PATCH) -r game.pdf \
-d "Example module from LaTeX PnP game" \
- -t "LaTeX wargame tutorial" -v 0.1 -o $@
+ -t "LaTeX wargame tutorial" -v 0.1 -o $@ \
+ $(EXPORT_FLAGS)
clean:
rm -f *~ *.log *.out *.aux *.pdf *.vmod *.json
diff --git a/macros/latex/contrib/wargame/doc/tutorial/export.tex b/macros/latex/contrib/wargame/doc/tutorial/export.tex
index d51ecf0e5c..6d6722d9ac 100644
--- a/macros/latex/contrib/wargame/doc/tutorial/export.tex
+++ b/macros/latex/contrib/wargame/doc/tutorial/export.tex
@@ -72,14 +72,14 @@
% For that we will use the macro \verb+\doublechitimages+ (if we had
% single sided counters, we would use \verb+\chitimages+). This macro
% takes two arguments: The list of counter definitions and the faction
-% of the chits. So lets go ahead and make those for factions A and B,
+% of the chits. Let's go ahead and make those for factions A and B,
% and the special faction ``Markers'' which will only be the game turn
% counter.
%
% \begin{macrocode}
\doublechitimages[A]{\alla}
\doublechitimages[B]{\allb}
-\doublechitimages[Markers]{{game turn}}
+\doublechitimages[Markers]{{game turn chit}}
% \end{macrocode}
%
% Again, the macros we made for the counters comes in handy. Note
@@ -87,6 +87,51 @@
% VASSAL module. We will, in fact, use them one more time to create
% the counter sheet.
%
+% To automatically make ``battle markers'' --- markers that identify
+% individual battles by placing a numbered marker on top of the
+% combatants, we can use the macro \verb+battlemarkers+. It takes one
+% argument, which is the number of unique markers to make and add.
+% The markers are round yellow circles with a number in
+% them\footnote{This can of course be customised as everything else
+% can.}.
+%
+% \begin{macrocode}
+\battlemarkers{12}
+% \end{macrocode}
+%
+% Furthermore, we can add ``odds'' and battle result markers. Odds
+% markers can be placed via the battle markers context menu, and then
+% later be replaced by result markers via the context menu of the odds
+% markers. This is done via the macros \verb+\oddsmarkers+ and
+% \verb+\resultmarkers+. Both macros accept a list of options (odds
+% and results, respectively) with a possible background colour to use
+% in the markers.
+%
+% \begin{macrocode}
+\oddsmarkers{%
+ 1:3/red!25!white,%
+ 1:2/red!15!white,%
+ 1:1/orange!15!white,%
+ 2:1/white,%
+ 3:1/green!15!white,%
+ 4:1/green!25!white}
+\resultmarkers{
+ AE/red!50!white,
+ AR/red!25!white,
+ EX/white,
+ DR/green!10!white,
+ DE/green!25!white}
+% \end{macrocode}
+%
+% By default, odds markers must be placed ``by-hand'', but via the
+% VASSAL preferences it is possible to calculate the odds and show
+% them when the battle is declared. By default, this calculation will
+% only be concerned with the combat factors of the involved units, and
+% features such as terrain is ignored. However, with a bit of Python
+% skill, one can flesh out the implementation of the game rules in the
+% optional patch (Python) script. We will not do that here, as a it
+% is a little beyond the scope of this tutorial.
+%
% Right, so that made our counter images and the associated meta
% data. Next thing is to add our board. For that, we use the
% environment \texttt{boardimage}. Inside that environment we must
@@ -116,7 +161,7 @@
% \end{macrocode}
%
% We have two charts that we would also like to be put in: The CRT and
-% the TE. These \emph{must} be put into \Tikz{} pictures, and we
+% the TEC. These \emph{must} be put into \Tikz{} pictures, and we
% precede those with the macro \verb+\info+. This macro takes three
% arguments: The name of the next image, the category, and
% sub-category. Again, the name is more or less free form, and the
@@ -153,7 +198,7 @@
\end{tikzpicture}
% \end{macrocode}
%
-% We can a splash page image. We have not defined such an image in
+% We can add splash page image. We have not defined such an image in
% the \texttt{game} package, but we could have, so we will make it
% here. Again, it should be a \Tikz{} picture. For this, we need to
% use the category \texttt{front}.
@@ -172,68 +217,67 @@
% the like. We will add a few such icons here, mainly to show how
% the \texttt{patch.py} script works.
%
-% First, a button icon for the pool window.
+% The \textsf{wgexport.cls} class provides a number of icons we may
+% use for this. These are
+%
+% \begin{center}
+% \begin{tikzpicture}
+% \pic {flip icon};
+% \pic at (2.0,0) {restore icon};
+% \pic at (3.5,0) {eliminate icon};
+% \pic at (5.0,0) {pool icon};
+% \pic at (6.5,0) {oob icon={black}{black}};
+% \end{tikzpicture}
+% \end{center}
+%
+%
+% We will add these as pictures to our export PDF. First, the image
+% for the pool of units.
%
% \begin{macrocode}
\info{pool-icon}{icon}{}
-\begin{tikzpicture}[scale=.15]
- \draw[scale line widths,line width=4mm]
- (0,1)--(0,-1) (-.7,.2)--(.7,.2);
+\begin{tikzpicture}[transform shape,scale=.4]
+ \pic{pool icon};
\end{tikzpicture}
% \end{macrocode}
%
-% The category \texttt{icon} has no special meaning. The icon will
-% look like \tikz[scale=.3]{\draw[scale line widths,line width=4mm]
-% (0,1)--(0,-1) (-.7,.2)--(.7,.2);}
+% The category \texttt{icon} has no special meaning.
%
% We also want to add a custom icon for the OOB button. VASSAL has a
% button icon for the piece inventory which is really quite
-% appropriate, but alas it is already in use, so we will make our own
-% (albeit similar).
+% appropriate, but alas it is already in use, so we will make our
+% own. Here, we use the \TikZ{} picture \texttt{oob icon} provided by
+% \textsf{wgexport}. This picture needs two arguments: the left hand
+% and right hand sides fill colours. We will use our background
+% colours.
%
% \begin{macrocode}
\info{oob-icon}{icon}{}
-\begin{tikzpicture}[scale=.6]
- \draw[fill=friendly] (.1,0) rectangle(.5,-.1);
- \draw[fill=friendly] (.1,-.15) rectangle(.3,-.25);
- \draw[fill=friendly] (.1,-.3) rectangle(.2,-.4);
- \draw[fill=hostile] (-.1,0) rectangle(-.3,-.25);
+\begin{tikzpicture}[transform shape,scale=.4]
+ \pic{oob icon={a-bg}{b-bg}};
\end{tikzpicture}
% \end{macrocode}
-%
-% This looks like
-% \tikz{
-% \draw[fill=friendly] (.1,0) rectangle(.5,-.1);
-% \draw[fill=friendly] (.1,-.15) rectangle(.3,-.25);
-% \draw[fill=friendly] (.1,-.3) rectangle(.2,-.4);
-% \draw[fill=hostile] (-.1,0) rectangle(-.3,-.25);}
%
-% Normally the \texttt{wgexport.py} script used the \emph{undo} mage
+% Normally the \texttt{wgexport.py} script uses the \emph{undo} image
% for the flip button. However, that may be a bit confusing, so we
-% will use a large ``F''
-% instead. \tikz{\node[color=blue!75!black,font=\sffamily\bfseries\LARGE]{F}}
+% will use a custom image for that. We will use the pictures provided
+% by \textsf{wgexport}.
%
-% And similarly for the ``Eliminate''\tikz{\node[color=red!75!black,font=\sffamily\bfseries\LARGE]{E}}
-%
-% and ``Restore'' buttons. \tikz{\node[color=green!75!black,font=\sffamily\bfseries\LARGE]{R}}
%
% \begin{macrocode}
\info{flip-icon}{icon}{}
-\begin{tikzpicture}
- \node[color=blue!75!black,inner sep=0pt,
- font=\sffamily\bfseries\large]{F};
+\begin{tikzpicture}[transform shape,scale=.4]
+ \pic{flip icon};
\end{tikzpicture}
%
\info{eliminate-icon}{icon}{}
-\begin{tikzpicture}
- \node[color=red!75!black,inner sep=0pt,
- font=\sffamily\bfseries\large]{E};
+\begin{tikzpicture}[transform shape,scale=.4]
+ \pic{eliminate icon};
\end{tikzpicture}
%
\info{restore-icon}{icon}{}
-\begin{tikzpicture}
- \node[color=green!75!black,inner sep=0pt,
- font=\sffamily\bfseries\large]{R};
+\begin{tikzpicture}[transform shape,scale=.4]
+ \pic{restore icon};
\end{tikzpicture}
% \end{macrocode}
%
@@ -262,7 +306,7 @@
% course Un*x-like syntax. For other OSs, consult your \TeX{}
% distribution's documentation for how to find files in the \TeX{}
% installation.
-
+%
% You can open the module in the VASSAL editor and see what was
% generated. On the board, all areas marked with the \texttt{zone
% scope} (or \texttt{zone path}) should be defined as zones. In the
@@ -328,10 +372,9 @@
% done the heavy work for us. Not least be because we have taken care
% to add in \texttt{zone} styles where needed.
%
-% We will
-% put all the counters on the OOB chart, and adjust some grids - most
-% notably the OOB and turn track grids. Other than that, we will not
-% do much.
+% We will put all the counters on the OOB chart, and adjust some grids
+% - most notably the OOB and turn track grids. Other than that, we
+% will not do much.
%
% \begin{verbatim}
% `kpsewhich wgexport.py` export.pdf export.json \
@@ -344,37 +387,61 @@
% Now for the script:
%
% \begin{verbatim}
-% def patch(build,data,vmod,verbose=False):
-% # We need to import the export module :-)
-% import wgexport as wg
+% # --- We may need to import the export module ---
+% #
+% # from wgexport import *
%
-% # Get the game and last free GPID
-% game = wg.get_game(build)
-% gpid = int(game.getAttribute('nextPieceSlotId'))
+% def patch(build,data,vmod,verbose=False,**kwargs):
+% # --- Get the game ---
+% game = build.getGame()
%
-% # Get all boards
-% maps = wg.get_maps(build)
-% board = maps['Board']
+% # --- Get the maps ---
+% maps = game.getMaps()
%
-% mkeys = wg.get_masskey(board,'name')
-% wg.set_node_attr(mkeys['Eliminate'],icon='eliminate-icon.png')
-% wg.set_node_attr(mkeys['Flip'],icon='flip-icon.png')
+% # --- Get the main board ---
+% board = maps['Board']
+%
+% # --- Get the mass keys ---
+% mkeys = board.getMassKeys()
+% mkeys['Eliminate']['icon'] = 'eliminiate-icon.png'
+% mkeys['Flip'] ['icon'] = 'flip-icon.png'
%
-% # Get main map
+% # --- Get the dead-pool map ---
% pool = maps['DeadMap']
-% wg.set_node_attr(pool,icon='pool-icon.png')
+% pool['icon'] = 'pool-icon.png'
+% pool.getMassKeys()['Restore']['icon'] = 'restore-icon.png'
%
-% mkeys = wg.get_masskey(pool,'name')
-% wg.set_node_attr(mkeys['Restore'],icon='restore-icon.png')
-%
-% # Get the OOB map
-% oob = wg.get_chartwindows(game)['OOBs']
-% wg.set_node_attr(oob,icon='oob-icon.png')
+% # --- Get the OOB map ---
+% oob = game.getChartWindows()['OOBs']
+% oob['icon'] = 'oob-icon.png'
+%
+%
+% #
+% # EOF
+% #
% \end{verbatim}
%
% In the \texttt{patch.py} script we can use all the functionality
% provided by \texttt{wgexport.py}. Elements are XML elements that we
-% apply \texttt{xml.dom.minidom} operations on.
+% apply \texttt{xml.dom.minidom} operations on.
+%
+% Note, if we need to use classes, etc.\ from \texttt{wgexport.py},
+% then we ought to import that module into our patch script, as shown
+% in the top comment above. In the example patch script we do not
+% need that, so we leave it out.
+%
+% One can do quite complicated things in VASSAL, which can be set-up
+% in the patch script. By default, the \texttt{wgexport} script sets
+% up the pieces and boards, and if one has defined regions with
+% specific piece names, then the script will likewise place the pieces
+% there (as with our \texttt{game turn} example above).
+%
+% One can, for example, setup the module so that the game turn marker
+% automatically flips or progresses when the turn track widget reach
+% specific points. One can in principle also set it up so that when a
+% specific turn or phase is reach, then pieces are moved from the OOB
+% to the board. The more one can do like that, the more the game is
+% automated.
%
% \iffalse
% Local Variables:
diff --git a/macros/latex/contrib/wargame/doc/tutorial/game.pdf b/macros/latex/contrib/wargame/doc/tutorial/game.pdf
index 14bcde8f98..f4e8a22e2a 100644
--- a/macros/latex/contrib/wargame/doc/tutorial/game.pdf
+++ b/macros/latex/contrib/wargame/doc/tutorial/game.pdf
Binary files differ
diff --git a/macros/latex/contrib/wargame/doc/tutorial/game.sty b/macros/latex/contrib/wargame/doc/tutorial/game.sty
index 0c8fcc0165..83a5c02185 100644
--- a/macros/latex/contrib/wargame/doc/tutorial/game.sty
+++ b/macros/latex/contrib/wargame/doc/tutorial/game.sty
@@ -899,7 +899,7 @@
% \begin{figure}
% \centering
% \begin{tikzpicture}
-% \chit[game turn]
+% \chit[game turn chit]
% \end{tikzpicture}
% \caption{The \textsf{wargame} game turn counter}
% \label{fig:plain-game-turn}
@@ -910,8 +910,8 @@
%
% \begin{macrocode}
\tikzset{
- game turn/.append style={a},
- game turn flipped/.style={game turn,b}
+ game turn chit/.append style={a},
+ game turn chit flipped/.append style={b}
}
% \end{macrocode}
%
@@ -920,7 +920,7 @@
% \begin{figure}
% \centering
% \begin{tikzpicture}
-% \doublechits{{game turn}}{1}{1.24}
+% \doublechits{{game turn chit}}{1}{1.24}
% \end{tikzpicture}
% \caption{Modified game turn, front and back}
% \label{fig:game-turn}
@@ -1346,6 +1346,8 @@
text=titlefg,
font=\sffamily\bfseries\Huge,
scale=1.5,
+ inner sep=0pt,
+ outer sep=0pt,
transform shape,
},
sub title/.style={
@@ -1354,6 +1356,8 @@
scale=1.5,
transform shape,
text width=5cm,
+ inner sep=0pt,
+ outer sep=0pt,
align=right
}
}
@@ -1859,7 +1863,7 @@
turn,
transform shape,
anchor=east,
- outer sep=5mm,
+ outer sep=2mm,
scale=.7},
}
% \end{macrocode}
@@ -1921,7 +1925,7 @@
%
% \begin{verbatim}
% \begin{tikzpicture}[oob turn/.append style={anchor=west}]
-% \oob{\alla}{4}{1.24}{0}
+% \oob*{\alla}{4}{1.24}{0}
% \end{tikzpicture}
% \begin{tikzpicture}
% \oob{\allb}{4}{1.24}{0}
@@ -1950,31 +1954,31 @@
at (0,2.5) {};%
% Game title
\node[%
- below right=5mm and 5mm of oob frame.north west,
- title,scale=.8]{A Game};
+ below right=5mm and 5mm of oob frame.north west,
+ title,scale=.8]{A Game};
% Chart title
\node[%
- below left=5mm and 5mm of oob frame.north east,
- sub title,scale=1.2,transform shape]{%
+ below left=5mm and 5mm of oob frame.north east,
+ sub title,scale=1.2,transform shape]{%
Order of Battle};
% Turn title
\node[font=\sffamily\bfseries\Large,
- white,transform shape]
- at (0,1) {Turn};
+ anchor=south,
+ white,transform shape] at (0,1) {Turn};
%
\begin{scope}[%
- transform shape,
- oob turn/.append style={anchor=west},%
- shift={(-1.35,0)},
- zone scope=A OOB]%
+ transform shape,
+ oob turn/.append style={anchor=west},%
+ shift={(-1.4,0)},
+ zone scope=A OOB]%
\oobemptyturn%
\oob*{\alla}{4}{1.4}{.2}%
\end{scope}%
%
\begin{scope}[%
- transform shape,
- shift={(1.35,0)},
- zone scope=B OOB]%
+ transform shape,
+ shift={(1.4,0)},
+ zone scope=B OOB]%
\oobrealturn%
\oob{\allb}{4}{1.4}{.2}%
\end{scope}%
diff --git a/macros/latex/contrib/wargame/doc/tutorial/game.tex b/macros/latex/contrib/wargame/doc/tutorial/game.tex
index 6db72bff27..062ef41c1a 100644
--- a/macros/latex/contrib/wargame/doc/tutorial/game.tex
+++ b/macros/latex/contrib/wargame/doc/tutorial/game.tex
@@ -3,6 +3,7 @@
\usepackage{game}
\usepackage[margin=1cm,bottom=2cm,top=2cm,a4paper]{geometry}
\newcommand\Tikz{Ti{\itshape k}Z/PGF}
+\let\TikZ\Tikz
\setlength{\parskip}{.5ex}
\setlength{\parindent}{0em}
\newcommand\tightlist{\setlength{\itemsep}{3pt}
@@ -113,8 +114,8 @@ the macros \verb+\alla+ and \verb+\allb+ yet again.
\end{verbatim}
As a final bonus, we also make a board that includes our three charts:
-The OOB, CRT, and TE. We will not demonstrate the code here, but take
-a look in the sources if you are curious.
+The OOB, CRT, and TEC. We will not demonstrate the code here, but take
+a look in the sources if you are curious.
\newcommand\fullboard[1][]{%
\begin{tikzpicture}[#1,rotate=90]%
@@ -126,13 +127,23 @@ a look in the sources if you are curious.
\inneroob
\end{scope}
%
- \node[anchor=south west,minimum width=6.2cm,minimum height=10cm,
- line width=1pt,sub title,scale=.66,draw,align=center,
- text depth=9.7cm,fill=neutral,transform shape]
- at (oob frame.south west)
+ \node[
+ anchor=south west,
+ minimum width=6.2cm,
+ minimum height=10.5cm,
+ line width=1pt,
+ sub title,
+ scale=.66,
+ draw,
+ align=center,
+ text depth=9.7cm,
+ fill=neutral,
+ transform shape,
+ above right=1pt of oob frame.south west
+ ] (charts)
{{\LARGE Charts}};
%
- \node[above right=5mm and 4mm of oob frame.south west,
+ \node[above right=5mm and 4mm of charts.south west,
inner sep=0pt,
transform shape,scale=.75,anchor=south west] (crt) {\crt};
%
@@ -185,7 +196,7 @@ corrections, and so on are very welcomed.
\end{tikzpicture}
\begin{tikzpicture}
- \doublechits{{game turn}}{1}{1.24}
+ \doublechits{{game turn chit}}{1}{1.24}
\end{tikzpicture}
\end{center}
diff --git a/macros/latex/contrib/wargame/doc/tutorial/patch.py b/macros/latex/contrib/wargame/doc/tutorial/patch.py
index 0fcdd49645..b01cba6d14 100644
--- a/macros/latex/contrib/wargame/doc/tutorial/patch.py
+++ b/macros/latex/contrib/wargame/doc/tutorial/patch.py
@@ -1,31 +1,33 @@
-def patch(build,data,vmod,verbose=False):
- # We need to import the export module :-)
- import wgexport as wg
+# --- We may need to import the export module ---
+#
+# from wgexport import *
- # Get the game and last free GPID
- game = wg.get_game(build)
- gpid = int(game.getAttribute('nextPieceSlotId'))
+def patch(build,data,vmod,verbose=False,**kwargs):
+ # --- Get the game ---
+ game = build.getGame()
- # Get all boards
- maps = wg.get_maps(build)
- board = maps['Board']
+ # --- Get the maps ---
+ maps = game.getMaps()
- mkeys = wg.get_masskey(board,'name')
- wg.set_node_attr(mkeys['Eliminate'],icon='eliminate-icon.png')
- wg.set_node_attr(mkeys['Flip'],icon='flip-icon.png')
+ # --- Get the main board ---
+ board = maps['Board']
+
+ # --- Get the mass keys ---
+ mkeys = board.getMassKeys()
+ mkeys['Eliminate']['icon'] = 'eliminate-icon.png'
+ mkeys['Flip'] ['icon'] = 'flip-icon.png'
- # Get main map
+ # --- Get the dead-pool map ---
pool = maps['DeadMap']
- wg.set_node_attr(pool,icon='pool-icon.png')
+ pool['icon'] = 'pool-icon.png'
+ pool.getMassKeys()['Restore']['icon'] = 'restore-icon.png'
- mkeys = wg.get_masskey(pool,'name')
- wg.set_node_attr(mkeys['Restore'],icon='restore-icon.png')
-
- # Get the OOB map
- oob = wg.get_chartwindows(game)['OOBs']
- wg.set_node_attr(oob,icon='oob-icon.png')
-
-
+ # --- Get the OOB map ---
+ oob = game.getChartWindows()['OOBs']
+ oob['icon'] = 'oob-icon.png'
+
+
+#
+# EOF
+#
-
-
diff --git a/macros/latex/contrib/wargame/doc/wargame.pdf b/macros/latex/contrib/wargame/doc/wargame.pdf
index c25e83c175..01a58c597b 100644
--- a/macros/latex/contrib/wargame/doc/wargame.pdf
+++ b/macros/latex/contrib/wargame/doc/wargame.pdf
Binary files differ
diff --git a/macros/latex/contrib/wargame/source/Makefile b/macros/latex/contrib/wargame/source/Makefile
index faca441091..e11c477bf7 100644
--- a/macros/latex/contrib/wargame/source/Makefile
+++ b/macros/latex/contrib/wargame/source/Makefile
@@ -2,7 +2,7 @@
#
#
NAME := wargame
-VERSION := 0.3
+VERSION := 0.5
LATEX_FLAGS := -interaction=nonstopmode \
-file-line-error \
--synctex=15 \
@@ -16,8 +16,21 @@ SOURCES := wargame.ins \
wargame.dtx \
package.dtx \
util/core.dtx \
+ util/misc.dtx \
+ util/compound.dtx \
+ util/bb.dtx \
+ util/tikz.dtx \
+ util/randomid.dtx \
+ util/icons.dtx \
+ util/export.dtx \
chit/shape.dtx \
chit/misc.dtx \
+ chit/modifiers.dtx \
+ chit/stack.dtx \
+ chit/oob.dtx \
+ chit/table.dtx \
+ chit/battle.dtx \
+ chit/dice.dtx \
chit/elements.dtx \
chit/core.dtx \
hex/shape.dtx \
@@ -42,6 +55,7 @@ SOURCES := wargame.ins \
hex/terrain/rough.dtx \
hex/board.dtx \
hex/coord.dtx \
+ hex/split.dtx \
natoapp6c/shape.dtx \
natoapp6c/symbols.dtx \
natoapp6c/list.dtx \
@@ -105,15 +119,6 @@ PKG_FILES := wargame.sty \
wgexport.cls \
$(TILES_PDF)
-# beach.png \
-# city.png \
-# mountains.png \
-# sea.png \
-# woods.png \
-# light_woods.png \
-# rough.png \
-# swamp.png \
-# town.png
DOC_FILES := wargame.pdf symbols.pdf compat.pdf
ifdef VERBOSE
@@ -130,6 +135,10 @@ else
ifdef := $(CI_JOB_ID)
endif
+%.pdf:%.tex
+ @echo "LATEX $< -> $@"
+ $(MUTE)$(LATEX) $(LATEX_FLAGS) $< $(REDIR)
+
%.aux:%.tex
@echo "LATEX $< -> $@"
$(MUTE)$(LATEX) $(LATEX_FLAGS) $< $(REDIR)
@@ -152,10 +161,6 @@ endif
@echo "LATEX $*.tex -> $@ (via $<)"
$(MUTE)$(LATEX) $(LATEX_FLAGS) $*.tex $(REDIR)
-%.pdf:%.tex
- @echo "LATEX $< -> $@"
- $(MUTE)$(LATEX) $(LATEX_FLAGS) $< $(REDIR)
-
%.ind:%.idx
@echo "INDEX $< -> $@ $<"
@@ -174,8 +179,9 @@ package: $(PKG_FILES)
everything: all symbols.pdf compat.pdf tests/test.pdf
tutorial: tutorial/game.pdf
-tutorial/game.pdf: all
- $(MUTE)$(MAKE) -C tutorial Game.vmod $(REDIR)
+tutorial/game.pdf: all
+ @echo "MAKE -C tutorial Game.vmod"
+ $(MUTE)$(MAKE) -C tutorial Game.vmod
clean:
@echo "CLEAN"
@@ -198,6 +204,7 @@ clean:
$(MUTE)rm -rf __pycache__
$(MUTE)rm -rf $(ctandir) tmp
$(MUTE)rm -f ctan.tex $(NAME).ctan.tar.gz
+ $(MUTE)$(MAKE) -C tutorial clean
@@ -220,7 +227,9 @@ wargame.idx: wargame.dtx wargame.sty $(TILES_PDF)
wargame.pdf: wargame.aux wargame.ind
fast: wargame.idx
symbols.aux: symbols.tex wargame.sty
+symbols.pdf: symbols.aux
compat.aux: compat.tex $(TABLES:%=cmp_%.tex) wargame.sty
+compat.pdf: compat.aux
test.aux: test.tex wargame.sty
beach.pdf: beach.tex
@@ -269,11 +278,11 @@ bindist:install
logo.png:logo.pdf
- pdftocairo -png $<
+ pdftocairo -transp -png $<
mv logo-1.png logo.png
README.md.version:README.md
- @echo "Versioned README.md"
+ @echo "Versioned README.md $(VERSION)"
$(MUTE)$(SED) 's/^# \(.*\)/# \1\n## Version $(VERSION)/' \
< $< | pandoc --to markdown > $@
@@ -289,6 +298,7 @@ ctandir: all tutorial/game.pdf README.md.version
$(MUTE)mkdir -p $(ctandir)/$(NAME)
$(MUTE)cp tmp/$(docdir)/README.md $(ctandir)/$(NAME)/
$(MUTE)(cd tmp && zip -q -r ../$(ctandir)/$(NAME).tds.zip *)
+ $(MUTE)rm tmp/$(docdir)/README.md
$(MUTE)(cd tmp && cp -a $(docdir) ../$(ctandir)/$(NAME)/doc)
$(MUTE)(cd tmp && cp -a $(srcdir) ../$(ctandir)/$(NAME)/source)
$(MUTE) rm -rf tmp
diff --git a/macros/latex/contrib/wargame/source/chit/battle.dtx b/macros/latex/contrib/wargame/source/chit/battle.dtx
new file mode 100644
index 0000000000..5057d620a5
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/chit/battle.dtx
@@ -0,0 +1,77 @@
+% \iffalse
+% <*chit>
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Battle markers}
+%
+% Takes 1 arguments - the identifier.
+%
+% Define \spec{every battle marker} to change the style.
+%
+% \begin{macrocode}
+\tikzset{%
+ battle marker/.pic={
+ \node[shape=circle,
+ font=\sffamily\bfseries,
+ inner sep=0pt,
+ minimum size=5mm,
+ draw=black,
+ fill=yellow!85!black,
+ every battle marker/.try] at (-.3,.3) {%
+ \ifnum#1>0\relax #1\fi%
+ };
+ },
+ battle marker/.style={
+ chit={full={battle marker=#1},frame={draw=none}}},
+}
+% \end{macrocode}
+%
+% Takes two arguments - the odds and the fill colour. The latter is
+% useful to differentiate the severity of an attack.
+%
+% Define \spec{every odds marker} to change the style.
+%
+% \begin{macrocode}
+\tikzset{%
+ pics/odds marker/.style args={#1,#2}{
+ code={
+ \node[shape=circle,
+ font=\sffamily\bfseries\large,
+ inner sep=0pt,
+ minimum size=8mm,
+ draw=black,
+ fill=#2,
+ every odds marker/.try] at (.2,-.2) {#1};
+ }
+ },
+ odds marker/.style args={#1,#2}{
+ chit={full={odds marker={#1,#2}},frame={draw=none}}},
+}
+% \end{macrocode}
+%
+% Takes two arguments - the result and the fill colour. The latter is
+% useful to differentiate the severity of an attack.
+%
+% Define \spec{every result marker} to change the style.
+%
+% \begin{macrocode}
+\tikzset{
+ pics/result marker/.style args={#1,#2}{
+ code={
+ \message{^^JResults marker #1 (#2)}
+ \node[shape=circle,
+ font=\sffamily\bfseries\large,
+ inner sep=0pt,
+ minimum size=8mm,
+ draw=black,
+ fill=#2,
+ every result marker/.try] at (0,0) {#1};}},
+ result marker/.style args={#1,#2}{
+ chit={full={result marker={#1,#2}},frame={draw=none}}}
+}
+% \end{macrocode}
+%
+% \iffalse
+% </chit>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/chit/core.dtx b/macros/latex/contrib/wargame/source/chit/core.dtx
index 7a0189074e..9181e6ede7 100644
--- a/macros/latex/contrib/wargame/source/chit/core.dtx
+++ b/macros/latex/contrib/wargame/source/chit/core.dtx
@@ -39,8 +39,14 @@
%
% \input{chit/shape.dtx}
% \input{chit/elements.dtx}
+% \input{chit/modifiers.dtx}
+% \input{chit/stack.dtx}
+% \input{chit/oob.dtx}
+% \input{chit/table.dtx}
+% \input{chit/battle.dtx}
+% \input{chit/dice.dtx}
% \input{chit/misc.dtx}
-%
+%
% \iffalse
%</chit>
% --------------------------------------------------------------------
diff --git a/macros/latex/contrib/wargame/source/chit/dice.dtx b/macros/latex/contrib/wargame/source/chit/dice.dtx
new file mode 100644
index 0000000000..0c07c91d4f
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/chit/dice.dtx
@@ -0,0 +1,286 @@
+% \iffalse
+% <*chit>
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Dice}
+%
+% First, a regular 6-sided dice with configurable number of dots. Use
+% like
+%
+% \begin{Syntax}
+% \cs{pic}\oarg{pic options}\{dice=\meta{eyes}\}
+% \end{Syntax}
+%
+% For example:
+%
+% \begin{enumerate}
+% \item \tikz{\pic[transform shape]{dice=1};}
+% \item \tikz{\pic[transform shape]{dice=2};}
+% \item \tikz{\pic[transform shape]{dice=3};}
+% \item \tikz{\pic[transform shape]{dice=4};}
+% \item \tikz{\pic[transform shape]{dice=5};}
+% \item \tikz{\pic[transform shape]{dice=6};}
+% \end{enumerate}
+%
+% \begin{macrocode}
+\tikzset{
+ dice bg/.style={
+ % /utils/exec={
+ % \pgfgettransformentries{%
+ % \wg@jaca}{%
+ % \wg@jacb}{%
+ % \wg@jacc}{%
+ % \wg@jacd}{%
+ % \wg@tmp}{%
+ % \wg@tmp}%
+ % \pgfmathsetmacro{\wg@tmp}{%
+ % sqrt(abs(\wg@jaca*\wg@jacd-\wg@jacb*\wg@jacc))}
+ % \xdef\wg@tmp{\wg@tmp}},%
+ fill=black,
+ draw=none,
+ minimum width=1cm,
+ minimum height=1cm,
+ scale rounded corners,
+ rounded corners=.1cm,
+ inner sep=0pt,
+ transform shape},
+ dice fg/.style={
+ fill=white,
+ shape=circle,
+ inner sep=0pt,
+ minimum size=.2cm,
+ transform shape},
+ pics/dice/.style={
+ code={
+ \node[dice bg] (dice bg) {};
+ \ifodd#1\node[dice fg] at (dice bg) {};\fi
+ \ifnum#1>1%
+ \node[dice fg] at ($(dice bg)+(-45:.4)$){};%
+ \node[dice fg] at ($(dice bg)+(135:.4)$){};%
+ \fi%
+ \ifnum#1>3%
+ \node[dice fg] at ($(dice bg)+( 45:.4)$){};%
+ \node[dice fg] at ($(dice bg)+(-135:.4)$){};%
+ \fi%
+ \ifnum#1=6%
+ \node[dice fg] at ($(dice bg)+(-.282,0)$){};
+ \node[dice fg] at ($(dice bg)+( .282,0)$){};
+ \fi
+ }
+ },
+ pics/dice/.default=3
+}
+\newcommand\dicemark[2][scale=.5]{%
+ \tikz[baseline={($(dice bg.south east)!.25!(dice bg.north east)$)},#1]{
+ \pic[transform shape]{dice=3};}}
+% \end{macrocode}
+%
+% Now some shapes of different dice. This was originally done by
+% \href{https://tex.stackexchange.com/questions/144193/how-do-i-put-a-die-roll-at-the-top-of-each-page#answer-144474}{David
+% Carlisle}. Usage is for example
+%
+% \begin{Syntax}
+% \cs{node}[shape=\meta{dice},\meta{node options}] \marg{value};
+% \end{Syntax}
+%
+% where \meta{dice} is one of \texttt{d4}, \texttt{d6}, \texttt{d8},
+% \texttt{d10}, \texttt{d12}, or \texttt{d20}.
+%
+% \def\DiceExample#1{%
+% \begin{tikzpicture}[
+% die/.style={
+% shape=#1,
+% scale line widths,
+% line width=1pt,
+% transform shape,
+% scale=.7
+% },
+% fg die/.style={
+% die,
+% fill=##1,
+% draw=gray!25!white,
+% text=white},
+% die shadow/.style={
+% die,
+% fill=black,
+% draw=none,
+% opacity=.5}]
+% \node[die shadow,rotate=10] at (.20,.07){};
+% \node[fg die=red,rotate=10] at (.15,.10){};
+% \node[die shadow,rotate=-10] at (-.08,-.11){};
+% \node[fg die=blue,rotate=-10] at (-.15,-.1){};
+% \draw(-.5,-.5)rectangle(.6,.5);
+% \end{tikzpicture}
+% }
+%
+% \paragraph{Tetrahedron}
+%
+% \DiceExample{d4}
+%
+% \begin{macrocode}
+\pgfdeclareshape{d4}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text}{
+ % this is used to center the text in the node
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+ \backgroundpath{ % draw border
+ \pgfpathmoveto{\pgfpoint{0cm}{.4cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.4cm}}
+ % \pgfusepath{draw} %draw border
+ % \pgfusepath{draw} %draw rectangle
+ }}
+% \end{macrocode}
+%
+% \paragraph{Cubic}
+%
+% \DiceExample{d6}
+%
+% \begin{macrocode}
+\pgfdeclareshape{d6}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text}{
+ % this is used to center the text in the node
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+ \backgroundpath{ % draw border
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ % \pgfusepath{draw} %draw rectangle
+ }}
+% \end{macrocode}
+%
+% \paragraph{Octahedron}
+%
+% \DiceExample{d8}
+%
+% \begin{macrocode}
+\pgfdeclareshape{d8}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text}{
+ % this is used to center the text in the node
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+ \backgroundpath{ % draw border
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ % \pgfusepath{draw} %draw interiaor
+ }}
+% \end{macrocode}
+%
+% \paragraph{Decahedron}
+%
+% \DiceExample{d10}
+%
+% \begin{macrocode}
+\pgfdeclareshape{d10}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text}{
+ % this is used to center the text in the node
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+ \backgroundpath{ % draw border
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.294cm}{-.154cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.3cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.154cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathmoveto{\pgfpoint{.294cm}{-.154cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.1cm}}
+ \pgfpathmoveto{\pgfpoint{-.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.154cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.3cm}}
+ % \pgfusepath{draw} %draw interiaor
+ }}
+% \end{macrocode}
+%
+% \paragraph{Dodecahedron}
+%
+% \DiceExample{d12}
+%
+% \begin{macrocode}
+\pgfdeclareshape{d12}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text}{ % this is used to center the text in the node
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+ \backgroundpath{ % draw border
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{0.294cm}{.405cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.173cm}}
+ \pgfpathlineto{\pgfpoint{.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{-.173cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{.405cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.349cm}}
+ \pgfpathlineto{\pgfpoint{.332cm}{.108cm}}
+ \pgfpathlineto{\pgfpoint{.205cm}{-.282cm}}
+ \pgfpathlineto{\pgfpoint{-.205cm}{-.282cm}}
+ \pgfpathlineto{\pgfpoint{-.332cm}{.108cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.349cm}}
+ \pgfpathmoveto{\pgfpoint{.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{.332cm}{.108cm}}
+ \pgfpathmoveto{\pgfpoint{.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{.205cm}{-.282cm}}
+ \pgfpathmoveto{\pgfpoint{-.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{-.205cm}{-.282cm}}
+ \pgfpathmoveto{\pgfpoint{-.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{-.332cm}{.108cm}}
+ % \pgfusepath{draw} %draw interiaor
+ }}
+% \end{macrocode}
+%
+% \paragraph{Icosohedron}
+%
+% \DiceExample{d20}
+%
+% \begin{macrocode}
+\pgfdeclareshape{d20}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text}{ % this is used to center the text in the node
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+ \backgroundpath{ % draw border
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.292cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.292cm}}
+ \pgfpathlineto{\pgfpoint{.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.292cm}}
+ \pgfpathmoveto{\pgfpoint{.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathmoveto{\pgfpoint{-.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ % \pgfusepath{draw} %draw interiaor
+ }}
+% \end{macrocode}
+%
+% \iffalse
+% </chit>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/chit/elements.dtx b/macros/latex/contrib/wargame/source/chit/elements.dtx
index 8708ca2a15..6585c94064 100644
--- a/macros/latex/contrib/wargame/source/chit/elements.dtx
+++ b/macros/latex/contrib/wargame/source/chit/elements.dtx
@@ -5,6 +5,12 @@
%
% \subsubsection{Predefined \texttt{chit} element pictures}
%
+% \begin{macrocode}
+\DeclareRobustCommand\chit@sep[2][/]{%
+ \foreach[count=\is] \s in {#2}{%
+ \ifnum\is>1\relax#1\fi%
+ \s}}
+% \end{macrocode}
% \begin{TikzKey}{/tikz/pics/chit/1 factor,
% /tikz/pics/chit/2 factors,
% /tikz/pics/chit/2 factors artillery,
@@ -28,24 +34,32 @@
pics/chit/2 factors artillery/.style args={#1,#2,#3}{%
code={
\chit@dbg{4}{ Chit 2 factors w/artillery: `#1' `#2' `#3'}%
- \node[chit/factor,chit/2 factors,pic actions]{%
- #1$\overset{\text{\scriptsize #3}}{\text{--}}$#2};}},
+ \node[chit/factor,chit/2 factors]{%
+ {#1}$\overset{\text{\scriptsize #3}}{\text{--}}${#2}};}},
pics/chit/3 factors/.style args={#1,#2,#3}{%
code={
\chit@dbg{4}{ Chit 3 factors: `#1' `#2' `#3'}%
- \node[chit/factor,chit/3 factors,pic actions]{#1-#2-#3};}},
+ \node[chit/factor,chit/3 factors]{#1-#2-#3};}},
pics/chit/4 factors/.style args={#1,#2,#3,#4}{%
code={
\chit@dbg{4}{ Chit 3 factors: `#1' `#2' `#3' `#4'}%
- \node[chit/factor,chit/4 factors,pic actions]{#1-#2-#3-#4};}},
+ \node[chit/factor,chit/4 factors]{#1-#2-#3-#4};}},
chit/identifier/.pic={
\chit@dbg{4}{ Chit identifier: `#1'}%
\node[chit/identifier,pic actions]{#1};
},
+ chit/identifiers/.pic={
+ \chit@dbg{4}{ Chit identifiers: `#1'}%
+ \node[chit/identifier,pic actions]{\chit@sep{#1}};
+ },
chit/small identifier/.pic={
\chit@dbg{4}{ Chit small identifier: `#1'}%
\node[chit/small identifier,pic actions]{#1};
},
+ chit/small identifiers/.pic={
+ \chit@dbg{4}{ Chit small identifiers: `#1'}%
+ \node[chit/small identifier,pic actions]{\chit@sep{#1}};
+ },
chit/identifier macro/.pic={%
\chit@dbg{4}{ Chit identifier macro: \meaning#1}
\edef\chit@i@tmp{#1}
@@ -69,32 +83,35 @@
\tikzset{%
chit/factor/.style={
shape=rectangle,
- font=\sffamily\bfseries\large,
+ font=\sffamily\bfseries\fontsize{12}{14}\selectfont,
anchor=base,
inner sep=0,
%text=pgfstrokecolor,
draw=none,
fill=none,
+ transform shape,
},
chit/1 factor/.style={},
chit/2 factors/.style={},
chit/3 factors/.style={},
- chit/4 factors/.style={text/.append style=\small},
+ chit/4 factors/.style={text/.append style=\fontsize{10}{12}\selectfont},
chit/identifier/.style={
shape=rectangle,
- font=\sffamily\bfseries\scriptsize,
+ font=\sffamily\bfseries\fontsize{8}{9}\selectfont,
inner sep=0,
% text=pgfstrokecolor,
draw=none,
fill=none,
+ transform shape,
},
chit/small identifier/.style={
shape=rectangle,
- font=\sffamily\bfseries\tiny,
+ font=\sffamily\bfseries\fontsize{6}{7}\selectfont,
inner sep=0,
% text=pgfstrokecolor,
draw=none,
fill=none,
+ transform shape,
},
}
% \end{macrocode}
diff --git a/macros/latex/contrib/wargame/source/chit/misc.dtx b/macros/latex/contrib/wargame/source/chit/misc.dtx
index de373864e6..a5b9a79b24 100644
--- a/macros/latex/contrib/wargame/source/chit/misc.dtx
+++ b/macros/latex/contrib/wargame/source/chit/misc.dtx
@@ -1,391 +1,5 @@
% \iffalse
-% --------------------------------------------------------------------
-%<*chit>
-% \fi
-% \subsubsection{Other pictures}
-% Pictures for frame, factors, left, right, and below.
-% \begin{macrocode}
-\tikzset{
- pics/chit/shade/.style={
- code={%
- \path[fill=white,opacity=#1,pic actions] (-.6,-.6) rectangle(.6,.6);}},
- pics/chit/eliminate/.style={
- code={%
- \path[fill=red,opacity=#1,pic actions] (-.6,-.6) rectangle(.6,.6);}},
- pics/chit/shade/.default=0.5,
- pics/chit/eliminate/.default=0.25,
-}
-\def\shadechit(#1){%
- \pic at (#1) {chit/shade};}
-\def\eliminatechit(#1){%
- \pic at (#1) {chit/eliminate};}
-% \end{macrocode}
-%
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-% \subsubsection{Stacking of chits}
-%
-% Stacking of chits. The key \spec{chit/stack direction} sets the
-% default direction to make the stack in.
-%
-% \begin{macrocode}
-% offset, location, direction, list
-\tikzset{%
- chit/stack direction/.store in=\chit@stack@dir,
- chit/stack direction/.initial={(.3,.3)},
-}
-% \end{macrocode}
-%
-% Now the code
-%
-% \begin{macrocode}
-\def\chit@stack@dir{(.3,.3)}
-\def\stackchits(#1){%
- \@ifnextchar({\st@ckchits{#1}}{\st@ckchits{#1}(.3,.3)}%)
-}
-\def\st@ckchits#1(#2)#3{
- \chit@dbg{2}{Stacking chits `#1', `#2', `#3'}
- \edef\xy{#1}
- \chit@dbg{4}{Stack start at \xy}
- \foreach[count=\i from 0] \c/\o in {#3} {%
- \ifx\c\empty\else%
- \edef\ccc{\c}
- \chit@dbg{2}{Adding \meaning\ccc\space to stack at (\xy)' `\o'}
- \expandafter\ccc(\xy)
- %%
- \ifx\c\o\else
- %\chit@dbg{0}{Option: \o}
- \edef\ccc{\o}
- \expandafter\ccc(\xy)
- \fi
- \expandafter\ccc(\xy)
- \tikzmath{%
- coordinate \cc;
- \cc = (\xy) + (#2);}
- \xdef\xy{\cc}
- \fi
- }
-}
-% \end{macrocode}
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-% \subsubsection{Making order of battle charts}
-%
-%
-% Macros for making OOBs
-%
-% Style for turns
-%
-% \begin{macrocode}
-\tikzset{
- chit/oob turn/.pic={\node[pic actions]{#1};}}
-% \end{macrocode}
-%
-%
-% current c, current r, n-columns, cell size, y
-%
-% \begin{macrocode}
-\def\chit@oob@cellupdate(#1,#2)#3#4#5{%
- \edef\f{\ifwg@oob@inv-1\else1\fi}%
- \chit@dbg{1}{ \space Cell update `c=|#1|' vs `#4'*(`#3'-1)}
- \pgfmathparse{int(ifthenelse(abs(#1)>=#4*(#3-1),#5-1,#5))}%
- \xdef#5{\pgfmathresult}
- \pgfmathparse{ifthenelse(abs(#1)>=#4*(#3-1),#2-#4,#2)}%
- \xdef#2{\pgfmathresult}%
- \pgfmathparse{ifthenelse(abs(#1)>=#4*(#3-1),0,#1+\f*#4)}%
- \xdef#1{\pgfmathresult}%
- \chit@dbg{1}{ \space\space-> `\string#5'=#5 `\string#2'=#2 `\string#1'=#1}
-}
-% \end{macrocode}
-%
-% current c, current r, cell size, extra vertical spacing
-%
-% \begin{macrocode}
-\def\chit@oob@rowupdate(#1,#2)#3#4{%
- \chit@dbg{2}{ Row update c=`#1',r=`#2',s=`#3',e=`#4'}
- %\pgfmathparse{ifthenelse(#1>0,#2-#3,#2)}%
- \pgfmathparse{#2-#3)}%
- \xdef#2{\pgfmathresult}%
- %\xdef#1{0}
- \chit@dbg{2}{ \space\space-> update `\string#2'=#2}
-}
-% \end{macrocode}
-% current c, current r, cell size, extra spacing
-%
-% \begin{macrocode}
-\def\chit@oob@turnupdate(#1,#2)#3#4{%
- \chit@dbg{2}{ Turn update c=`#1',r=`#2',s=`#3',e=`#4'}
- % \pgfmathparse{#2-ifthenelse(#1>0,#3,0)-#4}%
- \pgfmathparse{#2-#4-ifthenelse(abs(#1)>0.0001,#3,0)}
- \xdef#2{\pgfmathresult}%
- \xdef#1{0}%
- \chit@dbg{2}{ \space\space-> update `\string#1'=#1,`\string#2'=#2}
-}
-% \end{macrocode}
-% chit list, n-colls, cell size, extra vertical spacing
-%
-% This expects a list of lists of chits, one list per turn; the
-% maximum number of columns; the size of cells, extra spacing between
-% turns.
-%
-% Note, the list of lists leaf elements should be styles for the
-% chits.
-%
-% This depends on the Tikz pic \texttt{chit/oob~turn} which takes the
-% number as argument.
-%
-%
-% \begin{macrocode}
-\newif\ifwg@oob@inv\wg@oob@invfalse
-\def\wg@star@oob{\wg@oob@invtrue\wg@oob}
-\def\wg@nostar@oob{\wg@oob@invfalse\wg@oob}
-\def\oob{%
- \@ifstar{\wg@star@oob%
- }{\wg@nostar@oob%
- }%
-}
-\def\wg@oob#1#2#3#4{
- \def\r{0}
- \chit@dbg{1}{OOB: `#1'}
- \foreach[count=\ti from 0] \t/\y in #1{
- \xdef\o{\r}
- \def\c{0}
- \ifx\t\y\def\y{0}\fi
- \chit@dbg{1}{Turn \ti\space(\r,\t,y=\y):'}
- \ifwg@oob@inv%
- \pic at ( .5,\r) {chit/oob turn=\ti};%
- \else
- \pic at (-.5,\r) {chit/oob turn=\ti};%
- \fi%
- \ifx\t\empty\else%
- \foreach \u/\m in \t{
- %% \chit@dbg{2}{ `\u'=`\m'}
- \ifx\u\empty\else
- \ifx\m\@empty\def\m{1}\fi
- \ifx\u\m\def\m{1}\fi
- \foreach \n in {1,...,\m}{%
- \ifx\u\chit@blank\else
- \chit[\u=\ti,zone oob point={\u}{\c}{\r}](\c,\r);
- \fi
- \chit@oob@cellupdate(\c,\r){#2}{#3}{\y}
- }
- \fi
- }
- \fi
- \chit@dbg{1}{ End of chits in turn
- \ti\space(c=`\c',r=`\r',o='\o',y='\y')}
- % IF no units where given, then we force \c to be non-zero so that
- % \chit@oob@turnupdate increments the row
- \ifx\t\@empty
- \def\c{#3}
- \chit@dbg{2}{ Turn is empty, set c=`\c'}
- \fi
- %\ifnum\y<0% No explicit number of rows given
- % \def\c{#3}
- % \chit@dbg{2}{ No explicit number of rows given, set c=`\c'}
- %\fi
- % In case the user gave and explicit number of rows, add the rows
- % that are missing. \y is initially set to the number of
- % requested rows, and then decremented every time we go down one
- % row. So if the number of rows we did so far is N, and the
- % requested number of rows is M, then the loop below adds M-N
- % rows.
- \ifnum\y>0%
- \chit@dbg{2}{ Looping rows from 2 to \y, break when row > \y}%
- \foreach \rr in {2,...,\y}{
- %\ifnum\rr>\y% A little funny, but \y can be negative!
- % \chit@dbg{2}{ \space Breaking loop \rr\space > \y}%
- % \breakforeach%
- %\else%
- \chit@oob@rowupdate(\c,\r){#3}{#4}
- %\fi
- }
- \fi
- % This will zero \c. However, if on entry |\c|>0, then we also
- % increment the row
- \chit@oob@turnupdate(\c,\r){#3}{#4}
- \chit@dbg{1}{End of turn \ti\space(c=`\c',r=`\r',o='\o',y='\y')}
- }
- \chit@dbg{2}{End of OOB (c=`\c',r=`\r',y=`\y')}
-}
-% \end{macrocode}
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-% \subsubsection{Table of chits}
-%
-% \begin{macrocode}
-\tikzset{
- chit/cell background/.style={fill=black},
- blank chit/.style={/chit/frame={draw=none,fill=none}},
-}
-% \end{macrocode}
-%
-% These macros are used when we set tables of chits. This allows us
-% to define blank spaces in the table by giving the element
-% \texttt{blank~chit}.
-%
-% \begin{macrocode}
-\def\chit@blank{blank chit}
-\def\chit@cellbg(#1,#2)#3{%
- \draw[chit/cell background](#1-#3/2,#2-#3/2) rectangle++(#3,#3);
-}
-% \end{macrocode}
-%
-% \begin{Macro}{\ifchits@reset}
-%
-% This `if' controls whether to reset the coordinates to the origin
-% when \cs{chits} is called. If true, then reset for a new table.
-%
-% \begin{macrocode}
-\newif\ifchits@reset\chits@resettrue
-% \end{macrocode}
-% \end{Macro}
-%
-% \begin{Macro}{\chits,\@chits,\chit@sng@cellupdate}
-% \begin{macrocode}
-\def\chit@sng@cellupdate(#1,#2)#3#4{%
- \chit@dbg{2}{Current `#1' vs `#4'*(`#3'+1)}
- \pgfmathparse{ifthenelse(#1>=#4*(#3-1),#2-#4,#2)}%
- \xdef#2{\pgfmathresult}%
- \pgfmathparse{ifthenelse(#1>=#4*(#3-1),0,#1+#4)}%
- \xdef#1{\pgfmathresult}%
-}
-% \end{macrocode}
-%
-% The stared version (\cs{chits*}) of this macro continues the
-% previously set chit table.
-%
-% \begin{macrocode}
-\def\chits{%
- \@ifstar{\chits@resetfalse\@chits}{\chits@resettrue\@chits}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@chits#1#2#3{
- \ifchits@reset
- \def\r{0}%
- \def\c{0}%
- \fi
- \chit@dbg{1}{Chits to make: #1}%
- \foreach[count=\ti from 0] \t/\x in #1{%
- \chit@dbg{2}{Turn `\t' with option `\x'}
- \ifx\t\empty\else%
- \foreach \u/\m in \t{%
- \ifx\u\empty\else%
- \chit@dbg{2}{Next chit `\u' with possible multiplicity `\m'}%
- \ifx\m\@empty\def\m{1}\fi%
- \ifx\u\m\def\m{1}\fi%
- \chit@dbg{2}{Next chit `\u' multiplicity `\m'}%
- \foreach \n in {1,...,\m}{%
- \ifx\u\chit@blank%
- \chit@dbg{3}{Ignoring blank chit:\u}%
- \else%
- \chit@cellbg(\c,\r){#3}%
- \chit[\u=\ti](\c,\r)%
- \chit@sng@cellupdate(\c,\r){#2}{#3}%
- \fi%
- }%
- \fi%
- }%
- \fi%
- }%
-}
-% \end{macrocode}
-% \end{Macro}
-%
-% \begin{Macro}{\doublechits,
-% \@doublechits,
-% \chit@dbl@cellupdate,
-% \chit@dbl@flip}
-% \begin{enumerate}
-% \item coordinates
-% \item coordinates
-% \item cell-size
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\chit@dbl@flip(#1,#2)#3{%
- \pgfmathparse{-#1}%
- \xdef\mc{\pgfmathresult}%
-}
-% \end{macrocode}
-%
-% \begin{enumerate}
-% \item coordinates
-% \item coordinates
-% \item Number of columns
-% \item cell-size
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\chit@dbl@cellupdate(#1,#2)#3#4{%
- \pgfmathparse{ifthenelse(#1<-#4/2,#2,#4+#2)}%
- \xdef#2{\pgfmathresult}%
- \pgfmathparse{ifthenelse(#1<-#4/2,#4+#1,-(#3-.5)*#4)}%
- \xdef#1{\pgfmathresult}%
-}
-% \end{macrocode}
-%
-% \begin{enumerate}
-% \item List of list of keys
-% \item Number of columns
-% \item size of each cell
-% \end{enumerate}
-%
-% The stared version (\cs{doublechits*}) of this macro continues the
-% previously set chit table.
-%
-% \begin{macrocode}
-\def\doublechits{%
- \@ifstar{\chits@resetfalse\@doublechits}{\chits@resettrue\@doublechits}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@doublechits#1#2#3{%
- \chit@dbg{1}{Setting double-sided chits: #1}
- \ifchits@reset
- \pgfmathparse{-(#2-.5)*#3}
- \xdef\c{\pgfmathresult}
- \def\r{0}
- \fi
-
- \foreach[count=\ti from 0] \t/\x in #1{
- \ifx\t\empty\else%
- \foreach \u/\m in \t{
- \ifx\u\empty\else
- \ifx\m\@empty\def\m{1}\else%
- \ifx\u\m\def\m{1}\fi\fi
- \chit@dbg{2}{`\u'=`\m' (\c,\r)}
- \foreach \n in {1,...,\m}{%
- \ifx\u\chit@blank
- \chit@dbg{3}{Ignoring blank chit:\u}
- \else
- \chit@cellbg(\c,\r){#3}
- \chit[\u=\ti](\c,\r)
- \chit@dbl@flip(\c,\r){#3}
- \chit@cellbg(\mc,\r){#3}
- \chit[\u\space flipped=\ti,zone turn=\t,zone mult=\n](\mc,\r)
- \chit@dbl@cellupdate(\c,\r){#2}{#3}
- \fi
- }
- \fi
- }
- \fi
- }
- \draw[dashed](0,-3*#3/4)--(0,\r-#3/4);
- \draw[dashed,<-] (#3/5,-2*#3/3)--(#3/2,-2*#3/3) node[anchor=west]{Back};
- \draw[dashed,<-] (-#3/5,-2*#3/3)--(-#3/2,-2*#3/3) node[anchor=east]{Front};
-}
-% \end{macrocode}
-% \end{Macro}
-%
-% \iffalse
+% <*chit>
% --------------------------------------------------------------------
% \fi
% \subsubsection{Some utilities}
@@ -395,17 +9,32 @@
%
% \begin{macrocode}
\tikzset{
- number chit/.pic={
- \node[shape=rectangle,font=\sffamily\bfseries\LARGE]{%
- \begin{tabular}{c} #1\end{tabular}};},
- game turn/.pic={
- \node[shape=rectangle,font=\sffamily\bfseries]{%
- \begin{tabular}{c} Game\\Turn\end{tabular}};},
- game turn/.style={
- /chit/full={game turn},
+ chit/text base/.style={
+ shape=rectangle,
+ inner sep=0pt,
+ align=center,
+ text width=1.1cm},
+ chit/number/.style={
+ chit/text base,
+ font=\sffamily\bfseries\fontsize{12}{14}\selectfont},
+ chit/game turn/.style={
+ chit/text base,
+ font=\sffamily\bfseries},
+ chit/text/.style={
+ chit/text base,
+ font=\sffamily\bfseries},
+ chit/small text/.style={
+ chit/text base,
+ font=\sffamily\bfseries\fontsize{9}{10}\selectfont},
+ chit/number/.pic={\node[chit/number]{#1};},
+ chit/game turn/.pic={\node[chit/game turn]{Game\\Turn};},
+ chit/text/.pic={\node[chit/text]{#1};},
+ chit/small text/.pic={\node[chit/small text]{#1};},
+ game turn chit/.style={
+ /chit/full={chit/game turn},
color=black,
fill=white},
- game turn flipped/.style={game turn},
+ game turn chit flipped/.style={game turn chit},
dummy chit/.style={fill=white},
}
% \end{macrocode}
@@ -435,7 +64,7 @@
%
% \begin{macrocode}
\DeclareRobustCommand\zocmark[1][]{%
- \tikz[baseline=(current bounding box.center),scale=.1,#1]{%
+ \tikz[baseline=($(current bounding box.center)!.5!(current bounding box.south)$),scale=.1,#1]{%
\begin{scope}[hex/first row and column are=0,
hex/row direction is=normal,
hex/column direction is=normal,
@@ -450,6 +79,10 @@
\end{scope}}}
% \end{macrocode}
%
+% Dummy implementations of zones hooks when exporting. Here, these do
+% nothing, but in the \textsf{wgexport} class these are
+% re-implemented.
+%
% \begin{macrocode}
\tikzset{
zone point/.code n args={3}{},
@@ -457,5 +90,5 @@
% \end{macrocode}
%
% \iffalse
-%</chit>
+% </chit>
% \fi
diff --git a/macros/latex/contrib/wargame/source/chit/modifiers.dtx b/macros/latex/contrib/wargame/source/chit/modifiers.dtx
new file mode 100644
index 0000000000..b42ee5790f
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/chit/modifiers.dtx
@@ -0,0 +1,42 @@
+% \iffalse
+% --------------------------------------------------------------------
+% <*chit>
+% \fi
+% \subsubsection{Modifications to chits}
+%
+% These defines overlays one can add on top of chits, for example to
+% shade a chit, put a semi-transparent red cover to indicate
+% elimination, and similar.
+%
+% \begin{macrocode}
+\tikzset{
+ pics/chit/shade/.style={
+ code={%
+ \path[fill=white,opacity=#1,pic actions] (-.6,-.6) rectangle(.6,.6);}},
+ pics/chit/eliminate/.style={
+ code={%
+ \path[fill=red,opacity=#1,pic actions] (-.6,-.6) rectangle(.6,.6);}},
+ pics/chit/shade/.default=0.5,
+ pics/chit/eliminate/.default=0.25,
+ dummy chit/.style={draw=none,fill=none,chit={}},
+}
+\def\shadechit{%
+ \@ifnextchar[{\sh@dechit}{\sh@dechit[.5]}%]
+}
+\def\eliminatechit{%
+ \@ifnextchar[{\elimin@techit}{\elimin@techit[.25]}%]
+}
+\def\sh@dechit[#1](#2){%
+ % \message{^^JShading chit with opacity `#1'}%
+ \pic[transform shape] at (#2) {chit/shade=#1};%
+ \@ifnextchar;{\@gobble}{}}
+\def\elimin@techit[#1](#2){%
+ \pic[transform shape] at (#2) {chit/eliminate=#1};%
+ \@ifnextchar;{\@gobble}{}}
+% \end{macrocode}
+%
+%
+% \iffalse
+% --------------------------------------------------------------------
+% </chit>
+% \fi
diff --git a/macros/latex/contrib/wargame/source/chit/oob.dtx b/macros/latex/contrib/wargame/source/chit/oob.dtx
new file mode 100644
index 0000000000..d640dadebf
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/chit/oob.dtx
@@ -0,0 +1,172 @@
+% \iffalse
+% <*chit>
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Making order of battle charts}
+%
+%
+% Macros for making OOBs
+%
+% Style for turns
+%
+% \begin{macrocode}
+\tikzset{
+ chit/oob turn/.pic={\node[pic actions]{#1};}}
+% \end{macrocode}
+%
+%
+% current c, current r, n-columns, cell size, y
+%
+% \begin{macrocode}
+\def\chit@oob@cellupdate(#1,#2)#3#4#5{%
+ \edef\f{\ifwg@oob@inv-1\else1\fi}%
+ \chit@dbg{1}{ \space Cell update `c=|#1|' vs `#4'*(`#3'-1)}
+ \pgfmathparse{int(ifthenelse(abs(#1)>=#4*(#3-1),#5-1,#5))}%
+ \xdef#5{\pgfmathresult}
+ \pgfmathparse{ifthenelse(abs(#1)>=#4*(#3-1),#2-#4,#2)}%
+ \xdef#2{\pgfmathresult}%
+ \pgfmathparse{ifthenelse(abs(#1)>=#4*(#3-1),0,#1+\f*#4)}%
+ \xdef#1{\pgfmathresult}%
+ \chit@dbg{1}{ \space\space-> `\string#5'=#5 `\string#2'=#2 `\string#1'=#1}
+}
+% \end{macrocode}
+%
+% current c, current r, cell size, extra vertical spacing
+%
+% \begin{macrocode}
+\def\chit@oob@rowupdate(#1,#2)#3#4{%
+ \chit@dbg{2}{ Row update c=`#1',r=`#2',s=`#3',e=`#4'}
+ %\pgfmathparse{ifthenelse(#1>0,#2-#3,#2)}%
+ \pgfmathparse{#2-#3)}%
+ \xdef#2{\pgfmathresult}%
+ %\xdef#1{0}
+ \chit@dbg{2}{ \space\space-> update `\string#2'=#2}
+}
+% \end{macrocode}
+% current c, current r, cell size, extra spacing
+%
+% \begin{macrocode}
+\def\chit@oob@turnupdate(#1,#2)#3#4{%
+ \chit@dbg{2}{ Turn update c=`#1',r=`#2',s=`#3',e=`#4'}
+ % \pgfmathparse{#2-ifthenelse(#1>0,#3,0)-#4}%
+ \pgfmathparse{#2-#4-ifthenelse(abs(#1)>0.0001,#3,0)}
+ \xdef#2{\pgfmathresult}%
+ \xdef#1{0}%
+ \chit@dbg{2}{ \space\space-> update `\string#1'=#1,`\string#2'=#2}
+}
+% \end{macrocode}
+% chit list, n-colls, cell size, extra vertical spacing
+%
+% This expects a list of lists of chits, one list per turn; the
+% maximum number of columns; the size of cells, extra spacing between
+% turns.
+%
+% Note, the list of lists leaf elements should be styles for the
+% chits.
+%
+% This depends on the Tikz pic \texttt{chit/oob~turn} which takes the
+% number as argument.
+%
+%
+% \begin{macrocode}
+\newif\ifwg@oob@inv\wg@oob@invfalse
+\def\chit@oob@spacer{hspace}
+\def\wg@star@oob{\wg@oob@invtrue\wg@oob}
+\def\wg@nostar@oob{\wg@oob@invfalse\wg@oob}
+\def\oob{%
+ \@ifstar{\wg@star@oob%
+ }{\wg@nostar@oob%
+ }%
+}
+% \end{macrocode}
+%
+% The inner macro of \cs{oob}. The arguments are
+% \begin{enumerate}
+% \item The list of lists of chits styles
+% \item The maximum number of columns
+% \item The width of each cell
+% \item Additional row spacing between turns
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\wg@oob#1#2#3#4{
+ \def\r{0}
+ \chit@dbg{2}{OOB: `#1'}
+ \foreach[count=\ti from 0] \t/\y in #1{
+ \xdef\o{\r}
+ \def\c{0}
+ \ifx\t\y\def\y{0}\fi
+ \chit@dbg{2}{Turn \ti\space(\r,\t,y=\y):'}
+ \ifwg@oob@inv%
+ \pic[transform shape] at ( .5*#3,\r) {chit/oob turn=\ti};% was dx=0.5
+ \else
+ \pic[transform shape] at (-.5*#3,\r) {chit/oob turn=\ti};% was dx=-0.5
+ \fi%
+ \ifx\t\empty\else%
+ \foreach \u/\m in \t{
+ %% \chit@dbg{2}{ `\u'=`\m'}
+ \ifx\u\empty\else
+ \ifx\m\@empty\def\m{1}\fi
+ \ifx\u\m\def\m{1}\fi
+ \foreach \n in {1,...,\m}{%
+ \chit@dbg{2}{OOB Chit is `\u'}%
+ \ifx\u\chit@oob@spacer%
+ \chit@dbg{3}{Chit `\u' is spacer `\chit@oob@spacer'}
+ \pgfmathparse{\c+#4}%
+ \xdef\c{\pgfmathresult}%
+ \else
+ \ifnum\chitdbglvl>2%
+ \node[minimum width=#3cm,minimum height=#3cm,
+ draw,transform shape] at (\c,\r) {};
+ \fi
+ \ifx\u\chit@blank\else%
+ \chit[\u=\ti,zone oob point={\u}{\c}{\r}](\c,\r);%
+ \fi%
+ \chit@oob@cellupdate(\c,\r){#2}{#3}{\y}
+ \fi
+ }
+ \fi
+ }
+ \fi
+ \chit@dbg{1}{ End of chits in turn
+ \ti\space(c=`\c',r=`\r',o='\o',y='\y')}
+ % IF no units where given, then we force \c to be non-zero so that
+ % \chit@oob@turnupdate increments the row
+ \ifx\t\@empty
+ \def\c{#3}
+ \chit@dbg{2}{ Turn is empty, set c=`\c'}
+ \fi
+ %\ifnum\y<0% No explicit number of rows given
+ % \def\c{#3}
+ % \chit@dbg{2}{ No explicit number of rows given, set c=`\c'}
+ %\fi
+ % In case the user gave and explicit number of rows, add the rows
+ % that are missing. \y is initially set to the number of
+ % requested rows, and then decremented every time we go down one
+ % row. So if the number of rows we did so far is N, and the
+ % requested number of rows is M, then the loop below adds M-N
+ % rows.
+ \ifnum\y>0%
+ \chit@dbg{2}{ Looping rows from 2 to \y, break when row > \y}%
+ \foreach \rr in {2,...,\y}{
+ %\ifnum\rr>\y% A little funny, but \y can be negative!
+ % \chit@dbg{2}{ \space Breaking loop \rr\space > \y}%
+ % \breakforeach%
+ %\else%
+ \chit@oob@rowupdate(\c,\r){#3}{#4}
+ %\fi
+ }
+ \fi
+ % This will zero \c. However, if on entry |\c|>0, then we also
+ % increment the row
+ \chit@oob@turnupdate(\c,\r){#3}{#4}
+ \chit@dbg{2}{End of turn \ti\space(c=`\c',r=`\r',o='\o',y='\y')}
+ }
+ \chit@dbg{3}{End of OOB (c=`\c',r=`\r',y=`\y')}
+ \@ifnextchar;{\@gobble}{}}
+% \end{macrocode}
+%
+% \iffalse
+% </chit>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/chit/shape.dtx b/macros/latex/contrib/wargame/source/chit/shape.dtx
index 8ad0614cb8..8a3d70fbd0 100644
--- a/macros/latex/contrib/wargame/source/chit/shape.dtx
+++ b/macros/latex/contrib/wargame/source/chit/shape.dtx
@@ -4,6 +4,19 @@
% \fi
%
% \subsubsection{The \texttt{chit} key namespace}
+%
+% Some stuff to consider wrt.~line widths. Setting the line width in
+% the \texttt{chit} scope overrides frame settings. The frame stroke
+% can be larger but not smaller. Setting the stroke width in the
+% symbol scope sets it for the symbol only. Thus, to get a thin
+% border, we need to
+% \begin{itemize}
+% \item Set a small line width in the top chit scope.
+% \item Possible set a larger line width in the frame sub-scope.
+% \item Set a larger line width in the symbol sub-scope.
+% \end{itemize}
+% I do not know why this is.
+%
% \begin{TikzKey}{/chit/full,
% /chit/symbol,
% /chit/left,
@@ -13,12 +26,15 @@
% /chit/lower left,
% /chit/lower right,
% /chit/factors,
+% /chit/extra,
% /chit/setup,
+% /chit/bevel,
% /chit/id}
%
% The parts of a chit
%
% \begin{macrocode}
+\newif\ifchit@clip\chit@cliptrue
\tikzset{%
/chit/.search also={/tikz},
/chit/.cd,
@@ -36,6 +52,21 @@
setup/.store in=\chit@setup, setup/.initial=,%
id/.store in=\chit@id, id/.initial=,%
frame/.store in=\chit@frame, frame/.initial=,%
+ extra/.store in=\chit@extra, extra/.initial=,%
+ bev/.store in=\chit@bevel, bev/.initial=,
+ bevel fraction/.store in=\chit@bevel@frac,bevel fraction/.initial=10,
+ bevel/.is choice,
+ bevel/none/.style = {/chit/bev=},
+ bevel/north west/.style = {/chit/bev=1},
+ bevel/north east/.style = {/chit/bev=2},
+ bevel/south west/.style = {/chit/bev=3},
+ bevel/south east/.style = {/chit/bev=4},
+ bevel/NW/.style = {/chit/bev=1},
+ bevel/NE/.style = {/chit/bev=2},
+ bevel/SW/.style = {/chit/bev=3},
+ bevel/SE/.style = {/chit/bev=4},
+ bevel/.default = north west,
+ clip/.is if=chit@clip%
}
% \end{macrocode}
% \end{TikzKey}
@@ -69,7 +100,28 @@
chit/lower right/.style={chit/parts,anchor=south east},
chit/setup/.style={chit/parts},
chit/full/.style={chit/parts},
+ chit/frame/.try={draw=pgfstrokecolor},
+ chit/bevel highlight/.style={fill=white,opacity=.25},
+ chit/bevel shadow/.style={fill=black,opacity=.25},
}
+\def\chit@bevel@frac{10}
+\newif\ifchit@draw@frame\chit@draw@frametrue
+\tikzset{
+ chit/frame style/.search also={/tikz},
+ chit/frame style/.cd,
+ none/.code={\chit@draw@framefalse},
+ draw/.code={%
+ \chit@dbg{2}{Frame draw option `#1'}
+ \edef\tikz@temp{#1}%
+ \ifx\tikz@temp\tikz@nonetext%
+ \chit@draw@framefalse%
+ \else%
+ \chit@draw@frametrue%
+ \tikzset{/tikz/draw=#1}
+ \fi
+ }
+}
+
% \end{macrocode}
% \end{TikzKey}
%
@@ -116,7 +168,7 @@
% \begin{macrocode}
\def\chit@n@to#1#2{%
%% Without a following start square bracket '[' by-pass to final
- \chit@dbg{4}{Chit NATO App6(c) first step `#1' `#2'}
+ \chit@dbg{1}{Chit NATO App6(c) first step `#1' `#2'}
\@ifnextchar[{%
%\message{^^JStart square bracket}%
\@chit@n@to{#1}{#2}}{%
@@ -129,7 +181,7 @@
%
% \begin{macrocode}
\def\@chit@n@to@#1#2#3\@end@chit@n@to{%
- \chit@dbg{4}{Chit NATO App6(c) w/o offset:
+ \chit@dbg{1}{Chit NATO App6(c) w/o offset:
^^J Options: #3
^^J ID: #1
^^J Position: #2}
@@ -143,7 +195,7 @@
%
% \begin{macrocode}
\def\@chit@n@to#1#2[#3]{%
- \chit@dbg{4}{Chit NATO App6(c) second step `#1' `#2' `#3'}
+ \chit@dbg{1}{Chit NATO App6(c) second step `#1' `#2' `#3'}
\@ifnextchar({\@@chit@n@to{#1}{#2}{#3}}{\@@chit@n@to{#1}{#2}{#3}(0,0)}%)
}
% \end{macrocode}
@@ -152,7 +204,7 @@
%
% \begin{macrocode}
\def\@@chit@n@to#1#2#3(#4)\@end@chit@n@to{%
- \chit@dbg{4}{Chit NATO App6(c) w/offset:
+ \chit@dbg{1}{Chit NATO App6(c) w/offset:
^^J Options: #3
^^J ID: #1
^^J Position: #2
@@ -186,8 +238,39 @@
%
% Now follows the actual \text{chit} shape. This is rather long, so
% we will break it up a bit
-%
-%
+% \begin{macrocode}
+\def\chit@bevel@path#1{
+ \scope[#1]
+ \wg@tmpc=\wg@tmpa\multiply\wg@tmpc by \chit@bevel@frac
+ \wg@tmpd=\wg@tmpb\multiply\wg@tmpd by \chit@bevel@frac
+ \divide\wg@tmpc100
+ \divide\wg@tmpd100
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Move down along edge
+ \wg@tmpb=-\wg@tmpb
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Move left along edge
+ \wg@tmpa=-\wg@tmpa
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Move in and up
+ \advance\wg@tmpa\wg@tmpc%
+ \advance\wg@tmpb\wg@tmpd%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Move right, but in
+ \advance\wg@tmpa-\wg@tmpc\wg@tmpa=-\wg@tmpa%
+ \advance\wg@tmpa-\wg@tmpc%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Move up but down
+ \advance\wg@tmpb-\wg@tmpd\wg@tmpb=-\wg@tmpb%
+ \advance\wg@tmpb-\wg@tmpd%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{fill}
+ \endscope
+}
+
+% \end{macrocode}
+%
% The first thing is we declare some saved anchors. These are
% computed (and defined as internal macros) when the shape is
% instantised. The anchors give the centre and north east corner of
@@ -224,7 +307,7 @@
\let\chitframeopt\pgfutil@empty%
\@ifundefined{chit@frame}{}{%
\edef\chitframeopt{\chit@frame}}
- \n@to@pp@dbg{3}{Chit Frame options: \meaning\chitframeopt}%
+ \chit@dbg{3}{Chit Frame options: \meaning\chitframeopt}%
}
% \end{macrocode}
%
@@ -296,6 +379,7 @@
\backgroundpath{%
%% This is the outline of the chit only. The rest of the chit is
%% made on the foreground "path".
+ \chit@dbg{1}{Chit drawing background path}
\northeast%
\wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
\pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
@@ -314,29 +398,38 @@
%
% \begin{macrocode}
\behindforegroundpath{%
- \chit@dbg{4}{%
- Chit foreground: \meaning\id
- ^^J ID (set): \meaning\chit@id
- ^^J Symbol: \meaning\chit@symbol
- ^^J Full: \meaning\chit@full
- ^^J Factors: \meaning\chit@factors
- ^^J Left: \meaning\chit@left
- ^^J Right: \meaning\chit@right
- ^^J Upper left: \meaning\chit@upper@left
- ^^J Lower left: \meaning\chit@lower@left
- ^^J Upper right: \meaning\chit@upper@right
- ^^J Lower right: \meaning\chit@lower@right}
+ \chit@dbg{1}{Chit drawing foreground path}
+ % \chit@dbg{4}{%
+ % Chit foreground: \meaning\id
+ % ^^J ID (set): \meaning\chit@id
+ % ^^J Symbol: \meaning\chit@symbol
+ % ^^J Full: \meaning\chit@full
+ % ^^J Factors: \meaning\chit@factors
+ % ^^J Left: \meaning\chit@left
+ % ^^J Right: \meaning\chit@right
+ % ^^J Upper left: \meaning\chit@upper@left
+ % ^^J Lower left: \meaning\chit@lower@left
+ % ^^J Upper right: \meaning\chit@upper@right
+ % ^^J Lower right: \meaning\chit@lower@right
+ % ^^J Extra: \meaning\chit@extra
+ % ^^J Bevel: \meaning\chit@bevel
+ % ^^J Frame: \meaning\chit@frame}
+ \chit@dbg{1}{Chit report}
\chit@report{}
+ \chit@dbg{1}{Chit start scope}
\pgfscope
%
- \northeast%
- \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
- \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \wg@tmpb=-\wg@tmpb \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \pgfclosepath
- \pgfusepath{clip}
+ \ifchit@clip%
+ \chit@dbg{1}{Chit clip path}
+ \northeast%
+ \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \wg@tmpb=-\wg@tmpb \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{clip}%
+ \fi%
% \end{macrocode}
%
% If we do not have the \texttt{symbol} key set, then we set the
@@ -346,19 +439,22 @@
\@ifundefined{chit@symbol}{%
%% Draw full stuff
\@ifundefined{chit@full}{}{%
+ \chit@dbg{1}{Chit draw full image: `\meaning\chit@full'}
\center\wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
\wg@pic@all{\chit@full}{}{\the\wg@tmpa,\the\wg@tmpb}{chit/full}}%
- }{%
+ }{% With NATO symbol
% \end{macrocode}
%
% Otherwise, we put in a node with shape \texttt{natoapp6c} and pass
% the \texttt{symbol} key--value pairs as options.
%
% \begin{macrocode}
+ \chit@dbg{1}{Chit draw symbol image}
\edef\symid{\id symbol}%
\symbol%
\edef\args{{\symid}{\the\pgf@x,\the\pgf@y}\chit@symbol}%
\chit@dbg{6}{Arguments to chit NATO symbol: \meaning\args}%
+ \chit@dbg{1}{Chit draw nato image}
\expandafter\chit@n@to\args\@end@chit@n@to%
\chit@dbg{6}{After making NATO symbol in chit}%
% \end{macrocode}
@@ -378,6 +474,7 @@
% \begin{macrocode}
% Put in left of symbol
\@ifundefined{chit@left}{}{%
+ \chit@dbg{1}{Chit draw left: `\meaning\chit@left'}
\begin{scope}[]
\pgfpointanchor{\symid}{west}%
\wg@tmpa=\pgf@x\advance\wg@tmpa-\margin%
@@ -386,6 +483,7 @@
\end{scope}}%
% Put in right of symbol
\@ifundefined{chit@right}{}{%
+ \chit@dbg{1}{Chit draw left: `\meaning\chit@right'}
\begin{scope}[]
\pgfpointanchor{\symid}{east}%
\wg@tmpa=\pgf@x\advance\wg@tmpa+\margin%
@@ -416,24 +514,28 @@
% \begin{macrocode}
% Put in upper left corner
\@ifundefined{chit@upper@left}{}{%
+ \chit@dbg{1}{Chit draw upper left: `\meaning\chit@upper@left'}
\begin{scope}[]
\wg@pic@all{\chit@upper@left}{}{-\the\wg@tmpa,\the\wg@tmpb}{%
chit/upper left}%
\end{scope}}
% Put in upper right corner
\@ifundefined{chit@upper@right}{}{%
+ \chit@dbg{1}{Chit draw upper right: `\meaning\chit@upper@right'}
\begin{scope}[]
\wg@pic@all{\chit@upper@right}{}{\the\wg@tmpa,\the\wg@tmpb}{%
chit/upper right}%
\end{scope}}
% Put in lower left corner
\@ifundefined{chit@lower@left}{}{%
+ \chit@dbg{1}{Chit draw lower left: `\meaning\chit@lower@left'}
\begin{scope}[]
\wg@pic@all{\chit@lower@left}{}{-\the\wg@tmpa,-\the\wg@tmpb}{%
chit/lower left}%
\end{scope}}
% Put in lower right corner
\@ifundefined{chit@lower@right}{}{%
+ \chit@dbg{1}{Chit draw lower right: `\meaning\chit@lower@right'}
\begin{scope}[]
\wg@pic@all{\chit@lower@right}{}{\the\wg@tmpa,-\the\wg@tmpb}{%
chit/lower right}%
@@ -448,24 +550,62 @@
% \begin{macrocode}
% Put in factors
\@ifundefined{chit@factors}{}{%
+ \chit@dbg{1}{Chit draw factors: `\meaning\chit@factors'}
\advance\wg@tmpb-\margin%
\begin{scope}[]
\wg@pic@all{\chit@factors}{}{0,-\the\wg@tmpb}{chit/factors}%
\end{scope}}%
- }%
+ % Put in extra
+ \@ifundefined{chit@extra}{}{%
+ \chit@dbg{1}{Chit draw extra: `\meaning\chit@extra'}
+ \begin{scope}[]
+ \wg@pic@all{\chit@extra}{}{0,0}{chit/factors}%
+ \end{scope}}%
+ }% End of full or symbol
\endpgfscope%
+ % Make bevel?
+ \@ifundefined{chit@bevel}{\let\chit@bevel\empty}{}
+ \ifx\chit@bevel\empty\else%
+ \chit@dbg{1}{Chit draw bevel}
+ %% South east bevel
+ \northeast%
+ \wg@tmpa=-\pgf@x\wg@tmpb=-\pgf@y%
+ \ifcase\chit@bevel\relax%
+ \or% 1
+ \or\wg@tmpa=-\wg@tmpa% 2
+ \or\wg@tmpb=-\wg@tmpb% 3
+ \or\wg@tmpa=-\wg@tmpa\wg@tmpb=-\wg@tmpb%4
+ \fi
+ \chit@bevel@path{chit/bevel highlight}
+ %% North west bevel
+ \northeast%
+ \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \ifcase\chit@bevel\relax%
+ \or% 1
+ \or\wg@tmpa=-\wg@tmpa% 2
+ \or\wg@tmpb=-\wg@tmpb% 3
+ \or\wg@tmpa=-\wg@tmpa\wg@tmpb=-\wg@tmpb%4
+ \fi
+ \chit@bevel@path{chit/bevel shadow}
+ \fi
% Draw frame?
- \edef\tmp@opt{[\chitframeopt]}
+ \chit@dbg{1}{Chit draw frame: `\meaning\chitframeopt'}
+ \edef\tmp@opt{[chit/frame style/.cd,chit/frame/.try,\chitframeopt]}
+ \chit@dbg{1}{Chit draw frame: `\meaning\tmp@opt}
\expandafter\scope\tmp@opt
- \northeast%
- \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
- \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \wg@tmpb=-\wg@tmpb \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
- \pgfclosepath
- \pgfusepath{stroke}
- \endscope
+ \northeast%
+ \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \wg@tmpb=-\wg@tmpb \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \wg@tmpa=-\wg@tmpa \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \pgfclosepath%
+ \chit@dbg{3}{Line width for frame: `\the\pgflinewidth'}
+ \ifchit@draw@frame\pgfusepath{stroke}\fi%
+ \chit@draw@frametrue%
+ %\iftikz@mode@fill\pgfusepath{fill}\fi%
+ \endscope%
+ \chit@dbg{1}{Chit end of shape}
}
}
% \end{macrocode}
@@ -527,7 +667,7 @@
^^J Name: `#3'}
\let\name\pgfutil@empty%
\chit@dbg{1}{=== Before chit node}%
- \node[draw,chit={every chit/.try,id=#3,#1}] (tmp) at (#2) {};
+ \node[chit={every chit/.try,id=#3,#1}] (tmp) at (#2) {};
\chit@dbg{2}{=== After chit node}%
\ifx|#3|\relax%
\else%
diff --git a/macros/latex/contrib/wargame/source/chit/stack.dtx b/macros/latex/contrib/wargame/source/chit/stack.dtx
new file mode 100644
index 0000000000..bc8f480e31
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/chit/stack.dtx
@@ -0,0 +1,54 @@
+% \iffalse
+% <*chit>
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Stacking of chits}
+%
+% Stacking of chits. The key \spec{chit/stack direction} sets the
+% default direction to make the stack in.
+%
+% \begin{macrocode}
+% offset, location, direction, list
+\tikzset{%
+ chit/stack direction/.store in=\chit@stack@dir,
+ chit/stack direction/.initial={(.3,.3)},
+}
+% \end{macrocode}
+%
+% Now the code
+%
+% \begin{macrocode}
+\def\chit@stack@dir{(.3,.3)}
+\def\stackchits(#1){%
+ \@ifnextchar({\st@ckchits{#1}}{\st@ckchits{#1}(.3,.3)}%)
+}
+\def\st@ckchits#1(#2)#3{%
+ \chit@dbg{2}{Stacking chits `#1', `#2', `#3'}%
+ \edef\xy{#1}%
+ \chit@dbg{4}{Stack start at \xy}%
+ \foreach[count=\i from 0] \c/\o in {#3} {%
+ \ifx\c\empty\else%
+ \edef\ccc{\c}%
+ \chit@dbg{2}{Adding \meaning\ccc\space to stack at (\xy)' `\o'}%
+ \expandafter\ccc(\xy)%
+ %%
+ \ifx\c\o\else%
+ %\chit@dbg{0}{Option: \o}
+ \edef\ccc{\o}%
+ \expandafter\ccc(\xy)%
+ \fi
+ \expandafter\ccc(\xy)%
+ \tikzmath{%
+ coordinate \cc;%
+ \cc = (\xy) + (#2);}
+ \xdef\xy{\cc}%
+ \fi%
+ }%
+ \@ifnextchar;{\@gobble}{}%
+}
+% \end{macrocode}
+%
+% \iffalse
+% </chit>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/chit/table.dtx b/macros/latex/contrib/wargame/source/chit/table.dtx
new file mode 100644
index 0000000000..7094e436ed
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/chit/table.dtx
@@ -0,0 +1,176 @@
+% \iffalse
+% <*chit>
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Table of chits}
+%
+% \begin{macrocode}
+\tikzset{
+ chit/cell background/.style={fill=black},
+ blank chit/.style={/chit/frame={draw=none,fill=none}},
+}
+% \end{macrocode}
+%
+% These macros are used when we set tables of chits. This allows us
+% to define blank spaces in the table by giving the element
+% \texttt{blank~chit}.
+%
+% \begin{macrocode}
+\def\chit@blank{blank chit}
+\def\chit@cellbg(#1,#2)#3{%
+ \draw[chit/cell background](#1-#3/2,#2-#3/2) rectangle++(#3,#3);
+}
+% \end{macrocode}
+%
+% \begin{Macro}{\ifchits@reset}
+%
+% This `if' controls whether to reset the coordinates to the origin
+% when \cs{chits} is called. If true, then reset for a new table.
+%
+% \begin{macrocode}
+\newif\ifchits@reset\chits@resettrue
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\chits,\@chits,\chit@sng@cellupdate}
+% \begin{macrocode}
+\def\chit@sng@cellupdate(#1,#2)#3#4{%
+ \chit@dbg{2}{Current `#1' vs `#4'*(`#3'+1)}
+ \pgfmathparse{ifthenelse(#1>=#4*(#3-1),#2-#4,#2)}%
+ \xdef#2{\pgfmathresult}%
+ \pgfmathparse{ifthenelse(#1>=#4*(#3-1),0,#1+#4)}%
+ \xdef#1{\pgfmathresult}%
+}
+% \end{macrocode}
+%
+% The stared version (\cs{chits*}) of this macro continues the
+% previously set chit table.
+%
+% \begin{macrocode}
+\def\chits{%
+ \@ifstar{\chits@resetfalse\@chits}{\chits@resettrue\@chits}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@chits#1#2#3{
+ \ifchits@reset
+ \def\r{0}%
+ \def\c{0}%
+ \fi
+ \chit@dbg{1}{Chits to make: #1}%
+ \foreach[count=\ti from 0] \t/\x in #1{%
+ \chit@dbg{2}{Turn `\t' with option `\x'}
+ \ifx\t\empty\else%
+ \foreach \u/\m in \t{%
+ \ifx\u\empty\else%
+ \chit@dbg{2}{Next chit `\u' with possible multiplicity `\m'}%
+ \ifx\m\@empty\def\m{1}\fi%
+ \ifx\u\m\def\m{1}\fi%
+ \chit@dbg{2}{Next chit `\u' multiplicity `\m'}%
+ \foreach \n in {1,...,\m}{%
+ \ifx\u\chit@blank%
+ \chit@dbg{3}{Ignoring blank chit:\u}%
+ \else%
+ \chit@cellbg(\c,\r){#3}%
+ \chit[\u=\ti](\c,\r)%
+ \chit@sng@cellupdate(\c,\r){#2}{#3}%
+ \fi%
+ }%
+ \fi%
+ }%
+ \fi%
+ }%
+ \@ifnextchar;{\@gobble}{}}
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\doublechits,
+% \@doublechits,
+% \chit@dbl@cellupdate,
+% \chit@dbl@flip}
+% \begin{enumerate}
+% \item coordinates
+% \item coordinates
+% \item cell-size
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\chit@dbl@flip(#1,#2)#3{%
+ \pgfmathparse{-#1}%
+ \xdef\mc{\pgfmathresult}%
+}
+% \end{macrocode}
+%
+% \begin{enumerate}
+% \item coordinates
+% \item coordinates
+% \item Number of columns
+% \item cell-size
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\chit@dbl@cellupdate(#1,#2)#3#4{%
+ \pgfmathparse{ifthenelse(#1<-#4/2,#2,#4+#2)}%
+ \xdef#2{\pgfmathresult}%
+ \pgfmathparse{ifthenelse(#1<-#4/2,#4+#1,-(#3-.5)*#4)}%
+ \xdef#1{\pgfmathresult}%
+}
+% \end{macrocode}
+%
+% \begin{enumerate}
+% \item List of list of keys
+% \item Number of columns
+% \item size of each cell
+% \end{enumerate}
+%
+% The stared version (\cs{doublechits*}) of this macro continues the
+% previously set chit table.
+%
+% \begin{macrocode}
+\def\doublechits{%
+ \@ifstar{\chits@resetfalse\@doublechits}{\chits@resettrue\@doublechits}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@doublechits#1#2#3{%
+ \chit@dbg{1}{Setting double-sided chits: #1}
+ \ifchits@reset
+ \pgfmathparse{-(#2-.5)*#3}
+ \xdef\c{\pgfmathresult}
+ \def\r{0}
+ \fi
+
+ \foreach[count=\ti from 0] \t/\x in #1{
+ \ifx\t\empty\else%
+ \foreach \u/\m in \t{
+ \ifx\u\empty\else
+ \ifx\m\@empty\def\m{1}\else%
+ \ifx\u\m\def\m{1}\fi\fi
+ \chit@dbg{2}{`\u'=`\m' (\c,\r)}
+ \foreach \n in {1,...,\m}{%
+ \ifx\u\chit@blank
+ \chit@dbg{3}{Ignoring blank chit:\u}
+ \else
+ \chit@cellbg(\c,\r){#3}
+ \chit[\u=\ti](\c,\r)
+ \chit@dbl@flip(\c,\r){#3}
+ \chit@cellbg(\mc,\r){#3}
+ \chit[\u\space flipped=\ti,zone turn=\t,zone mult=\n](\mc,\r)
+ \chit@dbl@cellupdate(\c,\r){#2}{#3}
+ \fi
+ }
+ \fi
+ }
+ \fi
+ }
+ \draw[dashed](0,-3*#3/4)--(0,\r-#3/4);%
+ \draw[dashed,<-] (#3/5,-2*#3/3)--(#3/2,-2*#3/3) node[transform shape,anchor=west]{Back};%
+ \draw[dashed,<-] (-#3/5,-2*#3/3)--(-#3/2,-2*#3/3) node[transform shape,anchor=east]{Front};%
+ \@ifnextchar;{\@gobble}{}}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% </chit>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/hex/board.dtx b/macros/latex/contrib/wargame/source/hex/board.dtx
index fd0af295fb..7c791a72b3 100644
--- a/macros/latex/contrib/wargame/source/hex/board.dtx
+++ b/macros/latex/contrib/wargame/source/hex/board.dtx
@@ -18,82 +18,261 @@
%
%
% \begin{macrocode}
-\tikzset{
- hex/board frame/.style={draw}
-}
\def\boardframe{%
- \@ifnextchar[{\bo@rdframe}{\bo@rdframe[0]}%}
+ \@ifnextchar[{\bo@rdframe}{\bo@rdframe[0]}%]
+}
+% \end{macrocode}
+%
+% Below is our new implementation of \cs{boardframe}. This is split
+% into parts.
+%
+%
+% First, a macro that will define the path around rectangular placed
+% hexes. This takes 4 mandatory arguments: lower left column and row,
+% and upper right column and row, in that order. It also accepts an
+% optional argument. If this is not empty, then it is assumed to be a
+% style to apply, and hexes will be drawn using that style. The style
+% will be passed the hex coordinates and can react accordingly.
+%
+% \begin{macrocode}
+\def\bo@rdfr@me{
+ \@ifnextchar[{\bo@rdfr@me@}{\bo@rdfr@me@[]}%]
+}
+\def\bo@rdfr@me@u(#1)#2#3#4#5{
+ \hex@coords@conv{#1}
+ % \hex@dbg{0}{#1 -> `\hex@x',`\hex@y'}
+ \pgfmathparse{min(#2,\hex@x)}\xdef#2{\pgfmathresult}
+ \pgfmathparse{min(#3,\hex@y)}\xdef#3{\pgfmathresult}
+ \pgfmathparse{max(#4,\hex@x)}\xdef#4{\pgfmathresult}
+ \pgfmathparse{max(#5,\hex@y)}\xdef#5{\pgfmathresult}
+ \hex@dbg{2}{#1 -> ll=`#2',`#3', ur=`#4',`#5'}
+}
+\def\bo@rdfr@me@[#1]#2#3#4#5{
+ % Define rtmp and a ctmp to by directions
+ \pgfmathparse{int(\hex@coords@row@fac)}\edef\rtmp{\pgfmathresult}
+ \pgfmathparse{int(\hex@coords@col@fac)}\edef\ctmp{\pgfmathresult}
+ % Define vertices for path
+ \def\ctfv{SW}
+ \def\ctsv{SE}
+ \def\cbfv{NE}
+ \def\cbsv{NW}
+ \def\rrfv{E}
+ \def\rrsv{NE}
+ \def\rlfv{W}
+ \def\rlsv{SW}
+ % Swap around some definitions based on the row direction
+ \ifnum\rtmp<0
+ \let\max@short\hex@bot@short@col
+ \let\min@short\hex@top@short@col
+ \let\swp\ctfv\let\ctfv\cbsv\let\cbsv\swp
+ \let\swp\ctsv\let\ctsv\cbfv\let\cbfv\swp
+ \def\rrsv{SE}
+ \def\rlsv{NW}
+ \else
+ \let\max@short\hex@top@short@col
+ \let\min@short\hex@bot@short@col
+ \fi
+ % Swap around some definitions based on the column direction
+ \ifnum\ctmp<0
+ \let\swp\ctfv\let\ctfv\ctsv\let\ctsv\swp
+ \let\swp\cbfv\let\cbfv\cbsv\let\cbsv\swp
+ \let\swp\rrfv\let\rrfv\rlsv\let\rlsv\swp
+ \let\swp\rrsv\let\rrsv\rlfv\let\rlfv\swp
+ \fi
+ % Define tmp = 0 if no shorts, 1 if top short, 2 if both
+ \pgfmathparse{ifthenelse(\hex@got@top@short,
+ ifthenelse(\hex@got@bot@short,2,1),0)}\edef\tmp{\pgfmathresult}
+ % If top-short, set factors
+ \ifnum\tmp=1
+ \def\mnf{-1}
+ \def\mxf{-1}
+ \def\mnn{}
+ \def\mxn{}
+ % If both short, set factors
+ \else\ifnum\tmp=2
+ \def\mnf{\rtmp}
+ \def\mxf{(-\rtmp)}
+ % If inverse rows, set factors
+ \ifnum\rtmp<0
+ \def\mnn{}
+ \def\mxn{not}
+ \else
+ \def\mnn{not}
+ \def\mxn{}
+ \fi
+ % If none is short
+ \else
+ \def\mnf{1}
+ \def\mxf{1}
+ \def\mnn{not}
+ \def\mxn{not}
+ \fi\fi
+ % Define row@mn to give least row of column
+ \def\row@mn##1{%
+ \pgfmathparse{int(#3+\mnf*
+ \hex@coords@row@fac*\min@short(##1)*
+ \mnn(\min@short(\hex@coords@col@off)))}
+ \edef\lr{\pgfmathresult}}
+ % Define row@mx to give largest row of column
+ \def\row@mx##1{%
+ \pgfmathparse{int(#5+\mxf*
+ \hex@coords@row@fac*\max@short(##1)*
+ \mxn(\max@short(\hex@coords@col@off)))}
+ \edef\ur{\pgfmathresult}}
+ %
+ %
+ % Below defines a path around the perimeter of the hexes.
+ %
+ \def\@llx{10000}
+ \def\@lly{10000}
+ \def\@urx{-10000}
+ \def\@ury{-10000}
+ % Start with an empty path
+ \def\p{}
+ % Loop across least row (can be top if \rtmp<0)
+ \foreach \c in {#2,...,#4}{%
+ \row@mn{\c}
+ \row@mx{\c}
+ % \message{^^JColumn: `\c' -> `\lr',`\ur' (#3,#5)}
+ }
+ \foreach \c in {#2,...,#4}{%
+ \row@mn{\c}
+ \xdef\p{\p
+ (hex cs:c=\c,r=\lr,v=\ctfv)--
+ (hex cs:c=\c,r=\lr,v=\ctsv)--}
+ \bo@rdfr@me@u(c=\c,r=\lr,v=\ctfv)\@llx\@lly\@urx\@ury
+ \bo@rdfr@me@u(c=\c,r=\lr,v=\ctsv)\@llx\@lly\@urx\@ury
+ }
+ % Go up (down if \rtmp<0) right side
+ \row@mn{#4}
+ \row@mx{#4}
+ \foreach \r in {\lr,...,\ur}{%
+ \xdef\p{\p
+ (hex cs:c=#4,r=\r,v=\rrfv)--
+ (hex cs:c=#4,r=\r,v=\rrsv)--}
+ \bo@rdfr@me@u(c=#4,r=\r,v=\rrfv)\@llx\@lly\@urx\@ury
+ \bo@rdfr@me@u(c=#4,r=\r,v=\rrsv)\@llx\@lly\@urx\@ury
+ }
+ % Go across largest row (can be bottom if \rtmp<0)
+ \foreach \c in {#4,...,#2}{%
+ \row@mx{\c}
+ % \message{^^JColumn: `\c', max:`\ur'}
+ \xdef\p{\p
+ (hex cs:c=\c,r=\ur,v=\cbfv)--
+ (hex cs:c=\c,r=\ur,v=\cbsv)--}
+ \bo@rdfr@me@u(c=\c,r=\ur,v=\cbfv)\@llx\@lly\@urx\@ury
+ \bo@rdfr@me@u(c=\c,r=\ur,v=\cbsv)\@llx\@lly\@urx\@ury
+ }
+ % Go up (down if \rtmp<0) left side.
+ \row@mn{#2}
+ \row@mx{#2}
+ \foreach \r in {\ur,...,\lr}{%
+ \xdef\p{\p
+ (hex cs:c=#2,r=\r,v=\rlfv)--
+ (hex cs:c=#2,r=\r,v=\rlsv)--}
+ \bo@rdfr@me@u(c=#2,r=\r,v=\rlfv)\@llx\@lly\@urx\@ury
+ \bo@rdfr@me@u(c=#2,r=\r,v=\rlsv)\@llx\@lly\@urx\@ury
+ }
+ % End path with cycle
+ \edef\p{\p cycle}
+ % Define global path
+ \global\let\hex@board@path\p
+ \hex@dbg{3}{Hex board path: `\meaning\hex@board@path'}
+ % If an optional argument was given, then use that to actually make
+ % hexes.
+ \ifx|#1|\else
+ \foreach[count=\nc] \c in {#2,...,#4}{%
+ \row@mn{\c}
+ \row@mx{\c}
+ \foreach \r in {\lr,...,\ur}{%
+ \hex[#1={\c,\r}](c=\c,r=\r)
+ }
+ }
+ \fi
+}
+% \end{macrocode}
+%
+%
+% This is a no operations style used as default for the macro
+% \cs{boardhexes} below.
+%
+% \begin{macrocode}
+\tikzset{%
+ /hex/board/no op/.style args={#1,#2}{}}
+% \end{macrocode}
+%
+% This macro will make the actual hexes using the specified, optional,
+% style. It builds on \cs{bo@rdfr@me} above.
+%
+% \begin{macrocode}
+\def\boardhexes{%
+ \@ifnextchar[{\bo@rdhexes}{\bo@rdhexes[board/no op]}%]
}
+\def\bo@rdhexes[#1](#2)(#3){%
+ \hex@coords@conv{#2}
+ \edef\llc{\hex@col}
+ \edef\llr{\hex@row}
+ \hex@coords@conv{#3}
+ \edef\urc{\hex@col}
+ \edef\urr{\hex@row}
+ \bo@rdfr@me[#1]{\llc}{\llr}{\urc}{\urr}}
+% \end{macrocode}
+%
+% Creates a board frame using \cs{bo@rdfr@me}.
+%
+% \begin{macrocode}
+\tikzset{board frame bb/.code={
+ \pgfkeys{
+ %/tikz/local bounding box=tmp board frame,
+ /tikz/transform shape,
+ /tikz/execute at end scope={%
+ % \hex@dbg{1}{Getting board frame BB}
+ %\wg@get@bb{tmp board frame}
+ \global\let\llx\@llx
+ \global\let\lly\@lly
+ \global\let\urx\@urx
+ \global\let\ury\@ury
+ % \hex@dbg{0}{Board bounding box (\llx,\lly)x(\urx,\ury)}
+ }}}}
+
\def\bo@rdframe[#1](#2)(#3){%
\hex@coords@conv{#2}
- \edef\llx{\hex@x}
- \edef\lly{\hex@y}
\edef\llc{\hex@col}
\edef\llr{\hex@row}
- \edef\ellc{\hex@eff@col}
- \edef\ellr{\hex@eff@row}
%
\hex@coords@conv{#3}
- \edef\urx{\hex@x}
- \edef\ury{\hex@y}
\edef\urc{\hex@col}
\edef\urr{\hex@row}
- \edef\eurc{\hex@eff@col}
- \edef\eurr{\hex@eff@row}
%
\def\margin{#1}
%
- \hex@dbg{2}{%
- Board Hex range: (\llc,\llr)x(\urc,\urr)
- ^^JEffective range: (\ellc,\ellr)x(\eurc,\eurr)
- ^^JBB: (\llx,\lly)x(\urx,\ury)}%
- \ifnum\hexdbglvl>1
- %\draw[red,very thick](hex cs:c=\llc,r=\llr) rectangle(hex cs:c=\urc,r=\urr);
- \draw[red,ultra thick,dashed](\llx,\lly) rectangle(\urx,\ury);
- \draw[->,very thick,blue] (0,0) -- (0,1) (0,0) -- (1,0);
- \fi
- % Calculate how many half hex hides to add to the "bottom"
+ % This will store the bounding box in tmp node `board frame'
+ \bo@rdfr@me{\llc}{\llr}{\urc}{\urr}%
+ \begin{scope}[board frame bb]
+ \expandafter\path\hex@board@path;
+ \end{scope}
+ \hex@dbg{1}{Board frame LL: -> `\llx',`\lly'}
+ \pgfmathparse{\llx+ifthenelse(\llx<0,-1,1)*\margin}\edef\llx{\pgfmathresult}
+ \pgfmathparse{\lly+ifthenelse(\lly<0,-1,1)*\margin}\edef\lly{\pgfmathresult}
%
- \def\oddeven{isodd}
- \ifnum\hex@coords@row@fac<0\def\oddeven{iseven}\fi%
- \pgfmathparse{
- ifthenelse(\hex@got@bot@short(\ellc),
- ifthenelse(\hex@bot@short@col(\llc)*not(\oddeven(\ellc)),2,
- ifthenelse(\hex@bot@short@col(\llc),0,1)),
- ifthenelse(\oddeven(\ellc),1,2))}
- \edef\olly{\pgfmathresult}%
- \hex@dbg{2}{Delta lly: \olly half heights}
- % Calculate how many half hex heights to add to the "top"
- \def\oddeven{iseven}
- \ifnum\hex@coords@row@fac<0\def\oddeven{isodd}\fi%
+ \hex@dbg{1}{Board frame UR: -> `\urx',`\ury'}
+ \pgfmathparse{\urx+ifthenelse(\urx<0,-1,1)*\margin}\edef\urx{\pgfmathresult}
+ \pgfmathparse{\ury+ifthenelse(\ury<0,-1,1)*\margin}\edef\ury{\pgfmathresult}
%
- \pgfmathparse{
- ifthenelse(\hex@got@top@short(\urc),
- ifthenelse(\hex@top@short@col(\urc)*\oddeven(\eurc),0,
- ifthenelse(\hex@top@short@col(\urc),2,1)),
- ifthenelse(\oddeven(\eurc),1,2))}
- \edef\oury{\pgfmathresult}%
- \hex@dbg{2}{Delta ury: \oury half heights}
- % Calculate new LLY and URY
- \pgfmathparse{\lly-\hex@coords@row@fac*(\olly*\hex@yy+\margin)}
- \edef\lly{\pgfmathresult}
- \pgfmathparse{\ury+\hex@coords@row@fac*(\oury*\hex@yy+\margin)}
- \edef\ury{\pgfmathresult}
- % Calculate new LLX and URX
- \pgfmathparse{\llx-1-\margin}\edef\llx{\pgfmathresult}
- \pgfmathparse{\urx+1+\margin}\edef\urx{\pgfmathresult}
- % Calculate width and height
\pgfmathparse{\urx-\llx}\edef\w{\pgfmathresult}
\pgfmathparse{\ury-\lly}\edef\h{\pgfmathresult}
+ %% Print to the log
\hex@dbg{0}{Board Frame: (\llx,\lly)x(\urx,\ury) (\w x\h) (\llc,\llr)x(\urc,\urr)}
+ %% Possibly draw
\draw[hex/board frame/.try](\llx,\lly) rectangle(\urx,\ury);
+ %% Store macros
\xdef\boardXmin{\llx}%
\xdef\boardYmin{\lly}%
\xdef\boardXmax{\urx}%
\xdef\boardYmax{\ury}%
-}
-
+}
% \end{macrocode}
+%
% \end{Macro}
%
% \begin{Macro}{\boardclip}
@@ -104,108 +283,28 @@
% \cs{boardclip}\marg{nx}\marg{ny}\marg{preaction}
% \end{Syntax}
% \begin{macrocode}
-\def\boardpath(#1)(#2){%
+\def\boardpath(#1)(#2){
\hex@coords@reset%
\tikzset{/hex/coords/.cd, #1}
- \edef\llx{\hex@col}
- \edef\lly{\hex@row}
+ \edef\llc{\hex@col}
+ \edef\llr{\hex@row}
%%
\hex@coords@reset%
\tikzset{/hex/coords/.cd, #2}
- \edef\urx{\hex@col}
- \edef\ury{\hex@row}
- \let\board@odd\@undefined%
- \hex@dbg{1}{Board BB in hex: (\llx,\lly)x(\urx,\ury)}
- %%
- \def\fv{south}
- \def\sv{north}
- \ifnum\hex@coords@row@fac<0
- \def\fv{north}
- \def\sv{south}
- \fi
-
- \edef\hex@board@path{(hex cs:c=\llx,r=\lly,v=\fv\space west)}
- %% First the left side
- \foreach \r in {\lly,...,\ury} {%
- \edef\t{
- --(hex cs:c=\llx,r=\r,v=west)
- --(hex cs:c=\llx,r=\r,v=\sv\space west)}
- \wg@addto@macro{\hex@board@path}{\t}}
- %% Then for top of board
- \foreach \c in {\llx,...,\urx} {%
- % To be done
- %\pgfmathparse{int(ifthenelse(\hex@bot@short@col(\c),1,0))}
- %\edef\tmp{\pgfmathresult}
- %\ifnum\tmp>0
- %\edef\t{
- % --(hex cs:c=\c,r=\ury,v=\sv\space west)
- % --(hex cs:c=\c,r=\ury,v=\sv\space east)}
- %\else
- \edef\t{
- --(hex cs:c=\c,r=\ury,v=\fv\space east)
- --(hex cs:c=\c,r=\ury,v=\fv\space west)}
- %\fi
- \wg@addto@macro{\hex@board@path}{\t}}
- %% Then for right of board
- \foreach \r in {\ury,...,\lly} {%
- \edef\t{
- --(hex cs:c=\urx,r=\r,v=east)
- --(hex cs:c=\urx,r=\r,v=\fv\space east)}
- \wg@addto@macro{\hex@board@path}{\t}}
-
- %% Then for bottom of board
- \edef\t{--(hex cs:r=\lly,c=\urx,v=\fv\space west)}
- \wg@addto@macro{\hex@board@path}{\t}
- \foreach \c in {\urx,...,\llx} {%
- \pgfmathparse{int(ifthenelse(\hex@bot@short@col(\c),1,0))}
- \edef\tmp{\pgfmathresult}
- \ifnum\tmp>0
- \edef\t{
- --(hex cs:c=\c,r=\lly,v=\sv\space east)
- --(hex cs:c=\c,r=\lly,v=\sv\space west)}
- \else
- \edef\t{
- --(hex cs:c=\c,r=\lly,v=\fv\space east)
- --(hex cs:c=\c,r=\lly,v=\fv\space west)}
- \fi
- \wg@addto@macro{\hex@board@path}{\t}}
-
- \def\t{--cycle}
- \wg@addto@macro{\hex@board@path}{\t}
+ \edef\urc{\hex@col}
+ \edef\urr{\hex@row}
+
+ % This will store the bounding box in tmp node `board frame'
+ \bo@rdfr@me{\llc}{\llr}{\urc}{\urr}%
+ %% Use the path to extract the bounding box
+ %\begin{scope}[local bounding box=board frame]
+ % \expandafter\path\hex@board@path;
+ %\end{scope}
\global\let\hexboardpath\hex@board@path
}
-%\def\boardclip#1#2#3{%
-% \pgfmathparse{int(#1-1)}\xdef\board@range{\pgfmathresult,...,0}%
-% %% \show\board@range
-% \draw \ifx|#3|\else[preaction={#3}]\fi%
-% [clip]
-% % [decorate,decoration={show path construction,
-% % moveto code={\fill[red](\tikzinputsegmentfirst) circle(2pt)
-% % node [fill=none,below]{moveto};},
-% % lineto code={\draw[thick,blue,->](\tikzinputsegmentfirst)--
-% % (\tikzinputsegmentlast) node [above] {lineto};},
-% % curveto code={\draw[thick,green,->](\tikzinputsegmentfirst)..
-% % controls(\tikzinputsegmentsupporta) and
-% % (\tikzinputsegmentsupportb)
-% % ..(\tikzinputsegmentlast) node[above]{curveto};},
-% % closepath code={\draw[thick,orange,->](\tikzinputsegmentfirst)--
-% % (\tikzinputsegmentlast) node [above] {closepath};}
-% % }]
-% (hex cs:r=0,c=0,v=south west)
-% %% First the left side
-% \foreach \r in {0,1,...,#2} {%
-% --(hex cs:c=0,r=\r,v=west)--(hex cs:c=0,r=\r,v=north west)}
-% %% Then for top of board
-% \foreach \c in {0,1,...,#1} {%
-% --(hex cs:r=#2,c=\c,v=north west)--(hex cs:c=\c,r=#2,v=north east)}
-% %% Then for right of board
-% \foreach \r in {#2,...,0} {%
-% --(hex cs:c=#1,r=\r,v=east)--(hex cs:c=#1,r=\r,v=south east)}
-% %% Then for bottom of board
-% --(hex cs:r=0,c=#1,v=south west) \foreach \c in \board@range {%
-% --(hex cs:r=0,c=\c,v=south east) --(hex cs:c=\c,r=0,v=south west) }
-% --cycle; }
-%% New definition - much simpler
+
+% \end{macrocode}
+% \begin{macrocode}
\def\boardclip(#1)(#2)#3{%
\boardpath(#1)(#2)
\draw \ifx|#3|\else[preaction={#3}]\fi%
diff --git a/macros/latex/contrib/wargame/source/hex/coord.dtx b/macros/latex/contrib/wargame/source/hex/coord.dtx
index b996ffa3c2..147ae82892 100644
--- a/macros/latex/contrib/wargame/source/hex/coord.dtx
+++ b/macros/latex/contrib/wargame/source/hex/coord.dtx
@@ -278,11 +278,10 @@
% \begin{macrocode}
\pgfmathparse{int(\hex@coords@col@fac*(\hex@col+\hex@coords@col@off))}%
\xdef\hex@eff@col{\pgfmathresult}%
- \hex@dbg{2}{Effective column: \hex@coords@col@fac * (\hex@col -
+ \hex@dbg{2}{Effective column: \hex@coords@col@fac * (\hex@col +
\hex@coords@col@off) -> \hex@eff@col}%
\pgfmathparse{\hex@eff@col*1.5}%
\xdef\hex@x{\pgfmathresult}%
- \expandafter\pgf@x=\hex@x cm%
% \end{macrocode}
%
% And then for the $y$ coordinate and set the dimension \cs{pgf@y}.
@@ -304,17 +303,21 @@
\hex@dbg{2}{Effective row: \hex@coords@row@fac * (\hex@row +
\hex@coords@row@off) -> \hex@eff@row}%
\pgfmathparse{(2*\hex@eff@row-mod(round((\hex@col+\hex@coords@col@off)),2))*\hex@yy}%
+ \pgfmathparse{(2*\hex@eff@row-mod(abs(round(\hex@col+\hex@coords@col@off)),2))*\hex@yy}%
\xdef\hex@y{\pgfmathresult}%
- \expandafter\pgf@x=\hex@y cm%
% \end{macrocode}
%
% If we have a vertex specification add that location to the current
% coordinates. If not, set the point.
%
% \begin{macrocode}
- \ifx\hex@vtx\@empty\pgfpointxy{\hex@x}{\hex@y}\else%
- \pgfpointadd{\pgfpointxy{\hex@x}{\hex@y}}{%
- \pgfpointscale{\hex@off}{\pgfpointpolarxy{\hex@vtx}{1}}}\fi%
+ \ifx\hex@vtx\@empty\else%
+ \pgfmathparse{\hex@x+\hex@off*cos(\hex@vtx)}\xdef\hex@x{\pgfmathresult}
+ \pgfmathparse{\hex@y+\hex@off*sin(\hex@vtx)}\xdef\hex@y{\pgfmathresult}
+ \fi%
+ % \ifx\hex@vtx\@empty\pgfpointxy{\hex@x}{\hex@y}\else%
+ % \pgfpointadd{\pgfpointxy{\hex@x}{\hex@y}}{%
+ % \pgfpointscale{\hex@off}{\pgfpointpolarxy{\hex@vtx}{1}}}\fi%
% \end{macrocode}
%
% If we have an edge specification add that location to the current
@@ -322,20 +325,28 @@
%
% \begin{macrocode}
\ifx\hex@edg\@empty\else%
- \pgfpointadd{\pgfpointxy{\hex@x}{\hex@y}}{%
- \pgfpointscale{\hex@off}{\pgfpointpolarxy{\hex@edg}{\hex@yy}}}\fi
+ \pgfmathparse{\hex@x+\hex@off*\hex@yy*cos(\hex@edg)}%
+ \xdef\hex@x{\pgfmathresult}%
+ \pgfmathparse{\hex@y+\hex@off*\hex@yy*sin(\hex@edg)}%
+ \xdef\hex@y{\pgfmathresult}%
+ \fi%
+ % \ifx\hex@edg\@empty\else%
+ % \pgfpointadd{\pgfpointxy{\hex@x}{\hex@y}}{%
+ % \pgfpointscale{\hex@off}{\pgfpointpolarxy{\hex@edg}{\hex@yy}}}\fi
% \end{macrocode}
%
% For debugging, we can print out stuff.
%
% \begin{macrocode}
+ \pgfpointxy{\hex@x}{\hex@y}
\hex@dbg{2}{Hex coordinates: #1
- ^^J c=\hex@col
- ^^J r=\hex@row
- ^^J v=\hex@vtx
- ^^J e=\hex@edg
- ^^J x=\hex@x
- ^^J y=\hex@y}%
+ ^^J c=`\hex@col'
+ ^^J r=`\hex@row'
+ ^^J v=`\hex@vtx'
+ ^^J e=`\hex@edg'
+ ^^J o=`\hex@off'
+ ^^J x=`\hex@x'
+ ^^J y=`\hex@y'}%
\global\let\hex@x\hex@x%
\global\let\hex@y\hex@y%
\global\let\hex@row\hex@row%
diff --git a/macros/latex/contrib/wargame/source/hex/core.dtx b/macros/latex/contrib/wargame/source/hex/core.dtx
index ee04290955..89179ef9fd 100644
--- a/macros/latex/contrib/wargame/source/hex/core.dtx
+++ b/macros/latex/contrib/wargame/source/hex/core.dtx
@@ -89,6 +89,7 @@
% \input{hex/extra.dtx}
% \input{hex/paths.dtx}
% \input{hex/board.dtx}
+% \input{hex/split.dtx}
% \iffalse
%</hex>
% \fi
diff --git a/macros/latex/contrib/wargame/source/hex/extra.dtx b/macros/latex/contrib/wargame/source/hex/extra.dtx
index 05f7215297..f2e6e1cb75 100644
--- a/macros/latex/contrib/wargame/source/hex/extra.dtx
+++ b/macros/latex/contrib/wargame/source/hex/extra.dtx
@@ -18,7 +18,7 @@
% \begin{macrocode}
\tikzset{%
hex/fortress/.pic={
- \path[draw,pic actions]
+ \path[draw,solid,pic actions]
(0: .9) --
(0: .7) --
(60: .7) -- ( 60:.9) -- ( 60:.7) --
diff --git a/macros/latex/contrib/wargame/source/hex/paths.dtx b/macros/latex/contrib/wargame/source/hex/paths.dtx
index 833a4a245a..813ab869fa 100644
--- a/macros/latex/contrib/wargame/source/hex/paths.dtx
+++ b/macros/latex/contrib/wargame/source/hex/paths.dtx
@@ -45,19 +45,45 @@
}
}%
}%
-
+% \end{macrocode}
+%
+% A decoration to make a fortification line
+%
+% \begin{macrocode}
+\pgfdeclaredecoration{fortification}{initial}
+{
+ \state{initial}[width=4\pgflinewidth]
+ {
+ \pgfpathlineto{\pgfpoint{2\pgflinewidth}{0}}
+ \pgfpathlineto{\pgfpoint{2\pgflinewidth}{2\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{4\pgflinewidth}{2\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{4\pgflinewidth}{0}}
+ }
+ \state{final}
+ {
+ \pgfpathlineto{\pgfpointdecoratedpathlast}
+ }
+}
+% \end{macrocode}
+%
+% Roads, railroads, rivers, borders.
+%
+% \begin{macrocode}
\tikzset{
hex/road/.style={
rounded corners=3\pgflinewidth,% .25cm,
color=black,
transform shape,
scale line widths,
- thick},
+ thick,
+ every hex road/.try,
+ },
hex/railroad/.style={
%scale line widths,
rounded corners=.25cm,
color=gray!50!black,
transform shape,
+ every hex railroad/.try,
postaction={draw,decorate},
decoration={ticks,
segment length=9\pgflinewidth,
@@ -67,29 +93,42 @@
hex/river/.style={
color=blue,
scale line widths,
+ scale rounded corners,
line width=3pt,
transform shape,
+ every hex river/.try,
decorate,
decoration={random steps,
- segment length=.3cm,
- amplitude=.15cm,
+ segment length=3\pgflinewidth,
+ amplitude=1.5\pgflinewidth,
pre=lineto,
post=lineto,
- pre length=.05cm,
- post length=.05cm},
- rounded corners=.08cm},
+ pre length=.5\pgflinewidth,
+ post length=.5\pgflinewidth},
+ rounded corners=.75\pgflinewidth},
hex/border/.style={
color=gray,
- rounded corners=3pt,
dashed,
transform shape,
scale line widths,
- very thick
+ very thick,
+ rounded corners=3\pgflinewidth,
+ every hex border/.try
},
- every river/.style={},
- every road/.style={},
- every railroad/.style={},
- every border/.style={},
+ %
+ % Fortification line
+ %
+ hex/fortified line/.style={
+ draw=brown!50!black,
+ scale line widths,
+ line width=2pt,
+ every hex fortification line/.try,
+ decoration={fortification,raise=-2\pgflinewidth},
+ decorate},
+ % every river/.style={},
+ % every road/.style={},
+ % every railroad/.style={},
+ % every border/.style={},
}
% \end{macrocode}
%
@@ -97,25 +136,30 @@
%
% \begin{macrocode}
\def\road{%
- \hex@dbg{3}{Road}
+ %\hex@dbg{3}{Road}
\@ifnextchar[{\road@}{\road@[]}%]
}
\def\road@[#1]{\draw[hex/road,every hex road/.try,#1]}
\def\railroad{%
- \hex@dbg{3}{Rail road}
+ %\hex@dbg{3}{Rail road}
\@ifnextchar[{\railroad@}{\railroad@[]}%]
}
\def\railroad@[#1]{\draw[hex/railroad,every hex railroad/.try,#1]}
\def\river{%
- \hex@dbg{3}{River}
+ %\hex@dbg{3}{River}
\@ifnextchar[{\river@}{\river@[]}%]
}
-\def\river@[#1]{\draw[hex/river,every hex river/.try,#1]}
+\def\river@[#1]{\draw[hex/river,#1]}
\def\border{%
\hex@dbg{3}{Border}
\@ifnextchar[{\border@}{\border@[]}%]
}
\def\border@[#1]{\draw[hex/border,every hex border/.try,#1]}
+\def\fortifiedline{%
+ \@ifnextchar[{\fortifiedline@}{\fortifiedline@[]}%]
+}%
+\def\fortifiedline@[#1]{%
+ \draw[hex/fortified line,every hex fortified line/.try,#1]}
% \end{macrocode}
% \end{Macro}
%
@@ -209,10 +253,10 @@
markings,
mark=between positions 0 and 1 step 0.75*\hex@scale*\hex@dy with {
\node [single arrow,
- single arrow head extend=3pt,
+ single arrow head extend=.1*\hex@scale*\hex@dy,
fill=#1,
- inner sep=\hex@scale*.5mm,
- minimum width=\hex@scale*2mm,
+ inner sep=0.05*\hex@scale*\hex@dy,
+ minimum width=0.02*\hex@scale*\hex@dy,
minimum height=\hex@scale*\hex@dy/2,
transform shape]{};
}
@@ -236,10 +280,10 @@
markings,
mark=between positions 0 and 1 step 0.5*\hex@scale*\hex@dy with {
\node [single arrow,
- single arrow head extend=3pt,
+ single arrow head extend=.1*\hex@scale*\hex@dy,
fill=#1,
- inner sep=\hex@scale*.5mm,
- minimum width=\hex@scale*2mm,
+ inner sep=0.05*\hex@scale*\hex@dy,
+ minimum width=0.02*\hex@scale*\hex@dy,
minimum height=\hex@scale*\hex@dy/3,
transform shape]{};
}
@@ -270,7 +314,7 @@
anchor=west,
inner sep=\hex@scale*.25mm,
outer sep=.3*\hex@scale*\hex@dy,
- minimum width=\hex@scale*2mm,
+ minimum width=0.02*\hex@scale*\hex@dy,
minimum height=1.4*\hex@scale*\hex@dy,
transform shape]{};
}
@@ -300,10 +344,10 @@
transform shape] {};},
mark=between positions 0 and 1 step 0.75*\hex@scale*\hex@dy with {
\node [single arrow,
- single arrow head extend=\hex@scale*3pt,
+ single arrow head extend=.1*\hex@scale*\hex@dy,
fill=#1,
- inner sep=\hex@scale*1mm,
- minimum width=\hex@scale*3mm,
+ inner sep=0.05*\hex@scale*\hex@dy,
+ minimum width=0.02*\hex@scale*\hex@dy,
minimum height=\hex@scale*\hex@dy/2,
transform shape]{};
}
@@ -331,7 +375,7 @@
fill=#2,
transform shape,
text=#1,
- font=\sffamily\bfseries\Large},
+ font=\sffamily\bfseries\fontsize{14.4}{17}\selectfont},
hex/move cost/.default={black}{none},
% Argument is fill colour
% \end{macrocode}
diff --git a/macros/latex/contrib/wargame/source/hex/ridges.dtx b/macros/latex/contrib/wargame/source/hex/ridges.dtx
index 3914ff6ce5..24552e36e2 100644
--- a/macros/latex/contrib/wargame/source/hex/ridges.dtx
+++ b/macros/latex/contrib/wargame/source/hex/ridges.dtx
@@ -9,23 +9,31 @@
% A hex can be decorated with up to 6 ridges --- one for each edge of
% the hexagon. The first thing is to set up the graphics style to use
% for the ridges. We use the \spec{wave} decoration.
+%
+% If rounded corners are set for ridges, (e.g., via \spec{every hex
+% ridges}), then it should be \spec{0pt} or \spec{4pt} (roughly 2mm)
+% or larger. Otherwise, one will get a ``dimension too large''
+% error.
%
% \begin{macrocode}
\tikzset{%
- hex/ridges/.style={
+ hex/ridges pre/.style={
line cap=round,
draw=pgfstrokecolor,
- rounded corners=.25cm,
- scale line widths,
+ solid,
+ /hex/ridges/.cd,%
+ radius=0.85,%
+ n=4,
+ R=.25,
+ },
+ hex/ridges/.style={
+ get scale,
decoration={
path has corners=true,
- pre=waves,
- post=waves,
- pre length=-.1cm,
- post length=0cm,
waves,
- radius=.2cm,
- segment length=.2cm},
+ radius=\wg@scale\hex@r@R,
+ segment length=\wg@scale\hex@r@s,
+ },
decorate}}
% \end{macrocode}
%
@@ -57,6 +65,7 @@
south/.is if=hex@r@s,
south east/.is if=hex@r@se,
radius/.store in=\hex@r@r,
+ curve radius/.store in=\hex@r@w,
NE/.is if=hex@r@ne,
N/.is if=hex@r@n,
NW/.is if=hex@r@nw,
@@ -64,6 +73,8 @@
S/.is if=hex@r@s,
SE/.is if=hex@r@se,
r/.store in=\hex@r@r,
+ n/.store in=\hex@r@n,
+ R/.store in=\hex@r@w,
}
% \end{macrocode}
%
@@ -74,10 +85,11 @@
% the routine below is handcrafted since it is relatively simple.
%
% \begin{macrocode}
+\newdimen\hex@r@s
+\newdimen\hex@r@R
\def\hex@do@ridges{%
\edef\hex@r@tmp{[
- /hex/ridges/.cd,%
- radius=0.8,%
+ hex/ridges pre,
/tikz/every hex ridges/.try,
\hex@ridges]}
\expandafter\scope\hex@r@tmp%
@@ -89,44 +101,70 @@
^^Jsouth =\ifhex@r@s yes\else no\fi
^^Jsouth east=\ifhex@r@se yes\else no\fi
^^Jradius =\hex@r@r
+ ^^Jn =\hex@r@n
}
+ \pgfmathparse{\hex@r@r/\hex@r@n}\xdef\hex@r@t{\pgfmathresult}
+ \hex@r@s=\hex@r@t cm
+ \hex@r@R=\hex@r@w cm
\def\hex@r@p{}
% Hand written algorithm
\ifhex@r@ne
- \def\hex@r@p{(0:\hex@r@r)--(60:\hex@r@r)}
+ \ifhex@r@se
+ \xdef\hex@r@p{(0:\hex@r@r)--(60:\hex@r@r)}
+ \else
+ \xdef\hex@r@p{($(0:\hex@r@r)+(-60:\hex@r@t/2)$)--(60:\hex@r@r)}
+ \fi
+ \hex@dbg{4}{Ridge along north east edge: `\hex@r@p'}
\fi
\ifhex@r@n
- \hex@dbg{4}{Ridge along north edge: `\hex@r@p'}
\ifhex@r@ne\else
- \xdef\hex@r@p{\hex@r@p ( 60:\hex@r@r)}
+ \xdef\hex@r@p{\hex@r@p ($( 60:\hex@r@r)+(0:\hex@r@t/2)$)}
\fi
\xdef\hex@r@p{\hex@r@p --(120:\hex@r@r)}
+ \hex@dbg{4}{Ridge along north edge: `\hex@r@p'}
\fi
\ifhex@r@nw
\ifhex@r@n\else
- \xdef\hex@r@p{\hex@r@p (120:\hex@r@r)}
+ \xdef\hex@r@p{\hex@r@p ($(120:\hex@r@r)+(60:\hex@r@t/2)$)}
\fi
\xdef\hex@r@p{\hex@r@p --(180:\hex@r@r)}
+ \hex@dbg{4}{Ridge along north west: `\hex@r@p'}
\fi
\ifhex@r@sw
\ifhex@r@nw\else
- \xdef\hex@r@p{\hex@r@p (180:\hex@r@r)}
+ \xdef\hex@r@p{\hex@r@p ($(180:\hex@r@r)+(120:\hex@r@t/2)$)}
+ \fi
+ \ifhex@r@s
+ \xdef\hex@r@p{\hex@r@p --(240:\hex@r@r)}
+ \else
+ \xdef\hex@r@p{\hex@r@p --(240:\hex@r@r)}
\fi
- \xdef\hex@r@p{\hex@r@p --(240:\hex@r@r)}
+ \hex@dbg{4}{Ridge along south west: `\hex@r@p'}
\fi
\ifhex@r@s
\ifhex@r@sw\else
- \xdef\hex@r@p{\hex@r@p (240:\hex@r@r)}
+ \xdef\hex@r@p{\hex@r@p ($(240:\hex@r@r)+(-\hex@r@t/2,0)$)}
\fi
- \xdef\hex@r@p{\hex@r@p --(300:\hex@r@r)}
+ \ifhex@r@se
+ \xdef\hex@r@p{\hex@r@p --(300:\hex@r@r)}
+ \else
+ \xdef\hex@r@p{\hex@r@p --(300.5:\hex@r@r)}
+ \fi
+ \hex@dbg{4}{Ridge along south: `\hex@r@p'}
\fi
\ifhex@r@se
\ifhex@r@s\else
- \xdef\hex@r@p{\hex@r@p (300:\hex@r@r)}
+ \xdef\hex@r@p{\hex@r@p ($(300:\hex@r@r)+(-120:\hex@r@t/2)$)}
+ \fi
+ \ifhex@r@ne
+ \xdef\hex@r@p{\hex@r@p --cycle}
+ \else
+ \xdef\hex@r@p{\hex@r@p --(.5:\hex@r@r)}
\fi
- \xdef\hex@r@p{\hex@r@p --(360:\hex@r@r)}
+ \hex@dbg{4}{Ridge along se: `\hex@r@p'}
\fi
\hex@dbg{3}{ Ridges path: \hex@r@p}
+ % \draw[red] \hex@r@p;
\draw[hex/ridges] \hex@r@p;
\endscope% End of ridges scope
}
diff --git a/macros/latex/contrib/wargame/source/hex/shape.dtx b/macros/latex/contrib/wargame/source/hex/shape.dtx
index 0d31da837f..104dbf23c6 100644
--- a/macros/latex/contrib/wargame/source/hex/shape.dtx
+++ b/macros/latex/contrib/wargame/source/hex/shape.dtx
@@ -14,6 +14,77 @@
% such as terrain and so on.
%
% \begin{macrocode}
+\tikzset{%
+ /hex/.cd,
+ bev/.store in=\hex@bevel, bev/.initial=,
+ bevel fraction/.store in=\hex@bevel@frac,bevel fraction/.initial=10,
+ bevel/.is choice,
+ bevel/none/.style = {/hex/bev=},
+ bevel/north west/.style = {/hex/bev=1},
+ bevel/north east/.style = {/hex/bev=2},
+ bevel/south west/.style = {/hex/bev=3},
+ bevel/south east/.style = {/hex/bev=4},
+ bevel/NW/.style = {/hex/bev=1},
+ bevel/NE/.style = {/hex/bev=2},
+ bevel/SW/.style = {/hex/bev=3},
+ bevel/SE/.style = {/hex/bev=4},
+ bevel/.default = {north west},
+}
+\def\hex@bevel@frac{10}
+\tikzset{
+ hex/bevel highlight/.style={fill=white,opacity=.25},
+ hex/bevel shadow/.style={fill=black,opacity=.25},
+}
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
+\newdimen\wg@tmpe
+\newdimen\wg@tmpf
+\newdimen\wg@tmpg
+\def\hex@bevel@path#1{%
+ \scope[#1]
+ \wg@tmpe=\wg@tmpa\multiply\wg@tmpe by \hex@bevel@frac
+ \wg@tmpf=\wg@tmpb\multiply\wg@tmpf by \hex@bevel@frac
+ \wg@tmpg=\wg@tmpc\multiply\wg@tmpg by \hex@bevel@frac
+ \divide\wg@tmpe100
+ \divide\wg@tmpf100
+ \divide\wg@tmpg100
+ % Start
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Left
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ % Left-down
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{\wg@tmpd}}%
+ % Right down
+ \wg@tmpa=-\wg@tmpa%
+ \wg@tmpb=-\wg@tmpb%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Up, in
+ \advance\wg@tmpa\wg@tmpe%
+ \advance\wg@tmpb\wg@tmpf%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Left-down, in
+ \advance\wg@tmpc-\wg@tmpg
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{\wg@tmpd}}%
+ % Left, down in
+ \advance\wg@tmpb-\wg@tmpf\wg@tmpb-\wg@tmpb%
+ \advance\wg@tmpb-\wg@tmpf
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % Start, down in
+ \advance\wg@tmpa-\wg@tmpe\wg@tmpa-\wg@tmpa%
+ \advance\wg@tmpa-\wg@tmpe
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ % %
+ \pgfclosepath%
+ \pgfusepath{fill}
+ \endscope}%
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
\hex@dbg{5}{Base vertex: \hex@xx,\hex@yy}
\hex@dbg{5}{Base edges: \hex@e@xx,\hex@e@yy}
\pgfdeclareshape{hex/hex}{%
@@ -187,6 +258,40 @@
% \begin{macrocode}
\@ifundefined{hex@label}{\let\hex@label\empty}{}
\ifx\hex@label\empty\else\hex@do@label\fi%
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \@ifundefined{hex@bevel}{\let\hex@bevel\empty}{}
+ \ifx\hex@bevel\empty\else%
+ \northeast
+ \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \west
+ \wg@tmpc=\pgf@x\wg@tmpd=\pgf@y%
+ \ifcase\hex@bevel\relax
+ \or%1
+ \or\wg@tmpa=-\wg@tmpa\wg@tmpc=-\wg@tmpc%2
+ \or\wg@tmpb=-\wg@tmpb\wg@tmpd=-\wg@tmpd%3
+ \or% 4
+ \wg@tmpa=-\wg@tmpa\wg@tmpc=-\wg@tmpc%
+ \wg@tmpb=-\wg@tmpb\wg@tmpd=-\wg@tmpd%
+ \fi
+ \hex@bevel@path{chit/bevel highlight}
+ \northeast
+ \wg@tmpa=-\pgf@x\wg@tmpb=-\pgf@y%
+ \west
+ \wg@tmpc=-\pgf@x\wg@tmpd=-\pgf@y%
+ \ifcase\hex@bevel\relax
+ \or%1
+ \or\wg@tmpa=-\wg@tmpa\wg@tmpc=-\wg@tmpc%2
+ \or\wg@tmpb=-\wg@tmpb\wg@tmpd=-\wg@tmpd%3
+ \or% 4
+ \wg@tmpa=-\wg@tmpa\wg@tmpc=-\wg@tmpc%
+ \wg@tmpb=-\wg@tmpb\wg@tmpd=-\wg@tmpd%
+ \fi
+ \hex@bevel@path{chit/bevel shadow}
+ \fi
+% \end{macrocode}
+% \begin{macrocode}
\endscope%
% \end{macrocode}
%
diff --git a/macros/latex/contrib/wargame/source/hex/split.dtx b/macros/latex/contrib/wargame/source/hex/split.dtx
new file mode 100644
index 0000000000..3996b8848f
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/hex/split.dtx
@@ -0,0 +1,517 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*hex>
+% \fi
+%
+% \subsubsection{Board splitting}
+% \label{sec:impl:hex:split}
+%
+% \begin{Macro}{\splitboard}
+%
+% Calculates how to split a board into sheets of paper.
+%
+% \begin{Syntax}
+% \cs{splitboard}\oarg{options}
+% \end{Syntax}
+%
+% where options are
+%
+% \begin{itemize}
+% \item \spec{paper}=\meta{format}: Specifies the paper format. One
+% of \spec{a4}, \spec{a3}, \spec{letter}, \spec{tabloid}. Default
+% is \spec{a4}.
+% \item \spec{landscape}: Sets the paper format to be in landscape
+% mode (default is portrait).
+% \item \spec{margin}=\meta{size in centimetres}: Size of margins on
+% each sheet in centimetres \emph{without} unit. That is put
+% \spec{0.6} for 6mm, \emph{not} \spec{6mm}. Default is \spec{0.6}.
+% This should be \emph{slightly} larger (by roughly 5\%) than the
+% \emph{least} margin required by the printer used. \emph{Must} be
+% given \emph{before} \spec{paper} to have any effect.
+% \item \spec{ncol}=\meta{number of columns}: Sets the number of
+% columns of sheets.
+% \item \spec{nrow}=\meta{number of rows}: Set the number of rows of
+% sheets.
+% \item \spec{overlap}=\meta{size in centimetres}: Sets the size of
+% the overlap between sheets in centimetres \emph{without} unit.
+% That is put \spec{2} for 2cm, \emph{not} \spec{2cm}. Default is
+% \spec{2}.
+% \item \spec{image}=\meta{file name}: File name of the board image
+% (a PDF). Default is \spec{board}
+% \item \spec{output}=\meta{file name}: File name (without
+% \spec{.tex} ending) to write calculated split to.
+% \item \spec{standalone}: Boolean flag. If true, then output file
+% will be a standalone document (i.e., has a \cs{documentclass}).
+% \item \spec{scale}=\meta{scale}: Set scale of board.
+% \end{itemize}
+%
+% The macro will produce a file named \cs{jobname}\spec{\_out.tex}
+% which can be included in another document to generate the split
+% board PDF.
+%
+% To use, make, for example, the file \spec{calcsplit.tex} with the
+% content
+%
+% \begin{verbatim}
+% \documentclass[11pt]{standalone}
+% \usepackage{wargame}
+% \usepackage{mystyle}
+% \begin{document}
+% \splitboard{paper=letter,margin=.7,ncol=2,nrow=2,overlap=1}
+% \end{document}
+% \end{verbatim}
+%
+% to calculate the split of \spec{board.pdf} over $2\times2$ letter
+% paper sheets, with a non-printable margin of 7mm, and an overlap
+% between the segments of 1cm.
+%
+% The final split document can then be
+%
+% \begin{verbatim}
+% \documentclass[11pt]{article}
+% \usepackage[letterpaper,margin=7mm]{geometry}
+% \begin{document}
+% \input{calcsplit_out}
+% \end{document}
+% \end{verbatim}
+%
+%
+% If you need to scale down the board, define the style \spec{board
+% scale}. E.g.,
+%
+% \begin{verbatim}
+% \tikzset{board scale/.style={scale=.9}}
+% \end{verbatim}
+%
+% \end{Macro}
+%
+%
+% Styles used for drawing things.
+%
+% \begin{macrocode}
+\tikzset{%
+ % Margin must be <1cm
+ split/paper outline/.style={
+ shape=rectangle,
+ draw=red!50!black,
+ line width=.5mm},
+ split/effective outline/.style={
+ shape=rectangle,
+ draw=green!50!black,
+ dashed,
+ line width=.5mm},
+ split/board outline/.style={%
+ draw=magenta,
+ line width=.5mm,
+ dotted},
+}
+% \end{macrocode}
+%
+% A scratch dimension used
+%
+% \begin{macrocode}
+\newdimen\split@tmp
+% \end{macrocode}
+%
+% Get upper right and lower left corners of node. Argument is node name.
+%
+% \begin{macrocode}
+\def\split@getem#1{%
+ \draw (#1.north east);%
+ \pgfgetlastxy{\split@ulx}{\split@uly}%
+ \xdef\split@ulx{\split@ulx}%
+ \xdef\split@ulx{\split@ulx}%
+ \draw (#1.south west);%
+ \pgfgetlastxy{\split@lrx}{\split@lry}%
+ \xdef\split@lrx{\split@lrx}%
+ \xdef\split@lry{\split@lry}%
+}
+% \end{macrocode}
+%
+% Get board dimensions. Argument is node name.
+%
+% \begin{macrocode}
+\def\split@getboard#1{%
+ \split@getem{#1}%
+ \xdef\split@bulx{\split@ulx}%
+ \xdef\split@buly{\split@uly}%
+ \xdef\split@blrx{\split@lrx}%
+ \xdef\split@blry{\split@lry}%
+ \split@w{\@percentchar\space Board:
+ (\split@bulx,\split@buly)(\split@blrx,\split@blry)}}
+% \end{macrocode}
+%
+% Adjust placement of markers and cut lines.
+% \begin{enumerate}
+% \item Dimension to adjust
+% \item Overlap dimension (with units)
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\split@adj#1#2{%
+ \split@tmp=#2%
+ \divide\split@tmp by 2%
+ \advance\split@tmp by #1%
+ \edef\t{\the\split@tmp}}
+% \end{macrocode}
+%
+% Get initial offset in a direction.
+%
+% \begin{enumerate}
+% \item Number of segments in direction
+% \item Overlap in centimetres (without unit)
+% \item Effective size, in centimetres (without unit), of sheets in
+% direction
+% \item Full size, in centimetres (without unit), of board in
+% direction.
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\split@get@init#1#2#3#4{%
+ \pgfmathparse{((#1 * #3 - (#1 - 1) * #2) - #4)/2}%
+ \xdef\split@off{\pgfmathresult}%
+ \hex@dbg{2}{((#1 * #3 - (#1 - 1) * #2) - #4)/2 -> `\split@off'}}
+% \end{macrocode}
+%
+% Get initial offset of first segment.
+%
+% \begin{enumerate}
+% \item Number of rows
+% \item Number of columns
+% \item Overlap in centimetres (without unit)
+% \item Effective height, in centimetres (without unit), of sheets
+% \item Effective width, in centimetres (without unit), of sheets
+% \item Full height, in centimetres (without unit), of board
+% \item Full width, in centimetres (without unit), of board
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\split@getinit#1#2#3#4#5#6#7{%
+ \split@get@init{#1}{#3}{#4}{#6}\xdef\dy{\split@off cm}
+ \split@get@init{#2}{#3}{#5}{#7}\xdef\dx{\split@off cm}}
+% \end{macrocode}
+%
+% Get coordinates of a segment
+%
+% \begin{enumerate}
+% \item Column number
+% \item Row number
+% \item Overlap, in centimetres (without unit)
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\split@getcoords#1#2#3{%
+ \hex@dbg{2}{Getting coords `c#1r#2'}%
+ \split@getem{c#1r#2}%
+ \edef\sulx{\split@ulx}%
+ \edef\suly{\split@uly}%
+ \edef\slrx{\split@lrx}%
+ \edef\slry{\split@lry}%
+ \edef\mlx{\split@blrx}%
+ \edef\mrx{\split@bulx}%
+ \edef\mty{\split@buly}%
+ \edef\mby{\split@blry}%
+ \pgfmathparse{int(#1-1)}\edef\pc{\pgfmathresult}%
+ \pgfmathparse{int(#2-1)}\edef\pr{\pgfmathresult}%
+ \pgfmathparse{int(#1+1)}\edef\nc{\pgfmathresult}%
+ \pgfmathparse{int(#2+1)}\edef\nr{\pgfmathresult}%
+ \pgfutil@ifundefined{pgf@sh@ns@c\pc r#2}{}{% Left
+ \hex@dbg{3}{\space Getting left `c\pc r#2'}%
+ \split@getem{c\pc r#2}\split@adj{\split@ulx}{-#3}\edef\mlx{\t}}%
+ \pgfutil@ifundefined{pgf@sh@ns@c\nc r#2}{}{% Right
+ \hex@dbg{3}{\space Getting right `c\nc r#2'}%
+ \split@getem{c\nc r#2}\split@adj{\split@lrx}{#3}\edef\mrx{\t}}%
+ \pgfutil@ifundefined{pgf@sh@ns@c#1r\pr}{}{% Above
+ \hex@dbg{3}{\space Getting above `c#1 r\pr'}%
+ \split@getem{c#1r\pr}\split@adj{\split@lry}{#3} \edef\mty{\t}}%
+ \pgfutil@ifundefined{pgf@sh@ns@c#1r\nr}{}{% Below
+ \hex@dbg{3}{\space Getting below `c#1 r\nr'}%
+ \split@getem{c#1r\nr}\split@adj{\split@uly}{-#3}\edef\mby{\t}}%
+ \draw[fill=red] (\mlx,\mty) circle(.2);%
+ \draw[fill=green](\mrx,\mty) circle(.4);%
+ \draw[fill=blue] (\mlx,\mby) circle(.6);%
+ \draw[fill=cyan] (\mrx,\mby) circle(.8);%
+ \split@w{%
+ \@percentchar^^J%
+ \string\segment(\sulx,\suly)(\slrx,\slry){\mlx}{\mrx}{\mby}{\mty}
+ \@percentchar\space c#1r#2}
+}
+% \end{macrocode}
+%
+% Stream to write to
+%
+% \begin{macrocode}
+\newwrite\split@calcout
+% \end{macrocode}
+%
+% Short-hand for write outs.
+%
+% \begin{macrocode}
+\def\split@w{\immediate\write\split@calcout}
+% \end{macrocode}
+%
+% Open stream and set-up
+%
+% \begin{macrocode}
+\def\split@header#1{%
+ \immediate\openout\split@calcout=#1.tex
+ \ifsplit@standalone
+ \pgfmathparse{\split@margin*.95}\edef\tmp{\pgfmathresult}
+ \split@w{\@percentchar\@percentchar\space These are made with
+ `calcsplit' with `-jobname \jobname'}
+ \split@w{
+ ^^J\string\documentclass[twoside]{article}
+ ^^J\string\usepackage{geometry}
+ ^^J\string\geometry{papersize={\the\paperwidth,\the\paperheight},margin=\tmp cm}
+ ^^J\string\usepackage{wargame}
+ ^^J\string\setlength{\string\parindent}{0pt}
+ ^^J\string\setlength{\string\parskip}{0pt}
+ ^^J\string\begin{document}
+ ^^J\string\ignorespaces\@percentchar}
+ \fi
+ \split@w{\string\def\string\boardfile{\split@img}\@percentchar}
+ \split@w{\string\def\string\boardscale{\split@scale}\@percentchar}
+}
+% \end{macrocode}
+%
+% Write final stuff and close stream
+%
+% \begin{macrocode}
+\def\split@footer{%
+ \ifsplit@standalone
+ \split@w{^^J\string\end{document}}
+ \fi
+ \split@w{^^J\@percentchar\@percentchar End of `\jobname'^^J}
+ \immediate\closeout\split@calcout
+}
+% \end{macrocode}
+%
+% Initial calculations. This draws the board and then extracts the
+% dimensions of the board. It also defines some styles for drawing
+% the board segments.
+%
+% \begin{macrocode}
+\def\split@init#1{%
+ \node[scale=\split@scale,
+ inner sep=0pt,
+ outer sep=0pt,
+ anchor=north west,
+ transform shape](b){\includegraphics{#1}};
+ \split@getboard{b}
+ %x
+ \split@tmp=\split@blrx cm\advance\split@tmp by -\split@bulx%
+ \wg@pt@to@cm{\split@tmp}\edef\split@bw{\pgfmathresult}%
+ \pgfmathparse{abs(\split@bw)}\edef\split@bw{\pgfmathresult}%
+ %
+ \split@tmp=\split@buly cm\advance\split@tmp by -\split@blry%
+ \wg@pt@to@cm{\split@tmp}\edef\split@bh{\pgfmathresult}%
+ \pgfmathparse{abs(\split@bh)}\edef\split@bh{\pgfmathresult}%
+ %
+ \wg@pt@to@cm{\paperwidth}\edef\split@pw{\pgfmathresult}%
+ \wg@pt@to@cm{\paperheight}\edef\split@ph{\pgfmathresult}%
+ %
+ \wg@pt@to@cm{\textwidth}\edef\split@ew{\pgfmathresult}%
+ \wg@pt@to@cm{\textheight}\edef\split@eh{\pgfmathresult}%
+ %
+ \hex@dbg{1}{Board:
+ (\split@bulx,\split@buly)(\split@blrx,\split@blry) \split@bw x\split@bh
+ ^^JPaper: \split@pw x\split@ph
+ ^^JEffective: \split@ew x\split@eh
+ }
+ \tikzset{
+ split/paper size/.style={
+ shape=rectangle,
+ minimum width=\paperwidth,
+ minimum height=\paperheight,
+ split/paper outline,
+ },
+ split/effective size/.style={
+ shape=rectangle,
+ minimum width=\textwidth,
+ minimum height=\textheight,
+ split/effective outline},
+ split/board size/.style={
+ shape=rectangle,
+ minimum width=\split@bw cm,
+ minimum height=\split@bh cm,
+ split/board outline}}
+ \node[board/.try,split/board size,anchor=north west] {};
+}
+% \end{macrocode}
+%
+% Calculate effective sheet sizes from sheet dimensions and the
+% defined margin.
+%
+% \begin{macrocode}
+\def\split@text@dim#1{%
+ \textwidth=\paperwidth%
+ \textheight=\paperheight%
+ \advance\textwidth by -#1cm%
+ \advance\textwidth by -#1cm%
+ \advance\textheight by -#1cm%
+ \advance\textheight by -#1cm%
+ \global\textwidth=\textwidth%
+ \global\textheight=\textheight%
+}
+% \end{macrocode}
+%
+% Options for the \cs{splitboard} macro.
+%
+% \begin{macrocode}
+\newif\ifsplit@standalone\split@standalonetrue
+\tikzset{%
+ split/.search also={/tikz},%
+ split/.cd,%
+ margin/.store in=\split@margin,
+ paper/.is choice,%
+ paper/a4/.code={%
+ \hex@dbg{3}{A4 paper for split}%
+ \global\paperwidth=21cm%
+ \global\paperheight=29.7cm%
+ \split@text@dim{\split@margin}},
+ paper/a3/.code={%
+ \hex@dbg{3}{A3 paper for split}%
+ \global\paperheight=42cm%
+ \global\paperwidth=29.7cm%
+ \split@text@dim{\split@margin}},
+ paper/letter/.code={%
+ \hex@dbg{3}{Letter paper for split}
+ \paperheight=27.9cm,%
+ \paperwidth=21.6cm,%
+ \split@text@dim{\split@margin}},%
+ paper/tabloid/.code={%
+ \hex@dbg{3}{Tabloid paper for split}%
+ \paperheight=43.2cm,%
+ \paperwidth=27.9cm,%
+ \split@text@dim{\split@margin}},
+ landscape/.code={%
+ \hex@dbg{3}{Landscape option for split}
+ \split@tmp=\paperheight
+ \global\paperheight=\paperwidth
+ \global\paperwidth=\split@tmp
+ \split@tmp=\textheight
+ \global\textheight=\textwidth
+ \global\textwidth=\split@tmp},
+ standalone/.is if=split@standalone,
+ scale/.store in=\split@scale,
+ output/.store in=\split@out,
+ ncol/.store in=\split@ncol,
+ nrow/.store in=\split@nrow,
+ overlap/.store in=\split@ov, % Centimeter, no unit
+ image/.store in=\split@img,
+ paper/.default=a4, paper/.initial=a4,
+ margin/.default=.6, margin/.initial=.6,
+ ncol/.default=0, ncol/.initial=0,
+ nrow/.default=0, nrow/.initial=0,
+ overlap/.default=2, overlap/.initial=2,
+ image/.default=board, image/.initial=board,
+ output/.default=\jobname_out,
+ standalone/.default=true,
+ scale/.default=1,
+}
+% \end{macrocode}
+%
+% The actual macro. The argument is key-value pairs of options.
+%
+% \begin{macrocode}
+\def\splitboard#1{%
+ \pgfkeys{/tikz/split/.cd,%
+ standalone,%
+ output,%
+ margin,%
+ paper,%
+ image,%
+ overlap,%
+ scale,%
+ ncol,%
+ nrow,%
+ #1}
+ \hex@dbg{1}{%
+ Paper: `\the\paperwidth'x`\the\paperheight'
+ ^^JEffective: `\the\textwidth'x`\the\textheight'
+ ^^JNcols: `\split@ncol'
+ ^^JNrows: `\split@nrow'
+ ^^JOverlap: `\split@ov' cm}
+ \split@header{\split@out}
+ \begin{tikzpicture}
+ \split@init{\split@img}
+ \split@getinit{%
+ \split@nrow}{%
+ \split@ncol}{%
+ \split@ov}{\split@eh}{\split@ew}{\split@bh}{\split@bw}
+ \node[split/effective size,
+ above left=\dy and \dx of b.north west,
+ anchor=north west] (c1r1) {};
+ \node[split/paper size] at (c1r1) {};
+ %
+ \foreach \r [remember=\r as \pr (initially 0)] in {1,...,\split@nrow}{%
+ \ifnum\r>1
+ \hex@dbg{3}{Placing first column of row `\r'}
+ \node[split/effective size,
+ below=-\split@ov cm of c1r\pr.south west,anchor=north west] (c1r\r){};
+ \node[split/paper size] at (c1r\r) {};
+ \fi
+ \foreach \c [remember=\c as \pc (initially 1)] in {2,...,\split@ncol}{%
+ \ifnum\c>\split@ncol\else%
+ \ifnum\c>\pc
+ \hex@dbg{3}{Placing column `\c' (`\pc') of row `\r'}
+ \node[split/effective size,
+ right=-\split@ov cm of c\pc r\r.north east,anchor=north west]
+ (c\c r\r) {};
+ \node[split/paper size] at (c\c r\r) {};
+ \fi
+ \fi
+ }
+ }
+ \foreach \r [remember=\r as \pr (initially 0)] in {1,...,\split@nrow}{%
+ \foreach \c [remember=\c as \pc (initially 0)] in {1,...,\split@ncol}{%
+ \split@getcoords{\c}{\r}{\split@ov cm}}}
+ \end{tikzpicture}
+ \split@footer
+}
+% \end{macrocode}
+%
+% Macro used by the written file.
+%
+%
+% \begin{enumerate}
+% \item first coordinate (e.g., \spec{(hex ak:c=C,r=17)})
+% \item second coordinate (e.g., \spec{(hex ak:c=M,r=33)})
+% \item Crop mark left
+% \item Crop mark right
+% \item Crop mark bottom
+% \item Crop mark top
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\segment(#1)(#2)#3#4#5#6{%
+ \begin{tikzpicture}%
+ \begin{scope}
+ \clip (#1) rectangle (#2);
+ \node[scale=\boardscale,
+ inner sep=0pt,
+ outer sep=0pt,
+ anchor=north west,
+ transform shape]{\includegraphics{\boardfile}};
+ \end{scope}
+ \pgfinterruptboundingbox
+ \draw(#3,#6)--++( 0.0, 0.3);
+ \draw(#3,#6)--++(-0.3, 0.0);
+ \draw(#3,#5)--++( 0.0,-0.3);
+ \draw(#3,#5)--++(-0.3, 0.0);
+ \draw(#4,#6)--++( 0.0, 0.3);
+ \draw(#4,#6)--++( 0.3, 0.0);
+ \draw(#4,#5)--++( 0.0,-0.3);
+ \draw(#4,#5)--++( 0.3, 0.0);
+ \endpgfinterruptboundingbox
+ \end{tikzpicture}%
+ \cleardoublepage}%
+% \end{macrocode}
+%
+%
+%
+%
+% \iffalse
+%</hex>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/hex/terrain.dtx b/macros/latex/contrib/wargame/source/hex/terrain.dtx
index 42155ca5c9..4c486adf77 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain.dtx
@@ -47,7 +47,7 @@
pic/.default=,
image/.default=,
code/.default=,
- clip/.default,
+ clip/.default=,
}
\iffalse
\tikzset{
@@ -111,8 +111,9 @@
% \begin{macrocode}
\@ifundefined{hex@t@clip}{\let\hex@t@clip\empty}{}
\ifx\hex@t@clip\empty\else%
+ \edef\hex@t@cc{\hex@t@clip}%
\def\hex@t@c{}
- \foreach \c in \hex@t@clip{%
+ \foreach \c in \hex@t@cc{%
\hex@dbg{5}{Clipping to `\c'}
\expandafter\wg@pic\c\@endwg@pic {}{\wg@tmpa,\wg@tmpb}{%
save path=\hex@t@tmp}%
@@ -132,8 +133,13 @@
%% macros are undefined, define them to be empty
\@ifundefined{hex@t@pic}{\let\hex@t@pic\empty}{}
\@ifundefined{hex@t@image}{\let\hex@t@image\empty}{}
+ \@ifundefined{hex@t@code}{\let\hex@t@code\empty}{}
+ \@ifundefined{hex@t@code}{\let\hex@t@code\empty}{}
% \end{macrocode}
%
+% \begin{macrocode}
+ \ifx\hex@t@code\empty\else\hex@t@code\fi%
+% \end{macrocode}
% First we check if we have not got terrain images, but terrain
% pictures. If we have that, we process these in turn. Note, the
% user can give options to each terrain picture by preceding the
@@ -147,7 +153,8 @@
% We have pictures
\hex@dbg{5}{Terrain pictures}%
\pgfpointorigin\wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
- \wg@pic@all{\hex@t@pic}{}{\the\wg@tmpa,\the\wg@tmpb}{}%
+ \foreach \i in \hex@t@pic{%
+ \wg@pic@all{\i}{}{\the\wg@tmpa,\the\wg@tmpb}{}}%
\fi% We have pictures.
% \end{macrocode}
%
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/beach.dtx b/macros/latex/contrib/wargame/source/hex/terrain/beach.dtx
index 98e990c15c..a6a6905e1a 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/beach.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/beach.dtx
@@ -21,10 +21,14 @@
% \end{macrocode}
% \end{TikzKey}
%
-% Now for the actual patterns. We go in the same order as above ---
-% i.e, we start with the beach pattern. This is rather long.
-%
% \begin{TikzKey}{hex/terrain/beach}
+% Now for the actual patterns. We go in the same order as above ---
+% i.e, we start with the beach pattern. This is rather long.
+%
+% \begin{center}
+% \includegraphics{wargame.beach}
+% \end{center}
+%
% \begin{macrocode}
\ifhex@terrain@pic
\tikzset{
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/city.dtx b/macros/latex/contrib/wargame/source/hex/terrain/city.dtx
index 1d373ea19d..0f5f88eea6 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/city.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/city.dtx
@@ -5,6 +5,9 @@
% \begin{TikzKey}{hex/terrain/city}
% And finally a city
%
+% \begin{center}
+% \includegraphics{wargame.city}
+% \end{center}
%
% \begin{macrocode}
\ifhex@terrain@pic
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx b/macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx
index ee15f5ce78..ededa87541 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/light_woods.dtx
@@ -19,6 +19,10 @@
% \begin{TikzKey}{hex/terrain/light woods}
% Next, we have light woods.
%
+% \begin{center}
+% \includegraphics{wargame.light_woods}
+% \end{center}
+%
% \begin{macrocode}
\ifhex@terrain@pic
\tikzset{
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx b/macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx
index 04f935bd92..f80b991e27 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/mountains.dtx
@@ -21,6 +21,10 @@
% And the mountains pattern. This is the same as the beach pattern,
% only filled with a darker brown colour.
%
+% \begin{center}
+% \includegraphics{wargame.mountains}
+% \end{center}
+%
% \begin{macrocode}
\ifhex@terrain@pic
\tikzset{
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/rough.dtx b/macros/latex/contrib/wargame/source/hex/terrain/rough.dtx
index fe716add2f..a5fd0d6a06 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/rough.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/rough.dtx
@@ -19,6 +19,10 @@
% \begin{TikzKey}{hex/terrain/rough}
% Roughs. Again, a bit long.
%
+% \begin{center}
+% \includegraphics{wargame.rough}
+% \end{center}
+%
%
% \begin{macrocode}
\ifhex@terrain@pic
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx b/macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx
index b361789fa3..57ad7e9e65 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/swamp.dtx
@@ -18,6 +18,10 @@
% \begin{TikzKey}{hex/terrain/swamp}
% Swamps. This is probably the shortest of the terrain patterns.
%
+% \begin{center}
+% \includegraphics{wargame.swamp}
+% \end{center}
+%
% \begin{macrocode}
\ifhex@terrain@pic
\tikzset{
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/town.dtx b/macros/latex/contrib/wargame/source/hex/terrain/town.dtx
index 1186b54c81..5956583ba6 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/town.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/town.dtx
@@ -5,6 +5,10 @@
% \begin{TikzKey}{hex/terrain/town}
% A town.
%
+% \begin{center}
+% \includegraphics{wargame.town}
+% \end{center}
+%
%
% \begin{macrocode}
\ifhex@terrain@pic
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/village.dtx b/macros/latex/contrib/wargame/source/hex/terrain/village.dtx
index 837b92642c..8aeddb2b9d 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/village.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/village.dtx
@@ -9,6 +9,10 @@
% houses, and separate styles for regular and small roads. Note
% that we draw using the stroke colour for roads and houses.
%
+% \begin{center}
+% \includegraphics{wargame.village}
+% \end{center}
+%
% \begin{macrocode}
\ifhex@terrain@pic
\tikzset{
diff --git a/macros/latex/contrib/wargame/source/hex/terrain/woods.dtx b/macros/latex/contrib/wargame/source/hex/terrain/woods.dtx
index 9b0d08499b..a8faccddf3 100644
--- a/macros/latex/contrib/wargame/source/hex/terrain/woods.dtx
+++ b/macros/latex/contrib/wargame/source/hex/terrain/woods.dtx
@@ -19,6 +19,10 @@
% \begin{TikzKey}{hex/terrain/woods}
% Regular woods.
%
+% \begin{center}
+% \includegraphics{wargame.woods}
+% \end{center}
+%
% \begin{macrocode}
\ifhex@terrain@pic
\tikzset{
diff --git a/macros/latex/contrib/wargame/source/hex/towns.dtx b/macros/latex/contrib/wargame/source/hex/towns.dtx
index a73c5eed5c..222b5f58da 100644
--- a/macros/latex/contrib/wargame/source/hex/towns.dtx
+++ b/macros/latex/contrib/wargame/source/hex/towns.dtx
@@ -13,6 +13,7 @@
\tikzset{%
hex/town/.style={
scale line widths,
+ solid,
thin,
fill=pgfstrokecolor,
color=pgfstrokecolor},
@@ -21,7 +22,7 @@
shape=rectangle,
above right=.1,
color=pgfstrokecolor,
- font=\sffamily\normalsize}
+ font=\sffamily\fontsize{11}{13}\selectfont}
}
% \end{macrocode}
%
@@ -46,11 +47,11 @@
%
% \begin{macrocode}
\tikzset{%
- hex/town/village/.pic={\path[fill,pic actions] circle(.1);},
- hex/town/town/.pic={\path[fill,pic actions] circle(.2);},
+ hex/town/village/.pic={\path[fill,solid,pic actions] circle(.1);},
+ hex/town/town/.pic={\path[fill,solid,pic actions] circle(.2);},
hex/town/city/.pic={%
- \path[fill,pic actions] circle(.25);
- \path[draw,pic actions] circle(.35);}
+ \path[fill,solid,pic actions] circle(.25);
+ \path[draw,solid,pic actions] circle(.35);}
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx b/macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
index d8d0c4fba7..22cb99cc97 100644
--- a/macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
+++ b/macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
@@ -419,6 +419,30 @@
}
}
% \end{macrocode}
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly none}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\northeast{%
+ \pgf@x=1.5\n@to@pp@r%
+ \pgf@y=\n@to@pp@r}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south east}{\northeast\pgf@y=-\pgf@y}
+ \anchor{south west}{\northeast\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \anchor{south}{\northeast\pgf@x=0cm\pgf@y=-\pgf@y}
+ \anchor{east}{\northeast\pgf@y=0cm}
+ \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{}
+ \behindforegroundpath{}
+}
+% \end{macrocode}
% \end{NatoAppFrame}
%
% \iffalse
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/shape.dtx b/macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
index 029be911b7..3e6d41821d 100644
--- a/macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
+++ b/macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
@@ -81,6 +81,7 @@
command/space/.style={cmd=space},
command/sub surface/.style={cmd=sub surface},
command/sea mine/.style={cmd=sub surface},
+ command/none/.style={cmd=none},
}
% \end{macrocode}
% \end{NatoAppKey}
@@ -164,7 +165,11 @@
%
% \begin{macrocode}
\tikzset{
- natoapp6c/parts/.style={draw,shape=rectangle,transform shape},
+ natoapp6c/parts/.style={
+ scale line widths,
+ draw,
+ shape=rectangle,
+ transform shape},
natoapp6c/main/.style={natoapp6c/parts},
natoapp6c/modifiers/.style={natoapp6c/parts,scale=.6},
natoapp6c/lower/.style={natoapp6c/parts},
@@ -607,13 +612,21 @@
%
% \begin{macrocode}
\providecommand\natoappmark[2][]{%
- \tikz[scale=.25,#1]{\natoapp[faction=friendly,command=land,main=#2]}}
+ \tikz[transform shape,
+ scale=.25,
+ baseline=(natoapp6c mark.south east),
+ natoapp6c mark/.try,
+ #1]{%1
+ \node[draw,transform
+ shape,natoapp6c={faction=friendly,command=land,
+ main=#2}] (natoapp6c mark){}}}
+% \natoapp[faction=friendly,command=land,main=#2](0,0)(natoapp6c mark)}}
% \end{macrocode}
% \end{Macro}
%
% \begin{Macro}{\echelonmark}
% \begin{macrocode}
-\providecommand\echelonmark[2][]{\tikz[scale=.5,#1]{%
+\providecommand\echelonmark[2][]{\tikz[transform shape,scale=.5,#1]{%
\pic[scale line widths,line width=1pt] {natoapp6c/s/echelon=#2};}}
% \end{macrocode}
% \end{Macro}
diff --git a/macros/latex/contrib/wargame/source/util/bb.dtx b/macros/latex/contrib/wargame/source/util/bb.dtx
new file mode 100644
index 0000000000..83e72da7a9
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/util/bb.dtx
@@ -0,0 +1,226 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*utils>
+% \fi
+%
+% \subsubsection{Bounding boxes}
+%
+% Bounding box dimensions
+%
+%
+% \begin{macrocode}
+\newdimen\wg@bb@minx
+\newdimen\wg@bb@miny
+\newdimen\wg@bb@maxx
+\newdimen\wg@bb@maxy
+% \end{macrocode}
+%
+%
+%
+% Enable or disable bounding box tracking
+%
+% \begin{macrocode}
+\newif\ifwg@notrelevantforpathsize\wg@notrelevantforpathsizefalse
+% \end{macrocode}
+%
+%
+% \begin{Macro}{wg@resetbb}
+% Reset the bounding box tracking dimensions
+%
+% \begin{macrocode}
+\def\wg@resetbb{%
+ \global\wg@bb@minx=16000pt\relax%
+ \global\wg@bb@miny=16000pt\relax%
+ \global\wg@bb@maxx=-16000pt\relax%
+ \global\wg@bb@maxy=-16000pt\relax%
+}
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\old@pgf@protocolsize}
+% Save PGF's bounding box algorithm
+%
+% \begin{macrocode}
+\let\old@pgf@protocolsize\pgf@protocolsizes
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\wg@protocolsizes}
+% Our bounding box algorithm
+%
+% \begin{macrocode}
+\def\wg@protocolsizes#1#2{%
+ \old@pgf@protocolsize{#1}{#2}
+ \ifwg@notrelevantforpathsize\else%
+ \ifdim#1<\wg@bb@minx\global\wg@bb@minx#1\fi%
+ \ifdim#1>\wg@bb@maxx\global\wg@bb@maxx#1\fi%
+ \ifdim#2<\wg@bb@miny\global\wg@bb@miny#2\fi%
+ \ifdim#2>\wg@bb@maxy\global\wg@bb@maxy#2\fi%
+ \fi
+}
+% \end{macrocode}
+% \end{Macro}
+%
+% % \begin{environment}{getbbl}
+% Environment that tracks the local bounding box
+%
+% \begin{macrocode}
+\newenvironment{getbbl}{%
+ \wg@resetbb%
+ \wg@notrelevantforpathsizefalse%
+ \global\let\pgf@protocolsizes\wg@protocolsizes}{%
+ \gdef\pgf@sh@ns@L{rectangle}
+ \gdef\pgf@sh@np@L{%
+ \def\southwest{\pgfqpoint{\the\wg@bb@minx}{\the\wg@bb@miny}}%
+ \def\northeast{\pgfqpoint{\the\wg@bb@maxx}{\the\wg@bb@maxy}}%
+ }
+ \gdef\pgf@sh@nt@L{{1}{0}{0}{1}{0pt}{0pt}}
+ \gdef\pgf@sh@pi@L{\pgfpictureid}
+ \global\let\pgf@protocolsizes\old@pgf@protocolsize
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{getbb}
+% Environment to track global bounding box
+%
+% \begin{macrocode}
+\newenvironment{getbb}{%
+ \wg@resetbb%
+ \wg@notrelevantforpathsizefalse%
+ \global\let\pgf@protocolsizes\wg@protocolsizes}{%
+ \gdef\pgf@sh@ns@M{rectangle}
+ \gdef\pgf@sh@np@M{%
+ \def\southwest{\pgfqpoint{\the\wg@bb@minx}{\the\wg@bb@miny}}%
+ \def\northeast{\pgfqpoint{\the\wg@bb@maxx}{\the\wg@bb@maxy}}%
+ }
+ \gdef\pgf@sh@nt@M{{1}{0}{0}{1}{0pt}{0pt}}
+ % \pgfgettransform\pgf@temp%
+ % \xdef\pgf@sh@nt@M{\pgf@temp}
+ % \pgfgettransformentries{\wg@tmp@a}{\wg@tmp@b}{\wg@tmp@c}{\wg@tmp@d}{\pgf@temp}{\pgf@temp}
+ % \message{^^JTransform of M: \meaning\pgf@temp}
+ % \xdef\pgf@sh@nt@M{{\wg@tmp@a}{\wg@tmp@b}{\wg@tmp@c}{\wg@tmp@d}{0pt}{0pt}}%
+ % \message{^^JTransform of M: \meaning\pgf@sh@nt@M}
+ \gdef\pgf@sh@pi@M{\pgfpictureid}
+ \global\let\pgf@protocolsizes\old@pgf@protocolsize
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+%
+% \subsubsection{Some utilities to get bounding boxes and the like}
+%
+%
+% All coordinates, and such are recorded in centimetres. It is worth
+% remembering that the Tikz coordinate system has the $y$ axis point
+% upward, while typical image software has the $y$ axis point down.
+% \texttt{pdftocairo} typically assumes a 150 PPI (pixels-per-inch)
+% resolution.
+%
+% That means that scaling factor becomes
+%
+% $$
+% \frac{150\mathrm{pixel}}{2.54\mathrm{cm}} =
+% 59.055\frac{\mathrm{pixel}}{\mathrm{cm}}
+% $$
+%
+% \iffalse Using definition in terms of printers feet - the one to
+% use!
+%
+% PNG: 1674 x 1101
+% PDF: "lower left": [-0.02107,-0.02107],
+% "upper right": [28.31705,18.60843]
+% Width: 28.31705+0.02107 = 28.33812
+% Height: 18.60843+0.02107 = 18.62950
+% Pixel / cm: 1674 / 28.33812 = 59.07237318495369488166
+% 1101 / 18.62950 = 59.09981480984460130438
+% Average = 59.08609399739914809302
+%
+% Calculated = 150 / 2.54 = 59.05511811023622047244
+%
+% Using 1/72.27
+%
+% "lower left": [-0.02109,-0.02109],
+% "upper right": [28.321,18.61102]
+% Width: 28.321+0.02109=28.34209
+% Height: 18.61102+0.02109=18.63211
+% Pixel / cm: 1674 / 28.34209 = 59.06409866033168337267
+% 1101 / 18.63211 = 59.09153606328000425072
+% Average = 59.07781736180584381169
+% \fi
+%
+% Since we want to write all dimensions in centimetres, we need to be
+% able to convert \texttt{pt} dimensions to centimetres. We make two
+% macros to do that for us.
+%
+% The exact definition of 1pt is
+%
+% $$1\,\mathrm{pt} = \frac{249}{250}12"\frac{1}{864}=\frac{83}{6000}1"
+% = 0.03513\overline{6}$$
+%
+% \begin{macrocode}
+% 2.54 / 72.27 = .03514598035145980351
+% \def\wg@pt@to@cm#1{\pgfmathparse{#1 * 0.0351460}}
+\def\wg@pt@to@cm#1{\pgfmathparse{#1 * 0.0351367}}
+\def\ptpoint@to@cm#1#2{%
+ \wg@pt@to@cm{#1}\edef\x{\pgfmathresult}%
+ \wg@pt@to@cm{#2}\edef\y{\pgfmathresult}}
+% \end{macrocode}
+%
+% The next macro gets an anchors coordinates and stores them (in units
+% of centimetres) in \cs{tmp@x} and \cs{tmp@y}
+%
+% \begin{macrocode}
+\def\wg@get@nchor#1#2{%
+ \wg@dbg{2}{Get anchor coordinates #1.#2}
+ \pgfpointanchor{#1}{#2}%
+ \wg@dbg{2}{ `\the\pgf@x',`\the\pgf@y'}
+ \pgfgetlastxy\tmp@x\tmp@y%
+ \wg@dbg{2}{ `\tmp@x',`\tmp@y'}
+ \wg@pt@to@cm{\tmp@x}\edef\tmp@x{\pgfmathresult}
+ \wg@pt@to@cm{\tmp@y}\edef\tmp@y{\pgfmathresult}
+}
+% \end{macrocode}
+%
+% This does the same as above, but transform to the global coordinate
+% system.
+%
+% \begin{macrocode}
+\def\wg@get@global@nchor#1#2{%
+ \pgfpointanchor{#1}{#2}%
+ \pgfgetlastxy\tmp@x\tmp@y%
+ \pgfpointtransformed{\pgfpoint{\tmp@x}{\tmp@y}}
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ %% \message{^^JAnchor #1.#2 @ (\the\pgf@xa,\the\pgf@ya)}
+ \wg@pt@to@cm{\the\pgf@xa}\edef\tmp@x{\pgfmathresult}
+ \wg@pt@to@cm{\the\pgf@ya}\edef\tmp@y{\pgfmathresult}
+}
+% \end{macrocode}
+%
+% This records the bounding box given by a named node. The result is
+% stored in the macros \cs{llx}, \cs{lly}, \cs{urx}, and \cs{ury}.
+%
+% \begin{macrocode}
+\def\wg@get@bb#1{%
+ \wg@get@nchor{#1}{south west}
+ \edef\llx{\tmp@x}
+ \edef\lly{\tmp@y}
+ \wg@get@nchor{#1}{north east}
+ \edef\urx{\tmp@x}
+ \edef\ury{\tmp@y}
+}
+\def\wglogbb#1{%
+ \wg@get@bb{#1}%
+ \message{^^J`#1' BB: (\llx,\lly) x (\urx,\ury)^^J}}
+% \end{macrocode}
+%
+%
+%
+% \iffalse
+% --------------------------------------------------------------------
+%</utils>
+%\fi
diff --git a/macros/latex/contrib/wargame/source/util/compound.dtx b/macros/latex/contrib/wargame/source/util/compound.dtx
new file mode 100644
index 0000000000..aca6800644
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/util/compound.dtx
@@ -0,0 +1,242 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*utils>
+% \fi
+%
+% \subsubsection{Pictures in compound nodes}
+%
+% \begin{Macro}{\wg@pic}
+% The macro \cs{wg@pic} will render a \texttt{pic}. This is used by
+% the \texttt{natoapp6cs}, \texttt{chit}, and \texttt{hex} node
+% shapes extensively.
+%
+% The arguments are
+% \begin{enumerate}
+% \item Prefix
+% \item Position
+% \item Fixed options
+% \item User options
+% \item Picture.
+% \end{enumerate}
+%
+% That is, the macro expects calls like
+% \begin{Syntax}
+% \cs{wg@pic}\oarg{options}\meta{picture}\cs{@endwg@pic}\marg{prefix}\marg{position}\marg{options}
+% \end{Syntax}
+%
+% Note the \cs{@endwg@pic} at the end of the call to swallow up
+% \meta{picture}. Typically this macro is used as
+%
+% \begin{Syntax}
+% \cs{edef}\cs{args}\{\meta{something}\}
+% \cs{expandafter}\cs{wg@pic}\cs{args}\cs{@endwg@pic}\marg{prefix}\parg{position}\marg{options}
+% \end{Syntax}
+%
+% where \meta{something} typically expands to \oarg{user
+% option}\meta{picture}
+%
+% First, the top-level macro \cs{wg@pic} that looks for user
+% options.
+%
+% \begin{macrocode}
+\def\wg@pic{%
+ \@ifnextchar[{\wg@@pic}{\wg@@pic[]}%]
+}
+% \end{macrocode}
+%
+% This macro then forwards to \cs{wg@@pic} to gobble up
+% \meta{picture}.
+%
+% \begin{enumerate}
+% \item User options
+% \item Arguments
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\wg@@pic[#1]#2\@endwg@pic{%
+ \wg@dbg{2}{Options: `#1', picture: `#2'}%
+ \wg@@@pic{#1}{#2}%
+}
+% \end{macrocode}
+%
+% \begin{enumerate}
+% \item User options
+% \item Arguments
+% \item Prefix
+% \item Coordinates
+% \item Fixed options
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\wg@@@pic#1#2#3#4#5{%
+ \ifx|#2|\wg@dbg{3}{No picture given}%
+ \else%
+ \wg@dbg{3}{^^JWG Pic:
+ ^^J User options: #1
+ ^^J Picture: #2
+ ^^J Prefix: #3
+ ^^J Coordinates: #4
+ ^^J Fixed options: #5}%
+ % \wg@dbg{2}{\string\pic[#5,#1] at (#4) {#3#2}}%
+ \pic[#5,#1] at (#4) {#3#2};%
+ \ifwg@s@ve%
+ \pgf@relevantforpicturesizetrue%
+ \begin{getbbl}%
+ \pic[draw=none,fill=none,transform shape] at (#4) {#3#2};%
+ \end{getbbl}%
+ \wg@dbg{5}{Clipping to local bounding box}%
+ \clip (L.south west) rectangle (L.north east);%
+ \pgf@relevantforpicturesizefalse \global\wg@s@vefalse%
+ \fi
+ \fi%
+ \wg@dbg{3}{End of WG Pic}
+}
+% \end{macrocode}
+% \end{Macro}
+%
+%
+% \begin{Macro}{\wg@pic@all}
+%
+% This macro sets all pictures in a list.
+%
+% \begin{enumerate}
+% \item List
+% \item Prefix
+% \item Position
+% \item Styles
+% \end{enumerate}
+%
+%
+% \begin{macrocode}
+\def\wg@pic@all#1#2#3#4{%
+ \wg@dbg{2}{WG picture loop
+ ^^J List: \meaning#1
+ ^^J Prefix: `#2'
+ ^^J Position: `#3'
+ ^^J Styles: `#4'}
+ \foreach \p in #1{%
+ \wg@dbg{2}{WG picture element: \meaning\p}%
+ \expandafter\wg@pic\p\@endwg@pic {#2}{#3}{#4}%
+ }%
+}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+%
+% \subsubsection{Nodes in compound nodes}
+%
+% \begin{Macro}{\wg@node}
+% The macro \cs{wg@node} will render a \texttt{node}. This can be
+% used by the \texttt{natoapp6cs}, \texttt{chit}, and \texttt{hex}
+% node shapes.
+%
+% The arguments are
+% \begin{enumerate}
+% \item Prefix
+% \item Position
+% \item Fixed options
+% \item User options
+% \item Body.
+% \end{enumerate}
+%
+% That is, the macro expects calls like
+% \begin{Syntax}
+% \cs{wg@node}\oarg{options}\meta{body}\cs{@endwg@node}\marg{prefix}\marg{position}\marg{options}
+% \end{Syntax}
+%
+% Note the \cs{@endwg@node} at the end of the call to swallow up
+% \meta{body}. Typically this macro is used as
+%
+% \begin{Syntax}
+% \cs{edef}\cs{args}\{\meta{something}\}
+% \cs{expandafter}\cs{wg@node}\cs{args}\cs{@endwg@node}\marg{prefix}\parg{position}\marg{options}
+% \end{Syntax}
+%
+% where \meta{something} typically expands to \oarg{user
+% option}\meta{body}
+%
+% First, the top-level macro \cs{wg@node} that looks for user
+% options.
+%
+% \begin{macrocode}
+\def\wg@node{%
+ \@ifnextchar[{\wg@@node}{\wg@@node[]}%]
+}
+% \end{macrocode}
+%
+% This macro then forwards to \cs{wg@@node} to gobble up
+% \meta{body}.
+%
+% \begin{enumerate}
+% \item User options
+% \item Arguments
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\wg@@node[#1]#2\@endwg@node{%
+ \wg@dbg{2}{Options: `#1', body: `#2'}%
+ \wg@@@node{#1}{#2}%
+}
+% \end{macrocode}
+%
+% \begin{enumerate}
+% \item User options
+% \item Arguments
+% \item Prefix
+% \item Coordinates
+% \item Fixed options
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\wg@@@node#1#2#3#4#5{%
+ \ifx|#2|\wg@dbg{3}{No body given}%
+ \else%
+ \wg@dbg{3}{^^JWG Pic:
+ ^^J User options: #1
+ ^^J Body: #2
+ ^^J Prefix: #3
+ ^^J Coordinates: #4
+ ^^J Fixed options: #5}%
+ % \wg@dbg{2}{\string\pic[#5,#1] at (#4) {#3#2}}%
+ \node[#5,#1] at (#4) {#3#2};%
+ \fi%
+ \wg@dbg{3}{End of WG Node}
+}
+% \end{macrocode}
+% \end{Macro}
+%
+%
+% \begin{Macro}{\wg@node@all}
+%
+% This macro sets all pictures in a list.
+%
+% \begin{enumerate}
+% \item List
+% \item Prefix
+% \item Position
+% \item Styles
+% \end{enumerate}
+%
+%
+% \begin{macrocode}
+\def\wg@node@all#1#2#3#4{%
+ \wg@dbg{2}{WG picture loop
+ ^^J List: \meaning#1
+ ^^J Prefix: `#2'
+ ^^J Position: `#3'
+ ^^J Styles: `#4'}
+ \foreach \p in #1{%
+ \wg@dbg{2}{WG picture element: \meaning\p}%
+ \expandafter\wg@node\p\@endwg@node {#2}{#3}{#4}%
+ }%
+}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% --------------------------------------------------------------------
+%</utils>
+%\fi
diff --git a/macros/latex/contrib/wargame/source/util/core.dtx b/macros/latex/contrib/wargame/source/util/core.dtx
index 1d95aa38c6..8ee6f84c85 100644
--- a/macros/latex/contrib/wargame/source/util/core.dtx
+++ b/macros/latex/contrib/wargame/source/util/core.dtx
@@ -12,1342 +12,20 @@
%<*utils>
%\fi
%
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-%
-% \subsubsection{Miscellaneous macros}
-%
-% \begin{Macro}{\wg@dbg}
-% Debugging support. The counter \cs{wargamedbglvl} sets the debug
-% level. The package code then uses \cs{wg@dbg} to print out
-% debugging messages. This macro takes two arguments --- the first
-% is the \emph{least} debug level at which the message is printed, and
-% the second is the message it self.
-%
-% \begin{macrocode}
-\newcount\wargamedbglvl\wargamedbglvl=0
-\def\wg@dbg#1#2{%
- \ifnum#1>\wargamedbglvl\relax\else\message{^^J#2}\fi}
-% \end{macrocode}
-% \end{Macro}
-%
-% \begin{Macro}{\wg@addto@macro}
-%
-% The macro \cs{wg@addto@macro}\marg{macro}\marg{other} adds the
-% definition of the macro \meta{other} to the macro \meta{macro}.
-% This uses the \cs{toks} trick of storing the \emph{tokens} of the
-% definition of a \meta{macro} and \meta{other} into \spec{@} and
-% expanding that token into the definition of \meta{macro}.
-% Effectively, this means that the top-level definition of
-% \meta{macro} and \meta{other} are expanded (i.e., macros used in
-% the definition of either macro is \emph{not} expanded) and then
-% that becomes the new definition of \meta{macro}.
-%
-% We will use this macro to do \emph{shallow} definitions of macros
-% to contain keys and such.
-%
-% \begin{macrocode}
-\long\def\wg@addto@macro#1#2{%
- \begingroup
- \toks@\expandafter\expandafter\expandafter{\expandafter#1#2}%
- \xdef#1{\the\toks@}%
- \endgroup}
-% \end{macrocode}
-% \end{Macro}
-%
-%
-% \begin{Macro}{\wg@sub@nchor}
-% Get anchor from sub node. We cannot use \cs{pgfpointanchor} since
-% that returns the anchor coordinates in the global coordinate
-% system.
-%
-% \begin{macrocode}
-\def\wg@sub@nchor#1#2{%
- \wg@dbg{3}{^^JGet `#2' in `#1'}%
- \@ifundefined{pgf@sh@ns@#1}{%
- \pgf@x=0cm\pgf@y=0cm}{%
- \pgf@process{%
- \csname pgf@sh@ma@#1\endcsname% MW
- \csname pgf@sh@np@#1\endcsname%
- \pgf@sh@reanchor{\csname pgf@sh@ns@#1\endcsname}{#2}}}%
- \wg@dbg{10}{-> \the\pgf@x,\the\pgf@y}%
-}
-% \end{macrocode}
-% \end{Macro}
-%
-%
-% Scratch dimensions
-%
-% \begin{macrocode}
-\newdimen\wg@tmpa
-\newdimen\wg@tmpb
-\newdimen\wg@tmpc
-\newdimen\wg@tmpd
-% \end{macrocode}
-%
-%
-% Macro to easy restore a saved path
-%
-% \begin{macrocode}
-\def\settosave#1{
- \pgfsyssoftpath@setcurrentpath{#1}}
-% \end{macrocode}
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-%
-% \subsubsection{Pictures in compound nodes}
-%
-% \begin{Macro}{\wg@pic}
-% The macro \cs{wg@pic} will render a \texttt{pic}. This is used by
-% the \texttt{natoapp6cs}, \texttt{chit}, and \texttt{hex} node
-% shapes extensively.
-%
-% The arguments are
-% \begin{enumerate}
-% \item Prefix
-% \item Position
-% \item Fixed options
-% \item User options
-% \item Picture.
-% \end{enumerate}
-%
-% That is, the macro expects calls like
-% \begin{Syntax}
-% \cs{wg@pic}\oarg{options}\meta{picture}\cs{@endwg@pic}\marg{prefix}\marg{position}\marg{options}
-% \end{Syntax}
-%
-% Note the \cs{@endwg@pic} at the end of the call to swallow up
-% \meta{picture}. Typically this macro is used as
-%
-% \begin{Syntax}
-% \cs{edef}\cs{args}\{\meta{something}\}
-% \cs{expandafter}\cs{wg@pic}\cs{args}\cs{@endwg@pic}\marg{prefix}\parg{position}\marg{options}
-% \end{Syntax}
-%
-% where \meta{something} typically expands to \oarg{user
-% option}\meta{picture}
-%
-% First, the top-level macro \cs{wg@pic} that looks for user
-% options.
-%
-% \begin{macrocode}
-\def\wg@pic{%
- \@ifnextchar[{\wg@@pic}{\wg@@pic[]}%]
-}
-% \end{macrocode}
-%
-% This macro then forwards to \cs{wg@@pic} to gobble up
-% \meta{picture}.
-%
-% \begin{enumerate}
-% \item User options
-% \item Arguments
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\wg@@pic[#1]#2\@endwg@pic{%
- \wg@dbg{2}{Options: `#1', picture: `#2'}%
- \wg@@@pic{#1}{#2}%
-}
-% \end{macrocode}
-%
-% \begin{enumerate}
-% \item User options
-% \item Arguments
-% \item Prefix
-% \item Coordinates
-% \item Fixed options
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\wg@@@pic#1#2#3#4#5{%
- \ifx|#2|\wg@dbg{3}{No picture given}%
- \else%
- \wg@dbg{3}{^^JWG Pic:
- ^^J User options: #1
- ^^J Picture: #2
- ^^J Prefix: #3
- ^^J Coordinates: #4
- ^^J Fixed options: #5}%
- % \wg@dbg{2}{\string\pic[#5,#1] at (#4) {#3#2}}%
- \pic[#5,#1] at (#4) {#3#2};%
- \ifwg@s@ve%
- \pgf@relevantforpicturesizetrue%
- \begin{getbbl}%
- \pic[draw=none,fill=none,transform shape] at (#4) {#3#2};%
- \end{getbbl}%
- \wg@dbg{5}{Clipping to local bounding box}%
- \clip (L.south west) rectangle (L.north east);%
- \pgf@relevantforpicturesizefalse \global\wg@s@vefalse%
- \fi
- \fi%
- \wg@dbg{3}{End of WG Pic}
-}
-% \end{macrocode}
-% \end{Macro}
-%
-%
-% \begin{Macro}{\wg@pic@all}
-%
-% This macro sets all pictures in a list.
-%
-% \begin{enumerate}
-% \item List
-% \item Prefix
-% \item Position
-% \item Styles
-% \end{enumerate}
-%
-%
-% \begin{macrocode}
-\def\wg@pic@all#1#2#3#4{%
- \wg@dbg{2}{WG picture loop
- ^^J List: \meaning#1
- ^^J Prefix: `#2'
- ^^J Position: `#3'
- ^^J Styles: `#4'}
- \foreach \p in #1{%
- \wg@dbg{2}{WG picture element: \meaning\p}%
- \expandafter\wg@pic\p\@endwg@pic {#2}{#3}{#4}%
- }%
-}
-% \end{macrocode}
-% \end{Macro}
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-%
-% \subsubsection{Nodes in compound nodes}
-%
-% \begin{Macro}{\wg@node}
-% The macro \cs{wg@node} will render a \texttt{node}. This can be
-% used by the \texttt{natoapp6cs}, \texttt{chit}, and \texttt{hex}
-% node shapes.
-%
-% The arguments are
-% \begin{enumerate}
-% \item Prefix
-% \item Position
-% \item Fixed options
-% \item User options
-% \item Body.
-% \end{enumerate}
-%
-% That is, the macro expects calls like
-% \begin{Syntax}
-% \cs{wg@node}\oarg{options}\meta{body}\cs{@endwg@node}\marg{prefix}\marg{position}\marg{options}
-% \end{Syntax}
-%
-% Note the \cs{@endwg@node} at the end of the call to swallow up
-% \meta{body}. Typically this macro is used as
-%
-% \begin{Syntax}
-% \cs{edef}\cs{args}\{\meta{something}\}
-% \cs{expandafter}\cs{wg@node}\cs{args}\cs{@endwg@node}\marg{prefix}\parg{position}\marg{options}
-% \end{Syntax}
-%
-% where \meta{something} typically expands to \oarg{user
-% option}\meta{body}
-%
-% First, the top-level macro \cs{wg@node} that looks for user
-% options.
-%
-% \begin{macrocode}
-\def\wg@node{%
- \@ifnextchar[{\wg@@node}{\wg@@node[]}%]
-}
-% \end{macrocode}
-%
-% This macro then forwards to \cs{wg@@node} to gobble up
-% \meta{body}.
-%
-% \begin{enumerate}
-% \item User options
-% \item Arguments
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\wg@@node[#1]#2\@endwg@node{%
- \wg@dbg{2}{Options: `#1', body: `#2'}%
- \wg@@@node{#1}{#2}%
-}
-% \end{macrocode}
-%
-% \begin{enumerate}
-% \item User options
-% \item Arguments
-% \item Prefix
-% \item Coordinates
-% \item Fixed options
-% \end{enumerate}
-%
-% \begin{macrocode}
-\def\wg@@@node#1#2#3#4#5{%
- \ifx|#2|\wg@dbg{3}{No body given}%
- \else%
- \wg@dbg{3}{^^JWG Pic:
- ^^J User options: #1
- ^^J Body: #2
- ^^J Prefix: #3
- ^^J Coordinates: #4
- ^^J Fixed options: #5}%
- % \wg@dbg{2}{\string\pic[#5,#1] at (#4) {#3#2}}%
- \node[#5,#1] at (#4) {#3#2};%
- \fi%
- \wg@dbg{3}{End of WG Node}
-}
-% \end{macrocode}
-% \end{Macro}
-%
-%
-% \begin{Macro}{\wg@node@all}
-%
-% This macro sets all pictures in a list.
-%
-% \begin{enumerate}
-% \item List
-% \item Prefix
-% \item Position
-% \item Styles
-% \end{enumerate}
-%
-%
-% \begin{macrocode}
-\def\wg@node@all#1#2#3#4{%
- \wg@dbg{2}{WG picture loop
- ^^J List: \meaning#1
- ^^J Prefix: `#2'
- ^^J Position: `#3'
- ^^J Styles: `#4'}
- \foreach \p in #1{%
- \wg@dbg{2}{WG picture element: \meaning\p}%
- \expandafter\wg@node\p\@endwg@node {#2}{#3}{#4}%
- }%
-}
-% \end{macrocode}
-% \end{Macro}
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-%
-% \subsubsection{Bounding boxes}
-%
-% Bounding box dimensions
-%
-%
-% \begin{macrocode}
-\newdimen\wg@bb@minx
-\newdimen\wg@bb@miny
-\newdimen\wg@bb@maxx
-\newdimen\wg@bb@maxy
-% \end{macrocode}
-%
-%
-%
-% Enable or disable bounding box tracking
-%
-% \begin{macrocode}
-\newif\ifwg@notrelevantforpathsize\wg@notrelevantforpathsizefalse
-% \end{macrocode}
-%
-%
-% \begin{Macro}{wg@resetbb}
-% Reset the bounding box tracking dimensions
-%
-% \begin{macrocode}
-\def\wg@resetbb{%
- \global\wg@bb@minx=16000pt\relax%
- \global\wg@bb@miny=16000pt\relax%
- \global\wg@bb@maxx=-16000pt\relax%
- \global\wg@bb@maxy=-16000pt\relax%
-}
-% \end{macrocode}
-% \end{Macro}
-%
-% \begin{Macro}{\old@pgf@protocolsize}
-% Save PGF's bounding box algorithm
-%
-% \begin{macrocode}
-\let\old@pgf@protocolsize\pgf@protocolsizes
-% \end{macrocode}
-% \end{Macro}
-%
-% \begin{Macro}{\wg@protocolsizes}
-% Our bounding box algorithm
-%
-% \begin{macrocode}
-\def\wg@protocolsizes#1#2{%
- \old@pgf@protocolsize{#1}{#2}
- \ifwg@notrelevantforpathsize\else%
- \ifdim#1<\wg@bb@minx\global\wg@bb@minx#1\fi%
- \ifdim#1>\wg@bb@maxx\global\wg@bb@maxx#1\fi%
- \ifdim#2<\wg@bb@miny\global\wg@bb@miny#2\fi%
- \ifdim#2>\wg@bb@maxy\global\wg@bb@maxy#2\fi%
- \fi
-}
-% \end{macrocode}
-% \end{Macro}
-%
-% % \begin{environment}{getbbl}
-% Environment that tracks the local bounding box
-%
-% \begin{macrocode}
-\newenvironment{getbbl}{%
- \wg@resetbb%
- \wg@notrelevantforpathsizefalse%
- \global\let\pgf@protocolsizes\wg@protocolsizes}{%
- \gdef\pgf@sh@ns@L{rectangle}
- \gdef\pgf@sh@np@L{%
- \def\southwest{\pgfqpoint{\the\wg@bb@minx}{\the\wg@bb@miny}}%
- \def\northeast{\pgfqpoint{\the\wg@bb@maxx}{\the\wg@bb@maxy}}%
- }
- \gdef\pgf@sh@nt@L{{1}{0}{0}{1}{0pt}{0pt}}
- \gdef\pgf@sh@pi@L{\pgfpictureid}
- \global\let\pgf@protocolsizes\old@pgf@protocolsize
-}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{getbb}
-% Environment to track global bounding box
-%
-% \begin{macrocode}
-\newenvironment{getbb}{%
- \wg@resetbb%
- \wg@notrelevantforpathsizefalse%
- \global\let\pgf@protocolsizes\wg@protocolsizes}{%
- \gdef\pgf@sh@ns@M{rectangle}
- \gdef\pgf@sh@np@M{%
- \def\southwest{\pgfqpoint{\the\wg@bb@minx}{\the\wg@bb@miny}}%
- \def\northeast{\pgfqpoint{\the\wg@bb@maxx}{\the\wg@bb@maxy}}%
- }
- \gdef\pgf@sh@nt@M{{1}{0}{0}{1}{0pt}{0pt}}
- % \pgfgettransform\pgf@temp%
- % \xdef\pgf@sh@nt@M{\pgf@temp}
- % \pgfgettransformentries{\wg@tmp@a}{\wg@tmp@b}{\wg@tmp@c}{\wg@tmp@d}{\pgf@temp}{\pgf@temp}
- % \message{^^JTransform of M: \meaning\pgf@temp}
- % \xdef\pgf@sh@nt@M{{\wg@tmp@a}{\wg@tmp@b}{\wg@tmp@c}{\wg@tmp@d}{0pt}{0pt}}%
- % \message{^^JTransform of M: \meaning\pgf@sh@nt@M}
- \gdef\pgf@sh@pi@M{\pgfpictureid}
- \global\let\pgf@protocolsizes\old@pgf@protocolsize
-}
-% \end{macrocode}
-% \end{environment}
+% \input{util/misc.dtx}
+% \input{util/compound.dtx}
+% \input{util/bb.dtx}
+% \input{util/tikz.dtx}
+% \input{util/randomid.dtx}
+% \input{util/icons.dtx}
%
% \iffalse
-% --------------------------------------------------------------------
-% \fi
-%
-% \subsubsection{Other Tikz utilities}
-%
-% \begin{TikzKey}{tikz/reverseclip}
-%
-% A reverse clipping path. This is used to cut out stuff outside of
-% path defined.
-%
-% \begin{macrocode}
-\tikzstyle{reverseclip}=[insert path={(current bounding box.north east) --
- (current bounding box.south east) --
- (current bounding box.south west) --
- (current bounding box.north west) --
- (current bounding box.north east)}]
-% \end{macrocode}
-% \end{TikzKey}
-%
-% \begin{TikzKey}{tikz/clip even odd rule}
-% A reverse clipping path
-%
-% \begin{macrocode}
-\tikzset{
- clip even odd rule/.code={\pgfseteorule}, % Credit to Andrew Stacey
-}
-% \end{macrocode}
-% \end{TikzKey}
-%
-%
-% \begin{TikzKey}{tikz/invclip}
-%
-% Inverse clipping. This should be an option \emph{after} the path to
-% do the inverse clipping by. This works by adding a \emph{large}
-% (page) path to the current path, and then use that as clipping.
-%
-% \begin{macrocode}
-\tikzset{
- invclip/.style={
- clip,insert path=
- [clip even odd rule]{
- [reset cm](-\maxdimen,-\maxdimen)rectangle(\maxdimen,\maxdimen)
- }
- },
-}
-% \end{macrocode}
-% \end{TikzKey}
-%
-% \begin{TikzKey}{save clip}
-%
-% An option for use with sub-elements of NATO App 6(c) or chit
-% nodes. This will save the current path as a clipping path for the
-% next paths to be drawn in the sub-element
-%
-% \begin{macrocode}
-\newif\ifwg@s@ve\wg@s@vefalse
-\tikzset{
- save clip/.is choice,
- save clip/true/.code={\global\wg@s@vetrue},
- save clip/false/.code={\global\wg@s@vefalse},
- save clip/.default={true},
- save clip/.initial={false},
-}
-% \end{macrocode}
-% \end{TikzKey}
-%
-% \begin{TikzKey}{scale line widths}
-%
-% Scales any line width specified in the node options.
-%
-% Use like
-%
-% \begin{verbatim}
-% \tikzset{
-% some/.style={
-% scale line widths,
-% line width=1pt}
-% }
-% \end{verbatim}
-%
-% Note that the order is important.
-%
-% \begin{macrocode}
-\tikzset{
- scale line widths/.style={%
- /utils/exec=\def\tikz@semiaddlinewidth##1{%
- \pgfgettransformentries{%
- \wg@jaca}{%
- \wg@jacb}{%
- \wg@jacc}{%
- \wg@jacd}{%
- \wg@tmp}{%
- \wg@tmp}%
- \pgfmathsetmacro{\wg@jac}{sqrt(abs(\wg@jaca*\wg@jacd-\wg@jacb*\wg@jacc))}%
- \wg@dbg{4}{Scaling line width ##1 by \wg@jac}
- \pgfmathsetmacro{\wg@lw}{\wg@jac*##1}%
- \wg@dbg{4}{Scaled ##1 -> \wg@lw}
- \tikz@addoption{\pgfsetlinewidth{\wg@lw pt}}%
- \wg@dbg{4}{Added scaled option \wg@lw}
- \pgfmathsetlength\pgflinewidth{\wg@lw pt}
- \wg@dbg{4}{Did set line width \wg@lw pt}
- }},
- relative line width/.style={%
- /utils/exec=\def\tikz@semiaddlinewidth##1{%
- \wg@dbg{4}{Relative line width #1 times ##1}%
- \pgfmathsetmacro{\wg@lv}{#1*##1}%
- \tikz@addoption{\pgfsetlinewidth{\wg@lw pt}}%
- \pgfmathsetlength\pgflinewidth{\wg@lw pt}}}
-}
-% \end{macrocode}
-% \end{TikzKey}
-%
-% \begin{TikzKey}{sub pic actions}
-%
-% This is key that propagates actions to sub pictures of pictures.
-% The normal \texttt{pic actions} cannot be used as it causes an
-% infinite loop.
-%
-% \begin{macrocode}
-\tikzset{
- sub pic actions/.code={%
- \tikz@picmode%
- \edef\opts{%
- \iftikz@mode@draw draw,\else draw=none,\fi
- \iftikz@mode@fill fill\else fill=none\fi}
- \wg@dbg{5}{^^JSub Mode: \meaning\tikz@picmode \meaning\opts}
- \pgfset{/tikz/.cd}
- \pgfkeysalsofrom{\opts}
- }}
-% \end{macrocode}
-% \end{TikzKey}
-%
-% \begin{TikzKey}{wg/debug show}
-%
-% Show debugging information
-%
-% \begin{macrocode}
-\tikzset{
- wg/debug show/.code={%
- \extractcolorspec{pgfstrokecolor}{\wg@tmp@fg}
- \def\wg@tmp@bg{none}
- \@ifundefinedcolor{pgffillcolor}{}{
- \extractcolorspec{pgffillcolor}{\wg@tmp@bg}}
- \begingroup
- \tikz@mode
- \wargamedbglvl=#1
- \wg@dbg{3}{Drawing with w/stroke `\wg@tmp@fg'
- (\tikz@strokecolor,\iftikz@mode@draw\else not\space\fi drawing)
- and fill `\wg@tmp@bg' (\tikz@fillcolor,\iftikz@mode@fill\else
- not\space\fi filling)}
- \endgroup
- }
-}
-% \end{macrocode}
-% \end{TikzKey}
-%
-%
-% \iffalse
-% --------------------------------------------------------------------
-% \fi
-%
-% \subsubsection{Random IDs}
-%
-%
-% \begin{macrocode}
-\def\wg@r@ndom@id{%
- \def\wg@uuid{}
- \foreach \i in {1,...,8}{%
- \pgfmathparse{Hex(random(0,15))}
- \xdef\wg@uuid{\wg@uuid\pgfmathresult}}}
-% \end{macrocode}
-%
-% \iffalse
%</utils>
%\fi
-% \iffalse
-% ====================================================================
-% \fi
-%
-% \subsection{The \texttt{wgexport} class}
-% \label{sec:impl:util}
-%
-% This document class is used for exporting game component to be used
-% in a VASSAL module
-% libraries.
-%
-% \iffalse
-%<*exportcls>
-%\fi
-%
-% Class identification and load \texttt{wargame} package
-%
-% \begin{macrocode}
-\ProvidesClass{wgexport}
-\PassOptionsToClass{multi=tikzpicture,varwidth=false}{standalone}
-\DeclareOption{noterrainpic}{%
- \PassOptionsToPackage{\CurrentOption}{wargame}}
-\DeclareOption{terrainpic}{%
- \PassOptionsToPackage{\CurrentOption}{wargame}}
-\DeclareOption*{%
- \PassOptionsToClass{\CurrentOption}{standalone}}
-\ProcessOptions\relax
-\LoadClass{standalone}
-\RequirePackage{wargame}
-% \end{macrocode}
-%
-% We need a few utilities before we get to the actual environment.
-% First, we need a tools to write out literal left and right curly
-% braces. We do a bit of catcode hackery to accomplish that.
-%
-% \begin{macrocode}
-\begingroup
-\catcode`\^^I=12
-\def\@tabchar{^^I}
-\catcode`<=1 \catcode`>=2
-\catcode`{=12 \catcode`}=12
-\gdef\@lbchar<{>
-\gdef\@rbchar<}>
-\endgroup
-% \end{macrocode}
-%
-% Above, we temporarily set the tab, and left and right curly brace
-% characters to be regular letters (12), and the catcodes of less than
-% and greater than to be those of left and right curly braces
-% respectively. We then define the macros \cs{@tabchar},
-% \cs{@lbchar}, and \cs{@rbchar} to produce literal characters.
-% \LaTeX already has \cs{@percentchar}.
-%
-% Everything we do should go inside this environment. The single
-% optional argument is the file name stem of the output JSON file.
-%
-% \begin{macrocode}
-\newenvironment{imagelist}[1][\jobname]{%
- \newwrite\mk@out%
- \def\mk@i{}%
- \def\mk@w{\immediate\write\mk@out}%
- \immediate\openout\mk@out=#1.json
- \mk@w{[}
-}{
- \mk@w{\mk@i \@lbchar "name":"End of list", "category": "<<eol>>",
- "subcategory": "" \@rbchar }
- \mk@w{]}
- \immediate\closeout\mk@out
-}
-% \end{macrocode}
-%
-%
-% Preceed all images (\textsf{tikzpicture}) with this command
-%
-% First argument is the name of the image. This can be anything.
-% Note that for counters, if the name ends in \texttt{flipped} then it
-% is considered the backside of a counter.
-%
-% Second argument is the type of image. Recognised types are
-%
-% \begin{itemize}
-% \item \texttt{board} for boards
-% \item \texttt{oob} for OOBs
-% \item \texttt{chart} for charts
-% \item \texttt{counter} for counters
-% \item \texttt{front} for front page
-% \end{itemize}
-%
-% Other types can be used, and the images will be exported, but the
-% Python script pays no particular attention to those then. Use for
-% example to prepare images for help or the like.
-%
-% The third argument is the sub type. This is most relevant for the
-% counters. Sub types can be anything, but since the counters will
-% receive different prototypes based on the sub type, it makes sense
-% to divide into sub types a la
-%
-% \begin{itemize}
-% \item factions
-% \item common markers
-% \end{itemize}
-%
-% The faction sub types should just be the name of the faction.
-% E.g., Allies, Axis, Soviet, NATO, Warsaw Pact. Spaces should not
-% matter.
-%
-% For common markers, there are a few names that are recognised
-% specifically by the Python script. These are
-%
-% \begin{itemize}
-% \item \texttt{common}
-% \item \texttt{all}
-% \item \texttt{marker}
-% \item \texttt{markers}
-% \end{itemize}
-%
-% Counters that has these sub-types will no be considered to belong
-% to any faction.
-%
-% Note that the Python script uses the faction names to guess the
-% players of the game, and uses them in several places.
-%
-%
-% \begin{macrocode}
-\def\info{%
- \@ifstar{\@@info{,}}{\@@info{\@rbchar,}}}
-\def\@@info#1#2#3#4{%
- \chit@dbg{2}{Making image `#2' of type `#3'/`#4' on page \thepage}%
- \mk@w{ \@lbchar}%
- \mk@w{ \space "name": "#2",}%
- \mk@w{ \space "category": "#3",}%
- \mk@w{ \space "subcategory": "#4", }%
- \mk@w{ \space "number": \thepage #1}%
- \let\oldmk@i\mk@i%
- \ifx#1,\relax\edef\mk@i{\mk@i\space\space}\fi}
-\def\end@info{%
- \let\mk@i\oldmk@i%
- \mk@w{ \space \@rbchar,}}
-% \end{macrocode}
-%
-% Make separate images for each counter (single sided).
-%
-% \begin{macrocode}
-\newcommand\chitimages[2][]{%
- \begingroup%
- \let\chit@report\do@chit@report%
- \let\natoapp@report\do@natoapp@report%
- \chit@dbg{2}{chits to make images of `#2'}%
- \foreach[count=\ti from 0] \t/\x in #2{%
- \ifx\t\empty\else% Ignore empty rows
- \chit@dbg{5}{^^JSubcategory: `\x' (default `#1')}
- \ifx\t\x\def\x{#1}\fi% Take sub-category or default
- \foreach \u/\m in \t{%
- \ifx\u\empty\else% Ignore empty cells
- \chit@dbg{2}{Next chit `\u' with possible multiplicity `\m'}%
- \ifx\m\@empty\def\m{1}\fi% If not multiplicity defined
- \ifx\u\m\def\m{1}\fi% If the same as unit
- \chit@dbg{2}{Next chit `\u' multiplicity `\m'}%
- %% We only make one copy of the chit, since we can duplicate
- %% it in VASSAL
- \info*{\u}{counter}{\x}
- \begin{tikzpicture}
- \chit[\u=\ti]%
- \end{tikzpicture}
- \end@info%
- %% \foreach \n in {1,...,\m}{% Make a number of copies
- %% \ifx\u\chit@blank%
- %% \chit@dbg{3}{Ignoring blank chit:\u}%
- %% \else%
- %% \info{\u}{counter}{#2}
- %% \begin{tikzpicture}
- %% \chit[\u=\ti](\c,\r)%
- %% \end{tikzpicture}
- %% \fi%
- %% }%
- \fi%
- }%
- \chit@dbg{2}{End of inner loop}%
- \fi%
- }%
- \chit@dbg{2}{End of outer loop}%
- \endgroup%
-}
-% \end{macrocode}
-%
-% Make separate images for each counter (double sided). The back-side
-% counters must be defined by append `\texttt{ flipped}' the front
-% face name
-%
-% \begin{macrocode}
-\newcommand\doublechitimages[2][]{%
- \begingroup%
- \let\chit@report\do@chit@report%
- \let\natoapp@report\do@natoapp@report%
- \foreach[count=\ti from 0] \t/\x in #2{%
- \ifx\t\empty\else% Ignore empty rows
- \chit@dbg{5}{^^JSubcategory: `\x' (default `#1')}
- \ifx\t\x\def\x{#1}\fi% Take sub-category or default
- \foreach \u/\m in \t{%
- \ifx\u\empty\else% Ignore empty cells
- \chit@dbg{2}{Next chit `\u' with possible multiplicity `\m'}%
- \ifx\m\@empty\def\m{1}\fi% If not multiplicity defined
- \ifx\u\m\def\m{1}\fi% If the same as unit
- \chit@dbg{2}{Next chit `\u' multiplicity `\m'}%
- %% Flipped chit
- \edef\s{\u\space flipped}%
- %% We only make one copy of the chit, since we can duplicate
- %% it in VASSAL
- \info*{\u}{counter}{\x}%
- \begin{tikzpicture}%
- \chit[\u=\ti]%
- \end{tikzpicture}%
- \end@info%
- \info*{\s}{counter}{\x}%
- \begin{tikzpicture}%
- \chit[\s=\ti]%
- \end{tikzpicture}%
- \end@info%
- %% \foreach \n in {1,...,\m}{% Make a number of copies
- %% \ifx\u\chit@blank%
- %% \chit@dbg{3}{Ignoring blank chit:\u}%
- %% \else%
- %% \info{\u}{counter}{#2}
- %% \begin{tikzpicture}
- %% \chit[\u=\ti](\c,\r)%
- %% \end{tikzpicture}
- %% \fi%
- %% }%
- \fi%
- }%
- \fi%
- }%
- \endgroup%
-}
-% \end{macrocode}
-%
-% Special for boards, we have the environment \textsf{boardimage}.
-% Like \cs{info} we must specify the name and sub-category of the
-% board, but the category is assumed to be \texttt{board} (though the
-% optional argument can specify a different category).
-%
-% Within this environment some specific styles are defined that allows
-% the user to specify VASSAL zones on the board. For this to work
-% properly, the parent \textsf{tikzpicture} \emph{must} have the style
-% \texttt{zoned}. This style will record the bounding box of the
-% picture which we will need to calculate VASSAL coordinates later
-% on.
-%
-% Other styles are \texttt{zone scope}, to be applied to
-% \texttt{scope}s in the picture, and \texttt{zone path} to be applied
-% to \texttt{path}s (or \cs{draw}, \cs{fill}, or the like) in the
-% picture. These will record coordinates of these elements in side
-% the picture. The Python script will then define VASSAL zones based
-% on these coordinates.
%
-% For \texttt{zone scope} applied to a \texttt{scope}, what is
-% recorded are
+% \input{util/export.dtx}
%
-% \begin{itemize}
-% \item The current coordinate transformation matrix
-% \item The current translation
-% \item The bounding box, within the current transformation and
-% translation.
-% \end{itemize}
-%
-% To define a zone in the board, simply enclose it in a
-%
-% \begin{verbatim}
-% \begin{scope}[zone scope=name]
-% ...
-% \end{scope}
-% \end{verbatim}
-%
-% The \meta{name} will be the name of the scope. If this contains the
-% sub-string \texttt{hex} (upper, lower, or mixed case), then the zone
-% will get a hex grid with numbering attached to it.
-%
-% If the \meta{name} contains the sub-string \texttt{turn} (any case),
-% then it is assumed to be a turn track and a rectangular grid will be
-% attached. The column and row separator will be set to \texttt{T},
-% so that it won't collide with the main zone. Similar if \meta{name}
-% contains \texttt{oob}, except the separator is set to \texttt{O}.
-%
-% If \meta{name} contains the sub-string \texttt{pool}, then it is
-% assumed to be a pool of counters, and \emph{no} grid is attached.
-%
-% For \texttt{zone path} applied to a \texttt{path}, what is recorded
-% is the path coordinates (as straight line segments) in the global
-% coordinate system.
-%
-% Both styles take one argument --- the name of the zone. If that
-% name contains the sub-string \texttt{hex} anywhere in the name, then
-% the zone is assumed to contain a hex grid. Otherwise, a rectangular
-% grid (of fixed size) will be applied to it.
-%
-% The environment \texttt{boardimage} also records the coordinate
-% options currently in use (keys \texttt{hex/first row is},
-% \texttt{hex/row direction is}, and so on), as well as the current
-% label option (as defined by \texttt{every hex} or \texttt{every hex
-% node}).
-%
-% All coordinates, and such are recorded in centimetres. It is worth
-% remembering that the Tikz coordinate system has the $y$ axis point
-% upward, while typical image software has the $y$ axis point down.
-% \texttt{pdftocairo} typically assumes a 150 PPI (pixels-per-inch)
-% resolution.
-%
-% That means that scaling factor becomes
-%
-% $$\frac{150\mathrm{pixel}}{2.54\mathrm{cm}}=59.055\frac{\mathrm{pixel}}{\mathrm{cm}}$$
-%
% \iffalse
-% Using definition in terms of printers feet - the one to use!
-%
-% PNG: 1674 x 1101
-% PDF: "lower left": [-0.02107,-0.02107],
-% "upper right": [28.31705,18.60843]
-% Width: 28.31705+0.02107 = 28.33812
-% Height: 18.60843+0.02107 = 18.62950
-% Pixel / cm: 1674 / 28.33812 = 59.07237318495369488166
-% 1101 / 18.62950 = 59.09981480984460130438
-% Average = 59.08609399739914809302
-%
-% Calculated = 150 / 2.54 = 59.05511811023622047244
-%
-% Using 1/72.27
-%
-% "lower left": [-0.02109,-0.02109],
-% "upper right": [28.321,18.61102]
-% Width: 28.321+0.02109=28.34209
-% Height: 18.61102+0.02109=18.63211
-% Pixel / cm: 1674 / 28.34209 = 59.06409866033168337267
-% 1101 / 18.63211 = 59.09153606328000425072
-% Average = 59.07781736180584381169
+% EOF
% \fi
-%
-% The information extracted is written to the
-% \cs{jobname}\texttt{.json} file as a sub-object (with name given by
-% the first optional argument) of the image object. In that way, we
-% can later on easily get the information from our catalogue of
-% images.
-%
-% Note, the styles \texttt{zoned}, \texttt{zone scope}, and
-% \texttt{zone path} are defined in \texttt{wargame} to be dummies so
-% that one can have them in the definition of the board without
-% impact.
-%
-% Since we want to write all dimensions in centimetres, we need to be
-% able to convert \texttt{pt} dimensions to centimetres. We make two
-% macros to do that for us.
-%
-% The exact definition of 1pt is
-%
-% $$1\,\mathrm{pt} = \frac{249}{250}12"\frac{1}{864}=\frac{83}{6000}1"
-% = 0.03513\overline{6}$$
-%
-% \begin{macrocode}
-% 2.54 / 72.27 = .03514598035145980351
-% \def\pt@to@cm#1{\pgfmathparse{#1 * 0.0351460}}
-\def\pt@to@cm#1{\pgfmathparse{#1 * 0.0351367}}
-\def\ptpoint@to@cm#1#2{%
- \pt@to@cm{#1}\edef\x{\pgfmathresult}%
- \pt@to@cm{#2}\edef\y{\pgfmathresult}}
-% \end{macrocode}
-% \begin{macrocode}
-\def\mk@get@anchor#1#2{%
- \pgfpointanchor{#1}{#2}%
- \pgfgetlastxy\tmp@x\tmp@y%
- \pt@to@cm{\tmp@x}\edef\tmp@x{\pgfmathresult}
- \pt@to@cm{\tmp@y}\edef\tmp@y{\pgfmathresult}
-}
-\def\mk@get@global@anchor#1#2{%
- \pgfpointanchor{#1}{#2}%
- \pgfgetlastxy\tmp@x\tmp@y%
- \pgfpointtransformed{\pgfpoint{\tmp@x}{\tmp@y}}
- \pgf@xa=\pgf@x
- \pgf@ya=\pgf@y
- \pt@to@cm{\the\pgf@xa}\edef\tmp@x{\pgfmathresult}
- \pt@to@cm{\the\pgf@ya}\edef\tmp@y{\pgfmathresult}
-}
-\def\get@bb#1{%
- % \pgfpointanchor{#1}{south west}%
- % \pgfgetlastxy\tmp@llx\tmp@lly%
- % \pgfpointanchor{#1}{north east}%
- % \pgfgetlastxy\tmp@urx\tmp@ury%
- % \pt@to@cm{\tmp@llx}\edef\llx{\pgfmathresult}
- % \pt@to@cm{\tmp@lly}\edef\lly{\pgfmathresult}
- % \pt@to@cm{\tmp@urx}\edef\urx{\pgfmathresult}
- % \pt@to@cm{\tmp@ury}\edef\ury{\pgfmathresult}
- \mk@get@anchor{#1}{south west}
- \edef\llx{\tmp@x}
- \edef\lly{\tmp@y}
- \mk@get@anchor{#1}{north east}
- \edef\urx{\tmp@x}
- \edef\ury{\tmp@y}
-}
-% \end{macrocode}
-% \begin{macrocode}
-\def\mk@transform{%
- \pgfgettransformentries{\mxx}{\mxy}{\myx}{\myy}{\ptdx}{\ptdy}
- \pt@to@cm{\ptdx}\edef\dx{\pgfmathresult}
- \pt@to@cm{\ptdy}\edef\dy{\pgfmathresult}
- \mk@w{ \mk@i "xx": \mxx,}
- \mk@w{ \mk@i "xy": \mxy,}
- \mk@w{ \mk@i "yx": \myx,}
- \mk@w{ \mk@i "yy": \myy,}
- \mk@w{ \mk@i "dx": \dx,}
- \mk@w{ \mk@i "dy": \dy,}
-}
-% \end{macrocode}
-% \begin{macrocode}
-\def\mk@bb#1{%
- \get@bb{#1}
- \mk@w{ \mk@i "lower left": [\llx,\lly],}
- \mk@w{ \mk@i "upper right": [\urx,\ury],}
- \begingroup
- % \pgftransforminvert
- % \pgfpointanchor{#1}{south west}%
- % \pgfgetlastxy\tmp@llx\tmp@lly%
- % \pgfpointtransformed{\pgfpoint{\tmp@llx}{\tmp@lly}}
- % \pgf@xa=\pgf@x
- % \pgf@ya=\pgf@y
- % %
- % \pgfpointanchor{#1}{north east}%
- % \pgfgetlastxy\tmp@urx\tmp@ury%
- % \pgfgetlastxy\tmp@llx\tmp@lly%
- % \pgfpointtransformed{\pgfpoint{\tmp@urx}{\tmp@ury}}
- % \pgf@xb=\pgf@x
- % \pgf@yb=\pgf@y
- % \pt@to@cm{\the\pgf@xa}\edef\llx{\pgfmathresult}
- % \pt@to@cm{\the\pgf@ya}\edef\lly{\pgfmathresult}
- % \pt@to@cm{\the\pgf@xb}\edef\urx{\pgfmathresult}
- % \pt@to@cm{\the\pgf@yb}\edef\ury{\pgfmathresult}x
- \mk@get@global@anchor{#1}{south west}
- \mk@w{ \mk@i "global lower left": [\tmp@x,\tmp@y],}
- \mk@get@global@anchor{#1}{north east}
- \mk@w{ \mk@i "global upper right": [\tmp@x,\tmp@y]}
- \endgroup
-}
-\def\mk@pos#1(#2){%
- \hex@dbg{10}{^^JMarking `#2' with `#1' - start}
- \coordinate[transform shape] (tmp) at (#2) {};
- \mk@get@anchor{tmp}{center}
- \hex@dbg{3}{^^JMarking `#2' with `#1' - `\tmp@x',\tmp@y'}
- \tikzset{zone point={#1}{\tmp@x}{\tmp@y}}
-}
-% \end{macrocode}
-%
-% For the key \texttt{zone path} to work, we need to be able to record
-% the path as it moves along. To that end, we make a custom
-% decoration that will do that for us, and, once the path is finished,
-% write the path to our JSON file.
-%
-% \begin{macrocode}
-\pgfdeclaredecoration{record path construction}{initial}{%
- \state{initial}[width=0pt,next state=more]{
- \begingroup
- \pgf@decorate@inputsegment@first
- \ptpoint@to@cm{\the\pgf@x}{\the\pgf@y}
- \xdef\wg@path{[\x,\y]}
- \endgroup
- }%
- \state{more}[width=\pgfdecoratedinputsegmentremainingdistance]{%
- \begingroup
- \pgf@decorate@inputsegment@last
- \ptpoint@to@cm{\the\pgf@x}{\the\pgf@y}
- \xdef\wg@path{\wg@path,[\x,\y]}
- \endgroup
- }
- \state{final}{%
- \begingroup
- \pgf@decorate@inputsegment@last
- \ptpoint@to@cm{\the\pgf@x}{\the\pgf@y}
- \xdef\wg@path{\wg@path,[\x,\y]}
- \endgroup
- \mk@w{ \mk@i "zone path \wg@record@path@name": \@lbchar}
- \mk@w{ \mk@i\space "path": [\wg@path] \@rbchar,}
- }
-}%
-% \end{macrocode}
-%
-% Now we can make our environment
-%
-% The first thing we do is to use the \cs{info} macro to mark the
-% image. Then we open our JSON file. We make a short-hand macro for
-% writing to that file. The macro \cs{bd@i} records the current
-% indention (which is important in JSON)
-%
-% \begin{macrocode}
-\newenvironment{boardimage}[3][board]{%
- \def\bd@n{#2}
- \newcount\mk@point
- \mk@point=0
- \let\oomk@i\mk@i%
- \let\markpos\mk@pos%
-% \end{macrocode}
-%
-%
-% Then, to extract the label option, we make a dummy \texttt{node}
-% with the styles \texttt{every hex} and \texttt{every hex node}, so
-% we can extract that option.
-%
-% \begin{macrocode}
- \info{dummy}{<<dummy>>}{}%
- %\tikz{}%
- \tikz{\scoped[every hex/.try,every hex node/.try]{%
- \node[inner sep=0,outer sep=0]{%
- \global\let\mk@label\hex@label}}}%
-% \end{macrocode}
-%
-% The next thing we do is to make an object. The first things we put
-% in are the units used (``cm''), and the grid options.
-%
-% \begin{macrocode}
- \info*{#2}{#1}{#3}%
- \mk@w{ \mk@i "zones": \@lbchar}%
- \edef\mk@i{\mk@i\space}
- %% Everything is made into centimeters
- \mk@w{ \mk@i "units": "cm",}
- \@ifundefined{mk@label}{}{\mk@w{ \mk@i "labels": "\mk@label",}}
- %% Write out coordinate options as "coords" object
- \mk@w{ \mk@i"coords": \@lbchar}%
- \mk@w{ \mk@i "row": \@lbchar}%
- \mk@w{ \mk@i\space "offset": \hex@coords@row@off,}%
- \mk@w{ \mk@i\space "factor": \hex@coords@row@fac \@rbchar,}%
- \mk@w{ \mk@i "column": \@lbchar}%
- \mk@w{ \mk@i\space "offset": \hex@coords@col@off,}%
- \mk@w{ \mk@i\space "factor": \hex@coords@col@fac,}%
- \mk@w{ \mk@i\space "top short": "\hex@top@short@col",}%
- \mk@w{ \mk@i\space "bottom short": "\hex@bot@short@col" \@rbchar}%
- \mk@w{ \mk@i\@rbchar,}%
-% \end{macrocode}
-%
-% We then monkey-patch \cs{boardframe} to also output coordinates to
-% our JSON file. Note that this will probably be embedded in a
-% different object.
-%
-% \begin{macrocode}
- %%
- \let\oldbo@rdframe\bo@rdframe%
- \def\bo@rdframe[##1](##2)(##3){%
- \oldbo@rdframe[##1](##2)(##3)%
- \mk@w{ \mk@i"board frame": \@lbchar}
- \mk@w{ \mk@i\space "lower left": [\llx,\lly],}
- \mk@w{ \mk@i\space "upper right": [\urx,\ury],}
- \mk@w{ \mk@i\space "margin": \margin,}
- \mk@w{ \mk@i\space "width": \w,}
- \mk@w{ \mk@i\space "height": \h \@rbchar,}}%
-% \end{macrocode}
-%
-% Next, we make the style \texttt{zoned} to be applied to the
-% \texttt{tikzpicture} environment. This records the bounding box of
-% the full picture.
-%
-% \begin{macrocode}
- \tikzset{
- zoned/.code={% Apply to whole picture
- \pgfkeys{%
- % This needs to be done in the picture!
- /tikz/execute at end picture={%
- \mk@w{ \mk@i "zoned": \@lbchar}
- \mk@transform%
- \mk@bb{current bounding box}
- \mk@w{ \mk@i \@rbchar,}
- }
- }
- },
-% \end{macrocode}
-%
-% The next style is the \texttt{zone scope}. At the start of the
-% scope we record the current transformation matrix. Then we install
-% a handler to extract the bounding box at the end of the scope. Note
-% that we increase indention here.
-%
-% \begin{macrocode}
- zone scope/.code={%
- \mk@w{ \mk@i"zone scope ##1": \@lbchar}
- \let\omk@i\mk@i
- \edef\mk@i{\mk@i\space}
- \mk@transform%
- %\bd@w{ \@rbchar,}
- \gdef\wg@export@box{##1}%
- \pgfkeys{%
- /tikz/local bounding box=wg export box,
- /tikz/execute at end scope={
- \mk@bb{wg export box}
- \let\mk@i\omk@i
- \mk@w{ \mk@i\@rbchar,}},
- } % pgfkeys
- }, % zone scope
-% \end{macrocode}
-% The next style gets the global coordinates of the current (0,0)
-% point - f.ex. in a node - and outputs that
-% \begin{macrocode}
- zone point/.code n args={3}{
- \pgf@xa=##2 cm
- \pgf@ya=##3 cm
- \pgfpointtransformed{\pgfpoint{\pgf@xa}{\pgf@ya}}
- % \pgfpointtransformed{\pgfpoint{0pt}{0pt}}
- \pgf@xa=\pgf@x
- \pgf@ya=\pgf@y
- \pt@to@cm{\the\pgf@xa}\edef\px{\pgfmathresult}
- \pt@to@cm{\the\pgf@ya}\edef\py{\pgfmathresult}
- \advance\mk@point1
- \global\mk@point=\mk@point
- \mk@w{ \mk@i "point\the\mk@point": \@lbchar "name": "##1", "type": "point", "coords": [\px,\py]
- \@rbchar, }
- %\message{^^JZone point \the\mk@point\space ##1: ##2,##3 -> \px,\py}
- },
- zone oob point/.code n args={3}{
- \pgf@xa=##2 cm
- \pgf@ya=##3 cm
- \advance\pgf@xa.1cm
- \advance\pgf@ya.1cm
- \pgfpointtransformed{\pgfpoint{\pgf@xa}{\pgf@ya}}
- % \pgfpointtransformed{\pgfpoint{0pt}{0pt}}
- \pgf@xa=\pgf@x
- \pgf@ya=\pgf@y
- \pt@to@cm{\the\pgf@xa}\edef\px{\pgfmathresult}
- \pt@to@cm{\the\pgf@ya}\edef\py{\pgfmathresult}
- \advance\mk@point1
- \global\mk@point=\mk@point
- \mk@w{ \mk@i "point\the\mk@point": \@lbchar "name": "##1", "type": "point", "coords": [\px,\py]
- \@rbchar, }
- %\message{^^JZone point \the\mk@point\space ##1: ##2,##3 -> \px,\py}
- },
- zone global point/.code n args={3}{
- \advance\mk@point1
- \global\mk@point=\mk@point
- \mk@w{ \mk@i "point\the\mk@point": \@lbchar "name": "##1", "type": "point", "coords": [\px,\py]
- \@rbchar, }
- },
-% \end{macrocode}
-%
-% The \texttt{zone path} style is a bit more simple, but only because
-% the bulk of the work is done in a decoration. We need to be able to
-% pass a name to that decoration, s we make a key for that. The user
-% need not think about that though.
-%
-% \begin{macrocode}
- /pgf/decoration/record path name/.store in=\wg@record@path@name,
- zone path/.style={%
- postaction={decorate,decoration={
- record path construction,
- record path name=##1}}
- } % zone path
- }% tikzset
-}
-% \end{macrocode}
-%
-% That finishes the first part of the environment. At the end of the
-% environment, we simple write the name of the picture, and close our
-% JSON output.
-%
-% \begin{macrocode}
-{%
- \mk@w{ \mk@i "name": "\bd@n" }%
- \let\mk@i\oomk@i%
- \mk@w{ \mk@i\@rbchar}%
- \end@info%
-}
-% \end{macrocode}
-%
-%
-% TO BE DONE: We could add hooks to both the \texttt{hex} and
-% \texttt{chit} shapes that would allow us to write out the settings
-% for each of these. This would allow us to make data files that
-% contain the information available in the \LaTeX{} code. For
-% example, we could write a counters
-%
-% \begin{itemize}
-% \item Left and right identifiers
-% \item Upper left, upper right, lower left, and lower right
-% identifiers. (some care must be taken if these contains graphics
-% and not just text.)
-% \item Factors
-% \item NATO symbol
-% \begin{itemize}
-% \item Faction, command, echelon
-% \item Mains
-% \item Left, right, top, and bottom attributes and modifiers
-% \item Below attribute
-% \end{itemize}
-% \end{itemize}
-%
-% If one then assumed that for example the upper left corner holds the
-% start-up hex, then one could use that information.
-%
-% The code below exports the chit information to the JSON file. Not
-% sure how to use it though.
-%
-% \begin{macrocode}
-\tikzset{
- zone turn/.store in=\zone@turn,
- zone mult/.store in=\zone@mult
-}
-\def\do@chit@report{%
- \mk@w{ \mk@i "chit": \@lbchar}
- \@ifundefined{id}{} {\mk@w{ \mk@i\space "id": "\id", }}%
- \@ifundefined{chit@symbol}{} {\mk@w{ \mk@i\space "symbol": "true", }}%
- \@ifundefined{chit@full}{} {\mk@w{ \mk@i\space "full": "\chit@full", }}
- \@ifundefined{chit@factors}{} {\mk@w{ \mk@i\space "factors": "\chit@factors", }}%
- \@ifundefined{chit@left}{} {\mk@w{ \mk@i\space "left": "\chit@left", }}%
- \@ifundefined{chit@right}{} {\mk@w{ \mk@i\space "right": "\chit@right", }}%
- \@ifundefined{chit@upper@left}{} {\mk@w{ \mk@i\space "upper left": "\chit@upper@left", }}%
- \@ifundefined{chit@lower@left}{} {\mk@w{ \mk@i\space "lower left": "\chit@lower@left", }}%
- \@ifundefined{chit@upper@right}{}{\mk@w{ \mk@i\space "upper right": "\chit@upper@right", }}%
- \@ifundefined{chit@lower@right}{}{\mk@w{ \mk@i\space "lower right": "\chit@lower@right}", }%
- \mk@w{ \mk@i\space "end": 0}
- \@ifundefined{chit@symbol}{
- \mk@w{ \mk@i \@rbchar }
- }{
- \mk@w{ \mk@i \@rbchar, }% NATOAPP6c will follow
- }%
-}
-\def\do@natoapp@report{%
- \mk@w{ \mk@i "natoapp6c": \@lbchar}
- \@ifundefined{id}{}{\mk@w{ \mk@i\space "id": "\id", }}
- \@ifundefined{natoapp@fac}{}{\mk@w{ \mk@i\space "faction": "\natoapp@fac", }}
- \@ifundefined{natoapp@cmd}{}{\mk@w{ \mk@i\space "command": "\natoapp@cmd", }}
- \@ifundefined{natoapp@ech}{}{\mk@w{ \mk@i\space "echelon": "\natoapp@ech", }}
- \@ifundefined{natoapp@main}{}{\mk@w{ \mk@i\space "main": "\natoapp@main", }}
- \@ifundefined{natoapp@left}{}{\mk@w{ \mk@i\space "left": "\natoapp@left", }}
- \@ifundefined{natoapp@right}{}{\mk@w{ \mk@i\space "right": "\natoapp@right", }}
- \@ifundefined{natoapp@upper}{}{\mk@w{ \mk@i\space "upper": "\natoapp@upper", }}
- \@ifundefined{natoapp@lower}{}{\mk@w{ \mk@i\space "lower": "\natoapp@lower", }}
- \@ifundefined{natoapp@below}{}{\mk@w{ \mk@i\space "below": "\natoapp@below", }}
- \mk@w{ \mk@i\space "end": 0}
- \mk@w{ \mk@i \@rbchar}
-}
-% \end{macrocode}
-% \iffalse
-%</exportcls>
-%\fi
-%
+
diff --git a/macros/latex/contrib/wargame/source/util/export.dtx b/macros/latex/contrib/wargame/source/util/export.dtx
new file mode 100644
index 0000000000..fde067dfe8
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/util/export.dtx
@@ -0,0 +1,817 @@
+% \iffalse
+% ====================================================================
+% \fi
+%
+% \subsection{The \texttt{wgexport} class}
+% \label{sec:impl:util}
+%
+% This document class is used for exporting game component to be used
+% in a VASSAL module
+% libraries.
+%
+% \iffalse
+%<*exportcls>
+%\fi
+%
+% Class identification and load \texttt{wargame} package
+%
+% \begin{macrocode}
+\ProvidesClass{wgexport}
+\PassOptionsToClass{multi=tikzpicture,varwidth=false}{standalone}
+\DeclareOption{noterrainpic}{%
+ \PassOptionsToPackage{\CurrentOption}{wargame}}
+\DeclareOption{terrainpic}{%
+ \PassOptionsToPackage{\CurrentOption}{wargame}}
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{standalone}}
+\ProcessOptions\relax
+\LoadClass{standalone}
+\RequirePackage{wargame}
+% \end{macrocode}
+%
+% We need a few utilities before we get to the actual environment.
+% First, we need a tools to write out literal left and right curly
+% braces. We do a bit of catcode hackery to accomplish that.
+%
+% \begin{macrocode}
+\begingroup
+\catcode`\^^I=12
+\def\@tabchar{^^I}
+\catcode`<=1 \catcode`>=2
+\catcode`{=12 \catcode`}=12
+\gdef\@lbchar<{>
+\gdef\@rbchar<}>
+\endgroup
+% \end{macrocode}
+%
+% Above, we temporarily set the tab, and left and right curly brace
+% characters to be regular letters (12), and the catcodes of less than
+% and greater than to be those of left and right curly braces
+% respectively. We then define the macros \cs{@tabchar},
+% \cs{@lbchar}, and \cs{@rbchar} to produce literal characters.
+% \LaTeX already has \cs{@percentchar}.
+%
+% Everything we do should go inside this environment. The single
+% optional argument is the file name stem of the output JSON file.
+%
+% \begin{macrocode}
+\newenvironment{imagelist}[1][\jobname]{%
+ \newwrite\mk@out%
+ \def\mk@i{}%
+ \def\mk@w{\immediate\write\mk@out}%
+ \immediate\openout\mk@out=#1.json
+ \mk@w{[}
+}{
+ \mk@w{\mk@i \@lbchar "name":"End of list", "category": "<<eol>>",
+ "subcategory": "" \@rbchar }
+ \mk@w{]}
+ \immediate\closeout\mk@out
+}
+% \end{macrocode}
+%
+%
+% Preceed all images (\textsf{tikzpicture}) with this command
+%
+% First argument is the name of the image. This can be anything.
+% Note that for counters, if the name ends in \texttt{flipped} then it
+% is considered the backside of a counter.
+%
+% Second argument is the type of image. Recognised types are
+%
+% \begin{itemize}
+% \item \texttt{board} for boards
+% \item \texttt{oob} for OOBs
+% \item \texttt{chart} for charts
+% \item \texttt{counter} for counters
+% \item \texttt{front} for front page
+% \end{itemize}
+%
+% Other types can be used, and the images will be exported, but the
+% Python script pays no particular attention to those then. Use for
+% example to prepare images for help or the like.
+%
+% The third argument is the sub type. This is most relevant for the
+% counters. Sub types can be anything, but since the counters will
+% receive different prototypes based on the sub type, it makes sense
+% to divide into sub types a la
+%
+% \begin{itemize}
+% \item factions
+% \item common markers
+% \end{itemize}
+%
+% The faction sub types should just be the name of the faction.
+% E.g., Allies, Axis, Soviet, NATO, Warsaw Pact. Spaces should not
+% matter.
+%
+% For common markers, there are a few names that are recognised
+% specifically by the Python script. These are
+%
+% \begin{itemize}
+% \item \texttt{common}
+% \item \texttt{all}
+% \item \texttt{marker}
+% \item \texttt{markers}
+% \end{itemize}
+%
+% Counters that has these sub-types will no be considered to belong
+% to any faction.
+%
+% Note that the Python script uses the faction names to guess the
+% players of the game, and uses them in several places.
+%
+%
+% \begin{macrocode}
+\def\info{%
+ \@ifstar{\@@info{,}}{\@@info{\@rbchar,}}}
+\def\@@info#1#2#3#4{%
+ \chit@dbg{2}{Making image `#2' of type `#3'/`#4' on page \thepage}%
+ \mk@w{ \@lbchar}%
+ \mk@w{ \space "name": "#2",}%
+ \mk@w{ \space "category": "#3",}%
+ \mk@w{ \space "subcategory": "#4", }%
+ \mk@w{ \space "number": \thepage #1}%
+ \let\oldmk@i\mk@i%
+ \ifx#1,\relax\edef\mk@i{\mk@i\space\space}\fi}
+\def\end@info{%
+ \let\mk@i\oldmk@i%
+ \mk@w{ \space \@rbchar,}}
+% \end{macrocode}
+%
+% Make separate images for each counter (single sided).
+%
+% \begin{macrocode}
+\newcommand\chitimages[2][]{%
+ \begingroup%
+ \let\chit@report\do@chit@report%
+ \let\natoapp@report\do@natoapp@report%
+ \chit@dbg{2}{chits to make images of `#2'}%
+ \foreach[count=\ti from 0] \t/\x in #2{%
+ \chit@dbg{2}{^^JRow: `\t' (`\x')}
+ \ifx\t\empty\else% Ignore empty rows
+ \chit@dbg{5}{^^JSubcategory: `\x' (default `#1')}
+ % Take sub-category or default
+ \ifx\t\x\def\x{#1}\else\ifx\x\empty\def\x{#1}\fi\fi
+ \foreach \u/\m in \t{%
+ \ifx\u\empty\else% Ignore empty cells
+ \ifx\u\chit@blank\else%
+ \chit@dbg{2}{Next chit `\u' with possible multiplicity `\m'}%
+ \ifx\m\@empty\def\m{1}\fi% If not multiplicity defined
+ \ifx\u\m\def\m{1}\fi% If the same as unit
+ \chit@dbg{2}{Next chit `\u' multiplicity `\m'}%
+ %% We only make one copy of the chit, since we can duplicate
+ %% it in VASSAL
+ \info*{\u}{counter}{\x}
+ \begin{tikzpicture}
+ \chit[\u=\ti]%
+ \end{tikzpicture}
+ \end@info%
+ %% \foreach \n in {1,...,\m}{% Make a number of copies
+ %% \ifx\u\chit@blank%
+ %% \chit@dbg{3}{Ignoring blank chit:\u}%
+ %% \else%
+ %% \info{\u}{counter}{#2}
+ %% \begin{tikzpicture}
+ %% \chit[\u=\ti](\c,\r)%
+ %% \end{tikzpicture}
+ %% \fi%
+ %% }%
+ \fi%
+ \fi%
+ }%
+ \chit@dbg{2}{End of inner loop}%
+ \fi%
+ }%
+ \chit@dbg{2}{End of outer loop}%
+ \endgroup%
+}
+% \end{macrocode}
+%
+% Make separate images for each counter (double sided). The back-side
+% counters must be defined by append `\texttt{ flipped}' the front
+% face name
+%
+% \begin{macrocode}
+\newcommand\doublechitimages[2][]{%
+ \begingroup%
+ \let\chit@report\do@chit@report%
+ \let\natoapp@report\do@natoapp@report%
+ \foreach[count=\ti from 0] \t/\x in #2{%
+ \ifx\t\empty\else% Ignore empty rows
+ \chit@dbg{5}{^^JSubcategory: `\x' (default `#1')}
+ % Take sub-category or default
+ \ifx\t\x\def\x{#1}\else\ifx\x\empty\def\x{#1}\fi\fi
+ \foreach \u/\m in \t{%
+ \ifx\u\empty\else% Ignore empty cells
+ \ifx\u\chit@blank\else%
+ \chit@dbg{2}{Next chit `\u' with possible multiplicity `\m'}%
+ \ifx\m\@empty\def\m{1}\fi% If not multiplicity defined
+ \ifx\u\m\def\m{1}\fi% If the same as unit
+ \chit@dbg{2}{Next chit `\u' multiplicity `\m'}%
+ %% Flipped chit
+ \edef\s{\u\space flipped}%
+ %% We only make one copy of the chit, since we can duplicate
+ %% it in VASSAL
+ \info*{\u}{counter}{\x}%
+ \begin{tikzpicture}%
+ \chit[\u=\ti]%
+ \end{tikzpicture}%
+ \end@info%
+ \info*{\s}{counter}{\x}%
+ \begin{tikzpicture}%
+ \chit[\s=\ti]%
+ \end{tikzpicture}%
+ \end@info%
+ %% \foreach \n in {1,...,\m}{% Make a number of copies
+ %% \ifx\u\chit@blank%
+ %% \chit@dbg{3}{Ignoring blank chit:\u}%
+ %% \else%
+ %% \info{\u}{counter}{#2}
+ %% \begin{tikzpicture}
+ %% \chit[\u=\ti](\c,\r)%
+ %% \end{tikzpicture}
+ %% \fi%
+ %% }%
+ \fi%
+ \fi%
+ }%
+ \fi%
+ }%
+ \endgroup%
+}
+% \end{macrocode}
+%
+% Special for boards, we have the environment \textsf{boardimage}.
+% Like \cs{info} we must specify the name and sub-category of the
+% board, but the category is assumed to be \texttt{board} (though the
+% optional argument can specify a different category).
+%
+% Within this environment some specific styles are defined that allows
+% the user to specify VASSAL zones on the board. For this to work
+% properly, the parent \textsf{tikzpicture} \emph{must} have the style
+% \texttt{zoned}. This style will record the bounding box of the
+% picture which we will need to calculate VASSAL coordinates later
+% on.
+%
+% Other styles are \texttt{zone scope}, to be applied to
+% \texttt{scope}s in the picture, and \texttt{zone path} to be applied
+% to \texttt{path}s (or \cs{draw}, \cs{fill}, or the like) in the
+% picture. These will record coordinates of these elements in side
+% the picture. The Python script will then define VASSAL zones based
+% on these coordinates.
+%
+% For \texttt{zone scope} applied to a \texttt{scope}, what is
+% recorded are
+%
+% \begin{itemize}
+% \item The current coordinate transformation matrix
+% \item The current translation
+% \item The bounding box, within the current transformation and
+% translation.
+% \end{itemize}
+%
+% To define a zone in the board, simply enclose it in a
+%
+% \begin{verbatim}
+% \begin{scope}[zone scope=name]
+% ...
+% \end{scope}
+% \end{verbatim}
+%
+% The \meta{name} will be the name of the scope. If this contains the
+% sub-string \texttt{hex} (upper, lower, or mixed case), then the zone
+% will get a hex grid with numbering attached to it.
+%
+% If the \meta{name} contains the sub-string \texttt{turn} (any case),
+% then it is assumed to be a turn track and a rectangular grid will be
+% attached. The column and row separator will be set to \texttt{T},
+% so that it won't collide with the main zone. Similar if \meta{name}
+% contains \texttt{oob}, except the separator is set to \texttt{O}.
+%
+% If \meta{name} contains the sub-string \texttt{pool}, then it is
+% assumed to be a pool of counters, and \emph{no} grid is attached.
+%
+% For \texttt{zone path} applied to a \texttt{path}, what is recorded
+% is the path coordinates (as straight line segments) in the global
+% coordinate system.
+%
+% Both styles take one argument --- the name of the zone. If that
+% name contains the sub-string \texttt{hex} anywhere in the name, then
+% the zone is assumed to contain a hex grid. Otherwise, a rectangular
+% grid (of fixed size) will be applied to it.
+%
+% The environment \texttt{boardimage} also records the coordinate
+% options currently in use (keys \texttt{hex/first row is},
+% \texttt{hex/row direction is}, and so on), as well as the current
+% label option (as defined by \texttt{every hex} or \texttt{every hex
+% node}).
+%
+%
+% The information extracted is written to the
+% \cs{jobname}\texttt{.json} file as a sub-object (with name given by
+% the first optional argument) of the image object. In that way, we
+% can later on easily get the information from our catalogue of
+% images.
+%
+% Note, the styles \texttt{zoned}, \texttt{zone scope}, and
+% \texttt{zone path} are defined in \texttt{wargame} to be dummies so
+% that one can have them in the definition of the board without
+% impact.
+% \begin{macrocode}
+\def\mk@transform{%
+ \pgfgettransformentries{\mxx}{\mxy}{\myx}{\myy}{\ptdx}{\ptdy}
+ \wg@pt@to@cm{\ptdx}\edef\dx{\pgfmathresult}
+ \wg@pt@to@cm{\ptdy}\edef\dy{\pgfmathresult}
+ \mk@w{ \mk@i "xx": \mxx,}
+ \mk@w{ \mk@i "xy": \mxy,}
+ \mk@w{ \mk@i "yx": \myx,}
+ \mk@w{ \mk@i "yy": \myy,}
+ \mk@w{ \mk@i "dx": \dx,}
+ \mk@w{ \mk@i "dy": \dy,}
+}
+% \end{macrocode}
+% \begin{macrocode}
+\def\mk@bb#1{%
+ \wg@get@bb{#1}
+ \mk@w{ \mk@i "lower left": [\llx,\lly],}
+ \mk@w{ \mk@i "upper right": [\urx,\ury],}
+ \begingroup
+ \wg@get@global@nchor{#1}{south west}
+ \mk@w{ \mk@i "global lower left": [\tmp@x,\tmp@y],}
+ \wg@get@global@nchor{#1}{north east}
+ \mk@w{ \mk@i "global upper right": [\tmp@x,\tmp@y]}
+ \endgroup
+}
+\def\mk@pos#1(#2){%
+ \wg@dbg{10}{^^JMarking `#2' with `#1' - start}
+ \coordinate[transform shape] (tmp) at (#2) {};
+ \wg@get@nchor{tmp}{center}
+ \wg@dbg{3}{^^JMarking `#2' with `#1' - `\tmp@x',\tmp@y'}
+ \tikzset{zone point={#1}{\tmp@x}{\tmp@y}}
+}
+% \end{macrocode}
+%
+% For the key \texttt{zone path} to work, we need to be able to record
+% the path as it moves along. To that end, we make a custom
+% decoration that will do that for us, and, once the path is finished,
+% write the path to our JSON file.
+%
+% \begin{macrocode}
+\pgfdeclaredecoration{record path construction}{initial}{%
+ \state{initial}[width=0pt,next state=more]{
+ \begingroup
+ \pgf@decorate@inputsegment@first
+ \ptpoint@to@cm{\the\pgf@x}{\the\pgf@y}
+ \xdef\wg@path{[\x,\y]}
+ \endgroup
+ }%
+ \state{more}[width=\pgfdecoratedinputsegmentremainingdistance]{%
+ \begingroup
+ \pgf@decorate@inputsegment@last
+ \ptpoint@to@cm{\the\pgf@x}{\the\pgf@y}
+ \xdef\wg@path{\wg@path,[\x,\y]}
+ \endgroup
+ }
+ \state{final}{%
+ \begingroup
+ \pgf@decorate@inputsegment@last
+ \ptpoint@to@cm{\the\pgf@x}{\the\pgf@y}
+ \xdef\wg@path{\wg@path,[\x,\y]}
+ \endgroup
+ \mk@w{ \mk@i "zone path \wg@record@path@name": \@lbchar}
+ \mk@w{ \mk@i\space "path": [\wg@path] \@rbchar,}
+ }
+}%
+% \end{macrocode}
+%
+% Now we can make our environment
+%
+% The first thing we do is to use the \cs{info} macro to mark the
+% image. Then we open our JSON file. We make a short-hand macro for
+% writing to that file. The macro \cs{bd@i} records the current
+% indention (which is important in JSON)
+%
+% \begin{macrocode}
+\newenvironment{boardimage}[3][board]{%
+ \def\bd@n{#2}
+ \newcount\mk@point
+ \mk@point=0
+ \let\oomk@i\mk@i%
+ \let\markpos\mk@pos%
+% \end{macrocode}
+%
+%
+% Then, to extract the label option, we make a dummy \texttt{node}
+% with the styles \texttt{every hex} and \texttt{every hex node}, so
+% we can extract that option.
+%
+% \begin{macrocode}
+ \info{dummy}{<<dummy>>}{}%
+ %\tikz{}%
+ \tikz{\scoped[%
+ every hex/.try,every hex node/.try,
+ ]{%
+ \def\hex@col{0}%
+ \def\hex@row{0}%
+ \node[hex,inner sep=0,outer sep=0]{%
+ \message{^^JHex label: `\meaning\hex@label'}%
+ \global\let\mk@label\hex@label}}}%
+% \end{macrocode}
+%
+% The next thing we do is to make an object. The first things we put
+% in are the units used (``cm''), and the grid options.
+%
+% \begin{macrocode}
+ \info*{#2}{#1}{#3}%
+ \mk@w{ \mk@i "zones": \@lbchar}%
+ \edef\mk@i{\mk@i\space}
+ %% Everything is made into centimeters
+ \mk@w{ \mk@i "units": "cm",}
+ \hex@dbg{0}{Label: `\meaning\mk@label'}
+ \@ifundefined{mk@label}{}{\mk@w{ \mk@i "labels": "\mk@label",}}
+ %% Write out coordinate options as "coords" object
+ \mk@w{ \mk@i"coords": \@lbchar}%
+ \mk@w{ \mk@i "row": \@lbchar}%
+ \mk@w{ \mk@i\space "offset": \hex@coords@row@off,}%
+ \mk@w{ \mk@i\space "factor": \hex@coords@row@fac \@rbchar,}%
+ \mk@w{ \mk@i "column": \@lbchar}%
+ \mk@w{ \mk@i\space "offset": \hex@coords@col@off,}%
+ \mk@w{ \mk@i\space "factor": \hex@coords@col@fac,}%
+ \mk@w{ \mk@i\space "top short": "\hex@top@short@col",}%
+ \mk@w{ \mk@i\space "bottom short": "\hex@bot@short@col" \@rbchar}%
+ \mk@w{ \mk@i\@rbchar,}%
+% \end{macrocode}
+%
+% We then monkey-patch \cs{boardframe} to also output coordinates to
+% our JSON file. Note that this will probably be embedded in a
+% different object.
+%
+% \begin{macrocode}
+ %%
+ \let\oldbo@rdframe\bo@rdframe%
+ \def\bo@rdframe[##1](##2)(##3){%
+ \oldbo@rdframe[##1](##2)(##3)%
+ \mk@w{ \mk@i"board frame": \@lbchar}
+ \mk@w{ \mk@i\space "lower left": [\llx,\lly],}
+ \mk@w{ \mk@i\space "upper right": [\urx,\ury],}
+ \mk@w{ \mk@i\space "margin": \margin,}
+ \mk@w{ \mk@i\space "width": \w,}
+ \mk@w{ \mk@i\space "height": \h \@rbchar,}}%
+% \end{macrocode}
+%
+% Next, we make the style \texttt{zoned} to be applied to the
+% \texttt{tikzpicture} environment. This records the bounding box of
+% the full picture.
+%
+% \begin{macrocode}
+ \tikzset{
+ zoned/.code={% Apply to whole picture
+ \pgfkeys{%
+ % This needs to be done in the picture!
+ /tikz/execute at end picture={%
+ \mk@w{ \mk@i "zoned": \@lbchar}
+ \mk@transform%
+ \mk@bb{current bounding box}
+ \mk@w{ \mk@i \@rbchar,}
+ }
+ }
+ },
+% \end{macrocode}
+%
+% The next style is the \texttt{zone scope}. At the start of the
+% scope we record the current transformation matrix. Then we install
+% a handler to extract the bounding box at the end of the scope. Note
+% that we increase indention here.
+%
+% \begin{macrocode}
+ zone scope/.code={%
+ \mk@w{ \mk@i"zone scope ##1": \@lbchar}
+ \let\omk@i\mk@i
+ \edef\mk@i{\mk@i\space}
+ \mk@transform%
+ %\bd@w{ \@rbchar,}
+ \gdef\wg@export@box{##1}%
+ \pgfkeys{%
+ /tikz/local bounding box=wg export box,
+ /tikz/execute at end scope={
+ \mk@bb{wg export box}
+ \let\mk@i\omk@i
+ \mk@w{ \mk@i\@rbchar,}},
+ } % pgfkeys
+ }, % zone scope
+% \end{macrocode}
+% The next style gets the global coordinates of the current (0,0)
+% point - f.ex. in a node - and outputs that
+% \begin{macrocode}
+ zone point/.code n args={3}{
+ \pgf@xa=##2 cm
+ \pgf@ya=##3 cm
+ \pgfpointtransformed{\pgfpoint{\pgf@xa}{\pgf@ya}}
+ % \pgfpointtransformed{\pgfpoint{0pt}{0pt}}
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ \wg@pt@to@cm{\the\pgf@xa}\edef\px{\pgfmathresult}
+ \wg@pt@to@cm{\the\pgf@ya}\edef\py{\pgfmathresult}
+ \advance\mk@point1
+ \global\mk@point=\mk@point
+ \mk@w{ \mk@i "point\the\mk@point": \@lbchar "name": "##1", "type": "point", "coords": [\px,\py]
+ \@rbchar, }
+ %\message{^^JZone point \the\mk@point\space ##1: ##2,##3 -> \px,\py}
+ },
+ zone oob point/.code n args={3}{
+ \pgf@xa=##2 cm
+ \pgf@ya=##3 cm
+ \advance\pgf@xa.1cm
+ \advance\pgf@ya.1cm
+ \pgfpointtransformed{\pgfpoint{\pgf@xa}{\pgf@ya}}
+ % \pgfpointtransformed{\pgfpoint{0pt}{0pt}}
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ \wg@pt@to@cm{\the\pgf@xa}\edef\px{\pgfmathresult}
+ \wg@pt@to@cm{\the\pgf@ya}\edef\py{\pgfmathresult}
+ \advance\mk@point1
+ \global\mk@point=\mk@point
+ \mk@w{ \mk@i "point\the\mk@point": \@lbchar "name": "##1",
+ "parent": "\wg@export@box", "type": "point", "coords": [\px,\py]
+ \@rbchar, }
+ %\message{^^JZone point \the\mk@point\space ##1: ##2,##3 -> \px,\py}
+ },
+ zone global point/.code n args={3}{
+ \advance\mk@point1
+ \global\mk@point=\mk@point
+ \mk@w{ \mk@i "point\the\mk@point": \@lbchar "name": "##1", "type": "point", "coords": [\px,\py]
+ \@rbchar, }
+ },
+% \end{macrocode}
+%
+% The \texttt{zone path} style is a bit more simple, but only because
+% the bulk of the work is done in a decoration. We need to be able to
+% pass a name to that decoration, s we make a key for that. The user
+% need not think about that though.
+%
+% \begin{macrocode}
+ /pgf/decoration/record path name/.store in=\wg@record@path@name,
+ zone path/.style={%
+ postaction={decorate,decoration={
+ record path construction,
+ record path name=##1}}
+ } % zone path
+ }% tikzset
+}
+% \end{macrocode}
+%
+% That finishes the first part of the environment. At the end of the
+% environment, we simple write the name of the picture, and close our
+% JSON output.
+%
+% \begin{macrocode}
+{%
+ \mk@w{ \mk@i "name": "\bd@n" }%
+ \let\mk@i\oomk@i%
+ \mk@w{ \mk@i\@rbchar}%
+ \end@info%
+}
+% \end{macrocode}
+%
+% Make battle markers. Mandatory argument is how many markers,
+% optional is the group to add the markers to.
+%
+% \begin{macrocode}
+\def\wg@gennumberm@rkers#1#2#3{
+ \message{^^JNumbered markers: Type=`#1' Max=`#2' Category=`#3'}
+ \def\markers{}
+ \def\keys{}
+ \foreach \i in {1,...,#2}{%
+ \xdef\keys{/tikz/#1 \i/.style={/tikz/#1=\i},\keys}
+ \xdef\markers{\markers,#1 \i}}
+ {%
+ \nopagecolor\pgfkeysalsofrom{\keys}\chitimages[#3]{\markers}}}%
+\tikzset{
+ wg hidden unit/.pic={},
+ wg hidden unit/.style={
+ chit={
+ frame={draw=none,fill=none},
+ full=wg hidden unit}}}
+\DeclareRobustCommand\battlemarkers[2][BattleMarkers]{%
+ \wg@gennumberm@rkers{battle marker}{#2}{#1}%
+ \message{^^JMake a hidden unit and add to Markers category}
+ {%
+ \nopagecolor%
+ \chitimages[Markers]{{wg hidden unit}}%
+ %
+ \info{battle-marker-icon}{icon}{}%
+ \tikz[scale=.7,transform shape]{\pic{battle marker=0};}%
+ \info{clear-battles-icon}{icon}{}
+ \tikz[scale=.4,transform shape]{%
+ \pic{eliminate icon};
+ \pic[scale=.7,transform shape] at (-.3,0) {battle marker=0};}%
+ }%
+}
+% \end{macrocode}
+%
+% Make odds markers. Mandatory argument is a list of odds and fill colours.
+% Optional is the group to add the markers to.
+%
+% \begin{macrocode}
+\def\wg@gencolorm@rkers#1#2#3{%
+ \def\markers{}
+ \def\keys{}
+ \foreach \o/\f in {#2}{%
+ \ifx\o\f\def\f{white}\fi%
+ \message{^^JOdds marker `#1 \o' w/fill `\f'}%
+ \xdef\keys{/tikz/#1 \o/.style={/tikz/#1={\o,\f}},\keys}
+ \xdef\markers{\markers,#1 \o}}
+ {\nopagecolor\pgfkeysalsofrom{\keys}\chitimages[#3]{\markers}}}%
+\DeclareRobustCommand\oddsmarkers[2][OddsMarkers]{%
+ \wg@gencolorm@rkers{odds marker}{#2}{#1}%
+ \info{odds-battles-icon}{icon}{}
+ \tikz[scale=.5,transform shape]{\pic{odds marker={?:?,white}}}
+ \info{resolve-battles-icon}{icon}{}
+ \tikz[scale=.3,transform shape]{%
+ \pic{dice};
+ \pic[scale=1.2,transform shape] at (-.2,-.2) {battle marker=0};}%
+}
+% \end{macrocode}
+%
+% Make results markers. Mandatory argument is a list of results and
+% fill colours. Optional is the group to add the markers to.
+%
+% \begin{macrocode}
+\DeclareRobustCommand\resultmarkers[2][ResultMarkers]{%
+ \wg@gencolorm@rkers{result marker}{#2}{#1}}
+% \end{macrocode}
+%
+% Common icons used by many modules
+%
+% \begin{macrocode}
+\DeclareRobustCommand\commonicons[2]{%
+ \begingroup%
+ \nopagecolor%
+ \tikzset{icon/.style={scale=.4,transform shape}}%
+ %
+ \info{pool-icon}{icon}{}
+ \tikz[icon]{\pic{pool icon};}
+ %
+ \info{oob-icon}{icon}{}%
+ \tikz[icon]{\pic{oob icon={#1}{#2}};}%
+ %
+ \info{flip-icon}{icon}{}%
+ \tikz[icon]{\pic{flip icon};}%
+ %
+ \info{eliminate-icon}{icon}{}%
+ \tikz[icon]{\pic{eliminate icon};}%
+ %
+ \info{restore-icon}{icon}{}%
+ \tikz[icon]{\pic{restore icon};}%
+ %
+ \info{dice-icon}{icon}{}%
+ \tikz[icon,scale=.9]{\pic{dice};}%
+ %
+ \info{unit-icon}{icon}{}%
+ \tikz[icon,scale=.7]{%
+ \chit[fill=#1,
+ symbol={[
+ scale line widths,
+ line width=1pt,
+ faction=friend,
+ command=land,
+ main=infantry,
+ scale=1.3](0,-.15)}]}%
+ \endgroup%
+}
+% \end{macrocode}
+%
+% \subsubsection{Making dice}
+% \begin{Syntax}
+% \cs{dice}\oarg{tikz-options}\oarg{node-options}\marg{name}\marg{name}\marg{list}
+% \end{Syntax}
+% \begin{enumerate}
+% \item \meta{tikz-options}
+% \item \meta{node-options}
+% \item \meta{name} - an identifier - e.g., the same as \meta{shape}.
+% \item \meta{shape} - one of \texttt{d4}, \texttt{d6}, \texttt{d8},
+% \texttt{d10}, \texttt{d12}, or \texttt{d20}.
+% \item \meta{list} - list of pairs
+% \meta{value}\texttt{/}\meta{printed}, where \meta{value} is the
+% value, and \meta{printed} is the shown value. If \meta{printed} is
+% left out, then \meta{value} is used.
+% \end{enumerate}
+%
+% \begin{macrocode}
+\def\dice{%
+ \@ifnextchar[{\wg@dice}{\wg@dice[]}%]
+}
+\def\wg@dice[#1]{%
+ \@ifnextchar[{\wg@@dice{#1}}{\wg@@dice{#1}[]} %]
+}
+\def\wg@@dice#1[#2]#3#4#5{%
+ \foreach \v/\p in {#5}{%
+ \info{#3-\v}{die-roll}{#3}
+ \tikz[#1]{
+ \node[shape=#4,transform shape,draw=none,fill=black,opacity=.5]
+ at (.05,-.03){};
+ \node[shape=#4,#2,transform shape]{\p};}}}
+% \end{macrocode}
+%
+% \subsubsection{Hooks into chits, etc.}
+%
+% TO BE DONE: We could add hook the \texttt{hex} shape that would
+% allow us to write out the settings for each of these. This would
+% allow us to make data files that contain the information available
+% in the \LaTeX{} code.
+%
+% If one then assumed that for example the upper left corner holds the
+% start-up hex, then one could use that information.
+%
+% The code below exports the chit information to the JSON file.
+% Together with the battle, odds, and result markers stuff above, this
+% allows the exporter to almost automatically set up battle odds and
+% result calculations. The fields exported are
+%
+% \begin{itemize}
+% \item Left and right identifiers
+% \item Upper left, upper right, lower left, and lower right
+% identifiers. (some care must be taken if these contains graphics
+% and not just text.)
+% \item Factors
+% \item NATO symbol
+% \begin{itemize}
+% \item Faction, command, echelon
+% \item Mains
+% \item Left, right, top, and bottom attributes and modifiers
+% \item Below attribute
+% \end{itemize}
+% \end{itemize}
+%
+% The exporter can set up prototypes for NATO types, echelons,
+% etc. The exporter can also set factors as marks on the units.
+%
+% \begin{macrocode}
+\tikzset{
+ zone turn/.store in=\zone@turn,
+ zone mult/.store in=\zone@mult
+}
+\def\@chit@rep@line#1#2{%
+ \@ifundefined{#2}{}{
+ \edef\wg@chit@tmp{\csname #2\endcsname}
+ {\escapechar=`/
+ \xdef\tmp{\detokenize\expandafter{\wg@chit@tmp} \@empty}}
+ % \message{^^J\meaning\@tmp -> \meaning\tmp}
+ \mk@w{ \mk@i\space "#1": "\tmp",}}}
+
+\def\do@chit@report{%
+ \chit@dbg{3}{Start of Chit Report}
+ \mk@w{ \mk@i "chit": \@lbchar}
+ \chit@dbg{3}{Report - ID}
+ \@ifundefined{id}{} {\mk@w{ \mk@i\space "id": "\id", }}%
+ \chit@dbg{3}{Report - Symbol: `\meaning\chit@symbol'}
+ \@ifundefined{chit@symbol}{}{\mk@w{ \mk@i\space "symbol": "true", }}%
+ \chit@dbg{3}{Report - Full: `\meaning\chit@full'}
+ \@chit@rep@line{full}{chit@full}
+ \chit@dbg{3}{Report - Factors: `\meaning\chit@factors'}
+ \@chit@rep@line{factors}{chit@factors}%
+ \chit@dbg{3}{Report - Left: `\meaning\chit@left'}
+ \@chit@rep@line{left}{chit@left}%
+ \chit@dbg{3}{Report - Right: : `\meaning\chit@right'}
+ \@chit@rep@line{right}{chit@right}%
+ \chit@dbg{3}{Report - Upper left: `\meaning\chit@upper@left'}
+ \@chit@rep@line{upper left}{chit@upper@left}%
+ \chit@dbg{3}{Report - Lower left: `\meaning\chit@lower@left'}
+ \@chit@rep@line{lower left}{chit@lower@left}%
+ \chit@dbg{3}{Report - Upper right: `\meaning\chit@upper@right}
+ \@chit@rep@line{upper right}{chit@upper@right}%
+ \chit@dbg{3}{Report - Lower right: `\meaning\chit@lower@right'}
+ \@chit@rep@line{lower right}{chit@lower@right}%
+ \chit@dbg{3}{Report - End comma}
+ \mk@w{ \mk@i\space "end": 0}
+ \@ifundefined{chit@symbol}{
+ \mk@w{ \mk@i \@rbchar }
+ }{
+ \mk@w{ \mk@i \@rbchar, }% NATOAPP6c will follow
+ }%
+ \chit@dbg{3}{End of Chit Report}
+}
+% \end{macrocode}
+% Report out NATO App6 symbol settings
+% \begin{macrocode}
+\def\do@natoapp@report{%
+ \mk@w{ \mk@i "natoapp6c": \@lbchar}
+ \@chit@rep@line{id}{\id}
+ \@chit@rep@line{faction}{natoapp@fac}
+ \@chit@rep@line{command}{natoapp@cmd}
+ \@chit@rep@line{echelon}{natoapp@ech}
+ \@chit@rep@line{main}{natoapp@main}
+ \@chit@rep@line{left}{natoapp@left}
+ \@chit@rep@line{right}{natoapp@right}
+ \@chit@rep@line{upper}{natoapp@upper}
+ \@chit@rep@line{lower}{natoapp@lower}
+ \@chit@rep@line{below}{natoapp@below}
+ \mk@w{ \mk@i\space "end": 0}
+ \mk@w{ \mk@i \@rbchar}
+}
+% \end{macrocode}
+%
+%
+% \iffalse
+%</exportcls>
+%\fi
diff --git a/macros/latex/contrib/wargame/source/util/icons.dtx b/macros/latex/contrib/wargame/source/util/icons.dtx
new file mode 100644
index 0000000000..14e2dc6d56
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/util/icons.dtx
@@ -0,0 +1,118 @@
+% \iffalse
+% --------------------------------------------------------------------
+% <*utils>
+% \fi
+%
+% \subsubsection{VASSAL icons}
+%
+%
+% Some icons that may be useful in VASSAL. We put them here so they
+% may be used in manuals and the like too.
+%
+%
+% First, the line style
+% \begin{macrocode}
+\tikzset{
+ trash can line/.style={scale line widths,scale rounded corners,
+ line width=.5mm,->},
+}
+% \end{macrocode}
+%
+% Then, the body and lid of a trash can.
+%
+% \begin{macrocode}
+\tikzset{
+ trash can body/.pic={%
+ \path[fill=black,scale line widths,scale rounded corners,
+ rounded corners=.05cm]
+ (-.3,.2) --++(.6,0) --++(-.1,-.7) --++(-.4,0) --cycle;
+ \path[fill=white]
+ (-.025,-.4) arc(180:360:.025) --++( 0,.5) arc(0:180:.025) --cycle;
+ \path[fill=white]
+ (-.125,-.4) arc(180:360:.025) --++(-.07,.5) arc(0:180:.025) --cycle;
+ \path[fill=white]
+ ( .075,-.4) arc(180:360:.025) --++( .07,.5) arc(0:180:.025) --cycle;
+ },
+ trash can lid/.pic={%
+ \path[fill=black,scale line widths,scale rounded corners,
+ rounded corners=.05cm]
+ (-.35,.23)--++(.7,0)--++(-.07,.07)--++(-.56,0)--cycle;
+ \path[fill=black]
+ (-.15,.3) --++(.05,0) --++(0,.05) --++(.2,0) --++(0,-.05)
+ --++(.05,0) --++(0,.05) arc(0:90:.05) --++(-.2,0) arc(90:180:.05)
+ --cycle;
+ },
+}
+% \end{macrocode}
+%
+% Then, a closed and open trash can
+%
+% \begin{macrocode}
+\tikzset{
+ trash can/.pic={
+ \pic{trash can body};
+ \pic{trash can lid};
+ },
+ trash can open/.pic={
+ \pic{trash can body};
+ \pic[rotate=-30] at (0,.1) {trash can lid};
+ },
+}
+% \end{macrocode}
+%
+% Now we can use that to generate some useful icons.
+%
+% \begin{macrocode}
+\tikzset{
+ eliminate icon/.pic={
+ \pic{trash can open};
+ \draw[trash can line,color=red!50!black]
+ (-.5,.2) to[looseness=1.5] (-.1,.23);
+ },
+ restore icon/.pic={
+ \pic{trash can open};
+ \draw[trash can line,<-,color=green!50!black]
+ (-.5,.2) to[looseness=1.5] (-.1,.23);
+ },
+ pool icon/.pic={
+ \pic{trash can};
+ },
+}
+% \end{macrocode}
+%
+% These icons does not use the trash can picture.
+%
+% \begin{macrocode}
+\tikzset{
+ flip icon/.pic={
+ \draw[scale line widths,scale rounded corners,
+ line width=1mm,->,color=blue!50!black]
+ (-.5,-.5) arc(180:0:.5);% (.5,-.5);
+ },
+ pics/oob icon/.style n args={2}{code={%
+ \begin{scope}[box/.style args={##1,##2,##3,##4}{
+ minimum width=##1cm,
+ minimum height=##2cm,
+ fill=##3,
+ anchor=##4,
+ draw=gray!50!black,
+ scale line widths,
+ line width=.5pt,
+ transform shape},
+ under/.style={
+ below=.05cm of ##1}
+ ]
+ \node[box={.5,.2,#1,north west,fill=#1}] (r1) at (.05,.45) {};
+ \node[under=r1.south west,box={.3,.25,#1,north west}] (r2) {};
+ \node[under=r2.south west,box={.2,.3, #1,north west}] (r3) {};
+ \node[box={.2,.4,#2,north east}] (l1) at (-.05,.45) {};
+ \end{scope}
+ }
+ }
+}
+% \end{macrocode}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% </utils>
+% \fi
diff --git a/macros/latex/contrib/wargame/source/util/misc.dtx b/macros/latex/contrib/wargame/source/util/misc.dtx
new file mode 100644
index 0000000000..eee931a164
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/util/misc.dtx
@@ -0,0 +1,145 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*utils>
+% \fi
+%
+% \subsubsection{Miscellaneous macros}
+% \begin{Macro}{\wargamelogo}
+%
+% This will produce the logo for this package.
+%
+%
+% \begin{center}
+% \tikz{\wargamelogo}
+% \end{center}
+%
+% \begin{macrocode}
+\tikzset{
+ wargame logo text/.style={
+ font=\sffamily\bfseries\fontsize{12}{14}\selectfont,
+ scale=2.8,
+ inner sep=0,
+ text width=1.8cm,
+ transform shape,
+ align=center},
+ wargame logo text content/.store in=\wg@logo@text@content,
+ wargame logo text content={{\huge\LaTeX} wargame},
+ wargame logo chit/.style={
+ chit={symbol={[
+ faction=friendly,
+ command=land,
+ echelon=division,
+ main=infantry]},
+ factors={chit/2 factors={4,3}},
+ left={chit/identifier=III},
+ right={chit/small identifier={10\textsuperscript{th}}},
+ color=white,
+ fill=red!50!black
+ }
+ },
+ wargame logo/.style={
+ transform shape,
+ every hex/.style={fill=gray!5!white,draw=gray!75!black},
+ hex/first row is=0,
+ hex/first column is=0,
+ hex/short top columns=none,
+ hex/short bottom columns=none,
+ hex/row direction is=normal,
+ hex/column direction is=normal
+ }
+}
+\newcommand\wargamelogo[1][]{%
+ \begin{scope}[wargame logo,#1]
+ \node[hex={fill=gray!30!white}] (logo center) at (hex cs:c=0,r=0) {};
+ \node[hex={terrain=light woods}](logo light woods) at (hex cs:c=0,r=1) {};
+ \node[hex={terrain=city}] (logo city) at (hex cs:c=0,r=-1){};
+ \node[hex={terrain=woods}] (logo woods) at (hex cs:c=-1,r=0){};
+ \node[hex={terrain=mountains}] (logo mountains) at (hex cs:c=-1,r=1){};
+ \node[hex={terrain=beach}] (logo beach) at (hex cs:c=1,r=1) {};
+ \node[hex={terrain=swamp}] (logo swamp) at (hex cs:c=1,r=0) {};
+ \node[wargame logo chit] (logo chit) at (hex cs:) {};
+ \node[wargame logo text] (logo text) {\wg@logo@text@content};
+ \end{scope}}
+% \end{macrocode}
+%
+% \end{Macro}
+% \begin{Macro}{\wg@dbg}
+% Debugging support. The counter \cs{wargamedbglvl} sets the debug
+% level. The package code then uses \cs{wg@dbg} to print out
+% debugging messages. This macro takes two arguments --- the first
+% is the \emph{least} debug level at which the message is printed, and
+% the second is the message it self.
+%
+% \begin{macrocode}
+\newcount\wargamedbglvl\wargamedbglvl=0
+\def\wg@dbg#1#2{%
+ \ifnum#1>\wargamedbglvl\relax\else\message{^^J#2}\fi}
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\wg@addto@macro}
+%
+% The macro \cs{wg@addto@macro}\marg{macro}\marg{other} adds the
+% definition of the macro \meta{other} to the macro \meta{macro}.
+% This uses the \cs{toks} trick of storing the \emph{tokens} of the
+% definition of a \meta{macro} and \meta{other} into \spec{@} and
+% expanding that token into the definition of \meta{macro}.
+% Effectively, this means that the top-level definition of
+% \meta{macro} and \meta{other} are expanded (i.e., macros used in
+% the definition of either macro is \emph{not} expanded) and then
+% that becomes the new definition of \meta{macro}.
+%
+% We will use this macro to do \emph{shallow} definitions of macros
+% to contain keys and such.
+%
+% \begin{macrocode}
+\long\def\wg@addto@macro#1#2{%
+ \begingroup
+ \toks@\expandafter\expandafter\expandafter{\expandafter#1#2}%
+ \xdef#1{\the\toks@}%
+ \endgroup}
+% \end{macrocode}
+% \end{Macro}
+%
+%
+% \begin{Macro}{\wg@sub@nchor}
+% Get anchor from sub node. We cannot use \cs{pgfpointanchor} since
+% that returns the anchor coordinates in the global coordinate
+% system.
+%
+% \begin{macrocode}
+\def\wg@sub@nchor#1#2{%
+ \wg@dbg{3}{^^JGet `#2' in `#1'}%
+ \@ifundefined{pgf@sh@ns@#1}{%
+ \pgf@x=0cm\pgf@y=0cm}{%
+ \pgf@process{%
+ \csname pgf@sh@ma@#1\endcsname% MW
+ \csname pgf@sh@np@#1\endcsname%
+ \pgf@sh@reanchor{\csname pgf@sh@ns@#1\endcsname}{#2}}}%
+ \wg@dbg{10}{-> \the\pgf@x,\the\pgf@y}%
+}
+% \end{macrocode}
+% \end{Macro}
+%
+%
+% Scratch dimensions
+%
+% \begin{macrocode}
+\newdimen\wg@tmpa
+\newdimen\wg@tmpb
+\newdimen\wg@tmpc
+\newdimen\wg@tmpd
+% \end{macrocode}
+%
+%
+% Macro to easy restore a saved path
+%
+% \begin{macrocode}
+\def\settosave#1{
+ \pgfsyssoftpath@setcurrentpath{#1}}
+% \end{macrocode}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% </utils>
+% \fi
diff --git a/macros/latex/contrib/wargame/source/util/randomid.dtx b/macros/latex/contrib/wargame/source/util/randomid.dtx
new file mode 100644
index 0000000000..be986c8857
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/util/randomid.dtx
@@ -0,0 +1,22 @@
+% \iffalse
+% --------------------------------------------------------------------
+% <*utils>
+% \fi
+%
+% \subsubsection{Random IDs}
+%
+% This macro sets the macro \cs{wg@uuid} to some random hex number.
+%
+% \begin{macrocode}
+\def\wg@r@ndom@id{%
+ \def\wg@uuid{}
+ \foreach \i in {1,...,8}{%
+ \pgfmathparse{Hex(random(0,15))}
+ \xdef\wg@uuid{\wg@uuid\pgfmathresult}}}
+% \end{macrocode}
+%
+%
+% \iffalse
+% --------------------------------------------------------------------
+% </utils>
+% \fi
diff --git a/macros/latex/contrib/wargame/source/util/tikz.dtx b/macros/latex/contrib/wargame/source/util/tikz.dtx
new file mode 100644
index 0000000000..fa31a7b58c
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/util/tikz.dtx
@@ -0,0 +1,196 @@
+% \iffalse
+% --------------------------------------------------------------------
+% <*utils>
+% \fi
+%
+% \subsubsection{Other Tikz utilities}
+%
+% \begin{TikzKey}{tikz/reverseclip}
+%
+% A reverse clipping path. This is used to cut out stuff outside of
+% path defined.
+%
+% \begin{macrocode}
+\tikzstyle{reverseclip}=[insert path={(current bounding box.north east) --
+ (current bounding box.south east) --
+ (current bounding box.south west) --
+ (current bounding box.north west) --
+ (current bounding box.north east)}]
+% \end{macrocode}
+% \end{TikzKey}
+%
+% \begin{TikzKey}{tikz/clip even odd rule}
+% A reverse clipping path
+%
+% \begin{macrocode}
+\tikzset{
+ clip even odd rule/.code={\pgfseteorule}, % Credit to Andrew Stacey
+}
+% \end{macrocode}
+% \end{TikzKey}
+%
+%
+% \begin{TikzKey}{tikz/invclip}
+%
+% Inverse clipping. This should be an option \emph{after} the path to
+% do the inverse clipping by. This works by adding a \emph{large}
+% (page) path to the current path, and then use that as clipping.
+%
+% \begin{macrocode}
+\tikzset{
+ invclip/.style={
+ clip,insert path=
+ [clip even odd rule]{
+ [reset cm](-\maxdimen,-\maxdimen)rectangle(\maxdimen,\maxdimen)
+ }
+ },
+}
+% \end{macrocode}
+% \end{TikzKey}
+%
+% \begin{TikzKey}{save clip}
+%
+% An option for use with sub-elements of NATO App 6(c) or chit
+% nodes. This will save the current path as a clipping path for the
+% next paths to be drawn in the sub-element
+%
+% \begin{macrocode}
+\newif\ifwg@s@ve\wg@s@vefalse
+\tikzset{
+ save clip/.is choice,
+ save clip/true/.code={\global\wg@s@vetrue},
+ save clip/false/.code={\global\wg@s@vefalse},
+ save clip/.default={true},
+ save clip/.initial={false},
+}
+% \end{macrocode}
+% \end{TikzKey}
+%
+% \begin{TikzKey}{scale line widths}
+%
+% Scales any line width specified in the node options.
+%
+% Use like
+%
+% \begin{verbatim}
+% \tikzset{
+% some/.style={
+% scale line widths,
+% line width=1pt}
+% }
+% \end{verbatim}
+%
+% Note that the order is important.
+%
+% \begin{macrocode}
+% Save pgf rounded corners macro
+% \let\wg@pgfsetcornersarced\pgfsetcornersarced
+\def\wg@setcornersarched#1{%
+ \ifx|#1|\else%
+ \edef\pgf@corner@arc{{#1}{#1}}%
+ \pgf@arccornerstrue%
+ \ifdim#1=0pt%
+ \pgf@arccornersfalse%
+ \fi\fi}
+\newdimen\wg@lw@scaled\wg@lw@scaled=1pt
+\def\wg@getscale{%
+ \pgfgettransformentries{%
+ \wg@jaca}{%
+ \wg@jacb}{%
+ \wg@jacc}{%
+ \wg@jacd}{%
+ \wg@tmp}{%
+ \wg@tmp}%
+ \pgfmathsetmacro{\wg@jac}{sqrt(abs(\wg@jaca*\wg@jacd-\wg@jacb*\wg@jacc))}%
+ \wg@dbg{4}{Scale is \wg@jac}
+ \xdef\wg@scale{\wg@jac}}
+\def\wg@scaled#1{%
+ \wg@getscale%
+ \wg@dbg{4}{Scaling #1 by \wg@scale}
+ \pgfmathsetmacro{\wg@tmp}{\wg@scale*#1}%
+ \xdef\wg@tmp{\wg@tmp}%
+ \xdef\wg@lw@scale{\wg@tmp}%
+ \wg@dbg{4}{Scaled #1 -> \wg@tmp}}
+%% \message{^^JRounded corners: \meaning\pgfsetcornersarced}
+\tikzset{
+ %% Get current scale and store in \wg@scale
+ get scale/.code={\wg@getscale},
+ scale line widths/.style={%
+ /utils/exec=\def\tikz@semiaddlinewidth##1{%
+ \wg@scaled{##1}
+ \wg@lw@scaled=\wg@tmp pt
+ \tikz@addoption{\pgfsetlinewidth{\wg@lw@scaled}}%
+ \wg@dbg{4}{Added scaled option \wg@tmp}
+ \pgfmathsetlength\pgflinewidth{\wg@tmp pt}
+ \wg@dbg{4}{Did set line width \wg@tmp pt}
+ }
+ },
+ scale rounded corners/.style={%
+ /utils/exec=\def\pgfsetcornersarced##1{%
+ \pgf@process{##1}%
+ \pgf@xa=\pgf@x%
+ \wg@scaled{\the\pgf@xa}%
+ % \tikz@addoption{\wg@setcornersarched{\wg@tmp pt}}%
+ \wg@dbg{4}{Scaled rounded corners: \the\pgf@xa -> \wg@tmp}%
+ \wg@setcornersarched{\wg@tmp pt}%
+ }
+ },
+ relative line width/.style={%
+ /utils/exec=\def\tikz@semiaddlinewidth##1{%
+ \wg@dbg{4}{Relative line width #1 times ##1}%
+ \pgfmathsetmacro{\wg@lv}{#1*##1}%
+ \tikz@addoption{\pgfsetlinewidth{\wg@lw pt}}%
+ \pgfmathsetlength\pgflinewidth{\wg@lw pt}}}
+}
+% \end{macrocode}
+% \end{TikzKey}
+%
+% \begin{TikzKey}{sub pic actions}
+%
+% This is key that propagates actions to sub pictures of pictures.
+% The normal \texttt{pic actions} cannot be used as it causes an
+% infinite loop.
+%
+% \begin{macrocode}
+\tikzset{
+ sub pic actions/.code={%
+ \tikz@picmode%
+ \edef\opts{%
+ \iftikz@mode@draw draw,\else draw=none,\fi
+ \iftikz@mode@fill fill\else fill=none\fi}
+ \wg@dbg{5}{^^JSub Mode: \meaning\tikz@picmode \meaning\opts}
+ \pgfset{/tikz/.cd}
+ \pgfkeysalsofrom{\opts}
+ }}
+% \end{macrocode}
+% \end{TikzKey}
+%
+% \begin{TikzKey}{wg/debug show}
+%
+% Show debugging information
+%
+% \begin{macrocode}
+\tikzset{
+ wg/debug show/.code={%
+ \extractcolorspec{pgfstrokecolor}{\wg@tmp@fg}
+ \def\wg@tmp@bg{none}
+ \@ifundefinedcolor{pgffillcolor}{}{
+ \extractcolorspec{pgffillcolor}{\wg@tmp@bg}}
+ \begingroup
+ \tikz@mode
+ \wargamedbglvl=#1
+ \wg@dbg{3}{Drawing with w/stroke `\wg@tmp@fg'
+ (\tikz@strokecolor,\iftikz@mode@draw\else not\space\fi drawing)
+ and fill `\wg@tmp@bg' (\tikz@fillcolor,\iftikz@mode@fill\else
+ not\space\fi filling)}
+ \endgroup
+ }
+}
+% \end{macrocode}
+% \end{TikzKey}
+%
+%
+% \iffalse
+% --------------------------------------------------------------------
+% </utils>
+% \fi
diff --git a/macros/latex/contrib/wargame/source/utils/wgexport.py b/macros/latex/contrib/wargame/source/utils/wgexport.py
index 9ad370cfcd..a09a7e4257 100755
--- a/macros/latex/contrib/wargame/source/utils/wgexport.py
+++ b/macros/latex/contrib/wargame/source/utils/wgexport.py
@@ -1,3661 +1,11515 @@
#!/usr/bin/env python
+# Script collected from other scripts
#
-from pprint import pprint
+# ../vassal/vassal.py
+# latexexporter.py
+# main.py
+#
+# ====================================================================
+# From ../vassal/vassal.py
+# Script collected from other scripts
+#
+# ../common/singleton.py
+# ../common/verbose.py
+# ../common/verboseguard.py
+# base.py
+# element.py
+# globalkey.py
+# gameelements.py
+# mapelements.py
+# globalproperty.py
+# turn.py
+# documentation.py
+# player.py
+# chessclock.py
+# widget.py
+# grid.py
+# zone.py
+# board.py
+# map.py
+# chart.py
+# command.py
+# trait.py
+# withtraits.py
+# traits/dynamicproperty.py
+# traits/globalproperty.py
+# traits/prototype.py
+# traits/place.py
+# traits/report.py
+# traits/calculatedproperty.py
+# traits/restrictcommand.py
+# traits/label.py
+# traits/layer.py
+# traits/globalcommand.py
+# traits/globalhotkey.py
+# traits/nostack.py
+# traits/deselect.py
+# traits/restrictaccess.py
+# traits/rotate.py
+# traits/stack.py
+# traits/mark.py
+# traits/mask.py
+# traits/trail.py
+# traits/delete.py
+# traits/sendto.py
+# traits/moved.py
+# traits/skel.py
+# traits/submenu.py
+# traits/basic.py
+# traits/trigger.py
+# traits/nonrect.py
+# traits/click.py
+# game.py
+# buildfile.py
+# moduledata.py
+# save.py
+# vsav.py
+# vmod.py
+# exporter.py
+#
+# ====================================================================
+# From ../common/singleton.py
+# ====================================================================
+class Singleton(type):
+ '''Meta base class for singletons'''
+ _instances = {}
+ def __call__(cls, *args, **kwargs):
+ '''Create the singleton object or returned existing
+
+ Parameters
+ ----------
+ args : tuple
+ Arguments
+ kwargs : dict
+ Keyword arguments
+ '''
+ if cls not in cls._instances:
+ cls._instances[cls] = \
+ super(Singleton, cls).__call__(*args, **kwargs)
+ return cls._instances[cls]
+#
+# EOF
+#
# ====================================================================
-def add_pws(opw=None,upw=None):
- '''Add password options to the poppler commands
+# From ../common/verbose.py
+# --------------------------------------------------------------------
+
+class Verbose(metaclass=Singleton):
+ def __init__(self,verbose=False):
+ '''Singleton for writing message to screen, contigent on setting
+
+ Parameters
+ ----------
+ verbose : bool
+ Whether to show messages or not
+ '''
+ self._indent = ''
+ self._verbose = verbose
+
+ def setVerbose(self,verbose):
+ '''Set whether to print or not
+
+ Parameters
+ ----------
+ verbose : bool
+ Whether to show messages or not
+ '''
+ self._verbose = verbose
+
+ @property
+ def verbose(self):
+ '''Test if this is verbose'''
+ return self._verbose
+
+ def message(self,*args,**kwargs):
+ '''Write messsage if verbose
+
+ Parameters
+ ----------
+ args : tuple
+ Arguments
+ kwargs : dict
+ Keyword arguments
+ '''
+ if not self._verbose: return
+ if not kwargs.pop('noindent', False):
+ print(self._indent,end='')
+ print(*args,**kwargs)
+
+ def incr(self):
+ '''Increment indention'''
+ self._indent += ' '
+
+ def decr(self):
+ '''Decrement indention'''
+ if len(self._indent) > 0:
+ self._indent = self._indent[:-1]
- Parameters
- ----------
- opw : str
- Owner password
- upw : str
- User password
+#
+# EOF
+#
+# ====================================================================
+# From ../common/verboseguard.py
+# --------------------------------------------------------------------
- Returns
- -------
- opts : list
- List of arguments
- '''
- args = []
- if upw is not None:
- args.extend(['-upw',upw])
+class VerboseGuard:
+ def __init__(self,*args,**kwargs):
+ '''A guard pattern that increases verbose indention
- if opw is not None:
- args.extend(['-opw',opw])
+ This is a context manager. The arguments passed are used for
+ an initial message, before increasinig indention.
- return args
+ Parameters
+ ----------
+ args : tuple
+ Arguments
+ kwargs : dict
+ Keyword arguments
+ '''
+ Verbose().message(*args,**kwargs)
-# --------------------------------------------------------------------
-def create_proc(args):
- '''Create a process
+ def __bool_(self):
+ '''Test if verbose'''
+ return Verbose().verbose
+
+ def __enter__(self):
+ '''Enter context'''
+ Verbose().incr()
+ return self
+
+ def __exit__(self,*args):
+ '''Exit context'''
+ Verbose().decr()
+
+ def __call__(self,*args,**kwargs):
+ '''Write a message at current indention level
+
+ Parameters
+ ----------
+ args : tuple
+ Arguments
+ kwargs : dict
+ Keyword arguments
+ '''
+ Verbose().message(*args,**kwargs)
+
+#
+# EOF
+#
+# ====================================================================
+# From base.py
+# ====================================================================
+# Key encoding
+SHIFT = 65
+CTRL = 130
+ALT = 520
+CTRL_SHIFT = CTRL+SHIFT
+ALT_SHIFT = ALT+SHIFT
+NONE = '\ue004'
+NONE_MOD = 0
+def key(let,mod=CTRL):
+
+ '''Encode a key sequence
+
+ Parameters
+ ----------
+ let : str
+ Key code (Letter)
+ mod : int
+ Modifier mask
+ '''
+ return f'{ord(let)},{mod}'
+#
+def hexcolor(s):
+ if isinstance(s,str):
+ s = s.replace('0x','')
+ if len(s) == 3:
+ r, g, b = [int(si,16)/16 for si in s]
+ elif len(s) == 6:
+ r = int(s[0:2],16) / 256
+ g = int(s[2:4],16) / 256
+ b = int(s[4:6],16) / 256
+ else:
+ raise RuntimeError('3 or 6 hexadecimal digits for color string')
+ elif isinstance(s,int):
+ r = ((s >> 16) & 0xFF) / 256
+ g = ((s >> 8) & 0xFF) / 256
+ b = ((s >> 0) & 0xFF) / 256
+ else:
+ raise RuntimeError('Hex colour must be string or integer')
+
+ return rgb(int(r*256),int(g*256),int(b*256))
+
+# Colour encoding
+def rgb(r,g,b):
+ '''Encode RGB colour
Parameters
----------
- args : list
- List of commmand line arguments
+ r : int
+ Red channel
+ g : int
+ Green channel
+ b : int
+ Blue channel
Returns
-------
- proc : subprocess.Process
- Process handle
+ colour : str
+ RGB colour as a string
'''
- from os import environ
- from subprocess import Popen, PIPE, TimeoutExpired
+ return ','.join([str(r),str(g),str(b)])
- return Popen(args,env=environ.copy(),stdout=PIPE,stderr=PIPE)
-
-# --------------------------------------------------------------------
-def get_pdf_info(pdfname='export.pdf',upw=None,opw=None,timeout=None):
- '''Get dictionary of PDF information
+def rgba(r,g,b,a):
+ '''Encode RGBA colour
Parameters
----------
- pdfname : str
- File name
- opw : str
- Owner password
- upw : str
- User password
- timeout : int
- Timeout in seconds or None
+ r : int
+ Red channel
+ g : int
+ Green channel
+ b : int
+ Blue channel
+ a : int
+ Alpha channel
Returns
-------
- info : dict
- PDF information
+ colour : str
+ RGBA colour as a string
'''
- from subprocess import TimeoutExpired
-
- args = ['pdfinfo', pdfname]
- args.extend(add_pws(opw=opw,upw=upw))
-
- proc = create_proc(args)
-
- try:
- out, err = proc.communicate(timeout=timeout)
- except Exception as e:
- proc.kill()
- proc.communicate()
- raise RuntimeError(f'Failed to get PDF info: {e}')
-
- d = {}
- for field in out.decode("utf8", "ignore").split("\n"):
- sf = field.split(":")
- key, value = sf[0], ":".join(sf[1:])
- if key != "":
- d[key] = (int(value.strip()) if key == 'Pages' else value.strip())
-
- if "Pages" not in d:
- raise ValueError
+ return ','.join([str(r),str(g),str(b),str(a)])
- return d
-
-# --------------------------------------------------------------------
-def get_images_info(infofile):
- '''Read in image information from file
+def dumpTree(node,ind=''):
+ '''Dump the tree of nodes
Parameters
----------
- infofile : str
- file name
-
- Returns
- -------
- images : list
- List of image information
+ node : xml.dom.Node
+ Node to dump
+ ind : str
+ Current indent
'''
- #from csv import DictReader
- from json import load
+ print(f'{ind}{node}')
+ for c in node.childNodes:
+ dumpTree(c,ind+' ')
- with open(infofile,'r') as file:
- info = load(file)
- #reader = DictReader(file,fieldnames=['page','name','type','sub type'])
- #return [l for l in reader]
+#
+# EOF
+#
+# ====================================================================
+# From element.py
- return info
+# ====================================================================
+class Element:
+ BUILD = 'VASSAL.build.'
+ MODULE = BUILD + 'module.'
+ WIDGET = BUILD + 'widget.'
+ MAP = MODULE + 'map.'
+ PICKER = MAP + 'boardPicker.'
+ BOARD = PICKER + 'board.'
+ def __init__(self,parent,tag,node=None,**kwargs):
+ '''Create a new element
+
+ Parameters
+ ----------
+ parent : Element
+ Parent element to add this element to
+ tag : str
+ Element tag
+ node : xml.dom.Node
+ If not None, then read attributes from that. Otherwise
+ set elements according to kwargs
+ kwargs : dict
+ Attribute keys and values. Only used if node is None
+ '''
+ if parent is not None:
+ self._root = parent._root
+ self._node = (node if node is not None else
+ parent.addNode(tag,**kwargs))
+ else:
+ self._root = None
+ self._node = None
+
+ # ----------------------------------------------------------------
+ # Attributes
+ def __contains__(self,key):
+ '''Check if element has attribute key'''
+ return self.hasAttribute(key)
+ def __getitem__(self,key):
+ '''Get attribute key value'''
+ return self.getAttribute(key)
-# --------------------------------------------------------------------
-def convert_page(pdfname,page,opw=None,upw=None,timeout=None):
- '''Convert a single PDF page to an image
+ def __setitem__(self,key,value):
+ '''Set attribute key value'''
+ self.setAttribute(key,value)
+
+ def hasAttribute(self,k):
+ '''Check if element has attribute '''
+ return self._node.hasAttribute(k)
+
+ def getAttribute(self,k):
+ '''Get attribute key value'''
+ return self._node.getAttribute(k)
+
+ def setAttribute(self,k,v):
+ '''Set attribute key value'''
+ self._node.setAttribute(k,str(v).lower()
+ if isinstance(v,bool) else str(v))
+
+ def setAttributes(self,**kwargs):
+ '''Set attributes to dictionary key and value'''
+ for k,v in kwargs.items():
+ self.setAttribute(k,v)
+
+ def getAttributes(self):
+ '''Get attributes as dict'''
+ return self._node.attributes
+
+ # ----------------------------------------------------------------
+ # Plain nodes
+ def getChildren(self):
+ '''Get child nodes (xml.dom.Node)'''
+ return self._node.childNodes
+
+ # ----------------------------------------------------------------
+ # Getters
+ #
+ # First generics
+ def getAsDict(self,tag='',key=None,enable=True):
+ '''Get elements with a specific tag as a dictionary
+ where the key is given by attribute key'''
+ cont = self._node.getElementsByTagName(tag)
+ if not enable or key is None:
+ return cont
+
+ return {e.getAttribute(key): e for e in cont}
+
+ def getAsOne(self,tag='',single=True):
+ '''Get elements with a specific tag, as a list.
+ If single is true, then assume we only have one such
+ child element, or fail.'''
+ cont = self._node.getElementsByTagName(tag)
+ if single and len(cont) != 1:
+ return None
+ return cont
- Parameters
- ----------
- pdfname : str
- File name
- page : int
- Page number
- opw : str
- Owner password
- upw : str
- User password
- timeout : int
- Timeout in seconds or None
+ def getElementsByKey(self,cls,key='',asdict=True):
+ '''Get elments of a specific class as a dictionary,
+ where the key is set by the key attribute.'''
+ cont = self.getAsDict(cls.TAG,key,asdict)
+ if cont is None: return None
+
+ if not asdict: return [cls(self,node=n) for n in cont]
+
+ return {k : cls(self,node=n) for k, n in cont.items()}
+
+ def getAllElements(self,cls,single=True):
+ '''Get elements with a specific tag, as a list. If single is
+ true, then assume we only have one such child element, or
+ fail.
+
+ '''
+ cont = self.getAsOne(cls.TAG,single=single)
+ if cont is None: return None
+ return [cls(self,node=n) for n in cont]
+
+ def getSpecificElements(self,cls,key,*names,asdict=True):
+ '''Get all elements of specific class and that has the
+ attribute key, and the attribute value is in names
+
+ '''
+ cont = self.getAsOne(cls.TAG,single=False)
+ cand = [cls(self,node=n) for n in cont
+ if n.getAttribute(key) in names]
+ if asdict:
+ return {c[key] : c for c in cand}
+ return cand
- Returns
- -------
- img : bytes
- The bytes of the image
- '''
- args = ['pdftocairo',
- '-singlefile',
- '-f', str(page),
- '-l', str(page),
- '-png']
- args.extend(add_pws(opw=opw,upw=upw))
- args.append(pdfname)
- args.append('-')
-
- proc = create_proc(args)
+ def getParent(self,cls,checkTag=True):
+ if self._node.parentNode is None:
+ return None
+ if checkTag and self._node.parentNode.tagName != cls.TAG:
+ return None
+ return cls(self,node=self._node.parentNode)
+
+ def getParentOfClass(self,cls):
+ '''Searches back until we find the parent with the right
+ class, or none
+ '''
+ t = {c.TAG: c for c in cls}
+ p = self._node.parentNode
+ while p is not None:
+ c = t.get(p.tagName,None)
+ if c is not None: return c(self,node=p)
+ p = p.parentNode
+ return None
+
+ # ----------------------------------------------------------------
+ # Adders
+ def addNode(self,tag,**attr):
+ '''Add a note to this element
+
+ Parameters
+ ----------
+ tag : str
+ Node tag name
+ attr : dict
+ Attributes to set
+ '''
+ e = self._root.createElement(tag)
+ if self._node: self._node.appendChild(e)
+
+ for k, v in attr.items():
+ e.setAttribute(k,str(v).lower() if isinstance(v,bool) else str(v))
+
+ return e
+
+ def addText(self,text):
+ '''Add a text child node to an element'''
+ t = self._root.createTextNode(text)
+ self._node.appendChild(t)
+ return t
+
+ def getText(self):
+ '''Get contained text node content'''
+ if self._node.firstChild is None or \
+ self._node.firstChild.nodeType != self._node.firstChild.TEXT_NODE:
+ return ''
+ return self._node.firstChild.nodeValue
+
- try:
- out, err = proc.communicate(timeout=timeout)
- except Exception as e:
- proc.kill()
- proc.communicate()
- raise RuntimeError(f'Failed to convert page {page} of {pdfname}: {e}')
+ def add(self,cls,**kwargs):
+ '''Add an element and return wrapped in cls object'''
+ return cls(self,node=None,**kwargs)
- from io import BytesIO
- from PIL import Image
-
- img = out #Image.open(BytesIO(out))
+ def append(self,elem):
+ '''Append and element'''
+ if self._node.appendChild(elem._node):
+ return elem
+ return False
- return img
+ # ----------------------------------------------------------------
+ def remove(self,elem):
+ '''Remove an element'''
+ try:
+ self._node.removeChild(elem._node)
+ except:
+ return None
+ return elem
+ # ----------------------------------------------------------------
+ def insertBefore(self,toadd,ref):
+ '''Insert an element before another element'''
+ try:
+ self._node.insertBefore(toadd._node,ref._node)
+ except:
+ return None
+ return toadd
# --------------------------------------------------------------------
-def ignore_entry(entry):
- return entry['category'] in ['<<dummy>>','<<eol>>']
+class DummyElement(Element):
+ def __init__(self,parent,node=None,**kwargs):
+ '''A dummy element we can use to select elements of different
+ classes
-# --------------------------------------------------------------------
-def convert_pages(pdfname,infoname,
- opw=None,upw=None,timeout=None):
- '''Convert pages in a PDF to images
+ '''
+ super(DummyElement,self).__init__(parent,'Dummy',node=node)
- This creates a list of dictionaries with the image name and data
- (as bytes)
- Parameters
- ----------
- pdfname : str
- File name of PDF to read images from
- infoname : str
- File name of CSV to read image info from
- opw : str
- Owner password
- upw : str
- User password
- timeout : int
- Timeout in seconds or None
+#
+# EOF
+#
+# ====================================================================
+# From globalkey.py
+
+# --------------------------------------------------------------------
+class GlobalKey(Element):
+ SELECTED = 'MAP|false|MAP|||||0|0||true|Selected|true|EQUALS'
+ def __init__(self,
+ parent,
+ tag,
+ node = None,
+ name = '',
+ buttonHotkey = '',
+ hotkey = '',
+ buttonText = '',
+ canDisable = False,
+ deckCount = '-1',
+ filter = '',
+ propertyGate = '',
+ reportFormat = '',
+ reportSingle = False,
+ singleMap = True,
+ target = SELECTED,
+ tooltip = '',
+ icon = ''):
+ '''
+ Parameters
+ ----------
+ - tag The XML tag to use
+ - parent Parent node
+ - node Optionally existing node
+ - name Name of key
+ - buttonHotkey Key in "global" scope
+ - hotkey Key to send to targeted pieces
+ - buttonText Text on button
+ - canDisable If true, disabled when propertyGate is true
+ - deckCount Number of decks (-1 is all)
+ - filter Which units to target
+ - propertyGate When true, disable
+ - reportFormat Chat message
+ - reportSingle Also show single piece reports
+ - singleMap Only originating map if True
+ - target Preselection filter (default selected pieces)
+ - tooltip Hover-over message
+ - icon Image to use as icon
+
+ Default targets are selected units
+ '''
+ nme = (name if len(name) > 0 else
+ tooltip if len(tooltip) > 0 else '')
+ tip = (tooltip if len(tooltip) > 0 else
+ name if len(name) > 0 else '')
+ super(GlobalKey,self).\
+ __init__(parent,
+ tag,
+ node = node,
+ name = nme,
+ buttonHotkey = buttonHotkey, # This hot key
+ hotkey = hotkey, # Target hot key
+ buttonText = buttonText,
+ canDisable = canDisable,
+ deckCount = deckCount,
+ filter = filter,
+ propertyGate = propertyGate,
+ reportFormat = reportFormat,
+ reportSingle = reportSingle,
+ singleMap = singleMap,
+ target = target,
+ tooltip = tip,
+ icon = icon)
+#
+# EOF
+#
+# ====================================================================
+# From gameelements.py
+
+# --------------------------------------------------------------------
+class GameElementService:
+ def getGame(self):
+ return self.getParent(Game)
+
+# --------------------------------------------------------------------
+class GameElement(Element,GameElementService):
+ def __init__(self,game,tag,node=None,**kwargs):
+ super(GameElement,self).__init__(game,tag,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class Notes(GameElement):
+ TAG = Element.MODULE+'NotesWindow'
+ def __init__(self,elem,node=None,
+ name = 'Notes',
+ buttonText = '',
+ hotkey = key('N',ALT),
+ icon = '/images/notes.gif',
+ tooltip = 'Show notes window'):
+ super(Notes,self).__init__(elem,self.TAG,node=node,
+ name = name,
+ buttonText = buttonText,
+ hotkey = hotkey,
+ icon = icon,
+ tooltip = tooltip)
+ def encode(self):
+ return ['NOTES\t\\','PNOTES']
+
+# --------------------------------------------------------------------
+class PredefinedSetup(GameElement):
+ TAG = Element.MODULE+'PredefinedSetup'
+ def __init__(self,elem,node=None,
+ name = '',
+ file = '',
+ useFile = False,
+ isMenu = False,
+ description = ''):
+ useFile = ((useFile or not isMenu) and
+ (file is not None and len(file) > 0))
+ if file is None: file = ''
+ super(PredefinedSetup,self).__init__(elem,self.TAG,node=node,
+ name = name,
+ file = file,
+ useFile = useFile,
+ isMenu = isMenu,
+ description = description)
+ def addPredefinedSetup(self,**kwargs):
+ '''Add a `PredefinedSetup` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : PredefinedSetup
+ The added element
+ '''
+ return self.add(PredefinedSetup,**kwargs)
+ def getPredefinedSetups(self,asdict=True):
+ '''Get all PredefinedSetup element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `PredefinedSetup` elements. If `False`, return a list of all PredefinedSetup` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `PredefinedSetup` children
+ '''
+ return self.getElementsByKey(PredefinedSetup,'name',asdict)
+
- Returns
- -------
- imgs : list
- List of images as dicts, info and the bytes of the images
- '''
+
+
+
+# --------------------------------------------------------------------
+class GlobalTranslatableMessages(GameElement):
+ TAG=Element.MODULE+'properties.GlobalTranslatableMessages'
+ def __init__(self,elem,node=None):
+ '''Translations
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ '''
+ super(GlobalTranslatableMessages,self).\
+ __init__(elem,self.TAG,node=node)
+
+# --------------------------------------------------------------------
+class Language(GameElement):
+ TAG = 'VASSAL.i18n.Language'
+ def __init__(self,elem,node=None,**kwargs):
+ super(Languate,self).__init__(sele,self.TAG,node=none,**kwargs)
+
+# --------------------------------------------------------------------
+class Chatter(GameElement):
+ TAG=Element.MODULE+'Chatter'
+ def __init__(self,elem,node=None,**kwargs):
+ '''Chat
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ kwargs : dict
+ Attributes
+ '''
+ super(Chatter,self).__init__(elem,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class KeyNamer(GameElement):
+ TAG=Element.MODULE+'KeyNamer'
+ def __init__(self,elem,node=None,**kwargs):
+ '''Key namer (or help menu)
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ kwargs : dict
+ Attributes
+ '''
+ super(KeyNamer,self).__init__(elem,self.TAG,node=node,**kwargs)
+
- oargs = {'opw':opw,'upw':upw,'timeout':timeout}
- docinfo = get_pdf_info(pdfname,**oargs)
- info = get_images_info(infoname)
+# --------------------------------------------------------------------
+# <VASSAL.build.module.GlobalOptions
+# autoReport="Always"
+# centerOnMove="Use Preferences Setting"
+# chatterHTMLSupport="Always"
+# hotKeysOnClosedWindows="Always"
+# inventoryForAll="Never"
+# nonOwnerUnmaskable="Always"
+# playerIdFormat="$PlayerName$"
+# promptString="Opponents can unmask pieces"
+# sendToLocationMoveTrails="Always"
+# storeLeadingZeroIntegersAsStrings="true">
+# <option name="stepIcon">/images/StepForward16.gif</option>
+# <option name="stepHotKey">39,130</option>
+# <option name="undoIcon">/images/Undo16.gif</option>
+# <option name="undoHotKey">90,130</option>
+# <option name="serverControlsIcon">/images/connect.gif</option>
+# <option name="serverControlsHotKey">65,195</option>
+# <option name="debugControlsIcon"/>
+# <option name="debugControlsHotKey">68,195</option>
+# </VASSAL.build.module.GlobalOptions>
+class GlobalOptions(GameElement):
+ NEVER = 'Never'
+ ALWAYS = 'Always'
+ PROMPT = 'Use Preferences Setting'
+ TAG = Element.MODULE+'GlobalOptions'
+ def __init__(self,doc,node=None,
+ autoReport = PROMPT,
+ centerOnMove = PROMPT,
+ chatterHTMLSupport = ALWAYS,
+ hotKeysOnClosedWindows = NEVER,
+ inventoryForAll = ALWAYS,
+ nonOwnerUnmaskable = PROMPT,
+ playerIdFormat = "$playerName$",
+ promptString = "Opponents can unmask pieces",
+ sendToLocationMoveTrails = NEVER,
+ storeLeadingZeroIntegersAsStrings = False,
+ description = 'Global options',
+ dragThreshold = 10):
+ '''Set global options on the module
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+
+ autoReport : str='always'
+ centerOnMove : str Option
+ chatterHTMLSupport : str='never'
+ hotKeysOnClosedWindows : str='never'
+ inventoryForAll : str='always'
+ nonOwnerUnmaskable : str='never'
+ playerIdFormat : str='$PlayerName$'
+ promptString : str=?
+ sendToLocationMoveTrails : bool=false
+ storeLeadingZeroIntegersAsStrings : bool=False
+ '''
+ super(GlobalOptions,self).\
+ __init__(doc,self.TAG,node=node,
+ autoReport = autoReport,
+ centerOnMove = centerOnMove,
+ chatterHTMLSupport = chatterHTMLSupport,
+ hotKeysOnClosedWindows = hotKeysOnClosedWindows,
+ inventoryForAll = inventoryForAll,
+ nonOwnerUnmaskable = nonOwnerUnmaskable,
+ playerIdFormat = playerIdFormat,
+ promptString = promptString,
+ sendToLocationMoveTrails = sendToLocationMoveTrails,
+ storeLeadingZeroIntegersAsStrings = storeLeadingZeroIntegersAsStrings,
+ dragThreshold = dragThreshold,
+ description = description)
+
+ def addOption(self,**kwargs):
+ '''Add a `Option` element to this
+
+ Options known
+ - stepIcon - image file name (/images/StepForward16.gif)
+ - stepHotKey - key
+ - undoIcon - image file name (/images/Undo16.gif)
+ - undoHotKey - key
+ - serverControlsIcon - image file name (/images/connect.gif)
+ - serverControlsHotKey - key
+ - debugControlsIcon - image file name
+ - debugControlsHotKey - key
+
- if len(info)-1 != docinfo['Pages']:
- raise RuntimeError(f'Number of pages in {pdfname} '
- f'({docinfo["Pages"]}) not {len(info)-1}')
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Option
+ The added element
+ '''
+ return self.add(Option,**kwargs)
+ def getOptions(self):
+ return self.getElementsByKey(Option,'name')
+
+ def addPreference(self,cls,**kwargs):
+ return self.add(cls,**kwargs)
+
+ def addIntPreference(self,**kwargs):
+ return self.add(IntPreference,**kwargs)
+
+ def addFloatPreference(self,**kwargs):
+ return self.add(FloatPreference,**kwargs)
+
+ def addBoolPreference(self,**kwargs):
+ return self.add(BoolPreference,**kwargs)
+
+ def addStrPreference(self,**kwargs):
+ return self.add(StrPreference,**kwargs)
+
+ def addTextPreference(self,**kwargs):
+ return self.add(TextPreference,**kwargs)
+
+ def addEnumPreference(self,**kwargs):
+ return self.add(EnumPreference,**kwargs)
+
+ def getIntPreferences(self):
+ return self.getElementsByKey(IntPreference,'name')
- for i in info:
- if ignore_entry(i): continue
- i['img'] = convert_page(pdfname,i['number'],**oargs)
+ def getFloatPreferences(self):
+ return self.getElementsByKey(FloatPreference,'name')
- return info
+ def getBoolPreferences(self):
+ return self.getElementsByKey(BoolPreference,'name')
-# ====================================================================
-def remove_and_get(zipfname,*filenames):
- '''Open zip file, and make a copy of it without the files listed
- in entries. Return the data of files listed in entry.'''
- from tempfile import mkdtemp
- from zipfile import ZipFile
- from shutil import move, rmtree
- from os import path
+ def getStrPreferences(self):
+ return self.getElementsByKey(StrPreference,'name')
- tempdir = mkdtemp()
- ret = {}
- try:
- tempname = path.join(tempdir, 'new.zip')
- with ZipFile(zipfname, 'r') as zipread:
+ def getTextPreferences(self):
+ return self.getElementsByKey(TextPreference,'name')
- with ZipFile(tempname, 'w') as zipwrite:
+ def getEnumPreferences(self):
+ return self.getElementsByKey(EnumPreference,'name')
- for item in zipread.infolist():
- data = zipread.read(item.filename)
+ def getPreferences(self):
+ retd = {}
+ for cls in [IntPreference,
+ FloatPreference,
+ BoolPreference,
+ StrPreference,
+ TextPreference,
+ EnumPreference]:
+ retd.update(self.getElementsByKey(cls,'name'))
- if item.filename not in filenames:
- zipwrite.writestr(item, data)
- else:
- ret[item.filename] = data
-
- move(tempname, zipfname)
- finally:
- rmtree(tempdir)
+ return retd
+
- return ret
+# --------------------------------------------------------------------
+class Option(Element):
+ TAG = 'option'
+ def __init__(self,doc,node=None,name='',value=''):
+ super(Option,self).__init__(doc,tag=self.TAG,node=node,name=name)
+ self.addText(value)
+
+ def getGlobalOptions(self):
+ return self.getParent(GlobalOptions)
+
+# --------------------------------------------------------------------
+class Preference(Element):
+ PREFS = 'VASSAL.preferences.'
+ def __init__(self,
+ doc,
+ tag,
+ node = None,
+ name = '',
+ default = '',
+ desc = '',
+ tab = '',
+ **kwargs):
+ '''Add a preference
+
+ Parameters
+ ----------
+ name : str
+ Name of property
+ default : str
+ Default value
+ desc : str
+ Description
+ tab : str
+ Preference tab to put in to
+ '''
+ super(Preference,self).__init__(doc,
+ tag = tag,
+ node = node,
+ name = name,
+ default = default,
+ desc = desc,
+ tab = tab)
+
+ def getGlobalOptions(self):
+ return self.getParent(GlobalOptions)
+
+# --------------------------------------------------------------------
+class IntPreference(Preference):
+ TAG = Preference.PREFS+'IntegerPreference'
+ def __init__(self,
+ doc,
+ node = None,
+ name = '',
+ default = 0,
+ desc = '',
+ tab = ''):
+ super(IntPreference,self).__init__(doc,
+ tag = self.TAG,
+ node = node,
+ name = name,
+ default = str(default),
+ desc = desc,
+ tab = tab)
+# --------------------------------------------------------------------
+class FloatPreference(Preference):
+ TAG = Preference.PREFS+'DoublePreference'
+ def __init__(self,
+ doc,
+ node = None,
+ name = '',
+ default = 0.,
+ desc = '',
+ tab = ''):
+ super(FloatPreference,self).__init__(doc,
+ tag = self.TAG,
+ node = node,
+ name = name,
+ default = str(default),
+ desc = desc,
+ tab = tab)
+# --------------------------------------------------------------------
+class BoolPreference(Preference):
+ TAG = Preference.PREFS+'BooleanPreference'
+ def __init__(self,
+ doc,
+ node = None,
+ name = '',
+ default = False,
+ desc = '',
+ tab = ''):
+ super(BoolPreference,self).__init__(doc,
+ tag = self.TAG,
+ node = node,
+ name = name,
+ default = ('true' if default
+ else 'false'),
+ desc = desc,
+ tab = tab)
+# --------------------------------------------------------------------
+class StrPreference(Preference):
+ TAG = Preference.PREFS+'StringPreference'
+ def __init__(self,
+ doc,
+ node = None,
+ name = '',
+ default = '',
+ desc = '',
+ tab = ''):
+ super(StrPreference,self).__init__(doc,
+ tag = self.TAG,
+ node = node,
+ name = name,
+ default = default,
+ desc = desc,
+ tab = tab)
+# --------------------------------------------------------------------
+class TextPreference(Preference):
+ TAG = Preference.PREFS+'TextPreference'
+ def __init__(self,
+ doc,
+ node = None,
+ name = '',
+ default = '',
+ desc = '',
+ tab = ''):
+ super(TextPreference,self).__init__(doc,
+ tag = self.TAG,
+ node = node,
+ name = name,
+ default = (default
+ .replace('\n','&#10;')),
+ desc = desc,
+ tab = tab)
+# --------------------------------------------------------------------
+class EnumPreference(Preference):
+ TAG = Preference.PREFS+'EnumPreference'
+ def __init__(self,
+ doc,
+ node = None,
+ name = '',
+ values = [],
+ default = '',
+ desc = '',
+ tab = ''):
+ ce = lambda v : str(v).replace(',',r'\,')
+ sl = [ce(v) for v in values]
+ df = ce(v)
+ assert df in sl, \
+ f'Default value "{default}" not in list {":".join(values)}'
+ super(EnumPreference,self).__init__(doc,
+ tag = self.TAG,
+ node = node,
+ name = name,
+ default = df,
+ desc = desc,
+ tab = tab,
+ list = sl)
+
# --------------------------------------------------------------------
-def add_back(zipfname,files):
- '''Open a zip file for appending and add data in files
+# CurrentMap == &quot;Board&quot;
+class Inventory(GameElement):
+ TAG = Element.MODULE+'Inventory'
+ def __init__(self,doc,node=None,
+ canDisable = False,
+ centerOnPiece = True,
+ disabledIcon = '',
+ drawPieces = True,
+ foldersOnly = False,
+ forwardKeystroke = True,
+ groupBy = '',
+ hotkey = key('I',ALT),
+ icon = '/images/inventory.gif',
+ include = '{}',
+ launchFunction = 'functionHide',
+ leafFormat = '$PieceName$',
+ name = '',
+ nonLeafFormat = '$PropertyValue$',
+ pieceZoom = '0.33',
+ pieceZoom2 = '0.5',
+ pieceZoom3 = '0.6',
+ propertyGate = '',
+ refreshHotkey = key('I',ALT_SHIFT),
+ showMenu = True,
+ sides = '',
+ sortFormat = '$PieceName$',
+ sortPieces = True,
+ sorting = 'alpha',
+ text = '',
+ tooltip = 'Show inventory of all pieces',
+ zoomOn = False):
+ super(Inventory,self).__init__(doc,self.TAG,node=node,
+ canDisable = canDisable,
+ centerOnPiece = centerOnPiece,
+ disabledIcon = disabledIcon,
+ drawPieces = drawPieces,
+ foldersOnly = foldersOnly,
+ forwardKeystroke = forwardKeystroke,
+ groupBy = groupBy,
+ hotkey = hotkey,
+ icon = icon,
+ include = include,
+ launchFunction = launchFunction,
+ leafFormat = leafFormat,
+ name = name,
+ nonLeafFormat = nonLeafFormat,
+ pieceZoom = pieceZoom,
+ pieceZoom2 = pieceZoom2,
+ pieceZoom3 = pieceZoom3,
+ propertyGate = propertyGate,
+ refreshHotkey = refreshHotkey,
+ showMenu = showMenu,
+ sides = sides,
+ sortFormat = sortFormat,
+ sortPieces = sortPieces,
+ sorting = sorting,
+ text = text,
+ tooltip = tooltip,
+ zoomOn = zoomOn)
+
+
+
- Files is a dictionary of filenames mapping to file content,
- as returned by remove_and_get
- '''
- from zipfile import ZipFile
- with ZipFile(zipfname, 'a') as zipadd:
- for filename,data in files.items():
- zipadd.writestr(filename,data)
+
-# ====================================================================
-# Contants used for tag names
-BUILD = 'VASSAL.build.'
-MODULE = BUILD + 'module.'
-WIDGET = BUILD + 'widget.'
-MAP = MODULE + 'map.'
-PICKER = MAP + 'boardPicker.'
-# ====================================================================
-def get_asdict(elem,tag,key,enable=True):
- cont = elem.getElementsByTagName(tag)
- if not enable:
- return cont
- return {e.getAttribute(key): e for e in cont}
-# --------------------------------------------------------------------
-def get_asone(elem,tag,enable=True):
- cont = elem.getElementsByTagName(tag)
- if enable and len(cont) != 1:
- return None
- return cont
-
-# --------------------------------------------------------------------
-def get_doc(string):
- from xml.dom.minidom import parseString
- return parseString(string)
# --------------------------------------------------------------------
-def get_game(doc):
- return doc.getElementsByTagName('VASSAL.build.GameModule')[0]
+class Prototypes(GameElement):
+ TAG = Element.MODULE+'PrototypesContainer'
+ def __init__(self,game,node=None,**kwargs):
+ super(Prototypes,self).\
+ __init__(game,self.TAG,node=node,**kwargs)
-# --------------------------------------------------------------------
-def get_globalproperties(doc,one=True):
- return get_asone(doc,MODULE+'properties.GlobalProperties',one)
+ def addPrototype(self,**kwargs):
+ '''Add a `Prototype` element to this
-# --------------------------------------------------------------------
-def get_globalproperty(doc,asdict=True):
- '''A little confusing - this returns a dictionary'''
- return get_asdict(doc,MODULE+'properties.GlobalProperty','name',asdict)
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Prototype
+ The added element
+ '''
+ return self.add(Prototype,**kwargs)
+ def getPrototypes(self,asdict=True):
+ '''Get all Prototype element(s) from this
-# --------------------------------------------------------------------
-def get_turntrack(doc,asdict=True):
- return get_asdict(doc,MODULE+'turn.TurnTracker','name',asdict)
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Prototype` elements. If `False`, return a list of all Prototype` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Prototype` children
+ '''
+ return self.getElementsByKey(Prototype,'name',asdict=asdict)
+
+
-# --------------------------------------------------------------------
-def get_turncounter(doc,asdict=True):
- return get_asdict(doc,MODULE+'turn.CounterTurnLevel','property',asdict)
# --------------------------------------------------------------------
-def get_turnlist(doc,asdict=True):
- return get_asdict(doc,MODULE+'turn.ListTurnLevel','property',asdict)
-
+class DiceButton(GameElement):
+ TAG=Element.MODULE+'DiceButton'
+ def __init__(self,elem,node=None,
+ addToTotal = 0,
+ canDisable = False,
+ hotkey = key('6',ALT),
+ icon = '/images/die.gif',
+ keepCount = 1,
+ keepDice = False,
+ keepOption = '>',
+ lockAdd = False,
+ lockDice = False,
+ lockPlus = False,
+ lockSides = False,
+ nDice = 1,
+ nSides = 6,
+ name = '1d6',
+ plus = 0,
+ prompt = False,
+ propertyGate = '',
+ reportFormat = '** $name$ = $result$ *** <$PlayerName$>;',
+ reportTotal = False,
+ sortDice = False,
+ text = '1d6',
+ tooltip = 'Roll a 1d6'):
+ super(DiceButton,self).\
+ __init__(elem,self.TAG,node=node,
+ addToTotal = addToTotal,
+ canDisable = canDisable,
+ hotkey = hotkey,
+ icon = icon,
+ keepCount = keepCount,
+ keepDice = keepDice,
+ keepOption = keepOption,
+ lockAdd = lockAdd,
+ lockDice = lockDice,
+ lockPlus = lockPlus,
+ lockSides = lockSides,
+ nDice = nDice,
+ nSides = nSides,
+ name = name,
+ plus = plus,
+ prompt = prompt,
+ propertyGate = propertyGate,
+ reportFormat = reportFormat,
+ reportTotal = reportTotal,
+ sortDice = sortDice,
+ text = text,
+ tooltip = tooltip)
+
+# --------------------------------------------------------------------
+class GameMassKey(GlobalKey,GameElementService):
+ TAG = Element.MODULE+'GlobalKeyCommand'
+ def __init__(self,map,node=None,
+ name = '',
+ buttonHotkey = '',
+ hotkey = '',
+ buttonText = '',
+ canDisable = False,
+ deckCount = '-1',
+ filter = '',
+ propertyGate = '',
+ reportFormat = '',
+ reportSingle = False,
+ singleMap = True,
+ target = GlobalKey.SELECTED,
+ tooltip = '',
+ icon = ''):
+ '''Default targets are selected units'''
+ super(GameMassKey,self).\
+ __init__(map,
+ self.TAG,
+ node = node,
+ name = name,
+ buttonHotkey = buttonHotkey, # This hot key
+ hotkey = hotkey, # Target hot key
+ buttonText = buttonText,
+ canDisable = canDisable,
+ deckCount = deckCount,
+ filter = filter,
+ propertyGate = propertyGate,
+ reportFormat = reportFormat,
+ reportSingle = reportSingle,
+ singleMap = singleMap,
+ target = target,
+ tooltip = tooltip,
+ icon = icon)
+
# --------------------------------------------------------------------
-def get_turnhotkey(doc,asdict=True):
- return get_asdict(doc,MODULE+'turn.TurnGlobalHotkey','hotkey',asdict)
-
+class StartupMassKey(GlobalKey,GameElementService):
+ TAG = Element.MODULE+'StartupGlobalKeyCommand'
+ FIRST_LAUNCH = 'firstLaunchOfSession'
+ EVERY_LAUNCH = 'everyLaunchOfSession'
+ START_GAME = 'startOfGameOnly'
+ def __init__(self,
+ map,
+ node = None,
+ name = '',
+ buttonHotkey = '',
+ hotkey = '',
+ buttonText = '',
+ canDisable = False,
+ deckCount = '-1',
+ filter = '',
+ propertyGate = '',
+ reportFormat = '',
+ reportSingle = False,
+ singleMap = True,
+ target = GlobalKey.SELECTED,
+ tooltip = '',
+ icon = '',
+ whenToApply = EVERY_LAUNCH):
+ '''Default targets are selected units'''
+ super(StartupMassKey,self).\
+ __init__(map,
+ self.TAG,
+ node = node,
+ name = name,
+ buttonHotkey = buttonHotkey, # This hot key
+ hotkey = hotkey, # Target hot key
+ buttonText = buttonText,
+ canDisable = canDisable,
+ deckCount = deckCount,
+ filter = filter,
+ propertyGate = propertyGate,
+ reportFormat = reportFormat,
+ reportSingle = reportSingle,
+ singleMap = singleMap,
+ target = target,
+ tooltip = tooltip,
+ icon = icon)
+ if node is None:
+ self['whenToApply'] = whenToApply
+
+# --------------------------------------------------------------------
+class Menu(GameElement):
+ TAG = Element.MODULE+'ToolbarMenu'
+ def __init__(self,
+ game,
+ node = None,
+ canDisable = False,
+ description = '',
+ disabledIcon = '',
+ hotkey = '',
+ icon = '',
+ menuItems = [],# Button texts
+ propertyGate = '',
+ text = '',# Menu name
+ tooltip = ''):
+ if len(description) <= 0 and len(tooltip) > 0:
+ description = tooltip
+ if len(tooltip) <= 0 and len(description) > 0:
+ tooltip = description
+ super(Menu,self).\
+ __init__(game,
+ self.TAG,
+ node = node,
+ canDisable = canDisable,
+ description = description,
+ disabledIcon = disabledIcon,
+ hotkey = hotkey,
+ icon = icon,
+ menuItems = ','.join(menuItems),
+ propertyGate = propertyGate,
+ text = text,
+ tooltip = tooltip)
+
+
# --------------------------------------------------------------------
-def get_documentation(doc,one=True):
- return get_asone(doc,MODULE+'Documentation',one)
-
+class SymbolicDice(GameElement):
+ TAG = Element.MODULE+'SpecialDiceButton'
+ def __init__(self,
+ game,
+ node = None,
+ canDisable = False,
+ disabledIcon = '',
+ hotkey = key('6',ALT),
+ name = "Dice", # GP prefix
+ text = '', # Text on button
+ icon = '/images/die.gif', # Icon on button
+ format = '{name+": "+result1}', # Report
+ tooltip = 'Die roll', # Help
+ propertyGate = '', # Property to disable when T
+ resultButton = False, # Result on button?
+ resultChatter = True, # Result in Chatter?
+ resultWindow = False, # Result window?
+ backgroundColor = rgb(0xdd,0xdd,0xdd), # Window background
+ windowTitleResultFormat = "$name$", # Window title
+ windowX = '67', # Window size
+ windowY = '65'):
+ super(SymbolicDice,self).\
+ __init__(game,
+ self.TAG,
+ node = node,
+ canDisable = canDisable,
+ disabledIcon = disabledIcon,
+ hotkey = hotkey,
+ name = name,
+ text = text,
+ icon = icon,
+ format = format,
+ tooltip = tooltip,
+ propertyGate = propertyGate,
+ resultButton = resultButton,
+ resultChatter = resultChatter,
+ resultWindow = resultWindow,
+ backgroundColor = backgroundColor,
+ windowTitleResultFormat = windowTitleResultFormat,
+ windowX = windowX,
+ windowY = windowY)
+
+ def addDie(self,**kwargs):
+ return self.add(SpecialDie,**kwargs)
+
+ def getSymbolicDice(self):
+ return self.getParent(SymbolicDice)
+
+
# --------------------------------------------------------------------
-def get_helpfiles(doc,key='fileName',asdict=True):
- return get_asdict(doc,MODULE+'documentation.HelpFile',key,asdict)
+class SpecialDie(GameElement):
+ TAG = Element.MODULE+'SpecialDie'
+ def __init__(self,
+ symbolic, # Symblic dice
+ node = None,
+ name = '', # Name of dice (no GP)
+ report = '{name+": "+result}',
+ faces = None):
+ super(SpecialDie,self).\
+ __init__(symbolic,
+ self.TAG,
+ node = node,
+ name = name,
+ report = report)
+ if node is not None or faces is None:
+ return
+ if isinstance(faces,list):
+ faces = {i+1: f for i,f in enumerate(faces)}
+ for v,f in faces:
+ self.addFace(text = str(v), value = v, icon = f)
+
+ def addFace(self,**kwargs):
+ self.add(DieFace,**kwargs)
+
+ def getSymbolicDice(self):
+ return self.getParent(SymbolicDice)
+
-# --------------------------------------------------------------------
-def get_tutorials(doc,key='name',asdict=True):
- return get_asdict(doc,MODULE+'documentation.Tutorial',key,asdict)
+
+
+# --------------------------------------------------------------------
+class DieFace(GameElement):
+ TAG = Element.MODULE+'SpecialDieFace'
+ def __init__(self,
+ special, # Special dice
+ node, # existing node
+ icon = '', # graphical representation
+ text = '', # Text representation
+ value = 0): # Value representation
+ super(DieFace,self).\
+ __init__(special,
+ self.TAG,
+ node = node,
+ icon = icon,
+ text = text,
+ value = value)
+
+ def getSpecialDie(self):
+ return self.getParent(SpecialDie)
+#
+# EOF
+#
+# ====================================================================
+# From mapelements.py
+
+# --------------------------------------------------------------------
+class MapElementService:
+ def getMap(self):
+ '''Get map - either a Map or WidgetMap'''
+ return self.getParentOfClass([WidgetMap,Map])
+ # if self._parent is None:
+ # return None
+ #
+ # if 'WidgetMap' in self._parent.tagName:
+ # return self.getParent(WidgetMap)
+ #
+ # return self.getParent(Map)
+ def getGame(self):
+ m = self.getMap()
+ if m is not None: return m.getGame()
+ return None
# --------------------------------------------------------------------
-def get_inventories(doc,key='name',asdict=False):
- return get_asdict(doc,MODULE+'Inventory',key,asdict)
+class MapElement(Element,MapElementService):
+ def __init__(self,map,tag,node=None,**kwargs):
+ super(MapElement,self).__init__(map,tag,node=node,**kwargs)
-# --------------------------------------------------------------------
-def get_maps(doc,asdict=True):
- return get_asdict(doc,MODULE+'Map','mapName',asdict)
# --------------------------------------------------------------------
-def get_widgetmap(doc,asdict=True):
- return get_asdict(doc,WIDGET+'WidgetMap','mapName',asdict)
-
+class StackMetrics(MapElement):
+ TAG=Element.MAP+'StackMetrics'
+ def __init__(self,map,node=None,
+ bottom = key('(',0),
+ down = key('%',0),
+ top = key('&',0),
+ up = key("'",0),
+ disabled = False,
+ exSepX = 6, # Expanded (after double click)
+ exSepY = 18, # Expanded (after double click)
+ unexSepX = 8, # Compact
+ unexSepY = 16): # Compact
+ super(StackMetrics,self).__init__(map,self.TAG,node=node,
+ bottom = bottom,
+ disabled = disabled,
+ down = down,
+ exSepX = exSepX,
+ exSepY = exSepY,
+ top = top,
+ unexSepX = unexSepX,
+ unexSepY = unexSepY,
+ up = up)
+
+# --------------------------------------------------------------------
+class ImageSaver(MapElement):
+ TAG=Element.MAP+'ImageSaver'
+ def __init__(self,map,node=None,
+ buttonText = '',
+ canDisable = False,
+ hotkey = '',
+ icon = '/images/camera.gif',
+ propertyGate = '',
+ tooltip = 'Save map as PNG image'):
+ super(ImageSaver,self).__init__(map,self.TAG,node=node,
+ buttonText = buttonText,
+ canDisable = canDisable,
+ hotkey = hotkey,
+ icon = icon,
+ propertyGate = propertyGate,
+ tooltip = tooltip)
+# --------------------------------------------------------------------
+class TextSaver(MapElement):
+ TAG=Element.MAP+'TextSaver'
+ def __init__(self,map,node=None,
+ buttonText = '',
+ canDisable = False,
+ hotkey = '',
+ icon = '/images/camera.gif',
+ propertyGate = '',
+ tooltip = 'Save map as text'):
+ super(TextSaver,self).__init__(map,self.TAG,node=node,
+ buttonText = buttonText,
+ canDisable = canDisable,
+ hotkey = hotkey,
+ icon = icon,
+ propertyGate = propertyGate,
+ tooltip = tooltip)
+
+
+# --------------------------------------------------------------------
+class ForwardToChatter(MapElement):
+ TAG=Element.MAP+'ForwardToChatter'
+ def __init__(self,map,node=None,**kwargs):
+ super(ForwardToChatter,self).__init__(map,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class MenuDisplayer(MapElement):
+ TAG=Element.MAP+'MenuDisplayer'
+ def __init__(self,map,node=None,**kwargs):
+ super(MenuDisplayer,self).__init__(map,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class MapCenterer(MapElement):
+ TAG=Element.MAP+'MapCenterer'
+ def __init__(self,map,node=None,**kwargs):
+ super(MapCenterer,self).__init__(map,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class StackExpander(MapElement):
+ TAG=Element.MAP+'StackExpander'
+ def __init__(self,map,node=None,**kwargs):
+ super(StackExpander,self).__init__(map,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class PieceMover(MapElement):
+ TAG=Element.MAP+'PieceMover'
+ def __init__(self,map,node=None,**kwargs):
+ super(PieceMover,self).__init__(map,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class SelectionHighlighters(MapElement):
+ TAG=Element.MAP+'SelectionHighlighters'
+ def __init__(self,map,node=None,**kwargs):
+ super(SelectionHighlighters,self).\
+ __init__(map,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class KeyBufferer(MapElement):
+ TAG=Element.MAP+'KeyBufferer'
+ def __init__(self,map,node=None,**kwargs):
+ super(KeyBufferer,self).__init__(map,self.TAG,node=node,**kwargs)
+
+# --------------------------------------------------------------------
+class HighlightLastMoved(MapElement):
+ TAG=Element.MAP+'HighlightLastMoved'
+ def __init__(self,map,node=None,
+ color = rgb(255,0,0),
+ enabled = True,
+ thickness = 2):
+ super(HighlightLastMoved,self).__init__(map,self.TAG,node=node,
+ color = color,
+ enabled = enabled,
+ thickness = thickness)
+
+# --------------------------------------------------------------------
+class CounterDetailViewer(MapElement):
+ TAG=Element.MAP+'CounterDetailViewer'
+ TOP_LAYER = 'from top-most layer only'
+ ALL_LAYERS = 'from all layers'
+ INC_LAYERS = 'from listed layers only'
+ EXC_LAYERS = 'from layers other than those listed'
+ FILTER = 'by using a property filter'
+ def __init__(self,map,node=None,
+ borderWidth = 0,
+ centerAll = False,
+ centerText = False,
+ combineCounterSummary = False,
+ counterReportFormat = '',
+ delay = 700,
+ description = '',
+ display = TOP_LAYER,
+ emptyHexReportForma = '$LocationName$',
+ enableHTML = True,
+ extraTextPadding = 0,
+ fgColor = rgb(0,0,0),
+ fontSize = 9,
+ graphicsZoom = 1.0,
+ hotkey = key('\n',0),
+ layerList = '',
+ minDisplayPieces = 2,
+ propertyFilter = '',
+ showDeck = False,
+ showDeckDepth = 1,
+ showDeckMasked = False,
+ showMoveSelectde = False,
+ showNoStack = False,
+ showNonMovable = False,
+ showOverlap = False,
+ showgraph = True,
+ showgraphsingle = False,
+ showtext = False,
+ showtextsingle = False,
+ stretchWidthSummary = False,
+ summaryReportFormat = '$LocationName$',
+ unrotatePieces = False,
+ version = 3,
+ verticalOffset = 0,
+ verticalTopText = 5,
+ zoomlevel = 1.0): # showTerrain attributes
+ super(CounterDetailViewer,self)\
+ .__init__(map,self.TAG,node=node,
+ borderWidth = borderWidth,
+ centerAll = centerAll,
+ centerText = centerText,
+ combineCounterSummary = combineCounterSummary,
+ counterReportFormat = counterReportFormat,
+ delay = delay,
+ description = description,
+ display = display,
+ emptyHexReportForma = emptyHexReportForma,
+ enableHTML = enableHTML,
+ extraTextPadding = extraTextPadding,
+ fgColor = fgColor,
+ fontSize = fontSize,
+ graphicsZoom = graphicsZoom,
+ hotkey = hotkey,
+ layerList = layerList,
+ minDisplayPieces = minDisplayPieces,
+ propertyFilter = propertyFilter,
+ showDeck = showDeck,
+ showDeckDepth = showDeckDepth,
+ showDeckMasked = showDeckMasked,
+ showMoveSelectde = showMoveSelectde,
+ showNoStack = showNoStack,
+ showNonMovable = showNonMovable,
+ showOverlap = showOverlap,
+ showgraph = showgraph,
+ showgraphsingle = showgraphsingle,
+ showtext = showtext,
+ showtextsingle = showtextsingle,
+ stretchWidthSummary = stretchWidthSummary,
+ summaryReportFormat = summaryReportFormat,
+ unrotatePieces = unrotatePieces,
+ version = version,
+ verticalOffset = verticalOffset,
+ verticalTopText = verticalTopText,
+ zoomlevel = zoomlevel)
+
+# --------------------------------------------------------------------
+class GlobalMap(MapElement):
+ TAG=Element.MAP+'GlobalMap'
+ def __init__(self,map,node=None,
+ buttonText = '',
+ color = rgb(255,0,0),
+ hotkey = key('O',CTRL_SHIFT),
+ icon = '/images/overview.gif',
+ scale = 0.2,
+ tooltip = 'Show/Hide overview window'):
+ super(GlobalMap,self).\
+ __init__(map,self.TAG,node=node,
+ buttonText = buttonText,
+ color = color,
+ hotkey = hotkey,
+ icon = icon,
+ scale = scale,
+ tooltip = 'Show/Hide overview window')
+
+# --------------------------------------------------------------------
+class Zoomer(MapElement):
+ TAG = Element.MAP+'Zoomer'
+ def __init__(self,map,node=None,
+ inButtonText = '',
+ inIconName = '/images/zoomIn.gif',
+ inTooltip = 'Zoom in',
+ outButtonText = '',
+ outIconName = '/images/zoomOut.gif',
+ outTooltip = 'Zoom out',
+ pickButtonText = '',
+ pickIconName = '/images/zoom.png',
+ pickTooltip = 'Select Zoom',
+ zoomInKey = key('=',CTRL_SHIFT),
+ zoomLevels = [0.2,0.25,0.333,0.4,0.5,
+ 0.555,0.625,0.75,1.0,1.25,1.6],
+ zoomOutKey = key('-'),
+ zoomPickKey = key('='),
+ zoomStart = 3):
+ '''Zoom start is counting from the back (with default zoom levels,
+ and zoom start, the default zoom is 1'''
+ lvls = ','.join([str(z) for z in zoomLevels])
+ super(Zoomer,self).\
+ __init__(map,self.TAG,node=node,
+ inButtonText = inButtonText,
+ inIconName = inIconName,
+ inTooltip = inTooltip,
+ outButtonText = outButtonText,
+ outIconName = outIconName,
+ outTooltip = outTooltip,
+ pickButtonText = pickButtonText,
+ pickIconName = pickIconName,
+ pickTooltip = pickTooltip,
+ zoomInKey = zoomInKey,
+ zoomLevels = lvls,
+ zoomOutKey = zoomOutKey,
+ zoomPickKey = zoomPickKey,
+ zoomStart = zoomStart)
+
+# --------------------------------------------------------------------
+class HidePiecesButton(MapElement):
+ TAG=Element.MAP+'HidePiecesButton'
+ def __init__(self,map,node=None,
+ buttonText = '',
+ hiddenIcon = '/images/globe_selected.gif',
+ hotkey = key('O'),
+ showingIcon = '/images/globe_unselected.gif',
+ tooltip = 'Hide all pieces on this map'):
+ super(HidePiecesButton,self).\
+ __init__(map,self.TAG,node=node,
+ buttonText = buttonText,
+ hiddenIcon = hiddenIcon,
+ hotkey = hotkey,
+ showingIcon = showingIcon,
+ tooltip = tooltip)
+
# --------------------------------------------------------------------
-def get_chartwindows(doc,asdict=True):
- return get_asdict(doc,MODULE+'ChartWindow','name',asdict)
+class MassKey(GlobalKey,MapElementService):
+ TAG = Element.MAP+'MassKeyCommand'
+ def __init__(self,map,node=None,
+ name = '',
+ buttonHotkey = '',
+ hotkey = '',
+ buttonText = '',
+ canDisable = False,
+ deckCount = '-1',
+ filter = '',
+ propertyGate = '',
+ reportFormat = '',
+ reportSingle = False,
+ singleMap = True,
+ target = GlobalKey.SELECTED,
+ tooltip = '',
+ icon = ''):
+ '''Default targets are selected units'''
+ super(MassKey,self).\
+ __init__(map,self.TAG,node=node,
+ name = name,
+ buttonHotkey = buttonHotkey, # This hot key
+ hotkey = hotkey, # Target hot key
+ buttonText = buttonText,
+ canDisable = canDisable,
+ deckCount = deckCount,
+ filter = filter,
+ propertyGate = propertyGate,
+ reportFormat = reportFormat,
+ reportSingle = reportSingle,
+ singleMap = singleMap,
+ target = target,
+ tooltip = tooltip,
+ icon = icon)
+
+
+# --------------------------------------------------------------------
+class Flare(MapElement):
+ TAG=Element.MAP+'Flare'
+ def __init__(self,map,node=None,
+ circleColor = rgb(255,0,0),
+ circleScale = True,
+ circleSize = 100,
+ flareKey = 'keyAlt',
+ flareName = 'Map Flare',
+ flarePulses = 6,
+ flarePulsesPerSec = 3,
+ reportFormat = ''):
+ super(Flare,self).__init__(map,self.TAG,node=node,
+ circleColor = circleColor,
+ circleScale = circleScale,
+ circleSize = circleSize,
+ flareKey = flareKey,
+ flareName = flareName,
+ flarePulses = flarePulses,
+ flarePulsesPerSec = flarePulsesPerSec,
+ reportFormat = '')
+
+# --------------------------------------------------------------------
+class AtStart(MapElement):
+ TAG = Element.MODULE+'map.SetupStack'
+ def __init__(self,map,node=None,
+ name = '',
+ location = '',
+ useGridLocation = True,
+ owningBoard = '',
+ x = 0,
+ y = 0):
+ '''Pieces are existing PieceSlot elements'''
+ super(AtStart,self).\
+ __init__(map,self.TAG,node=node,
+ name = name,
+ location = location,
+ owningBoard = owningBoard,
+ useGridLocation = useGridLocation,
+ x = x,
+ y = y)
+
+ def addPieces(self,*pieces):
+ '''Add a `Pieces` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Pieces
+ The added element
+ '''
+ # copy pieces here
+ copies = []
+ for p in pieces:
+ c = self.addPiece(p)
+ if c is not None:
+ copies.append(c)
+ return copies
+
+ def addPiece(self,piece):
+ '''Add a `Piece` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Piece
+ The added element
+ '''
+ if not isinstance(piece,PieceSlot):
+ print(f'Trying to add {type(piece)} to AtStart')
+ return None
+
+ p = piece.clone(self)
+ # self._node.appendChild(p._node)
+ return p
+
+ def getPieces(self,asdict=True):
+ '''Get all Piece element(s) from this
-# --------------------------------------------------------------------
-def get_map(doc,name):
- maps = get_maps(doc,True)
- return maps.get(name, None) if maps else None
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Piece`
+ elements. If `False`, return a list of all Piece`
+ children.
-# --------------------------------------------------------------------
-def get_boards(doc,asdict=True):
- return get_asdict(doc,PICKER+'Board','name',asdict)
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Piece` children
-# --------------------------------------------------------------------
-def get_zoned(doc,one=True):
- return get_asone(doc,PICKER+'board.ZonedGrid',one)
+ '''
+ return self.getElementsWithKey(PieceSlot,'entryName',asdict)
-# --------------------------------------------------------------------
-def get_zone(doc,asdict=True):
- return get_asdict(doc,PICKER+'board.mapgrid.Zone','name',asdict)
+#
+# EOF
+#
+# ====================================================================
+# From globalproperty.py
# --------------------------------------------------------------------
-def get_hexgrid(doc,one=True):
- return get_asone(doc,PICKER+'board.HexGrid',one)
+class GlobalProperties(Element):
+ TAG = Element.MODULE+'properties.GlobalProperties'
+ def __init__(self,elem,node=None,**named):
+ super(GlobalProperties,self).__init__(elem,self.TAG,node=node)
+
+ for n, p in named:
+ self.addProperty(n, **p)
+
+ def getGame(self):
+ return self.getParent(Game)
+ def addProperty(self,**kwargs):
+ '''Add a `Property` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Property
+ The added element
+ '''
+ return GlobalProperty(self,node=None,**kwargs)
+ def getProperties(self):
+ return getElementsByKey(GlobalProperty,'name')
+
# --------------------------------------------------------------------
-def get_squaregrid(doc,one=True):
- return get_asone(doc,PICKER+'board.SquareGrid',one)
+class GlobalProperty(Element):
+ TAG = Element.MODULE+'properties.GlobalProperty'
+ def __init__(self,elem,node=None,
+ name = '',
+ initialValue = '',
+ isNumeric = False,
+ min = "null",
+ max = "null",
+ wrap = False,
+ description = ""):
+ super(GlobalProperty,self).__init__(elem,self.TAG,
+ node = node,
+ name = name,
+ initialValue = initialValue,
+ isNumeric = isNumeric,
+ min = min,
+ max = max,
+ wrap = wrap,
+ description = description)
+
+ def getGlobalProperties(self):
+ return self.getParent(GlobalProperties)
-# --------------------------------------------------------------------
-def get_regiongrid(doc,one=True):
- return get_asone(doc,PICKER+'board.RegionGrid',one)
-# --------------------------------------------------------------------
-def get_hexnumbering(doc,one=True):
- return get_asone(doc,PICKER+'board.mapgrid.HexGridNumbering',one)
+#
+# EOF
+#
+# ====================================================================
+# From turn.py
+
+# --------------------------------------------------------------------
+class TurnLevel(Element):
+ def __init__(self,elem,tag,node=None,**kwargs):
+ super(TurnLevel,self).__init__(elem,tag,node=node,**kwargs)
+
+ def addLevel(self,counter=None,phases=None):
+ '''Add a `Level` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Level
+ The added element
+ '''
+ if counter is None and phases is None:
+ return self
-# --------------------------------------------------------------------
-def get_regions(doc,asdict=True):
- return get_asdict(doc,PICKER+'board.Region', 'name', asdict)
+ t = TurnCounter if counter is not None else TurnList
+ o = counter if counter is not None else phases
+
+ subcounter = o.pop('counter',None)
+ subphases = o.pop('phases',None)
+
+ s = t(self,node=None,**o)
+
+ return s.addLevel(subcounter, subphases)
+
+ def getUp(self):
+ return self.getParent(TurnLevel)
+ def addCounter(self,**kwargs):
+ '''Add a `Counter` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Counter
+ The added element
+ '''
+ return self.add(self,TurnCounter,**kwargs)
+ def addList(self,**kwargs):
+ '''Add a `List` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : List
+ The added element
+ '''
+ return self.add(self,TurnList,**kwargs)
+ def getCounter(self):
+ return self.getAllElements(TurnCounter)
+ def getList(self):
+ return self.getAllElements(TurnList)
+
+# --------------------------------------------------------------------
+class TurnTrack(TurnLevel):
+ TAG = Element.MODULE+'turn.TurnTracker'
+ def __init__(self,elem,node=None,
+ name = '',
+ buttonText = 'Turn',
+ hotkey = '',
+ icon = '',
+ length = -1,
+ lengthStyle = 'Maximum',
+ nexthotkey = key('T',ALT),
+ plusButtonSize = 22,
+ prevhotkey = key('T',ALT_SHIFT),
+ reportFormat = 'Turn updated from $oldTurn$ to $newTurn$',
+ turnButtonHeight = 22,
+ fwdOnly = True,
+ turnFormat = None,
+ counter = None,
+ phases = None):
+ levels = (counter if counter is not None else
+ phases if phases is not None else None)
+ if levels is not None:
+ lvl = 1
+ lvls = [f'$level{lvl}$']
+ sub = levels
+ while True:
+ sub = sub.get('counter',sub.get('phases',None))
+ if sub is None:
+ break
+ lvl += 1
+ lvls.append(f'$level{lvl}$')
+
+ turnFormat = ' '.join(lvls)
+
+ if turnFormat is None:
+ turnFormat = '$level1$ $level2$ $level3$ $level4$'
+
+ super(TurnTrack,self).__init__(elem, self.TAG,
+ node = node,
+ name = name,
+ buttonText = buttonText,
+ hotkey = hotkey,
+ icon = icon,
+ length = length,
+ lengthStyle = lengthStyle,
+ nexthotkey = nexthotkey,
+ plusButtonSize = plusButtonSize,
+ prevhotkey = prevhotkey,
+ reportFormat = reportFormat,
+ turnButtonHeight = turnButtonHeight,
+ turnFormat = turnFormat)
+
+ self.addLevel(counter=counter, phases=phases)
+
+ def getGame(self):
+ return self.getParent(Game)
+ def getLists(self,asdict=True):
+ '''Get all List element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `List`
+ elements. If `False`, return a list of all List`
+ children.
+
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `List` children
+
+ '''
+ return self.getElementsByKey(TurnList,'property',asdict=asdict)
+ def getCounters(self,asdict=True):
+ '''Get all Counter element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Counter`
+ elements. If `False`, return a list of all Counter`
+ children.
+
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Counter` children
+
+ '''
+ return self.getElementsByKey(TurnCounter,'property',asdict=asdict)
+ def addHotkey(self,**kwargs):
+ '''Add a `Hotkey` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Hotkey
+ The added element
+ '''
+ return self.add(TurnGlobalHotkey,**kwargs)
+ def getHotkeys(self,asdict):
+ return self.getElementsByKey(TurnGlobalHotkey,'name',asdict=asdict)
+ def encode(self):
+ ret = f'TURN{self["name"]}\t'
+
+ return []
+
# --------------------------------------------------------------------
-def get_squarenumbering(doc,one=True):
- return get_asone(doc,PICKER+'board.mapgrid.SquareGridNumbering', one)
-
+class TurnCounter(TurnLevel):
+ TAG = Element.MODULE+"turn.CounterTurnLevel"
+ def __init__(self,elem,node=None,
+ property = '',
+ start = 1,
+ incr = 1,
+ loop = False,
+ loopLimit = -1,
+ turnFormat = "$value$"):
+ super(TurnCounter,self).__init__(elem,self.TAG,node=node,
+ property = property,
+ start = start,
+ incr = incr,
+ loop = loop,
+ loopLimit = loopLimit,
+ turnFormat = turnFormat)
+
# --------------------------------------------------------------------
-def get_pieces(doc,asdict=True):
- return get_asdict(doc,WIDGET+'PieceSlot','entryName',asdict)
-
+class TurnList(TurnLevel):
+ TAG = Element.MODULE+"turn.ListTurnLevel"
+ def __init__(self,elem,node=None,
+ property = '',
+ names = [],
+ configFirst = False,
+ configList = False,
+ turnFormat = '$value$'):
+ super(TurnList,self).\
+ __init__(elem,self.TAG,node=node,
+ property = property,
+ list = ','.join([str(p) for p in names]),
+ configFirst = configFirst,
+ configList = configList,
+ turnFormat = turnFormat)
+
# --------------------------------------------------------------------
-def get_prototypecontainer(doc,one=True):
- return get_asone(doc,MODULE+'PrototypesContainer',one)
+class TurnGlobalHotkey(Element):
+ TAG = Element.MODULE+'turn.TurnGlobalHotkey'
+ def __init__(self,elem,
+ node = None,
+ hotkey = '',
+ match = '{true}',
+ reportFormat = '',
+ name = ''):
+ '''Global key activated by turn change
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ hotkey : str
+ What to send (global command)
+ match : str
+ When to send
+ reportFormat : str
+ What to what
+ name : str
+ A free form name
+ '''
+ super(TurnGlobalHotkey,self).__init__(elem,self.TAG,
+ node = node,
+ hotkey = hotkey,
+ match = match,
+ reportFormat = reportFormat,
+ name = name)
+
+ def getTurnTrack(self):
+ '''Get the turn track'''
+ return self.getParent(TurnTrack)
-# --------------------------------------------------------------------
-def get_prototypes(doc,asdict=True):
- return get_asdict(doc,MODULE+'PrototypeDefinition', 'name',asdict)
+#
+# EOF
+#
+# ====================================================================
+# From documentation.py
-# --------------------------------------------------------------------
-def get_masskey(map,asdict=True):
- return get_asdict(map,MAP+'MassKeyCommand','name', asdict)
+# ====================================================================
+def createKeyHelp(*args,**kwargs):
+ '''Creates a help file with key-bindings
+ See Documentation.createKeyHelp
+ '''
+ return Documentation.createKeyHelp(*args,**kwargs)
+
+# --------------------------------------------------------------------
+class Documentation(GameElement):
+ TAG=Element.MODULE+'Documentation'
+ def __init__(self,doc,node=None,**kwargs):
+ '''Documentation (or help menu)
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ kwargs : dict
+ Attributes
+ '''
+ super(Documentation,self).__init__(doc,self.TAG,node=node,**kwargs)
+
+ def addAboutScreen(self,**kwargs):
+ '''Add a `AboutScreen` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : AboutScreen
+ The added element
+ '''
+ return self.add(AboutScreen,**kwargs)
+ def addHelpFile(self,**kwargs):
+ '''Add a `HelpFile` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : HelpFile
+ The added element
+ '''
+ return self.add(HelpFile,**kwargs)
+ def addBrowserHelpFile(self,**kwargs):
+ '''Add a `BrowserHelpFile` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : BrowserHelpFile
+ The added element
+ '''
+ return self.add(HelpBrowserFile,**kwargs)
+ def addBrowserPDFFile(self,**kwargs):
+ '''Add a `BrowserPDFFile` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : BrowserPDFFile
+ The added element
+ '''
+ return self.add(BrowserPDFFile,**kwargs)
+ def addTutorial(self,**kwargs):
+ '''Add a `Tutorial` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Tutorial
+ The added element
+ '''
+ return self.add(Tutorial,**kwargs)
+ def getAboutScreens(self):
+ return self.getElementsByKey(AboutScreen,'title')
+ def getHelpFiles(self):
+ return self.getElementsByKey(HelpFile,'title')
+ def getBrowserHelpFiles(self):
+ return self.getElementsByKey(BrowserHelpFile,'title')
+ def getBrowserPDFFiles(self):
+ return self.getElementsByKey(BrowserPDFFile,'title')
+ def getTutorials(self):
+ return self.getElementsByKey(Tutorial,'name')
+
+ @classmethod
+ def createKeyHelp(cls,keys,title='',version=''):
+ '''Creates a help file with key-bindings
+
+ Parameters
+ ----------
+ keys : list of list of str
+ List of key-binding documentation
+ title : str
+ Title of help file
+ version : str
+ Version number
+
+ Returns
+ -------
+ txt : str
+ File content
+ '''
+ txt = f'''
+ <html>
+ <body>
+ <h1>{title} (Version {version}) Key bindings</h1>
+ <table>
+ <tr><th>Key</th><th>Where</th><th>Effect</th></tr>'''
+
+ for key, where, description in keys:
+ txt += (f'<tr><td>{key}</td>'
+ f'<td>{where}</td>'
+ f'<td>{description}</td></tr>')
+
+ txt += '''
+ </table>
+ </body>
+ </html>'''
+
+ return txt
+
+
+# --------------------------------------------------------------------
+class AboutScreen(Element):
+ TAG = Element.MODULE+'documentation.AboutScreen'
+ def __init__(self,doc,node=None,title='',fileName=""):
+ '''Create an about screen element that shows image
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ title : str
+ Entry title
+ fileName : str
+ Internal file name
+ '''
+ super(AboutScreen,self).__init__(doc,
+ self.TAG,
+ node = node,
+ fileName = fileName,
+ title = title)
+ def getDocumentation(self):
+ '''Get Parent element'''
+ return self.getParent(Documentation)
+
+# --------------------------------------------------------------------
+class BrowserPDFFile(Element):
+ TAG = Element.MODULE+'documentation.BrowserPDFFile'
+ def __init__(self,doc,node=None,title='',pdfFile=''):
+ '''Create help menu item that opens an embedded PDF
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ title : str
+ Entry title
+ pdfFile : str
+ Internal file name
+ '''
+ super(BrowserPDFFile,self).__init__(doc,self.TAG,
+ node = node,
+ pdfFile = pdfFile,
+ title = title)
+ def getDocumentation(self):
+ '''Get Parent element'''
+ return self.getParent(Documentation)
+
+# --------------------------------------------------------------------
+class HelpFile(Element):
+ TAG = Element.MODULE+'documentation.HelpFile'
+ ARCHIVE = 'archive'
+ def __init__(self,doc,node=None,
+ title='',
+ fileName='',
+ fileType=ARCHIVE):
+ '''Create a help menu entry that opens an embeddded file
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ title : str
+ Entry title
+ fileName : str
+ Internal file name
+ fileType : str
+ How to find the file
+ '''
+ super(HelpFile,self).__init__(doc,self.TAG,node=node,
+ fileName = fileName,
+ fileType = fileType,
+ title = title)
+
+ def getDocumentation(self):
+ '''Get Parent element'''
+ return self.getParent(Documentation)
+
+# --------------------------------------------------------------------
+class BrowserHelpFile(Element):
+ TAG = Element.MODULE+'documentation.BrowserHelpFile'
+ def __init__(self,doc,node=None,
+ title='',
+ startingPage='index.html'):
+ '''Create a help menu entry that opens an embeddded HTML
+ page (with possible sub-pages) file
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ title : str
+ Entry title
+ startingPage : str
+ which file to start at
+ '''
+ super(BrowserHelpFile,self).__init__(doc,self.TAG,node=node,
+ startingPage=startingPage,
+ title=title)
+
+ def getDocumentation(self):
+ '''Get Parent element'''
+ return self.getParent(Documentation)
+
# --------------------------------------------------------------------
-def get_masskey(map,asdict=True):
- return get_asdict(map,MAP+'MassKeyCommand','name', asdict)
+class Tutorial(Element):
+ TAG = Element.MODULE+'documentation.Tutorial'
+ def __init__(self,doc,node=None,
+ name = 'Tutorial',
+ logfile = 'tutorial.vlog',
+ promptMessage = 'Load the tutorial?',
+ welcomeMessage = 'Press "Step forward" (PnDn) to step through the tutorial',
+ launchOnStartup = True):
+ '''Add a help menu item that loads the tutorial
+
+ Also adds the start-up option to run the tutorial
+
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ name : str
+ Name of entry
+ logfile : str
+ Internal file name
+ promptMessage : str
+ What to show
+ launchOnStartup : bool
+ By default, launch tutorial first time running module
+ '''
+ super(Tutorial,self).__init__(doc,self.TAG,node=node,
+ name = name,
+ logfile = logfile,
+ promptMessage = promptMessage,
+ welcomeMessage = welcomeMessage,
+ launchOnStartup = launchOnStartup)
+
+ def getDocumentation(self):
+ '''Get Parent element'''
+ return self.getParent(Documentation)
+
+#
+# EOF
+#
+# ====================================================================
+# From player.py
# --------------------------------------------------------------------
-def get_piece_parts(code):
- '''Takes the code part of a pieceslot (the text node) and decodes
- it into traits.
+class PlayerRoster(GameElement):
+ TAG = Element.MODULE+'PlayerRoster'
+ def __init__(self,doc,node=None,buttonKeyStroke='',
+ buttonText='Retire',
+ buttonToolTip='Switch sides, become observer, or release faction'):
+ '''Add a player roster to the module
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ buttonText : str
+ Text on button
+ buttonTooltip : str
+ Tool tip to show when hovering over button
+ '''
+ super(PlayerRoster,self).__init__(doc,self.TAG,node=node,
+ buttonKeyStroke = buttonKeyStroke,
+ buttonText = buttonText,
+ buttonToolTip = buttonToolTip)
+ def addSide(self,name):
+ '''Add a `Side` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Side
+ The added element
+ '''
+ return self.add(PlayerSide,name=name)
+ def getSides(self):
+ '''Get all sides'''
+ return self.getAllElements(PlayerSide,False)
+ def encode(self):
+ '''Encode for save'''
+ return ['PLAYER\ta\ta\t<observer>']
+
+# --------------------------------------------------------------------
+class PlayerSide(Element):
+ TAG = 'entry'
+ def __init__(self,doc,node=None,name=''):
+ '''Adds a side to the player roster
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ name : str
+ Name of side
+ '''
+ super(PlayerSide,self).__init__(doc,self.TAG,node=node)
+ if node is None:
+ self.addText(name)
+
+ def getPlayerRoster(self):
+ '''Get Parent element'''
+ return self.getParent(PlayerRoster)
+
- One can use this to modify the pieces. One could for example
- remove a trait by calling this function, and remove the element
- corresponding to the trait from the returned list. Then one must
- collect up the definitions and states separately and pass each of
- them to `enc_parts', which gives us two strings that can be passed
- to `add_piece' (or `add_proto') function to get the new text node
- content of the piece slot or prototype definition. For example
+#
+# EOF
+#
+# ====================================================================
+# From chessclock.py
- piece = get_pieceslots(root,pieces)['foo']
- code = piece.childNodes[0].nodeValue
- traits = get_piece_parts(code)
- ... # Modify the list
+# ====================================================================
+class ChessClock(Element):
+ TAG=Element.MODULE+'chessclockcontrol.ChessClock'
+ def __init__(self,
+ doc,
+ node = None,
+ icon = '',
+ description = '',
+ side = '',
+ tooltip = 'Individual clock control',
+ buttonText = '',
+ startHotkey = '',
+ stopHotkey = '',
+ tickingBackgroundColor = rgb(255,255,0),
+ tickingFontColor = rgb(0,0,0),
+ tockingFontColor = rgb(51,51,51)):
+ '''Individual clock for a side
+
+ When the clock is running, the background colour may be
+ changed, and the colour of the numbers alternate between
+ `tickingFontColor` and `tockingFontColor`.
+
+ Parameters
+ ----------
+ doc : Element
+ Parent element
+ node : xml.dom.Element
+ Read from this node
+ icon : str
+ File name of button icon
+ description : str
+ Note on this clock
+ side : str
+ Name of side this clock belongs to
+ tooltop : str
+ Hover help text
+ buttonText : str
+ Text on button
+ startHotkey : str (key code)
+ Key or command to start timer
+ stopHotkey : str (key code)
+ Key or command to stop timer
+ tickingBackgroundColor : str (color)
+ Background color of time display when clock is running
+ tickingFontColor : str (color)
+ First color of numbers in display when clock is running.
+ tockingFontColor : str (color)
+ Second color of numbers in display when clock is running.
+ '''
+ super(ChessClock,self).__init__(#ChessClock
+ doc,
+ self.TAG,
+ node = node,
+ icon = icon,
+ description = description,
+ side = side,
+ tooltip = tooltip,
+ buttonText = buttonText,
+ startHotkey = startHotkey,
+ stopHotkey = stopHotkey,
+ tickingBackgroundColor = tickingBackgroundColor,
+ tickingFontColor = tickingFontColor,
+ tockingFontColor = tockingFontColor)
+
+ def getControl(self):
+ '''Get Parent element'''
+ return self.getParent(ChessClockControl)
+
+# ====================================================================
+class ChessClockControl(GameElement):
+ TAG=Element.MODULE+'ChessClockControl'
+ ALWAYS = 'Always'
+ AUTO = 'Auto'
+ NEVER = 'Never'
+ def __init__(self,
+ doc,
+ node = None,
+ name = 'Chess clock',
+ description = '',
+ buttonIcon = 'chess_clock.png',
+ buttonText = '',
+ buttonTooltip = 'Show/stop/hide chess clocks',
+ showHotkey = key('U',ALT),
+ pauseHotkey = key('U',CTRL_SHIFT),
+ nextHotkey = key('U'),
+ startOpponentKey = '',
+ showTenths = AUTO,
+ showSeconds = AUTO,
+ showHours = AUTO,
+ showDays = AUTO,
+ allowReset = False,
+ addClocks = True):
+ '''A set of chess clocs
+
+ Parameters
+ ----------
+ doc : Element
+ Parent
+ node : xml.dom.Element
+ Node to read state from
+ name : str
+ Name of clock control
+ description : str
+ Note on the chess clocks control
+ buttonIcon : str
+ Icon file name for button (chess_clock.png)
+ buttonText : str
+ Text on button
+ buttonTooltip : str
+ Hower help
+ showHotkey : str (key code)
+ Show or hide interface hot key
+ nextHotkey : str (key code)
+ Start the next clock hot key
+ pauseHotkey : str (key code)
+ Pause all clocks hot key
+ startOpponentKey : str (key code)
+ Start opponens clock
+ showTenths : one of AUTO, ALWAYS, NEVER
+ Whether to show tenths of seconds
+ showSeconds : one of AUTO, ALWAYS, NEVER
+ Whether to show seconds in clock
+ showHours : one of AUTO, ALWAYS, NEVER
+ Whether to show hours in clock
+ showDays : one of AUTO, ALWAYS, NEVER
+ Whether to show days in clock
+ allowReset : boolean
+ If true, allow manual reset of all clocks
+ '''
+ super(ChessClockControl,self).__init__(# ChessclockControl
+ doc,
+ self.TAG,
+ node = node,
+ name = name,
+ description = description,
+ buttonIcon = buttonIcon,
+ buttonText = buttonText,
+ buttonTooltip = buttonTooltip,
+ showHotkey = showHotkey,
+ pauseHotkey = pauseHotkey,
+ nextHotkey = nextHotkey,
+ startOpponentKey = startOpponentKey,
+ showTenths = showTenths,
+ showSeconds = showSeconds,
+ showHours = showHours,
+ showDays = showDays,
+ allowReset = allowReset)
+ print(node,addClocks)
+ if node is not None or not addClocks:
+ return
+
+ print('--- Will add clocks')
+ game = self.getGame()
+ roster = game.getPlayerRoster()[0]
+ sides = roster.getSides()
+ for side in sides:
+ name = side.getText()
+ self.addClock(side = name,
+ tooltip = f'Clock for {name}',
+ buttonText = name,
+ startHotkey = key('U'),
+ stopHotkey = key('U'))
- # Separate out definitions and states
- defs = [enc_def(e['def']) for e in traits]
- states = [enc_def(e['state']) for e in traits]
+ def addClock(self,**kwargs):
+ '''Add a clock element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : AboutScreen
+ The added element
+ '''
+ return self.add(ChessClock,**kwargs)
+ def getClocks(self,asdict=True):
+ '''Return dictionary of clocs'''
+ return self.getElementsByKey(ChessClock,'side',asdict)
- # Encode definitions and states as a single string, and then form body
- def = enc_parts(*defs)
- state = enc_parts(*states)
- body = add_piece(def,state)
- # Set new definition
- piece.childNodes[0].nodeValue = body
+#
+# EOF
+#
+# ====================================================================
+# From widget.py
+
+# --------------------------------------------------------------------
+class WidgetElement:
+ def __init__(self):
+ pass
+
+ def addTabs(self,**kwargs):
+ '''Add a `Tabs` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Tabs
+ The added element
+ '''
+ return self.add(TabWidget,**kwargs)
+ def addCombo(self,**kwargs):
+ '''Add a drop-down menu to this
+
+ Parameters
+ ----------
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Combo
+ The added element
+ '''
+ return self.add(ComboWidget,**kwargs)
+ def addPanel(self,**kwargs):
+ '''Add a `Panel` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Panel
+ The added element
+ '''
+ return self.add(PanelWidget,**kwargs)
+ def addList(self,**kwargs):
+ '''Add a `List` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : List
+ The added element
+ '''
+ return self.add(ListWidget,**kwargs)
+ def addMapWidget(self,**kwargs):
+ '''Add a `MapWidget` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : MapWidget
+ The added element
+ '''
+ return self.add(MapWidget,**kwargs)
+ def addChart(self,**kwargs):
+ '''Add a `Chart` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Chart
+ The added element
+ '''
+ return self.add(Chart,**kwargs)
+ def addPieceSlot(self,**kwargs):
+ '''Add a `PieceSlot` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : PieceSlot
+ The added element
+ '''
+ return self.add(PieceSlot,**kwargs)
+ def addPiece(self,piece):
+ '''Add a `Piece` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Piece
+ The added element
+ '''
+ if not isinstance(piece,PieceSlot):
+ print(f'Trying to add {type(piece)} to ListWidget')
+ return None
+
+ p = piece.clone(self)
+ return p
+ def getTabs(self,asdict=True):
+ '''Get all Tab element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Tab` elements. If `False`, return a list of all Tab` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Tab` children
+ '''
+ return self.getElementsByKey(TabWidget,'entryName',asdict)
+ def getCombos(self,asdict=True):
+ '''Get all Combo element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Tab` elements. If `False`, return a list of all Tab` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Tab` children
+ '''
+ return self.getElementsByKey(ComboWidget,'entryName',asdict)
+ def getLists(self,asdict=True):
+ '''Get all List element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `List` elements. If `False`, return a list of all List` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `List` children
+ '''
+ return self.getElementsByKey(ListWidget,'entryName',asdict)
+ def getPanels(self,asdict=True):
+ '''Get all Panel element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Panel` elements. If `False`, return a list of all Panel` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Panel` children
+ '''
+ return self.getElementsByKey(PanelWidget,'entryName',asdict)
+ def getMapWidgets(self,asdict=True):
+ '''Get all MapWidget element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `MapWidget` elements. If `False`, return a list of all MapWidget` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `MapWidget` children
+ '''
+ return self.getElementsByKey(MapWidget,'entryName',asdict)
+ def getCharts(self,asdict=True):
+ '''Get all Chart element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Chart` elements. If `False`, return a list of all Chart` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Chart` children
+ '''
+ return self.getElementsByKey(Chart,'chartName',asdict)
+ def getPieceSlots(self,asdict=True):
+ '''Get all PieceSlot element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `PieceSlot` elements. If `False`, return a list of all PieceSlot` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `PieceSlot` children
+ '''
+ return self.getElementsByKey(PieceSlot,'entryName',asdict)
+
+# --------------------------------------------------------------------
+class PieceWindow(GameElement,WidgetElement):
+ TAG=Element.MODULE+'PieceWindow'
+ def __init__(self,elem,node=None,
+ name = '',
+ defaultWidth = 0,
+ hidden = False,
+ hotkey = key('C',ALT),
+ scale = 1.,
+ text = '',
+ tooltip = 'Show/hide piece window',
+ icon = '/images/counter.gif'):
+ super(PieceWindow,self).__init__(elem,self.TAG,node=node,
+ name = name,
+ defaultWidth = defaultWidth,
+ hidden = hidden,
+ hotkey = hotkey,
+ scale = scale,
+ text = text,
+ tooltip = tooltip,
+ icon = icon)
+
+# --------------------------------------------------------------------
+class ComboWidget(Element,WidgetElement):
+ TAG=Element.WIDGET+'BoxWidget'
+ def __init__(self,elem,node=None,entryName='',width=0,height=0):
+ super(ComboWidget,self).__init__(elem,
+ self.TAG,
+ node = node,
+ entryName = entryName,
+ width = width,
+ height = height)
- See also dicts_to_piece
+# --------------------------------------------------------------------
+class TabWidget(Element,WidgetElement):
+ TAG=Element.WIDGET+'TabWidget'
+ def __init__(self,elem,node=None,entryName=''):
+ super(TabWidget,self).__init__(elem,
+ self.TAG,
+ node = node,
+ entryName = entryName)
+
+# --------------------------------------------------------------------
+class ListWidget(Element,WidgetElement):
+ TAG=Element.WIDGET+'ListWidget'
+ def __init__(self,elem,node = None,
+ entryName = '',
+ height = 0,
+ width = 300,
+ scale = 1.,
+ divider = 150):
+ super(ListWidget,self).__init__(elem,self.TAG,node=node,
+ entryName = entryName,
+ height = height,
+ width = width,
+ scale = scale,
+ divider = divider)
+
+# --------------------------------------------------------------------
+class PanelWidget(Element,WidgetElement):
+ TAG=Element.WIDGET+'PanelWidget'
+ def __init__(self,elem,node=None,
+ entryName = '',
+ fixed = False,
+ nColumns = 1,
+ vert = False):
+ super(PanelWidget,self).__init__(elem,self.TAG,node=node,
+ entryName = entryName,
+ fixed = fixed,
+ nColumns = nColumns,
+ vert = vert)
+
+# --------------------------------------------------------------------
+class MapWidget(Element):
+ TAG=Element.WIDGET+'MapWidget'
+ def __init__(self,elem,node=None,entryName=''):
+ super(MapWidget,self).__init__(elem,self.TAG,
+ node = node,
+ entryName = entryName)
+
+ def addWidgetMap(self,**kwargs):
+ '''Add a `WidgetMap` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : WidgetMap
+ The added element
+ '''
+ return self.add(WidgetMap,**kwargs)
+ def getWidgetMaps(self,asdict=True):
+ '''Get all WidgetMap element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `WidgetMap` elements. If `False`, return a list of all WidgetMap` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `WidgetMap` children
+ '''
+ return self.getElementsByKey(WidgetMap,'mapName',asdict=asdict)
- Parameters
- ----------
- code : str
- Text node content of <PieceSlot> or <PrototypeDefinition> tags
+#
+# EOF
+#
+# ====================================================================
+# From grid.py
+
+# --------------------------------------------------------------------
+HEX_WIDTH = 88.50779626676963
+HEX_HEIGHT = 102.2
+RECT_WIDTH = 80
+RECT_HEIGHT = 80
+# --------------------------------------------------------------------
+class BaseGrid(Element):
+ def __init__(self,zone,tag,node=None,
+ color = rgb(0,0,0),
+ cornersLegal = False,
+ dotsVisible = False,
+ dx = HEX_WIDTH, # Meaning seems reversed!
+ dy = HEX_HEIGHT,
+ edgesLegal = False,
+ sideways = False,
+ snapTo = True,
+ visible = True,
+ x0 = 0,
+ y0 = 32):
+ super(BaseGrid,self).__init__(zone,tag,node=node,
+ color = color,
+ cornersLegal = cornersLegal,
+ dotsVisible = dotsVisible,
+ dx = dx,
+ dy = dy,
+ edgesLegal = edgesLegal,
+ sideways = sideways,
+ snapTo = snapTo,
+ visible = visible,
+ x0 = x0,
+ y0 = y0)
+ def getZone(self):
+ z = self.getParent(Zone)
+ return z
+ def getZonedGrid(self):
+ z = self.getZone()
+ if z is not None:
+ return z.getZonedGrid()
+ return None
+ def getBoard(self):
+ z = self.getZonedGrid()
+ if z is not None:
+ return z.getBoard()
+ return self.getParent(Board)
+ def getPicker(self):
+ z = self.getBoard()
+ if z is not None:
+ return z.getPicker()
+ return None
+ def getMap(self):
+ b = self.getPicker()
+ if b is not None:
+ return b.getMap()
+ return None
+ def getNumbering(self):
+ pass
+ def getLocation(self,loc):
+ numbering = self.getNumbering()
+ if numbering is None or len(numbering) < 1:
+ return None
+
+ return numbering[0].getLocation(loc)
- Returns
- -------
- traits : list of dict
- All the traits in a list. Each element of the list is a
- dictionary with the keys 'def' and 'status'.
+# --------------------------------------------------------------------
+class BaseNumbering(Element):
+ def __init__(self,grid,tag,node=None,
+ color = rgb(255,0,0),
+ first = 'H',
+ fontSize = 24,
+ hDescend = False,
+ hDrawOff = 0,
+ hLeading = 1,
+ hOff = 0,
+ hType = 'A',
+ locationFormat = '$gridLocation$',
+ rotateText = 0,
+ sep = '',
+ stagger = True,
+ vDescend = False,
+ vDrawOff = 32,
+ vLeading = 0,
+ vOff = 0,
+ vType = 'N',
+ visible = True):
+ super(BaseNumbering,self).__init__(grid,tag,node=node,
+ color = color,
+ first = first,
+ fontSize = fontSize,
+ hDescend = hDescend,
+ hDrawOff = hDrawOff,
+ hLeading = hLeading,
+ hOff = hOff,
+ hType = hType,
+ locationFormat = locationFormat,
+ rotateText = rotateText,
+ sep = sep,
+ stagger = stagger,
+ vDescend = vDescend,
+ vDrawOff = vDrawOff,
+ vLeading = vLeading,
+ vOff = vOff,
+ vType = vType,
+ visible = visible)
+ def getGrid(self): return getParent(BaseGrid)
+
+ def _getMatcher(self,tpe,leading):
+ if tpe == 'A':
+ return \
+ '-?(?: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+)'
+
+ return f'-?[0-9]{{{int(leading)+1},}}'
+
+ def _getIndex(self,name,tpe):
+ if tpe == 'A':
+ negative = name.startswith('-')
+ if negative:
+ name = name[1:]
+
+ value = 0
+ for num,let in enumerate(name):
+ if not let.isupper():
+ continue
+ if num < len(name) - 1:
+ value += 26
+ else:
+ value += ord(let)-ord('A')
+
+ if negative:
+ value *= -1
+
+ return value
+
+ return int(name)
+
+ def _getCenter(self,col,row):
+ '''Convert col and row index to picture coordinates'''
+ print('Dummy GetCenter')
+ pass
+
+ def getLocation(self,loc):
+ '''Get picture coordinates from grid location'''
+ from re import match
+
+ first = self['first']
+ vType = self['vType']
+ hType = self['hType']
+ vOff = int(self['vOff'])
+ hOff = int(self['hOff'])
+ colPat = self._getMatcher(hType,self['hLeading'])
+ rowPat = self._getMatcher(vType,self['vLeading'])
+ patts = ((colPat,rowPat) if first == 'H' else (rowPat,colPat))
+ colGrp = 1 if first == 'H' else 2
+ rowGrp = 2 if first == 'H' else 1
+ patt = ''.join([f'({p})' for p in patts])
+ matched = match(patt,loc)
+ if not matched:
+ return None
+
+ rowStr = matched[rowGrp]
+ colStr = matched[colGrp]
+ rowNum = self._getIndex(rowStr,vType)
+ colNum = self._getIndex(colStr,hType)
+
+ return self._getCenter(colNum-hOff, rowNum-vOff);
+
+
+# --------------------------------------------------------------------
+class HexGrid(BaseGrid):
+ TAG = Element.BOARD+'HexGrid'
+ def __init__(self,zone,node=None,**kwargs):
+ super(HexGrid,self).__init__(zone,self.TAG,node=node,**kwargs)
+
+ def addNumbering(self,**kwargs):
+ '''Add a `Numbering` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Numbering
+ The added element
+ '''
+ return self.add(HexNumbering,**kwargs)
+ def getNumbering(self):
+ return self.getAllElements(HexNumbering)
+ def getDeltaX(self):
+ return float(self['dx'])
+ def getDeltaY(self):
+ return float(self['dy'])
+ def getXOffset(self):
+ return int(self['x0'])
+ def getYOffset(self):
+ return int(self['y0'])
+ def getMaxRows(self):
+ from math import floor
+ height = self.getZone().getHeight()
+ return floor(height / self.getDeltaX() + .5)
+ def getMaxCols(self):
+ from math import floor
+ width = self.getZone().getWidth()
+ return floor(width / self.getDeltaY() + .5)
+
+# --------------------------------------------------------------------
+class SquareGrid(BaseGrid):
+ TAG = Element.BOARD+'SquareGrid'
+ def __init__(self,zone,node=None,
+ dx = RECT_WIDTH,
+ dy = RECT_HEIGHT,
+ edgesLegal = False,
+ x0 = 0,
+ y0 = int(0.4*RECT_HEIGHT),
+ **kwargs):
+ super(SquareGrid,self).__init__(zone,self.TAG,node=node,
+ dx = dx,
+ dy = dy,
+ edgesLegal = edgesLegal,
+ x0 = 0,
+ y0 = int(0.4*RECT_HEIGHT),
+ **kwargs)
+ def addNumbering(self,**kwargs):
+ '''Add a `Numbering` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Numbering
+ The added element
+ '''
+ return self.add(SquareNumbering,**kwargs)
+ def getNumbering(self):
+ return self.getAllElements(SquareNumbering)
+ def getDeltaX(self):
+ return float(self['dx'])
+ def getDeltaY(self):
+ return float(self['dy'])
+ def getXOffset(self):
+ return int(self['x0'])
+ def getYOffset(self):
+ return int(self['y0'])
+ def getMaxRows(self):
+ from math import floor
+ height = self.getZone().getHeight()
+ return floor(height / self.getDeltaY() + .5)
+ def getMaxCols(self):
+ from math import floor
+ width = self.getZone().getWidth()
+ return floor(width / self.getDeltaX() + .5)
+
+# --------------------------------------------------------------------
+class HexNumbering(BaseNumbering):
+ TAG = Element.BOARD+'mapgrid.HexGridNumbering'
+ def __init__(self,grid,node=None,**kwargs):
+ super(HexNumbering,self).__init__(grid,self.TAG,node=node,**kwargs)
+ def getGrid(self):
+ g = self.getParent(HexGrid)
+ return g
+
+ def _getCenter(self,col,row):
+ '''Convert col and row index to picture coordinates'''
+ from math import floor
+
+ stagger = self['stagger'] == 'true'
+ sideways = self.getGrid()['sideways'] == 'true'
+ hDesc = self['hDescend'] == 'true'
+ vDesc = self['vDescend'] == 'true'
+ xOff = self.getGrid().getXOffset()
+ yOff = self.getGrid().getYOffset()
+ hexW = self.getGrid().getDeltaX()
+ hexH = self.getGrid().getDeltaY()
+ zxOff = self.getGrid().getZone().getXOffset()
+ zyOff = self.getGrid().getZone().getYOffset()
+ maxRows = self.getGrid().getMaxRows()
+ maxCols = self.getGrid().getMaxCols()
+ # print(f' Col: {col}')
+ # print(f' Row: {row}')
+ # print(f' Stagger: {stagger}')
+ # print(f' Sideways: {sideways}')
+ # print(f' hDesc: {hDesc}')
+ # print(f' vDesc: {vDesc}')
+ # print(f' maxRows: {maxRows}')
+ # print(f' maxCols: {maxCols}')
+
+ if sideways:
+ maxRows, maxCols = maxCols, maxRows
+
+ if stagger:
+ if sideways:
+ if col % 2 != 0:
+ row += 1 if hDesc else -1
+ else:
+ if col % 2 != 0:
+ row += 1 if vDesc else -1
+
+ if hDesc:
+ col = maxCols - col
+ if vDesc:
+ row = maxRows - row
+
+ x = col * hexW + xOff
+ y = row * hexH + yOff + (hexH/2 if col % 2 != 0 else 0)
+
+ x = int(floor(x + .5))
+ y = int(floor(y + .5))
+ if sideways:
+ # print(f'Swap coordinates because {sideways}')
+ x, y = y, x
+
+ return x,y
+
+# --------------------------------------------------------------------
+class SquareNumbering(BaseNumbering):
+ TAG = Element.BOARD+'mapgrid.SquareGridNumbering'
+ def __init__(self,grid,node=None,hType='N',**kwargs):
+ super(SquareNumbering,self).__init__(grid,self.TAG,node=node,
+ hType=hType,**kwargs)
+ def getGrid(self):
+ return self.getParent(SquareGrid)
+
+ def getCenter(self,col,row):
+ hDesc = self['hDescend'] == 'true'
+ vDesc = self['vDescend'] == 'true'
+ xOff = self.getGrid().getXOffset()
+ yOff = self.getGrid().getYOffset()
+ squareW = self.getGrid().getDeltaX()
+ squareH = self.getGrid().getDeltaY()
+ maxRows = self.getGrid().getMaxRows()
+ maxCols = self.getGrid().getMaxCols()
+
+ if vDesc: row = maxRows - row
+ if hDesc: col = maxCols - col
+
+ x = col * squareW + xOff
+ y = row * squareH + yOff
+
+ return x,y
+
+
+# --------------------------------------------------------------------
+class RegionGrid(Element):
+ TAG = Element.BOARD+'RegionGrid'
+ def __init__(self,zone,node=None,snapto=True,fontsize=9,visible=True):
+ super(RegionGrid,self).__init__(zone,self.TAG,node=node,
+ snapto = snapto,
+ fontsize = fontsize,
+ visible = visible)
+
+ def getZone(self):
+ return self.getParent(Zone)
+ def getZoneGrid(self):
+ z = self.getZone()
+ if z is not None:
+ return z.getBoard()
+ return None
+ def getBoard(self):
+ z = self.getZonedGrid()
+ if z is not None:
+ return z.getBoard()
+ return self.getParent(Board)
+ def getMap(self):
+ b = self.getBoard()
+ if b is not None:
+ return b.getMap()
+ return None
+ def getRegions(self):
+ return self.getElementsByKey(Region,'name')
+ def checkName(self,name):
+ '''Get unique name'''
+ poss = len([e for e in self.getRegions()
+ if e == name or e.startswith(name+'_')])
+ if poss == 0:
+ return name
+
+ return name + f'_{poss}'
+ def addRegion(self,**kwargs):
+ '''Add a `Region` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Region
+ The added element
+ '''
+ return self.add(Region,**kwargs)
+ def getLocation(self,loc):
+ for r in self.getRegions().values():
+ if loc == r['name']:
+ return int(r['originx']),int(r['originy'])
- The key 'def' points to a list of the trait attributes used to
- define the trait type. The first element of the 'def' list is
- the trait identifier. The rest are the arguments for that
- trait type. Note, all fields are encoded as strings.
+ return None
+
+# --------------------------------------------------------------------
+class Region(Element):
+ TAG = Element.BOARD+'Region'
+ def __init__(self,grid,node=None,
+ name = '',
+ originx = 0,
+ originy = 0,
+ alsoPiece = True,
+ piece = None,
+ prefix = ''):
+ fullName = name + ("@"+prefix if len(prefix) else "")
+ realName = grid.checkName(fullName) if node is None else fullName
+ super(Region,self).__init__(grid,
+ self.TAG,
+ node = node,
+ name = realName,
+ originx = originx,
+ originy = originy)
+
+ if node is None and alsoPiece:
+ m = self.getMap()
+ b = self.getBoard()
+ if m is not None and b is not None:
+ if piece is None:
+ g = m.getGame()
+ pieces = g.getSpecificPieces(name,asdict=False)
+ piece = pieces[0] if len(pieces) > 0 else None
+
+ if piece is not None:
+ # bname = m['mapName']
+ bname = b['name']
+ #print(f'Adding at-start name={name} location={realName} '
+ # f'owning board={bname}')
+ a = m.addAtStart(name = name,
+ location = realName,
+ useGridLocation = True,
+ owningBoard = bname,
+ x = 0,
+ y = 0)
+ p = a.addPiece(piece)
+ if p is None:
+ print(f'EEE Failed to add piece {name} ({piece}) to add-start {a}')
+ #if p is not None:
+ # print(f'Added piece {name} in region')
+ #else:
+ # print(f'Could not find piece {name}')
+
+ def getGrid(self):
+ return self.getParent(RegionGrid)
+ def getZone(self):
+ g = self.getGrid()
+ if g is not None:
+ return g.getZone()
+ return None
+ def getZonedGrid(self):
+ z = self.getZone()
+ if z is not None:
+ return z.getZonedGrid()
+ return None
+ def getBoard(self):
+ z = self.getZonedGrid()
+ if z is not None:
+ return z.getBoard()
+ return self.getParent(Board)
+ def getPicker(self):
+ z = self.getBoard()
+ if z is not None:
+ return z.getPicker()
+ return None
+ def getMap(self):
+ b = self.getPicker()
+ if b is not None:
+ return b.getMap()
+ return None
- The key 'status' encodes the status of the trait. The format
- of this depends on the trait.Note, all fields are encoded as
- strings.
+#
+# EOF
+#
+# ====================================================================
+# From zone.py
+
+# --------------------------------------------------------------------
+class ZonedGrid(Element):
+ TAG=Element.BOARD+'ZonedGrid'
+ def __init__(self,board,node=None):
+ super(ZonedGrid,self).__init__(board,self.TAG,node=node)
+
+ def getBoard(self):
+ b = self.getParent(Board)
+ # print(f'Get Board of Zoned: {b}')
+ return b
+ def getPicker(self):
+ z = self.getBoard()
+ if z is not None:
+ return z.getPicker()
+ return None
+ def getMap(self):
+ z = self.getPicker()
+ if z is not None:
+ return z.getMap()
+ return None
+ def addHighlighter(self,**kwargs):
+ '''Add a `Highlighter` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Highlighter
+ The added element
+ '''
+ return self.add(ZonedGridHighlighter,**kwargs)
+ def getHighlighters(self,single=True):
+ '''Get all or a sole `ZonedGridHighlighter` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Highligter` child, otherwise fail.
+ If `False` return all `Highligter` children in this element
+ Returns
+ -------
+ children : list
+ List of `Highligter` children (even if `single=True`)
+ '''
+ return self.getAllElements(ZonedGridHighliger,single=single)
+ def addZone(self,**kwargs):
+ '''Add a `Zone` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Zone
+ The added element
+ '''
+ return self.add(Zone,**kwargs)
+ def getZones(self,asdict=True):
+ '''Get all Zone element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Zone` elements. If `False`, return a list of all Zone` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Zone` children
+ '''
+ return self.getElementsByKey(Zone,'name',asdict=asdict)
+
+# --------------------------------------------------------------------
+class ZonedGridHighlighter(Element):
+ TAG=Element.BOARD+'mapgrid.ZonedGridHighlighter'
+ def __init__(self,zoned,node=None):
+ super(ZonedGridHighlighter,self).__init__(zoned,self.TAG,node=node)
+ def getZonedGrid(self): return self.getParent(ZonedGrid)
+
+
+# --------------------------------------------------------------------
+class Zone(Element):
+ TAG = Element.BOARD+'mapgrid.Zone'
+ def __init__(self,zoned,node=None,
+ name = "",
+ highlightProperty = "",
+ locationFormat = "$gridLocation$",
+ path = "0,0;976,0;976,976;0,976",
+ useHighlight = False,
+ useParentGrid = False):
+ super(Zone,self).\
+ __init__(zoned,self.TAG,node=node,
+ name = name,
+ highlightProperty = highlightProperty,
+ locationFormat = locationFormat,
+ path = path,
+ useHighlight = useHighlight,
+ useParentGrid = useParentGrid)
+
+ def getZonedGrid(self):
+ z = self.getParent(ZonedGrid)
+ # print(f'Get Zoned of Zone {self["name"]}: {z}')
+ return z
+
+ def getBoard(self):
+ z = self.getZonedGrid()
+ if z is not None:
+ return z.getBoard()
+ return None
+ def getPicker(self):
+ z = self.getBoard()
+ if z is not None:
+ return z.getPicker()
+ return None
+ def getMap(self):
+ z = self.getPicker()
+ if z is not None:
+ return z.getMap()
+ return None
+ def addHexGrid(self,**kwargs):
+ '''Add a `HexGrid` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : HexGrid
+ The added element
+ '''
+ return self.add(HexGrid,**kwargs)
+ def addSquareGrid(self,**kwargs):
+ '''Add a `SquareGrid` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : SquareGrid
+ The added element
+ '''
+ return self.add(SquareGrid,**kwargs)
+ def addRegionGrid(self,**kwargs):
+ '''Add a `RegionGrid` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : RegionGrid
+ The added element
+ '''
+ return self.add(RegionGrid,**kwargs)
+ def getHexGrids(self,single=True):
+ '''Get all or a sole `HexGrid` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `HexGrid` child, otherwise fail.
+ If `False` return all `HexGrid` children in this element
+ Returns
+ -------
+ children : list
+ List of `HexGrid` children (even if `single=True`)
+ '''
+ return self.getAllElements(HexGrid,single=single)
+ def getSquareGrids(self,single=True):
+ '''Get all or a sole `SquareGrid` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `SquareGrid` child, otherwise fail.
+ If `False` return all `SquareGrid` children in this element
+ Returns
+ -------
+ children : list
+ List of `SquareGrid` children (even if `single=True`)
+ '''
+ return self.getAllElements(SquareGrid,single=single)
+ def getRegionGrids(self,single=True):
+ '''Get all or a sole `RegionGrid` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `RegionGrid` child, otherwise fail.
+ If `False` return all `RegionGrid` children in this element
+ Returns
+ -------
+ children : list
+ List of `RegionGrid` children (even if `single=True`)
+ '''
+ return self.getAllElements(RegionGrid,single=single)
+ def getGrids(self,single=True):
+ '''Get all or a sole `Grid` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Grid` child, otherwise fail.
+ If `False` return all `Grid` children in this element
+ Returns
+ -------
+ children : list
+ List of `Grid` children (even if `single=True`)
+ '''
+ g = self.getHexGrids(single=single)
+ if g is not None: return g
+
+ g = self.getSquareGrids(single=single)
+ if g is not None: return g
+
+ g = self.getRegionGrids(single=single)
+ if g is not None: return g
+
+ return g
+
+ def getPath(self):
+ p = self['path'].split(';')
+ r = []
+ for pp in p:
+ c = pp.split(',')
+ r.append([int(c[0]),int(c[1])])
+ return r
+ def getBB(self):
+ from functools import reduce
+ path = self.getPath()
+ llx = reduce(lambda old,point:min(point[0],old),path,100000000000)
+ lly = reduce(lambda old,point:min(point[1],old),path,100000000000)
+ urx = reduce(lambda old,point:max(point[0],old),path,-1)
+ ury = reduce(lambda old,point:max(point[1],old),path,-1)
+ return llx,lly,urx,ury
+ def getWidth(self):
+ llx,_,urx,_ = self.getBB()
+ return urx-llx
+ def getHeight(self):
+ _,lly,_,ury = self.getBB()
+ return ury-lly
+ def getXOffset(self):
+ return self.getBB()[0]
+ def getYOffset(self):
+ return self.getBB()[1]
- '''
- cmd,iden,typ,sta = code.split('/')
- defs = typ.split(r' ')
- stas = sta.split(r' ')
- defs = [d.rstrip("\\").split(';') for d in defs]
- stas = [s.rstrip("\\").split(';') for s in stas]
- ret = [{'def': d, 'state': s} for d,s in zip(defs,stas)]
- return ret
+#
+# EOF
+#
+# ====================================================================
+# From board.py
+
+# --------------------------------------------------------------------
+class BoardPicker(MapElement):
+ TAG = Element.MAP+'BoardPicker'
+ def __init__(self,doc,node=None,
+ addColumnText = 'Add column',
+ addRowText = 'Add row',
+ boardPrompt = 'Select board',
+ slotHeight = 125,
+ slotScale = 0.2,
+ slotWidth = 350,
+ title = 'Choose Boards'):
+ super(BoardPicker,self).__init__(doc,self.TAG,node=node,
+ addColumnText = addColumnText,
+ addRowText = addRowText,
+ boardPrompt = boardPrompt,
+ slotHeight = slotHeight,
+ slotScale = slotScale,
+ slotWidth = slotWidth,
+ title = title)
+
+ def addSetup(self,**kwargs):
+ '''Add a `Setup` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Setup
+ The added element
+ '''
+ if 'mapName' not in kwargs:
+ m = self.getMap()
+ kwargs['mapName'] = m.getAttribute('mapName')
+
+ return self.add(Setup,**kwargs)
+ def getSetups(self,single=False):
+ '''Get all or a sole `Setup` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Setup` child, otherwise fail.
+ If `False` return all `Setup` children in this element
+ Returns
+ -------
+ children : list
+ List of `Setup` children (even if `single=True`)
+ '''
+ return self.getAllElements(Setup,single=single)
+ def addBoard(self,**kwargs):
+ '''Add a `Board` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Board
+ The added element
+ '''
+ return self.add(Board,**kwargs)
+ def getBoards(self,asdict=True):
+ '''Get all Board element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Board` elements. If `False`, return a list of all Board` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Board` children
+ '''
+ return self.getElementsByKey(Board,'name',asdict=asdict)
+ def encode(self):
+ setups = self.getSetups()
+ if setups is not None and len(setups)>0:
+ return [setups[0]._node.childNodes[0].nodeValue]
+
+ ret = []
+ for bn in self.getBoards().keys():
+ ret.append(bn+'BoardPicker\t'+bn+'\t0\t0')
+
+ return ret
+
+# --------------------------------------------------------------------
+class Setup(Element):
+ TAG = 'setup'
+ def __init__(self,picker,node=None,
+ mapName = '',
+ maxColumns = 1,
+ boardNames = []):
+ super(Setup,self).__init__(picker,self.TAG,node=node)
+ col = 0
+ row = 0
+ lst = [f'{mapName}BoardPicker']
+ for bn in boardNames:
+ lst.extend([bn,str(col),str(row)])
+ col += 1
+ if col >= maxColumns:
+ col = 0
+ row += 1
+
+ txt = r' '.join(lst)
+ self.addText(txt)
+ def getPicker(self): return self.getParent(BoardPicker)
+
# --------------------------------------------------------------------
-def dicts_to_piece(traits):
- # Separate out definitions and states
- defs = [enc_def(e['def']) for e in traits]
- states = [enc_def(e['state']) for e in traits]
+class Board(Element):
+ TAG = Element.PICKER+'Board'
+ def __init__(self,picker,node=None,
+ name = '',
+ image = '',
+ reversible = False,
+ color = rgb(255,255,255),
+ width = 0,
+ height = 0):
+ super(Board,self).__init__(picker,self.TAG,node=node,
+ image = image,
+ name = name,
+ reversible = reversible,
+ color = color,
+ width = width,
+ height = height)
+
+ def getPicker(self): return self.getParent(BoardPicker)
+ def getMap(self):
+ z = self.getPicker()
+ if z is not None:
+ return z.getMap()
+ return None
+ def addZonedGrid(self,**kwargs):
+ '''Add a `ZonedGrid` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : ZonedGrid
+ The added element
+ '''
+ return self.add(ZonedGrid,**kwargs)
+ def getZonedGrids(self,single=True):
+ '''Get all or a sole `ZonedGrid` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `ZonedGrid` child, otherwise fail.
+ If `False` return all `ZonedGrid` children in this element
+ Returns
+ -------
+ children : list
+ List of `ZonedGrid` children (even if `single=True`)
+ '''
+ return self.getAllElements(ZonedGrid,single=single)
+ def getZones(self,asdict=True):
+ '''Get all Zone element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Zone` elements. If `False`, return a list of all Zone` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Zone` children
+ '''
+ zoned = self.getZonedGrids(single=True)
+ if zoned is None: return None
+
+ return zoned[0].getZones(asdict=asdict)
+
+ def getWidth(self):
+ # print(f'Getting width of {self}: {self["width"]}')
+ if 'width' in self and int(self['width']) != 0:
+ return int(self['width'])
+ return 0
+
+ def getHeight(self):
+ # print(f'Getting height of {self}: {self["height"]}')
+ if 'height' in self and int(self['height']) != 0:
+ return int(self['height'])
+ return 0
- # Encode definitions and states as a single string, and then form body
- df = enc_parts(*defs)
- state = enc_parts(*states)
- body = add_piece(df,state)
- return body
-
-
+#
+# EOF
+#
# ====================================================================
-# Key encoding
-SHIFT = 65
-CTRL = 130
-ALT = 520
-CTRL_SHIFT = CTRL+SHIFT
-ALT_SHIFT = ALT+SHIFT
-NONE = '\ue004'
-NONE_MOD = 0
-def key(let,mod=CTRL):
-
- '''Encode a key sequence
+# From map.py
+
+# --------------------------------------------------------------------
+class BaseMap(Element):
+ def __init__(self,doc,tag,node=None,
+ mapName = '',
+ allowMultiple = 'false',
+ backgroundcolor = rgb(255,255,255),
+ buttonName = '',
+ changeFormat = '$message$',
+ color = rgb(0,0,0), # Selected pieces
+ createFormat = '$pieceName$ created in $location$ *',
+ edgeHeight = '0',
+ edgeWidth = '0',
+ hideKey = '',
+ hotkey = key('M',ALT),
+ icon = '/images/map.gif',
+ launch = 'false',
+ markMoved = 'Always',
+ markUnmovedHotkey = '',
+ markUnmovedIcon = '/images/unmoved.gif',
+ markUnmovedReport = '',
+ markUnmovedText = '',
+ markUnmovedTooltip = 'Mark all pieces on this map as not moved',
+ moveKey = '',
+ moveToFormat = '$pieceName$ moves $previousLocation$ &rarr; $location$ *',
+ moveWithinFormat = '$pieceName$ moves $previousLocation$ &rarr; $location$ *',
+ showKey = '',
+ thickness = '3'):
+ super(BaseMap,self).__init__(doc,tag,node=node,
+ allowMultiple = allowMultiple,
+ backgroundcolor = backgroundcolor,
+ buttonName = buttonName,
+ changeFormat = changeFormat,
+ color = color,
+ createFormat = createFormat,
+ edgeHeight = edgeHeight,
+ edgeWidth = edgeWidth,
+ hideKey = hideKey,
+ hotkey = hotkey,
+ icon = icon,
+ launch = launch,
+ mapName = mapName,
+ markMoved = markMoved,
+ markUnmovedHotkey = markUnmovedHotkey,
+ markUnmovedIcon = markUnmovedIcon,
+ markUnmovedReport = markUnmovedReport,
+ markUnmovedText = markUnmovedText,
+ markUnmovedTooltip = markUnmovedTooltip,
+ moveKey = moveKey,
+ moveToFormat = moveToFormat,
+ moveWithinFormat = moveWithinFormat,
+ showKey = showKey,
+ thickness = thickness)
+
+ def getGame(self):
+ '''Get the game'''
+ return self.getParentOfClass([Game])
+ def addPicker(self,**kwargs):
+ '''Add a `Picker` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Picker
+ The added element
+ '''
+ return self.add(BoardPicker,**kwargs)
+ def getBoardPicker(self,single=True):
+ '''Get all or a sole `BoardPicker` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `BoardPicker` child, otherwise fail.
+ If `False` return all `BoardPicker` children in this element
+ Returns
+ -------
+ children : list
+ List of `BoardPicker` children (even if `single=True`)
+ '''
+ return self.getAllElements(BoardPicker,single)
+ def getPicker(self,single=True):
+ '''Get all or a sole `BoardPicker` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `BoardPicker` child, otherwise fail.
+ If `False` return all `BoardPicker` children in this element
+ Returns
+ -------
+ children : list
+ List of `BoardPicker` children (even if `single=True`)
+ '''
+ return self.getAllElements(BoardPicker,single)
+ def getStackMetrics(self,single=True):
+ '''Get all or a sole `StackMetric` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `StackMetric` child, otherwise fail.
+ If `False` return all `StackMetric` children in this element
+ Returns
+ -------
+ children : list
+ List of `StackMetric` children (even if `single=True`)
+ '''
+ return self.getAllElements(StackMetrics,single)
+ def getImageSaver(self,single=True):
+ '''Get all or a sole `ImageSaver` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `ImageSaver` child, otherwise fail.
+ If `False` return all `ImageSaver` children in this element
+ Returns
+ -------
+ children : list
+ List of `ImageSaver` children (even if `single=True`)
+ '''
+ return self.getAllElements(ImageSaver,single)
+ def getTextSaver(self,single=True):
+ '''Get all or a sole `TextSaver` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `TextSaver` child, otherwise fail.
+ If `False` return all `TextSaver` children in this element
+ Returns
+ -------
+ children : list
+ List of `TextSaver` children (even if `single=True`)
+ '''
+ return self.getAllElements(TextSaver,single)
+ def getForwardToChatter(self,single=True):
+ '''Get all or a sole `ForwardToChatter` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `ForwardToChatter` child, otherwise fail.
+ If `False` return all `ForwardToChatter` children in this element
+ Returns
+ -------
+ children : list
+ List of `ForwardToChatter` children (even if `single=True`)
+ '''
+ return self.getAllElements(ForwardToChatter,single)
+ def getMenuDisplayer(self,single=True):
+ '''Get all or a sole `MenuDi` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `MenuDi` child, otherwise fail.
+ If `False` return all `MenuDi` children in this element
+ Returns
+ -------
+ children : list
+ List of `MenuDi` children (even if `single=True`)
+ '''
+ return self.getAllElements(MenuDisplayer,single)
+ def getMapCenterer(self,single=True):
+ '''Get all or a sole `MapCenterer` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `MapCenterer` child, otherwise fail.
+ If `False` return all `MapCenterer` children in this element
+ Returns
+ -------
+ children : list
+ List of `MapCenterer` children (even if `single=True`)
+ '''
+ return self.getAllElements(MapCenterer,single)
+ def getStackExpander(self,single=True):
+ '''Get all or a sole `StackExpander` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `StackExpander` child, otherwise fail.
+ If `False` return all `StackExpander` children in this element
+ Returns
+ -------
+ children : list
+ List of `StackExpander` children (even if `single=True`)
+ '''
+ return self.getAllElements(StackExpander,single)
+ def getPieceMover(self,single=True):
+ '''Get all or a sole `PieceMover` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `PieceMover` child, otherwise fail.
+ If `False` return all `PieceMover` children in this element
+ Returns
+ -------
+ children : list
+ List of `PieceMover` children (even if `single=True`)
+ '''
+ return self.getAllElements(PieceMover,single)
+ def getSelectionHighlighters(self,single=True):
+ '''Get all or a sole `SelectionHighlighter` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `SelectionHighlighter` child, otherwise fail.
+ If `False` return all `SelectionHighlighter` children in this element
+ Returns
+ -------
+ children : list
+ List of `SelectionHighlighter` children (even if `single=True`)
+ '''
+ return self.getAllElements(SelectionHighlighters,single)
+ def getKeyBufferer(self,single=True):
+ return self.getAllElements(KeyBufferer,single)
+ def getHighlightLastMoved(self,single=True):
+ '''Get all or a sole `HighlightLa` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `HighlightLa` child, otherwise fail.
+ If `False` return all `HighlightLa` children in this element
+ Returns
+ -------
+ children : list
+ List of `HighlightLa` children (even if `single=True`)
+ '''
+ return self.getAllElements(HighlightLastMoved,single)
+ def getCounterDetailViewer(self,single=True):
+ '''Get all or a sole `CounterDetailViewer` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `CounterDetailViewer` child, otherwise fail.
+ If `False` return all `CounterDetailViewer` children in this element
+ Returns
+ -------
+ children : list
+ List of `CounterDetailViewer` children (even if `single=True`)
+ '''
+ return self.getAllElements(CounterDetailViewer,single)
+ def getGlobalMap(self,single=True):
+ '''Get all or a sole `GlobalMap` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `GlobalMap` child, otherwise fail.
+ If `False` return all `GlobalMap` children in this element
+ Returns
+ -------
+ children : list
+ List of `GlobalMap` children (even if `single=True`)
+ '''
+ return self.getAllElements(GlobalMap,single)
+ def getZoomer(self,single=True):
+ '''Get all or a sole `Zoomer` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Zoomer` child, otherwise fail.
+ If `False` return all `Zoomer` children in this element
+ Returns
+ -------
+ children : list
+ List of `Zoomer` children (even if `single=True`)
+ '''
+ return self.getAllElements(Zoomer,single)
+ def getHidePiecesButton(self,single=True):
+ '''Get all or a sole `HidePiece` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `HidePiece` child, otherwise fail.
+ If `False` return all `HidePiece` children in this element
+ Returns
+ -------
+ children : list
+ List of `HidePiece` children (even if `single=True`)
+ '''
+ return self.getAllElements(HidePiecesButton,single)
+ def getMassKeys(self,asdict=True):
+ '''Get all MassKey element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `MassKey` elements. If `False`, return a list of all MassKey` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `MassKey` children
+ '''
+ return self.getElementsByKey(MassKey,'name',asdict)
+ def getFlare(self,single=True):
+ '''Get all or a sole `Flare` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Flare` child, otherwise fail.
+ If `False` return all `Flare` children in this element
+ Returns
+ -------
+ children : list
+ List of `Flare` children (even if `single=True`)
+ '''
+ return self.getAllElements(Flare,single)
+ def getAtStarts(self,single=True):
+ '''Get all or a sole `AtStart` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `AtStart` child, otherwise fail.
+ If `False` return all `AtStart` children in this element
+ Returns
+ -------
+ children : list
+ List of `AtStart` children (even if `single=True`)
+ '''
+ return self.getAllElements(AtStart,single)
+ def getBoards(self,asdict=True):
+ '''Get all Board element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Board` elements. If `False`, return a list of all Board` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Board` children
+ '''
+ picker = self.getPicker()
+ if picker is None: return None
+ return picker[0].getBoards(asdict=asdict)
+ def addBoardPicker(self,**kwargs):
+ '''Add a `BoardPicker` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : BoardPicker
+ The added element
+ '''
+ return self.add(BoardPicker,**kwargs)
+ def addStackMetrics(self,**kwargs):
+ '''Add a `StackMetrics` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : StackMetrics
+ The added element
+ '''
+ return self.add(StackMetrics,**kwargs)
+ def addImageSaver(self,**kwargs):
+ '''Add a `ImageSaver` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : ImageSaver
+ The added element
+ '''
+ return self.add(ImageSaver,**kwargs)
+ def addTextSaver(self,**kwargs):
+ '''Add a `TextSaver` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : TextSaver
+ The added element
+ '''
+ return self.add(TextSaver,**kwargs)
+ def addForwardToChatter(self,**kwargs):
+ '''Add a `ForwardToChatter` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : ForwardToChatter
+ The added element
+ '''
+ return self.add(ForwardToChatter,**kwargs)
+ def addMenuDisplayer(self,**kwargs):
+ '''Add a `MenuDisplayer` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : MenuDisplayer
+ The added element
+ '''
+ return self.add(MenuDisplayer,**kwargs)
+ def addMapCenterer(self,**kwargs):
+ '''Add a `MapCenterer` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : MapCenterer
+ The added element
+ '''
+ return self.add(MapCenterer,**kwargs)
+ def addStackExpander(self,**kwargs):
+ '''Add a `StackExpander` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : StackExpander
+ The added element
+ '''
+ return self.add(StackExpander,**kwargs)
+ def addPieceMover(self,**kwargs):
+ '''Add a `PieceMover` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : PieceMover
+ The added element
+ '''
+ return self.add(PieceMover,**kwargs)
+ def addSelectionHighlighters(self,**kwargs):
+ '''Add a `SelectionHighlighters` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : SelectionHighlighters
+ The added element
+ '''
+ return self.add(SelectionHighlighters,**kwargs)
+ def addKeyBufferer(self,**kwargs):
+ '''Add a `KeyBufferer` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : KeyBufferer
+ The added element
+ '''
+ return self.add(KeyBufferer,**kwargs)
+ def addHighlightLastMoved(self,**kwargs):
+ '''Add a `HighlightLastMoved` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : HighlightLastMoved
+ The added element
+ '''
+ return self.add(HighlightLastMoved,**kwargs)
+ def addCounterDetailViewer(self,**kwargs):
+ '''Add a `CounterDetailViewer` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : CounterDetailViewer
+ The added element
+ '''
+ return self.add(CounterDetailViewer,**kwargs)
+ def addGlobalMap(self,**kwargs):
+ '''Add a `GlobalMap` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : GlobalMap
+ The added element
+ '''
+ return self.add(GlobalMap,**kwargs)
+ def addZoomer(self,**kwargs):
+ '''Add a `Zoomer` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Zoomer
+ The added element
+ '''
+ return self.add(Zoomer,**kwargs)
+ def addHidePiecesButton(self,**kwargs):
+ '''Add a `HidePiecesButton` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : HidePiecesButton
+ The added element
+ '''
+ return self.add(HidePiecesButton,**kwargs)
+ def addMassKey(self,**kwargs):
+ '''Add a `MassKey` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : MassKey
+ The added element
+ '''
+ return self.add(MassKey,**kwargs)
+ def addStartupMassKey(self,**kwargs):
+ '''Add a `StartupMassKey` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : StartupMassKey
+ The added element
+ '''
+ return self.add(MassKey,**kwargs)
+ def addFlare(self,**kwargs):
+ '''Add a `Flare` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Flare
+ The added element
+ '''
+ return self.add(Flare,**kwargs)
+ def addAtStart(self,**kwargs):
+ '''Add a `AtStart` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : AtStart
+ The added element
+ '''
+ return self.add(AtStart,**kwargs)
+
+# --------------------------------------------------------------------
+class Map(BaseMap):
+ TAG = Element.MODULE+'Map'
+ def __init__(self,doc,node=None,
+ mapName = '',
+ allowMultiple = 'false',
+ backgroundcolor = rgb(255,255,255),
+ buttonName = '',
+ changeFormat = '$message$',
+ color = rgb(0,0,0),
+ createFormat = '$pieceName$ created in $location$ *',
+ edgeHeight = '0',
+ edgeWidth = '0',
+ hideKey = '',
+ hotkey = key('M',ALT),
+ icon = '/images/map.gif',
+ launch = 'false',
+ markMoved = 'Always',
+ markUnmovedHotkey = '',
+ markUnmovedIcon = '/images/unmoved.gif',
+ markUnmovedReport = '',
+ markUnmovedText = '',
+ markUnmovedTooltip = 'Mark all pieces on this map as not moved',
+ moveKey = '',
+ moveToFormat = '$pieceName$ moves $previousLocation$ &rarr; $location$ *',
+ moveWithinFormat = '$pieceName$ moves $previousLocation$ &rarr; $location$ *',
+ showKey = '',
+ thickness = '3'):
+ super(Map,self).__init__(doc,self.TAG,node=node,
+ allowMultiple = allowMultiple,
+ backgroundcolor = backgroundcolor,
+ buttonName = buttonName,
+ changeFormat = changeFormat,
+ color = color,
+ createFormat = createFormat,
+ edgeHeight = edgeHeight,
+ edgeWidth = edgeWidth,
+ hideKey = hideKey,
+ hotkey = hotkey,
+ icon = icon,
+ launch = launch,
+ mapName = mapName,
+ markMoved = markMoved,
+ markUnmovedHotkey = markUnmovedHotkey,
+ markUnmovedIcon = markUnmovedIcon,
+ markUnmovedReport = markUnmovedReport,
+ markUnmovedText = markUnmovedText,
+ markUnmovedTooltip = markUnmovedTooltip,
+ moveKey = moveKey,
+ moveToFormat = moveToFormat,
+ moveWithinFormat = moveWithinFormat,
+ showKey = showKey,
+ thickness = thickness)
+
+ def getGame(self):
+ return self.getParent(Game)
+
+# --------------------------------------------------------------------
+class WidgetMap(BaseMap):
+ TAG = Element.WIDGET+'WidgetMap'
+ def __init__(self,doc,node=None,**attr):
+ super(WidgetMap,self).__init__(doc,self.TAG,node=node,**attr)
- Parameters
- ----------
- let : str
- Key code (Letter)
- mod : int
- Modifier mask
- '''
- return f'{ord(let)},{mod}'
-# Colour encoding
-def rgb(r,g,b):
- return ','.join([str(r),str(g),str(b)])
+ def getGame(self):
+ return self.getParentOfClass([Game])
+ def getMapWidget(self):
+ return self.getParent(MapWidget)
-def rgba(r,g,b,a):
- return ','.join([str(r),str(g),str(b),str(a)])
+#
+# EOF
+#
+# ====================================================================
+# From chart.py
# --------------------------------------------------------------------
-def set_node_attr(node,**attr):
- for k,v in attr.items():
- node.setAttribute(k,str(v).lower() if isinstance(v,bool) else str(v))
-
-# --------------------------------------------------------------------
-def add_node(root,parent,tag,**attr):
- e = root.createElement(tag)
- if parent: parent.appendChild(e)
- set_node_attr(e,**attr)
-
- return e
-
-
-# --------------------------------------------------------------------
-def add_text(root,parent,text):
- t = root.createTextNode(text)
- parent.appendChild(t)
- return t
-
-# --------------------------------------------------------------------
-def add_game(root,doc,
- name,
- version,
- ModuleOther1 = "",
- ModuleOther2 = "",
- VassalVersion = "3.6.7",
- description = "",
- nextPieceSlotId = 0):
- return add_node(root,doc,BUILD+'GameModule',
- name = name,
- version = version,
- ModuleOther1 = ModuleOther1,
- ModuleOther2 = ModuleOther2,
- VassalVersion = VassalVersion,
- description = description,
- nextPieceSlotId = nextPieceSlotId)
-
-# --------------------------------------------------------------------
-def add_basiccommandencoder(root,doc):
- return add_node(root,doc,MODULE+'BasicCommandEncoder')
-
-# --------------------------------------------------------------------
-def add_globalproperties(root,elem,*props,**named):
- gp = add_node(root,elem,MODULE+'properties.GlobalProperties')
- # Add elements where each is a dict with _at least_
- # "{'name':NAME, 'initialValue':VALUE}"
- for p in props:
- add_globalproperty(root,gp,**p)
- # Add elements where each is a named dict with _at least_
- # "{'initialValue':VALUE}"
- for n, p in named:
- add_globalproperty(root,gp,name=n,**p)
-
- return gp
-
-
-# --------------------------------------------------------------------
-def add_globalproperty(root,elem,name,initialValue,
- isNumeric = False,
- min = "null",
- max = "null",
- wrap = False,
- description = ""):
- return add_node(root,elem,MODULE+'properties.GlobalProperty',
- name = name,
- initialValue = initialValue,
- isNumeric = isNumeric,
- min = min,
- max = max,
- wrap = wrap,
- description = description)
-
-# --------------------------------------------------------------------
-def add_turntrack(root, elem, name,
- buttonText = 'Turn',
- hotkey = '',
- icon = '',
- length = -1,
- lengthStyle = 'Maximum',
- nexthotkey = key('T',ALT),
- plusButtonSize = 22,
- prevhotkey = key('T',ALT_SHIFT),
- reportFormat = '<$PlayerId$> Turn updated from $oldTurn$ to $newTurn$',
- turnButtonHeight = 22,
- turnFormat = None,
- counter = None,
- phases = None):
-
- levels = (counter if counter is not None else
- phases if phases is not None else None)
- if levels is not None:
- lvl = 1
- lvls = [f'$level{lvl}$']
- sub = levels
- while True:
- sub = sub.get('counter',sub.get('phases',None))
- if sub is None:
- break
- lvl += 1
- lvls.append(f'$level{lvl}$')
-
- turnFormat = ' '.join(lvls)
-
- if turnFormat is None:
- turnFormat = '$level1$ $level2$ $level3$ $level4$'
-
- t = add_node(root, elem, MODULE+'turn.TurnTracker',
- name = name,
- buttonText = buttonText,
- hotkey = hotkey,
- icon = icon,
- length = length,
- lengthStyle = lengthStyle,
- nexthotkey = nexthotkey,
- plusButtonSize = plusButtonSize,
- prevhotkey = prevhotkey,
- reportFormat = reportFormat,
- turnButtonHeight = turnButtonHeight,
- turnFormat = turnFormat)
-
- add_turnlevel(root, t, counter=counter, phases=phases)
-
- return t
-
-# --------------------------------------------------------------------
-def add_turnlevel(root,parent,counter=None,phases=None):
- f,s = ((add_turncounter,counter) if counter is not None else
- (add_turnlist,phases) if phases is not None else (None,None))
- if f is None: return parent
-
- subcounter = s.pop('counter',None)
- subphases = s.pop('phases',None)
-
- sub = f(root,parent,**s)
-
- return add_turnlevel(root,sub,counter=subcounter,phases=subphases)
-
-# --------------------------------------------------------------------
-def add_turncounter(root,elem,property,
- incr = 1,
- loop = False,
- loopLimit = -1,
- turnFormat = "$value$"):
- c = add_node(root,elem,MODULE+"turn.CounterTurnLevel",
- property = property,
- incr = incr,
- loop = loop,
- loopLimit = loopLimit,
- turnFormat = turnFormat)
- return c
-
-# --------------------------------------------------------------------
-def add_turnlist(root,elem,property,names,
- configFirst = False,
- configList = False,
- turnFormat = '$value$'):
- c = add_node(root,elem,MODULE+"turn.ListTurnLevel",
- property = property,
- list = ','.join([str(p) for p in names]),
- configFirst = configFirst,
- configList = configList,
- turnFormat = turnFormat)
- return c
-
-# --------------------------------------------------------------------
-def add_turnhotkey(root,elem,
- hotkey,
- match = '{phase=="first"}',
- reportFormat = '{PlayerName}',
- name = ''):
- return add_node(root,elem,MODULE+'turn.TurnGlobalHotkey',
- hotkey = hotkey,
- match = match,
- reportFormat = reportFormat,
- name = name)
+class ChartWindow(GameElement,WidgetElement):
+ TAG=Element.MODULE+'ChartWindow'
+ def __init__(self,elem,node=None,
+ name = '',
+ hotkey = key('A',ALT),
+ description = '',
+ text = '',
+ tooltip = 'Show/hide Charts',
+ icon = '/images/chart.gif'):
+ super(ChartWindow,self).__init__(elem,self.TAG,node=node,
+ name = name,
+ hotkey = hotkey,
+ description = description,
+ text = text,
+ tooltip = tooltip,
+ icon = icon)
+
+ def addChart(self,**kwargs):
+ '''Add a `Chart` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Chart
+ The added element
+ '''
+ return self.add(Chart,**kwargs)
+ def getCharts(self,asdict=True):
+ '''Get all Chart element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Chart` elements. If `False`, return a list of all Chart` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Chart` children
+ '''
+ return self.getElementsById(Chart,'chartName',asdict=asdict)
+
+
-
-
# --------------------------------------------------------------------
-def add_translatable(root,elem):
- return add_node(root,elem,MODULE+'properties.GlobalTranslatableMessages')
+class Chart(Element):
+ TAG=Element.WIDGET+'Chart'
+ def __init__(self,elem,node=None,
+ chartName = '',
+ fileName = '',
+ description = ''):
+ super(Chart,self).__init__(elem,self.TAG,node=node,
+ chartName = chartName,
+ description = description,
+ fileName = fileName)
-# --------------------------------------------------------------------
-def add_language(root,elem):
- return add_node(root,elem,'VASSAL.i18n.Language')
+#
+# EOF
+#
+# ====================================================================
+# From command.py
# --------------------------------------------------------------------
-def add_chatter(root,elem):
- return add_node(root,elem,MODULE+'Chatter')
-
+class Command:
+ def __init__(self,what,iden,tpe,state):
+ self.cmd = '/'.join([what,iden,tpe,state])
+
# --------------------------------------------------------------------
-def add_keynamer(root,elem):
- return add_node(root,elem,MODULE+'KeyNamer')
+class AddCommand(Command):
+ ID = '+'
+ def __init__(self,iden,tpe,state):
+ super(AddCommand,self).__init__(self.ID,iden,tpe,state)
+
-# --------------------------------------------------------------------
-def add_documentation(root,doc):
- return add_node(root,doc,MODULE+'Documentation')
+#
+# EOF
+#
+# ====================================================================
+# From trait.py
+# ====================================================================
+class Trait:
+ known_traits = []
+ def __init__(self):
+ '''Base class for trait capture. Unlike the Element classes,
+ this actually holds state that isn't reflected elsewhere in
+ the DOM. This means that the data here is local to the
+ object. So when we do
+
+ piece = foo.getPieceSlots()[0]
+ traits = p.getTraits()
+ for trait in traits:
+ if trait.ID == 'piece':
+ trait["gpid"] = newPid
+ trait["lpid"] = newPid
+
+ we do not actually change anything in the DOM. To do that, we
+ must add back _all_ the traits as
+
+ piece.setTraits(traits)
+
+ We can add traits to a piece, like
+
+ piece.addTrait(MarkTrait('Hello','World'))
+
+ But it is not particularly efficient. Better to do
+ (continuing from above)
+
+ traits.append(MarkTrait('Hello','World;)
+ piece.setTraits(traits)
+
+ '''
+ self._type = None
+ self._state = None
+
+ def setType(self,**kwargs):
+ '''Set types. Dictionary of names and values. Dictonary keys
+ defines how we access the fields, which is internal here.
+ What matters is the order of the values.
+
+ '''
+ self._type = list(kwargs.values())
+ self._tnames = list(kwargs.keys())
+ def setState(self,**kwargs):
+ '''Set states. Dictionary of names and values. Dictonary keys
+ defines how we access the fields, which is internal here.
+ What matters is the order of the values.
+ '''
+ self._state = list(kwargs.values())
+ self._snames = list(kwargs.keys())
-# --------------------------------------------------------------------
-def add_about(root,doc,title,fileName=""):
- return add_node(root,doc,MODULE+'documentation.AboutScreen',
- fileName = fileName,
- title = title)
-# --------------------------------------------------------------------
-def add_pdffile(root,doc,title,pdfFile):
- return add_node(root,doc,MODULE+'documentation.BrowserPDFFile',
- pdfFile = pdfFile, title=title)
-# --------------------------------------------------------------------
-def add_helpfile(root,doc,title,fileName,fileType="archive"):
- return add_node(root,doc,MODULE+'documentation.HelpFile',
- fileName = fileName,
- fileType = fileType,
- title = title)
+
+ def __getitem__(self,key):
+ '''Look up item in either type or state'''
+ try:
+ return self._type[self._tnames.index(key)]
+ except:
+ pass
+ return self._state[self._snames.index(key)]
+
+ def __setitem__(self,key,value):
+ '''Set item in either type or state'''
+ try:
+ self._type[self._tnames.index(key)] = value
+ return
+ except:
+ pass
+ self._state[self._snames.index(key)] = value
+
+ def encode(self,term=False):
+ '''
+ returns type and state encoded'''
+ t = self.encodeFields(self.ID,*self._type,term=term)
+ s = self.encodeFields(*self._state,term=term)
+ return t,s
+
+ @classmethod
+ def findTrait(cls,traits,ID,key=None,value=None,verbose=False):
+ for trait in traits:
+ if trait.ID != ID:
+ continue
+ if verbose:
+ print(f' {trait.ID}')
+ if key is None or value is None:
+ if verbose:
+ print(f' Return {trait.ID}')
+ return trait
+ if verbose:
+ print(f' Check {key}={value}: {trait[key]}')
+ if trait[key] == value:
+ return trait
+ if verbose:
+ print(f' Trait of type {ID} with {key}={value} not found')
+ return None
+
+ @classmethod
+ def take(cls,iden,t,s):
+ '''If the first part of the string t matches the ID, then take it.
+
+ t and s are lists of strings.
+ '''
+ if iden != cls.ID: return None
+
+ ret = cls()
+ ret._type = t
+ ret._state = s
+ ret.check() # Check if we're reasonable, or raise
+ #print(f'Took {iden} {cls}\n'
+ # f' {ret._tnames}\n'
+ # f' {ret._snames}')
+ return ret
+
+ def check(self):
+ '''Implement if trait should check that all is OK when cloning'''
+ pass
+
+ @classmethod
+ def encodeFields(cls,*args,term=False):
+ return ';'.join([str(e).lower() if isinstance(e,bool) else str(e)
+ for e in args])+(';' if term else '')
+
+ @classmethod
+ def decodeFields(cls,s):
+ from re import split
+ return split(r'(?<!\\);',s)
+ # return s.split(';') # Probably too simple-minded
+
+ @classmethod
+ def encodeKeys(cls,keys,sep=','):
+ return sep.join([k.replace(',','\\'+f'{sep}') for k in keys])
+
+ @classmethod
+ def decodeKeys(cls,keys,sep=','):
+ from re import split
+ ks = split(r'(?<!\\)'+f'{sep}',keys)
+ return [k.replace('\\'+f'{sep}',f'{sep}') for k in ks]
+
+ @classmethod
+ def flatten(cls,traits,game=None,prototypes=None):
+ if prototypes is None:
+ if game is None:
+ print(f'Warning: Game or prototypes not passed')
+ return None
+ prototypes = game.getPrototypes()[0].getPrototypes()
+
+ ret = []
+ return cls._flatten(traits,ret,prototypes,False)
+
+ @classmethod
+ def _flatten(cls,traits,ret,prototypes,nobasic=True):
+ '''Expand all prototype traits in traits'''
+ for trait in traits:
+ # Ignore recursive basic traits
+ if nobasic and trait.ID == BasicTrait.ID:
+ continue
+ # Add normal traits
+ if trait.ID != PrototypeTrait.ID:
+ ret.append(trait)
+ continue
+
+ # Find prototype
+ proto = prototypes.get(trait['name'],None)
+ if proto is None:
+ print(f'Warning, prototype {trait["name"]} not found')
+ continue
+
+ # Recursive call to add prototype traits (and possibly
+ # more recursive calls
+ cls._flatten(proto.getTraits(), ret, prototypes,not nobasic)
+
+ return ret
+#
+# EOF
+#
+# ====================================================================
+# From withtraits.py
# --------------------------------------------------------------------
-def add_htmlfile(root,doc,title,startingPage='index.html'):
- return add_node(root,doc,MODULE+'documentation.BrowserHelpFile',
- startingPage=startingPage,
- title=title)
+#
+# Traits of this kind of object are
+#
+# - Evaluated from the start of the list to the end of the list,
+# skipping over report and trigger traits
+# - Then evaluated from the end of the list to the start, only
+# evaluating report and trigger traits
+# - The list _must_ end in a BasicTrait
+#
+# Traits are copied when making a copy of objects of this class, and
+# are done so using a full decoding and encoding. This means that
+# copying is a bit susceptible to expansions of the strings of the traits,
+# in particular if they contain special characters such as ',' or '/'.
+#
+class WithTraits(Element):
+ def __init__(self,parent,tag,node=None,traits=[],**kwargs):
+ '''Base class for things that have traits
+
+ Parameters
+ ----------
+ parent : Element
+ Parent to add this to
+ node : xml.minidom.Element
+ If not None, XML element to read definition from.
+ Rest of the arguments are ignored if not None.
+ traits : list of Trait objects
+ The traits to set on this object
+ kwargs : dict
+ More attributes to set on element
+ '''
+ super(WithTraits,self).__init__(parent,tag,node=node,**kwargs)
+ if node is None: self.setTraits(*traits)
+
+ def addTrait(self,trait):
+ '''Add a `Trait` element to this. Note that this re-encodes
+ all traits.
+
+ Parameters
+ ----------
+ trait : Trait
+ The trait to add
+ '''
+ traits = self.getTraits()
+ traits.append(trait)
+ self.setTraits(*traits)
+
+ def getTraits(self):
+ '''Get all element traits as objects. This decodes the trait
+ definitions. This is useful if we have read the element from
+ the XML file, or similar.
+
+ Note that the list of traits returned are _not_ tied to the
+ XML nodes content. Therefore, if one makes changes to the list,
+ or to elements of the list, and these changes should be
+ reflected in this object, then we _must_ call
+
+ setTraits(traits)
+
+ with the changed list of traits.
+
+ Returns
+ -------
+ traits : list of Trait objects
+ The decoded traits
+
+ '''
+ from re import split
+ code = self._node.childNodes[0].nodeValue
+ cmd, iden, typ, sta = split(fr'(?<!\\)/',code) #code.split('/')
+ types = typ.split(r' ')
+ states = sta.split(r' ')
+ types = [t.strip('\\').split(';') for t in types]
+ states = [s.strip('\\').split(';') for s in states]
+ traits = []
+
+ for t, s in zip(types,states):
+ tid = t[0]
+ trem = t[1:]
+ known = False
+
+ for c in Trait.known_traits:
+ t = c.take(tid,trem,s) # See if we have it
+ if t is not None:
+ traits.append(t) # Got it
+ known = True
+ break
+
+ if not known:
+ print(f'Warning: Unknown trait {tid}')
+ return traits
+
+ def setTraits(self,*traits,iden='null'):
+ '''Set traits on this element. This encodes the traits into
+ this object.
+
+ Parameters
+ ----------
+ traits : tuple of Trait objects
+ The traits to set on this object.
+ iden : str
+ Identifier
+
+ '''
+ types = []
+ states = []
+ for trait in traits:
+ if trait is None:
+ print(f'Trait is None (traits: {traits})')
+ continue
+ tpe, state = trait.encode()
+ types.append(tpe)
+ states.append(state)
+
+ tpe = WithTraits.encodeParts(*types)
+ state = WithTraits.encodeParts(*states)
+ add = AddCommand(str(iden),tpe,state)
+ if len(self._node.childNodes) < 1:
+ self.addText('')
+ self._node.childNodes[0].nodeValue = add.cmd
+
+ def removeTrait(self,ID,key=None,value=None,verbose=False):
+ '''Remove a trait from this object.
+
+ Parameters
+ ----------
+ ID : str
+ The type of trait to remove. Must be a valid
+ ID of a class derived from Trait.
+ key : str
+ Optional key to inspect to select trait that has
+ this key and the traits key value is the argument value,
+ value :
+ If specified, then only traits which key has this value
+ are removed
+ verbose : bool
+ Be verbose if True
+
+ Returns
+ -------
+ trait : Trait
+ The removed trait or None
+ '''
+ traits = self.getTraits()
+ trait = Trait.findTrait(traits,ID,key,value,verbose)
+ if trait is not None:
+ traits.remove(trait)
+ self.setTraits(traits)
+ return trait
+
+ def addTraits(self,*toadd):
+ '''Add traits to this. Note that this will
+ decode and reencode the traits. Only use this when
+ adding traits on-mass. Repeated use of this is inefficient.
+
+ This member function takes care to push any basic trait to
+ the end of the list.
+
+ The added traits will not override existing triats.
+
+ Paramters
+ ---------
+ toAdd : tuple of Trait objects
+ The traits to add
+
+ '''
+ traits = self.getTraits()
+ basic = Trait.findTrait(traits,BasicTrait.ID)
+ if basic:
+ traits.remove(basic)
+ traits.extend(toAdd)
+ if basic:
+ traits.append(basic)
+ self.setTraits(traits)
+
+
+ @classmethod
+ def encodeParts(cls,*parts):
+ '''Encode parts of a full piece definition
+
+ Each trait (VASSAL.counter.Decorator,
+ VASSAL.counter.BasicPiece) definition or state is separated by
+ a litteral TAB character. Beyond the first TAB separator,
+ additional escape characters (BACKSLAH) are added in front of
+ the separator. This is to that VASSAL.utils.SequenceDecoder
+ does not see consequitive TABs as a single TAB.
+ '''
+ ret = ''
+ sep = r' '
+ for i, p in enumerate(parts):
+ if i != 0:
+ ret += '\\'*(i-1) + sep
+ ret += str(p)
+
+ return ret
+
+
+ def cloneNode(self,parent):
+ '''This clones the underlying XML node.
+
+ Parameters
+ ----------
+ parent : Element
+ The element to clone this element into
+
+ Returns
+ -------
+ copy : xml.minidom.Element
+ The newly created clone of this object's node
+ '''
+ copy = self._node.cloneNode(deep=True)
+ if parent is not None:
+ parent._node.appendChild(copy)
+ else:
+ print('WARNING: No parent to add copy to')
+ return copy
+
# --------------------------------------------------------------------
-def add_tutorial(root,doc,
- name = 'Tutorial',
- logfile = 'tutorial.vlog',
- promptMessage = 'Load the tutorial?',
- welcomeMessage = 'Press "Step forward" (PnDn) to step through the tutorial',
- launchOnStartup = True):
- return add_node(root,doc,MODULE+'documentation.Tutorial',
- name = name,
- logfile = logfile,
- promptMessage = promptMessage,
- welcomeMessage = welcomeMessage,
- launchOnStartup = launchOnStartup)
+class DummyWithTraits(WithTraits):
+ TAG = 'dummy'
+ def __init__(self,parent,node=None,traits=[]):
+ '''An empty element. Used when making searching'''
+ super(DummyWithTraits,self).__init__(tag = self.TAG,
+ parent = parent,
+ node = node,
+ traits = traits)
+ if parent is not None:
+ parent.remove(self)
+
# --------------------------------------------------------------------
-def add_roster(root,doc,buttonKeyStroke='',
- buttonText='Retire',
- buttonToolTip='Switch sides, become observer, or release faction'):
- return add_node(root,doc,MODULE+'PlayerRoster',
- buttonKeyStroke = buttonKeyStroke,
- buttonText = buttonText,
- buttonToolTip = buttonToolTip)
-
-# --------------------------------------------------------------------
-def add_entry(root,doc,text):
- n = add_node(root,doc,'entry')
- add_text(root,n,text)
- return n
-
-# --------------------------------------------------------------------
-def add_globaloptions(root,doc,
- autoReport = "Use Preferences Setting",
- centerOnMove = "Use Preferences Setting",
- chatterHTMLSupport = "Always",
- hotKeysOnClosedWindows = "Never",
- inventoryForAll = "Always",
- nonOwnerUnmaskable = "Use Preferences Setting",
- playerIdFormat = "$playerName$",
- promptString = "Opponents can unmask pieces",
- sendToLocationMoveTrails = "Never"):
- return add_node(root,doc,MODULE+'GlobalOptions',
- autoReport = autoReport,
- centerOnMove = centerOnMove,
- chatterHTMLSupport = chatterHTMLSupport,
- hotKeysOnClosedWindows = hotKeysOnClosedWindows,
- inventoryForAll = inventoryForAll,
- nonOwnerUnmaskable = nonOwnerUnmaskable,
- playerIdFormat = playerIdFormat,
- promptString = promptString,
- sendToLocationMoveTrails = sendToLocationMoveTrails)
-
-# --------------------------------------------------------------------
-def add_option(root,doc,name,value):
- n = add_node(root,doc,'option',name=name)
- add_text(n,root,value)
- return n
+class PieceSlot(WithTraits):
+ TAG = Element.WIDGET+'PieceSlot'
+ def __init__(self,parent,node=None,
+ entryName = '',
+ traits = [],
+ gpid = 0,
+ height = 72,
+ width = 72,
+ icon = ''):
+ '''A piece slot. Used all the time.
+
+ Parameters
+ ----------
+ parent : Element
+ Parent to add this to
+ node : xml.minidom.Element
+ If not None, XML element to read definition from.
+ Rest of the arguments are ignored if not None.
+ entryName : str
+ Name of this
+ traits : list of Trait objects
+ The traits to set on this object
+ gpid : int
+ Global Piece identifier. If 0, will be set by Game
+ height : int
+ Height size of the piece (in pixels)
+ width : int
+ Width size of the piece (in pixels)
+ icon : str
+ Piece image file name within 'image' sub-dir of archive
+ '''
+ super(PieceSlot,self).\
+ __init__(parent,self.TAG,node=node,
+ traits = traits,
+ entryName = entryName,
+ gpid = gpid,
+ height = height,
+ width = width,
+ icon = icon)
+
+ def clone(self,parent):
+ '''Adds copy of self to parent, possibly with new GPID'''
+ game = self.getParentOfClass([Game])
+ gpid = game.nextPieceSlotId()
+ #opid = int(self.getAttribute('gpid'))
+ #print(f'Using GPID={gpid} for clone {opid}')
+
+ node = self.cloneNode(parent)
+ piece = PieceSlot(parent,node=node)
+ piece.setAttribute('gpid',gpid)
+
+ traits = piece.getTraits()
+ for trait in traits:
+ if isinstance(trait,BasicTrait):
+ trait['gpid'] = gpid
+
+ piece.setTraits(*traits)
+ return piece
+
# --------------------------------------------------------------------
-# CurrentMap == &quot;Board&quot;
-def add_inventory(root,doc,
- canDisable = False,
- centerOnPiece = True,
- disabledIcon = '',
- drawPieces = True,
- foldersOnly = False,
- forwardKeystroke = True,
- groupBy = '',
- hotkey = key('I',ALT),
- icon = '/images/inventory.gif',
- include = '{}',
- launchFunction = 'functionHide',
- leafFormat = '$PieceName$',
- name = '',
- nonLeafFormat = '$PropertyValue$',
- pieceZoom = '0.33',
- pieceZoom2 = '0.5',
- pieceZoom3 = '0.6',
- propertyGate = '',
- refreshHotkey = key('I',ALT_SHIFT),
- showMenu = True,
- sides = '',
- sortFormat = '$PieceName$',
- sortPieces = True,
- sorting = 'alpha',
- text = '',
- tooltip = 'Show inventory of all pieces',
- zoomOn = False):
- return add_node(root,doc,MODULE+'Inventory',
- canDisable = canDisable,
- centerOnPiece = centerOnPiece,
- disabledIcon = disabledIcon,
- drawPieces = drawPieces,
- foldersOnly = foldersOnly,
- forwardKeystroke = forwardKeystroke,
- groupBy = groupBy,
- hotkey = hotkey,
- icon = icon,
- include = include,
- launchFunction = launchFunction,
- leafFormat = leafFormat,
- name = name,
- nonLeafFormat = nonLeafFormat,
- pieceZoom = pieceZoom,
- pieceZoom2 = pieceZoom2,
- pieceZoom3 = pieceZoom3,
- propertyGate = propertyGate,
- refreshHotkey = refreshHotkey,
- showMenu = showMenu,
- sides = sides,
- sortFormat = sortFormat,
- sortPieces = sortPieces,
- sorting = sorting,
- text = text,
- tooltip = tooltip,
- zoomOn = zoomOn)
+class Prototype(WithTraits):
+ TAG = Element.MODULE+'PrototypeDefinition'
+ def __init__(self,cont,node=None,
+ name = '',
+ traits = [],
+ description = ''):
+ '''A prototype. Used all the time.
+
+ Parameters
+ ----------
+ cont : Element
+ Parent to add this to
+ node : xml.minidom.Element
+ If not None, XML element to read definition from.
+ Rest of the arguments are ignored if not None.
+ name : str
+ Name of this
+ traits : list of Trait objects
+ The traits to set on this object
+ description : str
+ A free-form description of this prototype
+ '''
+ super(Prototype,self).__init__(cont,self.TAG,node=node,
+ traits = traits,
+ name = name,
+ description = description)
-
+#
+# EOF
+#
+# ====================================================================
+# From traits/dynamicproperty.py
+
+# --------------------------------------------------------------------
+# Base class for property (piece or global) change traits. Encodes
+# constraints and commands.
+class ChangePropertyTrait(Trait):
+ DIRECT = 'P'
+ def __init__(self,
+ *commands,
+ numeric = False,
+ min = 0,
+ max = 100,
+ wrap = False):
+ # assert name is not None and len(name) > 0, \
+ # 'No name specified for ChangePropertyTriat'
+ super(ChangePropertyTrait,self).__init__()
+ self._constraints = self.encodeConstraints(numeric,wrap,min,max)
+ self._commands = self.encodeCommands(commands)
+
+ def encodeConstraints(self,numeric,wrap,min,max):
+ isnum = f'{numeric}'.lower()
+ iswrap = f'{wrap}'.lower()
+ return f'{isnum},{min},{max},{iswrap}'
+
+ def decodeConstraints(self,constraints):
+ f = Trait.decodeKeys(constraints)
+ return f[0]=='true',f[3]=='true',int(f[1]),int(f[2])
+
+ def encodeCommands(self,commands):
+ cmds = []
+ for cmd in commands:
+ # print(cmd)
+ com = cmd[0] + ':' + cmd[1].replace(',',r'\,') + ':' + cmd[2]
+ if cmd[2] == self.DIRECT:
+ com += f'\,'+cmd[3].replace(':',r'\:')
+ cmds.append(com)
+ return ','.join(cmds)
+
+ def decodeCommands(self,commands):
+ cmds = Trait.decodeKeys(commands)
+ ret = []
+ for cmd in cmds:
+ parts = Trait.decodeKeys(cmd,':')
+ # print('parts',parts)
+ if parts[-1][0] == self.DIRECT:
+ parts = parts[:-1]+Trait.decodeKeys(parts[-1],',')
+ ret.append(parts)
+ # print(commands,parts)
+ return ret
+
+ def getCommands(self):
+ return self.decodeCommands(self['commands'])
+ def setCommands(self,commands):
+ self['commands'] = self.encodeCommands(commands)
+
+ def check(self):
+ assert len(self['name']) > 0,\
+ f'No name given for ChangePropertyTrait'
+
+
# --------------------------------------------------------------------
-def add_map(root,doc,
- mapName,
- allowMultiple = 'false',
- backgroundcolor = rgb(255,255,255),
- buttonName = '',
- changeFormat = '$message$',
- color = rgb(0,0,0),
- createFormat = '$pieceName$ created in $location$ *',
- edgeHeight = '0',
- edgeWidth = '0',
- hideKey = '',
- hotkey = key('M',ALT),
- icon = '/images/map.gif',
- launch = 'false',
- markMoved = 'Always',
- markUnmovedHotkey = '',
- markUnmovedIcon = '/images/unmoved.gif',
- markUnmovedReport = '',
- markUnmovedText = '',
- markUnmovedTooltip = 'Mark all pieces on this map as not moved',
- moveKey = '',
- moveToFormat = '$pieceName$ moves $previousLocation$ &amp;rarr; $location$ *',
- moveWithinFormat = '$pieceName$ moves $previousLocation$ &amp;rarr; $location$ *',
- showKey = '',
- thickness = '3',
- cls = MODULE+'Map'):
- return add_node(root,doc,cls,
- allowMultiple = allowMultiple,
- backgroundcolor = backgroundcolor,
- buttonName = buttonName,
- changeFormat = changeFormat,
- color = color,
- createFormat = createFormat,
- edgeHeight = edgeHeight,
- edgeWidth = edgeWidth,
- hideKey = hideKey,
- hotkey = hotkey,
- icon = icon,
- launch = launch,
- mapName = mapName,
- markMoved = markMoved,
- markUnmovedHotkey = markUnmovedHotkey,
- markUnmovedIcon = markUnmovedIcon,
- markUnmovedReport = markUnmovedReport,
- markUnmovedText = markUnmovedText,
- markUnmovedTooltip = markUnmovedTooltip,
- moveKey = moveKey,
- moveToFormat = moveToFormat,
- moveWithinFormat = moveWithinFormat,
- showKey = showKey,
- thickness = thickness)
-
-# --------------------------------------------------------------------
-def add_widgetmap(root,doc, mapName,**attr):
- return add_map(root,doc,mapName,cls=WIDGET+'WidgetMap',**attr)
-
-# --------------------------------------------------------------------
-def add_boardpicker(root,doc,
- addColumnText = 'Add column',
- addRowText = 'Add row',
- boardPrompt = 'Select board',
- slotHeight = 125,
- slotScale = 0.2,
- slotWidth = 350,
- title = 'Choose Boards'):
- return add_node(root,doc,MAP+'BoardPicker',
- addColumnText = addColumnText,
- addRowText = addRowText,
- boardPrompt = boardPrompt,
- slotHeight = slotHeight,
- slotScale = slotScale,
- slotWidth = slotWidth,
- title = title)
-
-# --------------------------------------------------------------------
-def add_setup(root,picker,mapName,maxColumns,boardNames):
- '''Add given boards in row-first up to maxColumns per row'''
- s = add_node(root,picker,'setup')
- col = 0
- row = 0
- lst = [f'{mapName}BoardPicker']
- for bn in boardNames:
- lst.extend([bn,str(col),str(row)])
- col += 1
- if col >= maxColumns:
- col = 0
- row += 1
- txt = r' '.join(lst)
- add_text(root,s,txt)
-
-# --------------------------------------------------------------------
-def add_board(root,picker,name,
- image = '',
- reversible = False,
- color = rgb(255,255,255),
- width = 0,
- height = 0):
- return add_node(root,picker,PICKER+'Board',
- image = image,
- name = name,
- reversible = reversible,
- color = color,
- width = width,
- height = height)
-
-# --------------------------------------------------------------------
-def add_zoned(root,board):
- return add_node(root,board,PICKER+'board.ZonedGrid')
-
-# --------------------------------------------------------------------
-def add_zonehighlighter(root,zoned):
- return add_node(root,zoned,PICKER+'board.mapgrid.ZonedGridHighlighter')
-
-# --------------------------------------------------------------------
-def add_zone(root,zoned,
- name = "",
- highlightProperty = "",
- locationFormat = "$gridLocation$",
- path = "0,0;976,0;976,976;0,976",
- useHighlight = False,
- useParentGrid = False):
- return add_node(root,zoned,PICKER+'board.mapgrid.Zone',
- name = name,
- highlightProperty = highlightProperty,
- locationFormat = locationFormat,
- path = path,
- useHighlight = useHighlight,
- useParentGrid = useParentGrid)
+class DynamicPropertyTrait(ChangePropertyTrait):
+ ID = 'PROP'
+ def __init__(self,
+ *commands,
+ name = '',
+ value = 0,
+ numeric = False,
+ min = 0,
+ max = 100,
+ wrap = False,
+ description = ''):
+ '''Commands are
+
+ - menu
+ - key
+ - Type (only 'P' for now)
+ - Expression
+ '''
+ super(DynamicPropertyTrait,self).__init__(*commands,
+ numeric = numeric,
+ min = min,
+ max = max,
+ wrap = wrap)
+ # print(commands,'Name',name)
+ self.setType(name = name,
+ constraints = self._constraints,
+ commands = self._commands,
+ description = description)
+ self.setState(value=value)
-# --------------------------------------------------------------------
-HEX_WIDTH = 88.50779626676963
-HEX_HEIGHT = 102.2
-def add_hexgrid(root,zone,
- color = rgb(0,0,0),
- cornersLegal = False,
- dotsVisible = False,
- dx = HEX_WIDTH,
- dy = HEX_HEIGHT,
- edgesLegal = False,
- sideways = False,
- snapTo = True,
- visible = True,
- x0 = 0,
- y0 = 32,
- cls = PICKER+'board.HexGrid'):
- return add_node(root,zone,cls,
- color = color,
- cornersLegal = cornersLegal,
- dotsVisible = dotsVisible,
- dx = dx,
- dy = dy,
- edgesLegal = edgesLegal,
- sideways = sideways,
- snapTo = snapTo,
- visible = visible,
- x0 = x0,
- y0 = y0)
-
-# --------------------------------------------------------------------
-def add_hexnumbering(root,grid,
- color = rgb(255,0,0),
- first = 'H',
- fontSize = 24,
- hDescend = False,
- hDrawOff = 0,
- hLeading = 1,
- hOff = 0,
- hType = 'A',
- locationFormat = '$gridLocation$',
- rotateText = 0,
- sep = '',
- stagger = True,
- vDescend = False,
- vDrawOff = 32,
- vLeading = 0,
- vOff = 0,
- vType = 'N',
- visible = True,
- cls = PICKER+'board.mapgrid.HexGridNumbering'):
- return add_node(root,grid,cls,
- color = color,
- first = first,
- fontSize = fontSize,
- hDescend = hDescend,
- hDrawOff = hDrawOff,
- hLeading = hLeading,
- hOff = hOff,
- hType = hType,
- locationFormat = locationFormat,
- rotateText = rotateText,
- sep = sep,
- stagger = stagger,
- vDescend = vDescend,
- vDrawOff = vDrawOff,
- vLeading = vLeading,
- vOff = vOff,
- vType = vType,
- visible = visible)
+
+Trait.known_traits.append(DynamicPropertyTrait)
-# --------------------------------------------------------------------
-RECT_WIDTH = 80
-RECT_HEIGHT = 80
-def add_squaregrid(root,zone,
- dx = RECT_WIDTH,
- dy = RECT_HEIGHT,
- edgesLegal = False,
- x0 = 0,
- y0 = int(0.4*RECT_HEIGHT),
- **attr):
- return add_hexgrid(root,zone,cls=PICKER+'board.SquareGrid',
- dx = dx,
- dy = dy,
- edgesLegal = edgesLegal,
- x0 = x0,
- y0 = y0,
- **attr)
-
-# --------------------------------------------------------------------
-def add_squarenumbering(root,grid,
- hType = 'N',
- **attr):
- return add_hexnumbering(root,grid,
- cls=PICKER+'board.mapgrid.SquareGridNumbering',
- hType = hType,
- **attr)
-
-# --------------------------------------------------------------------
-def add_regiongrid(root,zone,snapto=True,fontsize=9,visible=True):
- # print(f'Make region grid visible: {visible}')
- return add_node(root,zone,PICKER+'board.RegionGrid',
- fontsize = fontsize,
- snapto = snapto,
- visble = visible)
-
-# --------------------------------------------------------------------
-def get_region_piece(root,grid,name,alsoPiece=True,piece=None,verbose=False):
- if not alsoPiece:
- return None, None
-
- # Find the parent map element by stepping up the tree
- from functools import reduce
-
- map = reduce(lambda nn, _: None if nn is None else nn.parentNode,
- range(5), grid)
- if map is None or \
- map.tagName not in [MODULE+'Map',WIDGET+'WidgetMap']:
- if map is None:
- print(f' = Map not found from grid')
- return None, None
-
- if piece is not None:
- print(f' Using supplied piece')
- return piece, map
-
- # Find the piece by searching from the top of the tree
- piece = get_pieces(root,root).get(name,None)
- # if piece is None:
- # print(list(get_pieces(root,root).keys()))
- if verbose:
- print(f' Possible piece for region {name}: {piece}')
- return piece, map
-
-# --------------------------------------------------------------------
-def check_region_name(grid,name):
- post = ''
- targ = name
- same = 0
- regs = list(get_regions(grid).keys())
- poss = len([e for e in regs if e.startswith(name)])
- if poss == 0:
- return name
-
- return name + f' {poss}'
- # Loop over keys, sorted
- # regs.sort()
- # for r in regs:
- # if targ == r:
- # same += 1
- # targ = name + f' {same:02d}'
- # print(f' Found region named {r} -> {targ}')
-
- return targ
-
-# --------------------------------------------------------------------
-def add_region(root,grid,name,originx,originy,gpid,
- alsoPiece=True,piece=None,verbose=True):
- # First thing is to check if we have a piece
- piece, map = get_region_piece(root,grid,name,alsoPiece,piece,verbose)
- if verbose:
- print(f' Region {name} -> piece {piece}')
-
-
- nam = check_region_name(grid,name)
- if verbose:
- print(f' Region {name} -> real name {nam}')
- n = add_node(root,grid,PICKER+'board.Region',
- name = nam,
- originx = originx,
- originy = originy)
- if piece is None:
- return n, gpid
-
- if verbose:
- print(f' Add piece {name} to region')
- _, gpid = add_atstart(root,map,name,piece,
- location = nam,
- useGridLocation = True,
- owningBoard = map.getAttribute('mapName'),
- x = 0,
- y = 0,
- gpid = gpid)
- return n, gpid
-
-
-# --------------------------------------------------------------------
-def add_stacking(root,map,
- bottom = '40,0',
- disabled = False,
- down = '37,0',
- exSepX = 6,
- exSepY = 18,
- top = '38,0',
- unexSepX = 8,
- unexSepY = 16,
- up = '39,0'):
- return add_node(root,map,MAP+'StackMetrics',
- bottom = bottom,
- disabled = disabled,
- down = down,
- exSepX = exSepX,
- exSepY = exSepY,
- top = top,
- unexSepX = unexSepX,
- unexSepY = unexSepY,
- up = up)
-
-# --------------------------------------------------------------------
-def add_camera(root,map,
- buttonText = '',
- canDisable = False,
- hotkey = '',
- icon = '/images/camera.gif',
- propertyGate = '',
- tooltip = 'Save map as PNG image'):
- return add_node(root,map,MAP+'ImageSaver',
- buttonText = buttonText,
- canDisable = canDisable,
- hotkey = hotkey,
- icon = icon,
- propertyGate = propertyGate,
- tooltip = tooltip)
-
-# --------------------------------------------------------------------
-def add_forwardtochatter(root,map):
- return add_node(root,map,MAP+'ForwardToChatter')
-
-# --------------------------------------------------------------------
-def add_menudisplayer(root,map):
- return add_node(root,map,MAP+'MenuDisplayer')
-
-# --------------------------------------------------------------------
-def add_mapcenterer(root,map):
- return add_node(root,map,MAP+'MapCenterer')
-
-# --------------------------------------------------------------------
-def add_stackexpander(root,map):
- return add_node(root,map,MAP+'StackExpander')
-
-# --------------------------------------------------------------------
-def add_piecemover(root,map):
- return add_node(root,map,MAP+'PieceMover')
-
-# --------------------------------------------------------------------
-def add_selectionhighlighters(root,map):
- return add_node(root,map,MAP+'SelectionHighlighters')
-
-# --------------------------------------------------------------------
-def add_keybufferer(root,map):
- return add_node(root,map,MAP+'KeyBufferer')
-
-# --------------------------------------------------------------------
-def add_highlightlastmoved(root,map,color=rgb(255,0,0),enabled=True,thickness=2):
- return add_node(root,map,MAP+'HighlightLastMoved',
- color=color,enabled=enabled,thickness=thickness)
-
-# --------------------------------------------------------------------
-def add_counterviewer(root,map,
- borderWidth = 0,
- centerAll = False,
- centerText = False,
- combineCounterSummary = False,
- counterReportFormat = '',
- delay = 700,
- description = '',
- display = 'from top-most layer only',
- emptyHexReportForma = '$LocationName$',
- enableHTML = True,
- extraTextPadding = 0,
- fgColor = rgb(0,0,0),
- fontSize = 9,
- graphicsZoom = 1.0,
- hotkey = key('\n',0),
- layerList = '',
- minDisplayPieces = 2,
- propertyFilter = '',
- showDeck = False,
- showDeckDepth = 1,
- showDeckMasked = False,
- showMoveSelectde = False,
- showNoStack = False,
- showNonMovable = False,
- showOverlap = False,
- showgraph = True,
- showgraphsingle = False,
- showtext = False,
- showtextsingle = False,
- stretchWidthSummary = False,
- summaryReportFormat = '$LocationName$',
- unrotatePieces = False,
- version = 3,
- verticalOffset = 0,
- verticalTopText = 5,
- zoomlevel = 1.0):
- return add_node(root,map,MAP+'CounterDetailViewer',
- borderWidth = borderWidth,
- centerAll = centerAll,
- centerText = centerText,
- combineCounterSummary = combineCounterSummary,
- counterReportFormat = counterReportFormat,
- delay = delay,
- description = description,
- display = display,
- emptyHexReportForma = emptyHexReportForma,
- enableHTML = enableHTML,
- extraTextPadding = extraTextPadding,
- fgColor = fgColor,
- fontSize = fontSize,
- graphicsZoom = graphicsZoom,
- hotkey = hotkey,
- layerList = layerList,
- minDisplayPieces = minDisplayPieces,
- propertyFilter = propertyFilter,
- showDeck = showDeck,
- showDeckDepth = showDeckDepth,
- showDeckMasked = showDeckMasked,
- showMoveSelectde = showMoveSelectde,
- showNoStack = showNoStack,
- showNonMovable = showNonMovable,
- showOverlap = showOverlap,
- showgraph = showgraph,
- showgraphsingle = showgraphsingle,
- showtext = showtext,
- showtextsingle = showtextsingle,
- stretchWidthSummary = stretchWidthSummary,
- summaryReportFormat = summaryReportFormat,
- unrotatePieces = unrotatePieces,
- version = version,
- verticalOffset = verticalOffset,
- verticalTopText = verticalTopText,
- zoomlevel = zoomlevel)
-
-# --------------------------------------------------------------------
-def add_globalmap(root,map,
- buttonText = '',
- color = rgb(255,0,0),
- hotkey = key('O',CTRL_SHIFT),
- icon = '/images/overview.gif',
- scale = 0.2,
- tooltip = 'Show/Hide overview window'):
- return add_node(root,map,MAP+'GlobalMap',
- buttonText = buttonText,
- color = color,
- hotkey = hotkey,
- icon = icon,
- scale = scale,
- tooltip = 'Show/Hide overview window')
-
-# --------------------------------------------------------------------
-def add_zoomer(root,map,
- inButtonText = '',
- inIconName = '/images/zoomIn.gif',
- inTooltip = 'Zoom in',
- outButtonText = '',
- outIconName = '/images/zoomOut.gif',
- outTooltip = 'Zoom out',
- pickButtonText = '',
- pickIconName = '/images/zoom.png',
- pickTooltip = 'Select Zoom',
- zoomInKey = key('=',CTRL_SHIFT),
- zoomLevels = [0.2,0.25,0.333,0.4,0.5,0.555,0.625,0.75,1.0,1.25,1.6],
- zoomOutKey = key('-'),
- zoomPickKey = key('='),
- zoomStart = 3):
- '''Zoom start is counting from the back (with default zoom levels,
- and zoom start, the default zoom is 1'''
- lvls = ','.join([str(z) for z in zoomLevels])
- return add_node(root,map,MAP+'Zoomer',
- inButtonText = inButtonText,
- inIconName = inIconName,
- inTooltip = inTooltip,
- outButtonText = outButtonText,
- outIconName = outIconName,
- outTooltip = outTooltip,
- pickButtonText = pickButtonText,
- pickIconName = pickIconName,
- pickTooltip = pickTooltip,
- zoomInKey = zoomInKey,
- zoomLevels = lvls,
- zoomOutKey = zoomOutKey,
- zoomPickKey = zoomPickKey,
- zoomStart = zoomStart)
-
-# --------------------------------------------------------------------
-def add_hidepieces(root,map,
- buttonText = '',
- hiddenIcon = '/images/globe_selected.gif',
- hotkey = key('O'),
- showingIcon = '/images/globe_unselected.gif',
- tooltip = 'Hide all pieces on this map'):
- return add_node(root,map,MAP+'HidePiecesButton',
- buttonText = buttonText,
- hiddenIcon = hiddenIcon,
- hotkey = hotkey,
- showingIcon = showingIcon,
- tooltip = tooltip)
-# --------------------------------------------------------------------
-def add_masskey(root,map,
- name,
- buttonHotkey,
- hotkey,
- buttonText = '',
- canDisable = False,
- deckCount = '-1',
- filter = '',
- propertyGate = '',
- reportFormat = '',
- reportSingle = False,
- singleMap = True,
- target = 'MAP|false|MAP|||||0|0||true|Selected|true|EQUALS',
- tooltip = '',
- icon = ''):
- '''Default targets are selected units'''
- return add_node(root,map,MAP+'MassKeyCommand',
- name = name,
- buttonHotkey = buttonHotkey, # This hot key
- hotkey = hotkey, # Target hot key
- buttonText = buttonText,
- canDisable = canDisable,
- deckCount = deckCount,
- filter = filter,
- propertyGate = propertyGate,
- reportFormat = reportFormat,
- reportSingle = reportSingle,
- singleMap = singleMap,
- target = target,
- tooltip = tooltip,
- icon = icon)
-
-
-# --------------------------------------------------------------------
-def add_flare(root,map,
- circleColor = rgb(255,0,0),
- circleScale = True,
- circleSize = 100,
- flareKey = 'keyAlt',
- flareName = 'Map Flare',
- flarePulses = 6,
- flarePulsesPerSec = 3,
- reportFormat = ''):
- return add_node(root,map,MAP+'Flare',
- circleColor = circleColor,
- circleScale = circleScale,
- circleSize = circleSize,
- flareKey = flareKey,
- flareName = flareName,
- flarePulses = flarePulses,
- flarePulsesPerSec = flarePulsesPerSec,
- reportFormat = '')
-
-# --------------------------------------------------------------------
-def add_atstart(root,map,name,*pieces,
- location = '',
- useGridLocation = True,
- owningBoard = '',
- x = 0,
- y = 0,
- gpid = None):
- '''Pieces are existing PieceSlot elements'''
- a = add_node(root,map,MODULE+'map.SetupStack',
- name = name,
- location = location,
- owningBoard = owningBoard,
- useGridLocation = useGridLocation,
- x = x,
- y = y)
- # copy pieces here
- for p in pieces:
- c = p.cloneNode(True)
- a.appendChild(c)
- if gpid is not None:
- # Update gpid in element
- c.setAttribute('gpid',str(gpid))
- # Update gpid in traits state
- traits = get_piece_parts(p.childNodes[0].nodeValue)
- for t in traits:
- code = t['def']
- stat = t['state']
- if code[0] == 'piece':
- stat[3] = gpid
- # Put back the traits
- c.childNodes[0].nodeValue = dicts_to_piece(traits)
-
- gpid += 1
-
- return a, gpid
-
-# --------------------------------------------------------------------
-def add_pieceslot(root,elem,
- entryName,
- gpid,
- code,
- height=72,
- width=72,
- icon = ''):
- p = add_node(root,elem,WIDGET+'PieceSlot',
- entryName = entryName,
- gpid = gpid,
- height = height,
- width = width,
- icon = icon)
- add_text(root,p,code)
- return p
-
-# --------------------------------------------------------------------
-def add_prototypes(root,elem,*defs):
- '''Defs are existing definition elements'''
- p = add_node(root,elem,MODULE+'PrototypesContainer')
-
- for d in defs:
- c = d.cloneNode(True)
- p.appendChild(c)
-
- return p
-
-# --------------------------------------------------------------------
-def add_prototype(root,elem,name,code,description=''):
- d = add_node(root,elem,MODULE+'PrototypeDefinition',
- name = name,
- description = description)
- add_text(root,d,code)
- return d
-
-# --------------------------------------------------------------------
-def add_piecewindow(root,elem,name,
- defaultWidth = 0,
- hidden = False,
- hotkey = key('C',ALT),
- scale = 1.,
- text = '',
- tooltip = 'Show/hide piece window',
- icon = '/images/counter.gif'):
- return add_node(root,elem,MODULE+'PieceWindow',
- name = name,
- defaultWidth = defaultWidth,
- hidden = hidden,
- hotkey = hotkey,
- scale = scale,
- text = text,
- tooltip = tooltip,
- icon = icon)
-
-# --------------------------------------------------------------------
-def add_tabs(root,elem,entryName):
- return add_node(root,elem,WIDGET+'TabWidget',entryName=entryName)
-
-# --------------------------------------------------------------------
-def add_list(root,elem,
- entryName,
- height = 0,
- width = 0,
- scale = 1.,
- divider = 100):
- return add_node(root,elem,WIDGET+'ListWidget',
- entryName = entryName,
- height = height,
- width = width,
- scale = scale,
- divider = divider)
-
-# --------------------------------------------------------------------
-def add_panel(root,elem,
- entryName,
- fixed = False,
- nColumns = 1,
- vert = False):
- return add_node(root,elem,WIDGET+'PanelWidget',
- entryName = entryName,
- fixed = fixed,
- nColumns = nColumns,
- vert = vert)
-
-# --------------------------------------------------------------------
-def add_mapwidget(root,elem,entryName=''):
- return add_node(root,elem,WIDGET+'MapWidget',entryName=entryName)
-
-# --------------------------------------------------------------------
-def add_chartwindow(root,elem,
- name,
- hotkey = key('A',ALT),
- description = '',
- text = '',
- tooltip = 'Show/hide Charts',
- icon = '/images/chart.gif'):
- return add_node(root,elem,MODULE+'ChartWindow',
- name = name,
- hotkey = hotkey,
- description = description,
- text = text,
- tooltip = tooltip,
- icon = icon)
-
-# --------------------------------------------------------------------
-def add_chart(root,elem,
- chartName,
- fileName,
- description = ''):
- return add_node(root,elem,WIDGET+'Chart',
- chartName = chartName,
- description = description,
- fileName = fileName)
-
-# --------------------------------------------------------------------
-def add_dice(root,elem,
- addToTotal = 0,
- canDisable = False,
- hotkey = key('6',ALT),
- icon = '/images/die.gif',
- keepCount = 1,
- keepDice = False,
- keepOption = '&gt;',
- lockAdd = False,
- lockDice = False,
- lockPlus = False,
- lockSides = False,
- nDice = 1,
- nSides = 6,
- name = '1d6',
- plus = 0,
- prompt = False,
- propertyGate = '',
- reportFormat = '** $name$ = $result$ *** &amp;lt;$PlayerName$&amp;gt;',
- reportTotal = False,
- sortDice = False,
- text = '1d6',
- tooltip = 'Roll a 1d6'):
- return add_node(root,elem,MODULE+'DiceButton',
- addToTotal = addToTotal,
- canDisable = canDisable,
- hotkey = hotkey,
- icon = icon,
- keepCount = keepCount,
- keepDice = keepDice,
- keepOption = keepOption,
- lockAdd = lockAdd,
- lockDice = lockDice,
- lockPlus = lockPlus,
- lockSides = lockSides,
- nDice = nDice,
- nSides = nSides,
- name = name,
- plus = plus,
- prompt = prompt,
- propertyGate = propertyGate,
- reportFormat = reportFormat,
- reportTotal = reportTotal,
- sortDice = sortDice,
- text = text,
- tooltip = tooltip)
-
-# ====================================================================
-def enc_def(args,term=False):
- '''Encode a piece (decorator) definition
+#
+# EOF
+#
+# ====================================================================
+# From traits/globalproperty.py
+
+# --------------------------------------------------------------------
+class GlobalPropertyTrait(ChangePropertyTrait):
+ # The real value of CURRENT_ZONE causes problems when copying the
+ # trait, since it contains slashes. Maybe a solition is to make
+ # it a raw string with escaped slashes? No, that's already done
+ # below when setting the type. However, the default in the Java
+ # code is the CURRENT_ZONE real value, so setting this to the
+ # empty string should make it be that value.
+ ID = 'setprop'
+ CURRENT_ZONE = 'Current Zone/Current Map/Module'
+ NAMED_ZONE = 'Named Zone'
+ NAMED_MAP = 'Named Map'
+ DIRECT = 'P'
+ def __init__(self,
+ *commands,
+ name = '',
+ numeric = False,
+ min = 0,
+ max = 100,
+ wrap = False,
+ description = '',
+ level = CURRENT_ZONE,
+ search = ''):
+ '''Commands are
+
+ - menu
+ - key
+ - Type (only 'P' for now)
+ - Expression
+ '''
+ super(GlobalPropertyTrait,self).__init__(*commands,
+ numeric = numeric,
+ min = min,
+ max = max,
+ wrap = wrap)
+ self.setType(name = name,
+ constraints = self._constraints,
+ commands = self._commands,
+ description = description,
+ level = level.replace('/',r'\/'),
+ search = search)
+ self.setState()
+
+Trait.known_traits.append(GlobalPropertyTrait)
- Parameters
- ----------
- args : list
- List of fields
- term : bool
- If true, add terminating ';'
+#
+# EOF
+#
+# ====================================================================
+# From traits/prototype.py
- Returns
- -------
- code : str
- The encoded definition
- '''
- return ';'.join([str(e).lower() if isinstance(e,bool) else str(e)
- for e in args])+(';' if term else '')
-
-# --------------------------------------------------------------------
-def layer_trait(images,
- newNames = None,
- activateName = 'Activate',
- activateMask = CTRL,
- activateChar = 'A',
- increaseName = 'Increase',
- increaseMask = CTRL,
- increaseChar = '[',
- decreaseName = '',
- decreaseMask = CTRL,
- decreaseChar = ']',
- resetName = '',
- resetKey = '',
- resetLevel = 1,
- under = False,
- underXoff = 0,
- underYoff = 0,
- loop = True,
- name = '',
- description = '',
- randomKey = '',
- randomName = '',
- follow = False,
- expression = '',
- first = 1,
- version = 1, # 1:new, 0:old
- always = 'true',
- activateKey = key('A'),
- increaseKey = key('['),
- decreaseKey = key(']'),
- scale = 1.):
- '''Create a layer trait (VASSAL.counter.Embellishment)
+# --------------------------------------------------------------------
+class PrototypeTrait(Trait):
+ ID = 'prototype'
+ def __init__(self,name=''):
+ '''Create a prototype trait (VASSAL.counter.UsePrototype)'''
+ super(PrototypeTrait,self).__init__()
+ self.setType(name = name)
+ self.setState(ignored = '')
- Parameters
- ----------
- main : dict
- Main image dictionary
- flipped : dict
- Flipped image dictionary
- Returns
- -------
- code : str
- Encoded trait
- stat : str
- Encoded state
- '''
- if newNames is None:
- newNames = ['']*len(images)
- args = ['emb2', # Code
- activateName, activateMask, activateChar, # ACTIVATE ; MASK ; KEY
- increaseName, increaseMask, increaseChar,
- decreaseName, decreaseMask, decreaseChar,
- resetName, resetKey, resetLevel,
- under, underXoff, underYoff,
- ','.join(images),
- ','.join(newNames),
- loop,
- name,
- randomKey, randomName,
- follow, expression,
- first,
- version,
- always,
- activateKey,
- increaseKey,
- decreaseKey,
- description,
- scale ]
- stat = '1' # CURRENT LEVEL
- return enc_def(args), stat
-
-# --------------------------------------------------------------------
-def prototype_trait(name):
- '''Create a prototype trait (VASSAL.counter.UsePrototype)
+Trait.known_traits.append(PrototypeTrait)
- Parameters
- ----------
- family : str
- Side in game
-
- Return
- ------
- code : str
- Encoded trait
- stat : str
- Encoded state (empty string)
- '''
- args = ['prototype', name ]
- stat = '' # State is nothing
- return enc_def(args), stat
+#
+# EOF
+#
+# ====================================================================
+# From traits/place.py
+
+# --------------------------------------------------------------------
+class PlaceTrait(Trait):
+ ID = 'placemark'
+ STACK_TOP = 0
+ STACK_BOTTOM = 1
+ ABOVE = 2
+ BELOW = 3
+
+ # How the LaTeX exporter organises the units. Format with
+ # 0: the group
+ # 1: the piece name
+ # SKEL_PATH = (PieceWindow.TAG +r':Counters\/' +
+ # TabWidget.TAG +r':Counters\/' +
+ # PanelWidget.TAG +':{0}' +r'\/'+
+ # ListWidget.TAG +':{0} counters'+r'\/'+
+ # PieceSlot.TAG +':{1}')
+ @classmethod
+ @property
+ def SKEL_PATH(cls):
+
+ return (PieceWindow.TAG +r':Counters\/' +
+ TabWidget.TAG +r':Counters\/' +
+ PanelWidget.TAG +':{0}' +r'\/'+
+ ListWidget.TAG +':{0} counters'+r'\/'+
+ PieceSlot.TAG +':{1}')
+
+ def __init__(self,
+ command = '', # Context menu name
+ key = '', # Context menu key
+ markerSpec = '', # Full path in module
+ markerText = 'null', # Hard coded message
+ xOffset = 0,
+ yOffset = 0,
+ matchRotation = True,
+ afterKey = '',
+ description = '',
+ gpid = '', # Set in JAVA, but with warning
+ placement = ABOVE,
+ above = False):
+ '''Create a place marker trait (VASSAL.counter.PlaceMarker)'''
+ super(PlaceTrait,self).__init__()
+ self.setType(command = command, # Context menu name
+ key = key, # Context menu key
+ markerSpec = markerSpec,
+ markerText = markerText,
+ xOffset = xOffset,
+ yOffset = yOffset,
+ matchRotation = matchRotation,
+ afterKey = afterKey,
+ description = description,
+ gpid = gpid,
+ placement = placement,
+ above = above)
+ self.setState()
+
+Trait.known_traits.append(PlaceTrait)
+
+# --------------------------------------------------------------------
+class ReplaceTrait(PlaceTrait):
+ ID = 'replace'
+ def __init__(self,
+ command = '', # Context menu name
+ key = '', # Context menu key
+ markerSpec = '', # Full path in module
+ markerText = 'null', # Hard message
+ xOffset = 0,
+ yOffset = 0,
+ matchRotation = True,
+ afterKey = '',
+ description = '',
+ gpid = '', # Set in JAVA
+ placement = PlaceTrait.ABOVE,
+ above = False):
+ super(ReplaceTrait,self).__init__(command = command,
+ key = key,
+ markerSpec = markerSpec,
+ markerText = markerText,
+ xOffset = xOffset,
+ yOffset = yOffset,
+ matchRotation = matchRotation,
+ afterKey = afterKey,
+ description = description,
+ gpid = gpid,
+ placement = placement,
+ above = above)
+
-# --------------------------------------------------------------------
-def mark_trait(key,value):
- '''Create a marker trait (VASSAL.counter.Marker)
+Trait.known_traits.append(ReplaceTrait)
- Parameters
- ----------
- family : str
- Side in game
-
- Return
- ------
- code : str
- Encoded trait
- stat : str
- Encoded state (empty string)
- '''
- args = ['mark', key ]
- stat = value # State is nothing
- return enc_def(args), stat
+#
+# EOF
+#
+# ====================================================================
+# From traits/report.py
# --------------------------------------------------------------------
-def report_trait(*keys,
+class ReportTrait (Trait):
+ ID = 'report'
+ def __init__(self,
+ *keys,
nosuppress = True,
description = '',
report = '$location$: $newPieceName$ $menuCommand$ *',
cyclekeys = '',
cyclereps = ''):
- '''Create a report trait (VASSAL.counters.ReportActon)
+ '''Create a report trait (VASSAL.counters.ReportActon)'''
+ super(ReportTrait,self).__init__()
+ esckeys = ','.join([k.replace(',',r'\,') for k in keys])
+ esccycl = ','.join([k.replace(',',r'\,') for k in cyclekeys])
+ escreps = ','.join([k.replace(',',r'\,') for k in cyclereps])
+
+ self.setType(keys = esckeys,
+ report = report,
+ cycleKeys = esccycl,
+ cycleReports = escreps,
+ description = description,
+ nosuppress = nosuppress)
+ self.setState(cycle = -1)
- Parameters
- ----------
- *keys : tuple of str
- The keys to report actions for
-
- Returns
- -------
- code : str
- Encoded trait
- stat : str
- Encoded state (empty string)
- '''
- esckeys = ','.join([k.replace(',',r'\,') for k in keys])
- esccycl = ','.join([k.replace(',',r'\,') for k in cyclekeys])
- escreps = ','.join([k.replace(',',r'\,') for k in cyclereps])
- args = ['report', # CODE
- esckeys, # ESCAPED KEYS (commas escaped)
- report, # REPORT
- esccycl, # CYCLE KEYS (commas escaped)
- escreps, # CYCKE REPORTS (commas escaped)
- description, # DESCRIPTION
- nosuppress] # NOSUPPRESS
- stat = '-1' # CYCLE STATE
- return enc_def(args), stat
-
-# --------------------------------------------------------------------
-def moved_trait(image='moved.gif',
- xoff = 36,
- yoff = -38,
- name = 'Mark Moved',
- key = key('M')):
- '''Create a moved trait (VASSAL.counters.MovementMarkable)
+Trait.known_traits.append(ReportTrait)
- Returns
- -------
- code : str
- Encoded trait
- stat : str
- Encoded state (empty string)
- '''
- args = ['markmoved', # CODE
- image, # IMAGE
- xoff, yoff, # XOFF ; YOFF
- name, # MENU
- key, # KEY, MODIFIER
- ''] # ?
- stat = False # MOVED?
- return enc_def(args), stat
-
-# --------------------------------------------------------------------
-def trail_trait(key = key('T'),
- name = 'Movement Trail',
- localVisible = False,
- globalVisible = False,
- radius = 10,
- fillColor = rgb(255,255,255),
- lineColor = rgb(0,0,0),
- activeOpacity = 100,
- inactiveOpacity = 50,
- edgesBuffer = 20,
- displayBuffer = 30,
- lineWidth = 1,
- turnOn = '',
- turnOff = '',
- reset = '',
- description = ''):
- ''' Create a movement trail trait ( VASSAL.counters.Footprint)
-
- Returns
- -------
- code : str
- Encoded trait
- stat : str
- Encoded state
- '''
- args = ['footprint', # CODE
- key, # ENABLE KEY
- name, # MENU
- localVisible, # LOCAL VISABLE
- globalVisible, # GLOBAL VISABLE
- radius, # RADIUS
- fillColor, # FILL COLOR
- lineColor, # LINE COLOR
- activeOpacity, # ACTIVE OPACITY
- inactiveOpacity, # INACTIVE OPACITY
- edgesBuffer, # EDGES BUFFER
- displayBuffer, # DISPLAY BUFFER
- lineWidth, # LINE WIDTH
- turnOn, # TURN ON KEY
- turnOff, # TURN OFF KEY
- reset, # RESET KEY
- description] # DESC
- stat = [False, # GLOBAL VIS
- '', # MAP
- 0] # POINTS (followed by [; [X,Y]*]
- return enc_def(args), enc_def(stat)
-
-# --------------------------------------------------------------------
-def delete_trait(name = 'Delete', key = key('D')):
- '''Create a delete trait (VASSAL.counters.Delete)
-
- Returns
- -------
- code : str
- Encoded trait
- stat : str
- Encoded state (empty string)
- '''
- args = ['delete', name, key, '']
- stat = '' # Nothing
- return enc_def(args), stat
+#
+# EOF
+#
+# ====================================================================
+# From traits/calculatedproperty.py
# --------------------------------------------------------------------
-def sendto_trait(mapName,
- boardName,
- name = '',
- key = key('E'),
- restoreName = 'Restore',
- restoreKey = key('R'),
- x = 200,
- y = 200,
- xidx = 0,
- yidx = 0,
- xoff = 1,
- yoff = 1,
- description = '',
- destination = 'L',
- zone = '',
- region = '',
- expression = '',
- position = ''):
- '''Create a send to trait (VASSAL.counter.SendToLocation)
+class CalculatedTrait(Trait):
+ ID = 'calcProp'
+ def __init__(self,name='',expression='',description=''):
+ '''Define a trait that calculates a property'''
+ super(CalculatedTrait,self).__init__()
+ self.setType(name = name,
+ expression = expression,
+ description = description)
+ self.setState()
- Parameters
- ----------
- side : str
- Sub-map to move to
-
- Returns
- -------
- code : str
- Encoded trait
- stat : str
- Encoded state (empty string)
- '''
- args = ['sendto', # CODE
- name, # NAME
- key, # KEY , MODIFIER
- mapName, # MAP
- boardName, # BOARD
- x, y, # X ; Y
- restoreName, # BACK
- restoreKey, # KEY , MODIFIER
- xidx, yidx, # XIDX ; YIDX
- xoff, yoff, # XOFF ; YOFF
- description, # DESC
- destination, # DEST
- zone, # ZONE
- region, # REGION
- expression, # EXPRESSION
- position ] # GRIDPOS
- stat = ['', # BACKMAP
- '', # X
- ''] # Y
- return enc_def(args), enc_def(stat)
-
-# --------------------------------------------------------------------
-def basic_trait(name,
- filename, # Can be empty
- gpid, # Can be empty
- cloneKey='', # Deprecated
- deleteKey=''):# Deprecated
- '''Create a basic unit (VASSAL.counters.BasicPiece)
- Parameters
- ----------
- main : dict
- Information
- gpid : int
- Piece global identifier
- image : bool
- If true, add image
+Trait.known_traits.append(CalculatedTrait)
- Returns
- -------
- code : str
- Encoded trait
- stat : str
- Encoded state (empty string)
- '''
- args = ['piece', # CODE
- cloneKey, # CLONEKEY
- deleteKey, # DELETEKEY
- filename, # IMAGE
- name] # NAME
- stat = ['null', # MAPID (possibly 'null')
- 0, # X
- 0, # Y
- gpid, # GLOBAL PIECE ID
- 0] # PROPERTY COUNT (followed by [; KEY; VALUE]+)
- return enc_def(args), enc_def(stat)
-
-# --------------------------------------------------------------------
-def enc_parts(*parts):
- '''Encode parts of a full piece definition
-
- Each trait (VASSAL.counter.Decorator, VASSAL.counter.BasicPiece)
- definition or state is separated by a litteral TAB character.
- Beyond the first TAB separator, additional escape characters
- (BACKSLAH) are added in front of the separator. This is to that
- VASSAL.utils.SequenceDecoder does not see consequitive TABs as a
- single TAB.
-
- Parameters
- ----------
- parts : tuple
- The various trait definitions or states
-
- Returns
- -------
- code : str
- The encoded piece
- '''
- ret = ''
- sep = r' '
- for i, p in enumerate(parts):
- if i != 0:
- ret += '\\'*(i-1) + sep
- ret += str(p)
+#
+# EOF
+#
+# ====================================================================
+# From traits/restrictcommand.py
+
+# --------------------------------------------------------------------
+class RestrictCommandsTrait(Trait):
+ ID = 'hideCmd'
+ HIDE = 'Hide'
+ DISABLE = 'Disable'
+ def __init__(self,
+ name = '',
+ hideOrDisable = HIDE,
+ expression = '',# Restrict when true
+ keys = []):
+ '''Create a layer trait (VASSAL.counter.RestrictCommands)'''
+ super(RestrictCommandsTrait,self).__init__()
+ encKeys = ','.join([k.replace(',',r'\,') for k in keys])
+ self.setType(name = name,
+ hideOrDisable = hideOrDisable,
+ expression = expression,
+ keys = encKeys)
+ self.setState(state='')
+ def setKeys(self,keys):
+ self['keys'] = ','.join([k.replace(',',r'\,') for k in keys])
+
- return ret
+Trait.known_traits.append(RestrictCommandsTrait)
+#
+# EOF
+#
+# ====================================================================
+# From traits/label.py
+
+class LabelTraitCodes:
+ TOP = 't'
+ BOTTOM = 'b'
+ CENTER = 'c'
+ LEFT = 'l'
+ RIGHT = 'r'
+ PLAIN = 0
+ BOLD = 1
+ ITALIC = 2
+
# --------------------------------------------------------------------
-def add_piece(typ, state):
- '''Create and add piece command (VASSAL.command.AddPiece)
+class LabelTrait(Trait):
+ ID = 'label'
+ def __init__(self,
+ label = None,
+ labelKey = '',
+ menuCommand ='Change label',
+ fontSize = 10,
+ background = 'none',
+ foreground = '255,255,255',
+ vertical = LabelTraitCodes.TOP,
+ verticalOff = 0,
+ horizontal = LabelTraitCodes.CENTER,
+ horizontalOff = 0,
+ verticalJust = LabelTraitCodes.BOTTOM,
+ horizontalJust = LabelTraitCodes.CENTER,
+ nameFormat = '$pieceName$ ($label$)',
+ fontFamily = 'Dialog',
+ fontStyle = LabelTraitCodes.PLAIN,
+ rotate = 0,
+ propertyName = 'TextLabel',
+ description = '',
+ alwaysUseFormat = False):
+ '''Create a label trait (can be edited property)'''
+ super(LabelTrait,self).__init__()
+ self.setType(labelKey = labelKey,
+ menuCommand = menuCommand,
+ fontSize = fontSize,
+ background = background,
+ foreground = foreground,
+ vertical = vertical,
+ verticalOff = verticalOff,
+ horizontal = horizontal,
+ horizontalOff = horizontalOff,
+ verticalJust = verticalJust,
+ horizontalJust = horizontalJust,
+ nameFormat = nameFormat,
+ fontFamily = fontFamily,
+ fontStyle = fontStyle,
+ rotate = rotate,
+ propertyName = propertyName,
+ description = description,
+ alwaysUseFormat = alwaysUseFormat)
+ self.setState(label = (nameFormat if label is None else label))
+
+
+Trait.known_traits.append(LabelTrait)
- Each part is separated by a SLASH ('/'). The first part is the
- command type (PLUS '+') to perform. Second is the IDENTIFIER,
- possibly 'null'. Then comes the fully encoded type of the piece,
- followed by the state of the piece (also fully encoded).
+#
+# EOF
+#
+# ====================================================================
+# From traits/layer.py
+
+# --------------------------------------------------------------------
+class LayerTrait(Trait):
+ ID = 'emb2'
+ def __init__(self,
+ images = [''],
+ newNames = None,
+ activateName = 'Activate',
+ activateMask = CTRL,
+ activateChar = 'A',
+ increaseName = 'Increase',
+ increaseMask = CTRL,
+ increaseChar = '[',
+ decreaseName = '',
+ decreaseMask = CTRL,
+ decreaseChar = ']',
+ resetName = '',
+ resetKey = '',
+ resetLevel = 1,
+ under = False,
+ underXoff = 0,
+ underYoff = 0,
+ loop = True,
+ name = '',
+ description = '',
+ randomKey = '',
+ randomName = '',
+ follow = False,
+ expression = '',
+ first = 1,
+ version = 1, # 1:new, 0:old
+ always = True,
+ activateKey = key('A'),
+ increaseKey = key('['),
+ decreaseKey = key(']'),
+ scale = 1.):
+ '''Create a layer trait (VASSAL.counter.Embellishment)'''
+ super(LayerTrait,self).__init__()
+ if newNames is None and images is not None:
+ newNames = ['']*len(images)
+ self.setType(
+ activateName = activateName,
+ activateMask = activateMask,
+ activateChar = activateChar,
+ increaseName = increaseName,
+ increaseMask = increaseMask,
+ increaseChar = increaseChar,
+ decreaseName = decreaseName,
+ decreaseMask = decreaseMask,
+ decreaseChar = decreaseChar,
+ resetName = resetName,
+ resetKey = resetKey,
+ resetLevel = resetLevel,
+ under = under,
+ underXoff = underXoff,
+ underYoff = underYoff,
+ images = ','.join(images),
+ newNames = ','.join(newNames),
+ loop = loop,
+ name = name,
+ randomKey = randomKey,
+ randomName = randomName,
+ follow = follow,
+ expression = expression,
+ first = first,
+ version = version,
+ always = always,
+ activateKey = activateKey,
+ increaseKey = increaseKey,
+ decreaseKey = decreaseKey,
+ description = description,
+ scale = scale)
+ self.setState(level=1)
+
+Trait.known_traits.append(LayerTrait)
- Parameters
- ----------
- typ : str
- Encoded piece definition
- state : str
- Encoded state definition
+#
+# EOF
+#
+# ====================================================================
+# From traits/globalcommand.py
+
+# --------------------------------------------------------------------
+class GlobalCommandTrait(Trait):
+ ID = 'globalkey'
+ def __init__(self,
+ commandName = '',
+ key = '', # Command received
+ globalKey = '', # Command to send to targets
+ properties = '', # Filter target on this expression
+ ranged = False,
+ range = 1,
+ reportSingle = True,
+ fixedRange = True,
+ rangeProperty = '',
+ description = '',
+ deskSelect = '-1',
+ target = ''):
+ '''Create a global key command in piece
+ (VASSAL.counters.CounterGlobalKeyCommand)'''
+ self.setType(commandName = commandName,
+ key = key,
+ globalKey = globalKey,
+ properties = properties,
+ ranged = ranged,
+ range = range,
+ reportSingle = reportSingle,
+ fixedRange = fixedRange,
+ rangeProperty = rangeProperty,
+ description = description,
+ deskSelect = deskSelect,
+ target = target)
+ self.setState()
+
+Trait.known_traits.append(GlobalCommandTrait)
- Returns
- -------
- cmd : str
- The add command encoded
- '''
- args = ['+', # Type
- 'null', # IDENTIFER
- typ, # DEFINITION
- state] # STATE
- return '/'.join(args)
+#
+# EOF
+#
+# ====================================================================
+# From traits/globalhotkey.py
+
+# --------------------------------------------------------------------
+class GlobalHotkeyTrait(Trait):
+ ID = 'globalhotkey'
+ def __init__(self,
+ name = '', # Command received
+ key = '', # Command key received
+ globalHotkey = '', # Key to send
+ description = ''):
+ '''Create a global key command in piece
+ (VASSAL.counters.GlobalHotkey)'''
+ self.setType(name = name,
+ key = key,
+ globalHotkey = globalHotkey,
+ description = description)
+ self.setState()
+
+Trait.known_traits.append(GlobalHotkeyTrait)
-# --------------------------------------------------------------------
-def add_proto(typ,state):
- '''Create an add prototype command. This is the same as 'add_piece'
+#
+# EOF
+#
+# ====================================================================
+# From traits/nostack.py
+
+# --------------------------------------------------------------------
+class NoStackTrait(Trait):
+ ID = 'immob'
+ NORMAL_SELECT = ''
+ SHIFT_SELECT = 'i'
+ CTRL_SELECT = 't'
+ ALT_SELECT = 'c'
+ NEVER_SELECT = 'n'
+ NORMAL_BAND_SELECT = ''
+ ALT_BAND_SELECT = 'A'
+ ALT_SHIFT_BAND_SELECT = 'B'
+ NEVER_BAND_SELECT = 'Z'
+ NORMAL_MOVE = 'N'
+ SELECT_MOVE = 'I'
+ NEVER_MOVE = 'V'
+ NORMAL_STACK = 'L'
+ NEVER_STACK = 'R'
+ IGNORE_GRID = 'g'
+ def __init__(self,
+ select = NORMAL_SELECT,
+ bandSelect = NORMAL_BAND_SELECT,
+ move = NORMAL_MOVE,
+ canStack = False,
+ ignoreGrid = False,
+ description = ''):
+
+ selectionOptions = (select +
+ (self.IGNORE_GRID if ignoreGrid else '') +
+ bandSelect)
+ movementOptions = move
+ stackingOptions = self.NORMAL_STACK if canStack else self.NEVER_STACK
+
+ '''Create a mark trait (static property)'''
+ super(NoStackTrait,self).__init__()
+
+ self.setType(selectionOptions = selectionOptions,
+ movementOptions = movementOptions,
+ stackingOptions = stackingOptions,
+ description = description)
+ self.setState()
- Parameters
- ----------
- typ : str
- Encoded piece definition
- state : str
- Encoded state definition
- Returns
- -------
- cmd : str
- The add command encoded
- '''
- return add_piece(typ,state)
-
+Trait.known_traits.append(NoStackTrait)
+
+#
+# EOF
+#
+# ====================================================================
+# From traits/deselect.py
# --------------------------------------------------------------------
-def add_proto_code(decs):
- typs = [d[0] for d in decs]
- stts = [d[1] for d in decs]
- typ = enc_parts(*typs)
- stt = enc_parts(*stts)
+class DeselectTrait(Trait):
+ ID = 'deselect'
+ THIS = 'D' # Deselect only this piece
+ ALL = 'A' # Deselect all pieces
+ ONLY = 'S' # Select this piece only
+ def __init__(self,
+ command = '',
+ key = '',
+ description = '',
+ unstack = False,
+ deselect = THIS):
+ '''Create a deselect trait'''
+ super(DeselectTrait,self).__init__()
+ self.setType(command = command,
+ key = key,
+ description = description,
+ unstack = unstack,
+ deselect = deselect)
+ self.setState()
+
- return add_proto(typ,stt)
+Trait.known_traits.append(DeselectTrait)
+#
+# EOF
+#
# ====================================================================
+# From traits/restrictaccess.py
+
+# --------------------------------------------------------------------
+class RestrictAccessTrait(Trait):
+ ID = 'restrict'
+ def __init__(self,
+ sides = [],
+ byPlayer = False,
+ noMovement = True,
+ description = '',
+ owner = '',):
+ '''Create a layer trait (VASSAL.counter.Restricted)'''
+ super(RestrictAccessTrait,self).__init__()
+ encSides = ','.join(sides)
+ self.setType(sides = encSides,
+ byPlayer = byPlayer,
+ noMovement = noMovement,
+ description = description)
+ self.setState(owner=owner)
+
+Trait.known_traits.append(RestrictAccessTrait)
+
#
-# Below specific to the export app
+# EOF
#
# ====================================================================
-def get_bb(buffer):
- '''Get bounding box of image
+# From traits/rotate.py
+
+# --------------------------------------------------------------------
+class RotateTrait(Trait):
+ ID = 'rotate'
+ def __init__(self,
+ nangles = 6,
+ rotateCWKey = key(']'),
+ rotateCCWKey = key('['),
+ rotateCW = 'Rotate CW',
+ rotateCCW = 'Rotate CCW',
+ rotateRndKey = '',
+ rotateRnd = '',
+ name = 'Rotate',
+ description = 'Rotate piece',
+ rotateDirectKey = '',
+ rotateDirect = '',
+ directExpression = '',
+ directIsFacing = True,
+ angle = 0):
+ '''Create a Rotate trait'''
+ super(RotateTrait,self).__init__()
+ if nangles == 1:
+ self.setType(nangles = nangles,
+ rotateKey = rotateCWKey,
+ rotate = rotateCW,
+ rotateRndKey = rotateRndKey,
+ rotateRnd = rotateRnd,
+ name = name,
+ description = description,
+ rotateDirectKey = rotateDirectKey,
+ rotateDirect = rotateDirect,
+ directExpression = directExpression,
+ directIsFacing = directIsFacing)
+ else:
+ self.setType(nangles = nangles,
+ rotateCWKey = rotateCWKey,
+ rotateCCWKey = rotateCCWKey,
+ rotateCW = rotateCW,
+ rotateCCW = rotateCCW,
+ rotateRndKey = rotateRndKey,
+ rotateRnd = rotateRnd,
+ name = name,
+ description = description,
+ rotateDirectKey = rotateDirectKey,
+ rotateDirect = rotateDirect,
+ directExpression = directExpression,
+ directIsFacing = directIsFacing)
+
+ self.setState(angle = int(angle) if nangles > 1 else float(angle))
- Parameters
- ----------
- buffer : bytes
- The image bytes
+Trait.known_traits.append(RotateTrait)
- Returns
- -------
- ulx, uly, lrx, lry : tuple
- The coordinates of the bounding box
- '''
- from PIL import Image
- from io import BytesIO
+#
+# EOF
+#
+# ====================================================================
+# From traits/stack.py
+
+# --------------------------------------------------------------------
+class StackTrait(Trait):
+ ID = 'stack'
+ def __init__(self,
+ board = '',
+ x = '',
+ y = '',
+ pieceIds = [],
+ layer = -1):
+ '''Create a stack trait in a save file'''
+ self.setType() # NAME
+ # print('Piece IDs:',pieceIds)
+ self.setState(board = board,
+ x = x,
+ y = y,
+ pieceIds = ';'.join([str(p) for p in pieceIds]),
+ layer = f'@@{layer}')
+
+Trait.known_traits.append(StackTrait)
- with Image.open(BytesIO(buffer)) as img:
- bb = img.getbbox()
+#
+# EOF
+#
+# ====================================================================
+# From traits/mark.py
- return bb
+# --------------------------------------------------------------------
+class MarkTrait(Trait):
+ ID = 'mark'
+ def __init__(self,name='',value=''):
+ '''Create a mark trait (static property)'''
+ super(MarkTrait,self).__init__()
+ self.setType(name = name)
+ self.setState(value = value)
-# ====================================================================
-def piece_body(family,main,flipped,gpid):
- '''Create an full add piece command from the side, image, and ID
- information. This adds (in reverse order)
- - BasicPiece
- - Side prototype
- - Flip layer (if 'flipped' is not none)
+Trait.known_traits.append(MarkTrait)
- Parameters
- ----------
- family : str
- Side in the game
- main : dict
- Main image information
- flipped : dict
- Flipped image information, possibly None
- gpid : int
- Global piece identifier
+#
+# EOF
+#
+# ====================================================================
+# From traits/mask.py
- Returns
- -------
- cmd : str
- The command to add the piece
- '''
- # Create the layer, prototype, and basic piece traits
- decs = []
- if flipped is not None:
- imgs = [ main['filename'], flipped['filename'] ]
- decs.extend([ layer_trait(images=imgs,
- newNames=['','Reduced +'],
- activateName = '',
- decreaseName = '',
- increaseName = 'Flip',
- increaseKey = key('F'),
- decreaseKey = '',
- name='Step'),
- report_trait(key('F')) ])
- for m in main.get('mains',[]):
- decs.append(prototype_trait(m + ' prototype'))
- ech = main.get('echelon',None)
- cmd = main.get('command',None)
- if ech is not None: decs.append(prototype_trait(ech + ' prototype'))
- if cmd is not None: decs.append(prototype_trait(cmd + ' prototype'))
-
- decs.extend([ prototype_trait(family+' prototype'),
- basic_trait(main['name'], main['filename'],gpid)
- ])
-
- typs = [d[0] for d in decs]
- stts = [d[1] for d in decs]
- typ = enc_parts(*typs)
- stt = enc_parts(*stts)
-
- return add_piece(typ,stt)
-
-# --------------------------------------------------------------------
-def proto_body(family):
- '''Create an full add prototype com from the side information.
- This adds (in reverse order)
-
- - An empty BasicPiece
- - An eliminate (or sendto) trait
- - A delete trait
- - A mark moved trait
- - A move trail trait
+# --------------------------------------------------------------------
+# Inset
+# obs;88,130;ag_hide_1.png;Reveal;I;?;sides:Argentine;Peek;;true;;
+# obs;88,130;ag_hide_1.png;Reveal;I;?;side:Argentine;;;true;;
+#
+# Peek
+# obs;88,130;ag_hide_1.png;Reveal;P89,130;?;sides:Argentine;Peek;;true;;
+#
+# Image
+#
+class MaskTrait(Trait):
+ ID = 'obs'
+ INSET = 'I'
+ BACKGROUND = 'B'
+ PEEK = 'P'
+ IMAGE = 'G'
+ INSET2 = '2'
+ PLAYER = 'player:'
+ SIDE = 'side:'
+ SIDES = 'sides:'
+ def __init__(self,
+ keyCommand = '',
+ imageName = '',
+ hideCommand = '',
+ displayStyle = '',
+ peekKey = '',
+ ownerImage = '',
+ maskedName = '?',
+ access = '',#?
+ peekCommand = '',
+ description = '',
+ autoPeek = True,
+ dealKey = '',
+ dealExpr = ''):
+ '''Create a mark trait (static property)'''
+ super(MaskTrait,self).__init__()
+ disp = displayStyle
+ if displayStyle == self.PEEK:
+ disp += peekKey
+ elif displayStyle == self.IMAGE:
+ disp += ownerImage
+
+ acc = self.PLAYER
+ if isinstance(access,list):
+ acc = self.SIDES + ':'.join(access)
+ elif access.startswith('player'):
+ acc = self.PLAYER
+ elif access.startswith('side'):
+ acc = self.SIDE
+
+ self.setType(keyCommand = keyCommand,
+ imageImage = imageName,
+ hideCommand = hideCommand,
+ displayStyle = disp,
+ maskedName = maskedName,
+ access = acc, # ?
+ peekCommand = peekCommand,
+ description = description,
+ autoPeek = autoPeek,
+ dealKey = dealKey,
+ dealExpr = dealExpr)
+ self.setState(value='null')
+
+ @classmethod
+ def peekDisplay(cls,key):#Encoded key
+ return cls.PEEK + key
+
+ @classmethod
+ def peekImage(cls,ownerImage):
+ return cls.IMAGE + ownerImage
- Parameters
- ----------
- family : str
- Side in the game
+ @classmethod
+ def sides(cls,*names):
+ return cls.SIDES+':'.join(names)
- Returns
- -------
- cmd : str
- The command to add the piece
- '''
- # Dummy image
- decs = [ report_trait(key('E'),key('R'),key('M')),
- moved_trait(),
- trail_trait(),
- delete_trait(),
- sendto_trait('DeadMap',family+' pool','Eliminate',key('E'),
- 'Restore',key('R'),description="Eliminate unit"),
- mark_trait('Faction',family),
- basic_trait('','','') ]
- typs = [d[0] for d in decs]
- stts = [d[1] for d in decs]
- typ = enc_parts(*typs)
- stt = enc_parts(*stts)
+Trait.known_traits.append(MaskTrait)
- return add_proto(typ,stt)
+#
+# EOF
+#
+# ====================================================================
+# From traits/trail.py
+
+# --------------------------------------------------------------------
+class TrailTrait(Trait):
+ ID = 'footprint'
+ def __init__(self,
+ key = key('T'),
+ name = 'Movement Trail',
+ localVisible = False,
+ globalVisible = False,
+ radius = 10,
+ fillColor = rgb(255,255,255),
+ lineColor = rgb(0,0,0),
+ activeOpacity = 100,
+ inactiveOpacity = 50,
+ edgesBuffer = 20,
+ displayBuffer = 30,
+ lineWidth = 1,
+ turnOn = '',
+ turnOff = '',
+ reset = '',
+ description = ''):
+ ''' Create a movement trail trait ( VASSAL.counters.Footprint)'''
+ super(TrailTrait,self).__init__()
+ self.setType(key = key,# ENABLE KEY
+ name = name,# MENU
+ localVisible = localVisible,# LOCAL VISABLE
+ globalVisible = globalVisible,# GLOBAL VISABLE
+ radius = radius,# RADIUS
+ fillColor = fillColor,# FILL COLOR
+ lineColor = lineColor,# LINE COLOR
+ activeOpacity = activeOpacity,# ACTIVE OPACITY
+ inactiveOpacity = inactiveOpacity,# INACTIVE OPACITY
+ edgesBuffer = edgesBuffer,# EDGES BUFFER
+ displayBuffer = displayBuffer,# DISPLAY BUFFER
+ lineWidth = int(lineWidth),# LINE WIDTH
+ turnOn = turnOn,# TURN ON KEY
+ turnOff = turnOff,# TURN OFF KEY
+ reset = reset,# RESET KEY
+ description = description) # DESC
+ self.setState(isGlobal = False,
+ map = '',
+ points = 0, # POINTS (followed by [; [X,Y]*]
+ init = False)
+
+Trait.known_traits.append(TrailTrait)
+#
+# EOF
+#
+# ====================================================================
+# From traits/delete.py
# --------------------------------------------------------------------
-def add_splash(root,doc,categories,title='',verbose=False):
- '''Add an about page
+class DeleteTrait(Trait):
+ ID = 'delete'
+ def __init__(self,
+ name = 'Delete',
+ key = key('D')):
+ '''Create a delete trait (VASSAL.counters.Delete)'''
+ super(DeleteTrait,self).__init__()
+ self.setType(name = name,
+ key = key,
+ dummy = '')
+ self.setState()
- Parametersg
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- doc : xml.dom.minidom.Element
- The documentation element
- categories : dict
- Catalog of images
- title : str
- Title of the game
- '''
- fronts = categories.get('front',{}).get('all',[])
- front = list(fronts.values())[0] if len(fronts) > 0 else None
- if front is None:
- return
+Trait.known_traits.append(DeleteTrait)
- if verbose:
- print(f'Adding about page with {title}')
+#
+# EOF
+#
+# ====================================================================
+# From traits/sendto.py
+
+# --------------------------------------------------------------------
+class SendtoTrait(Trait):
+ ID = 'sendto'
+ LOCATION = 'L'
+ ZONE = 'Z'
+ REGION = 'R'
+ GRID = 'G'
+ def __init__(self,
+ mapName = '',
+ boardName = '',
+ name = '',
+ key = key('E'),
+ restoreName = 'Restore',
+ restoreKey = key('R'),
+ x = 200,
+ y = 200,
+ xidx = 0,
+ yidx = 0,
+ xoff = 1,
+ yoff = 1,
+ description = '',
+ destination = LOCATION,
+ zone = '',
+ region = '',
+ expression = '',
+ position = ''):
+ '''Create a send to trait (VASSAL.counter.SendToLocation)'''
+ self.setType(name = name,# NAME
+ key = key,# KEY , MODIFIER
+ mapName = mapName,# MAP
+ boardName = boardName,# BOARD
+ x = x,
+ y = y,# X ; Y
+ restoreName = restoreName,# BACK
+ restoreKey = restoreKey,# KEY , MODIFIER
+ xidx = xidx,
+ yidx = yidx,# XIDX ; YIDX
+ xoff = xoff,
+ yoff = yoff,# XOFF ; YOFF
+ description = description,# DESC
+ destination = destination,# DEST type
+ zone = zone,# ZONE
+ region = region,# REGION
+ expression = expression,# EXPRESSION
+ position = position) # GRIDPOS
+ self.setState(backMap = '', backX = '', backY = '')
+
+Trait.known_traits.append(SendtoTrait)
- add_about(root,doc, f'About {title}', fileName = front['filename'])
+#
+# EOF
+#
+# ====================================================================
+# From traits/moved.py
+
+# --------------------------------------------------------------------
+class MovedTrait(Trait):
+ ID = 'markmoved'
+ def __init__(self,
+ image = 'moved.gif',
+ xoff = 36,
+ yoff = -38,
+ name = 'Mark moved',
+ key = key('M'),
+ dummy = '' # Description
+ # ignoreSame = True
+ ):
+ '''Create a moved trait (VASSAL.counters.MovementMarkable)'''
+ super(MovedTrait,self).__init__()
+ self.setType(image = image,
+ xoff = xoff,
+ yoff = yoff,
+ name = name,
+ key = key,
+ dummy = dummy, # Description
+ # ignoreSame = ignoreSame
+ )
+ self.setState(moved = False)
+
+Trait.known_traits.append(MovedTrait)
-# --------------------------------------------------------------------
-def add_rules(root,doc,zipfile,rules,verbose=False):
- '''Add rules to the module
+#
+# EOF
+#
+# ====================================================================
+# From traits/skel.py
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- doc : xml.dom.minidom.Element
- The documentation element
- zipfile : zipfile.ZipFile
- The module archive
- rules : str
- File name of rules (PDF)
- '''
- if rules is None or rules == '':
- return
- if verbose:
- print('Adding rules PDF to module')
+#
+# EOF
+#
+# ====================================================================
+# From traits/submenu.py
+
+# --------------------------------------------------------------------
+class SubMenuTrait(Trait):
+ ID = 'submenu'
+ def __init__(self,
+ subMenu = '', # Title
+ keys = [], # Keys
+ description = ''):
+ '''Create a sub menu (VASSAL.counters.SubMenu)'''
+ self.setType(subMenu = subMenu, # CLONEKEY
+ keys = ','.join([k.replace(',',r'\,')
+ for k in keys]),
+ description = description)
+ self.setState() # PROPERTY COUNT (followed by [; KEY; VALUE]+)
+ def setKeys(self,keys):
+ '''Set the keys'''
+ self['keys'] = ','.join([k.replace(',',r'\,') for k in keys])
- zipfile.write(rules,'rules.pdf')
+Trait.known_traits.append(SubMenuTrait)
- add_pdffile(root,doc,title='Show rules',pdfFile='rules.pdf')
+#
+# EOF
+#
+# ====================================================================
+# From traits/basic.py
+
+# --------------------------------------------------------------------
+class BasicTrait(Trait):
+ ID = 'piece'
+ def __init__(self,
+ name = '',
+ filename = '', # Can be empty
+ gpid = '', # Can be empty
+ cloneKey = '', # Deprecated
+ deleteKey = ''): # Deprecated
+ '''Create a basic unit (VASSAL.counters.BasicPiece)'''
+ self.setType(cloneKey = cloneKey, # CLONEKEY
+ deleteKey = deleteKey, # DELETEKEY
+ filename = filename, # IMAGE
+ name = name) # NAME
+ self.setState(map = 'null', # MAPID (possibly 'null')
+ x = 0,
+ y = 0,
+ gpid = gpid,
+ properties = 0) # PROPERTY COUNT (followed by [; KEY; VALUE]+)
+
+Trait.known_traits.append(BasicTrait)
-# --------------------------------------------------------------------
-def add_notes(root,doc,zipfile,title,version,sides,pdffile,infofile,rules,
- verbose=False):
- '''Add rules to the module
+#
+# EOF
+#
+# ====================================================================
+# From traits/trigger.py
+
+# --------------------------------------------------------------------
+class TriggerTrait(Trait):
+ ID = 'macro'
+ WHILE = 'while'
+ UNTIL = 'until'
+ COUNTED = 'counted' # - Always one "do ... while"
+ def __init__(self,
+ name = '',
+ command = '', # Context menu name
+ key = '', # Context menu key
+ property = '', # Enable/Disable
+ watchKeys = [],
+ actionKeys = [], # What to do
+ loop = False,
+ preLoop = '', # Key
+ postLoop = '', # Key
+ loopType = COUNTED, # Loop type
+ whileExpression = '',
+ untilExpression = '',
+ count = 0,
+ index = False,
+ indexProperty = '',
+ indexStart = '',
+ indexStep = ''):
+ '''Create a layer trait (VASSAL.counter.Trigger)'''
+ super(TriggerTrait,self).__init__()
+ encWKeys = Trait.encodeKeys(watchKeys, ',')
+ encAKeys = Trait.encodeKeys(actionKeys,',')
+ self.setType(name = name,
+ command = command, # Context menu name
+ key = key, # Context menu key
+ property = property, # Enable/Disable
+ watchKeys = encWKeys,
+ actionKeys = encAKeys, # What to do
+ loop = loop,
+ preLoop = preLoop, # Key
+ postLoop = postLoop, # Key
+ loopType = loopType, # Loop type
+ whileExpression = whileExpression,
+ untilExpression = untilExpression,
+ count = count,
+ index = index,
+ indexProperty = indexProperty,
+ indexStart = indexStart,
+ indexStep = indexStep)
+ self.setState(state='')
+
+ def getActionKeys(self):
+ return Trait.decodeKeys(self['actionKeys'],',')
+
+ def getWatchKeys(self):
+ return Trait.decodeKeys(self['watchKeys'],',')
+
+ def setActionKeys(self,keys):
+ self['actionKeys'] = Trait.encodeKeys(keys,',')
+
+ def setWatchKeys(self,keys):
+ self['watchKeys'] = Trait.encodeKeys(keys,',')
+
+
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- doc : xml.dom.minidom.Element
- The documentation element
- zipfile : zipfile.ZipFile
- The module archive
- sides : list
- Sides in the game
- pdffile : str
- The images PDF
- infofile : str
- The images information
- rules : str
- File name of rules (PDF)
- '''
- factions = "".join([f'<li>{s}</li>' for s in sides])
- notes = f'''
- <html>
- <body>
- <h1>Draft VASSAL module of {title} (Version {version})</h1>
- <p>
- This is a draft VASSAL module of {title} generated from
- </p>
- <ul>
- <li>images in {pdffile}, and</li>
- <li>information in {infofile}</li>
- </ul>
- <p>
- both generated by LaTeX using the <b>wargame</b> [1] package, and
- processed by the Python script <code>wgexport.py</code> from that
- package.
- </p>
- <p>
- The module is <i>not</i> complete and the developer should edit
- the module as needed in the VASSAL module editor.
- </p>
- <p>
- [1] <code>https://gitlab.com/wargames_tex/wargame_tex</code>
- </p>
- <h2>Content of the module</h2>
- <p>
- The <code>wgexport.py</code> Python script has identified the
- factions of the game to be
- </p>
- <ul>
- '''+factions+f'''
- </ul>
- <p>
- and generated prototype pieces for these (along with possible
- non-faction pieces. The script also generated a map ("dead map")
- that contains boards for each faction and is meant to store
- eliminated units ("&lt;faction&gt; pool"). These pools have a
- generic shape and colour, and the developer should take care to
- correct these as needed.
- </p>
- <p>
- Boards of the game present in the {pdffile} and {infofile} files
- have been generated. Each board has a single zone in it that
- encompasses the full board, and a hex grid is added to that
- zone. The module developer should adjust the zone and embedded
- hex grid according to the actual map, using the VASSAL module
- editor. The hex grid (as well as coordinates) is drawn by
- default so as to make this obvious to the developer. The hex
- sizes should be correct, and mainly the offset needs to be
- adjusted.
- </p>
- <p>
- Images marked as OOBs have also been added as maps to the
- module. These also have a single zone with a rectangular grid
- imposed in it. This grid, and the grid coordinates are drawn by
- default, so it is easier to see and to remember to adjust it. The
- module developer should adjust this, possibly adding zones, so
- that it matches up with the graphics. The developer can add
- units to the OOB via 'At-start' stacks in the VASSAL editor.
- </p>
- <p>
- All pieces identified by {infofile} and present in {pdffile} have
- been generated. Double sided pieces (identified by images which
- also has a suffix-"flipped" image) are created as such.
- </p>
- <p>
- Charts identified by the {infofile} and {pdffile} have been added
- to the module. The are added as separate (pop-up) frames, but
- the module developer can change this in the VASSAL module editor.
- </p>
- <p>
- If the {infofile} and {pdffile} identified a front page, then that
- has been added to module as the splash screen.
- </p>
- <p>
- If a PDF rules file ({rules}) was passed to the Python script,
- then that has been included in the module and is accessible from
- the "Help" menu.
- </p>
- <h2>After finalising the module</h2>
- <p>
- After the developer has finalised the module (added more pieces,
- fixed board zones a and grids, add in more commands), then this
- Help menu entry should be deleted.
- </p>
- </body>
- </html>
- '''
- if version.lower() == 'draft':
- if verbose:
- print(f' Adding draft notes {version}')
- zipfile.writestr('help/notes.html',notes)
- add_helpfile(root,doc,title='Draft Module notes',
- fileName='help/notes.html')
-
- keys = f'''
- <html>
- <body>
- <h1>{title} (Version {version}) Key bindings</h1>
-
- <table>
- <tr>
- <th>Key </th>
- <th>Where </th>
- <th>Effect</th>
- </tr>
- <tr>
- <td>Alt-A</td>
- <td>-</td>
- <td>Show the charts panel</td>
- </tr>
- <tr>
- <td>Alt-B</td>
- <td>-</td>
- <td>Show the OOBs</td>
- </tr>
- <tr>
- <td>Alt-C</td>
- <td>-</td>
- <td>Show the counters panel</td>
- </tr>
- <tr>
- <td>Alt-E</td>
- <td>-</td>
- <td>Show the eliminated units</td>
- </tr>
- <tr>
- <td>Alt-I</td>
- <td>-</td>
- <td>Show/refresh inventory window</td>
- </tr>
- <tr>
- <td>Alt-M</td>
- <td>-</td>
- <td>Show map</td>
- </tr>
- <tr>
- <td>Alt-T</td>
- <td>-</td>
- <td>Increase turn track</td>
- </tr>
- <tr>
- <td>Alt-Shift-T</td>
- <td>-</td>
- <td>Decrease turn track</td>
- </tr>
- <tr>
- <td>Alt-6</td>
- <td>-</td>
- <td>Roll the dice</td>
- </tr>
- <tr>
- <td>Ctrl-D</td>
- <td>Board,Counter</td>
- <td>Delete selected counters</td>
- </tr>
- <tr>
- <td>Ctrl-E</td>
- <td>Board,Counter</td>
- <td>Eliminate selected counters</td>
- </tr>
- <tr>
- <td>Ctrl-F</td>
- <td>Board,Counter</td>
- <td>Flip selected counters</td>
- </tr>
- <tr>
- <td>Ctrl-M</td>
- <td>Board,Counter</td>
- <td>Toggle "moved" markers on selected counters</td>
- </tr>
- <tr>
- <td>Ctrl-O</td>
- <td>Board</td>
- <td>Hide/show counters</td>
- </tr>
- <tr>
- <td>Ctrl-R</td>
- <td>Board,Counter</td>
- <td>Restore unit (from dead pool)</td>
- </tr>
- <tr>
- <td>Ctrl-T</td>
- <td>Board,Counter</td>
- <td>Toggle move trail</td>
- </tr>
- <tr>
- <td>Ctrl-+</td>
- <td>Board</td>
- <td>Zoom in</td>
- </tr>
- <tr>
- <td>Ctrl--</td>
- <td>Board</td>
- <td>Zoom out</td>
- </tr>
- <tr>
- <td>Ctrl-=</td>
- <td>Board</td>
- <td>Select zoom</td>
- </tr>
- <tr>
- <td>Ctrl-Shift-O</td>
- <td>Board</td>
- <td>Show overview map</td>
- </tr>
- <tr>
- <td>&larr;,&rarr;,&uarr;&darr;</td>
- <td>Board</td>
- <td>Scroll board left, right, up, down (slowly)</td>
- </tr>
- <tr>
- <td>PnUp,PnDn</td>
- <td>Board</td>
- <td>Scroll board up/down (fast)</td>
- </tr>
- <tr>
- <td>Ctrl-PnUp,Ctrl-PnDn</td>
- <td>Board</td>
- <td>Scroll board left/right (fast)</td>
- </tr>
- <tr>
- <td>Mouse-scroll up/down</td>
- <td>Board</td>
- <td>Scroll board up//down</td>
- </tr>
- <tr>
- <td>Shift-Mouse-scroll up/down</td>
- <td>Board</td>
- <td>Scroll board right/leftown</td>
- </tr>
- <tr>
- <td>Ctrl-Mouse-scroll up/down</td>
- <td>Board</td>
- <td>Zoom board out/in</td>
- </tr>
- <tr>
- <td>Mouse-2</td>
- <td>Board</td>
- <td>Centre on mouse</td>
- </tr>
- </table>
- </body>
- </html>
- '''
- if verbose:
- print(f'Add key bindings help file')
- zipfile.writestr('help/keys.html',keys)
- add_helpfile(root,doc,title='Key bindings',
- fileName='help/keys.html')
+Trait.known_traits.append(TriggerTrait)
+
+#
+# EOF
+#
+# ====================================================================
+# From traits/nonrect.py
+
+# --------------------------------------------------------------------
+class NonRectangleTrait(Trait):
+ ID = 'nonRect2'
+ CLOSE = 'c'
+ MOVETO = 'm'
+ LINETO = 'l'
+ CUBICTO = 'l'
+ QUADTO = 'l'
+ def __init__(self,
+ scale = 1.,
+ filename = '',
+ path = [],
+ image = None):
+ '''Create a NonRectangle trait (static property)'''
+ super(NonRectangleTrait,self).__init__()
+ l = []
+ if len(filename) > 0:
+ l.append(f'n{filename}')
+
+ if len(path) <= 0:
+ path = self.getShape(image)
+
+ if len(path) > 0:
+ # print(path)
+ l += [f'{p[0]},{int(p[1])},{int(p[2])}' if len(p) > 2 else p
+ for p in path]
- return notes
+ self.setType(scale = scale,
+ code = ','.join(l))
+ self.setState()
+
+ @classmethod
+ def getShape(cls,image):
+ if image is None:
+ return []
+
+ from PIL import Image
+ from io import BytesIO
+
+ code = []
+ with Image.open(BytesIO(image)) as img:
+ alp = img.getchannel('A') # Alpha channel
+ # Find least and largest non-transparent pixel in each row
+ rows = []
+ w = alp.width
+ h = alp.height
+ bb = alp.getbbox()
+ for r in range(bb[1],bb[3]):
+ ll, rr = bb[2], bb[0]
+ for c in range(bb[0],bb[2]):
+ if alp.getpixel((c,r)) != 0:
+ ll = min(c,ll)
+ rr = max(c,rr)
+ rows += [[r-h//2,ll-w//2,rr-w//2]]
+
+ # Now produce the code - we start with the top line
+ code = [(cls.MOVETO,rows[0][1],rows[0][0]-1),
+ (cls.LINETO,rows[0][2],rows[0][0]-1)]
+
+ # Now loop down right side of image
+ for c in rows:
+ last = code[-1]
+ if last[1] != c[2]:
+ code += [(cls.LINETO, c[2], last[2])]
+ code += [(cls.LINETO, c[2], c[0])]
+
+ # Now loop up left side of image
+ for c in rows[::-1]:
+ last = code[-1]
+ if last[1] != c[1]:
+ code += [(cls.LINETO,c[1],last[2])]
+ code += [(cls.LINETO,c[1],c[0])]
+
+ # Terminate with close
+ code += [(cls.CLOSE)]
+
+ return code
+
+
+Trait.known_traits.append(NonRectangleTrait)
+
+#
+# EOF
+#
+# ====================================================================
+# From traits/click.py
# --------------------------------------------------------------------
-def add_tut(root,doc,zipfile,tutorial,verbose=False):
- if tutorial is None:
- return None
+class ClickTrait(Trait):
+ ID = 'button'
+ def __init__(self,
+ key = '',
+ x = 0,
+ y = 0,
+ width = 0,
+ height = 0,
+ description = '',
+ context = False,
+ whole = True,
+ version = 1,
+ points = []):
+ '''Create a click trait (static property)'''
+ super(ClickTrait,self).__init__()
+ self.setType(key = key,
+ x = x,
+ y = y,
+ width = width,
+ height = height,
+ description = description,
+ context = context,
+ whole = whole,
+ version = version,
+ npoints = len(points),
+ points = ';'.join([f'{p[0]};{p[1]}'
+ for p in points]))
+ self.setState()
+
+
+Trait.known_traits.append(ClickTrait)
- if verbose:
- print(f'Adding tutorial {tutorial}')
- zipfile.write(tutorial,'tutorial.vlog')
+#
+# EOF
+#
+# ====================================================================
+# From game.py
+
+# --------------------------------------------------------------------
+class Game(Element):
+ TAG = Element.BUILD+'GameModule'
+ def __init__(self,build,node=None,
+ name = '',
+ version = '',
+ ModuleOther1 = "",
+ ModuleOther2 = "",
+ VassalVersion = "3.6.7",
+ description = "",
+ nextPieceSlotId = 20):
+ '''Create a new Game object
+
+ Parameters
+ ----------
+ build : xml.dom.Document
+ root note
+ node : xml.dom.Node
+ To read from, or None
+ name : str
+ Name of module
+ version : str
+ Version of module
+ ModuleOther1 : str
+ Free form string
+ ModuleOther2 : str
+ Free form string
+ VassalVersion : str
+ VASSAL version this was created for
+ description : str
+ Speaks volumes
+ nextPieceSlotId : int
+ Starting slot ID.
+ '''
+ super(Game,self).__init__(build, self.TAG,
+ node = node,
+ name = name,
+ version = version,
+ ModuleOther1 = ModuleOther1,
+ ModuleOther2 = ModuleOther2,
+ VassalVersion = VassalVersion,
+ description = description,
+ nextPieceSlotId = nextPieceSlotId)
+ def nextPieceSlotId(self):
+ '''Increment next piece slot ID'''
+ ret = int(self.getAttribute('nextPieceSlotId'))
+ self.setAttribute('nextPieceSlotId',str(ret+1))
+ return ret
+ #
+ def addBasicCommandEncoder(self,**kwargs):
+ '''Add a `BasicCommandEncoder` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : BasicCommandEncoder
+ The added element
+ '''
+ return self.add(BasicCommandEncoder,**kwargs)
+ def addGlobalTranslatableMessages(self,**kwargs):
+ '''Add a `GlobalTranslatableMessages` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : GlobalTranslatableMessages
+ The added element
+ '''
+ return self.add(GlobalTranslatableMessages,**kwargs)
+ def addPlayerRoster(self,**kwargs):
+ '''Add a `PlayerRoster` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : PlayerRoster
+ The added element
+ '''
+ return self.add(PlayerRoster,**kwargs)
+ def addChessClock(self,**kwargs):
+ '''Add a `ChessClockControl` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : PlayerRoster
+ The added element
+ '''
+ return self.add(ChessClockControl,**kwargs)
+ def addLanguage(self,**kwargs):
+ '''Add a `Language` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Language
+ The added element
+ '''
+ return self.add(Language,**kwargs)
+ def addChatter(self,**kwargs):
+ '''Add a `Chatter` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Chatter
+ The added element
+ '''
+ return self.add(Chatter,**kwargs)
+ def addKeyNamer(self,**kwargs):
+ '''Add a `KeyNamer` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : KeyNamer
+ The added element
+ '''
+ return self.add(KeyNamer,**kwargs)
+ def addNotes(self,**kwargs):
+ '''Add a `Notes` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Notes
+ The added element
+ '''
+ return self.add(Notes,**kwargs)
+ def addLanguage(self,**kwargs):
+ '''Add a `Language` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Language
+ The added element
+ '''
+ return self.add(Language,**kwargs)
+ def addChatter(self,**kwargs):
+ '''Add a `Chatter` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Chatter
+ The added element
+ '''
+ return self.add(Chatter,**kwargs)
+ def addKeyNamer(self,**kwargs):
+ '''Add a `KeyNamer` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : KeyNamer
+ The added element
+ '''
+ return self.add(KeyNamer,**kwargs)
+ def addGlobalProperties(self,**kwargs):
+ '''Add a `GlobalProperties` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : GlobalProperties
+ The added element
+ '''
+ return self.add(GlobalProperties,**kwargs)
+ def addGlobalOptions(self,**kwargs):
+ '''Add a `GlobalOptions` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : GlobalOptions
+ The added element
+ '''
+ return self.add(GlobalOptions,**kwargs)
+ def addTurnTrack(self,**kwargs):
+ '''Add a `TurnTrack` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : TurnTrack
+ The added element
+ '''
+ return self.add(TurnTrack,**kwargs)
+ def addDocumentation(self,**kwargs):
+ '''Add a `Documentation` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Documentation
+ The added element
+ '''
+ return self.add(Documentation,**kwargs)
+ def addPrototypes(self,**kwargs):
+ '''Add a `Prototypes` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Prototypes
+ The added element
+ '''
+ return self.add(Prototypes,**kwargs)
+ def addPieceWindow(self,**kwargs):
+ '''Add a `PieceWindow` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : PieceWindow
+ The added element
+ '''
+ return self.add(PieceWindow,**kwargs)
+ def addChartWindow(self,**kwargs):
+ '''Add a `ChartWindow` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : ChartWindow
+ The added element
+ '''
+ return self.add(ChartWindow,**kwargs)
+ def addInventory(self,**kwargs):
+ '''Add a `Inventory` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Inventory
+ The added element
+ '''
+ return self.add(Inventory,**kwargs)
+ def addMap(self,**kwargs):
+ '''Add a `Map` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Map
+ The added element
+ '''
+ return self.add(Map,**kwargs)
+ def addDiceButton(self,**kwargs):
+ '''Add a `DiceButton` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : DiceButton
+ The added element
+ '''
+ return self.add(DiceButton,**kwargs)
+ def addPredefinedSetup(self,**kwargs):
+ '''Add a `PredefinedSetup` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : PredefinedSetup
+ The added element
+ '''
+ return self.add(PredefinedSetup,**kwargs)
+ def addGameMassKey(self,**kwargs):
+ '''Add a `GameMassKey` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : GameMassKey
+ The added element
+ '''
+ return self.add(GameMassKey,**kwargs)
+ def addStartupMassKey(self,**kwargs):
+ '''Add a `StartupMassKey` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : StartupMassKey
+ The added element
+ '''
+ return self.add(StartupMassKey,**kwargs)
+ def addMenu(self,**kwargs):
+ '''Add a `Menu` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Menu
+ The added element
+ '''
+ return self.add(Menu,**kwargs)
+ def addSymbolicDice(self,**kwargs):
+ '''Add a `SymbolicDice` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : SymbolicDice
+ The added element
+ '''
+ return self.add(SymbolicDice,**kwargs)
+
- return add_tutorial(root,doc,name='Tutorial',logfile='tutorial.vlog')
+ # ----------------------------------------------------------------
+ def getGlobalProperties(self,single=True):
+ '''Get all or a sole `GlobalPropertie` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `GlobalPropertie` child, otherwise fail.
+ If `False` return all `GlobalPropertie` children in this element
+ Returns
+ -------
+ children : list
+ List of `GlobalPropertie` children (even if `single=True`)
+ '''
+ return self.getAllElements(GlobalProperties,single)
+ def getBasicCommandEncoder(self,single=True):
+ '''Get all or a sole `Ba` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Ba` child, otherwise fail.
+ If `False` return all `Ba` children in this element
+ Returns
+ -------
+ children : list
+ List of `Ba` children (even if `single=True`)
+ '''
+ return self.getAllElements(BasicCommandEncoder,single)
+ def getGlobalTranslatableMessages(self,single=True):
+ '''Get all or a sole `GlobalTranslatableMessage` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `GlobalTranslatableMessage` child, otherwise fail.
+ If `False` return all `GlobalTranslatableMessage` children in this element
+ Returns
+ -------
+ children : list
+ List of `GlobalTranslatableMessage` children (even if `single=True`)
+ '''
+ return self.getAllElements(GlobalTranslatableMessages,single)
+ def getLanguages(self,single=False):
+ '''Get all or a sole `Language` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Language` child, otherwise fail.
+ If `False` return all `Language` children in this element
+ Returns
+ -------
+ children : list
+ List of `Language` children (even if `single=True`)
+ '''
+ return self.getAllElements(Language,single)
+ def getChessClocks(self,asdict=False):
+ '''Get all or a sole `Language` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Language` child, otherwise fail.
+ If `False` return all `Language` children in this element
+ Returns
+ -------
+ children : list
+ List of `Language` children (even if `single=True`)
+ '''
+ return self.getElementsByKey(ChessClockControl,'name',asdict)
+ def getChatter(self,single=True):
+ '''Get all or a sole `Chatter` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Chatter` child, otherwise fail.
+ If `False` return all `Chatter` children in this element
+ Returns
+ -------
+ children : list
+ List of `Chatter` children (even if `single=True`)
+ '''
+ return self.getAllElements(Chatter,single)
+ def getKeyNamer(self,single=True):
+ '''Get all or a sole `KeyNamer` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `KeyNamer` child, otherwise fail.
+ If `False` return all `KeyNamer` children in this element
+ Returns
+ -------
+ children : list
+ List of `KeyNamer` children (even if `single=True`)
+ '''
+ return self.getAllElements(KeyNamer,single)
+ def getDocumentation(self,single=True):
+ '''Get all or a sole `Documentation` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Documentation` child, otherwise fail.
+ If `False` return all `Documentation` children in this element
+ Returns
+ -------
+ children : list
+ List of `Documentation` children (even if `single=True`)
+ '''
+ return self.getAllElements(Documentation,single)
+ def getPrototypes(self,single=True):
+ '''Get all or a sole `Prototypes` (i.e., the containers of
+ prototypes, not a list of actual prototypes) element(s) from
+ this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Prototypes` child, otherwise fail.
+ If `False` return all `Prototypes` children in this element
+ Returns
+ -------
+ children : list
+ List of `Prototype` children (even if `single=True`)
+
+ '''
+ return self.getAllElements(Prototypes,single)
+ def getPlayerRoster(self,single=True):
+ '''Get all or a sole `PlayerRo` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `PlayerRo` child, otherwise fail.
+ If `False` return all `PlayerRo` children in this element
+ Returns
+ -------
+ children : list
+ List of `PlayerRo` children (even if `single=True`)
+ '''
+ return self.getAllElements(PlayerRoster,single)
+ def getGlobalOptions(self,single=True):
+ '''Get all or a sole `GlobalOption` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `GlobalOption` child, otherwise fail.
+ If `False` return all `GlobalOption` children in this element
+ Returns
+ -------
+ children : list
+ List of `GlobalOption` children (even if `single=True`)
+ '''
+ return self.getAllElements(GlobalOptions,single)
+ def getInventories(self,asdict=True):
+ '''Get all Inventorie element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Inventorie` elements. If `False`, return a list of all Inventorie` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Inventorie` children
+ '''
+ return self.getElementsByKey(Inventory,'name',single)
+ def getPieceWindows(self,asdict=True):
+ '''Get all PieceWindow element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `PieceWindow` elements. If `False`, return a list of all PieceWindow` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `PieceWindow` children
+ '''
+ return self.getElementsByKey(PieceWindow,'name',asdict)
+ def getChartWindows(self,asdict=True):
+ '''Get all ChartWindow element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `ChartWindow` elements. If `False`, return a list of all ChartWindow` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `ChartWindow` children
+ '''
+ return self.getElementsByKey(ChartWindow,'name',asdict)
+ def getDiceButtons(self,asdict=True):
+ '''Get all DiceButton element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `DiceButton` elements. If `False`, return a list of all DiceButton` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `DiceButton` children
+ '''
+ return self.getElementsByKey(DiceButton,'name',asdict)
+ def getPredefinedSetups(self,asdict=True):
+ '''Get all PredefinedSetup element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `PredefinedSetup` elements. If `False`, return a list of all PredefinedSetup` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `PredefinedSetup` children
+ '''
+ return self.getElementsByKey(PredefinedSetup,'name',asdict)
+ def getNotes(self,single=True):
+ '''Get all or a sole `Note` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Note` child, otherwise fail.
+ If `False` return all `Note` children in this element
+ Returns
+ -------
+ children : list
+ List of `Note` children (even if `single=True`)
+ '''
+ return self.getAllElements(Notes,single)
+ def getTurnTracks(self,asdict=True):
+ '''Get all TurnTrack element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `TurnTrack` elements. If `False`, return a list of all TurnTrack` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `TurnTrack` children
+ '''
+ return self.getElementsByKey(TurnTrack,'name',asdict)
+ def getPieces(self,asdict=False):
+ '''Get all Piece element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Piece` elements. If `False`, return a list of all Piece` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Piece` children
+ '''
+ return self.getElementsByKey(PieceSlot,'entryName',asdict)
+ def getSpecificPieces(self,*names,asdict=False):
+ '''Get all SpecificPiece element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `SpecificPiece` elements. If `False`, return a list of all SpecificPiece` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `SpecificPiece` children
+ '''
+ return self.getSpecificElements(PieceSlot,'entryName',
+ *names,asdict=asdict)
+ def getMap(self,asdict=False):
+ return self.getElementsByKey(Map,'mapName',asdict)
+ def getWidgetMaps(self,asdict=True):
+ '''Get all WidgetMap element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `WidgetMap` elements. If `False`, return a list of all WidgetMap` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `WidgetMap` children
+ '''
+ return self.getElementsByKey(WidgetMap,'mapName',asdict=asdict)
+ def getMaps(self,asdict=True):
+ '''Get all Map element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Map` elements. If `False`, return a list of all Map` children.
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Map` children
+ '''
+ maps = self.getMap(asdict=asdict)
+ wmaps = self.getWidgetMaps(asdict=asdict)
+ if asdict:
+ maps.update(wmaps)
+ else:
+ maps.extend(wmaps)
+ return maps
+ def getBoards(self,asdict=True):
+ '''Get all Board element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Board`
+ elements. If `False`, return a list of all Board`
+ children.
+
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Board` children
+
+ '''
+ return self.getElementsByKey(Board,'name',asdict)
+ def getGameMassKeys(self,asdict=True):
+ '''Get all GameMassKey element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Board`
+ elements. If `False`, return a list of all Board`
+ children.
+
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Board` children
+
+ '''
+ return self.getElementsByKey(GameMassKey,'name',asdict)
+ def getStartupMassKeys(self,asdict=True):
+ '''Get all StartupMassKey element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Board`
+ elements. If `False`, return a list of all Board`
+ children.
+
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Board` children
+
+ '''
+ return self.getElementsByKey(StartupMassKey,'name',asdict)
+ def getMenus(self,asdict=True):
+ '''Get all Menu element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `Board`
+ elements. If `False`, return a list of all Board`
+ children.
+
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `Board` children
+
+ '''
+ return self.getElementsByKey(Menu,'text',asdict)
+ def getSymbolicDices(self,asdict=True):
+ '''Get all Menu element(s) from this
+
+ Parameters
+ ----------
+ asdict : bool
+ If `True`, return a dictonary that maps key to `SymbolicDice`
+ elements. If `False`, return a list of all `SymbolicDice`
+ children.
+
+ Returns
+ -------
+ children : dict or list
+ Dictionary or list of `SymbolicDice` children
+
+ '''
+ return self.getElementsByKey(SymbolicDice,'name',asdict)
+ def getAtStarts(self,single=False):
+ '''Get all or a sole `AtStart` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `AtStart` child, otherwise fail.
+ If `False` return all `AtStart` children in this element
+ Returns
+ -------
+ children : list
+ List of `AtStart` children (even if `single=True`)
+ '''
+ return self.getAllElements(AtStart,single)
+
+
+# --------------------------------------------------------------------
+class BasicCommandEncoder(GameElement):
+ TAG = Element.MODULE+'BasicCommandEncoder'
+ def __init__(self,doc,node=None):
+ super(BasicCommandEncoder,self).__init__(doc,self.TAG,node=node)
-# --------------------------------------------------------------------
-def add_basics_to_map(root,map,**attr):
- '''Add a map to the document
+#
+# EOF
+#
+# ====================================================================
+# From buildfile.py
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- parent : xml.dom.minidom.Element
- The parent element
- button : str
- Button text
- name : str
- Name of the map
- stacking : bool
- Whether to enable stacking
+# --------------------------------------------------------------------
+class BuildFile(Element):
+ def __init__(self,root=None):
+ '''Construct from a DOM object, if given, otherwise make new'''
+ from xml.dom.minidom import Document
+ super(BuildFile,self).__init__(None,'',None)
+
+ self._root = root
+ if self._root is None:
+ self._root = Document()
+
+ self._node = self._root
+
+ def addGame(self,**kwargs):
+ '''Add a `Game` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Game
+ The added element
+ '''
+ return Game(self,**kwargs)
+
+ def getGame(self):
+ '''Get the `Game`'''
+ return Game(self,
+ node=self._root.\
+ getElementsByTagName('VASSAL.build.GameModule')[0])
+
+ def encode(self):
+ '''Encode into XML'''
+ return self._root.toprettyxml(indent=' ',
+ encoding="UTF-8",
+ standalone=False)
- Returns
- -------
- map : xml.dom.minidom.Element
- The map element
- bpicker : xml.dom.minidom.Element
- The board picker in map
- '''
- stacking = add_stacking(root,map)
- add_camera (root,map)
- add_forwardtochatter (root,map)
- add_menudisplayer (root,map)
- add_mapcenterer (root,map)
- add_stackexpander (root,map)
- add_piecemover (root,map)
- add_keybufferer (root,map)
- add_selectionhighlighters(root,map) # TBD
- add_highlightlastmoved (root,map)
- add_zoomer (root,map)
- return stacking
+#
+# EOF
+#
+# ====================================================================
+# From moduledata.py
# --------------------------------------------------------------------
-def add_elim(root,game,sides,categories,verbose=False):
- '''Add an eliminated map
+class Data(Element):
+ TAG = 'data'
+ def __init__(self,doc,node=None,version='1'):
+ super(Data,self).__init__(doc,self.TAG,node=node,version=version)
+
+ def addVersion(self,**kwargs):
+ '''Add a `Version` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Version
+ The added element
+ '''
+ return self.add(Version,**kwargs)
+ def addVASSALVersion(self,**kwargs):
+ '''Add a `VASSALVersion` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : VASSALVersion
+ The added element
+ '''
+ return self.add(VASSALVersion,**kwargs)
+ def addName(self,**kwargs):
+ '''Add a `Name` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Name
+ The added element
+ '''
+ return self.add(Name,**kwargs)
+ def addDescription(self,**kwargs):
+ '''Add a `Description` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Description
+ The added element
+ '''
+ return self.add(Description,**kwargs)
+ def addDateSaved(self,**kwargs):
+ '''Add a `DateSaved` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : DateSaved
+ The added element
+ '''
+ return self.add(DateSaved,**kwargs)
+ def getVersion(self,single=True):
+ '''Get all or a sole `Version` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Version` child, otherwise fail.
+ If `False` return all `Version` children in this element
+ Returns
+ -------
+ children : list
+ List of `Version` children (even if `single=True`)
+ '''
+ return self.getAllElements(Version,single=single)
+ def getVASSALVersion(self,single=True):
+ '''Get all or a sole `VASSALVersion` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `VASSALVersion` child,
+ otherwise fail. If `False` return all `VASSALVersion`
+ children in this element
+ Returns
+ -------
+ children : list
+ List of `VASSALVersion` children (even if `single=True`)
+
+ '''
+ return self.getAllElements(VASSALVersion,single=single)
+ def getName(self,single=True):
+ return self.getAllElements(Name,single=single)
+ def getDescription(self,single=True):
+ '''Get all or a sole `Description` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `Description` child,
+ otherwise fail. If `False` return all `De` children in
+ this element
+ Returns
+ -------
+ children : list
+ List of `De` children (even if `single=True`)
+
+ '''
+ return self.getAllElements(Description,single=single)
+ def getDateSaved(self,single=True):
+ '''Get all or a sole `DateSaved` element(s) from this
+
+ Parameters
+ ----------
+ single : bool
+ If `True`, there can be only one `DateSaved` child, otherwise fail.
+ If `False` return all `DateSaved` children in this element
+ Returns
+ -------
+ children : list
+ List of `DateSaved` children (even if `single=True`)
+ '''
+ return self.getAllElements(DateSaved,single=single)
+
+# --------------------------------------------------------------------
+class DataElement(Element):
+ def __init__(self,data,tag,node=None,**kwargs):
+ super(DataElement,self).__init__(data,tag,node=node,**kwargs)
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- game : xml.dom.minidom.Element
- The parent element
- sides : list of str
- List of sides in the game
- '''
- if verbose:
- print(' Adding eliminated map and boards')
-
- if sides is None or len(sides) == 0:
- return
-
- map = add_map(root,game,'DeadMap',
- buttonName = '', #'Eliminated units',
- icon = '/images/playerAway.gif',
- markMoved = 'Never',
- launch = True,
- allowMultiple = True,
- hotkey=key('E',ALT))
- bpicker = add_boardpicker(root,map,
- slotHeight = 400,
- slotWidth = 400)
- add_setup(root,bpicker,'DeadMap',2,[s+' pool' for s in sides])
- add_masskey(root,map,'Restore',
- key('R'),
- key('R'),
- icon = '/images/Undo16.gif',
- tooltip = "Restore selected units")
-
- for i,s in enumerate(sides):
- if verbose:
- print(f' Adding {s} pool')
-
- color = [0,0,0,64]
- color[i % 3] = 255
-
- w = 400
- h = 400
- c = ','.join([str(c) for c in color])
- dimg = categories.get('pool',{}).get('all',{}).get(s,None)
- img = ''
-
- if dimg:
- bb = get_bb(dimg['img'])
- w = bb[2] - bb[0]
- h = bb[3] - bb[1]
- c = ''
- img = dimg['filename']
- if verbose:
- print(f' Using image provided by the user: {img}')
+ def getData(self):
+ return self.getParent(Data)
- add_board(root,bpicker,f'{s} pool',
- image = img,
- color = c,
- width = w,
- height = h)
+# --------------------------------------------------------------------
+class Version(DataElement):
+ TAG = 'version'
+ def __init__(self,data,node=None,version=''):
+ super(Version,self).__init__(data,self.TAG,node=node)
+ if node is None:
+ self.addText(version)
- add_basics_to_map(root,map)
+# --------------------------------------------------------------------
+class VASSALVersion(DataElement):
+ TAG = 'VassalVersion'
+ def __init__(self,data,node=None,version='3.6.7'):
+ super(VASSALVersion,self).__init__(data,self.TAG,node=node)
+ if node is None:
+ self.addText(version)
# --------------------------------------------------------------------
-def add_hex_grid(root,parent,color=rgb(255,0,0),visible=True,grid=True):
- '''Add a hex grid, either to a zone or to the multizone container'''
+class Name(DataElement):
+ TAG = 'name'
+ def __init__(self,data,node=None,name=''):
+ super(Name,self).__init__(data,self.TAG,node=node)
+ if node is None:
+ self.addText(name)
+
+# --------------------------------------------------------------------
+class Description(DataElement):
+ TAG = 'description'
+ def __init__(self,data,node=None,description=''):
+ super(Description,self).__init__(data,self.TAG,node=node)
+ if node is None:
+ self.addText(description)
+
+# --------------------------------------------------------------------
+class DateSaved(DataElement):
+ TAG = 'dateSaved'
+ def __init__(self,data,node=None,milisecondsSinceEpoch=-1):
+ super(DateSaved,self).__init__(data,self.TAG,node=node)
+ if node is None:
+ from time import time
+ s = f'{int(time()*1000)}' if milisecondsSinceEpoch < 0 else \
+ str(milisecondsSinceEpoch)
+ self.addText(s)
+
+# --------------------------------------------------------------------
+class ModuleData(Element):
- hexes = add_hexgrid(root,parent,color=color,visible=visible,
- edgesLegal=True)
- if not grid:
- return hexes
+ def __init__(self,root=None):
+ '''Construct from a DOM object, if given, otherwise make new'''
+ from xml.dom.minidom import Document
+ super(ModuleData,self).__init__(None,'',None)
+
+ self._root = root
+ if self._root is None:
+ self._root = Document()
+
+ self._node = self._root
+
+ def addData(self,**kwargs):
+ '''Add a `Data` element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Data
+ The added element
+ '''
+ return Data(self,**kwargs)
+
+ def getData(self):
+ return Data(self,
+ node=self._root.getElementsByTagName(Data.TAG)[0])
+
+ def encode(self):
+ return self._root.toprettyxml(indent=' ',
+ encoding="UTF-8",
+ standalone=False)
- add_hexnumbering(root,hexes,
- color = color,
- hType = 'A',
- hOff = -1,
- vType = 'N',
- vOff = -1,
- visible = visible)
+#
+# EOF
+#
+# ====================================================================
+# From save.py
- return hexes
+# ====================================================================
+class SaveIO:
+ '''Wrapper around a save file
+
+ Save file is
+
+ "!VCSK" KEY content
+
+ Key is two bytes drawn as a random number in 0-255. Content is
+ two bytes per character. Content characters are encoded with the
+ random key.
+
+ Save file (.vsav) content is
+
+ "begin_save" ESC
+ "\" ESC
+ [commands]* ESC
+ "PLAYER" name password side ESC
+ [map+"BoardPicker" name x y ESC]+
+ "SETUP_STACK" ESC
+ "TURN"+name state ESC
+ "end_save"
+
+ Commands are
+
+ "+/" id "/" body "\"
+
+ where body are
+
+ "stack" "/" mapName ; x ; y ; ids "\"
+ piece_type "/" piece_state (x and y set here too) "\"
+
+ x and y are pixel coordinates (sigh!). This means we have to know
+
+ - the pixel location of a hex
+ - the hex coordinates of that hex
+ - whether rows and columns are descending
+ - if even hexes are higher or not
+
+ The two first items _must_ be user supplied (I think). When we
+ add stacks or pieces, we must then get the numerical hex
+ coordinates - not what the user specified in the VASSAL editor or
+ the like. Of course, this means opening the module before writing
+ the patch.py script.
+
+ It seems like every piece is added in a stack.
+
+ The id is a numerical value. Rather big (e.g., 1268518000806). It
+ is the current number of miliseconds since epoch, with offset to
+ disambiguate.
+
+ The ID is the current time, taken from a milisecond clock,
+ possibly adjusted up if there is a clash. This is all managed by
+ the GameState class.
-# --------------------------------------------------------------------
-def get_picture_info(picture,name,width,height,verbose):
'''
- Returns
- -------
- hex_width, hex_height : float, float
- Scale hex width
- scx, scy : float, float, float, float
- Scale to image and picture (x,y)
- rot90 : bool
- True if rotated +/-90 degrees
- tran : callable
- Translation function
- '''
- if picture is None:
- print(f'WARNING: No Tikz picture information.'
- f"Are you sure you used the `[zoned]' option for the "
- f"tikzpicture environment of {name}?")
- f = lambda x,y: (x,y)
- return HEX_WIDTH,HEX_HEIGHT,1,1,False,f
-
- # Get picture bounding box
- tll = picture['lower left']
- tur = picture['upper right']
- # Get picture transformation
- pa = picture['xx']
- pb = picture['xy']
- pc = picture['yx']
- pd = picture['yy']
- # Get picture offset (always 0,0?)
- pdx = picture['dx']
- pdy = picture['dy']
- # Define picture global transformation
- pr = lambda x,y: (pa * x + pc * y, pb * x + pd * y)
- # Globally transform (rotate) picture bounding box
- pll = pr(*tll)
- pur = pr(*tur)
- # Calculate widht, height, and scaling factors
- pw = pur[0] - pll[0]
- ph = pur[1] - pll[1]
- scw = width / pw
- sch = height / ph
- # Extract picture scales and rotation
- # Courtesy of
- # https://math.stackexchange.com/questions/13150/extracting-rotation-scale-values-from-2d-transformation-matrix
- from math import sqrt, atan2, degrees, isclose
- psx = sqrt(pa**2 + pb**2) # * (-1 if pa < 0 else 1)
- psy = sqrt(pc**2 + pd**2) # * (-1 if pd < 0 else 1)
- prt = degrees(atan2(pc,pd))
- if not any([isclose(abs(prt),a) for a in [0,90,180,270]]):
- raise RuntimeException('Rotations of Tikz pictures other than '
- '0 or +/-90,+/- 180, or +/-270 not supported. '
- 'found {prt}')
- rot90 = isclose(abs(prt),90)
- if any([isclose(prt,a) for a in [90,270,180,-180]]):
- print(f'WARNING: rotations by {prt} not fully supported')
-
- hex_width = psx * HEX_WIDTH
- hex_height = psy * HEX_HEIGHT
- if verbose:
- print(f' Picture transformations: {pa},{pb},{pc},{pd}\n'
- f' Scale (x,y): {psx},{psy}\n'
- f' Rotation (degrees): {prt}')
-
- # When translating the Tikz coordinates, it is important to note
- # that the Tikz y-axis point upwards, while the picture y-axis
- # point downwards. This means that the upper right corner is at
- # (width,0) and the lower left corner is at (0,height).
- def tranx(x,off=-pll[0]):
- # print(f'x: {x} + {off} -> {x+off} -> {int(scw*(x+off))}')
- return int(scw * (x + off)+.5)
- def trany(y,off=-pur[1]):
- # print(f'y: {y} + {off} -> {y+off} -> {-int(sch*(y+off))}')
- return -int(sch * (y + off)+.5)
- tran = lambda x,y : (tranx(x), trany(y))
-
- return hex_width, hex_height, scw * psx, sch * psy, rot90, tran
-
-# --------------------------------------------------------------------
-def get_hexparams(i,llx,ury,hex_width,hex_height,scx,scy,rot90,
- labels,coords,targs,nargs):
- targs['dx'] = hex_width
- targs['dy'] = hex_height
- if labels is not None:
- labmap = {
- 'auto': {
- 'hLeading': 1, 'vLeading': 1, 'hType': 'N', 'vType': 'N' },
- 'auto=numbers' : {
- 'hLeading': 1, 'vLeading': 1, 'hType': 'N', 'vType': 'N' },
- 'auto=alpha column': {
- 'hLeading': 0, 'vLeading': 0, 'hType': 'A', 'vType': 'N',
- 'hOff': -1 },
- 'auto=alpha 2 column': {# Not supported
- 'hLeading': 1, 'vLeading': 1, 'hType': 'A', 'vType': 'N' },
- 'auto=inv y x plus 1': {
- 'hLeading': 1, 'vLeading': 1, 'hType': 'N', 'vType': 'N',
- 'hOff': 0, 'vDescend': True },
- 'auto=x and y plus 1': {
- 'hLeading': 1, 'vLeading': 1, 'hType': 'N', 'vType': 'N',
- 'hOff': 0, 'vOff': 0 }
- }
- for l in labels.split(','):
- nargs.update(labmap.get(l,{}))
-
- # Field/Direction | Normal | Rotated |
- # ----------------|--------|---------|
- # hOff | column | column |
- # vOff | row | row |
- # hDescend | column | row | True, incr to left
- # vDescend | row | column | True, incr upward
- # First='H' | column | column |
-
- # In wargame offset=0 means that the first coordinates are 0,0.
- # But offset 0,0 in VASSAL means start at 1,1
- horiz = 'column'
- vert = 'row'
- nargs['vOff'] = nargs.get('vOff',0)-coords[vert] ['offset']-1
- nargs['hOff'] = nargs.get('hOff',0)-coords[horiz]['offset']-1
-
- # In VASSAL, vDesend=False means rows increase downward,
- # while in wargame, factor=-1 means rows increase downward
- horiz = 'row' if rot90 else 'column'
- vert = 'column' if rot90 else 'row'
- nargs['hDescend'] = coords[horiz]['factor'] != 1
- nargs['vDescend'] = coords[vert] ['factor'] != -1 # flipped y
- targs['edgesLegal'] = True
-
- # Check for inversed columns
- inv_col = coords['column']['factor'] == -1
- ell = hex_width if inv_col else 0
-
- # Some special stuff in case of 90 degree rotation
- if rot90:
- targs.update({'sideways': True})
- nargs['hOff'] -= 1
- nargs['hDescend'] = not nargs['hDescend']
- if inv_col:
- nargs['hOff'] += 3
-
- margin = i.get('board frame',{}).get('margin',0)
- mx = scx * margin
- my = scy * margin
- if inv_col: mx = 0 # Bug in wargame?
-
- # Grid offset is defined relative to the full image,
- # not the zone:
- #
- # X,Y offset: The horizontal and vertical position of
- # the center of the first hex of the grid.
- #
- # That is, (x,y)=(0,0) is in the top-left corner of the
- # image, while in TikZ it is in the bottom left corner.
- # This means we shift by the boudning box offsets plus
- # some stuff to align with the zone.
- #
- # In case of inversed columns, we need to add some extra stuff.
- x0, y0 = llx-hex_width/3 + ell + mx, ury + my
-
- # Rotated?
- if rot90:
- x0, y0 = ury+2*hex_width/3 + ell + mx, llx + my
-
- # Below should be double-checked.
-
- if not rot90:
- if coords.get('column',{}).get('top short','') == 'isodd' \
- and coords.get('column',{}).get('offset',0) == -1:
- y0 -= hex_width/2
- elif coords.get('column',{}).get('top short','') == 'iseven' \
- and coords.get('column',{}).get('offset',-1) == 0:
- y0 -= hex_width/2
-
- targs.update({'x0': int(x0),'y0': int(y0)})
-
-# --------------------------------------------------------------------
-def get_rectparams(i,llx,ury,width,height,rot90,targs,nargs):
- targs['dx'] = width
- targs['dy'] = height
- targs['x0'] = int(llx - width/2)
- targs['y0'] = int(ury + height/2)
- targs['color'] = rgb(0,255,0)
- nargs['color'] = rgb(0,255,0)
- nargs['vDescend'] = True
- nargs['vOff'] = -3
- nargs.update({'sep':',','vLeading':0,'hLeading':0})
-
-# --------------------------------------------------------------------
-def add_zones(root,zoned,name,board,width,height,gpid,
- labels=None,coords=None,picinfo=None,
- verbose=False,visible=True):
- grids = []
- picture = None
- if verbose:
- print(f' Adding zones to {name} zoned={"zoned" in board}')
-
- for k, v in board.items():
- if k == 'labels': labels = v
- if k == 'coords': coords = v
- if k == 'zoned': picture = v
- if 'zone' not in k or k == 'zoned':
- continue
-
- gridtype = (add_hexgrid
- if 'hex' in k.lower()
- else add_squaregrid)
- gridnum = (add_hexnumbering
- if 'hex' in k.lower()
- else add_squarenumbering)
- grids.append([k,v,gridtype,gridnum])
-
- if len(grids) < 1: return gpid
- if verbose:
- print(f' Got zones: {[k[0] for k in grids]}')
- # Either get picture information from argument, or deduce from the
- # found 'zoned' key.
- if picinfo is None:
- picinfo = get_picture_info(picture,name,width,height,verbose)
-
- hex_width, hex_height, scx, scy, rot90, tran = picinfo
-
-
- for g in grids:
- n, i, typ, num = g
- if verbose:
- print(f' Adding zone {n}')
- if 'scope' in n:
- llx,lly = tran(*i['global lower left'])
- urx,ury = tran(*i['global upper right'])
- path = [[llx,ury],[urx,ury],[urx,lly],[llx,lly]]
- nm = n.replace('zone scope ','')
- elif 'path' in n:
- path = [tran(*ii) for ii in i['path']]
- llx = min([px for px,py in path])
- ury = max([py for px,py in path])
- nm = n.replace('zone path ','')
-
- # Checkf if we have "point" type elements in this object and
- # add them to dict.
- points = [ v for k,v in i.items()
- if (k.startswith('point') and
- isinstance(v,dict) and \
- v.get('type','') == 'point')]
-
- pathstr = ';'.join([f'{s[0]},{s[1]}' for s in path])
- if verbose:
- print(f' Zone path ({llx},{ury}): {pathstr}')
- zone = add_zone(root,zoned,
- name=nm,
- locationFormat = ("$name$"
- if 'pool' in n.lower() else
- "$gridLocation$"),
- useParentGrid=False,
- path=pathstr)
-
- # Do not add grids to pools
- if 'pool' in n.lower():
- continue
-
- targs = {'color':rgb(255,0,0),'visible':visible}
- nargs = {'color':rgb(255,0,0),'visible':visible}
- if 'hex' in n.lower():
- get_hexparams(i,llx,ury,hex_width,hex_height,scx,scy,rot90,
- labels,coords,targs,nargs)
+ VCS_HEADER = b'!VCSK'
+ VK_ESC = chr(27)
+ DEC_MAP = {
+ # 0-9
+ 0x30: 0x30,
+ 0x31: 0x30,
+ 0x32: 0x30,
+ 0x33: 0x30,
+ 0x34: 0x30,
+ 0x35: 0x30,
+ 0x36: 0x30,
+ 0x37: 0x30,
+ 0x38: 0x30,
+ 0x39: 0x30,
+ # A-F
+ 0x41: 0x37,
+ 0x42: 0x37,
+ 0x43: 0x37,
+ 0x44: 0x37,
+ 0x45: 0x37,
+ 0x46: 0x37,
+ # a-f
+ 0x61: 0x57,
+ 0x62: 0x57,
+ 0x63: 0x57,
+ 0x64: 0x57,
+ 0x65: 0x57,
+ 0x66: 0x57
+ }
+ ENC_MAP = [b'0',b'1',b'2',b'3',b'4',b'5',b'6',b'7',b'8',b'9',
+ b'a',b'b',b'c',b'd',b'e',b'f']
+
+ # ----------------------------------------------------------------
+ @classmethod
+ def decHex(cls,b):
+ '''Decode a single char into a number
+
+ If the encoded number is b, then the decoded number is
+
+ b - off
+
+ where off is an offset that depends on b
+
+ off = 0x30 if 0x30 <= b <= 0x39
+ 0x37 if 0x41 <= b <= 0x46
+ 0x57 if 0x61 <= b <= 0x66
+ '''
+ return b - cls.DEC_MAP[b]
+ # --------------------------------------------------------------------
+ @classmethod
+ def readByte(cls,inp,key):
+ '''Read a single byte of information from input stream
+
+ Two characters (c1 and c2) are read from input stream, and the
+ decoded byte is then
+
+ ((dechex(c1) << 4 | dechex(c2)) ^ key) & 0xFF
+
+ Parameters
+ ----------
+ inp : stream
+ Input to read from
+ key : int
+ Key to decode the input
+
+ Returns
+ -------
+ b : int
+ The read byte
+ '''
+ try:
+ pair = inp.read(2)
+ except Exception as e:
+ from sys import stderr
+ print(e,file=stderr)
+ return None
+
+ if len(pair) < 2:
+ return None
+
+ return ((cls.decHex(pair[0]) << 4 | cls.decHex(pair[1])) ^ key) & 0xFF
+ # --------------------------------------------------------------------
+ @classmethod
+ def readSave(cls,file,alsometa=False):
+ '''Read data from save file. The data is read into lines
+ returned as a list.
+
+ '''
+ from zipfile import ZipFile
+
+ # We open the save file as a zip file
+ with ZipFile(file,'r') as z:
+ # open the save file in the archive
+ save = z.open('savedGame','r')
+
+ # First, we check the header
+ head = save.read(len(cls.VCS_HEADER))
+ assert head == cls.VCS_HEADER, \
+ f'Read header {head} is not {cls.VCS_HEADER}'
+
+ # Then, read the key
+ pair = save.read(2)
+ key = (cls.decHex(pair[0]) << 4 | cls.decHex(pair[1]))
+
+ # Now read content, one byte at a time
+ content = ''
+ while True:
+ byte = cls.readByte(save,key)
+ if byte is None:
+ break
+
+ # Convert byte to character
+ content += chr(byte)
+
+ lines = content.split(cls.VK_ESC)
+
+ if alsometa:
+ savedata = z.read(VSav.SAVE_DATA)
+ moduledata = z.read(VMod.MODULE_DATA)
+
+ if not alsometa:
+ return key, lines
+
+ return key,lines,savedata,moduledata
+
+ # --------------------------------------------------------------------
+ @classmethod
+ def writeByte(cls,out,byte,key):
+ '''Write a single byte
+
+ Parameters
+ ----------
+ out : IOStream
+ Stream to write to
+ byte : char
+ Single byte to write
+ key : int
+ Key to encode with (defaults to 0xAA - alternating 0's and 1's)
+ '''
+ b = ord(byte) ^ key
+ pair = cls.ENC_MAP[(b & 0xF0) >> 4], cls.ENC_MAP[b & 0x0F]
+ out.write(pair[0])
+ out.write(pair[1])
+
+ # --------------------------------------------------------------------
+ @classmethod
+ def writeInZip(cls,z,key,lines,filename='savedGame'):
+ '''Write a save file in a zip file (VMod)'''
+ # open the save file in the archive
+ with z.open(filename,'w') as save:
+ # Write header
+ save.write(cls.VCS_HEADER)
+
+ # Split key
+ pair = cls.ENC_MAP[(key & 0xF0) >> 4], cls.ENC_MAP[(key & 0x0F)]
+ save.write(pair[0])
+ save.write(pair[1])
+
+ # Form content
+ content = cls.VK_ESC.join(lines)
+
+ # Write each character as two
+ for c in content:
+ cls.writeByte(save, c, key)
+
+ # --------------------------------------------------------------------
+ @classmethod
+ def writeSave(cls,file,key,lines,savedata=None,moduledata=None):
+ '''Write a save file'''
+ from zipfile import ZipFile, ZIP_DEFLATED
+
+ # We open the save file as a zip file
+ with ZipFile(file,'w',ZIP_DEFLATED) as z:
+ cls.writeInZip(z,key,lines,filename='savedGame')
+
+ if savedata is not None:
+ z.writestr(VSav.SAVE_DATA,savedata)
+ z.writestr(VMod.MODULE_DATA,moduledata)
+
+# ====================================================================
+#
+# VSave file
+#
+class SaveFile:
+ def __init__(self,game,firstid=None):
+ '''Creates a save file to add positions to'''
+ from time import time
+ self._game = game
+ self._counters = {}
+ self._stacks = {}
+ self._pieces = self._game.getPieces(asdict=True)
+ self._nextId = (int(time()*1000) - 360000
+ if firstid is None else firstid)
+
+ def add(self,grid,**kwargs):
+ '''Add pieces to the save.
+
+ Parameters
+ ----------
+ grid : BaseGrid
+ Grid to add pieces to
+ kwargs : dict
+ Either a map from piece name to hex position,
+ Or a map from hex position to list of pieces
+ '''
+ for k,v in kwargs.items():
+ # print('Add to save',k,v)
+ self._add(grid,k,v)
+
+ def _add(self,grid,k,v):
+ '''Add to the save'''
+ # print(f'Adding {k} -> {v}')
+ loc = None
+ piece = self._pieces.get(k,None)
+ pieces = []
+ boardName = grid.getBoard()['name']
+ # print(f'Board name: {boardName}')
+ if piece is not None:
+ # print(f'Key is piece: {k}->{piece}')
+ pieces.append(piece)
+ loc = v
else:
- width = hex_width / HEX_WIDTH * RECT_WIDTH
- height = hex_height / HEX_HEIGHT * RECT_HEIGHT
- get_rectparams(i,llx,ury,width,height,rot90,targs,nargs)
+ # Key is not a piece name, so a location
+ loc = k
+ # Convert value to iterable
+ try:
+ iter(v)
+ except:
+ v = list(v)
- # print(targs,nargs)
- if 'turn' in n.lower(): nargs['sep'] = 'T'
- if 'oob' in n.lower(): nargs['sep'] = 'O'
+ for vv in v:
+ if isinstance(vv,PieceSlot):
+ pieces.append(vv)
+ continue
+ if isinstance(vv,str):
+ piece = self._pieces.get(vv,None)
+ if piece is None:
+ continue
+ pieces.append(piece)
+
+ # print(f'Loc: {loc}')
+ if len(pieces) < 1:
+ return
+
+ if (boardName,loc) not in self._stacks:
+ # print(f'Adding stack {boardName},{loc}')
+ coord = grid.getLocation(loc)
+ if coord is None:
+ print(f'did not get coordinates from {loc}')
+ return
+ self._stacks[(boardName,loc)] = {
+ 'x': coord[0],
+ 'y': coord[1],
+ 'pids': [] }
+
+ place = self._stacks[(boardName,loc)]
+ for piece in pieces:
+ name = piece['entryName']
+ count = self._counters.get(name,None)
+
+ if count is None:
+ count = {'pid': self._nextId,
+ 'piece': piece,
+ 'board': boardName,
+ 'x': place['x'],
+ 'y': place['y'],
+ }
+ self._counters[name] = count
+ self._nextId += 1
- if verbose:
- print(f' Adding grid')
+
+ # print(f'Adding to stack {boardName},{loc}: {count[0]}')
+ place['pids'].append(count['pid'])
- if len(points) <= 0:
- grid = typ(root,zone,**targs)
- num(root,grid,**nargs)
- else:
- if verbose:
- print(f' Use a region grid')
- grid = add_regiongrid(root,zone,snapto=True,visible=visible)
- for p in points:
- pn = p["name"]
- pc = p["coords"]
- if verbose:
- print(f' Add region {pn} {p}')
+ def getLines(self):
+ '''Get the final lines of code'''
+ key = 0xAA # fixed key
+
+ lines = ['begin_save',
+ '',
+ '\\']
- n, gpid = add_region(root,grid,pn,*tran(*pc),gpid,
- alsoPiece=True,verbose=verbose)
+ self._pieceLines(lines)
+ self._otherLines(lines)
+
+ lines.append('end_save')
+ return lines
+
+ def _pieceLines(self,lines):
+ '''Add piece lines to save file
+
+ Parameters
+ ----------
+ lines : list
+ The lines to add
+ '''
+ # print(self._counters)
+ for counter in self._counters.values():
+ iden = counter['pid']
+ piece = counter['piece']
+ traits = piece.getTraits()
+ traits = Trait.flatten(traits,self._game)
+ # Get last - trait (basic piece), and modify coords
+ basic = traits[-1]
+ basic['map'] = counter['board']
+ basic['x'] = counter['x']
+ basic['y'] = counter['y']
+ # Set old location if possible
+ parent = piece.getParent(DummyElement,checkTag=False)
+ if parent is not None and parent._node.nodeName == AtStart.TAG:
+ oldLoc = parent['location']
+ oldBoard = parent['owningBoard']
+ oldMap = self._game.getBoards()[oldBoard].getMap()['mapName']
+ oldX = parent['x']
+ oldY = parent['y']
+ oldZone = None
+ zones = self._game.getBoards()[oldBoard].getZones()
+ for zone in zones.values():
+ grid = zone.getGrids()[0]
+ if grid is None: continue
+
+ coord = grid.getLocation(oldLoc)
+ if coord is None: continue
+
+ oldZone = zone['name']
+ oldX = coord[0]
+ oldY = coord[1]
+ break
+
+ if oldZone is not None:
+ basic['properties'] = \
+ f'6;OldZone;{oldZone};OldLocationName;{oldLoc};'+\
+ f'OldX;{oldX};OldY;{oldY};'+\
+ f'OldBoard;{oldBoard};OldMap;{oldMap}'
+ else:
+ basic['properties'] = \
+ f'5;OldLocationName;{oldLoc};'+\
+ f'OldX;{oldX};OldY;{oldY};'+\
+ f'6;OldBoard;{oldBoard};OldMap;{oldMap}'
+
+ for trait in traits:
+ if trait.ID == TrailTrait.ID:
+ trait['map'] = oldMap
+ trait['points'] = f'1;{oldX},{oldY}'
+ trait['init'] = True
+
+ # Wrapper
+ wrap = DummyWithTraits(self._game,traits=[])
+ wrap.setTraits(*traits,iden=str(iden))
+ lines.append(wrap._node.childNodes[0].nodeValue+'\\')
+
+ layer = -1
+ for key,dat in self._stacks.items():
+ pids = dat.get('pids',None)
+ x = dat['x']
+ y = dat['y']
+ if pids is None or len(pids) < 1:
+ print(f'No pieces at {key[0]},{key[1]}')
+ continue
+
+ iden = self._nextId
+ self._nextId += 1
+ stack = StackTrait(board=key[0],x=x,y=y,pieceIds=pids,layer=layer)
+ layer = 1
+ wrap = DummyWithTraits(self._game,traits=[])
+ wrap.setTraits(stack,iden=iden)
+ lines.append(wrap._node.childNodes[0].nodeValue+'\\')
+
+ def _otherLines(self,lines):
+ '''Add other lines to save'''
+ lines.append('UNMASK\tnull')
+ for r in self._game.getPlayerRoster():
+ lines.extend(r.encode())
+ for n in self._game.getNotes(single=False):
+ lines.extend(n.encode())
+ setupStack = False
+ for m in self._game.getMaps(asdict=False):
+ for bp in m.getBoardPicker(single=False):
+ lines.extend(bp.encode())
+ if not setupStack:
+ atstart = m.getAtStarts(single=False)
+ if atstart and len(atstart) > 0:
+ lines.append('SETUP_STACK')
+ setupStack = True
+ # for tk,tt in self._game.getTurnTracks(asdict=True):
+ # lines.extend(tt.encode())
- # Once we've dealt with this grid, we should see if we have
- # any embedded zones we should deal with.
- add_zones(root,zoned,name,i,width,height,gpid,
- labels=labels,coords=coords,picinfo=picinfo,
- verbose=verbose)
-
- # Adding a global grid
- #targs['color'] = rgb(0,255,0)
- #nargs['color'] = rgb(0,255,0)
- #grid = typ(root,zoned,**targs)
- #num(root,grid,**nargs)
-
- return gpid
-
-
-# --------------------------------------------------------------------
-def add_inv(root,game,sides,**attr):
- '''Add inventory to module'''
- filt = '{' + '||'.join([f'Faction=="{s}"' for s in sides])+'}'
- grp = 'Faction,Command,Echelon,Type'
- inv = add_inventory(root,game,
- include = filt,
- groupBy = grp,
- sortFormat = '$PieceName$',
- tooltip = 'Show inventory of all pieces',
- zoomOn = True,
- **attr)
- return inv
-
-
+
# --------------------------------------------------------------------
-def add_map_board(root,game,name,board,gpid,verbose=False,visible=False):
- '''A add a single board to the module
- '''
+class SaveData(ModuleData):
+ def __init__(self,root=None):
+ '''Convinience wrapper'''
+ super(SaveData,self).__init__(root=root)
+# ====================================================================
+# From vsav.py
- map = add_map(root,game, name)
- bpicker = add_boardpicker(root,map)
-
- add_counterviewer (root,map)
- add_hidepieces (root,map)
- add_globalmap (root,map)
- add_basics_to_map (root,map)
- add_masskey (root,map,'Flip', key('F'),key('F'),
- icon = '/images/Undo16.gif',
- tooltip='Flip selected units')
- add_masskey (root,map,'Eliminate',key('E'),key('E'),
- icon = '/images/playerAway.gif',
- tooltip='Eliminate selected units')
-
- # Get the image so we may make a rectangle
- if verbose:
- print(f' Adding board {board["name"]} -> {board["filename"]}')
- ulx,uly,lrx,lry = get_bb(board['img'])
- eboard = add_board(root,bpicker,name,image=board['filename'])
- zoned = add_zoned(root,eboard)
- #hexes = add_hexgrid(root,zoned)
- add_zonehighlighter(root,zoned)
-
- if not 'zones' in board:
- full = add_zone(root,zoned,
- name='full',
- useParentGrid=False,
- path=(f'{ulx},{uly};' +
- f'{lrx},{uly};' +
- f'{lrx},{lry};' +
- f'{ulx},{lry}'))
-
- # We do not have board info, so add a grid to the whole thing
- add_hex_grid(root,full,rgb(255,0,0),True,True,visible=visible)
- return
-
- # If we get here, we have board info!
- w = abs(ulx-lrx)
- h = abs(uly-lry)
- return add_zones(root,zoned,name,board['zones'],w,h,gpid,
- verbose=verbose,visible=visible)
-
-# --------------------------------------------------------------------
-def add_boards(root,game,categories,sides,gpid,verbose=False,visible=False):
- '''Add all boards to the module, including eliminated map
+# --------------------------------------------------------------------
+class VSav:
+ SAVE_DATA = 'savedata'
+
+ def __init__(self,build,vmod):
+ '''Create a VASSAL save file programmatically
+
+ Parameters
+ ----------
+ build : xml.dom.Document
+ `buildFile.xml` as XML
+ vmod : VMod
+ Module file
+ '''
+ from time import time
+ self._vmod = vmod
+ self._game = build.getGame()
+ self._start = int(time()*1000)
+
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- game : xml.dom.minidom.Element
- The parent element
- categories : dict
- Catalogue of images
- sides : list of str
- List of sides in the game
- Name of the map
- '''
- if verbose:
- print('Adding maps and boards')
+ def createSaveData(self,description=None):
+ '''Create `savedgame`'''
+ desc = (self._game['description']
+ if description is None else description)
+ self._saveData = SaveData(root=None)
+ data = self._saveData.addData()
+ data.addVersion (version =self._game['version'])
+ data.addVASSALVersion(version =self._game['VassalVersion'])
+ data.addDescription (description=desc)
+ data.addDateSaved (milisecondsSinceEpoch=self._start)
+ return self._saveData
+
+ def createModuleData(self):
+ '''Create `moduleData`'''
+ self._moduleData = ModuleData()
+ data = self._moduleData.addData()
+ data.addVersion (version =self._game['version'])
+ data.addVASSALVersion(version =self._game['VassalVersion'])
+ data.addName (name =self._game['name'])
+ data.addDescription (description=self._game['description'])
+ data.addDateSaved (milisecondsSinceEpoch=self._start)
+ return self._moduleData
+
+ def addSaveFile(self):
+ '''Add a save file to the module
+
+ Returns
+ -------
+ vsav : SaveFile
+ Save file to add content to
+ '''
+ self._saveFile = SaveFile(game=self._game,firstid=self._start)
+ return self._saveFile
+
+ def run(self,savename='Save.vsav',description=None):
+ '''Run this to generate the save file
+
+ Parameters
+ ----------
+ savename : str
+ Name of save file to write
+ description : str
+ Short description of the save file
+ '''
+ from zipfile import ZipFile, ZIP_DEFLATED
+
+ self.createSaveData(description=description)
+ self.createModuleData()
+
+ with self._vmod.getInternalFile(savename,'w') as vsav:
+ with ZipFile(vsav,'w',ZIP_DEFLATED) as zvsav:
+ # The key is set to 0xAA (alternating ones and zeros)
+ SaveIO.writeInZip(zvsav,0xAA,self._saveFile.getLines())
+
+ zvsav.writestr(VMod.MODULE_DATA, self._moduleData.encode())
+ zvsav.writestr(VSav.SAVE_DATA, self._saveData.encode())
+
+#
+# EOF
+#
+# ====================================================================
+# From vmod.py
+# ====================================================================
+#
+# Wrapper around a module
+#
+class VMod:
+ BUILD_FILE = 'buildFile.xml'
+ MODULE_DATA = 'moduledata'
+
+ def __init__(self,filename,mode):
+ '''Interface to VASSAL Module (a Zip file)'''
+ self._mode = mode
+ self._vmod = self._open(filename,mode)
+
+ def __enter__(self):
+ '''Enter context'''
+ return self
+
+ def __exit__(self,*e):
+ '''Exit context'''
+ self._vmod.close()
+ return None
+
+ def _open(self,filename,mode):
+ '''Open a file in VMod'''
+ from zipfile import ZipFile, ZIP_DEFLATED
- # Loop over defined boards
- for bn, b in categories.get('board',{}).get('all',{}).items():
- gpid = add_map_board(root,game,bn,b,gpid,verbose,visible)
+ return ZipFile(filename,mode,compression=ZIP_DEFLATED)
- add_elim(root,game,sides,categories,verbose)
+ def removeFiles(self,*filenames):
+ '''Open a temporary zip file, and copy content from there to
+ that file, excluding filenames mentioned in the arguments.
+ Then close current file, rename the temporary file to this,
+ and reopen in 'append' mode. The deleted files are returned
+ as a dictionary.
+
+ Parameters
+ ----------
+ filenames : tuple
+ List of files to remove from the VMOD
+
+ Returns
+ -------
+ files : dict
+ Dictionary from filename to content of the removed files.
+
+ Note, the VMOD is re-opened in append mode after this
+ '''
+ from tempfile import mkdtemp
+ from zipfile import ZipFile
+ from shutil import move, rmtree
+ from os import path
+
+ tempdir = mkdtemp()
+ ret = {}
- return gpid
+ try:
+ tempname = path.join(tempdir, 'new.zip')
+ with self._open(tempname, 'w') as tmp:
-# --------------------------------------------------------------------
-def add_oob(root,widget,name,oob,gpid,hotkey='',verbose=False,visible=False):
- '''A add a single board to the module
- '''
- # Short hand
- cr = lambda parent,tag,**attr : create_elem(root,parent,vn(tag),**attr)
+ for item in self._vmod.infolist():
+ data = self._vmod.read(item.filename)
- if verbose:
- print(f' Adding oob {name}')
+ if item.filename not in filenames:
+ tmp.writestr(item, data)
+ else:
+ ret[item.filename] = data
- map = add_widgetmap(root,widget, name,markMoved='Never',hotkey='')
- bpicker = add_boardpicker(root,map)
+ name = self._vmod.filename
+ self._vmod.close()
+ move(tempname, name)
- add_counterviewer (root,map)
- add_basics_to_map (root,map)
-
+ self._mode = 'a'
+ self._vmod = self._open(name,'a')
+ finally:
+ rmtree(tempdir)
- # Get the image so we may make a rectangle
- if verbose:
- print(f' Adding OOB {oob["name"]} -> {oob["filename"]}')
+ # Return the removed files
+ return ret
+
+ def fileName(self):
+ '''Get name of VMod file'''
+ return self._vmod.filename
+
+ def addFiles(self,**files):
+ '''Add a set of files to this
+
+ Parameters
+ ----------
+ files : dict
+ Dictionary that maps file name to content.
+ '''
+ for filename,data in files.items():
+ self.addFile(filename,data)
+
+ def addFile(self,filename,content):
+ '''Add a file to this
+
+ Parameters
+ ----------
+ filename : str
+ File name in module
+ content : str
+ File content
+ Returns
+ -------
+ element : File
+ The added element
+ '''
+ self._vmod.writestr(filename,content)
+
+ def addExternalFile(self,filename,target=None):
+ '''Add an external file element to this
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : ExternalFile
+ The added element
+ '''
+ if target is None: target = filename
+ self._vmod.write(filename,target)
+
+ def getFileNames(self):
+ '''Get all filenames in module'''
+ return self._vmod.namelist()
+
+ def getFiles(self,*filenames):
+ '''Return named files as a dictionary.
+
+ Parameters
+ ----------
+ filenames : tuple
+ The files to get
+ Returns
+ -------
+ files : dict
+ Mapping of file name to file content
+ '''
+ fn = self.getFileNames()
+ ret = {}
+ for f in filenames:
+ if f not in fn:
+ continue
+
+ ret[f] = self._vmod.read(f)
+
+ return ret
+
+ def getDOM(self,filename):
+ '''Get content of a file decoded as XML DOM
+
+ Parameters
+ ----------
+ filename : str
+ Name of file in module
+ '''
+ from xml.dom.minidom import parseString
+
+ r = self.getFiles(filename)
+ if filename not in r:
+ raise RuntimeException(f'No {filename} found!')
+
+ return parseString(r[filename])
- ulx,uly,lrx,lry = get_bb(oob['img'])
- board = add_board(root,bpicker,name,image=oob['filename'])
- zoned = add_zoned(root,board)
- add_zonehighlighter(root,zoned)
+ def getBuildFile(self):
+ '''Get the buildFile.xml decoded as a DOM tree'''
+ return self.getDOM(VMod.BUILD_FILE)
- if not 'zones' in oob:
- zone = add_zone(root,zoned,
- name='full',
- useParentGrid=False,
- path=(f'{ulx},{uly};' +
- f'{lrx},{uly};' +
- f'{lrx},{lry};' +
- f'{ulx},{lry}'))
- # We do not have board info, so add a grid to the whole thing
- grid = add_squaregrid(root,zone,visible=visible)
- add_squarenumbering(root,grid,visible=visible)
- return
+ def getModuleData(self):
+ '''Get the moduledata decoded as a DOM tree'''
+ return self.getDOM(VMod.MODULE_DATA)
- # If we get here, we have board info!
- w = abs(ulx-lrx)
- h = abs(uly-lry)
- return add_zones(root,zoned,name,oob['zones'],w,h,gpid,
- verbose=verbose,visible=visible)
-
-# --------------------------------------------------------------------
-def add_oobs(root,game,categories,gpid,verbose=False,visible=False):
- '''Add all OObs to the module
+ def getInternalFile(self,filename,mode):
+ return self._vmod.open(filename,mode)
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- game : xml.dom.minidom.Element
- The parent element
- categories : dict
- Catalogue of images
- '''
- # Short hand
- oobc = categories.get('oob',{}).get('all',{}).items()
- if len(oobc) < 1:
- return gpid
-
- oobs = add_chartwindow(root,game, 'OOBs',
- hotkey = key('B',ALT),
- description = 'OOBs',
- text = '',
- icon = '/images/inventory.gif',
- tooltip = 'Show/hide OOBs')
- tabs = add_tabs(root,oobs,'OOBs')
-
- if verbose:
- print('Adding OOBs')
-
- # Loop over defined boards
- for on, o in oobc:
- widget = add_mapwidget(root,tabs, entryName=on)
- gpid = add_oob(root,widget,on,o,gpid,
- verbose = verbose,
- hotkey = key('B',ALT),
- visible = visible)
-
- return gpid
-
-# --------------------------------------------------------------------
-def add_markproto(root,protos,key,value):
- decs = [ mark_trait(key,value.capitalize()),
- basic_trait('','','') ]
- typs = [d[0] for d in decs]
- stts = [d[1] for d in decs]
- typ = enc_parts(*typs)
- stt = enc_parts(*stts)
- body = add_proto(typ,stt)
- add_prototype(root,protos,value+' prototype',body)
-
-# --------------------------------------------------------------------
-def add_counters(root,game,categories,
- unittypes,echelons,commands,verbose=False):
- '''Add all counters to the module.
+ def addVSav(self,build):
+ '''Add a `VSav` element to this
- This will add all counters to the module, as well as prototypes
- for each sub-category.
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : VSav
+ The added element
+ '''
+ return VSav(build=build,vmod=self)
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- game : xml.dom.minidom.Element
- The game element
- categories : dict
- Catalogue of images
- '''
- # Short hand
- # Create prototypes container before adding pieces
- protos = add_prototypes(root,game)
- for utype in unittypes: add_markproto(root,protos,'Type',utype)
- for ech in echelons: add_markproto(root,protos,'Echelon',ech)
- for cmd in commands: add_markproto(root,protos,'Command',cmd)
-
- # Stating global piece ID
- gpid = 20
-
- # A window to hold the pieces
- piecew = add_piecewindow(root,game,'Counters',
- hotkey = key('C',ALT))
- # Tab container for each sub-category
- piecet = add_tabs(root,piecew,entryName='Counters')
-
- if verbose:
- print('Adding counters and prototypes')
-
- # Loop over sub-categories
- for subn, subc in categories.get('counter',{}).items():
- # Friendly message
- if verbose:
- print(f' Adding {subn} counters and prototype')
- # Create a panel for this sub-category
- piecep = add_panel(root,piecet,
- entryName = subn,
- fixed = False)
- # Add a list to the panel
- piecel = add_list(root,piecep,
- entryName=f'{subn} counters')
+#
+# EOF
+#
+# ====================================================================
+# From exporter.py
+
+class Exporter:
+ def __init__(self):
+ '''Base class for exporters'''
+ pass
+
+
+ def setup(self):
+ '''Should be defined to set-up for processing, for example
+ generating images and such. This is executed in a context
+ where the VMod file has been opened for writing via
+ `self._vmod`. Thus, files can be added to the module at this
+ stage.
+ '''
+ pass
+
+ def createBuildFile(self,ignores='(.*markers?|all|commons|[ ]+)'):
+ '''Should be defined to make the `buildFile.xml` document
+
+ Parameters
+ ----------
+ ignores : str
+ Regular expression to match ignored categories for factions
+ determination. Python's re.fullmatch is applied to this
+ regular exression against chit categories. If the pattern
+ is matched, then the chit is not considered to belong to a
+ faction.
+
+ '''
+ pass
+
+ def createModuleData(self):
+ '''Should be defined to make the `moduledata` document'''
+ pass
+
+ def run(self,vmodname,patch=None):
+ '''Run the exporter to generate the module
+ '''
+ with VMod(vmodname,'w') as vmod:
+ self._vmod = vmod
+ self.setup()
+ self.createBuildFile()
+ self.createModuleData()
+ self.runPatch(patch)
+ self._vmod.addFiles(**{VMod.BUILD_FILE :
+ self._build.encode(),
+ VMod.MODULE_DATA :
+ self._moduleData.encode()})
+ Verbose().message('Created VMOD')
+
- if verbose:
- print(f' Prototype: {subn} prototype')
- # Create prototype for this sub-category
- proto = add_prototype(root,protos,
- name = f'{subn} prototype',
- code = proto_body(subn),
- description = f'Prototype for {subn} counters')
-
- # Loop over counters in this sub-category
- for cn, c in subc.items():
- # Flipped counters are not added directly
- if cn.endswith('flipped'): continue
+ def runPatch(self,patch):
+ '''Run user specified patch script. The script should define
- if verbose:
- print(f' counter: {cn}')
-
- # Get image bounding box
- bb = get_bb(c['img'])
+ ```
+ def patch(buildFile,moduleData,vmod,verbose):
+ ```
+
+ where `buildFile` is the `buildFile.xml` and `moduleData` are
+ the XML documents as `xml.dom.Document` objects, `vmod` is a
+ `VMod` instance, and `verbose` is a `bool` selecting verbose
+ mode or not.
+ '''
+ if patch is None or patch == '':
+ return
+
+ from importlib.util import spec_from_file_location, module_from_spec
+ from pathlib import Path
+ from sys import modules
+
+ p = Path(patch)
+ with VerboseGuard(f'Will patch module with {p.stem}.patch function') \
+ as v:
+
+ spec = spec_from_file_location(p.stem, p.absolute())
+ module = module_from_spec(spec)
+ spec.loader.exec_module(module)
+ modules[p.stem] = module
+
+ # Patch must accept xml.dom.document,xml.dom.document,ZipFile
+ module.patch(self._build,
+ self._moduleData,
+ self._vmod,
+ Verbose().verbose)
+
+# ====================================================================
+# From latexexporter.py
- # Get flipped image, if any
- cf = subc.get(cn + ' flipped', None)
+# ====================================================================
+#
+# Exporter class
+#
+class LaTeXExporter(Exporter):
+ def __init__(self,
+ vmodname = 'Draft.vmod',
+ pdfname = 'export.pdf',
+ infoname = 'export.json',
+ title = 'Draft',
+ version = 'draft',
+ description = '',
+ rules = None,
+ tutorial = None,
+ patch = None,
+ visible = True,
+ vassalVersion = '3.6.7',
+ nonato = False,
+ nochit = False,
+ counterScale = 1):
+ '''Exports a PDF and associated JSON files to a VASSAL module.
+
+ Parameters
+ ----------
+ vmodname : str
+ Name of module file to write
+ pdfname : str
+ Name of PDF file to read images from
+ infoname : str
+ Name of JSON file to read meta data from
+ title : str
+ Name of module
+ version : str
+ Version of midule
+ description : str
+ Short description of the module
+ rules : str
+ Optional name PDF file to attach as rules
+ tutorial : str
+ Optional name of a VASSAL log file to use as tutorial
+ patch : str
+ Optional name of Python script to post process the module
+ visible : bool
+ Make grids visible
+ vassalVersion : str
+ VASSAL version to encode this module for
+ '''
+ self._vmodname = vmodname
+ self._pdfname = pdfname
+ self._infoname = infoname
+ self._title = title
+ self._version = version
+ self._description = description
+ self._rules = rules
+ self._tutorial = tutorial
+ self._patch = patch
+ self._visible = visible or version.lower() == 'draft'
+ self._vassalVersion = vassalVersion
+ self._nonato = nonato
+ self._nochit = nochit
+ self._counterScale = counterScale
+ self._battleMark = 'wgBattleMarker'
+ self._battleMarks = []
+ self._oddsMarks = []
+ self._resultMarks = []
+ self._markBattle = key(NONE,0)+',wgMarkBattle'
+ self._clearBattle = key(NONE,0)+',wgClearBattle'
+ self._clearAllBattle = key(NONE,0)+',wgClearAllBattle'
+ self._zeroBattle = key(NONE,0)+',wgZeroBattle'
+ self._incrBattle = key(NONE,0)+',wgIncrBattle'
+ self._setBattle = key(NONE,0)+',wgSetBattle'
+ self._getBattle = key(NONE,0)+',wgGetBattle'
+ self._markOdds = key(NONE,0)+',wgMarkOdds'
+ self._markResult = key(NONE,0)+',wgMarkResult'
+ self._clearMoved = key(NONE,0)+',wgClearMoved'
+ self._zeroBattleAF = key(NONE,0)+',wgZeroBattleAF'
+ self._zeroBattleDF = key(NONE,0)+',wgZeroBattleDF'
+ self._zeroBattleFrac = key(NONE,0)+',wgZeroBattleFrac'
+ self._zeroBattleOdds = key(NONE,0)+',wgZeroBattleOdds'
+ self._zeroBattleShft = key(NONE,0)+',wgZeroBattleShift'
+ self._zeroBattleIdx = key(NONE,0)+',wgZeroBattleIdx'
+ self._calcBattleAF = key(NONE,0)+',wgCalcBattleAF'
+ self._calcBattleDF = key(NONE,0)+',wgCalcBattleDF'
+ self._calcBattleFrac = key(NONE,0)+',wgCalcBattleFrac'
+ self._calcBattleOdds = key(NONE,0)+',wgCalcBattleOdds'
+ self._calcBattleShft = key(NONE,0)+',wgCalcBattleShift'
+ self._calcBattleIdx = key(NONE,0)+',wgCalcBattleIdx'
+ self._calcBattleRes = key(NONE,0)+',wgCalcBattleResult'
+ self._clearBattlePhs = key(NONE,0)+',wgClearBattlePhs'
+ self._resolveBattle = key(NONE,0)+',wgResolveBattle'
+ self._rollDice = key(NONE,0)+',wgRollDice'
+ self._diceInitKey = key(NONE,0)+',wgInitDice'
+ self._clearKey = key('C')
+ self._clearAllKey = key('C',CTRL_SHIFT)
+ self._deleteKey = key('D')
+ self._eliminateKey = key('E')
+ self._flipKey = key('F')
+ self._trailKey = key('M')
+ self._restoreKey = key('R')
+ self._markKey = key('X')
+ self._resolveKey = key('Y')
+ self._rotateCCWKey = key('[')
+ self._rotateCWKey = key(']')
+ self._chartsKey = key('A',ALT)
+ self._oobKey = key('B',ALT)
+ self._countersKey = key('C',ALT)
+ self._deadKey = key('E',ALT)
+ self._diceKey = key('6',ALT)
+ self._battleCounter = 'wgBattleCounter'
+ self._currentBattle = 'wgCurrentBattle'
+ self._currentAttacker = 'wgCurrentAttacker'
+ self._battleNo = 'wgBattleNo'
+ self._battleAF = 'wgBattleAF'
+ self._battleDF = 'wgBattleDF'
+ self._battleFrac = 'wgBattleFrac'
+ self._battleIdx = 'wgBattleIdx'
+ self._battleOdds = 'wgBattleOdds'
+ self._battleOddsM = 'wgBattleOddsMarker'
+ self._battleShift = 'wgBattleShift'
+ self._battleCtrl = 'wgBattleCtrl'
+ self._battleCalc = 'wgBattleCalc'
+ self._battleUnit = 'wgBattleUnit'
+ self._battleResult = 'wgBattleResult'
+ self._autoOdds = 'wgAutoOdds'
+ self._autoResults = 'wgAutoResults'
+ self._noClearMoves = 'wgNoClearMoves'
+ self._noClearBattles = 'wgNoClearBattles'
+ self._debug = 'wgDebug'
+ self._verbose = 'wgVerbose'
+ self._hidden = None
+ self._hiddenName = 'wg hidden unit'
+ self._dice = {}
+ self._diceInit = None
+
+ with VerboseGuard('Overall settings') as v:
+ v(f'Module file name: {self._vmodname}')
+ v(f'PDF file name: {self._pdfname}')
+ v(f'JSON file name: {self._infoname}')
+ v(f'Game title: {self._title}')
+ v(f'Game version: {self._version}')
+ v(f'Description: {self._description}')
+ v(f'Rules PDF file: {self._rules}')
+ v(f'Tutorial log: {self._tutorial}')
+ v(f'Patch scripts: {self._patch}')
+ v(f'Visible grids: {self._visible}')
+ v(f'Scale of counters: {self._counterScale}')
+
+ def setup(self):
+ # Start the processing
+ self._info = self.convertPages()
+ self._categories, \
+ self._mains, \
+ self._echelons, \
+ self._commands = self.writeImages(self._counterScale)
- # Create a slot for this piece
- sl = add_pieceslot(root,piecel,
- entryName = cn,
- gpid = gpid,
- code = piece_body(subn,c,cf,gpid),
- height = bb[3]-bb[1],
- width = bb[2]-bb[0])
- # Store the global piece identifier - do we need this?
- c['gpid'] = gpid
+ def run(self):
+ super(LaTeXExporter,self).run(self._vmodname,self._patch)
+
+
- # Increment global piece identifier
- gpid += 1
+ # ================================================================
+ def createProcess(self,args):
+ '''Spawn a process and pipe output here
+
+ Parameters
+ ----------
+ args : list
+ List of process command line elements
+ Returns
+ -------
+ pipe : subprocess.Pipe
+ Pipe to read from
+ '''
+ from os import environ
+ from subprocess import Popen, PIPE
+
+ return Popen(args,env=environ.copy(),stdout=PIPE,stderr=PIPE)
+
+ # ----------------------------------------------------------------
+ def addPws(self,opw=None,upw=None):
+ '''Add a `Pws` element to arguments
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ Returns
+ -------
+ element : Pws
+ The added element
+ '''
+ '''Add password options'''
+ args = []
+ if upw is not None: args.extend(['-upw',upw])
+ if opw is not None: args.extend(['-opw',opw])
+ return args
+
+ # ----------------------------------------------------------------
+ def getPdfInfo(self,upw=None,opw=None,timeout=None):
+ '''Get information about the PDF
+
+ Parameters
+ ----------
+ opw : str
+ Owner password (optional)
+ upw : str
+ User password (optional)
+ timeout : int
+ Time out in miliseconds for subprocesses
+
+ Returns
+ -------
+ info : dict
+ Image information
+ '''
+ args = ['pdfinfo', self._pdfname ]
+ args.extend(self.addPws(opw=opw,upw=upw))
+
+ with VerboseGuard(f'Getting information from PDF {self._pdfname}'):
+ proc = self.createProcess(args)
+ try:
+ out, err = proc.communicate(timeout=timeout)
+ except:
+ proc.kill()
+ proc.communicate()
+ raise RuntimeError(f'Failed to get PDF info: {e}')
+
+ d = {}
+ for field in out.decode('utf8','ignore').split('\n'):
+ if field == '':
+ continue
+ subfields = field.split(':')
+ key, value = subfields[0], ':'.join(subfields[1:])
+ if key != '':
+ d[key] = (int(value.strip()) if key == 'Pages'
+ else value.strip())
+
+ if 'Pages' not in d:
+ raise ValueError(f'Page count not found from {self._pdfname}')
+
+ return d
+
+ # ----------------------------------------------------------------
+ def getImagesInfo(self):
+ '''Read in JSON information, and return as dictionary'''
+ from json import load
+
+ with VerboseGuard(f'Getting information from JSON {self._infoname}'):
+ with open(self._infoname) as file:
+ info = load(file)
+
+ return info
+
+ # ================================================================
+ def convertPage(self,page,opw=None,upw=None,timeout=None):
+ '''Convert a page from PDF into an image (bytes)
+
+ Parameters
+ ----------
+ page : int
+ Page number in the PDF to convert
+ opw : str
+ Owner password (optional)
+ upw : str
+ User password (optional)
+ timeout : int
+ Time out in miliseconds for subprocesses
+
+ Returns
+ -------
+ info : dict
+ Image information
+ '''
+ args = ['pdftocairo',
+ '-transp',
+ '-singlefile',
+ '-f', str(page),
+ '-l', str(page),
+ '-png' ]
+ args.extend(self.addPws(opw=opw,upw=upw))
+ args.append(self._pdfname)
+ args.append('-')
+
+ proc = self.createProcess(args)
- # Return next free piece identifier
- return gpid
+ try:
+ out, err = proc.communicate(timeout=timeout)
+ except Exception as e:
+ proc.kill()
+ proc.communicate()
+ raise RuntimeError(f'Failed to convert page {page} of '
+ f'{self._pdfname}: {e}')
+
+ # Just return the bytes
+ return out
+
+
+ # ----------------------------------------------------------------
+ def ignoreEntry(self,info,ignores=['<<dummy>>','<<eol>>']):
+ '''Check if we should ignore an entry in the JSON file'''
+ return info['category'] in ignores
-# --------------------------------------------------------------------
-def add_charts(root,game,categories,verbose=False):
- '''Add all boards to the module
+ # ----------------------------------------------------------------
+ def scaleImage(self,buffer,factor):
+ from PIL import Image
+ from io import BytesIO
+ from math import isclose
- This will select all 'chart' elements from the catalogue and add
- them as individual (popup) panels to the module.
-
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- game : xml.dom.minidom.Element
- The game element
- categories : dict
- Catalogue of images
+ if isclose(factor,1): return buffer
- '''
- chartc = categories.get('chart',{}).get('all',{}).items()
- if len(chartc) < 1:
- return
-
- # Short hand
- cr = lambda parent,tag,**attr : create_elem(root,parent,vn(tag),**attr)
- cw = lambda parent,tag,**attr : create_elem(root,parent,vw(tag),**attr)
+ # print(f'Scaling image by factor {factor}')
+ with Image.open(BytesIO(buffer)) as img:
+ w, h = img.width, img.height
+ cpy = img.resize((int(factor*w),int(factor*h)))
- if verbose:
- print('Adding charts')
+ with BytesIO() as out:
+ cpy.save(out,format='PNG')
+ return out.getvalue()
- charts = add_chartwindow(root,game, 'Charts',
- hotkey = key('A',ALT),
- description = 'Charts',
- tooltip = 'Show/hide Charts')
- tabs = add_tabs(root,charts,'Charts')
+
+ # ----------------------------------------------------------------
+ def convertPages(self,opw=None,upw=None,timeout=None):
+ '''Reads in JSON and pages from PDF and stores information
+ dictionary, which is returned
+
+ Parameters
+ ----------
+ opw : str
+ Owner password (optional)
+ upw : str
+ User password (optional)
+ timeout : int
+ Time out in miliseconds for subprocesses
+
+ Returns
+ -------
+ info : dict
+ Image information
+ '''
+ oargs = {'opw':opw,'upw':upw }
+ docinfo = self.getPdfInfo()
+ imgsinfo = self.getImagesInfo()
+
+ if len(imgsinfo) - 1 != docinfo['Pages']:
+ raise RuntimeError(f'Number of pages in {pdfname} '
+ f'(doc["Pages"]) not matched in JSON '
+ f'{self._infoname} -> {len(imagesinfo)}')
+
+ with VerboseGuard(f'Converting {docinfo["Pages"]} '
+ f'pages in {self._pdfname}') as v:
+ for i,info in enumerate(imgsinfo):
+ if self.ignoreEntry(info): continue
+
+ if i == 0: v(end='')
+ v(f'[{info["number"]}]',end=' ',flush=True)
+ info['img'] = self.convertPage(info['number'],**oargs)
+
+ v('done')
+
+ return imgsinfo
+
+ # ----------------------------------------------------------------
+ def getBB(self,buffer):
+ '''Get bounding box of image
+ Parameters
+ ----------
+ buffer : bytes
+ The image bytes
- # Loop over defined charts
- for cn, c in chartc:
- if verbose:
- print(f' Chart {cn} ({c["filename"]})')
- add_chart(root,tabs,
- chartName = cn,
- description = cn,
- fileName = c['filename'])
-
-# --------------------------------------------------------------------
-def add_diceroll(root,game,categories,verbose=False):
- '''Add a dice button (1d6)
+ Returns
+ -------
+ ulx, uly, lrx, lry : tuple
+ The coordinates of the bounding box
+ '''
+ from PIL import Image
+ from io import BytesIO
- Parameters
- ----------
- root : xml.dom.minidom.Document
- Root of the document
- game : xml.dom.minidom.Element
- The game element
- categories : dict
- Catalogue of images
- '''
- if verbose:
- print('Adding dice')
-
- add_dice(root,game,
- hotkey = key('6',ALT),
- nDice = 1,
- nSides = 6,
- text = '1d6',
- tooltip = 'Roll a 1d6',
- name = '1d6')
-
-
-# ====================================================================
-def create_build(info,
- categories,
- unittypes,
- echelons,
- commands,
- zipfile,
- title,
- version,
- desc = '',
- rules = None,
- tutorial = None,
- pdffile = '',
- infofile = '',
- verbose = False,
- visible = False):
- '''Create the buildFile.xml document
+ with Image.open(BytesIO(buffer)) as img:
+ bb = img.getbbox()
+
+ return bb
- Parameters
- ----------
- info : dict
- Information dicationary
- categories : dict
- Catalogue of images
- unittypes : set
- Set of used unit types
- zipfile : zipfile.ZipFile
- Module archive
- title : str
- Title of module
- version : str
- Version number of module
- desc : str
- Short description of the game
- rules : str
- Filename of PDF rules document (if any)
+ # ----------------------------------------------------------------
+ def getWH(self,buffer):
+ '''Get bounding box of image
+
+ Parameters
+ ----------
+ buffer : bytes
+ The image bytes
+
+ Returns
+ -------
+ ulx, uly, lrx, lry : tuple
+ The coordinates of the bounding box
+ '''
+ from PIL import Image
+ from io import BytesIO
+
+ with Image.open(BytesIO(buffer)) as img:
+ w, h = img.width, img.height
+
+ return w,h
+
+ # ----------------------------------------------------------------
+ def getOutline(self,buffer):
+ '''Get bounding box of image
+
+ Parameters
+ ----------
+ buffer : bytes
+ The image bytes
+
+ Returns
+ -------
+ ulx, uly, lrx, lry : tuple
+ The coordinates of the bounding box
+ '''
+ from PIL import Image
+ from io import BytesIO
+
+ # print(buffer)
+ with Image.open(BytesIO(buffer)) as img:
+ bb = img.getbbox()
+
+ for r in range(bb[0],bb[2]):
+ for c in range(bb[1],bb[3]):
+ pass #print(img.getpixel((c,r)))
+
+ return None
+
+
+ # ================================================================
+ def writeImages(self,counterScale=1):
+ '''From the information gathered about the images (including
+ their bitmap representation, generate image files in the
+ module
+
+ '''
+ categories = {}
+ unittypes = []
+ echelons = []
+ commands = []
+
+ with VerboseGuard(f'Writing images in VMod '
+ f'{self._vmod.fileName()}',end=' ') as v:
+ for info in self._info:
+ if self.ignoreEntry(info): continue
+
+ typ = info.get('category','counter')
+ sub = info.get('subcategory','all')
+
+ info['filename'] = info['name'].replace(' ','_') + '.png'
+ imgfn = 'images/'+info['filename']
+ if imgfn not in self._vmod.getFileNames():
+ if typ == 'counter':
+ # print(f'Possibly scale file {imgfn}')
+ info['img'] = self.scaleImage(info['img'],
+ counterScale)
+ # self.message(f'Writing image {imgfn}')
+ self._vmod.addFile(imgfn,info['img'])
+
+ if sub == '':
+ info['subcategory'] = 'all'
+ sub = 'all'
+
+ # Add into catalogue
+ if typ not in categories:
+ v('')
+ v(f'Adding category "{typ}"')
+ v('',end=' ')
+ categories[typ] = {}
+ cat = categories[typ]
+
+ if sub not in cat:
+ v('')
+ v(f'Adding sub-category "{sub}"')
+ v('',end=' ')
+ cat[sub] = {}
+ tgt = cat[sub]
+
+ v(f'[{info["name"]}]',end=' ',flush=True,noindent=True)
+ #self.message(f'Adding "{info["name"]}" to catalogue')
+ tgt[info['name']] = info
+
+ if self._nonato: continue
+
+ # Get NATO App6c information, if any
+ natoapp6c = info.get('natoapp6c',None)
+ if natoapp6c is not None:
+ from re import sub
+ def clean(s):
+ return sub('.*=','',
+ (sub(r'\[[^]]+\]','',s.strip())
+ .replace('{','')
+ .replace('}','')
+ .replace('/',' '))).strip()
+ mains = clean(natoapp6c.get('main', ''))
+ lower = clean(natoapp6c.get('lower', ''))
+ upper = clean(natoapp6c.get('upper', ''))
+ echelon = clean(natoapp6c.get('echelon',''))
+ command = clean(natoapp6c.get('command',''))
- Returns
- -------
- xml : str
- The encoded document
- '''
- from xml.dom.minidom import Document
-
- if verbose:
- print(f'Creating buildFile.xml: {title},{version}')
-
- # Create document
- root = Document()
-
- # Add game element
- game = add_game(root,root,
- name = title,
- version = version,
- description = desc)
-
- # Extract the sides of the game from the counter sub-categories
- # Should be a little more clever about the case here
- dsides = {k.lower() : k for k in categories.get('counter',{}).keys()}
- sides = None
- for skip in ['all','common', 'marker', 'markers']:
- if skip in dsides: del dsides[skip]
- sides = list(dsides.values())
- if verbose:
- print('Identified factions: ',sides)
-
- # Use the standard command encoder
- add_basiccommandencoder(root,game)
-
- # Add document parts
- doc = add_documentation(root,game)
- add_splash(root, doc, categories, title,verbose)
- add_rules(root, doc, zipfile, rules, verbose)
- add_tut(root, doc, zipfile, tutorial, verbose)
- notes = add_notes(root,doc,zipfile,title,version,
- sides,pdffile,infofile,rules,verbose)
-
-
- # Create roster or player sides
- roster = add_roster(root,game)
- for s in sides:
- add_entry(root,roster,s)
-
- # Add global options - mainly defer to user settings
- add_globaloptions(root,game,
- autoReport = 'Use Preferences Setting',
- centerOnMove = 'Use Preferences Setting',
- nonOwnerUnmaskable = 'Use Preferences Setting',
- playerIdFormat = '$playerName$')
- # Add global properties
- gp = add_globalproperties(root,game)
- # Add a turn tracker
- tt = add_turntrack(root,game,'Turn',counter={
- 'property': 'Turn',
- 'phases': {
- 'property': 'Phase',
- 'names': sides }})
- add_globalproperty(root,gp,'TurnTracker.defaultDocked',True)
-
- # Add all pieces to the module (including prototypes)
- gpid = add_counters(root,game,categories,
- unittypes,echelons,commands,verbose)
- # Add an inventory
- add_inv(root,game,sides)
- # Add all boards to the module (including eliminated map)
- gpid = add_boards(root,game,categories,sides,gpid,
- verbose=verbose,visible=visible)
- # Add all OOBs to the module
- gpid = add_oobs(root,game,categories,gpid,
- verbose=verbose,visible=visible)
- # Add charts to the module
- add_charts(root,game,categories,verbose=verbose)
- # Add a dice rool
- add_diceroll(root,game,categories,verbose=verbose)
-
- # Set next available piece identifier on the game
- game.setAttribute('nextPieceSlotId',str(gpid+1))
-
- # Return the document
- return root, notes
-
-# --------------------------------------------------------------------
-def create_data(title,version,desc='',verbose=False):
- '''Create the module data XML
+
+ if mains is not None:
+ if len(lower) > 0: mains += ' '+lower
+ if len(upper) > 0: mains += ' '+upper
+ mains = sub(r'\[[^]]+\]','',mains)\
+ .replace('{','').replace('}','')#.split(',')
+ unittypes.append(mains.replace(',',' '))
+ unittypes.extend([s.strip().replace(',',' ')
+ for s in mains.split(',')])
+ #if len(mains) > 1:
+ # unittypes.append('+'.join(mains))
+ info['mains'] = mains
+
+ if len(echelon) > 0:
+ echelons.append(echelon)
+ info['echelon'] = echelon
+
+ if len(command) > 0:
+ commands.append(command)
+ info['command'] = command
+
+
+ # Finished loop over infos. Make unit types, echelons,
+ # commands unique
+ v('done')
+
+ return categories, set(unittypes), set(echelons), set(commands)
+
+ # ================================================================
+ def createModuleData(self):
+ '''Create the `moduleData` file in the module
+ '''
+ with VerboseGuard(f'Creating module data'):
+ self._moduleData = ModuleData()
+ data = self._moduleData.addData()
+ data.addVersion (version=self._version)
+ data.addVASSALVersion(version=self._vassalVersion)
+ data.addName (name=self._title)
+ data.addDescription (description=self._description)
+ data.addDateSaved ()
+
+ # ================================================================
+ def createBuildFile(self,
+ ignores = '(.*markers?|all|commons|.*hidden|[ ]+)'):
+ '''Create the `buildFile.xml` file in the module.
+
+ Parameters
+ ----------
+ ignores : str
+ Regular expression to match ignored categories for factions
+ determination. Python's re.fullmatch is applied to this
+ regular exression against chit categories. If the pattern
+ is matched, then the chit is not considered to belong to a
+ faction.
+
+ '''
+ from re import fullmatch, IGNORECASE
+ with VerboseGuard(f'Creating build file') as v:
+ self._build = BuildFile() # 'buildFile.xml')
+ self._game = self._build.addGame(name = self._title,
+ version = self._version,
+ description = self._description)
+ doc = self.addDocumentation()
+ self._game.addBasicCommandEncoder()
+
+ # Extract the sides
+ self._sides = [ k
+ for k in self._categories.get('counter',{}).keys()
+ if fullmatch(ignores, k, IGNORECASE) is None]
+ v(f'Got sides: {", ".join(self._sides)}')
+
+ v(f'Adding Global options')
+ go = self._game.addGlobalOptions(
+ autoReport = GlobalOptions.PROMPT,
+ centerOnMove = GlobalOptions.PROMPT,
+ nonOwnerUnmaskable = GlobalOptions.PROMPT,
+ playerIdFormat = '$playerName$')
+ go.addOption(name='undoHotKey',value=key('Z'))
+ go.addOption(name='undoIcon', value='/images/Undo16.gif')
+ # go.addOptoin(name='stepHotKey',value='')
+ go.addBoolPreference(name = self._verbose,
+ default = True,
+ desc = 'Be verbose',
+ tab = self._title)
+ go.addBoolPreference(name = self._debug,
+ default = False,
+ desc = 'Show debug chat messages',
+ tab = self._title)
+ go.addBoolPreference(name = self._autoOdds,
+ default = False,
+ desc = 'Calculate Odds on battle declaration',
+ tab = self._title)
+ go.addBoolPreference(name = self._autoResults,
+ default = False,
+ desc = 'Resolve battle results automatically',
+ tab = self._title)
+ go.addBoolPreference(name = self._noClearMoves,
+ default = False,
+ desc = ('Do not remove moved markers '
+ 'on phase change'),
+ tab = self._title)
+ go.addBoolPreference(name = self._noClearBattles,
+ default = False,
+ desc = ('Do not remove battle markers '
+ 'on phase change'),
+ tab = self._title)
+
+ v(f'Adding player roster')
+ roster = self._game.addPlayerRoster()
+ for side in self._sides:
+ roster.addSide(side)
+
+ v(f'Adding global properties')
+ glob = self._game.addGlobalProperties()
+ glob.addProperty(name='TurnTracker.defaultDocked',
+ initialValue=True)
+
+ self._battleMarks = self._categories\
+ .get('counter',{})\
+ .get('BattleMarkers',[])
+ if len(self._battleMarks) > 0:
+ v(f'We have battle markers')
+
+ glob.addProperty(name = self._battleCounter,
+ initialValue = 0,
+ isNumeric = True,
+ min = 0,
+ max = len(self._battleMarks),
+ wrap = True,
+ description = 'Counter of battles')
+ glob.addProperty(name = self._currentBattle,
+ initialValue = 0,
+ isNumeric = True,
+ min = 0,
+ max = len(self._battleMarks),
+ wrap = True,
+ description = 'Current battle number')
+ glob.addProperty(name = self._currentAttacker,
+ initialValue = 0,
+ isNumeric = True,
+ min = 0,
+ max = 1,
+ wrap = True,
+ description = 'Current unit is attacker')
+ glob.addProperty(name = self._battleAF,
+ initialValue = 0,
+ isNumeric = True,
+ description = 'Current battle AF')
+ glob.addProperty(name = self._battleDF,
+ initialValue = 0,
+ isNumeric = True,
+ description = 'Current battle DF')
+ glob.addProperty(name = self._battleFrac,
+ initialValue = 0,
+ isNumeric = True,
+ description = 'Current battle fraction')
+ glob.addProperty(name = self._battleShift,
+ initialValue = 0,
+ isNumeric = True,
+ description = 'Current battle odds shift')
+ glob.addProperty(name = self._battleOdds,
+ initialValue = '',
+ isNumeric = False,
+ description = 'Current battle odds')
+ glob.addProperty(name = self._battleResult,
+ initialValue = '',
+ isNumeric = False,
+ description = 'Current battle results')
+ glob.addProperty(name = self._battleIdx,
+ initialValue = 0,
+ isNumeric = True,
+ description = 'Current battle odds index')
+
+ self._oddsMarks = self._categories\
+ .get('counter',{})\
+ .get('OddsMarkers',[])
+ if len(self._oddsMarks) > 0:
+ v(f'We have odds markers')
+
+ self._resultMarks = self._categories\
+ .get('counter',{})\
+ .get('ResultMarkers',[])
+ if len(self._resultMarks) > 0:
+ v(f'We have result markers')
+
+ self.addNotes()
+ v(f'Adding turn track')
+ turns = self._game.addTurnTrack(name='Turn',
+ counter={
+ 'property': 'Turn',
+ 'phases': {
+ 'property': 'Phase',
+ 'names': self._sides } })
+ turns.addHotkey(hotkey = self._clearMoved+'Phase',
+ name = 'Clear moved markers')
+ if len(self._battleMarks) > 0:
+ turns.addHotkey(hotkey = self._clearBattlePhs,
+ name = 'Clear battle markers')
+
+ self._dice = self._categories\
+ .get('die-roll',{})
+ if len(self._dice) > 0:
+ v(f'We have symbolic dice')
+ self._diceInit = []
+ # from pprint import pprint
+ # pprint(self._dice,depth=3)
+ for die, faces in self._dice.items():
+ ico = self.getIcon(die+'-die-icon','')
+ # print(f'Die {die} icon="{ico}"')
+
+ dmin = +100000
+ dmax = -100000
+ symb = self._game.addSymbolicDice(
+ name = die+'Dice',
+ text = die if ico == '' else '',
+ icon = ico,
+ tooltip = f'{die} die roll',
+ format = (f'{{"{die} die roll: "+result1'
+ # f'+" <img src=\'{die}-"+result1'
+ # f'+".png\' width=24 height=24>"'
+ f'}}'),
+ resultWindow = True);
+ sdie = symb.addDie(name = die);
+ for face, fdata in faces.items():
+ fn = fdata['filename']
+ val = int(fn.replace('.png','').replace(die+'-',''))
+ dmin = min(dmin,val)
+ dmax = min(dmax,val)
+ sdie.addFace(icon = fn,
+ text = str(val),
+ value = val);
+
+ self._diceInit.extend([
+ GlobalPropertyTrait(
+ ['',self._diceInitKey,
+ GlobalPropertyTrait.DIRECT,
+ f'{{{dmin}}}'],
+ name = die+'Dice_result',
+ numeric = True,
+ min = dmin,
+ max = dmax,
+ description = f'Initialize {die}Dice'),
+ ReportTrait(
+ self._diceInitKey,
+ report=(f'{{{self._debug}?("Initialize '
+ f'{die}Dice_result to {dmin}"):""}}'))
+ ])
+
- Parameters
- ----------
- title : str
- Title of the game
- version : str
- Version number of the module
- desc : str
- Short description
-
- Returns
- -------
- xml : str
- The encoded document
- '''
- from xml.dom.minidom import Document
- from time import time
-
- if verbose:
- print('Create module data')
-
- # The document
- root = Document()
-
- # Top of the document
- data = root.createElement('data')
- data.setAttribute("version","1")
- root.appendChild(data)
-
- # Version number of module
- vers = root.createElement('version')
- vers.appendChild(root.createTextNode(str(version)))
- data.appendChild(vers)
-
- # Name of the game
- name = root.createElement('name')
- name.appendChild(root.createTextNode(title))
- data.appendChild(name)
-
- # VASSAL version (should get this in some other way)
- vvers = root.createElement('VassalVersion')
- vvers.appendChild(root.createTextNode("3.6.7"))
- data.appendChild(vvers)
-
- # Description, if any
- desc = root.createElement('description')
- data.appendChild(desc)
-
- # Automatically set the save data
- save = root.createElement('dateSaved')
- save.appendChild(root.createTextNode(f'{int(time())}'))
- data.appendChild(save)
-
- return root
-
-
-# ====================================================================
-def create_vmod(vmodname,
- info,
- title,
- version,
- desc = '',
- rules = None,
- tutorial = None,
- pdfname = '',
- infoname = '',
- patch = None,
- verbose = False,
- visible = False):
- '''Create a VASSAL module from the information passed
+ # Add start-up key
+ self._game.addStartupMassKey(
+ name = 'Initialise dice results',
+ hotkey = self._diceInitKey,
+ target = '',
+ filter = f'{{BasicName=="{self._hiddenName}"}}',
+ whenToApply = StartupMassKey.EVERY_LAUNCH,
+ reportFormat=f'{{{self._debug}?("Init Dice results"):""}}')
+
+
+
- Parameters
- ----------
- vmodname : str
- Name of the module
- info : list
- List of images and image data
- title : str
- Name of the game
- version : str
- Version of the module
- desc : str
- Short description of the game
- rules : str
- Rules PDF (optional)
+
+
+ self.addKeybindings(doc)
+ self.addCounters()
+ self.addInventory()
+ self.addBoards()
+ self.addDeadMap()
+ self.addOOBs()
+ self.addCharts()
+ self.addDie()
+
+ # ----------------------------------------------------------------
+ def addDocumentation(self):
+ '''Add documentation to the module. This includes rules,
+ key-bindings, and about elements.
+ '''
+ with VerboseGuard('Adding documentation') as v:
+ doc = self._game.addDocumentation()
+ if self._rules is not None:
+ self._vmod.addExternalFile(self._rules,'rules.pdf')
+ doc.addBrowserPDFFile(title = 'Show rules',
+ pdfFile = 'rules.pdf')
+
+ if self._tutorial is not None:
+ self._vmod.addExternalFile(self._tutorial,'tutorial.vlog')
+ doc.addTutorial(name = 'Tutorial',
+ logfile = 'tutorial.vlog',
+ launchOnStartup = True)
+
+
+ fronts = self._categories.get('front',{}).get('all',[])
+ front = list(fronts.values())[0] if len(fronts) > 0 else None
+ if front is not None:
+ v(f'Adding about page')
+ doc.addAboutScreen(title=f'About {self._title}',
+ fileName = front['filename'])
+
+ return doc
+
+ # ----------------------------------------------------------------
+ def addKeybindings(self,doc):
+ keys = [
+ ['Alt-A', '-', 'Show the charts panel'],
+ ['Alt-B', '-', 'Show the OOBs'],
+ ['Alt-C', '-', 'Show the counters panel'],
+ ['Alt-E', '-', 'Show the eliminated units'],
+ ['Alt-I', '-', 'Show/refresh inventory window'],
+ ['Alt-M', '-', 'Show map'],
+ ['Alt-T', '-', 'Increase turn track'],
+ ['Alt-Shift-T', '-', 'Decrease turn track'],
+ ['Alt-6', '-', 'Roll the dice'],
+ ['Ctrl-D', 'Board,Counter','Delete counters'],
+ ['Ctrl-E', 'Board,Counter','Eliminate counters'],
+ ['Ctrl-F', 'Board,Counter','Flip counters'],
+ ['Ctrl-M', 'Board,Counter','Toggle "moved" markers'],
+ ['Ctrl-O', 'Board', 'Hide/show counters'],
+ ['Ctrl-R', 'Board,Counter','Restore unit'],
+ ['Ctrl-T', 'Board,Counter','Toggle move trail'],
+ ['Ctrl-Z', 'Board', 'Undo last move'],
+ ['Ctrl-+', 'Board', 'Zoom in'],
+ ['Ctrl--', 'Board', 'Zoom out'],
+ ['Ctrl-=', 'Board', 'Select zoom'],
+ ['Ctrl-Shift-O', 'Board','Show overview map'],
+ ['&larr;,&rarr;,&uarr;&darr;','Board',
+ 'Scroll board left, right, up, down (slowly)'],
+ ['PnUp,PnDn','Board', 'Scroll board up/down (fast)'],
+ ['Ctrl-PnUp,Ctrl-PnDn','Board', 'Scroll board left/right (fast)'],
+ ['Mouse-scroll up/down', 'Board', 'Scroll board up//down'],
+ ['Shift-Mouse-scroll up/down','Board','Scroll board right/leftown'],
+ ['Ctrl-Mouse-scroll up/down','Board','Zoom board out/in'],
+ ['Mouse-2', 'Board', 'Centre on mouse']]
+ if self._battleMarks:
+ for a,l in zip(['Ctrl-D','Ctrl-Shift-O', 'Ctrl-+', 'Ctrl-+'],
+ [['Ctrl-C', 'Counter', 'Clear battle'],
+ ['Ctrl-Shift-C','Board', 'Clear all battle'],
+ ['Ctrl-X', 'Board,Counter','Mark battle'],
+ ['Ctrl-Y', 'Board,Counter','Resolve battle'],
+ ]):
+ ks = [k[0] for k in keys]
+ didx = ks.index(a)
+ keys.insert(didx,l)
+
+ self._vmod.addFile('help/keys.html',
+ Documentation.createKeyHelp(
+ keys,
+ title=self._title,
+ version=self._version))
+ doc.addHelpFile(title='Key bindings',fileName='help/keys.html')
+
+ # ----------------------------------------------------------------
+ def addNatoPrototypes(self,prototypes):
+ # Add unit categories as prototypes
+ for n,c in zip(['Type','Echelon','Command'],
+ [self._mains, self._echelons, self._commands]):
+ sc = set([cc.strip() for cc in c])
+ with VerboseGuard(f'Adding prototypes for "{n}"') as vv:
+ for i,cc in enumerate(sc):
+ cc = cc.strip()
+ if len(cc) <= 0: continue
+ vv(f'[{cc}] ',end='',flush=True,noindent=True)
+ p = prototypes.addPrototype(name = f'{cc} prototype',
+ description = '',
+ traits = [MarkTrait(n,cc),
+ BasicTrait()])
+ vv('')
+
+ # ----------------------------------------------------------------
+ def addBattleControlPrototype(self,prototypes):
+ # Control of battles.
+ #
+ # This has traits to
+ #
+ # - Zero battle counter
+ # - Increment battle counter
+ # - Set current battle number
+ # - Mark battle
+ # - Calculate odds
+ #
+ # When wgMarkBattle is issued to this piece, then
+ #
+ # - Increment battle counter
+ # - Set global current battle
+ # - Trampoline to GCK markBattle
+ # - For all selected pieces, issue markBattle
+ # - All wgBattleUnit pieces then
+ # - Get current battle # and store
+ # - Add marker on top of it self
+ # - Issue calculateOddsAuto
+ # - If auto odds on, go to calcOddsStart,
+ # - Trampoline to GCK calcOddsAuto
+ # - Which sends calcOddsStart to all markers
+ # - For each mark
+ # - Set current battle to current global
+ # - Trampoline calcOdds via GKC
+ # - Send calcBattleOdds to wgBattleCalc
+ # - Zero odds
+ # - Calculate fraction
+ # - Zero fraction
+ # - Calculate total AF
+ # - Zero AF
+ # - via trampoline to GKC
+ # - Calculate total DF
+ # - Zero DF
+ # - via trampoline to GKC
+ # - Real fraction calculation
+ # - From calculate fraction
+ # - Access via calculate trait
+ # - Calculate shift
+ # - Zero shift
+ # - Trampoline to GKC
+ # - Access via calculate trait
+ # - Calculate index
+ # - Via calculated OddsIndex
+ # - Calculate odds real
+ # - Via calculated Index to odds
+ # - Do markOddsAuto which selects between odds
+ # - Do markOddsReal+OddsIndex
+ # - Set global battle #
+ # - Place marker
+ # - Take global battle #
+ # - De-select all other marks to prevent
+ # further propagation
+ #
+ if len(self._battleMarks) <= 0:
+ return False
+
+ n = len(self._battleMarks)
+ # --- Battle counter control - reset and increment -----------
+ traits = [
+ GlobalPropertyTrait(
+ ['',self._zeroBattle,GlobalPropertyTrait.DIRECT,'{0}'],
+ ['',self._incrBattle,GlobalPropertyTrait.DIRECT,
+ f'{{({self._battleCounter}%{n})+1}}'],
+ name = self._battleCounter,
+ numeric = True,
+ min = 0,
+ max = n,
+ wrap = True,
+ description = 'Zero battle counter',
+ ),
+ GlobalPropertyTrait(
+ ['',self._setBattle,GlobalPropertyTrait.DIRECT,
+ f'{{{self._battleCounter}}}'],
+ name = self._currentBattle,
+ numeric = True,
+ min = 0,
+ max = n,
+ wrap = True,
+ description = 'Zero battle counter',
+ ),
+ ReportTrait(self._zeroBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": zero battle counter: "'
+ f'+{self._battleCounter}):""}}')),
+ ReportTrait(self._incrBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": '
+ f'increment battle counter: "'
+ f'+{self._battleCounter}):""}}')),
+ ReportTrait(self._setBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": set current battle: "+'
+ f'{self._battleCounter}+" -> "+'
+ f'{self._currentBattle}):""}}')),
+ GlobalHotkeyTrait(name = '',
+ key = self._markBattle+'Trampoline',
+ globalHotkey = self._markBattle,
+ description = 'Mark selected for battle'),
+ ReportTrait(self._markBattle+'Trampoline',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": forward mark battle: "+'
+ f'{self._battleCounter}):""}}')),
+ GlobalHotkeyTrait(name = '',
+ key = self._calcBattleOdds+'Start',
+ globalHotkey = self._calcBattleOdds+'Auto',
+ description = 'Trampoline to global'),
+ ReportTrait(self._calcBattleOdds+'Start',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": forward odds: "+'
+ f'{self._battleCounter}):""}}')),
+ DeselectTrait(command = '',
+ key = self._calcBattleOdds+'Deselect',
+ deselect = DeselectTrait.ALL),
+ ReportTrait(self._calcBattleOdds+'Deselect',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": select only this: "+'
+ f'{self._battleCounter}):""}}')),
+ TriggerTrait(command = '',
+ key = self._calcBattleOdds+'Auto',
+ actionKeys = [self._calcBattleOdds+'Start'],
+ property = f'{{{self._autoOdds}==true}}'),
+ ReportTrait(self._calcBattleOdds+'Auto',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": forward odds: "+'
+ f'{self._battleCounter}):""}}')),
+ TriggerTrait(command = '',
+ key = self._markBattle,
+ actionKeys = [self._incrBattle,
+ self._setBattle,
+ self._markBattle+'Trampoline',
+ self._calcBattleOdds+'Auto']),
+ ReportTrait(self._markBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": mark battle: "+'
+ f'{self._battleCounter}):""}}')),
+ GlobalHotkeyTrait(name = '',
+ key = self._clearAllBattle+'Trampoline',
+ globalHotkey = self._clearAllBattle,
+ description = 'Mark selected for battle'),
+ TriggerTrait(command = '',
+ key = self._clearAllBattle,
+ actionKeys = [self._clearAllBattle+'Trampoline',
+ self._zeroBattle]),
+ ReportTrait(self._clearBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": clear battle: "+'
+ f'{self._battleCounter}):""}}')),
+ GlobalHotkeyTrait(name = '',
+ key = self._clearMoved+'Trampoline',
+ globalHotkey = self._clearMoved,
+ description = 'Clear moved markers'),
+ MarkTrait(name=self._battleCtrl,value=True),
+ BasicTrait()]
+ prototypes.addPrototype(name = self._battleCtrl,
+ description = '',
+ traits = traits)
+ return True
+
+ # ----------------------------------------------------------------
+ def addBattleCalculatePrototype(self,prototypes):
+ # --- Batttle AF, DF, Odds -----------------------------------
+ # This calculate odds derivation from stated odds.
+ calcIdx = 0
+ maxIdx = len(self._oddsMarks)+1
+ minIdx = 0
+ idx2Odds = '""'
+ calcFrac = 1
+ if len(self._oddsMarks) > 0:
+ odds = [o.replace('odds marker','').strip() for
+ o in self._oddsMarks]
+ ratios = all([':' in o for o in odds])
+ if ratios: # All is ratios!
+ def calc(s):
+ num, den = [float(x.strip()) for x in s.split(':')]
+ return num/den
+ ratios = [[calc(s),s] for s in odds]
+ ind = [i[0] for i in sorted(enumerate(ratios),
+ key=lambda x:x[1][0])]
+ #print(f'=== Rations: {ratios}, Index: {ind[::-1]}')
+ calcIdx = ':'.join([f'{self._battleFrac}>={ratios[i][0]}?'
+ f'({i+1})'
+ for i in ind[::-1]]) + ':0'
+ idx2Odds = ':'.join([f'OddsIndex=={i+1}?'
+ f'"{ratios[i][1]}"'
+ for i in ind[::-1]]) + ':""'
+ calcFrac = (f'{{{self._battleDF}==0?0:'
+ f'(((double)({self._battleAF}))'
+ fr'\/{self._battleDF})}}')
+ #print(calcIdx,idx2Odds)
+ else:
+ try:
+ nums = [[int(o),o] for o in odds]
+ calcFrac = f'{{{self._battleAF}-{self._battleDF}}}'
+ ind = [i[0] for i in sorted(enumerate(nums),
+ key=lambda x:x[1])]
+ calcIdx = ':'.join([f'{self._battleFrac}>={nums[i][0]}?'
+ f'({i+1})'
+ for i in ind[::-1]])+':0'
+ idx2Odds = ':'.join([f'OddsIndex=={i+1}?"{nums[i][1]}"'
+ for i in ind[::-1]]) + ':""'
+ vidx2Odds = '\t'+idx2Odds.replace(':',':\n\t')
+ #print(f'Index to odds: {vidx2Odds}')
+ except:
+ pass
+
+ traits = [
+ CalculatedTrait(# This should be changed to game rules
+ name = 'OddsShift',
+ expression = f'{{{self._battleShift}}}',
+ description = 'Calculated internal oddsshift'),
+ CalculatedTrait(# This should be changed to game rules
+ name = 'OddsIndexRaw',
+ expression = f'{{{calcIdx}}}',
+ description = 'Calculated internal odds index'),
+ CalculatedTrait(# This should be changed to game rules
+ name = 'OddsIndexLimited',
+ expression = (f'{{OddsIndexRaw>{maxIdx}?{maxIdx}:'
+ f'OddsIndexRaw<{minIdx}?{minIdx}:'
+ f'OddsIndexRaw}}'),
+ description = 'Calculated internal limited odds index'),
+ CalculatedTrait(# This should be changed to game rules
+ name = 'OddsIndex',
+ expression = (f'{{OddsIndexLimited+OddsShift}}'),
+ description = 'Calculated internal odds index (with shift)'),
+ CalculatedTrait(# This should be changed to game rules
+ name = 'BattleFraction',
+ expression = calcFrac,
+ description = 'Calculated fraction off battle'),
+ GlobalPropertyTrait(
+ ['',self._zeroBattleShft,GlobalPropertyTrait.DIRECT,'{0}'],
+ name = self._battleShift,
+ numeric = True,
+ description = 'Zero battle odds shift',
+ ),
+ GlobalPropertyTrait(
+ ['',self._zeroBattleAF,GlobalPropertyTrait.DIRECT,'{0}'],
+ name = self._battleAF,
+ numeric = True,
+ description = 'Zero battle AF',
+ ),
+ GlobalPropertyTrait(
+ ['',self._zeroBattleDF,GlobalPropertyTrait.DIRECT,'{0}'],
+ name = self._battleDF,
+ numeric = True,
+ description = 'Zero battle AF',
+ ),
+ # {wgBattleDF==0?0:(double(wgBattleAF)/wgBattleDF)}
+ GlobalPropertyTrait(
+ ['',self._zeroBattleFrac,GlobalPropertyTrait.DIRECT,'{0}'],
+ ['',self._calcBattleFrac+'Real',GlobalPropertyTrait.DIRECT,
+ '{BattleFraction}'],
+ name = self._battleFrac,
+ description = 'Calculate battle fraction',
+ ),
+ GlobalPropertyTrait(
+ ['',self._zeroBattleIdx,GlobalPropertyTrait.DIRECT,'{0}'],
+ ['',self._calcBattleIdx,GlobalPropertyTrait.DIRECT,
+ '{OddsIndex}'],
+ name = self._battleIdx,
+ description = 'Calculate battle odds index',
+ ),
+ GlobalPropertyTrait(
+ ['',self._zeroBattleOdds,GlobalPropertyTrait.DIRECT,'{""}'],
+ ['',self._calcBattleOdds+'Real',GlobalPropertyTrait.DIRECT,
+ f'{{{idx2Odds}}}'],
+ name = self._battleOdds,
+ description = 'Calculate battle odds',
+ ),
+ GlobalHotkeyTrait(name = '',# Forward to units
+ key = self._calcBattleAF+'Trampoline',
+ globalHotkey = self._calcBattleAF,
+ description = 'Calculate total AF'),
+ GlobalHotkeyTrait(name = '',# Forward to units
+ key = self._calcBattleDF+'Trampoline',
+ globalHotkey = self._calcBattleDF,
+ description = 'Calculate total DF'),
+ GlobalHotkeyTrait(name = '',# Forward to units
+ key = self._calcBattleShft+'Trampoline',
+ globalHotkey = self._calcBattleShft,
+ description = 'Calculate total shift'),
+ TriggerTrait(command = '',
+ key = self._calcBattleAF,
+ actionKeys = [self._zeroBattleAF,
+ self._calcBattleAF+'Trampoline']),
+ TriggerTrait(command = '',
+ key = self._calcBattleDF,
+ actionKeys = [self._zeroBattleDF,
+ self._calcBattleDF+'Trampoline']),
+ TriggerTrait(command = '',
+ key = self._calcBattleShft,
+ actionKeys = [self._zeroBattleShft,
+ self._calcBattleShft+'Trampoline']),
+ TriggerTrait(command = '',
+ key = self._calcBattleFrac,
+ actionKeys = [self._zeroBattleFrac,
+ self._calcBattleAF,
+ self._calcBattleDF,
+ self._calcBattleFrac+'Real']),
+ TriggerTrait(command = '',
+ key = self._calcBattleOdds,
+ actionKeys = [self._zeroBattleOdds,
+ self._calcBattleFrac,
+ self._calcBattleShft,
+ self._calcBattleIdx,
+ self._calcBattleOdds+'Real']),
+ ReportTrait(self._zeroBattleAF,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Reset AF: "+'
+ f'{self._battleAF}):""}}')),
+ ReportTrait(self._zeroBattleDF,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Reset DF: "+'
+ f'{self._battleDF}):""}}')),
+ ReportTrait(self._zeroBattleFrac,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Reset fraction: "+'
+ f'{self._battleFrac}):""}}')),
+ ReportTrait(self._zeroBattleOdds,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Reset odds: "+'
+ f'{self._battleOdds}):""}}')),
+ ReportTrait(self._calcBattleAF,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Total AF: "+'
+ f'{self._battleAF}):""}}')),
+ ReportTrait(self._calcBattleDF,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Total DF: "+'
+ f'{self._battleDF}):""}}')),
+ ReportTrait(self._calcBattleShft,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Battle odds shift: "+'
+ f'{self._battleShift}):""}}')),
+ ReportTrait(self._calcBattleFrac,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Battle fraction: "+'
+ f'{self._battleFrac}):""}}')),
+ ReportTrait(self._calcBattleOdds,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Battle odds: "+'
+ f'{self._battleOdds}+" ("+'
+ f'{self._battleIdx}+")"):""}}')),
+ ReportTrait(self._calcBattleFrac+'Real',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Battle fraction: "+'
+ f'{self._battleFrac}+'
+ f'" AF="+{self._battleAF}+'
+ f'" DF="+{self._battleDF}'
+ f'):""}}')),
+ ReportTrait(self._calcBattleOdds+'Real',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Battle odds: "+'
+ f'{self._battleOdds}+'
+ f'" ("+{self._battleIdx}+","+OddsShift+","+'
+ f'" raw="+OddsIndexRaw+","+'
+ f'" limited="+OddsIndexLimited+","+'
+ f'" -> "+OddsIndex+","+'
+ f'{self._battleShift}+")"+'
+ f'" Fraction="+{self._battleFrac}+'
+ f'" AF="+{self._battleAF}+'
+ f'" DF="+{self._battleDF}'
+ f'):""}}')),
+ ReportTrait(self._calcBattleOdds+'Real',
+ report=(f'{{{self._verbose}?'
+ f'("! Battle # "'
+ f'+{self._battleNo}'
+ f'+" AF="+{self._battleAF}'
+ f'+" DF="+{self._battleDF}'
+ f'+" => "+{self._battleOdds}'
+ # f'+" <img src=\'odds_marker_"'
+ # f'+{self._battleOdds}+".png\' "'
+ # f'+" width=24 height=24>"'
+ f'):""}}')),
+ MarkTrait(name=self._battleCalc,value=True),
+ BasicTrait()]
+ prototypes.addPrototype(name = self._battleCalc,
+ description = '',
+ traits = traits)
+
+ # ----------------------------------------------------------------
+ def addBattleUnitPrototype(self,prototypes):
+ # --- Battle units that set battle markers -------------------
+ #
+ # - Trait to add battle number 1 to max
+ #
+ # - Trigger trait for each of these using the global property
+ # for the current battle
+ #
+ traits = [
+ DynamicPropertyTrait(['',self._getBattle,
+ DynamicPropertyTrait.DIRECT,
+ f'{{{self._currentBattle}}}'],
+ ['',self._clearBattle,
+ DynamicPropertyTrait.DIRECT,
+ f'{{-1}}'],
+ name = self._battleNo,
+ numeric = True,
+ value = f'{{-1}}',
+ description = 'Set battle number'),
+ GlobalPropertyTrait(['',self._setBattle, GlobalPropertyTrait.DIRECT,
+ '{IsAttacker}'],
+ name = self._currentAttacker,
+ numeric = True,
+ description = 'Set attacker'),
+ ReportTrait(self._getBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" current battle # "+'
+ f'{self._currentBattle}+" -> "+'
+ f'{self._battleNo}):""}}')),
+ ReportTrait(self._clearBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" Clear this global="+'
+ f'{self._currentBattle}+" this="+'
+ f'{self._battleNo}):""}}')),
+ ]
+ place = []
+ trig = []
+ rept = []
+ for i, bm in enumerate(self._battleMarks):
+ kn = self._markBattle+str(i+1)
+ path = PlaceTrait.SKEL_PATH.format('BattleMarkers',bm)
+
+ place.append(
+ PlaceTrait(command = '',#f'Add battle marker {i}',
+ key = kn,
+ markerSpec = path,
+ markerText = 'null',
+ xOffset = -8,
+ yOffset = -16,
+ matchRotation = False,
+ afterKey = self._getBattle,
+ gpid = self._game.nextPieceSlotId(),
+ description = f'Add battle marker {i+1}',
+ placement = PlaceTrait.ABOVE,
+ above = False))
+ trig.append(
+ TriggerTrait(command = '',#Mark battle',
+ key = self._markBattle,
+ actionKeys = [self._getBattle,
+ self._setBattle,kn],
+ property = f'{{{self._currentBattle}=={i+1}}}'))
+ rept.append(
+ ReportTrait(kn,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" placing marker ({i+1})'
+ f' ="+ {self._currentBattle}+"'
+ f'={kn}"):""}}')))
+
+ oth = [
+ GlobalHotkeyTrait(name = 'Declare battle',
+ key = self._markKey,
+ globalHotkey = self._markKey,
+ description = 'Mark for combat'),
+ GlobalPropertyTrait(
+ ['',self._calcBattleAF,GlobalPropertyTrait.DIRECT,
+ f'{{EffectiveAF+{self._battleAF}}}'],
+ name = self._battleAF,
+ numeric = True,
+ description = 'Update battle AF'),
+ GlobalPropertyTrait(
+ ['',self._calcBattleDF,GlobalPropertyTrait.DIRECT,
+ f'{{EffectiveDF+{self._battleDF}}}'],
+ name = self._battleDF,
+ numeric = True,
+ description = 'Update battle AF'),
+ GlobalPropertyTrait(
+ ['',self._calcBattleShft,GlobalPropertyTrait.DIRECT,
+ f'{{OddsShift}}'],
+ name = self._battleShift,
+ numeric = True,
+ description = 'Update battle shift',
+ ),
+ CalculatedTrait(#This could be redefined in module
+ name = 'EffectiveAF',
+ expression = '{CF}',
+ description = 'Current attack factor'),
+ CalculatedTrait(#This could be redefined in module
+ name = 'EffectiveDF',
+ expression = '{DF}',
+ description = 'Current defence factor'),
+ CalculatedTrait(#This could be redefined in module
+ name = 'IsAttacker',
+ expression = '{Phase.contains(Faction)}',
+ description = 'Check if current phase belongs to faction'),
+ CalculatedTrait(#This could be redefined in module
+ name = 'OddsShift',
+ expression = f'{{{self._battleShift}}}',
+ description = 'Check if current phase belongs to faction'),
+ ReportTrait(self._calcBattleAF,
+ report=(f'{{{self._verbose}?'
+ f'("! "+BasicName+'
+ f'" add "+EffectiveAF+'
+ f'" to total attack factor -> "+'
+ f'{self._battleAF}'
+ f'):""}}')),
+ ReportTrait(self._calcBattleDF,
+ report=(f'{{{self._verbose}?'
+ f'("! "+BasicName+'
+ f'" add "+EffectiveDF+'
+ f'" to total defence factor -> "+'
+ f'{self._battleDF}'
+ f'):""}}')),
+ ReportTrait(self._calcBattleShft,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+'
+ f'" Updating odds shift with "+OddsShift+'
+ f'" -> "+{self._battleShift}):""}}')),
+ ]
+ traits.extend(
+ place+
+ trig+
+ oth+
+ [MarkTrait(name=self._battleUnit,value=True),
+ BasicTrait()])
+ prototypes.addPrototype(name = self._battleUnit,
+ description = '',
+ traits = traits)
+ # ----------------------------------------------------------------
+ def addBattleCorePrototype(self,prototypes):
+ # --- Core traits for battle markers (number, odds, results)
+ # - Set the global current battle number
+ # - Get the current global battle number
+ # - Clear this counter
+ # - Trampoline to global command to clear all marks for this battle
+ traits = [
+ # NoStackTrait(select = NoStackTrait.NORMAL_SELECT,
+ # move = NoStackTrait.NORMAL_MOVE,
+ # canStack = False,
+ # ignoreGrid = False),
+ GlobalPropertyTrait(['',self._setBattle,GlobalPropertyTrait.DIRECT,
+ f'{{{self._battleNo}}}'],
+ name = self._currentBattle,
+ numeric = True,
+ description = 'Set current battle'),
+ GlobalPropertyTrait(['',self._setBattle, GlobalPropertyTrait.DIRECT,
+ '{IsAttacker}'],
+ name = self._currentAttacker,
+ numeric = True,
+ description = 'Set attacker'),
+ DynamicPropertyTrait(['',self._getBattle,
+ DynamicPropertyTrait.DIRECT,
+ f'{{{self._currentBattle}}}'],
+ name = self._battleNo,
+ numeric = True,
+ value = f'{{{self._battleNo}}}',
+ description = 'Set battle number'),
+ DynamicPropertyTrait(['',self._getBattle,
+ DynamicPropertyTrait.DIRECT,
+ f'{{{self._currentAttacker}}}'],
+ name = 'IsAttacker',
+ numeric = True,
+ value = 'false',
+ description = 'Set attacker'),
+ DeleteTrait('',self._clearBattle),
+ GlobalHotkeyTrait(name = '',
+ key = self._clearBattle+'Trampo',
+ globalHotkey = self._clearBattle,
+ description = 'Clear selected battle'),
+ TriggerTrait(command = 'Clear',
+ key = self._clearKey,
+ actionKeys = [self._setBattle,
+ self._clearBattle+'Trampo']),
+ ReportTrait(self._setBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" battle # "+'
+ f'{self._battleNo}+" -> "+'
+ f'{self._currentBattle}):""}}')),
+ ReportTrait(self._getBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" current battle # "+'
+ f'{self._currentBattle}+" -> "+'
+ f'{self._battleNo}):""}}')),
+ ReportTrait(self._clearBattle,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" Clear this global="+'
+ f'{self._currentBattle}+" this="+'
+ f'{self._battleNo}):""}}')),
+ ReportTrait(self._clearKey,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" To clear battle # global="+'
+ f'{self._currentBattle}+" this="+'
+ f'{self._battleNo}):""}}')),
+ ReportTrait(self._clearBattle+'Trampo',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" '
+ f'Forward clear battle # global="+'
+ f'{self._currentBattle}+" this="+'
+ f'{self._battleNo}):""}}')),
+ MarkTrait(name=self._battleMark,value=True),
+ BasicTrait()
+ ]
+ prototypes.addPrototype(name = self._currentBattle,
+ description = '',
+ traits = traits)
+
+ # ----------------------------------------------------------------
+ def addBattlePrototypes(self,prototypes):
+ if not self.addBattleControlPrototype(prototypes):
+ return
+
+ self.addBattleCalculatePrototype(prototypes)
+ self.addBattleUnitPrototype(prototypes)
+ self.addBattleCorePrototype(prototypes)
+
+ # ----------------------------------------------------------------
+ def markerTraits(self):
+ return [DeleteTrait(),
+ RotateTrait()]
+
+ # ----------------------------------------------------------------
+ def battleMarkerTraits(self,c):
+ '''Derives from the CurrentBattle prototype and adds a submenu
+ to place odds counter on the battle marker'''
+ traits = [PrototypeTrait(name=self._currentBattle),
+ NonRectangleTrait(filename = c['filename'],
+ image = c['img'])]
+
+ subs = []
+ ukeys = []
+ place = []
+ trig = []
+ rept = []
+ repp = []
+ for i, odds in enumerate(self._oddsMarks):
+ on = odds.replace('odds marker','').strip()
+ om = odds.replace(':',r'\:')
+ kn = self._markOdds+str(i+1)
+ gpid = self._game.nextPieceSlotId()
+ path = PlaceTrait.SKEL_PATH.format('OddsMarkers',om)
+ subs.append(on)
+
+ place.append(
+ PlaceTrait(command = '',
+ key = kn,
+ markerSpec = path,
+ markerText = 'null',
+ xOffset = -6,
+ yOffset = -8,
+ matchRotation = False,
+ afterKey = self._getBattle+'Details',
+ gpid = gpid,
+ placement = PlaceTrait.ABOVE,
+ description = f'Add odds marker {on}'))
+ trig.append(
+ TriggerTrait(name = '',
+ command = on,
+ key = kn+'real',
+ actionKeys = [
+ self._setBattle,
+ kn]))
+ rept.append(
+ ReportTrait(kn+'real',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Set odds '
+ f'{on} ({kn})"):""}}')))
+ repp.append(
+ ReportTrait(kn,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Place odds '
+ f'{on} ({kn})"):""}}')))
+ ukeys.append(kn+'real')
+
+ auto = []
+ auton = []
+ if len(self._oddsMarks) > 0:
+ auton = ['Auto']
+ for i, odds in enumerate(self._oddsMarks):
+ trig.append(
+ TriggerTrait(name = '',
+ command = '',
+ key = self._markOdds+'Auto',
+ property = f'{{{self._battleIdx}=={i+1}}}',
+ actionKeys = [self._markOdds+str(i+1)]))
+
+ auto = [GlobalHotkeyTrait(name = '',
+ key = self._calcBattleOdds,
+ globalHotkey = self._calcBattleOdds,
+ description = 'Calculate fraction'),
+ DeselectTrait(command = '',
+ key = self._calcBattleOdds+'Deselect',
+ deselect = DeselectTrait.ONLY),
+ ReportTrait(self._calcBattleOdds+'Deselect',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Select only this "'
+ f'+" Attacker="+IsAttacker'
+ f'):""}}')),
+ TriggerTrait(name = '',
+ command = '',
+ key = self._markOdds+'Trampoline',
+ actionKeys = [
+ self._calcBattleOdds,
+ self._markOdds+'Auto',
+ self._calcBattleOdds+'Deselect'],
+ property = f'{{!IsAttacker}}'
+ ),
+ TriggerTrait(name = '',
+ command = 'Auto',
+ key = self._calcBattleOdds+'Start',
+ actionKeys = [
+ self._setBattle,
+ self._markOdds+'Trampoline',
+ ]),
+ ReportTrait(self._calcBattleOdds+'Start',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Battle odds "+'
+ f'{self._battleOdds}):""}}')),
+ ReportTrait(self._markOdds+'Auto',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": '
+ f'Auto battle odds "+'
+ f'{self._battleOdds}):""}}'))
+ ]
+
+ traits.extend([
+ RestrictCommandsTrait(
+ name='Hide when auto-odds are enabled',
+ hideOrDisable = RestrictCommandsTrait.HIDE,
+ expression = f'{{{self._autoOdds}==true}}',
+ keys = ukeys)]+
+ place
+ +trig
+ +auto
+ +rept
+ +repp)
+ if len(subs) > 0:
+ traits.extend([
+ SubMenuTrait(subMenu = 'Odds',
+ keys = auton+subs),
+ ])
+
+ return traits
+
+ # ----------------------------------------------------------------
+ def oddsMarkerTraits(self,c=None):
+ '''Derives from the CurrentBattle prototype and adds a submenu
+ to replace odds counter with result marker'''
+ traits = [PrototypeTrait(name=self._currentBattle),
+ NonRectangleTrait(filename = c['filename'],
+ image = c['img']),
+ DynamicPropertyTrait(
+ ['',self._getBattle+'More',DynamicPropertyTrait.DIRECT,
+ (f'{{{self._battleAF}+" vs "+{self._battleDF}+'
+ f'" (odds "+{self._battleOdds}+" shift "+'
+ f'{self._battleShift}+")"}}')],
+ name = 'BattleDetails',
+ value = '',
+ numeric = False,
+ description = 'Stored battle details'),
+ TriggerTrait(command = '',
+ key = self._getBattle+'Details',
+ actionKeys = [self._getBattle,
+ self._getBattle+'More'])]
+
+ subs = []
+ place = []
+ trig = []
+ rept = []
+ ukeys = []
+ first = ''
+ for i, result in enumerate(self._resultMarks):
+ r = result.replace('result marker','').strip()
+ kn = self._markResult+str(i+1)
+ gpid = self._game.nextPieceSlotId()
+ ukeys.append(kn+'real')
+ subs.append(r)
+ if first == '': first = r
+
+ path = PlaceTrait.SKEL_PATH.format('ResultMarkers',result)
+
+ place.append(
+ ReplaceTrait(command = '',
+ key = kn,
+ markerSpec = path,
+ markerText = 'null',
+ xOffset = -6,
+ yOffset = -8,
+ matchRotation = False,
+ afterKey = self._getBattle,
+ gpid = gpid,
+ description = f'Add result marker {r}'))
+ trig.append(
+ TriggerTrait(name = '',
+ command = r,
+ key = kn+'real',
+ actionKeys = [
+ self._setBattle,
+ kn]))
+ rept.append(
+ ReportTrait(kn+'real',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+" setting result '
+ f'{r}"):""}}')))
+
+ auto = []
+ auton = []
+ if len(self._resultMarks) > 0:
+ auton = ['Auto']
+ for i, res in enumerate(self._resultMarks):
+ r = res.replace('result marker','').strip()
+ trig.append(
+ TriggerTrait(
+ name = '',
+ command = '',
+ key = self._markResult+'Auto',
+ property = f'{{{self._battleResult}=="{r}"}}',
+ actionKeys = [self._markResult+str(i+1)]))
+
+ auto = [ # Override in the module
+ CalculatedTrait(
+ name = 'Die',
+ expression = '{GetProperty("1d6_result")}',
+ description = 'Die roll'),
+ GlobalHotkeyTrait(
+ name = '',
+ key = self._rollDice,
+ globalHotkey = self._diceKey,
+ description = 'Roll dice'),
+ CalculatedTrait(
+ name = 'BattleResult',
+ expression = f'{{"{first}"}}',
+ ),
+ GlobalPropertyTrait(
+ ['',self._calcBattleRes+'real',GlobalPropertyTrait.DIRECT,
+ '{BattleResult}'],
+ name = self._battleResult,
+ numeric = False,
+ description = 'Set combat result'),
+ TriggerTrait(name = '',
+ command = 'Resolve',
+ key = self._resolveKey,
+ property = f'{{{self._autoResults}==true}}',
+ actionKeys = [
+ self._setBattle,
+ self._rollDice,
+ self._calcBattleRes+'real',
+ self._markResult+'Auto',
+ ]),
+ ReportTrait(self._calcBattleRes,
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Battle result "+'
+ f'{self._battleOdds}):""}}')),
+ ReportTrait(self._markResult+'Auto',
+ report=(f'{{{self._debug}?'
+ f'("~ "+BasicName+": Auto battle result "+'
+ f'{self._battleResult}):""}}')),
+ ReportTrait(self._markResult+'Auto',
+ report=(f'{{"` Battle # "+{self._battleNo}+": "+'
+ f'BattleDetails+'
+ f'" with die roll "+Die+": "+'
+ f'{self._battleResult}'
+ # f'+ "<img src=\'result_marker_"'
+ # f'+{self._battleResult}+".png\'"'
+ # f'+" width=24 height=24>"'
+ f'}}')),
+ MarkTrait(name=self._battleOddsM,value='true')
+ ]
+
+ traits.extend(
+ [RestrictCommandsTrait(
+ name='Hide when auto-results are enabled',
+ hideOrDisable = RestrictCommandsTrait.HIDE,
+ expression = f'{{{self._autoResults}==true}}',
+ keys = ukeys)]+
+ place
+ +trig
+ +auto)
+
+ if len(subs) > 0:
+ traits.append(SubMenuTrait(subMenu = 'Result',
+ keys = subs))
+
+ return traits
+
+ # ----------------------------------------------------------------
+ def resultMarkerTraits(self,c=None):
+ traits = [PrototypeTrait(name=self._currentBattle),
+ NonRectangleTrait(filename = c['filename'],
+ image = c['img'])]
+
+ return traits
+
+ # ----------------------------------------------------------------
+ def factionTraits(self,faction):
+ traits = [ReportTrait(self._eliminateKey,
+ self._restoreKey,
+ self._trailKey),
+ TrailTrait(),
+ RotateTrait(),
+ MovedTrait(xoff = int( 36 * self._counterScale),
+ yoff = int(-38 * self._counterScale)),
+ DeleteTrait(),
+ SendtoTrait(mapName = 'DeadMap',
+ boardName = f'{faction} pool',
+ name = 'Eliminate',
+ key = self._eliminateKey,
+ restoreName = 'Restore',
+ restoreKey = self._restoreKey,
+ description = 'Eliminate unit'),
+ PrototypeTrait(name=self._battleUnit),
+ MarkTrait(name='Faction',value=faction)]
+
+ return traits
+
+ # ----------------------------------------------------------------
+ def getFactors(self,val):
+ cf = None
+ mf = None
+ df = None
+ ra = None
+ try:
+ if 'chit 1 factor' in val:
+ vv = val.replace('chit 1 factor=','')
+ cf = int(vv)
+ elif 'chit 2 factors artillery' in val:
+ vv = val.replace('chit 2 factors artillery=','')
+ cf,mf,ra = [int(v) for v in vv.strip('=').split()]
+ elif 'chit 2 factors' in val:
+ vv = val.replace('chit 2 factors=','')
+ cf,mf = [int(v) for v in vv.split()]
+ elif 'chit 3 factors' in val:
+ vv = val.replace('chit 3 factors=','')
+ cf,df,mf = [int(v) for v in vv.split()]
+
+ # Set defensive factor combat factor if not defined.
+ if df is None and cf is not None:
+ df = cf
+
+
+ except Exception as e:
+ print(f'\nWarning when extracting factors: {e} '
+ f'in "{val}" -> "{vv}"')
+ return None,None,None,None
+ pass
- Returns
- -------
- '''
- from zipfile import ZipFile, ZIP_DEFLATED
- from pprint import pprint
-
- categories = {}
- unittypes = []
- echelons = []
- commands = []
- with ZipFile(vmodname,'w',compression=ZIP_DEFLATED) as vmod:
- # Create images in ZIP file
- for i in info:
- if ignore_entry(i): continue
-
- # Store the name of the image file in catalogue
- i['filename'] = i['name'].replace(' ','_') + '.png'
- imgfn = 'images/'+i['filename']
- if imgfn not in vmod.namelist():
- vmod.writestr(imgfn,i['img'])
-
- # Categorize - assume counter
- typ = i.get('category','counter')
- sub = i.get('subcategory','all')
- if sub == '':
- i['subcategory'] = 'all'
- sub = 'all'
-
- # Add to catalogue
- if typ not in categories:
- categories[typ] = {}
- cat = categories[typ]
-
- if sub not in cat:
- cat[sub] = {}
- tgt = cat[sub]
-
- tgt[i['name']] = i
-
- natoapp6c = i.get('natoapp6c',None)
- if natoapp6c is not None:
- from re import sub
- mains = natoapp6c.get('main',None)
- echelon = natoapp6c.get('echelon',None)
- command = natoapp6c.get('command',None)
-
- if mains is not None:
- mains = sub(r'\[[^]]+\]','',mains)\
- .replace('{','').replace('}','').split(',')
- unittypes.extend(mains)
- i['mains'] = mains
+ return cf,df,mf,ra
+
+ # ----------------------------------------------------------------
+ def pieceTraits(self,subn,subc,cn,c):
+ from re import sub
+
+ bb = self.getBB(c['img'])
+ height = bb[3]-bb[1] if bb is not None else 1
+ width = bb[2]-bb[0] if bb is not None else 1
+ cf = subc.get(cn + ' flipped', None)
+ traits = [PrototypeTrait(name=f'{subn} prototype')]
+
+ def clean(s):
+ return s.strip().replace(',',' ').replace('/',' ').strip()
+
+ if not self._nonato:
+ mains = c.get('mains','')
+ m = set([clean(mains)] +
+ [clean(m) for m in mains.split(',')])
+ traits.extend([PrototypeTrait(name=f'{m.strip()} prototype')
+ for m in set(m)])
+ for p in ['echelon','command']:
+ val = c.get(p,None)
+ if val is not None:
+ pv = f'{val.strip()} prototype'
+ traits.append(PrototypeTrait(name=pv))
- if echelon is not None:
- echelons.append(natoapp6c['echelon'])
- i['echelon'] = echelon
-
- if command is not None:
- commands.append(command)
- i['command'] = command
-
- # Friendly message
- # if verbose:
- # print(f'{i["name"]} -> {i["type"]}/{i["sub type"]} {typ}/{sub}')
-
- unittypes = set(unittypes)
- echelons = set(echelons)
- commands = set(commands)
-
- # Now create the `buildFile.xml` file
- build, notes = create_build(info,
- categories,
- unittypes,
- echelons,
- commands,
- vmod,
- title,
- version,
- desc,
- rules,
- tutorial,
- pdfname,
- infoname,
- verbose,
- visible)
- # Now create the `moduledata` file
- data = create_data(title, version, desc,verbose)
-
-
- if patch:
- from importlib.util import spec_from_file_location, \
- module_from_spec
- from pathlib import Path
- from sys import modules
-
- p = Path(patch)
- if verbose:
- pn = str(p.stem)
- print(f'Will patch module with {pn}.patch function')
-
- spec = spec_from_file_location(p.stem, p.absolute())
- module = module_from_spec(spec)
- spec.loader.exec_module(module)
- modules[p.stem] = module
+ if cf is not None:
+ traits.extend([
+ LayerTrait(images = [c['filename'],
+ cf['filename']],
+ newNames = ['','Reduced +'],
+ activateName = '',
+ decreaseName = '',
+ increaseName = 'Flip',
+ increaseKey = self._flipKey,
+ decreaseKey = '',
+ name = 'Step'),
+ ReportTrait(self._flipKey)])
+
+ if not self._nochit:
+ def clean(value):
+ return sub(r'\[[^=]+\]=','',value)\
+ .replace('{','')\
+ .replace('}','')\
+ .replace('/',' ')\
+ .replace(',',' ')\
+ .replace('\\',' ')
+
+ # Add extra marks. This may be useful later on.
+ for field in ['upper left', 'upper right',
+ 'lower left', 'lower right',
+ 'left', 'right',
+ 'factors']:
+ value = c.get('chit',{}).get(field,None)
+ if value is None:
+ continue
+ val = clean(value)
+ val = val\
+ .replace('chit identifier=','')\
+ .replace('chit small identifier=','')
+
+ traits.append(MarkTrait(name = field, value = val))
+
+ if field != 'factors': continue
+
+ af, df, mf, ra = self.getFactors(val)
+ saf, sdf, smf, sra = None,None,None,None
+ if cf is not None:
+ value = cf.get('chit',{}).get(field,None)
+ if value is not None:
+ val = clean(value)
+ val = val\
+ .replace('chit identifier=','')\
+ .replace('chit small identifier=','')
+ saf, sdf, smf, sra = self.getFactors(val)
+
+ rf = []
+ srf = []
+ for f,sf,n in [[af,saf,'CF'],
+ [df,sdf,'DF'],
+ [mf,smf,'MF'],
+ [ra,sra,'Range']]:
+ if f is None: continue
+
+ if sf is None:
+ rf.append(MarkTrait(name=n,value=f))
+ else:
+ rf .append(MarkTrait(name='Full'+n, value=f))
+ srf.append(MarkTrait(name='Reduced'+n,value=sf))
+ traits.append(CalculatedTrait(
+ name = n,
+ expression = (f'{{(Step_Level==2)?'
+ f'Reduced{n}:Full{n}}}')))
+
+ traits.extend(rf+srf)
+
+
- # Patch must accept xml.dom.document,xml.dom.document,ZipFile
- module.patch(build,data,vmod,verbose)
-
- buildstr = build.toprettyxml(indent=' ',
- encoding="UTF-8",
- standalone=False)
- datastr = data.toprettyxml(indent=' ',
- encoding="UTF-8",
- standalone=False)
+
+
+ return height, width, traits
+
+ # ----------------------------------------------------------------
+ def addCounters(self):
+ '''Add all counters (pieces) element to the module.
+ Prototypes are also created as part of this.
+ '''
+ from re import sub
+
+ with VerboseGuard('Adding counters') as v:
+ protos = self._game.addPrototypes()
+
+ self.addNatoPrototypes(protos)
+ self.addBattlePrototypes(protos)
+
+ pieces = self._game.addPieceWindow(name = 'Counters',
+ icon = self.getIcon('unit-icon',
+ '/images/counter.gif'),
+ hotkey = self._countersKey)
+ tabs = pieces.addTabs(entryName='Counters')
+
+ for subn, subc in self._categories.get('counter',{}).items():
+
+ subn = subn.strip()
+ panel = tabs.addPanel(entryName = subn, fixed = False)
+ plist = panel.addList(entryName = f'{subn} counters')
+
+ traits = []
+ if subn in ['BattleMarkers']:
+ traits = self.battleMarkerTraits(list(subc.values())[0])
+ elif subn in ['OddsMarkers']:
+ traits = self.oddsMarkerTraits(list(subc.values())[0])
+ elif subn in ['ResultMarkers']:
+ traits = self.resultMarkerTraits(list(subc.values())[0])
+ elif subn.lower() in ['marker', 'markers']:
+ traits = self.markerTraits()
+ else:
+ traits = self.factionTraits(subn)
+
+ traits.append(BasicTrait())
+
+ p = protos.addPrototype(name = f'{subn} prototype',
+ description = f'Prototype for {subn}',
+ traits = traits)
+ v('')
+
+ with VerboseGuard(f'Adding pieces for "{subn}"') as vv:
+ for i, (cn, c) in enumerate(subc.items()):
+ if cn.endswith('flipped'): continue
+
+ if i == 0: v('',end='')
+ vv(f'[{cn}',end='',flush=True,noindent=True)
+
+ height, width, traits = self.pieceTraits(subn,subc,cn,c)
+ if cn == self._hiddenName:
+ traits = [
+ PrototypeTrait(name=self._battleCtrl),
+ PrototypeTrait(name=self._battleCalc)]
+ if self._diceInit is not None:
+ traits.extend(self._diceInit)
+ traits.append(
+ RestrictAccessTrait(sides=[],
+ description='Fixed'))
+
+
+ #if cn.startswith('odds marker'):
+ # cn = cn.replace(':','_')
+
+ gpid = self._game.nextPieceSlotId()
+ traits.extend([BasicTrait(name = c['name'],
+ filename = c['filename'],
+ gpid = gpid)])
+
+ ps = plist.addPieceSlot(entryName = cn,
+ gpid = gpid,
+ height = height,
+ width = width,
+ traits = traits)
+ if cn == self._hiddenName:
+ self._hidden = ps
+ vv('] ',end='',flush=True,noindent=True)
- vmod.writestr('buildFile.xml',buildstr)
- vmod.writestr('moduledata',datastr)
+ vv('')
+
- return notes
+ # ----------------------------------------------------------------
+ def addNotes(self,**kwargs):
+ '''Add a `Notes` element to the module
-# ====================================================================
-def export(vmodname = 'Draft.vmod',
- pdfname = 'export.pdf',
- infoname = 'export.json',
- title = 'Test',
- version = 'Draft',
- desc = '',
- rules = None,
- tutorial = None,
- patch = None,
- verbose = False,
- visible = False):
- '''Do the whole thing
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ '''
+ self._game.addNotes(**kwargs)
+
+ # ----------------------------------------------------------------
+ def addInventory(self,**kwargs):
+ '''Add a `Inventory` element to module
+
+ Parameters
+ ----------
+ kwargs : dict
+ Dictionary of attribute key-value pairs
+ '''
+ filt = '{' + '||'.join([f'Faction=="{s}"' for s in self._sides])+'}'
+ grp = 'Faction,Command,Echelon,Type'
+ self._game.addInventory(include = filt,
+ groupBy = grp,
+ sortFormat = '$PieceName$',
+ tooltip ='Show inventory of all pieces',
+ zoomOn = True,
+ **kwargs)
+
+ # ----------------------------------------------------------------
+ def addBoard(self,name,info,hasFlipped=False):
+ '''Add a `Board` element to module
+
+ Parameters
+ ----------
+ name : str
+ Name of board
+ info : dict
+ Information on board image
+ hasFlipped : bool
+ True if any piece can be flipped
+ '''
+ with VerboseGuard(f'Adding board {name}') as v:
+ map = self._game.addMap(mapName=name,
+ markUnmovedHotkey=self._clearMoved)
+ map.addCounterDetailViewer(
+ propertyFilter=f'{{{self._battleMark}!=true}}')
+ map.addHidePiecesButton()
+ map.addGlobalMap()
+ # Basics
+ map.addStackMetrics()
+ map.addImageSaver()
+ map.addTextSaver()
+ map.addForwardToChatter()
+ map.addMenuDisplayer()
+ map.addMapCenterer()
+ map.addStackExpander()
+ map.addPieceMover()
+ map.addKeyBufferer()
+ map.addSelectionHighlighters()
+ map.addHighlightLastMoved()
+ map.addZoomer()
+
+ map.addMassKey(name='Eliminate',
+ buttonHotkey = self._eliminateKey,
+ hotkey = self._eliminateKey,
+ icon = self.getIcon('eliminate-icon',
+ '/icons/16x16/edit-undo.png'),
+ tooltip = 'Eliminate selected units')
+ map.addMassKey(name='Delete',
+ buttonHotkey = self._deleteKey,
+ hotkey = self._deleteKey,
+ icon = self.getIcon('delete-icon',
+ '/icons/16x16/no.png'),
+ tooltip = 'Delete selected units')
+ map.addMassKey(name='Rotate CW',
+ buttonHotkey = self._rotateCWKey,
+ hotkey = self._rotateCWKey,
+ icon = '', #/icons/16x16/no.png',
+ tooltip = 'Rotate selected units')
+ map.addMassKey(name='Rotate CCW',
+ buttonHotkey = self._rotateCCWKey,
+ hotkey = self._rotateCCWKey,
+ icon = '', #/icons/16x16/no.png',
+ tooltip = 'Rotate selected units')
+ map.addMassKey(name='Phase clear moved markers',
+ buttonHotkey = self._clearMoved+'Phase',
+ hotkey = self._clearMoved+'Trampoline',
+ canDisable = True,
+ target = '',
+ filter = f'{{{self._battleCtrl}==true}}',
+ propertyGate = f'{self._noClearMoves}',
+ icon = '', #/icons/16x16/no.png',
+ tooltip = 'Phase clear moved markers',
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Phase Clear moved markers "+'
+ f'{self._noClearMoves})'
+ f':""}}'))
+ if hasFlipped:
+ map.addMassKey(name='Flip',
+ buttonHotkey = self._flipKey,
+ hotkey = self._flipKey,
+ icon = self.getIcon('flip-icon',
+ '/images/Undo16.gif'),
+ tooltip = 'Flip selected units')
+
+ if len(self._battleMarks) > 0:
+ v(f'Adding battle mark interface')
+ ctrlSel = f'{{{self._battleCtrl}==true}}'
+ oddsSel = f'{{{self._battleMark}==true}}'
+ calcSel = f'{{{self._battleCalc}==true}}'
+ curSel = (f'{{{self._battleNo}=={self._currentBattle}}}')
+ curAtt = (f'{{{self._battleNo}=={self._currentBattle}&&'
+ f'{self._battleUnit}==true&&'
+ f'IsAttacker==true}}')
+ curDef = (f'{{{self._battleNo}=={self._currentBattle}&&'
+ f'{self._battleUnit}==true&&'
+ f'IsAttacker==false}}')
+ curUnt = (f'{{{self._battleNo}=={self._currentBattle}&&'
+ f'{self._battleUnit}==true}}')
+ markSel = (f'{{{self._battleNo}=={self._currentBattle}&&'
+ f'{self._battleMark}==true}}')
+
+ # ctrlSel = '{BasicName=="wg hidden unit"}'
+ map.addMassKey(name = 'User mark battle',
+ buttonHotkey = self._markKey,
+ buttonText = '',
+ hotkey = self._markBattle,
+ icon = 'battle-marker-icon.png',
+ tooltip = 'Mark battle',
+ target = '',
+ singleMap = False,
+ filter = ctrlSel,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'User marks battle # "+'
+ f'{self._currentBattle})'
+ f':""}}'))
+ map.addMassKey(name = 'Selected mark battle',
+ buttonHotkey = self._markBattle,
+ hotkey = self._markBattle,
+ icon = '',
+ tooltip = '',
+ singleMap = False,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Mark battle # "+'
+ f'{self._currentBattle})'
+ f':""}}'))
+ map.addMassKey(name = 'Clear current battle',
+ buttonText = '',
+ buttonHotkey = self._clearBattle,
+ hotkey = self._clearBattle,
+ icon = '',
+ tooltip = '',
+ target = '',
+ singleMap = False,
+ filter = curSel,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Clear battle # "+'
+ f'{self._currentBattle})'
+ f':""}}'))
+ map.addMassKey(name = 'Clear selected battle',
+ buttonText = '',
+ buttonHotkey = self._clearKey,
+ hotkey = self._clearKey,
+ icon = '',
+ tooltip = '',
+ singleMap = False,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Clear battle # "+'
+ f'{self._currentBattle})'
+ f':""}}'))
+ map.addMassKey(name = 'Clear all battles',
+ buttonText = '',
+ buttonHotkey = self._clearAllBattle,
+ hotkey = self._clearBattle,
+ icon = '',
+ tooltip = '',
+ target = '',
+ singleMap = False,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Clear all battle markers")'
+ f':""}}'))
+ map.addMassKey(name = 'User clear all battles',
+ buttonText = '',
+ buttonHotkey = self._clearAllKey,
+ hotkey = self._clearAllBattle,
+ icon = 'clear-battles-icon.png',
+ tooltip = 'Clear all battles',
+ target = '',
+ singleMap = False,
+ filter = ctrlSel,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'User clears battle markers")'
+ f':""}}'))
+ map.addMassKey(name = 'Phase clear all battles',
+ buttonText = '',
+ buttonHotkey = self._clearBattlePhs,
+ hotkey = self._clearAllBattle,
+ icon = '',
+ tooltip = 'Clear all battles',
+ canDisable = True,
+ propertyGate = f'{self._noClearBattles}',
+ target = '',
+ singleMap = False,
+ filter = ctrlSel,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Phase clears battle markers "+'
+ f'{self._noClearBattles})'
+ f':""}}'))
+ map.addMassKey(name = 'Selected resolve battle',
+ buttonHotkey = self._resolveKey,
+ hotkey = self._resolveKey,
+ icon = 'resolve-battles-icon.png',
+ tooltip = 'Resolve battle',
+ singleMap = False,
+ filter = oddsSel,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Resolve battle # "+'
+ f'{self._currentBattle})'
+ f':""}}'))
+ map.addMassKey(name = 'Sum AFs',
+ buttonText = '',
+ buttonHotkey = self._calcBattleAF,
+ hotkey = self._calcBattleAF,
+ icon = '',
+ tooltip = '',
+ target = '',
+ singleMap = False,
+ filter = curAtt,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Calculate total AF"):""}}'))
+ map.addMassKey(name = 'Sum DFs',
+ buttonText = '',
+ buttonHotkey = self._calcBattleDF,
+ hotkey = self._calcBattleDF,
+ icon = '',
+ tooltip = '',
+ target = '',
+ singleMap = False,
+ filter = curDef,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Calculate total DF"):""}}'))
+ map.addMassKey(name = 'Sum odds shifts',
+ buttonText = '',
+ buttonHotkey = self._calcBattleShft,
+ hotkey = self._calcBattleShft,
+ icon = '',
+ tooltip = '',
+ target = '',
+ singleMap = False,
+ filter = curUnt,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Calculate odds shift"):""}}'))
+ map.addMassKey(name = 'Calc battle odds',
+ buttonText = '',
+ buttonHotkey = self._calcBattleOdds,
+ hotkey = self._calcBattleOdds,
+ icon = '',
+ tooltip = '',
+ target = '',
+ singleMap = False,
+ filter = calcSel,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Calculate odds"):""}}'))
+ map.addMassKey(name = 'Auto calc battle odds',
+ buttonText = '',
+ buttonHotkey = self._calcBattleOdds+'Auto',
+ hotkey = self._calcBattleOdds+'Start',
+ icon = '',
+ tooltip = '',
+ # target = '',
+ singleMap = False,
+ filter = markSel,
+ reportFormat = (f'{{{self._debug}?'
+ f'("~ {name}: '
+ f'Auto calculate odds"):""}}'))
+
+
+ ulx,uly,lrx,lry = self.getBB(info['img'])
+ width = abs(ulx - lrx)
+ height = abs(uly - lry)
+ width, height = self.getWH(info['img'])
+ height += 20
+ width += 5
+
+ picker = map.addBoardPicker()
+ board = picker.addBoard(name = name,
+ image = info['filename'],
+ width = width,
+ height = height)
+ zoned = board.addZonedGrid()
+ zoned.addHighlighter()
+
+ if not 'zones' in info:
+ full = zoned.addZone(name = full,
+ useParentGrid = False,
+ path=(f'{ulx},{uly};' +
+ f'{lrx},{uly};' +
+ f'{lrx},{lry};' +
+ f'{ulx},{lry}'))
+ grid = zone.addHexGrid(color = color,
+ dx = HEX_WIDTH,
+ dy = HEX_HEIGHT,
+ visible = self._visible)
+ grid.addNumbering(color = color,
+ hType = 'A',
+ hOff = -1,
+ vType = 'N',
+ vOff = -1,
+ visible = self._visible)
+ return
+
+ w = abs(ulx-lrx)
+ h = abs(uly-lry)
+ self.addZones(zoned,name,info['zones'],w,h)
+
+ if self._hidden is not None:
+ v(f'Adding hidden unit to map {name}')
+ at = map.addAtStart(name = self._hiddenName,
+ location = '',
+ useGridLocation = False,
+ owningBoard = name,
+ x = 0,
+ y = 0)
+ at.addPieces(self._hidden)
+
- - Read in information form the 'infoname' file (a CSV file
- generated by LaTeX)
+ # ----------------------------------------------------------------
+ def addDeadMap(self):
+ '''Add a "Dead Map" element to the module
+ '''
+ name = 'DeadMap'
+ with VerboseGuard(f'Adding board {name}') as v:
+ map = self._game.addMap(mapName = name,
+ buttonName = '',
+ markMoved = 'Never',
+ launch = True,
+ icon = self.getIcon('pool-icon',
+ '/images/playerAway.gif'),
+ allowMultiple = True,
+ hotkey = self._deadKey)
+ # Basics
+ map.addStackMetrics()
+ map.addImageSaver()
+ map.addTextSaver()
+ map.addForwardToChatter()
+ map.addMenuDisplayer()
+ map.addMapCenterer()
+ map.addStackExpander()
+ map.addPieceMover()
+ map.addKeyBufferer()
+ map.addSelectionHighlighters()
+ map.addHighlightLastMoved()
+ map.addZoomer()
+
+ map.addMassKey(name='Restore',
+ buttonHotkey = self._restoreKey,
+ hotkey = self._restoreKey,
+ icon = self.getIcon('restore-icon',
+ '/images/Undo16.gif'),
+ tooltip = 'Restore selected units')
+
+ picker = map.addBoardPicker()
+ picker.addSetup(maxColumns=len(self._sides),mapName=name,
+ boardNames=[s+' pool' for s in self._sides])
+
+ for i, s in enumerate(self._sides):
+ v(f'Adding {s} pool')
+ color = [0,0,0,64]
+ color[i % 3] = 255
+ w = 400
+ h = 400
+ c = rgba(*color)
+ img = ''
+ dimg = self._categories.get('pool',{}).get('all',{})\
+ .get(s,None)
+
+ if dimg:
+ bb = self.getBB(dimg['img'])
+ w = bb[2] - bb[0]
+ h = bb[3] - bb[1]
+ c = ''
+ img = dimg['filename']
+ v(f'Using image provided by user {img}')
+
+ board = picker.addBoard(name = f'{s} pool',
+ image = img,
+ width = w,
+ height = h,
+ color = c)
+
+ if dimg is None or not 'zones' in dimg:
+ continue
+
+ zoned = board.addZonedGrid()
+ zoned.addHighlighter()
+ w = abs(w)
+ h = abs(h)
+ self.addZones(zoned,board['name'],dimg['zones'],w,h)
+
+
+ # --------------------------------------------------------------------
+ def getPictureInfo(self,picture,name,width,height):
+ '''
+ Returns
+ -------
+ hex_width, hex_height : float, float
+ Scale hex width
+ scx, scy : float, float, float, float
+ Scale to image and picture (x,y)
+ rot90 : bool
+ True if rotated +/-90 degrees
+ tran : callable
+ Translation function
+ '''
+ if picture is None:
+ print(f'WARNING: No Tikz picture information.'
+ f"Are you sure you used the `[zoned]' option for the "
+ f"tikzpicture environment of {name}?")
+ f = lambda x,y: (x,y)
+ return HEX_WIDTH,HEX_HEIGHT,1,1,False,f
+
+ # Get picture bounding box
+ tll = picture['lower left']
+ tur = picture['upper right']
+ # Get picture transformation
+ pa = picture['xx']
+ pb = picture['xy']
+ pc = picture['yx']
+ pd = picture['yy']
+ # Get picture offset (always 0,0?)
+ pdx = picture['dx']
+ pdy = picture['dy']
+ # Define picture global transformation
+ pr = lambda x,y: (pa * x + pc * y, pb * x + pd * y)
+ # Globally transform (rotate) picture bounding box
+ pll = pr(*tll)
+ pur = pr(*tur)
+ # Calculate widht, height, and scaling factors
+ pw = pur[0] - pll[0]
+ ph = pur[1] - pll[1]
+ scw = width / pw
+ sch = height / ph
+ # Extract picture scales and rotation
+ # Courtesy of
+ # https://math.stackexchange.com/questions/13150/extracting-rotation-scale-values-from-2d-transformation-matrix
+ from math import sqrt, atan2, degrees, isclose
+ psx = sqrt(pa**2 + pb**2) # * (-1 if pa < 0 else 1)
+ psy = sqrt(pc**2 + pd**2) # * (-1 if pd < 0 else 1)
+ prt = degrees(atan2(pc,pd))
+ if not any([isclose(abs(prt),a) for a in [0,90,180,270]]):
+ raise RuntimeException('Rotations of Tikz pictures other than '
+ '0 or +/-90,+/- 180, or +/-270 not supported. '
+ 'found {prt}')
+ rot90 = int(prt // 90)
+ if rot90 == 2: rot90 = -2
+ # Now supported
+ # if any([isclose(prt,a) for a in [90,270,180,-180]]):
+ # print(f'WARNING: rotations by {prt} not fully supported')
+
+ from math import sqrt
+ hex_width = psx * scw * 2 # HEX_WIDTH
+ hex_height = psy * sch * sqrt(3) # HEX_HEIGHT
+ with VerboseGuard('Picture') as v:
+ v(f'Transformations: {pa},{pb},{pc},{pd}')
+ v(f'Scale (x,y): {psx},{psy}')
+ v(f'Rotation (degrees): {prt} ({rot90})')
+ v(f'Scale to pixels (x,y): {scw},{sch}')
+
+ # When translating the Tikz coordinates, it is important to note
+ # that the Tikz y-axis point upwards, while the picture y-axis
+ # point downwards. This means that the upper right corner is at
+ # (width,0) and the lower left corner is at (0,height).
+ def tranx(x,off=-pll[0]):
+ # print(f'x: {x} + {off} -> {x+off} -> {int(scw*(x+off))}')
+ return int(scw * (x + off)+.5)
+ def trany(y,off=-pur[1]):
+ # print(f'y: {y} + {off} -> {y+off} -> {-int(sch*(y+off))}')
+ return -int(sch * (y + off)+.5)
+ tran = lambda x,y : (tranx(x), trany(y))
+
+ return hex_width, hex_height, scw * psx, sch * psy, rot90, tran
+
+ # --------------------------------------------------------------------
+ def getHexParams(self,
+ llx,
+ lly,
+ urx,
+ ury,
+ mx,
+ my,
+ hex_width,
+ hex_height,
+ rot90,
+ labels,
+ coords,
+ targs,
+ nargs):
+ '''rot90 = 0 No rotation
+ = 1 Rotated -90 (clock-wise)
+ = -1 Rotated 90 (counter clock-wise)
+ = -2 Rotated 180
+ '''
+ with VerboseGuard('Hex parameters') as v:
+ from math import sqrt
+ isodd = lambda x : (x % 2 == 1)
+ iseven = lambda x : (x % 2 == 0)
+ isfalse = lambda x : False
+ shorts = {'isodd': isodd, 'iseven': iseven, 'isfalse': isfalse }
+
+ # Funny scaling needed by VASSAL. Seems like they only
+ # really about the absolute value of 'dy' and then the
+ # aspect ratio between dx and dy.
+ pxfac = sqrt(3)/2
+ hex_pw = hex_height * pxfac
+ hex_ph = hex_width * pxfac
+ stagger = False
+ #
+ # Get parameters from coordinates. These should always be set
+ #
+ rows = coords .get('row', {})
+ columns = coords .get('column',{})
+ top_short = columns .get('top short', 'isfalse')
+ bot_short = columns .get('bottom short','isfalse')
+ inv_col = columns .get('factor',1)
+ inv_row = rows .get('factor',1)
+ voff = -rows .get('offset',0) # 0: from 0 -> -1
+ hoff = -columns.get('offset',0) # -1: from 1 -> -2
+ vdesc = inv_row == 1
+ hdesc = inv_col == -1
+ #
+ # Calculate total dimensions, and number of columns and rows
+ #
+ w = abs((urx-llx) - 2 * mx)
+ h = abs((ury-lly) - 2 * my)
+ if abs(rot90) == 1: h, w = w, h
+ nc = int(w // (hex_width * 3 / 4))
+ nr = int(h // (hex_height))
+ namrot = {0: 'none - 0',
+ -1: '-90 - CCW',
+ 1: '90 CW',
+ -2: '180 - half-turn'}
+
+ v(f'Width: {w}')
+ v(f'Height: {h}')
+ v(f'Margins: x={mx} y={my}')
+ v(f'Rotation: {rot90} ({namrot[rot90]})')
+ v(f'Labels: {labels}')
+ v(f'Columns:')
+ v(f' size: {nc}')
+ v(f' start: {hoff}')
+ v(f' direction: {inv_col}')
+ v(f' top short: {top_short}')
+ v(f' bottom short: {bot_short}')
+ v(f'Rows:')
+ v(f' size: {nr}')
+ v(f' start: {voff}')
+ v(f' direction: {inv_row}')
+ v(f'Image:')
+ v(f' BB: ({llx},{lly}) x ({urx},{ury})')
+ #
+ # X0 and Y0 are in the local (rotated) frame of the hex grid.
+ # Thus X is always along hex breadth, and Y along the
+ # height. Thus the base offset (rotated into the hex frame) differs.
+ x0 = ury if abs(rot90) == 1 else llx
+ y0 = llx if abs(rot90) == 1 else ury
+ # Calculate column,row of corners
+ llc = hoff
+ ulc = hoff
+ lrc = hoff+nc-1
+ urc = hoff+nc-1
+ #
+ # Swap in directions
+ if hdesc: llc, lrc, ulc, urc = lrc, llc, urc, ulc
+ #
+ is_short_top = shorts[columns.get('top short', 'isfalse')]
+ is_short_bot = shorts[columns.get('bottom short','isfalse')]
+ if is_short_top is isfalse:
+ # Assume fully populated columns
+ is_short_top = isodd if iseven(hoff) else iseven
+ if is_short_bot is isfalse:
+ is_short_bot = isodd if isodd(hoff) else iseven
+
+ #
+ # Now we have the hex coordinates of the corners. We can
+ # now check how things are offset. Before rotation, we
+ # will have that the first column is offset by hex_pw / 2.
+ x0 += hex_width / 2
+ #
+ # If the first column is _not_ short on top, then off set
+ # is simply hex_ph / 2. Otherwise, the offset is hex_ph
+ y0 += hex_ph / 2
+ voff -= 1
+ voff -= inv_row
+ v(f' Initial offset of image {x0},{y0}')
+
+ # Treat each kind of rotation separately. Note that -90 and
+ # 180 uses the `is_short_bot' while 0 and 90 uses
+ # `is_short_top'. There might be a way to unify these, if
+ # offsets and so on may warrent it, but it may be complete
+ # overkill.
+ is_off = False
+ col_map = {0 : (ulc, is_short_top, is_short_bot),
+ -1 : (urc, is_short_top, is_short_bot),
+ 1 : (ulc, is_short_bot, is_short_top),
+ -2 : (urc, is_short_bot, is_short_top) }
+ col_chk, is_s1, is_s2 = col_map[rot90]
+
+ is_off = is_s1(col_chk)
+ if is_off:
+ y0 += hex_ph /2
+
+ v(f'Is first column off: {is_off}')
+
+ # For full columns, noting more is needed
+ #
+ # Below is if some columns are short both top and bottom.
+ # VASSAL seems to start numbering from a given place, and
+ # then use that for the rest numbering, and forgets to
+ # take into account various offsets and the like. hence,
+ # we need to hack it hard.
+ if iseven(nc):
+ v(f'Even number of columns, perhaps hacks')
+ if rot90 == 0:
+ # Hacks
+ #
+ # If the last column is short in both top and bottom,
+ # and we have inverse columns, but not inverse rows,
+ # then add to offset
+ if inv_col == -1 and inv_row == 1 and \
+ is_s1(urc) and is_s2(urc):
+ voff += 1
+ # If the column we check for short is short both top
+ # and bottom, and we have inverse rows, but not
+ # inverse columns, then add offset
+ if inv_row == -1 and inv_col == 1 and \
+ is_s2(col_chk) and is_off:
+ voff += 1
+
+ if rot90 == -1:
+ # If the last column is short in both top and bottom,
+ # and we have inverse columns, then add to offset
+ if is_s1(urc) and inv_col == -1 and is_s2(urc):
+ voff -= inv_row
+
+ if rot90 == 1:
+ voff += inv_row + (inv_row == 1)
+ # If the first column is short in both top and bottom,
+ # and we have inverse columns, then add to offset
+ if is_s1(ulc) and is_s2(ulc) and inv_col == -1:
+ voff += inv_row
+
+ if rot90 == -2:
+ voff += inv_row * 2
+ # Hacks If the column we check for short is short both
+ # top and bottom, and we have either inverse rows and
+ # inverse columns, or rows and columns are normal,
+ # then add offset
+ if inv_col == inv_row and is_s1(col_chk) and is_s2(col_chk):
+ voff += 1
+ # If the first column is short in both top and bottom,
+ # and we have inverse columns and rows, then add to
+ # offset
+ if inv_col == inv_row and inv_col == -1 and \
+ is_s1(ulc) and is_s2(ulc):
+ voff += 1
+ else:
+ v(f'Odd number of columns')
+ voff -= inv_row
+ if rot90 == 1:
+ # If we offset in the column direction, add the
+ # inverse row direction, and if we have inverse rows,
+ # substract one, otherwise add 2.
+ voff += (inv_row * hoff + (-1 if inv_row == -1 else 2))
+ # If we have a short column, and that column is even,
+ # then add, otherwise subtract, the inverse row
+ # direction, if the checked column is even.
+ voff += ((1 if is_off else -1) *
+ inv_row if is_short_bot(2) else 0)
+ if rot90 == 2:
+ voff += inv_row * (2 + is_off) # OK for odd
+
+
+ if rot90 == 0:
+ if inv_col == -1 and iseven(nc): # OK
+ stagger = not stagger
+ hoff -= (inv_col == -1) # OK
+
+ if rot90 == -1: # CCW
+ if inv_col == 1 and iseven(nc): # OK
+ stagger = not stagger
+ vdesc, hdesc = hdesc, vdesc
+ vdesc = not vdesc
+ voff += (inv_row == 1)
+ hoff -= (inv_col == 1) # OK
+
+ if rot90 == 1: # CW
+ if (inv_col == 1 and iseven(nc)) or isodd(nc): # OK
+ stagger = not stagger
+ vdesc, hdesc = hdesc, vdesc
+ hdesc = not hdesc
+ hoff -= (inv_col == -1) # OK
+
+ if rot90 == -2:
+ if (inv_col == -1 and iseven(nc)) or isodd(nc): # OK
+ stagger = not stagger
+ vdesc, hdesc = not vdesc, not hdesc
+ hoff -= (inv_col == 1) # OK
+
+ # Labels
+ if labels is not None:
+ labmap = {
+ 'auto': {
+ 'hLeading': 1,'vLeading': 1,'hType': 'N','vType': 'N' },
+ 'auto=numbers' : {
+ 'hLeading': 1,'vLeading': 1,'hType': 'N','vType': 'N' },
+ 'auto=alpha column': {
+ 'hLeading': 0,'vLeading': 0,'hType': 'A','vType': 'N' },
+ 'auto=alpha 2 column': {# Not supported
+ 'hLeading': 1,'vLeading': 1,'hType': 'A','vType': 'N' },
+ 'auto=inv y x plus 1': {
+ 'hLeading': 1,'vLeading': 1,'hType': 'N','vType': 'N' },
+ 'auto=x and y plus 1': {
+ 'hLeading': 1,'vLeading': 1,'hType': 'N','vType': 'N' }
+ }
+ for l in labels.split(','):
+ nargs.update(labmap.get(l,{}))
+ if 'alpha column' in l or 'alpha 2 column' in l:
+ hoff -= 1 # VASSAL 0->A, wargame 1->A
+ if l == 'auto=inv y x plus 1':
+ hoff += 1
+ #inv_row = not inv_row
+ if l == 'auto=x and y plus 1':
+ hoff -= 1
+ voff -= 1
+
+ # Add margins
+ x0 += int(mx)
+ y0 += int(my)
+
+ targs['dx'] = hex_pw
+ targs['dy'] = hex_ph
+ nargs['vOff'] = voff
+ nargs['hOff'] = hoff
+ nargs['vDescend'] = vdesc
+ nargs['hDescend'] = hdesc
+ targs['edgesLegal'] = True
+ targs['sideways'] = abs(rot90) == 1
+ nargs['stagger'] = stagger
+ targs['x0'] = int(x0+.5)
+ targs['y0'] = int(y0+.5)
+
+ # --------------------------------------------------------------------
+ def getRectParams(self,i,llx,ury,width,height,targs,nargs):
+ targs['dx'] = width
+ targs['dy'] = height
+ targs['x0'] = int(llx - width/2)
+ targs['y0'] = int(ury + height/2)
+ targs['color'] = rgb(0,255,0)
+ nargs['color'] = rgb(0,255,0)
+ nargs['vDescend'] = True
+ nargs['vOff'] = -3
+ nargs.update({'sep':',','vLeading':0,'hLeading':0})
+
+ # ----------------------------------------------------------------
+ def addZones(self,
+ zoned,
+ name,
+ info,
+ width,
+ height,
+ labels=None,
+ coords=None,
+ picinfo=None):
+ '''Add zones to the Zoned element.
+
+ Parameters
+ ----------
+ zoned : Zoned
+ Parent element
+ name : str
+ Name of Zoned
+ info : dict
+ Dictionary of zones informatio
+ width : int
+ Width of parent
+ height : int
+ Height of parent
+ labels : list
+ On recursive call, list of labels
+ coords : list
+ On recursive call, coordinates
+ picinfo : dict
+ On recursive call, picture information
+ '''
+ grids = []
+ picture = None
+
+ with VerboseGuard(f'Adding zones to {name}') as v:
+ for k, val in info.items():
+ if k == 'labels': labels = val;
+ if k == 'coords': coords = val
+ if k == 'zoned': picture = val
+ if 'zone' not in k or k == 'zoned':
+ continue
+
+ grids = [[k,val]] + grids # Reverse order!
+ # grids.append([k,v])
+
+ if len(grids) < 1:
+ return
+
+ if picinfo is None:
+ picinfo = self.getPictureInfo(picture,name,width,height)
+
+ hex_width, hex_height, scx, scy, rot90, tran = picinfo
+
+ for g in grids:
+ n, i = g
+ v(f'Adding zone {n}')
+
+ if 'scope' in n:
+ llx,lly = tran(*i['global lower left'])
+ urx,ury = tran(*i['global upper right'])
+ path = [[llx,ury],[urx,ury],[urx,lly],[llx,lly]]
+ nm = n.replace('zone scope ','')
+ elif 'path' in n:
+ path = [tran(*p) for p in i['path']]
+ llx = min([px for px,py in path])
+ ury = max([py for px,py in path])
+ nm = n.replace('zone path ','')
+
+ # Checkf if we have "point" type elements in this object and
+ # add them to dict.
+ points = [ val for k,val in i.items()
+ if (k.startswith('point') and
+ isinstance(val,dict) and \
+ val.get('type','') == 'point')]
+
+ pathstr = ';'.join([f'{s[0]},{s[1]}' for s in path])
+ v(f'Zone path ({llx},{ury}): {pathstr} ({len(points)})')
+
+ ispool = 'pool' in n.lower() and len(points) <= 0
+ zone = zoned.addZone(name = nm,
+ locationFormat = ("$name$"
+ if ispool else
+ "$gridLocation$"),
+ useParentGrid = False,
+ path = pathstr)
+
+ # Do not add grids to pools
+ if ispool:
+ v('Board {n} is pool with no points')
+ continue
+
+ targs = {'color':rgb(255,0,0),'visible':self._visible}
+ nargs = {'color':rgb(255,0,0),'visible':self._visible}
+ # print(targs,nargs)
+ if 'turn' in n.lower(): nargs['sep'] = 'T'
+ if 'oob' in n.lower(): nargs['sep'] = 'O'
+
+ if len(points) > 0:
+ with VerboseGuard('Using region grid') as vv:
+ grid = zone.addRegionGrid(snapto = True,
+ visible = self._visible)
+ for j,p in enumerate(points):
+ pn = p["name"].strip()
+ pp = p.get('parent','').strip()
+ pc = p["coords"]
+ if j == 0: vv(f'',end='')
+ vv(f'[{pn}] ',end='',flush=True,noindent=True)
+
+ x, y = tran(*pc)
+ r = grid.addRegion(name = pn,
+ originx = x,
+ originy = y,
+ alsoPiece = True,
+ prefix = pp)
+ v('')
+
+ elif 'hex' in n.lower():
+ margin = i.get('board frame',{}).get('margin',0)
+ mx = scx * margin
+ my = scy * margin
+ # self.message(f'{margin} -> {scx},{scy} -> {mx},{my}')
+ w = abs(urx - llx)-2*mx
+ h = abs(ury - lly)-2*my
+ self.getHexParams(llx = llx,
+ lly = lly,
+ urx = urx,
+ ury = ury,
+ mx = mx,
+ my = my,
+ hex_width = hex_width,
+ hex_height = hex_height,
+ rot90 = rot90,
+ labels = labels,
+ coords = coords,
+ targs = targs,
+ nargs = nargs)
+
+ v(f'Adding hex grid')
+
+ grid = zone.addHexGrid(**targs)
+ grid.addNumbering(**nargs)
+
+ else:
+ width = hex_width / HEX_WIDTH * RECT_WIDTH
+ height = hex_height / HEX_HEIGHT * RECT_HEIGHT
+ self.getRectParams(i,llx,ury,width,height,targs,nargs)
+
+ v(f'Adding rectangular grid')
+
+ grid = zone.addSquareGrid(**targs)
+ grid.addNumbering(**nargs)
+
+
+ # Once we've dealt with this grid, we should see if we have
+ # any embedded zones we should deal with.
+ self.addZones(zoned,name,i,width,height,
+ labels=labels,
+ coords=coords,
+ picinfo=picinfo)
+
+
+ # ----------------------------------------------------------------
+ def addBoards(self):
+ '''Add Boards to the module
+ '''
+ with VerboseGuard('Adding boards') as v:
+ hasFlipped = False
+ for cn,cd in self._categories.get('counter',{}).items():
+ for sn in cd:
+ if ' flipped' in sn:
+ hasFlipped = True
+ break
+
+ v(f'Has flipped? {hasFlipped}')
+ for bn, b in self._categories.get('board',{}).get('all',{}).items():
+ self.addBoard(bn, b,hasFlipped=hasFlipped)
+
+
+ # ----------------------------------------------------------------
+ def getIcon(self,name,otherwise):
+ with VerboseGuard(f'Get Icon {name}') as v:
+ icon = self._categories\
+ .get('icon',{})\
+ .get('all',{})\
+ .get(name,{
+ 'filename':otherwise})['filename']
+ v(f'Using "{icon}"')
+ return icon
+
+ # ----------------------------------------------------------------
+ def addOOBs(self):
+ '''Add OOBs to the game'''
+ oobc = self._categories.get('oob',{}).get('all',{}).items()
+ if len(oobc) < 1:
+ return
+
+ with VerboseGuard(f'Adding OOBs') as v:
+ icon = self.getIcon('oob-icon','/images/inventory.gif')
+ v(f'Using icon "{icon}" for OOB')
+ charts = \
+ self._game.addChartWindow(name='OOBs',
+ hotkey = self._oobKey,
+ description = 'OOBs',
+ text = '',
+ icon = icon,
+ tooltip = 'Show/hide OOBs')
+ tabs = charts.addTabs(entryName='OOBs')
+
+ for on, o in oobc:
+ widget = tabs.addMapWidget(entryName=on)
+ self.addOOB(widget, on, o)
+
+
+ # ----------------------------------------------------------------
+ def addOOB(self,widget,name,info):
+ '''Add a OOB elements to the game
+
+ Parameters
+ ----------
+ widget : Widget
+ Widget to add to
+ name : str
+ Name
+ info : dict
+ Information on the OOB image
+ '''
+ map = widget.addWidgetMap(mapName = name,
+ markMoved = 'Never',
+ hotkey = '')
+ map.addCounterDetailViewer()
+ map.addStackMetrics()
+ map.addImageSaver()
+ map.addTextSaver()
+ map.addForwardToChatter()
+ map.addMenuDisplayer()
+ map.addMapCenterer()
+ map.addStackExpander()
+ map.addPieceMover()
+ map.addKeyBufferer()
+ map.addSelectionHighlighters()
+ map.addHighlightLastMoved()
+ map.addZoomer()
+
+ picker = map.addPicker()
+ ulx,uly,lrx,lry = self.getBB(info['img'])
+ board = picker.addBoard(name = name,
+ image = info['filename'])
+ zoned = board.addZonedGrid()
+ zoned.addHighlighter()
+
+ if not 'zones' in info:
+ zone = zoned.addZone(name = 'full',
+ useParentGrid = False,
+ path=(f'{ulx},{uly};' +
+ f'{lrx},{uly};' +
+ f'{lrx},{lry};' +
+ f'{ulx},{lry}'))
+ grid = zone.addSquareGrid()
+ grid.addNumbering()
+
+ return
+
+ # If we get here, we have board info!
+ w = abs(ulx-lrx)
+ h = abs(uly-lry)
+ self.addZones(zoned,name,info['zones'],w,h)
+
+ # ----------------------------------------------------------------
+ def addCharts(self):
+ '''Add Charts elements to game
+ '''
+ chartc = self._categories.get('chart',{}).get('all',{}).items()
+ if len(chartc) < 1:
+ return
+
+ with VerboseGuard('Adding charts') as v:
+ charts = self._game.addChartWindow(name = 'Charts',
+ hotkey = self._chartsKey,
+ description = '',
+ text = '',
+ tooltip = 'Show/hide charts',
+ icon = self.getIcon('chart-icon',
+ '/images/chart.gif'))
+ tabs = charts.addTabs(entryName='Charts')
+ for i, (cn, c) in enumerate(chartc):
+ if i == 0: v('',end='')
+ v(f'[{cn}] ',end='',flush=True,noindent=True)
+
+ tabs.addChart(chartName = cn,
+ description = cn,
+ fileName = c['filename'])
+
+ v('')
- - Convert each page in the 'pdfname' file (a PDF generated by
- LaTex) into images
+ # ----------------------------------------------------------------
+ def addDie(self):
+ '''Add a `Die` element to the module
+ '''
+ if self._dice is not None:
+ return
+ self._game.addDiceButton(name = '1d6',
+ hotkey = self._diceKey)
- - Create the VASSAL module
+#
+# EOF
+#
+# ====================================================================
+# From main.py
- '''
- if verbose:
- print(f'Module name : {vmodname}\n'
- f'PDF name : {pdfname}\n'
- f'Info name : {infoname}\n'
- f'Title : {title}\n'
- f'Version : {version}\n'
- f'Description : {desc}\n'
- f'Rules : {rules}\n'
- f'Tutorial : {tutorial}')
- info = convert_pages(pdfname=pdfname,infoname=infoname)
- return create_vmod(vmodname = vmodname,
- info = info,
- title = title,
- version = version,
- desc = desc,
- rules = rules,
- tutorial = tutorial,
- pdfname = pdfname,
- infoname = infoname,
- patch = patch,
- verbose = verbose,
- visible = visible)
-
# ====================================================================
if __name__ == '__main__':
from argparse import ArgumentParser, FileType
@@ -3695,15 +11549,25 @@ if __name__ == '__main__':
help='Short description of module',
type=str,
default='draft of module')
+ ap.add_argument('-W','--vassal-version',
+ help='Vassal version number',
+ type=str,
+ default='3.6.7')
ap.add_argument('-V','--verbose',
help='Be verbose',
action='store_true')
ap.add_argument('-G','--visible-grids',
action='store_true',
help='Make grids visible in the module')
- ap.add_argument('-n','--notes',
- help='Show notes',
- action='store_true')
+ ap.add_argument('-N','--no-nato-prototypes',
+ action='store_true',
+ help='Do not make prototypes for types,echelons,commands')
+ ap.add_argument('-C','--no-chit-information',
+ action='store_true',
+ help='Do not make properties from chit information')
+ ap.add_argument('-S','--counter-scale',
+ type=float, default=1,
+ help='Scale counters by factor')
args = ap.parse_args()
@@ -3720,27 +11584,27 @@ if __name__ == '__main__':
if args.version.lower() == 'draft':
args.visible_grids = True
+ Verbose().setVerbose(args.verbose)
+
try:
- notes = export(vmodname = vmodname,
- pdfname = args.pdffile.name,
- infoname = args.infofile.name,
- title = args.title,
- version = args.version,
- desc = args.description,
- rules = rulesname,
- tutorial = tutname,
- patch = patchname,
- verbose = args.verbose,
- visible = args.visible_grids)
-
- if args.notes:
- print(f'Module {vmodname} created. '
- 'Here are the notes from the module')
- print(notes)
-
+ exporter = LaTeXExporter(vmodname = vmodname,
+ pdfname = args.pdffile.name,
+ infoname = args.infofile.name,
+ title = args.title,
+ version = args.version,
+ description = args.description,
+ rules = rulesname,
+ tutorial = tutname,
+ patch = patchname,
+ visible = args.visible_grids,
+ vassalVersion = args.vassal_version,
+ nonato = args.no_nato_prototypes,
+ nochit = args.no_chit_information,
+ counterScale = args.counter_scale)
+ exporter.run()
except Exception as e:
from sys import stderr
- print(f'Failed to build {vmodname}: e',file=stderr)
+ print(f'Failed to build {vmodname}: {e}',file=stderr)
from os import unlink
try:
unlink(vmodname)
@@ -3748,3 +11612,10 @@ if __name__ == '__main__':
pass
raise e
+
+#
+# EOF
+#
+##
+# End of generated script
+##
diff --git a/macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py b/macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py
index a9f3c60203..0800e18130 100755
--- a/macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py
+++ b/macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py
@@ -204,7 +204,7 @@ def path_to_tikz(path,f='8.5f'):
'''
from svg.path import Line, Move, Close, CubicBezier, Path
- code = []
+ code = [f'% ']
for e in path:
if isinstance(e, Move): code.append(tikz_move(e, f))
elif isinstance(e, Line): code.append(tikz_line(e, f))
diff --git a/macros/latex/contrib/wargame/source/wargame.dtx b/macros/latex/contrib/wargame/source/wargame.dtx
index d721befdb6..e8a3b9b1e1 100644
--- a/macros/latex/contrib/wargame/source/wargame.dtx
+++ b/macros/latex/contrib/wargame/source/wargame.dtx
@@ -44,6 +44,11 @@
\date{\today}
\begin{document}
\maketitle
+\begin{center}
+ \begin{tikzpicture}
+ \wargamelogo
+ \end{tikzpicture}
+\end{center}
\begin{abstract}
This package provides tools to typesetting manuals, board, and
counters for wargames using \LaTeX{}.
@@ -92,6 +97,10 @@
% typeset using a similar interface. Unit types are identified using
% the NATO Joint Military Symbology \cite{app6c} standard.
%
+% This document is meant as a reference manual (although far from
+% complete). A separate tutorial is available, and may be the best
+% starting point.
+%
% \iffalse
% --------------------------------------------------------------------
%
@@ -127,17 +136,26 @@
% \item[\keyval{town}{\meta{town-keys}}] specifies that a town (or
% similar) is present in the hex. The various keys are described in
% \sectionname~\ref{sec:hex:town}.
+% \item[\keyval{bevel}{\meta{bevel-keys}}] specifies that a bevel
+% should be added to the hex. The various keys are described in
+% \sectionname~\ref{sec:hex:bevel}.
% \item[\keyval{extra}{\meta{extra-keyx}} \textrm{and} \keyval{extra
% clipped}{\meta{extra-keyx}}] allows the user to put custom
% graphics in the hexes. See also \sectionname~\ref{sec:hex:extra}
% for more.
+% \item[\keyval{row}{\meta{row}} \textrm{and}
+% \keyval{column}{\meta{column}}] Keys to set hex coordinates.
+% Mainly used when using \cs{node} rather than \cs{hex}. These
+% coordinates should be specified in the \spec{hex cs} coordinate
+% system (\sectionname~\ref{sec:hex:cs}).
% \item any style key defined for \TikZ{} pictures.
% \end{description}
%
% The \meta{location} argument specifies the coordinates, in the hex
% coordinate system where to put the hex. More about the coordinate
% system is given in \sectionname~\ref{sec:hex:cs}. Note, the numbers
-% starts from the lower--left corner.
+% by default starts from the lower--left corner, but can be changed
+% via options.
%
% The elements are rendered in the following order
% \begin{enumerate}
@@ -146,6 +164,7 @@
% \item The ridges, if any
% \item The label, if any
% \item Extra graphics clipped to the hex
+% \item Bevel if selected
% \item Town, if any
% \item Extra graphics which may extend beyond the confines of the
% hex.
@@ -180,7 +199,46 @@
% indicate two units of length.}
% \label{fig:hex:parts}
% \end{figure}
+%
+% Note that the macro \cs{hex} is really a short hand for \TikZ{}'s
+% \cs{node} macro, but with preset options. An alternative to using
+% the \cs{hex} macro is to do
%
+% \begin{MacroSyntax}{\hex}
+% \cs{node}[hex=\marg{key-value-pairs}] \parg{name} at \parg{location};
+% \end{MacroSyntax}
+%
+% This can be useful when placing explanatory graphics or the like.
+% The main difference between using \cs{hex} and the raw
+% \cs{node}\texttt{[hex=\textellipsis]} is that the former can
+% automatically generate labels and set shape coordinates in the
+% picture. If you want that for your board, it is recommended to use
+% \cs{hex}. For example, if one does
+%
+% \begin{verbatim}
+% \begin{tikzpicture}[
+% every hex={label={auto=alpha column}},
+% hex/labels is name=true]
+% \hex(c=1,r=1);
+% \end{tikzpicture}
+% \end{verbatim}
+%
+% then one can refer to the location of the hex by its label i.e.,
+% \texttt{(A1)}. Since the hex is really a \TikZ{} \texttt{node}, we
+% can also use anchors defined for \texttt{hex} node shape, such as
+% \texttt{(A1.west)}, \texttt{(A1.north edge)}, and so on. This is
+% not possible if one uses the \cs{node} macro.
+%
+% \subsection{Hex bevels}
+% \label{sec:hex:bevel}
+%
+% A bevel (or ``shadow-effect'') can be added to hexes using the key
+% \spec{bevel}, with a value that specifies where the light comes from
+% (e.g., north west or NW). The percentage of the half width of a
+% chit of the bevel can be specified by the key \spec{bevel fraction}
+% (default 10\%).
+%
+%
% \subsection{Styling hexes}
%
% Typical \TikZ{} options can be passed to the \cs{hex} macro. For
@@ -200,6 +258,18 @@
% \end{scope}
% \end{tikzpicture}
% \end{verbatim}
+%
+% For example, to render only the corners of the hexes, as popular
+% among some designers, one can do
+%
+% \begin{verbatim}
+% every hex/.style={
+% dash pattern=on .2cm off .6cm on .2cm off 0cm
+% },
+% \end{verbatim}
+% Note that the dash pattern should be 1cm long and the last element
+% should be \spec{off 0cm} so the dash pattern is started afresh on
+% each hex edge.
%
% \subsection{Hex coordinate system}
% \label{sec:hex:cs}
@@ -216,7 +286,7 @@
% where \meta{vertex} and \meta{edge} are optional. The hex row and
% column defaults both to 0 and can be decimal numbers. The
% \spec{row}, \spec{column}, \spec{vertex}, and \spec{edge} keywords
-% may be shorted to \spec{r}, \spec{c}, \spec{v}, and \spec{e},
+% may be shortened to \spec{r}, \spec{c}, \spec{v}, and \spec{e},
% respectively. Possible vertexes and edges are listed in
% \tablename~\ref{tab:hex:ve}.
%
@@ -320,9 +390,15 @@
% coordinates are shifted upward or downward for smaller or larger
% numbers. Figure~\ref{fig:hex:coord:nb} illustrates. this. This can
% make it a little hard to specify coordinates relative to a hex
-% centre. Alternatively one may use vertex or edge specifciations
-% together with a relative offset in those directions.
-% \
+% centre. Alternatively one may use vertex or edge specifications
+% together with a relative offset in those directions. If one
+% require even more flexibility, one can use the \TikZ{} library
+% \spec{calc} to add arbitrary offsets, e.g.,
+%
+% \begin{verbatim}
+% \coordinate at ($(hex cs:c=1,r=10)+(.2,.2)$);
+% \end{verbatim}
+%
% \begin{figure}
% \centering
% \begin{tikzpicture}
@@ -1014,6 +1090,15 @@
% \caption{Adding rivers, boarders, and roads}
% \end{figure}
%
+% \subsubsection{Styling paths}
+%
+% Rivers, roads, railroads, and borders are styled by
+% \spec{hex/river}, \spec{hex/road}, \spec{hex/railroad}, and
+% \spec{border}, respectively, and the keys \spec{every hex river},
+% \spec{every hex road}, \spec{every hex railroad}, and \spec{every
+% hex border} will also be applied. The latter can be defined by the
+% user.
+%
% \subsection{Board clipping and frame}
%
% In the river, border, and road example above, the roads extend beyond
@@ -1117,6 +1202,134 @@
% The \cs{boardframe} macro prints the position of the rectangle to
% the log output, if one needs to do some more stuff around the board.
%
+% \subsection{Constructing the physical board}
+%
+% If the board is not too large, so that it may fit on a paper format
+% that can easily be printed (say A4, A3, Letter, or Tabloid), one can
+% simply print the board and glue it onto a sturdy surface (say
+% 1\textonehalf\,mm poster carton). However, if the board is large,
+% meaning it does not fit on a piece of printable paper, then one has
+% two options.
+% \begin{description}
+% \item[\textit{Either}] scale the board down so that it fits. Use
+% the \TikZ{} key \spec{scale=}\meta{factor} as an argument to the
+% \spec{tikzpicture} environment in which you create the board. In
+% this case, you should make sure you also scale the chits by the
+% same \meta{factor}, again via the \spec{scale} key.
+% \item[\textit{Or}] you can split the board over several pages. The
+% package provides a number of tools to help with this.
+% \end{description}
+%
+% \subsubsection{Split the board over multiple sheets}
+%
+% First, make sure you produce a standalone PDF of the board only.
+%
+% \begin{verbatim}
+% \documentclass{standalone}
+% \usepackage{wargame}
+% \begin{tikzpicture}[scale=SCALE]
+% % Define the board here.
+% \end{tikzpicture}
+% \end{verbatim}
+%
+% and that you have created this PDF --- say \texttt{board.pdf}.
+%
+% Next, prepare another document in which we will do the calculations.
+% For example
+%
+% \begin{verbatim}
+% \documentclass[11pt]{standalone}
+% \usepackage{wargame}
+% \begin{document}
+% \splitboard{paper=letter,margin=.7,ncol=2,nrow=2,overlap=1}
+% \end{document}
+% \end{verbatim}
+%
+% to calculate the split of \spec{board.pdf} over $2\times2$ letter
+% paper sheets, with a non-printable margin of 7mm, and an overlap
+% between the segments of 1cm.
+%
+% The possible keys for the \cs{splitboard} macro are
+%
+% \begin{itemize}
+% \item \spec{paper}=\meta{format}: Specifies the paper format. One
+% of \spec{a4}, \spec{a3}, \spec{letter}, \spec{tabloid}. Default
+% is \spec{a4}.
+% \item \spec{landscape}: Sets the paper format to be in landscape
+% mode (default is portrait).
+% \item \spec{margin}=\meta{size in centimetres}: Size of margins on
+% each sheet in centimetres \emph{without} unit. That is put
+% \spec{0.6} for 6mm, \emph{not} \spec{6mm}. Default is \spec{0.6}.
+% This should be \emph{slightly} larger (by roughly 5\%) than the
+% \emph{least} margin required by the printer used. \emph{Must} be
+% given \emph{before} \spec{paper} to have any effect.
+% \item \spec{ncol}=\meta{number of columns}: Sets the number of
+% columns of sheets.
+% \item \spec{nrow}=\meta{number of rows}: Set the number of rows of
+% sheets.
+% \item \spec{overlap}=\meta{size in centimetres}: Sets the size of
+% the overlap between sheets in centimetres \emph{without} unit.
+% That is put \spec{2} for 2cm, \emph{not} \spec{2cm}. Default is
+% \spec{2}.
+% \item \spec{image}=\meta{image file name}: File name of the board
+% image (a PDF). Default is \spec{board}
+% \item \spec{output}=\meta{output file name}: File name (without
+% \spec{.tex} ending) to write calculated split to.
+% \item \spec{standalone}: Boolean flag. If true, then output file
+% will be a standalone document (i.e., has a \cs{documentclass}).
+% \item \spec{scale}=\meta{scale}: Set scale of board.
+% \end{itemize}
+%
+% The macro will produce a file named \meta{output file
+% name}\spec{.tex} which can be included in another document to
+% generate the split board PDF. Crop marks will be added to the
+% board segments to make it easier to align the parts.
+%
+% \subsubsection{Foldable board}
+%
+% To make a fold-able board use for example the below template to
+% create grooves and cuts.
+%
+% \begin{tikzpicture}[
+% cut/.style={red!50!black,thick},
+% front groove/.style={green!50!black,dashed,thick},
+% back groove/.style={blue!50!black,dash dot,thick},
+% ]
+% \node[minimum width=8.4cm,
+% minimum height=5.9cm,
+% inner sep=0pt,
+% draw,
+% thick] (a) {};
+% \coordinate (middle) at (a);
+% \coordinate (top) at (a.north);
+% \coordinate (top left) at ($(a.north west)!.5!(a.north)$);
+% \coordinate (middle left) at ($(a.west)!.5!(a)$);
+% \coordinate (bottom left) at ($(a.south west)!.5!(a.south)$);
+% \coordinate (top right) at ($(a.north)!.5!(a.north east)$);
+% \coordinate (middle right) at ($(a)!.5!(a.east)$);
+% \coordinate (bottom right) at ($(a.south)!.5!(a.south east)$);
+% \coordinate (bottom) at (a.south);
+% \draw[cut] (middle)--(bottom);
+% \draw[cut] (top left)--(middle left);
+% \draw[cut] (top right)--(middle right);
+% \draw[back groove] (middle)--(top);
+% \draw[back groove] (bottom left)--(middle left);
+% \draw[back groove] (bottom right)--(middle right);
+% \draw[front groove] (a.west)--(a.east);
+%
+% \draw[cut] ($(a.south west)+(0,-1)$)--++(2,0) node[anchor=west]{%
+% Cut through carton};
+% \draw[back groove] ($(a.south west)+(0,-1.5)$)--++(2,0) node[anchor=west]{%
+% Cut groove (\textonehalf{} through) in carton on \emph{back} side};
+% \draw[front groove] ($(a.south west)+(0,-2)$)--++(2,0) node[anchor=west]{%
+% Cut groove (\textonehalf{} through) in carton on \emph{front} side};
+% \end{tikzpicture}
+%
+% This will fold the board down to a fourth of the size of the full
+% map. For example, if the board is A1
+% ($84\,\mathrm{cm}\times59.4\,\mathrm{cm}$) it will fold down to A4
+% ($21\,\mathrm{cm}\times29.7\,\mathrm{cm}$) for easier storage.
+%
% \iffalse
% --------------------------------------------------------------------
%
@@ -1228,7 +1441,22 @@
% \caption{Example of chits fit within hexes. }
% \label{fig:chit:hex}
% \end{figure}
+%
+% Just as \cs{hex} is really a wrapper around \TikZ{}'s \cs{node}
+% macro, so it is with \cs{chit}. This means that an alternative way
+% of making a chit is to do
+%
+% \begin{MacroSyntax}{\chit}
+% \cs{node}[chit=\marg{key-value-pairs}] \parg{name} at \parg{location};
+% \end{MacroSyntax}
+%
+% Since chits are really \TikZ{} \texttt{node}s we can use anchors
+% on the chit. Unlike for \cs{hex} where there are additional
+% features available when using the dedicated macro, there really
+% isn't much difference between \cs{chit} and
+% \cs{node}\texttt{[chit=\textellipsis]}.
%
+%
% \subsection{Styling chits}
%
% Typical \TikZ{} options can be passed to the \cs{chit} macro. For
@@ -1269,9 +1497,21 @@
% similar keys. For example, the picture \spec{chit/identifier} is
% styled by \spec{tikz/chit/identifier}.
%
+%
+% A bevel (or ``shadow-effect'') can be added to chits using the key
+% \spec{bevel}, with a value that specifies where the light comes from
+% (e.g., north west or NW). The percentage of the half width of a
+% chit of the bevel can be specified by the key \spec{bevel fraction}
+% (default 10\%). This can be used for both symbol or full chits.
+%
% In addition, one can define the key \spec{tikz/every chit} to be the
% default options for all chits.
%
+% By default, the outer ``frame'' of a chit is drawn with the same
+% graphics options as the chit it self (i.e., same fill and stroke
+% colour). To change that, one can pass \spec{frame}=\marg{options}
+% as part of the chit options.
+%
% \subsection{Defining preset chit types}
%
% One can conveniently pre-define some chit styles. For example,
@@ -1314,7 +1554,7 @@
% The NATO markers are designed to fit within the template shown in
% \figurename~\ref{fig:natoapp:template}. The template is serves as a
% placement guide of the the various parts of the NATO marker as
-% illustrated in \figurename{fig:natoapp:usage}.
+% illustrated in \figurename~\ref{fig:natoapp:usage}.
%
% \begin{figure}[htbp]
% \centering
@@ -1688,6 +1928,9 @@
%
% \subsection{Unit type identification}
%
+%
+% See \tablename~\ref{tab:natoapp6c:abbr}.
+%
% \begin{table}
% \centering%
% \def\typemark#1{%
@@ -1737,7 +1980,7 @@
% & FA\\
% \typemark{main=infantry}
% & Infantry
-% & IN\\
+% & IN\footnote{Sometimes just `I'}\\
% \rowcolor{altcol}
% \typemark{main={infantry,armoured}}
% & Mechanised infantry
@@ -1775,7 +2018,7 @@
% \rowcolor{altcol}
% \sizemark{division}
% & Division
-% & D\\
+% & D\footnote{Sometimes `DIV'}\\
% \sizemark{brigade}
% & Brigade
% & BD\\
@@ -1828,7 +2071,9 @@
%
% \begin{thebibliography}{99}
% \bibitem{fb} Hanover,C., Hendrix,C.E., \& Llewelyn,S.,
-% \textit{First Blood}, 1997, \url{https://grognard.com/fb/}
+% \textit{First Blood}, 1997, \url{https://grognard.com/fb/}. See
+% also implementation using this package at
+% \url{https://gitlab.com/wargames_tex/firstblood_tex}.
% \bibitem{app6c} \textit{NATO Joint Military Symbology}, APP-6(C),
% May 2011,
% \url{https://en.wikipedia.org/wiki/NATO_Joint_Military_Symbology}.
@@ -2453,3 +2698,5 @@
% TeX-command-extra-options: "-shell-escape"
% End:
% \fi
+
+
diff --git a/macros/latex/contrib/wargame/source/wargame.ins b/macros/latex/contrib/wargame/source/wargame.ins
index 23ec10e251..44acad580e 100644
--- a/macros/latex/contrib/wargame/source/wargame.ins
+++ b/macros/latex/contrib/wargame/source/wargame.ins
@@ -81,10 +81,17 @@ End:
\file{symbols.tex} {\from{wargame.dtx}{driver,symbols}}
%
\file{tikzlibrarywargame.util.code.tex}{%
- \from{util/core.dtx}{utils}}
+ \from{util/core.dtx} {utils}
+ \from{util/misc.dtx} {utils}
+ \from{util/compound.dtx}{utils}
+ \from{util/bb.dtx} {utils}
+ \from{util/tikz.dtx} {utils}
+ \from{util/randomid.dtx}{utils}
+ \from{util/icons.dtx} {utils}
+ }
%
\file{wgexport.cls}{%
- \from{util/core.dtx}{exportcls}}
+ \from{util/export.dtx}{exportcls}}
%
\file{tikzlibrarywargame.hex.code.tex}{
\from{hex/core.dtx} {hex}
@@ -107,7 +114,8 @@ End:
\from{hex/labels.dtx} {hex}
\from{hex/extra.dtx} {hex}
\from{hex/paths.dtx} {hex}
- \from{hex/board.dtx} {hex}}
+ \from{hex/board.dtx} {hex}
+ \from{hex/split.dtx} {hex}}
%
\file{tikzlibrarywargame.natoapp6c.code.tex}{
\from{natoapp6c/core.dtx} {natoapp6c}
@@ -125,10 +133,16 @@ End:
\from{natoapp6c/list.dtx} {natoapp6c}}
%
\file{tikzlibrarywargame.chit.code.tex}{
- \from{chit/core.dtx} {chit}
- \from{chit/shape.dtx} {chit}
- \from{chit/elements.dtx}{chit}
- \from{chit/misc.dtx} {chit}}
+ \from{chit/core.dtx} {chit}
+ \from{chit/shape.dtx} {chit}
+ \from{chit/elements.dtx} {chit}
+ \from{chit/modifiers.dtx}{chit}
+ \from{chit/stack.dtx} {chit}
+ \from{chit/oob.dtx} {chit}
+ \from{chit/table.dtx} {chit}
+ \from{chit/battle.dtx} {chit}
+ \from{chit/dice.dtx} {chit}
+ \from{chit/misc.dtx} {chit}}
%
\file{wargame.beach.tex} {\from{hex/tile.dtx}{tile,beach}}
\file{wargame.city.tex} {\from{hex/tile.dtx}{tile,city}}
diff --git a/macros/luatex/generic/luavlna/README.md b/macros/luatex/generic/luavlna/README.md
index df27afa648..870552cd0f 100644
--- a/macros/luatex/generic/luavlna/README.md
+++ b/macros/luatex/generic/luavlna/README.md
@@ -1,4 +1,4 @@
-# Luavlna, version 0.1j, 2022-08-15
+# Luavlna, version 0.1k, 2023-03-28
# Introduction
diff --git a/macros/luatex/generic/luavlna/luavlna-doc.pdf b/macros/luatex/generic/luavlna/luavlna-doc.pdf
index 175e8032d0..900d6c3714 100644
--- a/macros/luatex/generic/luavlna/luavlna-doc.pdf
+++ b/macros/luatex/generic/luavlna/luavlna-doc.pdf
Binary files differ
diff --git a/macros/luatex/generic/luavlna/luavlna.lua b/macros/luatex/generic/luavlna/luavlna.lua
index f13fe6bd59..5bbe2c060b 100644
--- a/macros/luatex/generic/luavlna/luavlna.lua
+++ b/macros/luatex/generic/luavlna/luavlna.lua
@@ -5,10 +5,12 @@
-- 1. It is possible to turn this functionality only for some letters
-- 2. Code now works even for single letters after brackets etc.
--
+--
+
local M = {}
-local utf_match = unicode.utf8.match
-local utf_char = unicode.utf8.char
-local utf_len = unicode.utf8.len
+-- local utf_match = unicode.utf8.match
+local utf_char = utf8.char -- unicode.utf8.char
+local utf_len = utf8.len -- unicode.utf8.len
local glue_id = node.id "glue"
local glyph_id = node.id "glyph"
@@ -18,10 +20,36 @@ local penalty_id = node.id "penalty"
local math_id = node.id "math"
local period_char = string.byte(".")
+-- we must process only glues with the spaceskip or xspaceskip subtypes
+local allowed_space_names = {spaceskip = true, xspaceskip = true}
+local allowed_space_types = {}
+local glue_subtypes = node.subtypes("glue")
+-- convert allowed subtypes names to numbers used in nodes
+for k,v in pairs(glue_subtypes) do
+ if allowed_space_names[v] then
+ allowed_space_types[k] = true
+ end
+end
+
+local unicode_alphas = "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC0030-0039"
+
+
+-- construct table with unicode alphas for later testing
+local alpha_tbl = {}
+for start, finish in unicode_alphas:gmatch("(....)-(....)") do
+ for i = tonumber(start, 16), tonumber(finish, 16) do
+ alpha_tbl[utf_char(i)] = true
+ end
+end
+
+
+
+
local alpha = string.char(37).."a" -- alpha class, entering
-- percent char directly caused error
local alphas = {}
-local match_char = function(x) return utf_match(x,alpha) end
+-- the following function is not used anymore
+-- local match_char = function(x) return utf_match(x,alpha) end
local match_table = function(x, chars)
local chars=chars or {}
return chars[x]
@@ -141,7 +169,7 @@ end
local is_alpha = function(c)
local status = alphas[c]
if not status then
- status = utf_match(c, alpha)
+ status = alpha_tbl[c]
alphas[c] = status
end
return status
@@ -267,7 +295,7 @@ local function prevent_single_letter (head)
end
end
if skip ~= 1 and not in_math then
- if id == glue_id then
+ if id == glue_id and allowed_space_types[head.subtype] then
if wasnumber then
if word ~= "" then
wasnumber = false
diff --git a/macros/luatex/generic/luavlna/luavlna.sty b/macros/luatex/generic/luavlna/luavlna.sty
index 31c5e6f284..f8af19876c 100644
--- a/macros/luatex/generic/luavlna/luavlna.sty
+++ b/macros/luatex/generic/luavlna/luavlna.sty
@@ -1,4 +1,9 @@
-\ProvidesPackage{luavlna}[2022-08-15 luavlna]
+\ProvidesPackage{luavlna}[2023-03-28 luavlna]
+
+\ifdefined\directlua\else
+\PackageWarning{luavlna}{Luavlna needs LuaLaTeX, aborting}
+\endinput
+\fi
\RequirePackage{kvoptions}
diff --git a/macros/luatex/generic/luavlna/luavlna.tex b/macros/luatex/generic/luavlna/luavlna.tex
index dd7415534d..e86df0f325 100644
--- a/macros/luatex/generic/luavlna/luavlna.tex
+++ b/macros/luatex/generic/luavlna/luavlna.tex
@@ -22,7 +22,6 @@ end
% By default, spaces for all single letters are inserted
% This can be modified with \singlechars macro
set_singlechars = function(lang,chars)
- local utf_gmatch = unicode.utf8.gmatch
% local langnumbers = languages.names
local langid = get_lang_id(lang)
if not langid then return nil, "Cannot find language number for: "..lang end
@@ -30,8 +29,8 @@ set_singlechars = function(lang,chars)
local singlechars = {}
local percent = string.char(37)
local alpha = percent .. "a"
- for char in utf_gmatch(chars,"("..alpha..")") do
- singlechars[char] = true
+ for pos, char in utf8.codes(chars) do
+ singlechars[utf8.char(char)] = true
end
luavlna.singlechars(langid,singlechars)
end
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index fcf106327f..dd462e2c0f 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -146,6 +146,7 @@ $mirrors = {
'https://ctan.altspu.ru/' => 1,
'https://mirror.macomnet.net/pub/CTAN/' => 1,
'https://mirror.truenetwork.ru/CTAN/' => 1,
+ 'https://mirrors.mi-ras.ru/CTAN/' => 1,
},
'Slovenia' => {
'https://ctan.ijs.si/tex-archive/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 876386f5f6..44a71a973c 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/2023
-depend revision/66699
+depend revision/66706
name 00texlive.image
category TLCore
-revision 66691
+revision 66706
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
@@ -40,7 +40,7 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment
longdesc this list. Those are not included in the source/ tarball. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=12967
+runfiles size=12968
.mkisofsrc
autorun.inf
texmf-dist/README
@@ -1237,6 +1237,7 @@ runfiles size=12967
tlpkg/tlpsrc/context-letter.tlpsrc
tlpkg/tlpsrc/context-lettrine.tlpsrc
tlpkg/tlpsrc/context-mathsets.tlpsrc
+ tlpkg/tlpsrc/context-notes-zh-cn.tlpsrc
tlpkg/tlpsrc/context-rst.tlpsrc
tlpkg/tlpsrc/context-ruby.tlpsrc
tlpkg/tlpsrc/context-simplefonts.tlpsrc
@@ -4718,7 +4719,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 66693
+revision 66701
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
@@ -68791,7 +68792,7 @@ containerchecksum 595821a44d10775d5fd38e292d4cd0135daf1e2a59131afd9d6fb600f319be
name collection-context
category Collection
-revision 66171
+revision 66706
shortdesc ConTeXt and packages
relocated 1
longdesc Hans Hagen's powerful ConTeXt system, http://pragma-ade.com.
@@ -68820,6 +68821,7 @@ depend context-layout
depend context-letter
depend context-lettrine
depend context-mathsets
+depend context-notes-zh-cn
depend context-rst
depend context-ruby
depend context-simplefonts
@@ -68831,8 +68833,8 @@ depend context-typescripts
depend context-vim
depend context-visualcounter
depend jmn
-containersize 568
-containerchecksum 3bab81221236bcba70222b2f68eabee302a31412e54fb2f613ad49af525119fc7c35614d8444611854b05036c990010ff1b2924dc9bee914e085fb71b20ffb49
+containersize 584
+containerchecksum efb2407595105d0545e381e8f16c508b91d714ecc16da03ea5ae8458fc36f26313910d1edae0373bb194936d4e20fd46ff20c3787bbac28c1cb3be1a10cfb9ea
name collection-fontsextra
category Collection
@@ -80006,6 +80008,149 @@ catalogue-ctan /macros/context/contrib/context-mathsets
catalogue-license other-free
catalogue-topics maths
+name context-notes-zh-cn
+category Package
+revision 66706
+shortdesc Notes on using ConTeXt MkIV
+relocated 1
+longdesc An introductory tutorial on ConTeXt, in Chinese. The document
+longdesc covers ConTeXt installation, fonts, layout design,
+longdesc cross-reference, project structure, metafun and presentation
+longdesc design.
+depend context
+containersize 508
+containerchecksum c329c69e8ddb44953ce71939a7d356f2a1548b730155b77f2dcb1aa5093719208b4fda5ba3885cf0dbebac63389e024f12ef1492bdf4a9bd69ca1e36b4e6bea2
+doccontainersize 2199704
+doccontainerchecksum dade1782d8e3c2aa8df8b341fcc8b68db418d7cd5e0e178c13ecb64a91d37d18d08987f4ca8da19184045aabf0e870861d6624410f7b67e08cabb29aaafa2c31
+docfiles size=1109
+ RELOC/doc/context/third/context-notes-zh-cn/LICENSE
+ RELOC/doc/context/third/context-notes-zh-cn/README.md details="Readme"
+ RELOC/doc/context/third/context-notes-zh-cn/ctxnotes.pdf details="The document itself"
+ RELOC/doc/context/third/context-notes-zh-cn/src/01.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/02.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/03.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/04.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/05.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/06.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/07.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/08.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/09.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/10.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/11.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/12.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/13.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/basis.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/bib-style.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/cover.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/ctxnotes.bib
+ RELOC/doc/context/third/context-notes-zh-cn/src/ctxnotes.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/doc-env.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/example/slides.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/example/style.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-floatcomb.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-metapost.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list-4.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list-5.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list-6.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list-7.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list-8.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/05-todo-list.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/06-01.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/06-02.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/06-03.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/06-04.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/06-05.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/06-three-line-table.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/11-flowchart-1.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/11-flowchart-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/11-flowchart-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/11-flowchart-4.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/11-watermark.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/12-layout-1.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/12-slides-1.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/12-slides-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/12-slides-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/12-slides-4.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/13-bookmarks.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/13-toc-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/13-toc.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/ConTeXt-layout.svg
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/aligned-1.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/aligned-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/bad-latin.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/bookmark.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/breakinglines-1.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/breakinglines-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/breakinglines-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/breakinglines-4.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/breakinglines-5.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/cmd-window.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/cow.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/ctxnotes-2.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/ctxnotes.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/defaultfonts.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/fakewords.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/fallbacks.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/fontsize-level.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/foo.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/gardeninglion.jpg
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/header.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/hello.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/hibert-1.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/hibert-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/hibert-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/hibert.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/indenting-1.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/indenting-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/letter.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/lines.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/linux-terminal-icon.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/msfonts.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/none-zhfonts.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/pagenumber.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/parindentcolor.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/pars-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/pars-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/pars-4.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/pars-5.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/pars.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/qian.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/search.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/setupbodyfont.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/slides-finished.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/slides.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/starting-area.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/style-file.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/tex-root.png
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/true-words.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/win-r.jpg
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zaoshu-2.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zaoshu-3.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zaoshu-4.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zaoshu-5.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zaoshu.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zhfonts-01.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zhfonts-02.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zhfonts-03.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/figures/zhfonts.pdf
+ RELOC/doc/context/third/context-notes-zh-cn/src/preface.tex
+ RELOC/doc/context/third/context-notes-zh-cn/src/zhfonts.tex
+catalogue-contact-repository https://github.com/liyanrui/ConTeXt-notes/issues
+catalogue-ctan /info/context-notes-zh-cn
+catalogue-license gpl3
+catalogue-topics chinese-doc
+
name context-rst
category ConTeXt
revision 47085
@@ -195388,7 +195533,7 @@ catalogue-version 1.1
name luavlna
category Package
-revision 64142
+revision 66705
shortdesc Prevent line breaks after single letter words, units, or academic titles
relocated 1
longdesc In some languages, like Czech or Polish, there should be no
@@ -195404,10 +195549,10 @@ longdesc units. The package supports both plain LuaTeX and LuaLaTeX.
longdesc BTW: "vlna" is the Czech word for "wave" or "curl" and also
longdesc denotes the tilde which, in TeX, is used for "unbreakable
longdesc spaces".
-containersize 7636
-containerchecksum 58c16981ec1515c74a2ffd7632f16d0fb28b9fe32e6e954b49be602c721110e3537a66059b149a4d5c9b652ee717ee1c736ea03d2e4df3803c1b6c4465c50bf1
-doccontainersize 95244
-doccontainerchecksum a8d808e891ee8eb4958061912d0cd7b8c89da3d352ae984b08c92f56ae1222209132e8612172392787bc27e2e62a8a487e48fe1c728c545d8afef5fb7f23747e
+containersize 9060
+containerchecksum e430128eb9e696661518c9eec72cbd3f45361a7429bc5534ae30754fed9ffb3a69d7c1079addd8e4de1457265fc8bc4f45e780a4127a55f0e8ce5a8faa5fc905
+doccontainersize 95240
+doccontainerchecksum e004195e62837c88c173f9d0602b850ff943521fbed27b6e0340df7bb67b8ee9e931e325de067ac2e14537ed7ad508741a5cf9a508c036602d57efb4bd2201a3
docfiles size=27
RELOC/doc/luatex/luavlna/README.md details="Readme"
RELOC/doc/luatex/luavlna/luavlna-doc.pdf details="Package documentation"
@@ -195429,7 +195574,7 @@ catalogue-contact-repository https://github.com/michal-h21/luavlna
catalogue-ctan /macros/luatex/generic/luavlna
catalogue-license lppl1.3
catalogue-topics typesetting czech slovak polish luatex
-catalogue-version 0.1j
+catalogue-version 0.1k
name luaxml
category Package
@@ -215779,43 +215924,46 @@ catalogue-topics graphics-use
name mpchess
category Package
-revision 66670
-shortdesc MPchess: drawing chess boards and positions with MetaPost
+revision 66703
+shortdesc Drawing chess boards and positions with MetaPost
relocated 1
longdesc This package allows you to draw chess boards and positions. The
longdesc appearance of the drawings is modern and largely inspired by
-longdesc what is offered by the excellent web site
-longdesc [Lichess.org](lichess.org). Relying on MetaPost probably allows
-longdesc more graphic flexibility than the excellent LaTeX packages.
-longdesc This package is in beta version, do not hesitate to report
-longdesc bugs, as well as requests for improvement
-containersize 21516
-containerchecksum 075638cf9b37aa97a05cd82d1e2cd0e8d5e05c333af6ef4c0bd663480df88ee66e866c10b76088b46bea6973e46f37e177ce5c16f17b55e07f09477f628166b3
-doccontainersize 1529436
-doccontainerchecksum 209db28a0aa790f70f0580faef14f9390af33480e3df2860a1e969f1c765ff28afb300ac79ccef0838825d6c8ce25e79a8f7e8e4f49ca4c1b68d7f66803052be
-docfiles size=1126
+longdesc what is offered by the excellent web site Lichess.org. Relying
+longdesc on MetaPost probably allows more graphic flexibility than the
+longdesc excellent LaTeX packages. This package is in beta version, do
+longdesc not hesitate to report bugs, as well as requests for
+longdesc improvement
+containersize 19120
+containerchecksum 2a3c66ba59f0c3efe834f06eb7d64e304c56ee7e942ddcd31d906a714d0e0a6568a2fb3f232f721ed1a7cc1af2081fcf84cc819bff5dbc74f7f838499fb0851c
+doccontainersize 1752620
+doccontainerchecksum 9f1f065939cab5e6b67b71e6845fc304d5084467046567e32f0a4e82b75b36a3707ca0736f4fc05ba2eb1398e88d7ae15acd073d947c783dd3fb25eda9b71e63
+docfiles size=1196
RELOC/doc/metapost/mpchess/LICENSE
RELOC/doc/metapost/mpchess/README.md details="Readme"
RELOC/doc/metapost/mpchess/ctan.bib
RELOC/doc/metapost/mpchess/fond.pdf
RELOC/doc/metapost/mpchess/mpchess-doc-en.pdf details="Package documentation (English)"
RELOC/doc/metapost/mpchess/mpchess-doc-en.tex
- RELOC/doc/metapost/mpchess/mpchess-doc-fr.pdf details="Package documentation (French)"
+ RELOC/doc/metapost/mpchess/mpchess-doc-fr.pdf details="Package documentation (French)" language="fr"
RELOC/doc/metapost/mpchess/mpchess-doc-fr.tex
-runfiles size=49
+ RELOC/doc/metapost/mpchess/mpchess-preamble.tex
+ RELOC/doc/metapost/mpchess/test.fen
+ RELOC/doc/metapost/mpchess/test.pgn
+runfiles size=38
RELOC/metapost/mpchess/mpchess-cburnett.mp
RELOC/metapost/mpchess/mpchess-chessboard.mp
RELOC/metapost/mpchess/mpchess-fen.mp
RELOC/metapost/mpchess/mpchess-pgn.mp
+ RELOC/metapost/mpchess/mpchess-pieces.mp
RELOC/metapost/mpchess/mpchess-skak.mp
- RELOC/metapost/mpchess/mpchess-staunty.mp
RELOC/metapost/mpchess/mpchess.mp
catalogue-contact-home https://plmlab.math.cnrs.fr/mchupin/mpchess
catalogue-contact-repository https://plmlab.math.cnrs.fr/mchupin/mpchess
catalogue-ctan /graphics/metapost/contrib/macros/mpchess
-catalogue-license lppl1.3c
-catalogue-topics graphics graphics-mpost mp-use
-catalogue-version 0.1
+catalogue-license lppl1.3c gpl2+
+catalogue-topics graphics graphics-mpost mp-use games
+catalogue-version 0.2
name mpcolornames
category Package
@@ -283514,7 +283662,7 @@ catalogue-version 4.5
name songproj
category Package
-revision 64966
+revision 66704
shortdesc Generate Beamer slideshows with song lyrics
relocated 1
longdesc This package, together with the Beamer class, is used to
@@ -283526,19 +283674,19 @@ longdesc describe a song in a natural way, and formatting it into slides
longdesc with overlays. The package comes with an additional Python
longdesc script that can be used to convert plain-text song lyrics to
longdesc the expected LaTeX markup.
-containersize 3844
-containerchecksum 404dae04055402b3ba312fac9cd115465ec73dda4d7b7a2550afc088a12465c4a55893a107a85c185286335fa4a9963c38febdc7511bd33548db29ba079e8e73
-doccontainersize 100256
-doccontainerchecksum 99c4b6bbd9d76ceebe91d3631121a6c1197143e23f6cf771d29ada608bb208173e1656276453ba781a81481ed86c382ca9bdae0db4f424c152ca15b3225bcebe
-docfiles size=30
+containersize 3944
+containerchecksum 7c6341931e78dd362cd67062518f7f6d1725c239f20f65a7e345fed03787381af08b18102f671be4913ed53aeeb669f3744330d2eb2681878939a813ade2f1ad
+doccontainersize 129596
+doccontainerchecksum 1d219f70c51484b321b6c3b8fb63a81aaa311cecf5abdba6b5cc2662d528ce5fe78a400d81dd3dbfa0e3616a65bf124e3eb78ae94e57e1a87dbce83ba32b3b64
+docfiles size=37
RELOC/doc/latex/songproj/LICENSE
RELOC/doc/latex/songproj/README.md details="Readme"
RELOC/doc/latex/songproj/examples/clementine.txt
RELOC/doc/latex/songproj/song2tex.py
RELOC/doc/latex/songproj/songproj.pdf details="Package documentation"
-srccontainersize 9260
-srccontainerchecksum 005835a9319c80acb3575d644675f1311c0a78918612e1151904f6b715c23fa333c1a67e8f566d7bcb01dce212884454120a52abd0ad15049ade3dbf9e5cf810
-srcfiles size=12
+srccontainersize 9732
+srccontainerchecksum ff8238a64adefe5fb2e2ff8b7541fce489c0759dbbfb5fa517458e404e6a7184b77782cc9ce30f2063a958e212b1d133c7c4a3b82518e7347b2cfdb930bd6cfa
+srcfiles size=13
RELOC/source/latex/songproj/Makefile
RELOC/source/latex/songproj/songproj.dtx
RELOC/source/latex/songproj/songproj.ins
@@ -283548,7 +283696,7 @@ catalogue-contact-repository https://git.ortolo.eu/songproj.git/
catalogue-ctan /macros/latex/contrib/songproj
catalogue-license bsd3
catalogue-topics verse music presentation expl3
-catalogue-version 1.0.1
+catalogue-version 1.2.0
name songs
category Package
@@ -310323,7 +310471,7 @@ catalogue-version 0.1
name texinfo
category Package
-revision 66644
+revision 66701
shortdesc Texinfo documentation system
relocated 1
longdesc Texinfo is the preferred format for documentation in the GNU
@@ -310334,8 +310482,8 @@ longdesc distribution offer online interactive use (with hypertext
longdesc linkages in some cases). The latest release of the texinfo.tex
longdesc macros and texi2dvi script may be found in the texinfo-latest
longdesc package, which are usually newer than the last full release.
-containersize 97444
-containerchecksum 4b286425e1077ffaedaa1be0fcd81bacc38197cc3e02231c1f9d20004f02f9ed121cf2c5a7bbb780dd2d95e6186f02aae9a16794b841552d61cd749f4ab279ab
+containersize 97360
+containerchecksum be460886602f1c4ab0bb50fc0a26926a246839988a8cb52bdb8033bcb3455c2d765667749df09a85fdca52201ee3702b7591d2f68773a05a5ed8bafd7398e7c9
runfiles size=109
RELOC/tex/texinfo/texinfo.ini
RELOC/tex/texinfo/texinfo.tex
@@ -310678,7 +310826,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 66693
+revision 66701
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.
@@ -310686,10 +310834,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114040
-containerchecksum 15023b5198401f822d04e77bbaf9889dfacd68abcfe9db036b748afe4304c6001c912da30f3d5012e2c984dd323aa1ba3a7b9e9482ceb8275a83fb1f23aacd92
+containersize 114036
+containerchecksum e91c5b603f12a3fe49fd063dd0b13d013e122fb4ba41bbaf11a09da5b99279d3ccf00c1ba8907652979b27af81aeade8cf97875d643965e1aeb4eebb4a2df0f3
doccontainersize 422704
-doccontainerchecksum c1f5f108a7834999581dafdb901628598b303ad8f51b4a314ddbfdcdbff719a88627a95308e1dbee38af02f0348c01801a800c1df6ea87459d282000c387a121
+doccontainerchecksum 5c747bad0b5a13220afe78c363671c2029681d176091b20e6bd4c61e22085d4abca885c125e9671645da4dd2b764a2330a48af237a04d0168b3bd2505c04fc73
docfiles size=535
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index a05fb2be8d..53137f6df0 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-f854c1c69bc551b26f31d9f74223e47a texlive.tlpdb
+bfb8f4c73aab3f9bb7f8a869af90af8b texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 449c1c3620..f3b00b3a9c 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-1951aee5555e4bf2c48cedbc2cb24ed8b364fa8b0ea704e754e283460a92e7debd321a4446213780603d539a25bbc04d0e27fb397e1cf387f5b48a04075ef0b4 texlive.tlpdb
+474cb3d20be70eed86155b288e0b8484831f51986b0f87c15bc6f72d942ef73fa65bd826304c928210cdebc2fbfef84bc9774153c34050089e9fd193c8e61af5 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 1eff09aa4a..5b587a578e 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-----
-iQEcBAEBCgAGBQJkI34TAAoJEEzhh34ZQ4xw+xIIAK1Soc6E2Ocw1/yqLt5oZowx
-lqPpqVK3Zhy8OXfLQG0/dgoHlGuhpWANPLvFkO3Mq/axwPsxLoyt56QI1ia4Jalt
-Bm8rkT2q8Kpd/aLX35YCgixiuFXSjiJPl/eqYIIMsdOQNf9yl0SuPEceqVJB+QGA
-KZ1uNHRVmoyWwZsLnuaTDMPmLDZvfnxks71ekUCtQrHiSg2fJBnjoYwxPiMph1Ob
-Pfo5wdY+sM3dcHmWFBnsDQ7Kb6bi2Qtkrs+1VuBH+h3N6LM7lzG7fXxTo+8waG/9
-jq6SujoxJRlq85Mm5jrUY8kldYNv56z9ezZkRFEc+qnddrmtQJMO2lc/NI/Bq30=
-=Y8OL
+iQEcBAEBCgAGBQJkJM9SAAoJEEzhh34ZQ4xweQ0H+wQIi9ONbqpVHxhRhoDpayPa
+OYwuYB3Ll4oBtv5fKGB1xvEad/NZw/sHefm3w+V+zBK7rBDGnyO3lwYenGY3WNwk
+IVDmOaExZ7clmYXmuUu54hy0QKUnsv6e1aTu/2RaK+3/lsAaeQkPSg5gP5JZ4DvR
+t03ksQ+Aka/HtpiFtB2R0Zd9wqNralhXa5gbldhG2xqT6SgBFze/MzV3mHupBqc4
+5n+OFce3Pc8hCZWK0ZQpSo4hkhJQM4OZvKzFSeyAG3Te7muthseemF4EnnUpZd0N
+PY+3K/FTs7W4eQFxu33xEGxr9dPm7pf/sz+sYKLhKKwbIYwbqetPK7Ol0Q+jNGw=
+=PPF3
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index c7700bfa81..ee1138faa0 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 94b8c34805..7f98d86373 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-03-29-02-02
+2023-03-30-02-02