From 982fb22d1128aa7eb39f67222f7e3d5ad694e7a3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 6 May 2020 22:01:50 +0000 Subject: optex (7may20) git-svn-id: svn://tug.org/texlive/trunk@55048 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/luatex/optex/README | 17 + Master/texmf-dist/doc/luatex/optex/op-demo.tex | 127 - Master/texmf-dist/doc/luatex/optex/op-letter.tex | 41 - Master/texmf-dist/doc/luatex/optex/op-ring.png | Bin 512984 -> 0 bytes Master/texmf-dist/doc/luatex/optex/op-slides.tex | 288 - Master/texmf-dist/doc/luatex/optex/optex-doc.pdf | Bin 1147940 -> 1172140 bytes Master/texmf-dist/doc/luatex/optex/optex-doc.tex | 21 +- .../texmf-dist/doc/luatex/optex/optex-techdoc.tex | 9 +- .../texmf-dist/doc/luatex/optex/optex-userdoc.tex | 50 +- Master/texmf-dist/doc/luatex/optex/slides-bg.png | Bin 62385 -> 0 bytes Master/texmf-dist/tex/latex/optex/base/alloc.opm | 165 + .../tex/latex/optex/base/basic-macros.opm | 97 + .../texmf-dist/tex/latex/optex/base/bib-iso690.opm | 940 ++ .../texmf-dist/tex/latex/optex/base/bib-simple.opm | 181 + .../texmf-dist/tex/latex/optex/base/cite-bib.opm | 258 + Master/texmf-dist/tex/latex/optex/base/colors.opm | 393 + Master/texmf-dist/tex/latex/optex/base/doc.opm | 266 + .../texmf-dist/tex/latex/optex/base/f-adventor.opm | 22 + Master/texmf-dist/tex/latex/optex/base/f-antt.opm | 32 + .../tex/latex/optex/base/f-baskerville.opm | 22 + Master/texmf-dist/tex/latex/optex/base/f-bonum.opm | 24 + .../texmf-dist/tex/latex/optex/base/f-cursor.opm | 22 + .../tex/latex/optex/base/f-gfsbodoni.opm | 21 + Master/texmf-dist/tex/latex/optex/base/f-heros.opm | 203 + .../tex/latex/optex/base/f-libertine-s.opm | 50 + .../tex/latex/optex/base/f-libertine.opm | 60 + Master/texmf-dist/tex/latex/optex/base/f-lido.opm | 48 + .../texmf-dist/tex/latex/optex/base/f-lmfonts.opm | 181 + .../texmf-dist/tex/latex/optex/base/f-pagella.opm | 24 + .../texmf-dist/tex/latex/optex/base/f-schola.opm | 24 + .../texmf-dist/tex/latex/optex/base/f-technika.opm | 31 + .../texmf-dist/tex/latex/optex/base/f-termes.opm | 24 + .../texmf-dist/tex/latex/optex/base/f-xcharter.opm | 24 + .../texmf-dist/tex/latex/optex/base/fams-ini.opm | 130 + Master/texmf-dist/tex/latex/optex/base/fnotes.opm | 175 + .../tex/latex/optex/base/fonts-catalog.opm | 135 + .../tex/latex/optex/base/fonts-opmac.opm | 175 + .../tex/latex/optex/base/fonts-preload.opm | 35 + .../tex/latex/optex/base/fonts-resize.opm | 349 + .../tex/latex/optex/base/fonts-select.opm | 670 + .../texmf-dist/tex/latex/optex/base/graphics.opm | 425 + .../texmf-dist/tex/latex/optex/base/hi-syntax.opm | 223 + .../texmf-dist/tex/latex/optex/base/hisyntax-c.opm | 66 + .../tex/latex/optex/base/hisyntax-html.opm | 31 + .../tex/latex/optex/base/hisyntax-python.opm | 82 + .../tex/latex/optex/base/hisyntax-tex.opm | 38 + .../texmf-dist/tex/latex/optex/base/hyperlinks.opm | 156 + .../texmf-dist/tex/latex/optex/base/hyphen-lan.opm | 203 + .../texmf-dist/tex/latex/optex/base/if-macros.opm | 258 + .../texmf-dist/tex/latex/optex/base/languages.opm | 121 + Master/texmf-dist/tex/latex/optex/base/lists.opm | 110 + Master/texmf-dist/tex/latex/optex/base/logos.opm | 62 + .../texmf-dist/tex/latex/optex/base/luatex-ini.opm | 136 + .../texmf-dist/tex/latex/optex/base/makeindex.opm | 460 + Master/texmf-dist/tex/latex/optex/base/maketoc.opm | 126 + Master/texmf-dist/tex/latex/optex/base/margins.opm | 78 + .../tex/latex/optex/base/math-macros.opm | 946 ++ .../tex/latex/optex/base/math-preload.opm | 221 + .../tex/latex/optex/base/math-unicode.opm | 236 + .../texmf-dist/tex/latex/optex/base/mathclass.opm | 1591 ++ .../tex/latex/optex/base/more-macros.opm | 241 + .../tex/latex/optex/base/multicolumns.opm | 114 + Master/texmf-dist/tex/latex/optex/base/optex.ini | 99 + Master/texmf-dist/tex/latex/optex/base/others.opm | 92 + .../texmf-dist/tex/latex/optex/base/outlines.opm | 97 + Master/texmf-dist/tex/latex/optex/base/output.opm | 245 + .../texmf-dist/tex/latex/optex/base/parameters.opm | 542 + .../tex/latex/optex/base/pdfuni-string.opm | 78 + .../tex/latex/optex/base/plain-macros.opm | 339 + .../texmf-dist/tex/latex/optex/base/prefixed.opm | 275 + .../texmf-dist/tex/latex/optex/base/ref-file.opm | 137 + .../texmf-dist/tex/latex/optex/base/references.opm | 86 + .../texmf-dist/tex/latex/optex/base/sections.opm | 411 + Master/texmf-dist/tex/latex/optex/base/slides.opm | 219 + Master/texmf-dist/tex/latex/optex/base/styles.opm | 115 + Master/texmf-dist/tex/latex/optex/base/table.opm | 211 + .../texmf-dist/tex/latex/optex/base/uni-lcuc.opm | 15944 +++++++++++++++++++ .../tex/latex/optex/base/unimath-codes.opm | 361 + .../tex/latex/optex/base/unimath-table.opm | 2467 +++ Master/texmf-dist/tex/latex/optex/base/usebib.opm | 351 + .../texmf-dist/tex/latex/optex/base/verbatim.opm | 267 + Master/texmf-dist/tex/latex/optex/demo/op-demo.tex | 127 + .../texmf-dist/tex/latex/optex/demo/op-letter.tex | 41 + Master/texmf-dist/tex/latex/optex/demo/op-ring.png | Bin 0 -> 512984 bytes .../texmf-dist/tex/latex/optex/demo/op-slides.tex | 288 + .../texmf-dist/tex/latex/optex/demo/slides-bg.png | Bin 0 -> 62385 bytes Master/texmf-dist/tex/latex/optex/pkg/qrcode.opm | 2706 ++++ Master/texmf-dist/tex/luatex/optex/alloc.opm | 165 - .../texmf-dist/tex/luatex/optex/basic-macros.opm | 97 - Master/texmf-dist/tex/luatex/optex/bib-iso690.opm | 940 -- Master/texmf-dist/tex/luatex/optex/bib-simple.opm | 181 - Master/texmf-dist/tex/luatex/optex/cite-bib.opm | 258 - Master/texmf-dist/tex/luatex/optex/colors.opm | 393 - Master/texmf-dist/tex/luatex/optex/doc.opm | 259 - Master/texmf-dist/tex/luatex/optex/f-adventor.opm | 22 - Master/texmf-dist/tex/luatex/optex/f-antt.opm | 32 - .../texmf-dist/tex/luatex/optex/f-baskerville.opm | 22 - Master/texmf-dist/tex/luatex/optex/f-bonum.opm | 24 - Master/texmf-dist/tex/luatex/optex/f-cursor.opm | 22 - Master/texmf-dist/tex/luatex/optex/f-gfsbodoni.opm | 21 - Master/texmf-dist/tex/luatex/optex/f-heros.opm | 203 - .../texmf-dist/tex/luatex/optex/f-libertine-s.opm | 50 - Master/texmf-dist/tex/luatex/optex/f-libertine.opm | 60 - Master/texmf-dist/tex/luatex/optex/f-lido.opm | 48 - Master/texmf-dist/tex/luatex/optex/f-lmfonts.opm | 181 - Master/texmf-dist/tex/luatex/optex/f-pagella.opm | 24 - Master/texmf-dist/tex/luatex/optex/f-schola.opm | 24 - Master/texmf-dist/tex/luatex/optex/f-technika.opm | 31 - Master/texmf-dist/tex/luatex/optex/f-termes.opm | 24 - Master/texmf-dist/tex/luatex/optex/f-xcharter.opm | 24 - Master/texmf-dist/tex/luatex/optex/fams-ini.opm | 130 - Master/texmf-dist/tex/luatex/optex/fnotes.opm | 175 - .../texmf-dist/tex/luatex/optex/fonts-catalog.opm | 135 - Master/texmf-dist/tex/luatex/optex/fonts-opmac.opm | 175 - .../texmf-dist/tex/luatex/optex/fonts-preload.opm | 35 - .../texmf-dist/tex/luatex/optex/fonts-resize.opm | 349 - .../texmf-dist/tex/luatex/optex/fonts-select.opm | 669 - Master/texmf-dist/tex/luatex/optex/graphics.opm | 423 - Master/texmf-dist/tex/luatex/optex/hi-syntax.opm | 223 - Master/texmf-dist/tex/luatex/optex/hisyntax-c.opm | 66 - .../texmf-dist/tex/luatex/optex/hisyntax-html.opm | 31 - .../tex/luatex/optex/hisyntax-python.opm | 82 - .../texmf-dist/tex/luatex/optex/hisyntax-tex.opm | 38 - Master/texmf-dist/tex/luatex/optex/hyperlinks.opm | 157 - Master/texmf-dist/tex/luatex/optex/hyphen-lan.opm | 202 - Master/texmf-dist/tex/luatex/optex/if-macros.opm | 257 - Master/texmf-dist/tex/luatex/optex/languages.opm | 118 - Master/texmf-dist/tex/luatex/optex/lists.opm | 110 - Master/texmf-dist/tex/luatex/optex/logos.opm | 62 - Master/texmf-dist/tex/luatex/optex/luatex-ini.opm | 136 - Master/texmf-dist/tex/luatex/optex/makeindex.opm | 460 - Master/texmf-dist/tex/luatex/optex/maketoc.opm | 126 - Master/texmf-dist/tex/luatex/optex/margins.opm | 78 - Master/texmf-dist/tex/luatex/optex/math-macros.opm | 918 -- .../texmf-dist/tex/luatex/optex/math-preload.opm | 218 - .../texmf-dist/tex/luatex/optex/math-unicode.opm | 236 - Master/texmf-dist/tex/luatex/optex/mathclass.opm | 1591 -- Master/texmf-dist/tex/luatex/optex/more-macros.opm | 216 - .../texmf-dist/tex/luatex/optex/multicolumns.opm | 114 - Master/texmf-dist/tex/luatex/optex/optex.ini | 99 - Master/texmf-dist/tex/luatex/optex/others.opm | 92 - Master/texmf-dist/tex/luatex/optex/outlines.opm | 97 - Master/texmf-dist/tex/luatex/optex/output.opm | 245 - Master/texmf-dist/tex/luatex/optex/parameters.opm | 542 - .../texmf-dist/tex/luatex/optex/pdfuni-string.opm | 78 - .../texmf-dist/tex/luatex/optex/plain-macros.opm | 339 - Master/texmf-dist/tex/luatex/optex/prefixed.opm | 239 - Master/texmf-dist/tex/luatex/optex/ref-file.opm | 137 - Master/texmf-dist/tex/luatex/optex/references.opm | 86 - Master/texmf-dist/tex/luatex/optex/sections.opm | 410 - Master/texmf-dist/tex/luatex/optex/slides.opm | 212 - Master/texmf-dist/tex/luatex/optex/styles.opm | 115 - Master/texmf-dist/tex/luatex/optex/table.opm | 211 - Master/texmf-dist/tex/luatex/optex/uni-lcuc.opm | 15944 ------------------- .../texmf-dist/tex/luatex/optex/unimath-codes.opm | 352 - .../texmf-dist/tex/luatex/optex/unimath-table.opm | 2467 --- Master/texmf-dist/tex/luatex/optex/usebib.opm | 351 - Master/texmf-dist/tex/luatex/optex/verbatim.opm | 267 - 158 files changed, 36279 insertions(+), 33395 deletions(-) delete mode 100644 Master/texmf-dist/doc/luatex/optex/op-demo.tex delete mode 100644 Master/texmf-dist/doc/luatex/optex/op-letter.tex delete mode 100644 Master/texmf-dist/doc/luatex/optex/op-ring.png delete mode 100644 Master/texmf-dist/doc/luatex/optex/op-slides.tex delete mode 100644 Master/texmf-dist/doc/luatex/optex/slides-bg.png create mode 100644 Master/texmf-dist/tex/latex/optex/base/alloc.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/basic-macros.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/bib-iso690.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/bib-simple.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/cite-bib.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/colors.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/doc.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-adventor.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-antt.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-baskerville.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-bonum.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-cursor.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-gfsbodoni.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-heros.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-libertine-s.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-libertine.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-lido.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-lmfonts.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-pagella.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-schola.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-technika.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-termes.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/f-xcharter.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/fams-ini.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/fnotes.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/fonts-catalog.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/fonts-opmac.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/fonts-preload.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/fonts-resize.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/fonts-select.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/graphics.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/hi-syntax.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/hisyntax-c.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/hisyntax-html.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/hisyntax-python.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/hisyntax-tex.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/hyperlinks.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/hyphen-lan.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/if-macros.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/languages.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/lists.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/logos.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/luatex-ini.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/makeindex.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/maketoc.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/margins.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/math-macros.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/math-preload.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/math-unicode.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/mathclass.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/more-macros.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/multicolumns.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/optex.ini create mode 100644 Master/texmf-dist/tex/latex/optex/base/others.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/outlines.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/output.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/parameters.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/pdfuni-string.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/plain-macros.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/prefixed.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/ref-file.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/references.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/sections.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/slides.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/styles.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/table.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/uni-lcuc.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/unimath-codes.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/unimath-table.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/usebib.opm create mode 100644 Master/texmf-dist/tex/latex/optex/base/verbatim.opm create mode 100644 Master/texmf-dist/tex/latex/optex/demo/op-demo.tex create mode 100644 Master/texmf-dist/tex/latex/optex/demo/op-letter.tex create mode 100644 Master/texmf-dist/tex/latex/optex/demo/op-ring.png create mode 100644 Master/texmf-dist/tex/latex/optex/demo/op-slides.tex create mode 100644 Master/texmf-dist/tex/latex/optex/demo/slides-bg.png create mode 100644 Master/texmf-dist/tex/latex/optex/pkg/qrcode.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/alloc.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/basic-macros.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/bib-iso690.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/bib-simple.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/cite-bib.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/colors.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/doc.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-adventor.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-antt.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-baskerville.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-bonum.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-cursor.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-gfsbodoni.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-heros.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-libertine-s.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-libertine.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-lido.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-lmfonts.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-pagella.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-schola.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-technika.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-termes.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/f-xcharter.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/fams-ini.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/fnotes.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/fonts-catalog.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/fonts-opmac.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/fonts-preload.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/fonts-resize.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/fonts-select.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/graphics.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/hi-syntax.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/hisyntax-c.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/hisyntax-html.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/hisyntax-python.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/hisyntax-tex.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/hyperlinks.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/hyphen-lan.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/if-macros.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/languages.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/lists.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/logos.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/luatex-ini.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/makeindex.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/maketoc.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/margins.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/math-macros.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/math-preload.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/math-unicode.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/mathclass.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/more-macros.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/multicolumns.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/optex.ini delete mode 100644 Master/texmf-dist/tex/luatex/optex/others.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/outlines.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/output.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/parameters.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/pdfuni-string.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/plain-macros.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/prefixed.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/ref-file.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/references.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/sections.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/slides.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/styles.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/table.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/uni-lcuc.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/unimath-codes.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/unimath-table.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/usebib.opm delete mode 100644 Master/texmf-dist/tex/luatex/optex/verbatim.opm (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/luatex/optex/README b/Master/texmf-dist/doc/luatex/optex/README index 6f2d9d5eec5..1a612e61790 100644 --- a/Master/texmf-dist/doc/luatex/optex/README +++ b/Master/texmf-dist/doc/luatex/optex/README @@ -6,8 +6,25 @@ This software is in public domain. See http://petr.olsak.net/optex +Files: + +base/ ... basic set of macro files used when optex.fmt is generated + and more basic macros loaded on demand during document processing. +demo/ ... examples: short document: op-demo.tex, short letter: op-letter.tex, + presentation slides: op-slides.tex. +pkg/ ... external macros. Maybe, they can be created by other authors if + the macro file conforms to the rules given in the section 2.2.5 + in the OpTeX documentation. +doc/ ... PDF version of the OpTeX documentation and sources. + History: +<0.12> The external macro qrcode.opm introduced + New directory structure: base/, demo/, pkg/, doc/ introduced. + \load macro introduced + \newif: bug fixed, other bug fixed. +<0.11> \phi, \varpi in Unicode: bug fixed + \mathstyles introduced. <0.10> Technical documentation added \_famdecl instedad \_fontdecl in font family files (incompatible change). <0.09> Syntax highlighting implemented. diff --git a/Master/texmf-dist/doc/luatex/optex/op-demo.tex b/Master/texmf-dist/doc/luatex/optex/op-demo.tex deleted file mode 100644 index ea1dd5b65df..00000000000 --- a/Master/texmf-dist/doc/luatex/optex/op-demo.tex +++ /dev/null @@ -1,127 +0,0 @@ -%% This is part of OpTeX project, see http://petr.olsak.net/optex - -\fontfam[LMfonts] % Default font family: Latin Modern - -\margins/1 a5 (1,1,1,1.4)cm % A5 paper + 1cm margins -\typosize[9/10.5] % 9pt font / 10.5pt baselineskip -\parindent=10pt % typesetting parameters -\hyperlinks \Blue\Blue % active hyperlinks -\activettchar` % in-text verbatim by `...` -\everyintt={\Red} % in-text verbatim Red -\enquotes % use \"text" for English quotation - -\tit Demonstration - -\nonum\notoc\sec Contents - -\maketoc % Table of Contents is auto-generated here - -\sec Lists - -The lists have to be surrounded by `\begitems` -and `\enditems` sequences. - -\begitems -* First item. -* Second item. - \begitems \style i - * Nested item list, - * numbered by roman numerals. - \enditems -* Last item. -\enditems - -\secc Title of\nl Subsection - -The subsection text\dots - -\sec References - -There is a numbered equation. -The number is auto-generated by `\eqmark` sequence. -$$\label[my-eq] - a^2 + b^2 = c^2 \eqmark -$$ -We can refer to Equation~\ref[my-eq] -on page~\pgref[my-eq]. -We can refer to Table~\ref[my-tab] in -Section~\ref[tab-sec] too. And Figure~\ref[my-pic] -is on page~\pgref[my-pic]. - -\sec Hyperlinks - -You can refer to \url{http://petr.olsak.net} using `\url`. -Or use `\ulink` if the raw URL needs to be hidden: -\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}. -The parameter text is colorized and it becomes -an active link if the `\hyperlinks` sequence -is used at the beginning of the document. -Internal links are activated too. - -\sec[tab-sec] Tables - -The `\table` sequence can be used -instead of \"low level" `\halign`. -The following table is framed by `\frame` sequence -in order to get a double frame. - -\bigskip -\caption/t [my-tab] Testing table. -\cskip -\centerline{% - \frame{\table{|r|c|l|}{\crl - \bf Title A & \bf Title B & \bf Title C \crll - first & second & third \cr - next & text & last \crl }}} - -\sec Images - -The images (PDF, JPG, PNG, TIFF) can be inserted -by `\inspic` sequence. The `\caption` -can be added if you need to refer to a figure. - -\label[my-pic] -\centerline {\picwidth=2.7cm \inspic{op-ring.png}} -\cskip -\caption/f The nonempty ideal of a simple ring -- - the ring itself. - -\sec Verbatim - -In-text verbatim is surrounded by the character declared -by `\activettchar` sequence. The listing can be surrounded -by `\begtt` and `\endtt` sequences -\begtt -This is verbatim. - All characters are printed $$, \, # etc. -\endtt -or it can be included by `\verbinput` from external file. - -\verbinput (98-100) op-demo.tex - -\sec Math - -The Math alphabets -`\mit`, `\cal`, `\script`, `\frak`, `\bbchar`, `\bi` -are provided. For example: -$$ - {\bi A} = \pmatrix {\cal C & \script C \cr - \frak M & \bbchar R }. -$$ -Hundreds of AMS symbols are available: -$\sphericalangle, \boxplus, \Cup, \Cap, \ldots$ - -\sec Others - -The `\fontfam` command selects a desired family of fonts. -The `\typosize` or `\typoscale` sequences set the size -and baselineskip of used fonts (including math fonts). -The `\fnote` generates a footnote\fnote{Like this} and -`\mnote` generates a margin note. -The `\margins` sets margins and paper dimensions. -The `\cite` sequence can be used for bibliographic citations. -The `\bib` sequence creates one bibliography record. Or -you can use `\usebib` for direct access to the {\tt.bib} files. -The list of features does not end here\dots - -\bye diff --git a/Master/texmf-dist/doc/luatex/optex/op-letter.tex b/Master/texmf-dist/doc/luatex/optex/op-letter.tex deleted file mode 100644 index 3c86405e9a9..00000000000 --- a/Master/texmf-dist/doc/luatex/optex/op-letter.tex +++ /dev/null @@ -1,41 +0,0 @@ -%% This is part of OpTeX project, see http://petr.olsak.net/optex - -\letter % \letter OpTeX style activated -\fontfam[bonum] -\cslang - -\address - Vážený pan - Mgr. Bořek Byrokrat - ředitel Ústavu pro další možnosti - Úřední 789 - 123 45 Praha 1 - -\hfill V Praze dne \today - -\subject Žádost o možnost další možnosti - -Vážený pane řediteli - -na základě Vašeho dopisu č.j.~123456/78-dat a elektronické výzvy si dovoluji -Vás požádat o prozkoumání mé možnosti další možnosti. -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do -eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim -veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea -commodo consequat. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do -eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim -veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea -commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit -esse cillum dolore eu fugiat nulla pariatur. - -S úctou - -\hfill \address - {\it Petr Olšák} - specialista na \TeX/ - Ulice 12345 - Praha 13 - -\bye diff --git a/Master/texmf-dist/doc/luatex/optex/op-ring.png b/Master/texmf-dist/doc/luatex/optex/op-ring.png deleted file mode 100644 index de7811df83e..00000000000 Binary files a/Master/texmf-dist/doc/luatex/optex/op-ring.png and /dev/null differ diff --git a/Master/texmf-dist/doc/luatex/optex/op-slides.tex b/Master/texmf-dist/doc/luatex/optex/op-slides.tex deleted file mode 100644 index 1787cf3aff4..00000000000 --- a/Master/texmf-dist/doc/luatex/optex/op-slides.tex +++ /dev/null @@ -1,288 +0,0 @@ -%% This is part of OpTeX project, see http://petr.olsak.net/optex - -\slides % OpTeX slides style activated - -\catcode`<=13 % special printing of -\def<#1>{\hbox{$\langle$\it#1\/$\rangle$}} -\everyintt={\catcode`\<=13} - -\hyperlinks\Blue\Blue % hyperlinks are used in the title page -\backgroundpic{slides-bg.png} % background picture - -\activettchar` % inline verbatim -\enquotes % English quotes \"..." - -\slideshow %------------------------------------------------------------ - - -\tit \OpTeX/ slides - -\subtit Petr Olšák\nl petr@olsak.net - -\subtit\rm \url{http://petr.olsak.net/optex} - -\pg; %------------------------------------------------------------------ - -\sec Basics - -* The the simple document looks like: - -\begtt -\slides % style initialized -%\wideformat % 16:9 -\slideshow % partially uncovering ideas - -\sec First slide -text -\pg; - -\sec Second slide -text -\pg. -\endtt - -* If `\slideshow` is missing or commented out then - \"partially uncovering ideas" (see later) are deactivated. It is useful - for printing. -* The `\slideshow` must be the last command in the declaration part of the - document. -* By default, the slides have A5 landscape format. - You can declare `\wideformat`. Then the height is the same - but width is 263\,mm, i.\,e.~the ratio width:height is 16:9. - -\pg; %------------------------------------------------------------------ - -\sec Title slide - -* Title of the document (used at the first slide) is created - by `\tit Title` (terminated by end of line). -* The `\subtit Author name etc.`\ (terminated by end of line) - can be used after `\tit` at the first slide. -* You can use `\nl` for new line in paragraphs or titles. - -\sec Default design - -* The paragraph texts are ragged right. -* Titles, subtitles and section titles are centered. -* The `\sec` and `\secc` are printed without numbers. -* Paragraph indentation is zero. There is a little vertical space between - paragraphs. -* The Heros font family (aka Helvetica) is initialized as default.\nl - Sans-serif FiraMath font for math typesetting is used. -* The items in lists are started by blue square (`\type X` and `\type x` ). - -\pg; %------------------------------------------------------------------ - -\sec One slide (one page) - -* Top level item list is activated by default. The asterisk `*` opens - new item at the top level list. -* Nested items lists (second and more level) should be created in - the `\begitems`\dots`\enditems` environments. -* Each slide (page) must be terminated by `\pg;` command. -* Lats slide must be terminated by `\pg.` command or by `\bye`. - -\begtt -\sec My ideas - -* First idea -* Second idea - \begitems - * First sub-idea - * Second sub-idea - \enditems -* Final idea -\endtt - -* Note: each page is processed in a group, so: put your own definitions - (if~exist) before `\slideshow` or use `\global` assignment. - -\pg; %------------------------------------------------------------------ - -\sec Partially uncovering ideas - -* The control sequence `\pg` must be followed by:\pg+ -\begitems -* the character `;` -- normal next page,\pg+ -* the character `.` -- the end of the document,\pg+ -* the character `+` -- next page keeps the same text - and a next text is added (usable for partially uncovering of ideas).\pg+ -\enditems - -* Summary: -\begtt -\pg; ... next page -\pg. ... the end of the document -\pg+ ... uncover next text at the same page -\endtt -\pg+ - -* When `\slideshow` is not declared then `\pg+` is deactivated.\pg+ -* The `\pg+` creates a new \"virtual page", so the current paragraph is - terminated. - -\pg; %------------------------------------------------------------------ - -\sec Example with partially uncovering ideas - -The previous page was created by: - -\begtt -\sec Partially uncovering ideas - -* The control sequence `\pg` must be followed by:\pg+ - -\begitems -* the character `.` -- normal next page,\pg+ -* the character `;` -- the end of the document,\pg+ -* the character `+` -- next ... \pg+ -\enditems - -* Summary -... -* When `\slideshow` is not declared - then `\pg+` is deactivated.\pg+ -* The `\pg+` creates a new \"virtual page", - so the current paragraph is terminated. -\pg; -\endtt - -\pg; %------------------------------------------------------------------ - -\sec Notes - -* When `\slideshow` is active then you cannot reference sections by - hyperlinked `\ref`. Only `\pgref` works (and goes to the last layer - of the referenced page). -* If the text overfull the page (slide) then it follows to the next page without - saying explicitly `\pg;`. But `\slideshow` cannot work in such case.\pg+ - -\sec More about design - -* You can use `\backgroundpic{}` for putting an image to the backgroud. -* You can re-declare `\footline` or re-define internal macros for design as - you wish. -* You can put the images or text wherever using `\putimege` or `\puttext` - macros... - -\pg; %------------------------------------------------------------------ - -\sec Putting images and texts wherever - -* `\puttext {}` puts a to the desired place: - It moves the current point and , puts the and returns - back, so the typesetting continues from previous position. The parameters - and are dimensions. For example - -\begtt -\puttext 0mm 50mm {\Red HELLO} -\endtt - - \puttext 0mm 50mm {\Red HELLO} - prints red HELLO, as shown here.\pg+ - -* `\putpic {}` - puts the image with desired and at the position like - `\puttext` puts the text. - - \putpic .8\hsize 20mm 30mm \nospec {op-ring.png} -* The ring above is the result of - -\begtt -\putpic .8\hsize 20mm 30mm \nospec {op-ring.png} -\endtt - % - used at beginning of this paragraph.\pg+ -* Use `\nospec` for or of the image if you don't want to specify both - dimensions (because you don't want to change the image aspect ratio). - -\pg; %------------------------------------------------------------------ - -\sec Limits of the \code{\\pg+} sequence - -* The \code{\\pg+} sequence (partially uncovering ideas) cannot be used inside - a~group. -* The exception is the nested environment `\begitems...\enditems`. -* The `\pg+` always finalizes the current paragraph. - It is impossible to hide only a part of horizontal mode.\pg+ - -\sec The \code{\\layers}\,...\code{\\endlayers} environment - -If you really need something unsupported by `\pg+` then you can use - -\begtt \catcode`\<=13 -\layers - -\endlayers -\endtt - -* The should include conditions like - `\ifnum\layernum...` or `\ifcase\layernum`. - It is printed times to more slide pages (layers) with the same - surrounding text. See next page... - -\pg; %------------------------------------------------------------------ - -\sec Example of \code{\\layers} environment - -The `\slides` style provides a shortcut `\use` and a macro `\pshow` (means -partially show): - -\begtt -\def\use#1#2{\ifnum\layernum#1\relax#2\fi} -\def\pshow#1{\use{=#1}\Red \use{<#1}\Transparent \ignorespaces} -\endtt - -The `{\pshow }` prints in Red when current layer is equal -to or it prints normally when current layers is greater than . -The transparent (invisible) font is used in other cases. - -The following dance: -\layers 3 -{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.} -\endlayers -\pg+ - -was generated by - -\begtt -\layers 3 -{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.} -\endlayers -\endtt - -\pg+ -* The is treated as macro parameter. So, you cannot use verbatim - nor `\sec` titles here. Maximal one `\layers` environment can be per one - page (terminated by `\pg+` or `\pg;` or `\pg.` - -\pg; %------------------------------------------------------------------ - -\sec Comparison \OpTeX/ slides with Beamer\fnote{\url{http://www.ctan.org/pkg/beamer}} - -The \LaTeX{} package {\bf\Blue Beamer} gives much more features and many themes -are prepared for Beamer, {\bf\Red but} -\pg+ -* the user of Beamer is forced to {\em program} his/her document using - dozens of \code{\\begin{foo}} and \code{\\end{foo}} and many another - programming constructions,\pg+ -* plain \TeX{} gives you a possibility to simply - {\em write} your document with minimal markup. The result is more compact. - You can concentrate to the contents of your document, not to the - programming syntax.\pg+ -* User needs to read 250 pages of doc for understanding Beamer,\pg+ -* on the other hand, you need to read only ten - slides\fnote{this eleventh slide isn't counted} - and you are ready to use {\bf\Blue\OpTeX/ slides}. - -\pg; %------------------------------------------------------------------ - -\null -\vskip2cm -\centerline{\typosize[35/40]\bf Thanks for your attention}\pg+ - -\vskip2cm -\centerline{\Blue\typosize[60/70]\bf Questions?} - -\pg. %----------------------------- THE END ---------------------------- - diff --git a/Master/texmf-dist/doc/luatex/optex/optex-doc.pdf b/Master/texmf-dist/doc/luatex/optex/optex-doc.pdf index 7f9ec85ac85..caaf6319c78 100644 Binary files a/Master/texmf-dist/doc/luatex/optex/optex-doc.pdf and b/Master/texmf-dist/doc/luatex/optex/optex-doc.pdf differ diff --git a/Master/texmf-dist/doc/luatex/optex/optex-doc.tex b/Master/texmf-dist/doc/luatex/optex/optex-doc.tex index b4e41b68747..267474b24b5 100644 --- a/Master/texmf-dist/doc/luatex/optex/optex-doc.tex +++ b/Master/texmf-dist/doc/luatex/optex/optex-doc.tex @@ -1,33 +1,34 @@ %% This is part of OpTeX project, see http://petr.olsak.net/optex -% Run optex optex-doc (three times) to generate OpTeX documentation. +% Run optex optex-doc +% (three times) to generate OpTeX documentation including references and the index. -\input doc.opm \let\enddocument=\endinput +\load [doc.opm] \let\enddocument=\endinput -\typosize[10/12] +\typosize[10/12] % Main size (used in techdoc) -\let\new=\relax +\begingroup \typosize [11/13.5] % Different size used in useroc. -\begingroup \typosize [11/13.5] +\insertoutline{OpTeX} % PDF outlines generated from TOC -\insertoutline{OpTeX} +% Title: \vglue1cm \centerline{\setfontsize{at50pt}\rm\OpTeX} \vskip-8mm \tit Format Based on Plain \TeX/ and OPmac\fnotemark1 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\hfill Version 0.10 +\hfill Version 0.12 \centerline{\it Petr Olšák, 2020} \bigskip \centerline{\url{http://petr.olsak.net/optex}} -\fnotetext {The OPmac package is a set of simple additional macros to Plain \TeX{}. It -enables users to take advantage of \LaTeX/ functionality but keeps +\fnotetext {The OPmac package is a set of simple additional macros to Plain \TeX{}. +It enables users to take advantage of \LaTeX/ functionality but keeps Plain \TeX/ simplicity. See \url{http://petr.olsak.net/opmac-e.html} for more information about it.} diff --git a/Master/texmf-dist/doc/luatex/optex/optex-techdoc.tex b/Master/texmf-dist/doc/luatex/optex/optex-techdoc.tex index 802a87d89f0..561f2a86855 100644 --- a/Master/texmf-dist/doc/luatex/optex/optex-techdoc.tex +++ b/Master/texmf-dist/doc/luatex/optex/optex-techdoc.tex @@ -1,9 +1,10 @@ %% This is part of OpTeX project, see http://petr.olsak.net/optex % This file is read from optex-doc.tex -% Use: optex optex-doc (three times) to create whole documentation. +% Use: optex optex-doc +% (three times) to create whole documentation including all references and the index. -\ifx\printdoc\undefined \input doc.opm \fi +\load [doc.opm] \chap Technical documentation @@ -81,9 +82,7 @@ the `\dump` command. \printdoctail prefixed.opm \secc The implementation of the name spaces -\edef\_Endcode{\_bslash _endcode\_pcent} \printdoc prefixed.opm -\edef\_Endcode{\_bslash _endcode} \sec pdf\TeX/ initialization \printdoctail luatex-ini.opm @@ -124,7 +123,7 @@ Differences are mentioned in the documentation below. \secc Implementation of the Font Selection System \printdoc fonts-select.opm -\sec Preloaded fonts for math mode +\sec [math-preload] Preloaded fonts for math mode \printdoctail math-preload.opm \printdoc math-preload.opm diff --git a/Master/texmf-dist/doc/luatex/optex/optex-userdoc.tex b/Master/texmf-dist/doc/luatex/optex/optex-userdoc.tex index 470214dfdc3..d9c537559f9 100644 --- a/Master/texmf-dist/doc/luatex/optex/optex-userdoc.tex +++ b/Master/texmf-dist/doc/luatex/optex/optex-userdoc.tex @@ -3,6 +3,8 @@ % This file is read from optex-doc.tex % Use: optex optex-doc (three times) to create whole documentation. +\let\new=\relax + \sec Starting with \OpTeX/ %%%%%%%%%%%%%%%%%%%%%%%%% @@ -389,7 +391,7 @@ The following math alphabets are available: The last two selectors \^`\bf` and \^`\bi` select the sans serif fonts in math regardless the current text font family. This is common notation for vectors and -matrices. You can re-declare it, see the file `unimath-codes.opm` where +matrices. You can re-declare them, see the file `unimath-codes.opm` where Unicode math variants of \^`\bf` and \^`\bi` selectors are defined. The math fonts can be scaled by \^`\typosize` and \^`\typoscale` macros. @@ -401,7 +403,9 @@ is usable for math formulae in titles typeset in bold, for example. You can use \^`\mathbox{}` inside math mode. It behaves as `{\hbox{}}` (i.e. the is printed in horizontal non-math mode) but the size of the is adapted to the context of math size (text or script or -scriptscript). +scriptscript). Moreover, there is the macro \^`\mathstyles{}` which depends on +the current math style. It is documented at the end of the +section~\ref[math-macros]. \sec Typical elements of document @@ -1599,6 +1603,30 @@ Analogical declaration macro `\book` is not prepared. Each book needs an individual typographical care. You need to create specific macros for design. +\secc Loading other macro packages +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +You can load more macro packages by `\input{}` or by +\^`\load[]`. The first case is \TeX/ primitive command, it can be +used in the alternative old syntax `\input ` too. The +second case allows to specify a comma separated list of included files. +Moreover, the \^`\load` macro loads each macro file only once, it sets +temporarily standard category codes during loading and it tries to +load `.opm` or `.tex` or ``, first occurence +wins. Example: +\begtt +\load [qrcode, tikz] +\endtt +% +does `\input qrcode.opm` \,and `\input tikz.tex` \,and it saves +local information about the fact that these file names +`qrcode` and `tikz` were already used, i.\,e. next \^`\load` will skip them. + +It is strongly recommended to use the `\load` macro for loading external +macros, if you need them. On the other hand, if your document is structured +to more files, use simply the `\input` primitive. + + \secc Lorem ipsum dolor sit %%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1658,7 +1686,7 @@ put it as the first command in your document: \sec Summary %%%%%%%%%%%% -\begtt \typosize[10/12]\adef!{\string\endtt}\adef&{\kern.25em} +\begtt \typosize[9/11]\adef!{\string\endtt}\adef&{\kern.25em} \tit Title (terminated by end of line) \chap Chapter Title (terminated by end of line) \sec Section Title (terminated by end of line) @@ -1692,6 +1720,7 @@ put it as the first command in your document: \bib [labname] % an item in the list of references \usebib/? (style) bib-base % direct using of .bib file, ? in {s,c} +\load [] % loadaing macro files \fontfam [FamilyName] % selection of font family \typosize [font-size/baselineskip] % size setting of typesetting \typoscale [factor-font/factor-baselineskip] % size scaling @@ -1738,11 +1767,17 @@ use after the command \~`\fontfam[LMfonts]` which reads the fonts in OTF format. \new -The text accents macros like `\'`, `\v`, `\"` are undefined\fnote +Plain \TeX/ defines `\newcount`, `\bye` etc. as `\outer` macros. \OpTeX/ +doesn't set any macro as `\outer`. Macros like `\TeX`, `\rm` are defined as +`\protected`. + +\new +The text accents macros `\"`, `\'`, `\v`, `\u`, `\=`, `\^`, `\.`, `\H`, +`\~`, \code{\\`}, `\t` are undefined\fnote {The math accents macros like `\acute`, `\bar`, `\dot`, `\hat` still work.} in \OpTeX/. Use real -letters like á, ř, ž in your source document instead these old accents macros. -If you really want to use them, you can initialize them by \^`\oldaccents` +letters like á, ř, ž in your source document instead of these old accents macros. +If you really want to use them, you can initialize them by the \^`\oldaccents` command. But we don't recommend it. \new @@ -1756,6 +1791,9 @@ The origin for typographical area is not at top left 1\,in 1\,in coordinates but at top left paper corner exactly. For example, `\hoffset` includes directly left margin. +The `\sec` macro is reserved to sections but original Plain \TeX/ declares this +control sequence for math secans. + \enddocument diff --git a/Master/texmf-dist/doc/luatex/optex/slides-bg.png b/Master/texmf-dist/doc/luatex/optex/slides-bg.png deleted file mode 100644 index 4ac1ad8c38c..00000000000 Binary files a/Master/texmf-dist/doc/luatex/optex/slides-bg.png and /dev/null differ diff --git a/Master/texmf-dist/tex/latex/optex/base/alloc.opm b/Master/texmf-dist/tex/latex/optex/base/alloc.opm new file mode 100644 index 00000000000..7e03ae77b7d --- /dev/null +++ b/Master/texmf-dist/tex/latex/optex/base/alloc.opm @@ -0,0 +1,165 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +\_codedecl \newdimen {Allocators for registers <2020-01-23>} % loaded in format + + \_doc ----------------------------- + The limits are set first. + \_cod ----------------------------- + +\_chardef\_maicount = 65535 % Max Allocation Index for counts registers in LuaTeX +\_let\_maidimen = \_maicount +\_let\_maiskip = \_maicount +\_let\_maimuskip = \_maicount +\_let\_maibox = \_maicount +\_let\_maitoks = \_maicount +\_chardef\_mairead = 15 +\_chardef\_maiwrite = 15 +\_chardef\_maifam = 255 + + \_doc ----------------------------- + Each allocation macro needs its own counter. + \_cod ----------------------------- + +\_countdef\_countalloc=10 \_countalloc=255 +\_countdef\_dimenalloc=11 \_dimenalloc=255 +\_countdef\_skipalloc=12 \_skipalloc=255 +\_countdef\_muskipalloc=13 \_muskipalloc=255 +\_countdef\_boxalloc=14 \_boxalloc=255 +\_countdef\_toksalloc=15 \_toksalloc=255 +\_countdef\_readalloc=16 \_readalloc=-1 +\_countdef\_writealloc=17 \_writealloc=-1 +\_countdef\_mathalloc=18 \_mathalloc=3 + + \_doc ----------------------------- + The common allocation macro + \`\_allocator` `\ {} \` + is defined. This idea was used in classical plain \TeX/ by + Donald Knuth too but the macro from plain \TeX/ seems to be + more complicated:). + \_cod ----------------------------- + +\_def\_allocator #1#2#3{% + \_global\_advance\_cs{_#2alloc}by1 + \_ifnum\_cs{_#2alloc}>\_cs{_mai#2}% + \_errmessage{No room for a new \_ea\_string\_csname #2\_endcsname}% + \_else + \_global#3#1=\_cs{_#2alloc}% + \_wlog{\_string#1=\_ea\_string\_csname #2\_endcsname\_the\_cs{_#2alloc}}% + \_fi +} + + \_doc ----------------------------- + The allocation macros + \`\newcount`, \`\newdimen`, \`\newskip`, \`\newmuskip`, \`\newbox`, + \`\newtoks`, \`\newread`, \`\newwrite` and \`\newmath` + are defined here. + \_cod ----------------------------- + +\_def\_newcount #1{\_allocator #1{count}\_countdef} +\_def\_newdimen #1{\_allocator #1{dimen}\_dimendef} +\_def\_newskip #1{\_allocator #1{skip}\_skipdef} +\_def\_newmuskip #1{\_allocator #1{muskip}\_muskipdef} +\_def\_newbox #1{\_allocator #1{box}\_chardef} +\_def\_newtoks #1{\_allocator #1{toks}\_toksdef} +\_def\_newread #1{\_allocator #1{read}\_chardef} +\_def\_newwrite #1{\_allocator #1{write}\_chardef} +\_def\_newmath #1{\_allocator #1{fam}\_chardef} + +\_public \newcount \newdimen \newskip \newmuskip \newbox \newtoks \newread \newwrite \newmath ; + + \_doc ----------------------------- + The \`\newinsert` macro is defined differently than others. + \_cod ----------------------------- + +\_newcount\_insertalloc \_insertalloc=255 +\_chardef\_insertmin = 201 + +\_def\_newinsert #1{% + \_advance\_insertalloc by-1 + \_ifnum\_insertalloc <\_insertmin + \_errmessage {No room for a new \_string\insert}% + \_else + \_global\_chardef#1=\_insertalloc + \_wlog {\_string#1=\_string\_insert\_the\_insertalloc}% + \_fi +} +\_public \newinsert ; + + \_doc ----------------------------- + Other allocation macros \`\newattribute` and \`\newcatodetable` + have their counter allocated by the `\newcount` macro. + \_cod ----------------------------- + +\_newcount \_attributealloc \_attributealloc=0 +\_chardef\_maiattribute=\_maicount +\_def\_newattribute #1{\_allocator #1{attribute}\_attributedef} + +\_newcount \_catcodetablealloc \_catcodetablealloc=10 +\_chardef\_maicatcodetable=32767 +\_def\_newcatcodetable #1{\_allocator #1{catcodetable}\_chardef} + +\_public \newattribute \newcatcodetable ; + + \_doc ----------------------------- + We declare public and private versions of `\tmpnum` and `\tmpdim` + registers separately. They are independent registers. + \_cod ----------------------------- + +\_newcount \tmpnum \_newcount \_tmpnum +\_newdimen \tmpdim \_newdimen \_tmpdim + + \_doc ----------------------------- + A few registers are initialized like in plain\TeX/. Note that `\z@` and `\z@skip` from + plain\TeX/ is `\zo` and `\zoskip` because we absolutely + don't support the `@` category dance. + Note that `\p@` is not defined because we can write 1pt which is more + legible. + \_cod ----------------------------- + +\_newdimen\_maxdimen \_maxdimen=16383.99999pt % the largest legal +\_newskip\_hideskip \_hideskip=-1000pt plus 1fill % negative but can grow +\_newskip\_centering \_centering=0pt plus 1000pt minus 1000pt +\_newskip\_zoskip \_zoskip=0pt plus0pt minus0pt +\_newbox\_voidbox % permanently void box register + +\_public \maxdimen \hideskip \centering \zoskip \voidbox ; + +\_endcode %--------------------------------------------------- + +Like plain\TeX, the allocators `\newcount`, `\newwrite`, etc. are defined. +The registers are allocated from 256 to the `\_mai` which is 65535 in +\LuaTeX/. + +Unlike in Plain\TeX/, the mentioned allocators are not `\outer`. + +User can use `\dimen0` to `\dimen200` and similarly for `\skip`, +`\muskip`, `\box` and `\toks` directly. User can use +`\count20` to `\count200` directly too. This is the same +philosophy like in old plain\TeX/, but the range of directly used registers +is wider. + +Inserts are allocated form 254 to 201 using `\newinsert`. + +You can define your own allocation concept (for example for allocation of +arrays) from top of registers array. The example shows a definition of +the array-like declarator of counters. + +\nobreak +\begtt +\newcount \_maicount % redefine maximal allocation index as variable +\_maicount = \maicount % first value is top of the array + +\def\newcountarray #1[#2]{% \newcountarray \foo[100] + \advance\_maicount by -#2\relax + \ifnum \_countalloc > \_maicount + \errmessage{No room for a new array of \string\count}% + \else + \chardef#1=\_maicount + \fi +} +\def\usecount #1[#2]{% \usecount \foo[2] + \count\numexpr#1+#2\relax +} +\endtt + + diff --git a/Master/texmf-dist/tex/latex/optex/base/basic-macros.opm b/Master/texmf-dist/tex/latex/optex/base/basic-macros.opm new file mode 100644 index 00000000000..512678c312a --- /dev/null +++ b/Master/texmf-dist/tex/latex/optex/base/basic-macros.opm @@ -0,0 +1,97 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +\_codedecl \sdef {Basic macros for OpTeX <2020-02-14>} % loaded in format + + \_doc ------------------------------ + \`\bgroup`, \`\egroup`, \`\empty`, \`\space`, \`\null` and \`\wlog` + are classical macros from plain \TeX/. + \_cod ------------------------------ + +\_let\_bgroup={ \_let\_egroup=} +\_def \_empty {} +\_def \_space { } +\_def \_null {\_hbox{}} +\_def \_wlog {\_immediate\_write-1 } % write on log file (only) + +\_public \bgroup \egroup \empty \space \null \wlog ; + + \_doc ------------------------------ + \`\bslash` is \"normal backslash" with category code 12. + \`\nbb` and \`\pcent` are double backslash and normal~`%`, + they should be used in lua codes, for example. + \_cod ------------------------------ + +\_edef \_bslash {\_csstring\\} +\_edef \_nbb {\_bslash\_bslash} +\_edef \_pcent{\_csstring\%} + +\_public \bslash \nbb \pcent ; + + \_doc ------------------------------ + \`\sdef` `{}` is equivalent to `\def\`, where `\` is a control + sequence. You can use arbitrary parameter mask after `\sdef{}`, don't + put the (unwanted) space immediately after closing brace \code{\}}. + \nl + \`\sxdef` `{}` is equivalent to `\xdef\`. + \nl + \`\slet` `{}{}` is equivalent to `\let \ = \`. + \_cod ------------------------------ + +\_def \_sdef #1{\_ea\_def \_csname#1\_endcsname} +\_def \_sxdef #1{\_ea\_xdef \_csname#1\_endcsname} +\_def \_slet #1#2{\_ea\_let \_csname#1\_ea\_endcsname \_csname#2\_endcsname} + +\_public \sdef \sxdef \slet ; + + \_doc ------------------------------ + \`\adef` `{}{}` puts the as active character and defines it + as `{}`. You can declare a macro with parameters too. For example + `\adef @#1{...$1...}`. + \_cod ------------------------------ + +\_def \_adef #1{\_catcode`#1=13 \_begingroup \_lccode`\~=`#1\_lowercase{\_endgroup\_def~}} +\_public \adef ; + + \_doc ------------------------------ + \`\cs` `{}` is only a shortcut to `\csname \endcsname`, but you need + one more `\_ea` if you need to get the real control sequence `\`. + \nl + \`\trycs` `{}{}` expands to `\` + if it is defined else to the ``. + \_cod ------------------------------ + +\_def \_cs #1{\_csname#1\_endcsname} +\_def \_trycs#1#2{\_ifcsname #1\_endcsname \_csname #1\_endcsname \_else #2\_fi} +\_public \cs \trycs ; + + \_doc ------------------------------ + \`\addto` `\macro{}` adds `` to your `\macro`, which must be defined. + \_cod ------------------------------ + +\_long\_def \_addto #1#2{\_ea\_def\_ea#1\_ea{#1#2}} +\_public \addto ; + + \_doc ------------------------------ + \`\opwarning` `{}` prints warning on the terminal and to the log file. + \_cod ------------------------------ + +\_def \_opwarning #1{\_wterm{WARNING: #1.}} +\_public \opwarning ; + + \_doc ------------------------------ + \`\loggingall` and \`\tracingall` are defined similarly as in + plain \TeX/, but they print + more logging information to the log file and to the terminal. + \_cod ------------------------------ + +\_def\_loggingall{\_tracingcommands=3 \_tracingstats=2 \_tracingpages=1 + \_tracingoutput=1 \_tracinglostchars=1 \_tracingmacros=2 + \_tracingparagraphs=1 \_tracingrestores=1 \_tracingscantokens=1 + \_tracingifs=1 \_tracinggroups=1 \_tracingassigns=1 } +\_def\_tracingall{\_tracingonline=1 \_loggingall} + +\_public \loggingall \tracingall ; + +\_endcode % ------------------------------------- + + diff --git a/Master/texmf-dist/tex/latex/optex/base/bib-iso690.opm b/Master/texmf-dist/tex/latex/optex/base/bib-iso690.opm new file mode 100644 index 00000000000..b569de0d309 --- /dev/null +++ b/Master/texmf-dist/tex/latex/optex/base/bib-iso690.opm @@ -0,0 +1,940 @@ +% This is part of OpTeX project, see http://petr.olsak.net/optex + +% bibliography style (iso690), version <2020-03-10>, loaded on demand by \usebib + +\_ifx\_optexbibstyle\_undefined \_errmessage + {This file can be read by: \_string\usebib/? (iso690) bibfiles command only} + \_endinput \_fi + + \_doc ----------------------------- + \`\_maybetod` (alias `\.` in the style file group) does not put second dot. + \_cod ----------------------------- + +\_def\_maybedot{\_ifnum\_spacefactor=\_sfcode`\.\_relax\_else.\_fi} +\_tmpnum=\_sfcode`\. \_advance\_tmpnum by-2 \_sfcode`\.=\_tmpnum +\_sfcode`\?=\_tmpnum \_sfcode`\!=\_tmpnum +\_let\.=\_maybedot % prevents from double periods + + \_doc ----------------------------- + Option field. + \_cod ----------------------------- + +\_CreateField {option} +\_def\_isbiboption#1#2{\_edef\_tmp{\_noexpand\_isbiboptionA{#1}}\_tmp} +\_def\_isbiboptionA#1{\_def\_tmp##1 #1 ##2\_relax{% + \_if^##2^\_csname iffalse\_ea\_endcsname \_else\_csname iftrue\_ea\_endcsname \_fi}% + \_ea\_tmp\_biboptionsi #1 \_relax} +\_def\_bibopt[#1]#2#3{\_isbiboption{#1}\_iftrue\_def\_tmp{#2}\_else\_def\_tmp{#3}\_fi\_tmp} +\_def\_biboptionvalue#1#2{\_def\_tmp##1 #1:##2 ##3\_relax{\_def#2{##2}}% + \_ea\_tmp\_biboptionsi #1: \_relax} + +\_def\_readbiboptions{% + \_RetrieveFieldIn{option}\_biboptionsi + \_toks1=\_ea{\_biboptionsi}% + \_edef\_biboptionsi{\_space \_the\_toks1 \_space \_the\_biboptions \_space}% +} +\_newtoks\_biboptions +\_public \biboptions ; + + \_doc ----------------------------- + Formating of Author/Editor lists. + \_cod ----------------------------- + +\_def\_firstauthorformat{% + \_upper{\_Lastname}\_bprintc\_Firstname{, *}\_bprintc\_Von{ *}\_bprintc\_Junior{, *}% +} +\_def\_otherauthorformat{% + \_bprintc\_Firstname{* }\_bprintc\_Von{* }\_upper{\_Lastname}\_bprintc\_Junior{, *}% +} +\_def\_commonname{% + \_ifnum\_NameCount=1 + \_firstauthorformat + \_ifx\_dobibmark\_undefined \_edef\_dobibmark{\_Lastname}\_fi + \_else + \_ifnum0\_namecount=\_NameCount + \_ifx\_maybeetal\_empty \_bibconjunctionand\_else , \_fi + \_else , \_fi + \_otherauthorformat + \_fi +} +\_def\_authorname{% + \_ifnum\_NameCount>0\_namecount\_relax\_else \_commonname \_fi + \_ifnum\_NameCount=0\_namecount\_relax \_maybeetal \_fi +} +\_let\_editorname=\_authorname + +\_def\_prepareauedoptions#1{% + \_def\_mabyetal{}\_csname lb@abbreviatefalse\_endcsname + \_biboptionvalue{#1max}\_authormax + \_biboptionvalue{#1min}\_authormin + \_biboptionvalue{#1pre}\_authorpre + \_biboptionvalue{#1print}\_authorprint + \_isbiboption{#1etal}\_iftrue \_def\_maybeetal{\_Mtext{bib.etal}}\_fi + \_biboptionvalue{#1trim}\_autrim + \_let\_namecountraw=\_namecount + \_ifx\_authormax\_empty \_else + \_ifnum 0\_authormax<0\_namecount + \_edef\_namecount{\_ifx\_authormin\_empty\_authormax\_else\_authormin\_fi}% + \_def\_maybeetal{\_Mtext{bib.etal}}% + \_fi\_fi + \_ifx\_autrim\_empty \_def\_autrim{10000}\_fi + \_ifnum\_autrim=0 \_def\_autrim{10000}\_fi + \_ifnum 0\_namecount<\_autrim\_relax \_else \_AbbreviateFirstname \_fi +} +\_def\_maybeetal{} + +\_ifx\upper\_undefined + \_ifx\caps \_undefined \_def\upper{\_uppercase\_ea}\_else + \_def\upper#1{{\caps\_rm #1}}\_fi +\_fi +\_let\_upper=\upper + + \_doc ----------------------------- + Preparing bib-mark (used when `\nonumcitations` is set). + \_cod ----------------------------- + +\_def\_setbibmark{% + \_ifx\_dobibmark\_undefined \_def\_dobibmark{}\_fi + \_RetrieveFieldIn{bibmark}\_tmp + \_ifx\_tmp\_empty \_RetrieveFieldIn{year}\_tmp \_edef\_tmp{\_dobibmark, \_tmp}\_fi + \_bibmark=\_ea{\_tmp}% +} +% Multilinguals: English Czech Slovak + +\_mtdef{bib.and} {, and } { a } {} +\_mtdef{bib.etal} { et al.} { a~kol.} {} +\_mtdef{bib.edition} { ed.} { vyd.} {} +\_mtdef{bib.bachthesis} {Bachelor's Thesis} {Bakalářská práce} {Bakalárska práca} +\_mtdef{bib.masthesis} {Master's Thesis} {Diplomová práce} {Diplomová práca} +\_mtdef{bib.phdthesis} {Ph.D. Thesis} {Disertační práce} {Dizertačná práca} +\_mtdef{bib.available} {Available from } {Dostupné na } {} +\_mtdef{bib.availablealso} {Available also from } {Dostupné též na } {Dotupné tiež na } +\_mtdef{bib.citedate} {cit.~} {vid.~} {} +\_mtdef{bib.volume} {Vol.~} {ročník~} {} +\_mtdef{bib.number} {No.~} {č.~} {} +\_mtdef{bib.prepages} {pp.~} {s.~} {} +\_mtdef{bib.postpages} {~p.} {~s.} {} +\_mtdef{bib.editor} {,~ed.} {,~editor} {} +\_mtdef{bib.editors} {,~eds.} {,~editoři} {,~editori} + +\_def\_bibconjunctionand{\_Mtext{bib.and}} +\_def\_preurl{\_Mtext{bib.available}} +\_let\_predoi=\_preurl +\_def\_postedition{\_mtext{bib.edition}} +\_def\_Inclause{In:~} +\_def\_prevolume{\_mtext{bib.volume}} +\_def\_prenumber{\_mtext{bib.number}} +\_def\_prepages{\_mtext{bib.prepages}} +\_def\_posteditor{\_ifnum0\_namecountraw>1 \_Mtext{bib.editors}\_else\_Mtext{bib.editor}\_fi} + +\_chardef\_documentlanguage=\_language +\_def\_Mtext#1{\_csname _mt:#1:\_csname _lan:\_the\_documentlanguage\_endcsname\_endcsname} + +\_CreateField {lang} +\_def\_setlang#1{\_ifx#1\_empty \_else + \_ea \_ifx \_csname _#1Patt\_endcsname \_relax + \_opwarning{The language "#1" used in .bib file is unknown} + \_else \_language=\_csname _#1Patt\_endcsname + \_fi\_fi +} + + \_doc ----------------------------- + Non-standard fieldnames. + \_cod ----------------------------- + +\_CreateField {ednote} +\_CreateField {citedate} +\_CreateField {numbering} +\_CreateField {isbn} +\_CreateField {issn} +\_CreateField {doi} +\_CreateField {url} +\_CreateField {bibmark} + + \_doc ----------------------------- + Sorting. + \_cod ----------------------------- + +\_SortingOrder{name,year}{lfvj} +\_SpecialSort {key} + + \_doc ----------------------------- + Supporting macros. + \_cod ----------------------------- + +\_def\_bibwarninga{\_bibwarning} +\_def\_bibwarningb{\_bibwarning} + +\_def\_docitedate #1/#2/#3/#4\_relax{[\_Mtext{bib.citedate}% + \_if^#2^#1\_else + \_if^#3^#1/#2\_else \_docitedateA{#1}{#2}{#3}% + \_fi\_fi ]% +} +\_def\_docitedateA#1#2#3{% + \_ifnum\_documentlanguage=\_csPatt \_docitedateCS{#1}{#2}{#3}% + \_else \_ifnum\_documentlanguage=\_skPatt \_docitedateSK{#1}{#2}{#3}% + \_else \_docitedateEN{#1}{#2}{#3}% + \_fi\_fi +} +\_def\_docitedateEN#1#2#3{#1-#2-#3} +\_def\_docitedateCS#1#2#3{\_hbox{\_tmpnum=#3 \_the\_tmpnum. \_tmpnum=#2 \_the\_tmpnum. #1}} +\_let\_docitedateSK=\_docitedateCS + +\_def\_doyear#1{ + \_biboptionvalue{yearprint}\_yearprint + \_ifx\_yearprint\_empty#1\_else\_def\YEAR{#1}\_yearprint\_fi +} +\_def\_preparenumbering{% + \_def\VOL{\_RetrieveField{volume}}% + \_def\NO{\_RetrieveField{number}}% + \_def\PP{\_RetrieveField{pages}}% +} +\_def\_prepareednote{% + \_def\EDN{\_RetrieveField{edition}}% + \_def\ADDR{\_RetrieveField{address}}% + \_def\PUBL{\_RetrieveField{publisher}}% + \_def\YEAR{\_RetrieveField{year}}% + \_def\AU{\_bprintb[!author]{\_doauthor0{####1}}{}}% + \_def\ED{\_bprintb[!editor]{\_doeditor0{####1}}{}}% + \_preparenumbering +} +\_def\_doedition#1{% + \_biboptionvalue{editionprint}\_editionprint + \_ifx\_editionprint\_empty#1\_postedition\_else\_def\ED{#1}\_editionprint\_fi +} +\_def\_doauthor#1#2{\_prepareauedoptions{au}\_let\_iseditorlist=\_undefined + \_if1#1\_def\AU{#2}\_else\_let\_authorprint=\_empty\_fi + \_ifx\_authorprint\_empty #2\_else \_authorprint\_fi +} +\_def\_doeditor#1#2{\_prepareauedoptions{ed}\_let\_firstauthorformat=\_otherauthorformat + \_if1#1\_def\ED{#2}\_else\_let\_authorprint=\_empty\_fi + \_ifx\_authorprint\_empty #2\_posteditor\_else \_authorprint\_fi +} + + \_doc ----------------------------- + Entry types. + \_cod ----------------------------- + +\_sdef{_print:BEGIN}{% + \_readbiboptions + \_biboptionvalue{titlepost}\_titlepost + \_isbiboption{unpublished}\_iftrue \_let\_bibwarninga=\_relax \_let\_bibwarningb=\_relax \_fi + \_isbiboption{nowarn}\_iftrue \_let\_bibwarning=\_relax \_fi + \_isbiboption{urlalso}\_iftrue \_def\_preurl{\_Mtext{bib.availablealso}}\_fi + \_RetrieveFieldIn{lang}\_langentry \_setlang\_langentry +} +\_sdef{_print:END}{% + \_bprinta [note] {*.}{}% + \_setbibmark +} +\_def\_bookgeneric#1{% + \_bprinta [howpublished] {[*].\ }{}% + \_bprintb [edition] {\_doedition{##1}\.\ }{}% + \_bprinta [ednote] {*.\ }{}% + \_bprinta [address] {*\_bprintv[publisher]{:}{\_bprintv[year]{,}{.}}\ }{\_bibwarninga}% + \_bprinta [publisher] {*\_bprintv[year]{,}{.}\ }{\_bibwarninga}% + \_bprintb [year] {\_doyear{##1}\_bprintv[citedate]{\_bprintv[numbering]{.}{}}{.}\ }% + {\_bibwarning}% + \_bprinta [numbering] {\_preparenumbering*\_bprintv[citedate]{}{\.}\ }{}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + #1% + \_bprinta [series] {*.\ }{}% + \_bprinta [isbn] {ISBN~*.\ }{\_bibwarningb}% + \_bprinta [issn] {ISSN~*.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:book}{% + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bookgeneric{}% +} +\_sdef{_print:article}{% + \_biboptionvalue{journalpost}\_journalpost + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprinta [title] {*.\ \_bprintc\_titlepost{*.\ }}{\_bibwarning}% + \_bprintb [journal] {{\_em##1}\_bprintc\_journalpost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarninga}% + \_bprinta [howpublished] {[*].\ }{}% + \_bprinta [address] {*\_bprintb[publisher]{:}{,}\ }{}% + \_bprinta [publisher] {*, }{}% + \_bprinta [month] {*, }{}% + \_bprintb [year] {\_doyear{##1}\_bprintv[volume,number,pages]{,}{\.}\ }{}% + \_bprinta [numbering] {\_preparenumbering*\_bprintv[citedate]{}{\.}\ } + {\_bprinta [volume] {\_prevolume*\_bprintv[number,pages]{,}{\.}\ }{}% + \_bprinta [number] {\_prenumber*\_bprintv[pages]{,}{\.}\ }{}% + \_bprintb [pages] {\_prepages\_hbox{##1}\_bprintv[citedate]{}{\.}\ }% + {\_bibwarninga}}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + \_bprinta [issn] {ISSN~*.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:inbook}{% + \_let\_bibwarningb=\_relax + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprinta [title] {*.\ }{\_bibwarning}% + \_Inclause + \_bprintb [!editor] {\_doeditor1{##1}\.\ }{}% + \_bprintb [booktitle] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bookgeneric{\_bprintb [pages] {\_prepages\_hbox{##1}. }{}}% +} +\_slet{_print:inproceedings}{_print:inbook} +\_slet{_print:conference}{_print:inbook} + +\_sdef{_print:thesis}{% + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bprinta [howpublished] {[*].\ }{}% + \_bprinta [address] {*\_bprintv[school]{:}{\_bprintv[year]{,}{.}}\ }{\_bibwarning}% + \_bprinta [school] {*\_bprintv[year]{,}{.}\ }{\_bibwarning}% + \_bprinta [month] {*, }{}% + \_bprintb [year] {\_doyear{##1}\_bprintv[citedate]{}{.}\ }{\_bibwarninga}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + \_bprinta [type] {*\_bprintv[ednote]{,}{.}\ }% + {\_ifx\_thesistype\_undefined\_bibwarning + \_else\_thesistype\_bprintv[ednote]{,}{.}\ \_fi}% + \_bprinta [ednote] {*.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:phdthesis}{\_def\_thesistype{\_Mtext{bib.phdthesis}}\_cs{_print:thesis}} +\_sdef{_print:mastershesis}{\_def\_thesistype{\_Mtext{bib.masthesis}}\_cs{_print:thesis}} +\_sdef{_print:bachelorsthesis}{\_def\_thesistype{\_Mtext{bib.bachthesis}}\_cs{_print:thesis}} + +\_sdef{_print:generic}{% + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bprinta [howpublished] {[*].\ }{}% + \_bprinta [ednote] {\_prepareednote*\_bprintv[citedate]{}{.}\ }{\_bibwarning}% + \_bprinta [year] {}{\_bibwarning}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_slet{_print:booklet}{_print:generic} +\_slet{_print:incolleciton}{_print:generic} +\_slet{_print:manual}{_print:generic} +\_slet{_print:proceedings}{_print:generic} +\_slet{_print:techreport}{_print:generic} +\_slet{_print:unpublished}{_print:generic} + +\_sdef{_print:misc}{\_let\_bibwarning=\_relax \_cs{_print:generic}} + +\_endcode + + +This is the iso690 bibliographic style used by \OpTeX/. + +See `op-example.bib` for an example of the `.bib` input. You can try it by: + +\begtt +\fontfam[LMfonts] +\nocite[*] +\usebib/s (iso690) op-example +\end +\endtt + +\seccc Common rules in \code{.bib} files + +There are entries of type `@FOO{...}` in the `.bib` file. Each entry consists of +fields in the form `name = "value"`, or `name = {value}`. No matter which form is +used. If the value is pure numeric then you can say simply `name = value`. +Warning: the comma after each field value is mandatory! If it is missing then the +next field is ignored or bad interpreted. + +The entry names and field names are case insensitive. If there exist a data +field no mentioned here then it is simply ignored. You can use it to store +more information (abstract, for example). + +There are \"standard fields" used in ancient bib\TeX/ (author, title, editor, edition, +etc., see \url{http://en.wikipedia.org/wiki/BibTeX}). The `iso690` style introduces +several \"non-standard" fields: ednote, numbering, isbn, issn, doi, url, +citedate, key, bibmark. They are documented here. + +Moreover, there are two optional special fields: + +\begitems +* lang = language of the entry. The hyphenation plus autogenerated phrases and + abbreviations will be typeset by this language. +* option = options by which you can control special printing of vairous fields. +\enditems + +There can be only one option field per each entry with (may be) more options +separated by spaces. You can declare the global option(s) in your document +applied for each entry by `\biboptions={...}`. + + +\seccc The author field + +All names in the author list have to be separated by \"\code{ and }". +Each author can be written by various formats (the `von` part is typically missing): + +\begtt +Firstname(s) von Lastname +or +von Lastname, Firstname(s) +or +von Lastname, After, Firstname(s) +\endtt +Only the Lastname part is mandatory. Examples: +\begtt +Petr Olšák +or +Olšák, Petr + +Leonardo Piero da Vinci +or +da Vinci, Leonardo Piero +or +da Vinci, painter, Leonardo Piero +\endtt +The separator \"\code{ and }" between authors +will be converted to comma during +printing, but between semifinal and final author the word \"and" (or something +different depending on current language) is printed. + +The first author is printed in reverse order: \"LASTNAME, Firstname(s) von, +After" and the others author are printed in normal order: \"Firstname(s) +von LASTNAME, After". This feature follows the ISO 690 norm. The Lastname +is capitalized using uppercase letters. But if the `\caps` font modifier is defined, +then it is used and printed `{\caps\_rm Lastname}`. + +You can specify the option `aumax:`. The `` denotes the +maximum authors to be printed. The rest of authors are ignored and the +`et~al.` is appended to the list of printed authors. This text is +printed only if the `aumax` value is less than the real number of authors. +If you have the same number of authors in the .bib file as you need to print +but you want to append `et~al.` then you can use `auetal` option. + +There is an `aumin:` option which denotes the definitive number of +printed authors if the author list is not fully printed due to `aumax`. +If `aumin` is unused then `aumax` authors is printed in such case. + +All authors are printed if `aumax:` option isn't given. +There is no internal limit. But you can set the global options in +your document by setting the `\biboptions` tokens list. For example: + +\begtt +\biboptions={aumax:7 aumin:1} +% if there is 8 or more authors then only first author is printed. +\entdd + +Examples: +\begtt +author = "John Green and Bob Brown and Alice Black", +\endtt +output: GREEN, John, Bob BROWN, and Alice BLACK. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "aumax:1", +\endtt +output: GREEN, John~et~al. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "aumax:2", +\endtt +output: GREEN, John, Bob BROWN~et~al. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "aumax:3", +\endtt +output: GREEN, John, Bob BROWN, and Alice BLACK. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "auetal", +\endtt +output: GREEN, John, Bob BROWN, Alice BLACK~et~al. + +If you need to add a text before or after authors list, you can use +the `auprint:{}` option. The will be printed instead of the +authors list. The can include `\AU` macro which expands to the authors +list. Example: + +\begtt +author = "Robert Calbraith", +option = "auprint:{\AU\space [pseudonym of J. K. Rowling]}", +\endtt +output: CALBRAITH Robert [pseudonym of J. K. Rowling]. + +You can use the `autrim:` option. All Firstnames of all authors +are trimmed (i. e. reduced to initials) iff the number of authors in the +author field is greater than or equal to ``. There is an exception: +`autrim:0` means that no Firstnames are trimmed. This is default behavior. +Another example: `autrim:1` means that all Firstnames are trimmed. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "auetal autrim:1", +\endtt +output: GREEN, J., B. BROWN, A. BLACK~et~al. + +If you need to write a team name or institution instead authors, replace all +spaces by `\ ` in this name. Such text is interpreted as Lastname. You +can add the secondary name (interpreted as Firstname) after comma. Example: + +\begtt + author = "Czech\ Technical\ University\ in\ Prague, + Faculty\ of\ Electrical\ Engeneering", +\endtt +output: CZECH TECHNICAL UNIVERSITY IN PRAGUE, Faculty of Electrical Engeneering. + + +\seccc The editor field + +The editor field is used for list of the authors of the collection. The +analogous rules as in author field are used here. It means that the +authors are separated by \"\code{ and }", the Firstnames, Lastnames etc. are +interpreted and you can use the options `edmax:`, `edmin:`, +`edetal`, `edtrim:` and `edprint:{}` (with `\ED` macro). +Example: +\begtt +editor = "Jan Tomek and Petr Karas", +option = "edprint:{\ED, editors.} edtrim:1", +\endtt +Output: J. TOMEK and P. KARAS, editors. + +If `edprint` option is not set then `{\ED, eds.}` or `{\ED, ed.}` is used +depending on the entry language and on the singular or plural of +the editor(s). + + +\seccc The ednote field + +The ednote field is used as the secondary authors and more editional info. The +value is read as raw data without any interpretation of Lastname, Firstname +etc. +\begtt +ednote = "Illustrations by Robert \upper{Agarwal}, edited by Tom \upper{Nowak}", +\endtt +output: Illustrations by Robert AGARWAL, edited by Tom NOWAK. + +The `\upper` command have to be used for Lastnames in ednote field. + + +\seccc The title field + +This is the title of the work. It will be printed (in common entry types) by +italics. The ISO 690 norm declares, that the title plus optional subtitle +are in italics and they are separated by colon. Next, the optional secondary +title have to be printed in upright font. This can be added by +`titlepost:{}`. Example: + +\begtt +title = "The Simple Title of The Work", +or +title = "Main Title: Subtitle", +or +title = "Main Title: Subtitle", +option = "titlepost:{Secondary title}", +\endtt +The output of the last example: +{\it Main Title: Subtitle}. Secondary title. + + +\seccc The edition field + +This field is used only for second or more edition of cited work. Write +only the number without the word "edition". The shortcut "ed." (or something +else depending on current language) is added automatically. Examples: + +\begtt +edition = "Second", +edition = "2nd", +edition = "2$^{\rm nd}$", +edition = "2.", +\endtt +Output of the last example: 2. ed. + +\begtt +edition = "2." +lang = "cs", +\endtt +Output: 2. vyd. + +Note, that the example `edition = "Second"` may cause problems. If you are +using language "cs" then the output is bad: Second vyd. +But you can use `editionprint:{}` option. The the is printed +instead of edition field and shortcut. The edition field must be set. Example: + +\begtt +edition = "whatever", +option = "editionprint:{Second full revised edition}", +\endtt +Output: Second full revised edition. + +You can use `\EDN` macro in `editionprint` value. This macro is expanded +to the edition value. Example: + +\begtt +edition = "Second", +option = "editionprint:{\EDN\space full revised edition}", +or +edition = "Second full revised edition", +option = "editionprint:{\EDN}", +\endtt + + +\seccc The address, publisher, year fields + +This is an anachronism from ancient Bib\TeX/ (unfortunately no exclusive) that +the address field includes only the city of the publisher residence. No more +data are here. The publisher field includes the name of the publisher. + +\begtt +address = "Berlin", +publisher = "Springer Verlag", +year = 2012, +\endtt +Output: Berlin: Springer Verlag, 2012. + +Note, that the year needn't to be inserted into quotes because it is pure +numeric. + +The letter a, b etc. are appended to the year automatically, if two or more +subsequent entries in the bibliography list are not distinct by the first +author and year fields. If you needn't this feature, you can use the +`noautoletters` option. + +You can use "yearprint:{}" option. If it is set then the +is used for printing year instead the real field value. The reason: year is +sort sensitive, may be you need to print something else than only sorting key. +Example: + +\begtt +year = 2000, +option = "yearpint:{© 2000}", +\endtt +Output: © 2000, sorted by: 2000. + +\begtt +year = "2012a", +option = "yearprint:{2012}", +\endtt +Output: 2012, sorted by: 2012a. + +The address, publisher and year are typically mandatory fields. If they are +missing then the warning occurs. But you can set `unpublished` +option. Then this warning is suppressed. There is no difference in the +printed output. + + +\seccc The url field + +Use it without `\url` macro, but with `http://` prefix. Example: + +\begtt +url = "http://petr.olsak.net/opmac.html", +\endtt + +The ISO 690 norm recommends to add the text \"Available from" (or +something else if different current language is used) before URL. +It means, that the output of previous example is: + +Available from \url{http://petr.olsak.net/opmac.html}. + +If the `cs` language is the current one than the output is: + +Dostupné z: \url{http://petr.olsak.net/opmac.html}. + +If the `urlalso` option is used, then the added text has the form +\"Available also from" or \"Dostupné také z:" (if `cs` language is +current). + + +\seccc The citedate field + +This is the citation date. The field must be in the form year/month/day. It +means, that the two slashes must be written here. The output depends on the +current language. Example: + +\begtt +citedate = "2004/05/21", +\endtt +Output when `en` is current: [cit. 2004-05-21].\nl +Output when `cs` is current: [vid. 21.~5.~2004]. + + +\seccc The howpublished field + +This declares the available medium for cited document if it is not in printed +form. Alternatives: online, CD, DVD, etc. Example: + +\begtt +howpublished = "online", +\endtt +Output: [online]. + + +\seccc The volume, number, pages and numbering fields + +The volume is the \"big mark" of the journal issue and the number is the +\"small mark" of the journal issue and pages includes the page range of +the cited article in the journal. The volume is prefixed by Vol.~, +the number by No.~ and the pages by pp.~. But these prefixes depends on the +language of the entry. + +Example: + +\begtt +volume = 31, +number = 3, +pages = "37--42", +\endtt +Output: Vol.~31, No.~3, pp.~37--42. + +\begtt +volume = 31, +number = 3, +pages = "37--42", +lang = "cs", +\endtt +Output: ročník~31, č.~3, s.~37--42. + +If you disagree with the default prefixes, you can use the numbering field. +When it is set then it is used instead of volume, number, pages fields +and instead of any mentioned prefixes. The numbering can include macros +`\VOL`, `\NO`, `\PP`, which are expanded to the respective values of fields. Example: + +\begtt +volume = 31, +number = 3, +pages = "37--42" +numbering = "Issue~\VOL/\NO, pages~\PP", +\endtt +Output: Issue~31/3, pages~37--42 + +Note: The volume, numbers and pages fields are printed without numbering +filed only in the `@ARTICLE` entry. It means, that if you need to visible them +in the `@INBOOK`, `@INPROCEEDINGS` etc. entries, then you must to use numbering field. + + +\seccc Common notes about entries + +The order of the fields in the entry is irrelevant. We use the printed order +in this manual. The exclamation mark (!) denotes the mandatory field. If +such field is missing then the warning occurs during processing. + +If the `unpublished` option is set then the fields address, publisher, year, +isbn and pages are not mandatory. If the `nowarn` option is set then no +warnings about missing mandatory fields occurs. + +If the field is used but not mentioned in the entry documentation below then +it is silently ignored. + +\secccc The `@BOOK` entry + +This is used for book-like entries. + +Fields: author(!), title(!), howpublished, edition, ednote, address(!), +publisher(!), year(!), citedate, series, isbn(!), doi, url, note. + +The ednote field here means the secondary authors (illustrator, cover design +etc.). + +\secccc The `@ARTICLE` entry + +This is used for articles published in a journal. + +Fields: author(!), title(!), journal(!), howpublished, address, publisher, +month, year, [numbering or volume, number, pages(!)], citedate, issn, +doi, url, note. + +If the numbering is used then it is used instead volume, number, pages. + + +\secccc The `@INBOOK` entry + +This is used for the part of a book. + +Fields: author(!), title(!), booktitle(!), howpublished, edition, ednote, +address(!), publisher(!), year(!), numbering, citedate, series, isbn or +issn, doi, url, note. + +The author field is used for author(s) of the part, the editor field +includes author(s) or editor(s) of whole document. The pages field specifies +the page range of the part. The series field can include more information +about the part (chapter numbers etc.). + +The `@INPROCEEDINGS` and `@CONFERENCE` entries are equivalent to `@INBOOK` entry. + +\secccc The `@THESIS` entry + +This is used for student's thesis. + +Fields: author(!), title(!), howpublished, address(!), school(!), +month, year(!), citedate, type(!), ednote, doi, url, note. + +The type field must include the text \"Master's Thesis" or something +similar (depending on the language of the outer document). + +There are nearly equivalent entries: `@BACHELORSTHESIS`, `@MASTERSTHESIS` and +`@PHDTHESIS`. These entries set the type field to an appropriate value +automatically. The type field is optional in such case. If it is used then +it has a precedence before default setting. + +\secccc The @MISC entry + +It is intended for various usage. + +Fields: author, title, howpublished, ednote, citedate, doi, url, note. + +You can use `\AU`, `\ED`, `\EDN`, `\VOL`, `\NO`, `\PP`, `\ADDR`, `\PUBL`, +`\YEAR` macros in ednote field. These macros print authors list, editors list, +edition, volume, number, pages, address, publisher and year field values +respectively. + +The reason of this entry is to give to you the possibility to set the format of +entry by your own decision. The most of data are concentrated in ednote +field. + +\secccc The `@BOOKLET`, `@INCOLLECION`, `@MANUAL`, `@PROCEEDINGS`, `@TECHREPORT`, `@UNPUBLISHED` entries + +These entries are equivalent to `@MICS` entry because we need to save the +simplicity. They are implemented only for (almost) backward compatibility +with the ancient Bib\TeX/. But the ednote is mandatory field here, so you +cannot use these entries from the old databases without warnings and without +some additional work with the `.bib` file. + +\seccc The cite-marks (bibmark) used when \code{\\nonumcitations} is set + +When `\nonumcitations` is set then `\cite` prints text orientes +bib-marks instead numbers. This style file autogenerates these marks in the +form \"Lastname of the first author, comma, space, the year" if bibmark field +isn't declared. If you need to set an exception from this common format, +then you can use bibmark field. + +The OPmac trick \url{http://petr.olsak.net/opmac-tricks-e.html\#bibmark} +describes how to redefine the algorithm for bibmark auto-generating when you +need the short form of the type [Au13]. + + +\seccc Sorting + +If `\usebib/c` is used then entries are sorted by citation order in the text. +If `\usebib/s` is used then entries are sorted by \"Lastname, Firstname(s)" of +the first author and if more entries have this value equal, then the year is +used (from older to newer). This feature follows the recommendation of the +ISO 690 norm. + +If you have the same authors and the same year, you can control the sorting +by setting years as 2013, 2013a, 2013b, etc. You can print something +different to the list using `yearprint{}` option, see the section about +address, publisher and year above. The real value of year field (ie. not +yearprint value) is also used in the text oriented bib-marks when +`\nonumcitations` is set. + +If you have some problems with name sorting, you can use the hidden field +`key`, which is used for sorting instead of the \"Lastname Firstname(s)" +of authors. If the `key` field is unset then the \"Lastname Firstname(s)" +is used for sorting normally. Example: + +\begtt +author = "Světla Čmejrková", +key = "Czzmejrkova Svetla", +\endtt + +This entry is now sorted between C and D. + +The norm recommends to place the autocitations to the top of the list of +references. You can do this by setting `key = "@"`, to each entry with your +name because the `@` character is sorted before `A`. + + +\seccc Languages + +There is the language of the outer document and the languages of each entry. +The ISO 690 norm recommends that the technical notes (the prefix before URL, +the media type, the \"and" conjunction between semifinal and final author) +may be printed in the language of the outer document. The data of the entry +have to be printed in the entry language (edition ed./vyd., Vol./ročník, +No./č. etc.). Finally there are the phrases independent on the language +(for example In:). Unfortunately, the bib\TeX/ supposes that the entry data +are not fully included in value parts of the fields (see edition, volume +etc. fields) so the automaton have to add some text during processing. +But what language have to be chosen? + +The current value of the `\language` register at the start of the `.bib` +processing is decided as the language of the outer document. This language +is used for technical notes regardless of the entry language. Each entry can +have the lang field with the two-letter mark of the entry language. This +language is used for ed./vyd., vol./ročník etc. and it is used for +hyphenation too. If the entry language is not set then the outer document +language is used. + +If the outer document language is known before creating of the `.bib` file, you +can store some language-dependent phrases into it. On the other hand, if the +main document language is unknown, you can use the `\Mtext` macro to +create the text multilingual. Example: + +\begtt +howpublished = "\Mtext{blue-ray}" +\endtt + +Now, you can set the variants of blue-ray into your macros: + +\begtt +\mtdef {blue-ray} {Blue-ray disc} {Blue-ray disk} {} +\endtt + + +\seccc Tips for using more languages + +This style prefers English, Czech and Slovak languages. However, you can add +more languages. Use the shortcuts of language names (`de` and `pl` in the +example below). You can define all phrases for your language: +\begtt +\def\mtdefx#1#2#3{\sdef{_mt:#1:de}{#2}\sdef{_mt:#1:pl}{#3}} + + % German % Polish +\mtdefx {bib.and} { und } { a } +\mtdefx {bib.phdthesis} {Ph.D. Dissertation} {Praca doktorska} +... +\endtt +See more about language phrases in the \ref[langphrases] section. + + +\seccc Summary of non-standard fields + +This style uses the following fields unkown by bib\TeX/: + +\begtt +option ... options separated by spaces +lang ... the language two-letter code of one entry +ednote ... editional info (secondary authors etc.) or + global data in @MISC-like entries +citedate ... the date of the citation in year/month/day format +numbering ... format for volume, number, pages +isbn ... ISBN +issn ... ISSN +doi ... DOI +url ... URL +\endtt + + +\seccc Summary of options + +\begtt +aumax: ... maximum number of printed authors +aumin: ... number of printed authors if aumax exceedes +autrim: ... full Firstnames iff number of authors are less than this +auprint:{} ... text instead authors list (\AU macro may be used) +edmax, edmin, edtrim ... similar as above for editors list +edprint:{} ... text instead editors list (\ED macro may be used) +titlepost:{} ... text after title +yearprint:{} ... text instead real year (\YEAR macro may be used) +editionprint:{} . text instead real edition (\EDN macro may be used) +urlalso ... the ``available also from'' is used instead ``available from'' +unpublished ... the publisher etc. fields are not mandatory +nowarn ... no mandatory fields +\endtt + +Another options in the option field are silently ignored. diff --git a/Master/texmf-dist/tex/latex/optex/base/bib-simple.opm b/Master/texmf-dist/tex/latex/optex/base/bib-simple.opm new file mode 100644 index 00000000000..347d90bb143 --- /dev/null +++ b/Master/texmf-dist/tex/latex/optex/base/bib-simple.opm @@ -0,0 +1,181 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +% bibliography style (simple), version <2020-03-10>, loaded on demand by \usebib + +\_ifx\_optexbibstyle\_undefined \_errmessage + {This file can be read by: \_string\usebib/? (simple) bibfiles command only} + \_endinput \_fi + +% misc: + +\_def\_maybedot{\_ifnum\_spacefactor=\_sfcode`\.\_relax\_else.\_fi} +\_tmpnum=\_sfcode`\. \_advance\_tmpnum by-2 \_sfcode`\.=\_tmpnum +\_sfcode`\?=\_tmpnum \_sfcode`\!=\_tmpnum +\_let\.=\_maybedot % prevents from double periods + +% Formating of Author/Editor lists: + +\_def\_authorname{% + \_ifnum\_NameCount>1 + \_ifnum0\_namecount=\_NameCount \_mtext{bib.and}\_else , \_fi + \_else + \_ifx\_dobibmark\_undefined \_edef\_dobibmark{\_Lastname}\_fi + \_fi + \_bprintc\_Firstname{* }\_bprintc\_Von{* }\_Lastname\_bprintc\_Junior{, *}% +} +\_let\_editorname=\_authorname + +% Preparing bib-mark (used when \nonumcitations is set): + +\_def\_setbibmark{% + \_ifx\_dobibmark\_undefined \_def\_dobibmark{}\_fi + \_RetrieveFieldIn{bibmark}\_tmp + \_ifx\_tmp\_empty \_RetrieveFieldIn{year}\_tmp \_edef\_tmp{\_dobibmark, \_tmp}\_fi + \_bibmark=\_ea{\_tmp}% +} + +% Multilinguals: English Czech Slovak + +\_mtdef{bib.and} {, and } { a } {} +\_mtdef{bib.edition} {edition} {vydání} {vydanie} +\_mtdef{bib.masterthesis} {Master's Thesis} {Diplomová práce} {Diplomová práca} +\_mtdef{bib.phdthesis} {Ph.D. Thesis} {Disertační práce} {Dizertačná práca} + + +\_def\_preurl{\_hfil\_break} + +% Non-standard fieldnames: + +\_CreateField {isbn} +\_CreateField {doi} +\_CreateField {url} +\_CreateField {bibmark} + +% Sorting: + +\_SortingOrder{name,year}{lfvj} +\_SpecialSort {key} + +% Entry types: + +\_sdef{_print:END}{% + \_bprinta [note] {*.}{}% + \_setbibmark +} +\_sdef{_print:book}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}.\ }{\_bibwarning}% + \_bprinta [edition] {*~\_mtext{bib.edition}.\ }{}% + \_bprinta [address] {*: }{\_bibwarning}% + \_bprinta [publisher] {*, }{\_bibwarning}% + \_bprinta [year] {*.\ }{\_bibwarning}% + \_bprinta [isbn] {ISBN~*.\ }{\_bibwarning}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:article}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprinta [title] {*.\ }{\_bibwarning}% + \_bprintb [journal] {{\_em##1}.\ }{\_bibwarning}% + \_bprinta [year] {*, }{}% + \_bprinta [volume] {* }{}% + \_bprinta [number] {(*), }{}% + \_bprinta [pages] {*.\ }{}% + \_bprintb [doi] {DOI~\_ulink[http://dx.doi.org/##1]{##1}.\ }{}% +} +\_sdef{_print:inbook}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1.}\ }{\_bibwarning}% + In:~% + \_bprinta [!editor] {*,~eds.\ }{}% + \_bprintb [booktitle] {{\_em##1}.\ }{\_bibwarning}% + \_bprinta [address] {*: }{\_bibwarning}% + \_bprinta [publisher] {*, }{\_bibwarning}% + \_bprinta [year] {*.\ }{\_bibwarning}% + \_bprinta [chapter] {*.\ }{% + \_bprinta [pages] {*.\ }{}}% + \_bprinta [isbn] {ISBN~*.\ }{\_bibwarning}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_slet{_print:inproceedings}{_print:inbook} + +\_sdef{_print:incolection}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}.\ }{\_bibwarning}% + \_bprinta [crossreff] {In~\_cite[*]. }{% + \_bprinta [booktitle] {*. }{\_bibwarning}% + \_bprinta [!editor] {*,~eds.\ }{\_bibwarning}% + \_bprinta [edition] {*~\_mtext{bib.edition}.\ }{\_bibwarning}% + \_bprinta [address] {*: }{\_bibwarning}% + \_bprinta [publisher] {*, }{\_bibwarning}% + \_bprinta [year] {*.\ }{\_bibwarning}% + \_bprinta [pages] {*.\ }{}% + \_bprintb [url] {\_preurl\_url{####1}. }{}}% +} +\_sdef{_print:conference}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\.\ }{\_bibwarning}% + \_bprinta [edition] {*~\_mtext{bib.edition}.\ }{}% + \_bprinta [address] {*: }{\_bibwarning}% + \_bprinta [publisher] {*, }{\_bibwarning}% + \_bprinta [year] {*.\ }{\_bibwarning}% + \_bprinta [isbn] {ISBN~*.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:phdthesis}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\.\ }{\_bibwarning}% + \_mtext{bib.phdthesis}, % + \_bprinta [school] {*.\ }{}% + \_bprinta [address] {*, }{}% + \_bprinta [year] {*.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:mastersthesis}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\.\ }{\_bibwarning}% + \_mtext{bib.masterthesis}, % + \_bprinta [school] {*.\ }{}% + \_bprinta [address] {*, }{}% + \_bprinta [year] {*.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:proceedings}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\.\ }{\_bibwarning}% + \_bprinta [publisher] {*.\ }{% + \_bprinta [organization] {*.\ }{\_bibwarning}}% +} +\_sdef{_print:techreport}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\.\ }{\_bibwarning}% + \_mtext{bib.techreport}. + \_bprinta [institution] {*.\ }{}% +} +\_sdef{_print:booklet}{% + \_bprinta [!author] {*\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\.\ }{\_bibwarning}% + \_bprinta [howpublished] {*.\ }{\_bibwarning}% +} +\_sdef{_print:manual}{% + \_bprinta [!author] {*\.\ }{}% + \_bprintb [title] {{\_em##1}\.\ }{\_bibwarning}% + \_bprinta [year] {*.\ }{}% + \_bprinta [institution] {*.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:misc}{% + \_bprinta [!author] {*\.\ }{}% + \_bprintb [title] {{\_em##1}\.\ }{}% + \_bprinta [howpublished] {*.\ }{}% + \_bprinta [institution] {*.\ }{}% + \_bprinta [series] {*.\ }{}% + \_bprinta [year] {*.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} + +%%% end of the style file + +\_endcode + +You can copy this file to bib-yourname.opm and modify it by your +needs... diff --git a/Master/texmf-dist/tex/latex/optex/base/cite-bib.opm b/Master/texmf-dist/tex/latex/optex/base/cite-bib.opm new file mode 100644 index 00000000000..44f8dee055a --- /dev/null +++ b/Master/texmf-dist/tex/latex/optex/base/cite-bib.opm @@ -0,0 +1,258 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +\_codedecl \cite {Cite, Biblioraphy <2020-03-09>} % loaded in format + + \_doc ----------------------------- + Registers used by `\cite`, `\bib` macros are declared here. + The \`\bibnum` counts the bibliography items from one. + The \`\bibmark` is used when `\nonumcitations` is set. + \_cod ----------------------------- + +\_newcount\_bibnum % the bibitem counter +\_newtoks\_bibmark % the bibmark used if \nonumcitations +\_newcount\_lastcitenum \_lastcitenum=0 % for \shortcitations +\_public \bibnum \bibmark ; + + \_doc ----------------------------- + \`\cite` `[