From 3fd16c4afc6febb1c1ecfbf6a6e3c15b01bf59e2 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 7 Dec 2020 03:01:14 +0000 Subject: CTAN sync 202012070301 --- macros/latex/contrib/apa7/apa7.dtx | 28 +- macros/latex/contrib/apa7/apa7.pdf | Bin 528558 -> 529393 bytes macros/latex/contrib/apa7/samples/longsample.pdf | Bin 196742 -> 196742 bytes macros/latex/contrib/apa7/samples/shortsample.pdf | Bin 65283 -> 65283 bytes .../latex/contrib/babel-contrib/japanese/Makefile | 34 +- .../latex/contrib/babel-contrib/japanese/README.md | 57 +- .../japanese/babel-japanese-sample.pdf | Bin 0 -> 37938 bytes .../babel-contrib/japanese/babel-japanese.dtx | 559 ++++++++ .../babel-contrib/japanese/babel-japanese.ins | 51 + .../babel-contrib/japanese/babel-japanese.pdf | Bin 0 -> 135234 bytes .../babel-contrib/japanese/japanese-sample.pdf | Bin 44091 -> 0 bytes .../contrib/babel-contrib/japanese/japanese.dtx | 590 --------- .../contrib/babel-contrib/japanese/japanese.ins | 49 - .../contrib/babel-contrib/japanese/japanese.pdf | Bin 139680 -> 326377 bytes .../contrib/babel-contrib/japanese/japanese.tex | 847 +++++++++++++ .../latex/contrib/bookcover/bookcover-example1.pdf | Bin 276039 -> 714029 bytes .../latex/contrib/bookcover/bookcover-example1.tex | 93 +- .../latex/contrib/bookcover/bookcover-example2.pdf | Bin 150046 -> 78368 bytes .../latex/contrib/bookcover/bookcover-example2.tex | 83 +- macros/latex/contrib/bookcover/bookcover.dtx | 1333 +++++++++++++------- macros/latex/contrib/bookcover/bookcover.pdf | Bin 1395230 -> 1835270 bytes .../contrib/bookcover/figures/background1.pdf | Bin 26596 -> 0 bytes .../contrib/bookcover/figures/background2.pdf | Bin 29647 -> 0 bytes .../contrib/bookcover/figures/background3.pdf | Bin 31066 -> 0 bytes .../contrib/bookcover/figures/background4.pdf | Bin 26275 -> 0 bytes .../contrib/bookcover/figures/background5.pdf | Bin 29612 -> 0 bytes macros/latex/contrib/bookcover/figures/barcode.pdf | Bin 4957 -> 0 bytes macros/latex/contrib/bookcover/figures/bg.jpg | Bin 157001 -> 0 bytes macros/latex/contrib/bookcover/figures/bg1.pdf | Bin 26999 -> 0 bytes macros/latex/contrib/bookcover/figures/bg4.pdf | Bin 26691 -> 0 bytes .../bookcover/figures/bookcover-barcode.pdf | Bin 0 -> 5129 bytes .../contrib/bookcover/figures/bookcover-bg.jpg | Bin 0 -> 544539 bytes .../contrib/bookcover/figures/bookcover-cards.pdf | Bin 0 -> 127926 bytes .../contrib/bookcover/figures/bookcover-dice.pdf | Bin 0 -> 12051 bytes .../bookcover/figures/bookcover-einstein.pdf | Bin 0 -> 597503 bytes .../bookcover/figures/bookcover-newpart.pdf | Bin 0 -> 68274 bytes .../contrib/bookcover/figures/bookcover-parts.pdf | Bin 0 -> 84212 bytes .../contrib/bookcover/figures/bookcover-pi.pdf | Bin 0 -> 12568 bytes .../contrib/bookcover/figures/bookcover-result.pdf | Bin 0 -> 11552 bytes .../contrib/bookcover/figures/bookcover-ruler.pdf | Bin 0 -> 11551 bytes .../contrib/bookcover/figures/bookcover-scheme.pdf | Bin 0 -> 17727 bytes .../contrib/bookcover/figures/bookcover-sizes.pdf | Bin 0 -> 42051 bytes .../contrib/bookcover/figures/bookcover-tikz.pdf | Bin 0 -> 1532 bytes .../bookcover/figures/bookcover-tikzclip.pdf | Bin 0 -> 1592 bytes .../bookcover/figures/bookcover-trimming.pdf | Bin 0 -> 67794 bytes macros/latex/contrib/bookcover/figures/cards.png | Bin 15422 -> 0 bytes macros/latex/contrib/bookcover/figures/cover.pdf | Bin 596834 -> 0 bytes .../contrib/bookcover/figures/coverscheme.pdf | Bin 44708 -> 0 bytes macros/latex/contrib/bookcover/figures/dice.png | Bin 71874 -> 0 bytes .../contrib/bookcover/figures/foreground1.pdf | Bin 32476 -> 0 bytes .../contrib/bookcover/figures/foreground2.pdf | Bin 32245 -> 0 bytes macros/latex/contrib/bookcover/figures/newpart.pdf | Bin 68936 -> 0 bytes macros/latex/contrib/bookcover/figures/parts.pdf | Bin 47500 -> 0 bytes macros/latex/contrib/bookcover/figures/result.pdf | Bin 10206 -> 0 bytes macros/latex/contrib/bookcover/figures/ruler.pdf | Bin 11976 -> 0 bytes macros/latex/contrib/bookcover/figures/sizes.pdf | Bin 40578 -> 0 bytes macros/latex/contrib/bookcover/figures/summa.pdf | Bin 72483 -> 0 bytes macros/latex/contrib/bookcover/figures/tikz.pdf | Bin 1579 -> 0 bytes .../latex/contrib/bookcover/figures/tikzclip.pdf | Bin 1604 -> 0 bytes macros/latex/contrib/chemnum/README | 10 +- macros/latex/contrib/chemnum/chemnum.sty | 221 ++-- macros/latex/contrib/chemnum/chemnum_en.pdf | Bin 588398 -> 592366 bytes macros/latex/contrib/chemnum/chemnum_en.tex | 25 +- macros/latex/contrib/l3kernel/CHANGELOG.md | 8 +- macros/latex/contrib/l3kernel/README.md | 2 +- macros/latex/contrib/l3kernel/expl3.dtx | 4 +- macros/latex/contrib/l3kernel/expl3.pdf | Bin 590134 -> 590451 bytes macros/latex/contrib/l3kernel/interface3.pdf | Bin 1571071 -> 1571397 bytes macros/latex/contrib/l3kernel/interface3.tex | 2 +- macros/latex/contrib/l3kernel/l3basics.dtx | 2 +- macros/latex/contrib/l3kernel/l3bootstrap.dtx | 2 +- macros/latex/contrib/l3kernel/l3box.dtx | 2 +- macros/latex/contrib/l3kernel/l3candidates.dtx | 2 +- macros/latex/contrib/l3kernel/l3cctab.dtx | 2 +- macros/latex/contrib/l3kernel/l3clist.dtx | 2 +- macros/latex/contrib/l3kernel/l3coffins.dtx | 59 +- macros/latex/contrib/l3kernel/l3color-base.dtx | 2 +- macros/latex/contrib/l3kernel/l3debug.dtx | 2 +- macros/latex/contrib/l3kernel/l3deprecation.dtx | 2 +- macros/latex/contrib/l3kernel/l3doc.dtx | 2 +- macros/latex/contrib/l3kernel/l3docstrip.dtx | 2 +- macros/latex/contrib/l3kernel/l3docstrip.pdf | Bin 263035 -> 263355 bytes macros/latex/contrib/l3kernel/l3expan.dtx | 2 +- macros/latex/contrib/l3kernel/l3file.dtx | 2 +- macros/latex/contrib/l3kernel/l3flag.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-assign.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-aux.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-basics.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-convert.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-expo.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-extended.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-logic.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-parse.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-random.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-round.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-traps.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp-trig.dtx | 2 +- macros/latex/contrib/l3kernel/l3fp.dtx | 2 +- macros/latex/contrib/l3kernel/l3fparray.dtx | 2 +- macros/latex/contrib/l3kernel/l3int.dtx | 2 +- macros/latex/contrib/l3kernel/l3intarray.dtx | 2 +- .../latex/contrib/l3kernel/l3kernel-functions.dtx | 2 +- macros/latex/contrib/l3kernel/l3keys.dtx | 2 +- macros/latex/contrib/l3kernel/l3legacy.dtx | 2 +- macros/latex/contrib/l3kernel/l3luatex.dtx | 2 +- macros/latex/contrib/l3kernel/l3msg.dtx | 2 +- macros/latex/contrib/l3kernel/l3names.dtx | 2 +- macros/latex/contrib/l3kernel/l3news.pdf | Bin 379340 -> 384459 bytes macros/latex/contrib/l3kernel/l3news01.pdf | Bin 113533 -> 113533 bytes macros/latex/contrib/l3kernel/l3news02.pdf | Bin 140873 -> 140873 bytes macros/latex/contrib/l3kernel/l3news03.pdf | Bin 138073 -> 143207 bytes macros/latex/contrib/l3kernel/l3news04.pdf | Bin 107122 -> 107122 bytes macros/latex/contrib/l3kernel/l3news05.pdf | Bin 105090 -> 105090 bytes macros/latex/contrib/l3kernel/l3news06.pdf | Bin 140905 -> 140905 bytes macros/latex/contrib/l3kernel/l3news07.pdf | Bin 119094 -> 119094 bytes macros/latex/contrib/l3kernel/l3news08.pdf | Bin 152504 -> 152504 bytes macros/latex/contrib/l3kernel/l3news09.pdf | Bin 235877 -> 241016 bytes macros/latex/contrib/l3kernel/l3news10.pdf | Bin 140388 -> 145548 bytes macros/latex/contrib/l3kernel/l3news11.pdf | Bin 159248 -> 164409 bytes macros/latex/contrib/l3kernel/l3news12.pdf | Bin 192502 -> 197648 bytes macros/latex/contrib/l3kernel/l3prefixes.pdf | Bin 76183 -> 76183 bytes macros/latex/contrib/l3kernel/l3prg.dtx | 2 +- macros/latex/contrib/l3kernel/l3prop.dtx | 2 +- macros/latex/contrib/l3kernel/l3quark.dtx | 2 +- macros/latex/contrib/l3kernel/l3regex.dtx | 2 +- macros/latex/contrib/l3kernel/l3seq.dtx | 2 +- macros/latex/contrib/l3kernel/l3skip.dtx | 2 +- macros/latex/contrib/l3kernel/l3sort.dtx | 2 +- macros/latex/contrib/l3kernel/l3str-convert.dtx | 2 +- macros/latex/contrib/l3kernel/l3str.dtx | 2 +- macros/latex/contrib/l3kernel/l3styleguide.pdf | Bin 279773 -> 280100 bytes macros/latex/contrib/l3kernel/l3styleguide.tex | 2 +- macros/latex/contrib/l3kernel/l3syntax-changes.pdf | Bin 228077 -> 228402 bytes macros/latex/contrib/l3kernel/l3syntax-changes.tex | 2 +- macros/latex/contrib/l3kernel/l3sys.dtx | 2 +- macros/latex/contrib/l3kernel/l3term-glossary.pdf | Bin 217446 -> 217765 bytes macros/latex/contrib/l3kernel/l3term-glossary.tex | 2 +- macros/latex/contrib/l3kernel/l3text-case.dtx | 2 +- macros/latex/contrib/l3kernel/l3text-purify.dtx | 2 +- macros/latex/contrib/l3kernel/l3text.dtx | 2 +- macros/latex/contrib/l3kernel/l3tl-analysis.dtx | 2 +- macros/latex/contrib/l3kernel/l3tl.dtx | 2 +- macros/latex/contrib/l3kernel/l3token.dtx | 2 +- macros/latex/contrib/l3kernel/l3unicode.dtx | 2 +- macros/latex/contrib/l3kernel/source3.pdf | Bin 5985840 -> 5990154 bytes macros/latex/contrib/l3kernel/source3.tex | 2 +- 146 files changed, 2688 insertions(+), 1481 deletions(-) create mode 100644 macros/latex/contrib/babel-contrib/japanese/babel-japanese-sample.pdf create mode 100644 macros/latex/contrib/babel-contrib/japanese/babel-japanese.dtx create mode 100644 macros/latex/contrib/babel-contrib/japanese/babel-japanese.ins create mode 100644 macros/latex/contrib/babel-contrib/japanese/babel-japanese.pdf delete mode 100644 macros/latex/contrib/babel-contrib/japanese/japanese-sample.pdf delete mode 100644 macros/latex/contrib/babel-contrib/japanese/japanese.dtx delete mode 100644 macros/latex/contrib/babel-contrib/japanese/japanese.ins create mode 100644 macros/latex/contrib/babel-contrib/japanese/japanese.tex delete mode 100644 macros/latex/contrib/bookcover/figures/background1.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/background2.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/background3.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/background4.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/background5.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/barcode.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/bg.jpg delete mode 100644 macros/latex/contrib/bookcover/figures/bg1.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/bg4.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-barcode.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-bg.jpg create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-cards.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-dice.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-einstein.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-newpart.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-parts.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-pi.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-result.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-ruler.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-scheme.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-sizes.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-tikz.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-tikzclip.pdf create mode 100644 macros/latex/contrib/bookcover/figures/bookcover-trimming.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/cards.png delete mode 100644 macros/latex/contrib/bookcover/figures/cover.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/coverscheme.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/dice.png delete mode 100644 macros/latex/contrib/bookcover/figures/foreground1.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/foreground2.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/newpart.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/parts.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/result.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/ruler.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/sizes.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/summa.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/tikz.pdf delete mode 100644 macros/latex/contrib/bookcover/figures/tikzclip.pdf (limited to 'macros/latex/contrib') diff --git a/macros/latex/contrib/apa7/apa7.dtx b/macros/latex/contrib/apa7/apa7.dtx index db1a78aa66..036099821c 100644 --- a/macros/latex/contrib/apa7/apa7.dtx +++ b/macros/latex/contrib/apa7/apa7.dtx @@ -4,11 +4,11 @@ % % % CHANGE THESE VALUES WITH EACH NEW RELEASE: % % % -%\ProvidesClass{apa7}[2020/12/02 v2.06 APA formatting (7th edition)] +%\ProvidesClass{apa7}[2020/12/05 v2.07 APA formatting (7th edition)] % % %<*internal> % -\def\apaSevenVersionDate{2020/12/02} -\def\apaSevenVersionNumber{2.06} +\def\apaSevenVersionDate{2020/12/05} +\def\apaSevenVersionNumber{2.07} % % % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -261,6 +261,8 @@ and the derived files apa7.ins, % % \changes{v2.06}{2020/12/02}{Added tablenote command. Added "Note." for table/figure notes to localization files. } % +% \changes{v2.07}{2020/12/05}{Extended mask command to also mask in stu mode. } +% % \begin{abstract} % The \textit{Publication Manual} of the American Psychological % Association is widely used in the social sciences. The most @@ -2609,28 +2611,36 @@ and the derived files apa7.ins, } }{% mask author identity -- show nothing in the author or author note space }}{% Student Manuscript + \@ifundefined{apaSeven@maskauthoridentity}{% BDB \displayauthors \\ \displayaffiliations - + }{% mask author identity -- show nothing in the author or affiliations space + } \@course \\ \@professor \\ \@duedate \\ + \@ifundefined{apaSeven@maskauthoridentity}{% BDB \@ifundefined{@note} {\vspace*{\baselineskip} } {\@note} + }{% mask author identity -- show nothing in the note space + } \end{center} \@ifundefined{@acks} {} {% - \vfill% - \section{\normalfont\normalsize\textbf\acksname} - \raggedright - \setlength{\parindent}{0.5in} - \indent\@acks\par% + \@ifundefined{apaSeven@maskauthoridentity}{% BDB + \vfill% + \section{\normalfont\normalsize\textbf\acksname} + \raggedright + \setlength{\parindent}{0.5in} + \indent\@acks\par% + }{% mask author identity -- show nothing in the author note space + } } } diff --git a/macros/latex/contrib/apa7/apa7.pdf b/macros/latex/contrib/apa7/apa7.pdf index bb8143e730..da38725b27 100644 Binary files a/macros/latex/contrib/apa7/apa7.pdf and b/macros/latex/contrib/apa7/apa7.pdf differ diff --git a/macros/latex/contrib/apa7/samples/longsample.pdf b/macros/latex/contrib/apa7/samples/longsample.pdf index 3a0781313a..ac4d3d972f 100644 Binary files a/macros/latex/contrib/apa7/samples/longsample.pdf and b/macros/latex/contrib/apa7/samples/longsample.pdf differ diff --git a/macros/latex/contrib/apa7/samples/shortsample.pdf b/macros/latex/contrib/apa7/samples/shortsample.pdf index c1af2bc0e4..40cbc5cbca 100644 Binary files a/macros/latex/contrib/apa7/samples/shortsample.pdf and b/macros/latex/contrib/apa7/samples/shortsample.pdf differ diff --git a/macros/latex/contrib/babel-contrib/japanese/Makefile b/macros/latex/contrib/babel-contrib/japanese/Makefile index a9d9212709..fa5d163cd0 100644 --- a/macros/latex/contrib/babel-contrib/japanese/Makefile +++ b/macros/latex/contrib/babel-contrib/japanese/Makefile @@ -1,22 +1,29 @@ # Makefile for babel-japanese # Note that all files are UTF-8 (without BOM) encoded! -STRIPTARGET = japanese.ldf japanese-sample.tex -PDFTARGET = japanese.pdf japanese-sample.pdf -DVITARGET = japanese.dvi japanese-sample.dvi -KANJI = --kanji=utf8 -FONTMAP = -f ptex-ipaex.map -f ipaex.map +STRIPTARGET = japanese.ldf babel-japanese-sample.tex +PDFTARGET = babel-japanese.pdf babel-japanese-sample.pdf \ + japanese.pdf +DVITARGET = babel-japanese.dvi babel-japanese-sample.dvi +KANJI = -kanji=utf8 +FONTMAP = -f haranoaji.map -f ptex-haranoaji.map +TEXMF = $(shell kpsewhich -var-value=TEXMFHOME) default: $(STRIPTARGET) $(DVITARGET) strip: $(STRIPTARGET) all: $(STRIPTARGET) $(PDFTARGET) -japanese.ldf: japanese.dtx - platex $(KANJI) japanese.ins +japanese.ldf: babel-japanese.dtx + platex $(KANJI) babel-japanese.ins -japanese.dvi: japanese.dtx - platex $(KANJI) japanese.dtx - platex $(KANJI) japanese.dtx +babel-japanese.dvi: babel-japanese.dtx + platex $(KANJI) babel-japanese.dtx + platex $(KANJI) babel-japanese.dtx + +japanese.pdf: japanese.tex + lualatex japanese.tex + lualatex japanese.tex + lualatex japanese.tex .SUFFIXES: .tex .dvi .pdf .tex.dvi: @@ -27,6 +34,7 @@ japanese.dvi: japanese.dtx .PHONY: clean clean: - rm -f \ - japanese.ldf japanese-sample.tex \ - japanese.pdf japanese-sample.pdf + rm -f *.aux *.log *.out *.toc \ + japanese.ldf \ + babel-japanese-sample.tex \ + *.dvi *.pdf diff --git a/macros/latex/contrib/babel-contrib/japanese/README.md b/macros/latex/contrib/babel-contrib/japanese/README.md index 7e52f31134..e0f60b3577 100644 --- a/macros/latex/contrib/babel-contrib/japanese/README.md +++ b/macros/latex/contrib/babel-contrib/japanese/README.md @@ -4,8 +4,6 @@ The package "babel-japanese" (or shortly, "japanese" package) provides `japanese` option for Babel package. It defines all the language definition macros in Japanese. -Currently this package works on pLaTeX, upLaTeX, XeLaTeX and LuaLaTeX. - ## Limitations @@ -22,41 +20,44 @@ jsclasses, ltj(s)classes in LuaTeX-ja are well-supported. ## Installation -1) Process japanese.ins with some tex engine. For example, using lualatex: +1) Process babel-japanese.ins with some tex engine. + For example, using lualatex: - lualatex japanese.ins + lualatex babel-japanese.ins -When you use platex, give -kanji=utf8 option. + When you use platex, give -kanji=utf8 option. - platex -kanji=utf8 japanese.ins + platex -kanji=utf8 babel-japanese.ins -You will get japanese.ldf (the main code) and japanese-sample.tex (sample -document for pLaTeX). + You will get japanese.ldf (the main code) and + babel-japanese-sample.tex (sample document for pLaTeX). -2) Process documentation, japanese.dtx and japanese-sample.tex, as you wish. -japanese.dtx can be processed with pLaTeX, upLaTeX or LuaLaTeX. -japanese-sample.tex is written for pLaTeX or LuaLaTeX. +2) Process documentation, babel-japanese.dtx and + babel-japanese-sample.tex, as you wish. + babel-japanese.dtx can be processed with pLaTeX, upLaTeX or LuaLaTeX. + babel-japanese-sample.tex is written for pLaTeX or LuaLaTeX. -If you use lualatex: + If you use lualatex: - lualatex japanese.dtx - lualatex japanese-sample.tex + lualatex babel-japanese.dtx + lualatex babel-japanese-sample.tex -If you use platex: + If you use platex: - platex -kanji=utf8 japanese.dtx - dvipdfmx japanese.dvi - platex -kanji=utf8 japanese-sample.tex - dvipdfmx japanese-sample.dvi + platex -kanji=utf8 babel-japanese.dtx + dvipdfmx babel-japanese.dvi + platex -kanji=utf8 babel-japanese-sample.tex + dvipdfmx babel-japanese-sample.dvi -3) Deploy the directory or files in an appropriate place under the TEXMF tree. +3) Deploy the directory or files in an appropriate place under + the TEXMF tree. * japanese.ldf - => $TEXMF/tex/latex/japanese - * japanese.dtx - => $TEXMF/source/latex/japanese - * japanese.pdf, japanese-sample.tex, japanese-sample.pdf - => $TEXMF/doc/latex/japanese + => $TEXMF/tex/generic/babel-japanese/ + * babel-japanese.dtx + => $TEXMF/source/generic/babel-japanese/ + * babel-japanese-sample.tex, japanese.tex and PDF files + => $TEXMF/doc/generic/babel-japanese/ 4) Execute mktexlsr. @@ -71,8 +72,8 @@ If you have issues, please let us know from the above page. ## License -Copyright (C) 1999-2007 by ING (Toru Inagaki) -Copyright (C) 2016- by Japanese TeX Development Community +Copyright (C) 1999-2007 by ING (Toru Inagaki) +Copyright (C) 2016- by Japanese TeX Development Community This package is free software that can be redistributed and/or modified under the terms of the LaTeX Project Public License 1.3. @@ -80,6 +81,6 @@ modified under the terms of the LaTeX Project Public License 1.3. ## Release Date -2019-04-03 +2020-12-06 Japanese TeX Development Community diff --git a/macros/latex/contrib/babel-contrib/japanese/babel-japanese-sample.pdf b/macros/latex/contrib/babel-contrib/japanese/babel-japanese-sample.pdf new file mode 100644 index 0000000000..cc8f1928c8 Binary files /dev/null and b/macros/latex/contrib/babel-contrib/japanese/babel-japanese-sample.pdf differ diff --git a/macros/latex/contrib/babel-contrib/japanese/babel-japanese.dtx b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.dtx new file mode 100644 index 0000000000..1f3a150b0d --- /dev/null +++ b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.dtx @@ -0,0 +1,559 @@ +% \iffalse meta-comment +% +% This file is part of the `japanese' package, +% providing Japanese language support for Babel. +% +% Copyright (C) 1999--2007 by ING (Toru INAGAKI) +% 2016--2020 by Japanese TeX Development Community +% +% \fi +% +% ^^A Ensure UTF-8 input encoding for pLaTeX +% ^^A (effective since e-pTeX 20160201, thus TeX Live 2016) +\ifx\epTeXinputencoding\undefined\else + \epTeXinputencoding utf8 +\fi +% +%\iffalse +% Tell the \LaTeX\ system who we are and write an entry on the +% transcript. +%<*dtx> +\ProvidesFile{babel-japanese.dtx} +% +%\ProvidesLanguage{japanese} +%<*!sample> +%\ProvidesFile{babel-japanese.dtx} + [2020/12/06 v3.0 Japanese support for babel (texjporg)] +% +%\fi +% +%\iffalse +% +%<*filedriver> +\ifx\directlua\undefined + \documentclass{jltxdoc} + \usepackage{minijs} +\else + \documentclass{ltjltxdoc} +\fi +\usepackage[japanese]{babel}% load it +\GetFileInfo{babel-japanese.dtx} +\setcounter{StandardModuleDepth}{1} +\CodelineNumbered +\MakeShortVerb{\|} +\OnlyDescription +\newcommand*\babel{\textsf{babel}} +\newcommand*\langvar{$\langle \it lang \rangle$} +\usepackage{hologo}% for XeLaTeX logo +\def\pTeX{p\kern-.15em\TeX} +\def\pdfTeX{\hologo{pdfTeX}} +\def\XeTeX{\hologo{XeTeX}} +\def\LuaTeX{\hologo{LuaTeX}} +\def\pdfLaTeX{\hologo{pdfLaTeX}} +\def\XeLaTeX{\hologo{XeLaTeX}} +\def\LuaLaTeX{\hologo{LuaLaTeX}} +\def\pLaTeX{p\hologo{LaTeX}} +\def\upLaTeX{up\hologo{LaTeX}} +\begin{document} + \DocInput{babel-japanese.dtx} +\end{document} +% +% +%\fi +% +% \title{Babel-Option {\sffamily japanese} version \fileversion} +% \author{\copyright\ 1999--2007 ING\\ +% 2016--2020 Japanese \TeX\ Development Community} +% \date{\filedate} +% \maketitle +% \baselineskip=14pt +% +% \section*{The Japanese language definition file} +% +% The package ``babel-japanese'' provides ``\texttt{japanese}'' +% option for Babel package. +% +% \begin{itemize} +% \def\textbf#1{{\fontseries{b}\selectfont #1}} +% \def\repl#1{``\nobreak#1\nobreak''} +% \item \textbf{This package provides only translated +% replacement texts for caption keywords and date} +% (e.g. \repl{Table of contents} $\rightarrow$ \repl{目次}, +% \verb+\today+ $\rightarrow$ \repl{\和暦\today}). +% \textbf{To display such Japanese terms correctly, +% you will need to select a proper Japanese font +% and set up Japanese typesetting rules beforehand.} +% This is because typesetting requirements of Japanese +% (including line breaking and spacing) are completely +% different from those of Western languages, so setting +% parameter values and additional hyphenation patterns +% are not enough. You may need to enable some engine +% extensions (\pTeX\ family) or use extensive package +% with Japanese support (Lua\TeX-ja). +% Please refer to \file{japanese.pdf} for detail. +% \item Moreover, \textbf{the translations provided by +% this package are \emph{incomplete} either}: +% to make full use of this package, you will need some +% common Japanese classes.\footnote{e.g. +% (u)jclasses or jsclasses for (u)\pLaTeX, +% ltj(s)classes for \LuaLaTeX\ with Lua\TeX-ja package.} +% This is due to the following reasons: +% \begin{itemize} +% \item The word order in Japanese is sometimes different +% from that in most Western languages +% (e.g. ``Part 1'' $\rightarrow$ ``第1部''). +% \item Common Western classes (article.cls etc) +% provide placeholders in front of the numbering +% (e.g. \cs{chaptername}), but lack any placeholders +% behind the numbering.\footnote{Starting from +% Babel v3.48 (2020-09-01), a new feature to adjust +% e.g. chapter format to have placeholders like +% \cs{prechaptername} ... \cs{postchaptername} is +% going to be added. However, it's still tentative so +% currently unused in \file{japanese.ldf}.} +% Therefore, the keywords like ``Part'' or ``Chapter'' +% cannot be simply replaced with Japanese counterpart. +% \end{itemize} +% \end{itemize} +% +% The importance of this package is to ``restore'' Japanese +% keywords which have been defined by Japanese classes +% but (partially) redefined by other languages while +% the main text is in Japanese. Example usage: +%\begin{verbatim} +% \documentclass{jbook} +% \usepackage[german,english,japanese]{babel} +%\end{verbatim} +% +% \section*{Babel日本語定義ファイル} +% +% \file{japanese}パッケージは, +% 日本語による見出し語と日付を出力するためのマクロを +% 定義しています。\babel のオプションの最後で日本語を指定します。 +% \begin{quote} +% |\usepackage[...,japanese]{babel}| +% \end{quote} +% +% バージョンv2.0以降では,\pTeX{}系(\pLaTeX{},\upLaTeX{})に加えて, +% ネイティブUnicodeなエンジン(\XeTeX{},\LuaTeX{})もサポートしました。 +% また,バージョンv3.0以降では\pdfLaTeX{}でも動作します。 +% このため,ファイルはUTF-8エンコーディングで保存するようにしてください。 +% +% 2016年以降,本パッケージのメンテナンスは日本語\TeX{}開発コミュニティ +% (Japanese \TeX\ Development Community)によって行われています。開発版は +% GitHubリポジトリ +%\begin{verbatim} +% https://github.com/texjporg/babel-japanese +%\end{verbatim} +% にあります。バグ報告は上記のリポジトリ,またはIssue Mailing List +%\begin{verbatim} +% issue@texjp.org +%\end{verbatim} +% までお願いします。 +% +% +% \section{この文書について} +% +% このソースコード説明書(\jobname.pdf)自体は +% \pLaTeX{},\upLaTeX{},\LuaLaTeX{}で処理できるようになっています。 +% +% +% \section{コード} +% +% [2020-11-27] エンジン検査は削除しました。 +% ^^A \pTeX{}系(\pLaTeX{},\upLaTeX{})でなく, +% ^^A かつUnicodeな\TeX{}(\XeLaTeX{}, +% ^^A \LuaLaTeX{})でもない場合は,最初にエラーを出します。 +% +% \begin{macrocode} +%<*code> +%\ifx\kanjiskip\@undefined\ifx\Umathcode\@undefined +% \@latex@error{Option '\CurrentOption' requires +% one of the followings:\MessageBreak +% pTeX, upTeX, XeTeX, LuaTeX\MessageBreak +% It seems you are running unsupported engine!}\@ehc +%\fi\fi +% \end{macrocode} +% +% \begin{macrocode} +\LdfInit\CurrentOption{captions\CurrentOption} +% \end{macrocode} +% +% \DescribeMacro{\l@japanese} +% ここでは|\l@japanese|が定義されているか否かを判断し,定義されていれば +% 日本語用ハイフネーションパターンを読み込みます。 +% \DescribeMacro{\adddialect} +% しかし,日本語にはハイフネーションパタンが存在しないので +% |\adddialect|に|\l@japanese|を代入し,\file{language.dat} +% で最初に指定した言語(言語番号0,通常は英語)のハイフネーションパターンを +% 使用します。 +% +% [2016-12-16] 旧バージョン(v1.3)では +%\begin{quote}\small\begin{verbatim} +% Package babel Warning: No hyphenation patterns were loaded for +% (babel) the language `Japanese' +% (babel) I will use the patterns loaded for \language=0 +% instead. +%\end{verbatim}\end{quote} +% という警告が出るのを無視する方針でしたが,新しい\babel では警告が +% よりうるさくなっていました。 +%\begin{quote}\small\begin{verbatim} +% Package babel Warning: No hyphenation patterns were preloaded for +% (babel) the language `Japanese' into the format. +% (babel) Please, configure your TeX system to add them and +% (babel) rebuild the format. Now I will use the patterns +% (babel) preloaded for english instead on input line 47. +%\end{verbatim}\end{quote} +% そこで,新しいバージョン(v2.0)からは警告を出さないことにして,代わりに +% ログファイルにのみInfoを出力します。 +% +% \begin{macrocode} +\ifx\l@japanese\@undefined +% \@nopatterns{Japanese}% comment out (2016-12-16) + \PackageInfo{babel}{% + No hyphenation patterns are available for Japanese,\MessageBreak + so I will use the patterns preloaded for \bbl@nulllanguage\MessageBreak + instead} + \adddialect\l@japanese0\fi +% \end{macrocode} +% +% \DescribeMacro{\captionsjapanese} +% |\captionsjapanese|マクロは\pLaTeX{}の標準のクラスファイルで使われる +% 見出し語を日本語で出力します。\LaTeX{}の標準のクラスファイルでも動作 +% しますが,元が英語用ですので,語順の関係上すべてを日本語化することは +% できません(たとえば,Part 1→第1部とは変更することは不可能です)。 +% +% [2016-12-15] 「証明」と「用語集」も日本語化するようにしました。 +% |\postpartname| がタイポで |\postpartnam| になっていたのを直しました。 +% +% UTF-8エンコーディングで直接和文文字を記述します。 +% \begin{macrocode} +\def\bbl@jpn@prefacename{前書き}% +\def\bbl@jpn@refname{参考文献}% +\def\bbl@jpn@abstractname{概要}% +\def\bbl@jpn@bibname{参考文献}% +%\def\bbl@jpn@chaptername{Chapter}% +\def\bbl@jpn@prechaptername{第}% -- added +\def\bbl@jpn@postchaptername{章}% -- added +\def\bbl@jpn@presectionname{}% 第 -- added +\def\bbl@jpn@postsectionname{}% 節 -- added +\def\bbl@jpn@appendixname{付録}% +\def\bbl@jpn@contentsname{目次}% +\def\bbl@jpn@listfigurename{図目次}% +\def\bbl@jpn@listtablename{表目次}% +\def\bbl@jpn@indexname{索引}% +\def\bbl@jpn@figurename{図}% +\def\bbl@jpn@tablename{表}% +%\def\bbl@jpn@partname{Part}% +\def\bbl@jpn@prepartname{第}% -- added +\def\bbl@jpn@postpartname{部}% -- added +%\def\bbl@jpn@enclname{encl}% 同封物 +%\def\bbl@jpn@ccname{cc}% Cc +%\def\bbl@jpn@headtoname{To}% To(宛先) +%\def\bbl@jpn@pagename{Page}% ページ +%\def\bbl@jpn@seename{see}% 参照 +%\def\bbl@jpn@alsoname{see also}% も参照 +\def\bbl@jpn@proofname{証明}% +\def\bbl@jpn@glossaryname{用語集}% +% \end{macrocode} +% +% 実際の命令にこれらをコピーします。 +% \begin{macrocode} +\@namedef{captions\CurrentOption}{% + \let\prefacename\bbl@jpn@prefacename + \let\refname\bbl@jpn@refname + \let\abstractname\bbl@jpn@abstractname + \let\bibname\bbl@jpn@bibname + %\def\chaptername{Chapter}% + \let\prechaptername\bbl@jpn@prechaptername % -- added + \let\postchaptername\bbl@jpn@postchaptername % -- added + \let\presectionname\bbl@jpn@presectionname % -- added + \let\postsectionname\bbl@jpn@postsectionname % -- added + \let\appendixname\bbl@jpn@appendixname + \let\contentsname\bbl@jpn@contentsname + \let\listfigurename\bbl@jpn@listfigurename + \let\listtablename\bbl@jpn@listtablename + \let\indexname\bbl@jpn@indexname + \let\figurename\bbl@jpn@figurename + \let\tablename\bbl@jpn@tablename + %\def\partname{Part}% + \let\prepartname\bbl@jpn@prepartname % -- added + \let\postpartname\bbl@jpn@postpartname % -- added + %\def\enclname{encl}% 同封物 + %\def\ccname{cc}% Cc + %\def\headtoname{To}% To(宛先) + %\def\pagename{Page}% ページ + %\def\seename{see}% 参照 + %\def\alsoname{see also}% も参照 + \let\proofname\bbl@jpn@proofname + \let\glossaryname\bbl@jpn@glossaryname + } +% \end{macrocode} +% +% \DescribeMacro{\datejapanese} +% |\datejapanese|マクロは日本語で日付を出力するように |\today|コマンドを +% 再定義します。デフォルトの出力は西暦です。和暦を使用する際は,プリアンブルで +% |\和暦| を指定するか,本文で |\和暦\today| のように指定します。 +% +% フラグの準備。 +% \begin{macrocode} +\newif\ifbbl@jpn@Seireki \bbl@jpn@Seirekitrue +% \end{macrocode} +% +% UTF-8エンコーディングで直接和文文字を記述します。 +% \pdfLaTeX{}や\XeLaTeX{}の場合は +% |\bbl@jpn@Tate...| の2つは実際には使いません。 +% \begin{macrocode} +\def\西暦{\bbl@jpn@Seirekitrue}% +\def\和暦{\bbl@jpn@Seirekifalse}% +\def\bbl@jpn@kanjishowa{昭和} +\def\bbl@jpn@kanjiheisei{平成} +\def\bbl@jpn@kanjireiwa{令和} +\def\bbl@jpn@kanjigan{元}% +\def\bbl@jpn@TateSeirekiToday{% + \bbl@jpn@maybekansuji\year 年% + \bbl@jpn@maybekansuji\month 月% + \bbl@jpn@maybekansuji\day 日} +\def\bbl@jpn@TateWarekiToday{% + \bbl@jpn@gengo\bbl@jpn@maybekansuji\bbl@jpn@gengoyear 年% + \bbl@jpn@maybekansuji\month 月% + \bbl@jpn@maybekansuji\day 日} +\def\bbl@jpn@SeirekiToday{% + \number\year 年% + \number\month 月% + \number\day 日} +\def\bbl@jpn@WarekiToday{% + \bbl@jpn@gengo\number\bbl@jpn@gengoyear 年% + \number\month 月% + \number\day 日} +% \end{macrocode} +% +% |\bbl@jpn@gengo| の内部で,元号を計算します。 +% +% [2019-04-03] 2019年5月1日から始まる予定の新元号「令和」に対応しました。 +% \begin{macrocode} +\def\bbl@jpn@gengo#1\bbl@jpn@gengoyear{% + \@tempcnta\year\relax + \multiply\@tempcnta100 + \advance\@tempcnta\month + \multiply\@tempcnta100 + \advance\@tempcnta\day + \@tempcntb\year\relax + \ifnum\@tempcnta<19890108 + \bbl@jpn@kanjishowa + \advance\@tempcntb-1925 + \else\ifnum\@tempcnta<20190501 + \bbl@jpn@kanjiheisei + \advance\@tempcntb-1988 + \else + \bbl@jpn@kanjireiwa + \advance\@tempcntb-2018 + \fi\fi + \ifnum\@tempcntb=1 + \bbl@jpn@kanjigan % 元年は \number も \kansuji も関係ない + \else + #1\@tempcntb % この #1 は \number または \bbl@jpn@maybekansuji + \fi +} +% \end{macrocode} +% +% (u)\pLaTeX{}とLua\TeX-jaで組方向判定方法が異なるため, +% |\catcode| のトリックで別々のコードを使い分けます。 +% \pdfLaTeX{}や\XeLaTeX{}の場合,および\LuaLaTeX{}で +% Lua\TeX-ja不使用の場合は,縦組をサポートしません。 +% \begin{macrocode} +\chardef\bbl@jpn@l@catcode=\catcode`\L\relax +\chardef\bbl@jpn@p@catcode=\catcode`\P\relax +\chardef\bbl@jpn@x@catcode=\catcode`\X\relax +\ifx\directlua\@undefined + \ifx\kanjiskip\@undefined % pdftex/xetex + \catcode`\L=14\relax + \catcode`\P=14\relax + \catcode`\X=14\relax + \else % ptex/uptex + \catcode`\L=14\relax + \catcode`\P=9\relax + \catcode`\X=9\relax + \fi +\else + \ifx\luatexjaLoaded\@undefined % luatex + \catcode`\L=14\relax + \catcode`\P=14\relax + \catcode`\X=14\relax + \else % luatex + luatexja + \catcode`\L=9\relax + \catcode`\P=14\relax + \catcode`\X=9\relax + \fi +\fi +% \end{macrocode} +% +% 実際に使用する命令にコピーします。 +% +% [2019-04-03] 縦数式ディレクションは横組と同じ出力とします。 +% \begin{macrocode} +\@namedef{date\CurrentOption}{% + \def\today{{% +P \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi % tate +L \ifnum\ltjgetparameter{direction}=3 % tate +X \ifbbl@jpn@Seireki +X \bbl@jpn@TateSeirekiToday +X \else +X \bbl@jpn@TateWarekiToday +X \fi +X \else + \ifbbl@jpn@Seireki + \bbl@jpn@SeirekiToday + \else + \bbl@jpn@WarekiToday + \fi +X \fi + }}% +} +% \end{macrocode} +% +% [2017-02-05] 新機能:|\languageattribute{japanese}{kansujitoday}|を指定すると, +% 縦書きでは |\today| の表記が漢数字(例:二〇一六年一二月二八日)になります。 +% \begin{macrocode} +\let\bbl@jpn@maybekansuji\number +\bbl@declare@ttribute{japanese}{kansujitoday}{\let\bbl@jpn@maybekansuji\kansuji} +% \end{macrocode} +% +% トリックに使用した文字の |\catcode| を元に戻します。 +% \begin{macrocode} +\catcode`\L=\bbl@jpn@l@catcode\relax +\catcode`\P=\bbl@jpn@p@catcode\relax +\catcode`\X=\bbl@jpn@x@catcode\relax +% \end{macrocode} +% +% \begin{macrocode} +\@namedef{extras\CurrentOption}{} +\@namedef{noextras\CurrentOption}{} +\ldf@finish\CurrentOption +% +% \end{macrocode} +% +% \section*{謝辞} +% +% Babel-Option \Lopt{japanese}の作成に当って,バグフィックスや改良案を +% ご提案いただいた方に感謝します。 +% bookworm $<$BYV01204$>$さんから,新しい言語を定義し,それに固有の +% 言語番号を付けるマクロ \verb+\addlanguage+の機能について,詳しい +% 解説をいただきました。本パッケージでは採用していませんが,\babel +% の言語切り替え機能を理解する上でたいへん参考になりました。 +% Tony $<$PAG01322$>$さんから,キャプションと日付の定義について +% ご提案をいただきました。 +% 大石勝 $<$DZH00446$>$さんから,初版に含まれていた \verb+\ifx\undefined+ +% のバグをご指摘いただきました。 +% +% \section*{変更履歴} +% \begin{itemize} +% \item 2005年2月:日付の定義を修正しました。 +% \item 2007年10月:ZRさんからいただいた詳細なご指摘をもとに修正しました。\\ +% \verb|http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/48625.html| +% \item 2007年12月:ZRさん,ttkさんからいただいたご指摘を反映しました。 +% \item 2016年12月:日本語\TeX{}開発コミュニティが開発を引き継ぎました。 +% 以降の変更履歴は本文中に直接書いてあります。 +% \item 2020年12月:冒頭のドキュメントを英語にしました。 +% また,このドキュメントを\file{japanese.pdf}から +% \file{babel-japanese.pdf}にリネームし,新たに「ちゃんと日本語 +% する方法」を概説する新版\file{japanese.pdf}を追加しました。 +% \end{itemize} +% +% \StopEventually{} +% +% \begin{macrocode} +%<*sample> +\ifx\directlua\undefined + \ifx\kanjiskip\undefined + \ifx\XeTeXversion\undefined + % pdfLaTeX: not beautiful + \documentclass{book} + \usepackage[whole]{bxcjkjatype} + \else + % XeLaTeX: not beautiful + \documentclass{book} + \usepackage{zxjatype} + \setCJKmainfont{ipaexm.ttf} + \fi + \else + \ifx\ucs\undefined + % pLaTeX: OK + \documentclass{jbook} + \usepackage{minijs} + \else + % upLaTeX: OK + \documentclass{ujbook} + \fi + \fi +\else + % LuaLaTeX: OK + \documentclass{ltjbook} +\fi +\usepackage[german,english,japanese]{babel} +\makeatletter +\def\tbcaption{\def\@captype{table}\caption{キャプションの例}} +\def\fgcaption{\def\@captype{figure}\caption{キャプションの例}} +\makeatother +\def\yes{--- はい。} +\def\no{--- いいえ。} +\def\TEXT{Textverarbeitung mit einem Rechner kann in vielf\"altiger Weise +erfolgen. Eigenschaften und Leistungsf\"ahigkeit sind hierbei weniger +vom jeweiligen Rechnertype, sondern vielmehr vom verwendeten +\textit{Textverarbeitungsprogramm} bestimmt.} +\def\se{\selectlanguage{english}} +\def\sj{\selectlanguage{japanese}} +\def\sg{\selectlanguage{german}} +\setlength{\hoffset}{-13mm} +\setlength{\textwidth}{16cm} +\begin{document} + +\chapter{babel} +\section{japaneseパッケージ} +japaneseパッケージは日本語による見出し語と日付を出力するためのマクロを +定義しています。 + +\fgcaption + +\begin{itemize} +\se +\item ここで英語(\texttt{english})に変更します。 +(languageの値は\the\language) + +\TEXT + +ここは英語? \iflanguage{english}{\yes}{\no}\par +ここはドイツ語? \iflanguage{german}{\yes}{\no}\par +ここは日本語? \iflanguage{japanese}{\yes}{\no} + +※ \verb:\adddialect\l@japanese0: と設定しているため, +日本語?も「はい」となります。 + +\sg +\item ここでドイツ語(\texttt{german})に変更します。 +(languageの値は\the\language) + +\TEXT + +ここは英語? \iflanguage{english}{\yes}{\no}\par +ここはドイツ語? \iflanguage{german}{\yes}{\no}\par +ここは日本語? \iflanguage{japanese}{\yes}{\no} + +※ ハイフネーションがドイツ語―旧正書法―に切り替わっている点に注目。 +なお,新正書法(\texttt{ngerman})では +\texttt{Leis-tungs-f\"a-hig-keit}のように分綴します。 + +\sj +\item ここで日本語(\texttt{japanese})に変更します。 +(languageの値は\the\language) +\tbcaption +\item \verb:\和暦: は日付の表示をデフォルトの西暦「\today 」から +和暦「\和暦\today 」に変更します。 +\end{itemize} +\end{document} +% +% \end{macrocode> +% +% \Finale +% +\endinput diff --git a/macros/latex/contrib/babel-contrib/japanese/babel-japanese.ins b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.ins new file mode 100644 index 0000000000..1c1489815e --- /dev/null +++ b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.ins @@ -0,0 +1,51 @@ +%% japanese.ins +%% +%% Docstrip installation instruction file +%% for the `japanese' package (Japanese support for Babel) +%% +%% + +\def\batchfile{babel-japanese.ins} +\input docstrip.tex + +\expandafter\ifx\csname declarepreamble\endcsname\relax + \Msg{==> This file requires docstrip version 2.4 or later} + \Msg{}\expandafter\endinput\fi + +\keepsilent + +\preamble + +This file is part of the `japanese' package, +providing Japanese language support for Babel. + +Copyright (C) 1999--2007 by ING (Toru INAGAKI) + 2016--2020 by Japanese TeX Development Community + +This package is free software that can be redistributed and/or +modified under the terms of the LaTeX Project Public License. + +Previous version of this work was written by ING, based on ideas +from bookworm, Tony and Ohishi. +Current maintainer is Japanese TeX Development Community. + +Please report errors to + Japanese TeX Development Community Issue List +or, GitHub repository is also available: + https://github.com/texjporg/babel-japanese + +\endpreamble + +\declarepreamble\emptypreamble +\endpreamble + +\Msg{*** Generating files ***} +\generateFile{japanese.ldf}{f} + {\from{babel-japanese.dtx}{code}} +\usepreamble\emptypreamble +\generateFile{babel-japanese-sample.tex}{f} + {\from{babel-japanese.dtx}{sample}} +\endbatchfile + +%% +%% End of file `japanese.ins'. diff --git a/macros/latex/contrib/babel-contrib/japanese/babel-japanese.pdf b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.pdf new file mode 100644 index 0000000000..cf4a1ba89a Binary files /dev/null and b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.pdf differ diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese-sample.pdf b/macros/latex/contrib/babel-contrib/japanese/japanese-sample.pdf deleted file mode 100644 index 622d69cb8d..0000000000 Binary files a/macros/latex/contrib/babel-contrib/japanese/japanese-sample.pdf and /dev/null differ diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese.dtx b/macros/latex/contrib/babel-contrib/japanese/japanese.dtx deleted file mode 100644 index 8a7bf5558b..0000000000 --- a/macros/latex/contrib/babel-contrib/japanese/japanese.dtx +++ /dev/null @@ -1,590 +0,0 @@ -% \iffalse meta-comment -% -% This file is part of the `japanese' package, -% providing Japanese language support for Babel. -% -% Copyright (C) 1999--2007 by ING (Toru INAGAKI) -% 2016--2019 by Japanese TeX Development Community -% -% This package 'japanese.dtx' supports the following Babel package: -% -% ==================================================================== -% -% Copyright (C) 2012-2018 Javier Bezos and Johannes L. Braams. -% Copyright (C) 1989-2012 Johannes L. Braams and -% any individual authors listed elsewhere in this file. -% All rights reserved. -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainer of this work is Javier Bezos. -% -% ==================================================================== -% -% \fi -% -% ^^A Ensure UTF-8 input encoding for pLaTeX -% ^^A (effective since e-pTeX 20160201, thus TeX Live 2016) -\ifx\epTeXinputencoding\undefined\else - \epTeXinputencoding utf8 -\fi -% -%\iffalse -% Tell the \LaTeX\ system who we are and write an entry on the -% transcript. -%<*dtx> -\ProvidesFile{japanese.dtx} -% -%\ProvidesLanguage{japanese} -%<*!sample> -%\ProvidesFile{japanese.dtx} - [2019/04/03 v2.2 Japanese support for babel (texjporg)] -% -%\fi -% -%\iffalse -% -%<*filedriver> -\ifx\directlua\undefined - \documentclass{jltxdoc} -\else - \documentclass{ltjltxdoc} -\fi -\GetFileInfo{japanese.dtx} -\setcounter{StandardModuleDepth}{1} -\CodelineNumbered -\MakeShortVerb{\|} -\OnlyDescription -\newcommand*\babel{\textsf{babel}} -\newcommand*\langvar{$\langle \it lang \rangle$} -%\newcommand*\Lopt[1]{\textsf{#1}} -%\newcommand*\file[1]{\texttt{#1}} -\begin{document} - \DocInput{japanese.dtx} -\end{document} -% -% -%\fi -% -% \title{Babel-Option {\sffamily japanese} {\Large version \fileversion}} -% \author{\copyright\ 1999--2007 ING\\ 2016-- Japanese \TeX\ Development Community} -% \date{\filedate} -% \maketitle -% \baselineskip=14pt -% -% \section*{The Japanese language} -% -% \file{japanese}パッケージは日本語による見出し語と日付を出力するためのマクロを -% 定義しています。\babel のオプションの最後で日本語を指定します。 -% \begin{quote} -% |\usepackage[...,japanese]{babel}| -% \end{quote} -% -% バージョンv2.0以降では,p\TeX{}系(p\LaTeX{},up\LaTeX{})に加えて, -% 新しいUnicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})もサポートしました。 -% このため,ファイルはUTF-8エンコーディングで保存するようにしてください。 -% -% 2016年以降,本パッケージのメンテナンスは日本語\TeX{}開発コミュニティ -% (Japanese \TeX\ Development Community)によって行われています。開発版は -% GitHubリポジトリ -%\begin{verbatim} -% https://github.com/texjporg/babel-japanese -%\end{verbatim} -% にあります。バグ報告は上記のリポジトリ,またはIssue Mailing List -%\begin{verbatim} -% issue@texjp.org -%\end{verbatim} -% までお願いします。 -% -% -% \section{この文書について} -% -% この文書ファイル(\jobname.pdf)自体はp\LaTeX{},up\LaTeX{},Lua\LaTeX{}で -% 処理できるようになっています。 -% -% -% \section{コード} -% -% p\TeX{}系(p\LaTeX{},up\LaTeX{})でなく,かつUnicodeな\TeX{}(Xe\LaTeX{}, -% Lua\LaTeX{})でもない場合は,最初にエラーを出します。 -% -% \begin{macrocode} -%<*code> -\ifx\kanjiskip\@undefined\ifx\directlua\@undefined -\ifx\XeTeXversion\@undefined - \@latex@error{Option '\CurrentOption' requires one of the followings:\MessageBreak - pTeX, upTeX, XeTeX, LuaTeX\MessageBreak - It seems you are running unsupported engine!}\@ehc -\fi -\fi\fi -% \end{macrocode} -% -% \begin{macrocode} -\LdfInit\CurrentOption{captions\CurrentOption} -% \end{macrocode} -% \DescribeMacro{\l@japanese} -% ここでは|\l@japanese|が定義されているか否かを判断し,定義されていれば -% 日本語用ハイフネーションパターンを読み込みます。 -% \DescribeMacro{\adddialect} -% しかし,日本語にはハイフネーションパタンが存在しないので -% |\adddialect|に|\l@japanese|を代入し,\file{language.dat} -% で最初に指定した言語(言語番号0,通常は英語)のハイフネーションパターンを -% 使用します。 -% -% [2016-12-16] 旧バージョン(v1.3)では -%\begin{quote}\small\begin{verbatim} -% Package babel Warning: No hyphenation patterns were loaded for -% (babel) the language `Japanese' -% (babel) I will use the patterns loaded for \language=0 -% instead. -%\end{verbatim}\end{quote} -% という警告が出るのを無視する方針でしたが,新しい\babel では警告が -% よりうるさくなっていました。 -%\begin{quote}\small\begin{verbatim} -% Package babel Warning: No hyphenation patterns were preloaded for -% (babel) the language `Japanese' into the format. -% (babel) Please, configure your TeX system to add them and -% (babel) rebuild the format. Now I will use the patterns -% (babel) preloaded for english instead on input line 47. -%\end{verbatim}\end{quote} -% そこで,新しいバージョン(v2.0)からは警告を出さないことにして,代わりに -% ログファイルにのみInfoを出力します。 -% -% \begin{macrocode} -\ifx\l@japanese\@undefined -% \@nopatterns{Japanese}% comment out (2016-12-16) - \PackageInfo{babel}{% - No hyphenation patterns are available for Japanese,\MessageBreak - so I will use the patterns preloaded for \bbl@nulllanguage\MessageBreak - instead} - \adddialect\l@japanese0\fi -% \end{macrocode} -% -% \DescribeMacro{\captionsjapanese} -% |\captionsjapanese|マクロはp\LaTeX{}の標準のクラスファイルで使われる -% 見出し語を日本語で出力します。\LaTeX{}の標準のクラスファイルでも動作 -% しますが,元が英語用ですので,語順の関係上すべてを日本語化することは -% できません(たとえば、Part 1→第1部とは変更することは不可能です)。 -% -% [2016-12-15] 「証明」と「用語集」も日本語化するようにしました。 -% |\postpartname| がタイポで |\postpartnam| になっていたのを直しました。 -% -% 新しいUnicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})の場合は, -% UTF-8エンコーディングで直接和文文字を記述します。 -% \begin{macrocode} -\ifx\kanjiskip\@undefined - \def\bbl@jpn@prefacename{前書き}% - \def\bbl@jpn@refname{参考文献}% - \def\bbl@jpn@abstractname{概要}% - \def\bbl@jpn@bibname{参考文献}% - %\def\bbl@jpn@chaptername{Chapter}% - \def\bbl@jpn@prechaptername{第}% -- added - \def\bbl@jpn@postchaptername{章}% -- added - \def\bbl@jpn@presectionname{}% 第 -- added - \def\bbl@jpn@postsectionname{}% 節 -- added - \def\bbl@jpn@appendixname{付録}% - \def\bbl@jpn@contentsname{目次}% - \def\bbl@jpn@listfigurename{図目次}% - \def\bbl@jpn@listtablename{表目次}% - \def\bbl@jpn@indexname{索引}% - \def\bbl@jpn@figurename{図}% - \def\bbl@jpn@tablename{表}% - %\def\bbl@jpn@partname{Part}% - \def\bbl@jpn@prepartname{第}% -- added - \def\bbl@jpn@postpartname{部}% -- added - %\def\bbl@jpn@enclname{encl}% 同封物 - %\def\bbl@jpn@ccname{cc}% Cc - %\def\bbl@jpn@headtoname{To}% To(宛先) - %\def\bbl@jpn@pagename{Page}% ページ - %\def\bbl@jpn@seename{see}% 参照 - %\def\bbl@jpn@alsoname{see also}% も参照 - \def\bbl@jpn@proofname{証明}% - \def\bbl@jpn@glossaryname{用語集}% -% \end{macrocode} -% -% p\TeX{}系の場合は,UTF-8を読めない可能性があるため, -% |\kansuji| トリックを使って和文文字の代わりにします。 -% -% \begin{macrocode} -\else -\begingroup - \kansujichar1=\jis"4130\relax % 前 - \kansujichar2=\jis"3D71\relax % 書 - \kansujichar3=\jis"242D\relax % き - \kansujichar4=\jis"3B32\relax % 参 - \kansujichar5=\jis"394D\relax % 考 - \kansujichar6=\jis"4A38\relax % 文 - \kansujichar7=\jis"3825\relax % 献 - \kansujichar8=\jis"3335\relax % 概 - \kansujichar9=\jis"4D57\relax % 要 - \xdef\bbl@jpn@prefacename{\kansuji123}% - \xdef\bbl@jpn@refname{\kansuji4567}% - \xdef\bbl@jpn@abstractname{\kansuji89}% - \xdef\bbl@jpn@bibname{\kansuji4567}% - \kansujichar1=\jis"4268\relax % 第 - \kansujichar2=\jis"3E4F\relax % 章 - \kansujichar3=\jis"4061\relax % 節 - \kansujichar4=\jis"4955\relax % 付 - \kansujichar5=\jis"4F3F\relax % 録 - \kansujichar6=\jis"3A77\relax % 索 - \kansujichar7=\jis"307A\relax % 引 - \kansujichar8=\jis"4974\relax % 部 - \xdef\bbl@jpn@prechaptername{\kansuji1}% - \xdef\bbl@jpn@postchaptername{\kansuji2}% - \xdef\bbl@jpn@presectionname{}% - \xdef\bbl@jpn@postsectionname{}% - \xdef\bbl@jpn@appendixname{\kansuji45}% - \xdef\bbl@jpn@indexname{\kansuji67}% - \xdef\bbl@jpn@prepartname{\kansuji1}% - \xdef\bbl@jpn@postpartname{\kansuji8}% - \kansujichar1=\jis"4C5C\relax % 目 - \kansujichar2=\jis"3C21\relax % 次 - \kansujichar3=\jis"3F5E\relax % 図 - \kansujichar4=\jis"493D\relax % 表 - \kansujichar5=\jis"3E5A\relax % 証 - \kansujichar6=\jis"4C40\relax % 明 - \kansujichar7=\jis"4D51\relax % 用 - \kansujichar8=\jis"386C\relax % 語 - \kansujichar9=\jis"3D38\relax % 集 - \xdef\bbl@jpn@contentsname{\kansuji12}% - \xdef\bbl@jpn@listfigurename{\kansuji312}% - \xdef\bbl@jpn@listtablename{\kansuji412}% - \xdef\bbl@jpn@figurename{\kansuji3}% - \xdef\bbl@jpn@tablename{\kansuji4}% - \xdef\bbl@jpn@proofname{\kansuji56}% - \xdef\bbl@jpn@glossaryname{\kansuji789}% -\endgroup -\fi -% \end{macrocode} -% -% 実際の命令にこれらをコピーします。 -% -% \begin{macrocode} -\@namedef{captions\CurrentOption}{% - \let\prefacename\bbl@jpn@prefacename - \let\refname\bbl@jpn@refname - \let\abstractname\bbl@jpn@abstractname - \let\bibname\bbl@jpn@bibname - %\def\chaptername{Chapter}% - \let\prechaptername\bbl@jpn@prechaptername % -- added - \let\postchaptername\bbl@jpn@postchaptername % -- added - \let\presectionname\bbl@jpn@presectionname % -- added - \let\postsectionname\bbl@jpn@postsectionname % -- added - \let\appendixname\bbl@jpn@appendixname - \let\contentsname\bbl@jpn@contentsname - \let\listfigurename\bbl@jpn@listfigurename - \let\listtablename\bbl@jpn@listtablename - \let\indexname\bbl@jpn@indexname - \let\figurename\bbl@jpn@figurename - \let\tablename\bbl@jpn@tablename - %\def\partname{Part}% - \let\prepartname\bbl@jpn@prepartname % -- added - \let\postpartname\bbl@jpn@postpartname % -- added - %\def\enclname{encl}% 同封物 - %\def\ccname{cc}% Cc - %\def\headtoname{To}% To(宛先) - %\def\pagename{Page}% ページ - %\def\seename{see}% 参照 - %\def\alsoname{see also}% も参照 - \let\proofname\bbl@jpn@proofname - \let\glossaryname\bbl@jpn@glossaryname - } -% \end{macrocode} -% -% \DescribeMacro{\datejapanese} -% |\datejapanese|マクロは日本語で日付を出力するように |\today|コマンドを -% 再定義します。デフォルトの出力は西暦です。和暦を使用する際は,プリアンブルで -% |\和暦| を指定するか,本文で |\和暦\today| のように指定します。 -% -% フラグの準備。 -% \begin{macrocode} -\newif\ifbbl@jpn@Seireki \bbl@jpn@Seirekitrue -% \end{macrocode} -% -% Unicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})の場合は, -% UTF-8エンコーディングで直接和文文字を記述します。 -% Xe\TeX{}の場合は |\bbl@jpn@Tate...| の2つは実際には使いません。 -% \begin{macrocode} -\ifx\kanjiskip\@undefined - \def\西暦{\bbl@jpn@Seirekitrue}% - \def\和暦{\bbl@jpn@Seirekifalse}% - \def\bbl@jpn@kanjishowa{昭和} - \def\bbl@jpn@kanjiheisei{平成} - \def\bbl@jpn@kanjireiwa{令和} - \def\bbl@jpn@kanjigan{元}% - \def\bbl@jpn@TateSeirekiToday{% - \bbl@jpn@maybekansuji\year 年% - \bbl@jpn@maybekansuji\month 月% - \bbl@jpn@maybekansuji\day 日} - \def\bbl@jpn@TateWarekiToday{% - \bbl@jpn@gengo\bbl@jpn@maybekansuji\bbl@jpn@gengoyear 年% - \bbl@jpn@maybekansuji\month 月% - \bbl@jpn@maybekansuji\day 日} - \def\bbl@jpn@SeirekiToday{% - \number\year 年% - \number\month 月% - \number\day 日} - \def\bbl@jpn@WarekiToday{% - \bbl@jpn@gengo\number\bbl@jpn@gengoyear 年% - \number\month 月% - \number\day 日} -% \end{macrocode} -% -% p\TeX{}系では |\kansuji| トリックで同じ命令を定義します。 -% \begin{macrocode} -\else -\begingroup - \kansujichar1=\jis"472F\relax % 年 - \kansujichar2=\jis"376E\relax % 月 - \kansujichar3=\jis"467C\relax % 日 - \xdef\bbl@jpn@kanjinen{\kansuji1}% - \xdef\bbl@jpn@kanjigatsu{\kansuji2}% - \xdef\bbl@jpn@kanjinichi{\kansuji3}% - \kansujichar1=\jis"403E\relax % 西 - \kansujichar2=\jis"4F42\relax % 和 - \kansujichar3=\jis"4E71\relax % 暦 - \expandafter\expandafter\expandafter\gdef - \expandafter\csname\kansuji13\endcsname{\bbl@jpn@Seirekitrue}% - \expandafter\expandafter\expandafter\gdef - \expandafter\csname\kansuji23\endcsname{\bbl@jpn@Seirekifalse}% - \kansujichar4=\jis"4A3F\relax % 平 - \kansujichar5=\jis"402E\relax % 成 - \kansujichar6=\jis"3E3C\relax % 昭 - \kansujichar7=\jis"4E61\relax % 令 - \xdef\bbl@jpn@kanjishowa{\kansuji62}% - \xdef\bbl@jpn@kanjiheisei{\kansuji45}% - \xdef\bbl@jpn@kanjireiwa{\kansuji72}% - \kansujichar0=\jis"3835\relax % 元 - \xdef\bbl@jpn@kanjigan{\kansuji0}% -\endgroup - \def\bbl@jpn@TateSeirekiToday{% - \bbl@jpn@maybekansuji\year\bbl@jpn@kanjinen - \bbl@jpn@maybekansuji\month\bbl@jpn@kanjigatsu - \bbl@jpn@maybekansuji\day\bbl@jpn@kanjinichi} - \def\bbl@jpn@TateWarekiToday{% - \bbl@jpn@gengo\bbl@jpn@maybekansuji\bbl@jpn@gengoyear\bbl@jpn@kanjinen - \bbl@jpn@maybekansuji\month\bbl@jpn@kanjigatsu - \bbl@jpn@maybekansuji\day\bbl@jpn@kanjinichi} - \def\bbl@jpn@SeirekiToday{% - \number\year\bbl@jpn@kanjinen - \number\month\bbl@jpn@kanjigatsu - \number\day\bbl@jpn@kanjinichi} - \def\bbl@jpn@WarekiToday{% - \bbl@jpn@gengo\number\bbl@jpn@gengoyear\bbl@jpn@kanjinen - \number\month\bbl@jpn@kanjigatsu - \number\day\bbl@jpn@kanjinichi} -\fi -% \end{macrocode} -% -% |\bbl@jpn@gengo| の内部で,元号を計算します。 -% -% [2019-04-03] 2019年5月1日から始まる予定の新元号「令和」に対応しました。 -% \begin{macrocode} -\def\bbl@jpn@gengo#1\bbl@jpn@gengoyear{% - \@tempcnta\year\relax - \multiply\@tempcnta100 - \advance\@tempcnta\month - \multiply\@tempcnta100 - \advance\@tempcnta\day - \@tempcntb\year\relax - \ifnum\@tempcnta<19890108 - \bbl@jpn@kanjishowa - \advance\@tempcntb-1925 - \else\ifnum\@tempcnta<20190501 - \bbl@jpn@kanjiheisei - \advance\@tempcntb-1988 - \else - \bbl@jpn@kanjireiwa - \advance\@tempcntb-2018 - \fi\fi - \ifnum\@tempcntb=1 - \bbl@jpn@kanjigan % 元年は \number も \kansuji も関係ない - \else - #1\@tempcntb % この #1 は \number または \bbl@jpn@maybekansuji - \fi -} -% \end{macrocode} -% -% (u)p\LaTeXe{}とLua\TeX-jaで組方向判定方法が異なるため,|\catcode| のトリックで -% 別々のコードを使い分けます。Xe\LaTeX{}の場合,およびLua\LaTeX{}でLua\TeX-ja不使用の -% 場合は,縦組をサポートしません。 -% \begin{macrocode} -\chardef\bbl@jpn@l@catcode=\catcode`\L\relax -\chardef\bbl@jpn@p@catcode=\catcode`\P\relax -\chardef\bbl@jpn@x@catcode=\catcode`\X\relax -\ifx\directlua\@undefined - \ifx\XeTeXversion\@undefined % ptex/uptex - \catcode`\L=14\relax - \catcode`\P=9\relax - \catcode`\X=9\relax - \else % xetex - \catcode`\L=14\relax - \catcode`\P=14\relax - \catcode`\X=14\relax - \fi -\else - \ifx\luatexjaLoaded\@undefined % luatex - \catcode`\L=14\relax - \catcode`\P=14\relax - \catcode`\X=14\relax - \else % luatex + luatexja - \catcode`\L=9\relax - \catcode`\P=14\relax - \catcode`\X=9\relax - \fi -\fi -% \end{macrocode} -% -% 実際に使用する命令にコピーします。 -% -% [2019-04-03] 縦数式ディレクションは横組と同じ出力とします。 -% \begin{macrocode} -\@namedef{date\CurrentOption}{% - \def\today{% -P \iftdir\ifmdir % tate-math -P \ifbbl@jpn@Seireki -P \bbl@jpn@SeirekiToday -P \else -P \bbl@jpn@WarekiToday -P \fi -P \else % tate -L \ifnum\ltjgetparameter{direction}=3 % tate -X \ifbbl@jpn@Seireki -X \bbl@jpn@TateSeirekiToday -X \else -X \bbl@jpn@TateWarekiToday -X \fi -P \fi -X \else - \ifbbl@jpn@Seireki - \bbl@jpn@SeirekiToday - \else - \bbl@jpn@WarekiToday - \fi -X \fi - }% -} -% \end{macrocode} -% -% [2017-02-05] 新機能:|\languageattribute{japanese}{kansujitoday}|を指定すると, -% 縦書きでは |\today| の表記が漢数字(例:二〇一六年一二月二八日)になります。 -% \begin{macrocode} -\let\bbl@jpn@maybekansuji\number -\bbl@declare@ttribute{japanese}{kansujitoday}{\let\bbl@jpn@maybekansuji\kansuji} -% \end{macrocode} -% -% トリックに使用した文字の |\catcode| を元に戻します。 -% \begin{macrocode} -\catcode`\L=\bbl@jpn@l@catcode\relax -\catcode`\P=\bbl@jpn@p@catcode\relax -\catcode`\X=\bbl@jpn@x@catcode\relax -% \end{macrocode} -% -% \begin{macrocode} -\@namedef{extras\CurrentOption}{} -\@namedef{noextras\CurrentOption}{} -\ldf@finish\CurrentOption -% -% \end{macrocode} -% -% \section*{謝辞} -% -% Babel-Option \Lopt{japanese}の作成に当って,バグフィックスや改良案を -% ご提案いただいた方に感謝します。 -% bookworm $<$BYV01204$>$さんから,新しい言語を定義し,それに固有の -% 言語番号を付けるマクロ \verb+\addlanguage+の機能について,詳しい -% 解説をいただきました。本パッケージでは採用していませんが,\babel -% の言語切り替え機能を理解する上でたいへん参考になりました。 -% Tony $<$PAG01322$>$さんから,キャプションと日付の定義について -% ご提案をいただきました。 -% 大石勝 $<$DZH00446$>$さんから,初版に含まれていた \verb+\ifx\undefined+ -% のバグをご指摘いただきました。 -% -% \section*{変更履歴} -% \begin{itemize} -% \item 2005年2月:日付の定義を修正しました。 -% \item 2007年10月:ZRさんからいただいた詳細なご指摘をもとに修正しました。\\ -% \verb|http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/48625.html| -% \item 2007年12月:ZRさん,ttkさんからいただいたご指摘を反映しました。 -% \item 2016年12月:日本語\TeX{}開発コミュニティが開発を引き継ぎました。 -% 以降の変更履歴は本文中に直接書いてあります。 -% \end{itemize} -% -% \StopEventually{} -% -% \begin{macrocode} -%<*sample> -\ifx\directlua\undefined - \documentclass{jbook} -\else - \documentclass{ltjbook} -\fi -\usepackage[german,english,japanese]{babel} -\makeatletter -\def\tbcaption{\def\@captype{table}\caption{キャプションの例}} -\def\fgcaption{\def\@captype{figure}\caption{キャプションの例}} -\makeatother -\def\yes{--- はい。} -\def\no{--- いいえ。} -\def\TEXT{Textverarbeitung mit einem Rechner kann in vielf\"altiger Weise -erfolgen. Eigenschaften und Leistungsf\"ahigkeit sind hierbei weniger -vom jeweiligen Rechnertype, sondern vielmehr vom verwendeten -\textit{Textverarbeitungsprogramm} bestimmt.} -\def\se{\selectlanguage{english}} -\def\sj{\selectlanguage{japanese}} -\def\sg{\selectlanguage{german}} -\setlength{\hoffset}{-13mm} -\setlength{\textwidth}{16cm} -\begin{document} - -\chapter{babel} -\section{japaneseパッケージ} -japaneseパッケージは日本語による見出し語と日付を出力するためのマクロを -定義しています。 - -\fgcaption - -\begin{itemize} -\se -\item ここで英語(\texttt{english})に変更します。(languageの値は\the\language) - -\TEXT - -ここは英語? \iflanguage{english}{\yes}{\no}\par -ここはドイツ語? \iflanguage{german}{\yes}{\no}\par -ここは日本語? \iflanguage{japanese}{\yes}{\no} - -※ \verb:\adddialect\l@japanese0: と設定しているため,日本語?も「はい」となります。 - -\sg -\item ここでドイツ語(\texttt{german})に変更します。(languageの値は\the\language) - -\TEXT - -ここは英語? \iflanguage{english}{\yes}{\no}\par -ここはドイツ語? \iflanguage{german}{\yes}{\no}\par -ここは日本語? \iflanguage{japanese}{\yes}{\no} - -※ ハイフネーションがドイツ語―旧正書法―に切り替わっている点に注目。 -なお,新正書法(\texttt{ngerman})では\texttt{Leis-tungs-f\"a-hig-keit}のように分綴します。 - -\sj -\item ここで日本語(\texttt{japanese})に変更します。(languageの値は\the\language) -\tbcaption -\item \verb:\和暦: は日付の表示をデフォルトの西暦「\today 」から和暦「\和暦\today 」に変更します。 -\end{itemize} -\end{document} -% -% \end{macrocode> -% -% \Finale -% -\endinput diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese.ins b/macros/latex/contrib/babel-contrib/japanese/japanese.ins deleted file mode 100644 index 1e2d13cd0b..0000000000 --- a/macros/latex/contrib/babel-contrib/japanese/japanese.ins +++ /dev/null @@ -1,49 +0,0 @@ -%% japanese.ins -%% -%% Docstrip installation instruction file -%% for the `japanese' package (Japanese support for Babel) -%% -%% - -\def\batchfile{japanese.ins} -\input docstrip.tex - -\expandafter\ifx\csname declarepreamble\endcsname\relax - \Msg{==> This file requires docstrip version 2.4} - \Msg{}\expandafter\endinput\fi - -\keepsilent - -\preamble - -This file is part of the `japanese' package, -providing Japanese language support for Babel. - -Copyright (C) 1999--2007 by ING (Toru INAGAKI) - 2016-- by Japanese TeX Development Community - -This package is free software that can be redistributed and/or -modified under the terms of the LaTeX Project Public License. - -Previous version of this work was written by ING, based on ideas -from bookworm, Tony and Ohishi. -Current maintainer is Japanese TeX Development Community. - -Please report errors to - Japanese TeX Development Community Issue List -or, GitHub repository is also available: - https://github.com/texjporg/babel-japanese - -\endpreamble - -\declarepreamble\emptypreamble -\endpreamble - -\Msg{*** Generating files ***} -\generateFile{japanese.ldf}{f}{\from{japanese.dtx}{code}} -\usepreamble\emptypreamble -\generateFile{japanese-sample.tex}{f}{\from{japanese.dtx}{sample}} -\endbatchfile - -%% -%% End of file `japanese.ins'. diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese.pdf b/macros/latex/contrib/babel-contrib/japanese/japanese.pdf index 65f89c5396..7d64e49e0b 100644 Binary files a/macros/latex/contrib/babel-contrib/japanese/japanese.pdf and b/macros/latex/contrib/babel-contrib/japanese/japanese.pdf differ diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese.tex b/macros/latex/contrib/babel-contrib/japanese/japanese.tex new file mode 100644 index 0000000000..1ef7514b2f --- /dev/null +++ b/macros/latex/contrib/babel-contrib/japanese/japanese.tex @@ -0,0 +1,847 @@ +%#!lualatex +\documentclass[lualatex,a4paper,11pt]{jlreq} +\usepackage{luatexja-fontspec} +\newjfontfamily{\HaraMC}[ + FontFace = {l}{n}{*-Light}, + FontFace = {m}{n}{*-Regular}, + FontFace = {b}{n}{*-Bold}, + BoldFont = {*-Bold}, + ]{HaranoAjiMincho} +\newjfontfamily{\HaraGT}[ + FontFace = {m}{n}{*-Regular}, + FontFace = {b}{n}{*-Bold}, + FontFace = {eb}{n}{*-Heavy}, + BoldFont = {*-Bold}, + ]{HaranoAjiGothic} +\newjfontfamily{\HaraMG}[ + FontFace = {m}{n}{*-Medium}, + ]{HaranoAjiGothic} + +%\usepackage{luatexja-ruby}% for kenten +% [TODO] https://ja.osdn.net/projects/luatex-ja/ticket/41023 +% => based on okumacro.sty +\makeatletter +\def\kenten#1{% + \setbox1=\hbox to\z@{\hbox to 1\zw{\hss ・\hss}\hss}% + \ht1=.63\zw + \@kenten#1\end\relax} +\def\@kenten#1#2{% + \ifx#1\end \let\next=\relax \else + \raise.75\zw\copy1\nobreak #1\ifx#2\end\else + \hskip\ltjgetparameter{kanjiskip}\relax\fi + \let\next=\@kenten + \fi\next#2} +\makeatother + +%%%%%%%%%%%%%%%% +% additional packages +\usepackage{amsmath} +\usepackage{array} +\usepackage[defaultsups]{newpxtext} +\usepackage[zerostyle=c,straightquotes]{newtxtt} +\usepackage{newpxmath} +\usepackage[svgnames]{xcolor} +\usepackage[hyperfootnotes=false]{hyperref} +\usepackage{hologo} +\usepackage{xspace} + +\def\Pkg#1{\textsf{#1}} +\def\Opt#1{\texttt{#1}} +\def\ClsY#1{\Pkg{\textcolor{Black}{#1}}} +\def\ClsT#1{\Pkg{\textcolor{Green}{#1}}} +\def\ClsYT#1{\Pkg{\textcolor{Blue}{#1}}} +\def\file#1{\textsf{#1}} +\def\code#1{\texttt{#1}} + +\usepackage[japanese,english]{babel}% References in English + +\usepackage{listings} +\lstset{% + language=[LaTeX]{TeX}, + basicstyle={\small\ttfamily}, + texcsstyle={*\color{blue}}, + commentstyle={\color{Green}}, + columns=[l]{fullflexible}, + numbers=left, + xrightmargin=0\zw, + xleftmargin=3\zw, + aboveskip=3pt, + belowskip=3pt, + moretexcs={setlength,setmainfont,maketitle,RequirePackage} +} + +\usepackage{shortvrb} +\MakeShortVerb*{|} +%%%%%%%%%%%%%%%% + +% foreign text -> italic +\def\Foreign#1{\textit{#1}} + +% logos +\def\eTeX{$\varepsilon$-\TeX} +\def\pTeX{p\kern-.10em\TeX} +\def\upTeX{u\pTeX} +\def\epTeX{$\varepsilon$-\pTeX} +\def\eupTeX{$\varepsilon$-\upTeX} +\def\pLaTeX{p\LaTeX}\def\pLaTeXe{p\LaTeXe} +\def\upLaTeX{u\pLaTeX}\def\upLaTeXe{u\pLaTeXe} +\def\pdfTeX{\hologo{pdfTeX}} +\def\pdfLaTeX{\hologo{pdfLaTeX}} +\def\XeTeX{\hologo{XeTeX}} +\def\XeLaTeX{\hologo{XeLaTeX}} +\def\LuaTeX{\hologo{LuaTeX}} +\def\LuaLaTeX{\hologo{LuaLaTeX}} + +\def\TL{\TeX\ Live\xspace} +\def\JTDC{Japanese \TeX\ Development Community} + +\def\_{\leavevmode\vrule width .45em height -.2ex depth .3ex\relax} + +\frenchspacing +\begin{document} + +\title{\textsf{\textbf{Guide to Japanese typesetting with \LaTeX}}} +\author{\JTDC\null +\thanks{\url{https://texjp.org},\ e-mail: \texttt{issue(at)texjp.org}}} +\maketitle + +% 日本語組版は西欧言語とは全然違う +Typesetting requirements of Japanese are completely different from +those of Western languages, so setting parameter values and additional +hyphenation patterns are not enough. + +% babel-japanese (japanese.ldf) は訳語を登録するだけ +% 日本語組版に必要な設定は行わない +The package \Pkg{babel-japanese} provides ``\Opt{japanese}'' +option for Babel package. +However, it only defines translated replacement texts for +keywords and dates (e.g. ``\contentsname'' $\rightarrow$ +``{\selectlanguage{japanese}\contentsname}'', +\verb+\today+ $\rightarrow$ ``{\selectlanguage{japanese}\和暦\today}'') +and it does not care about any Japanese typesetting requirements. + +% この文書の目的:ちゃんと日本語する簡単な方法の紹介 +%-- 日本語を「ちゃんと」組むことが西欧言語とは全く異なることを伝える。 +%-- ほんの数文字・数行の行組版だけでも組版規則が全く異なる。 +%-- ページレイアウトに関わる設定値(段落字下げ,行長,行送りなど)が +%-- 異なるのは,想像の範囲内と思われる。 +This document describes how to get an ``acceptable'' Japanese +typesetting result and the eminent differences between Western +and Japanese typesetting requirements. + + +% とりあえず LuaLaTeX + \usepackage{luatexja} オススメ +\section{Short introduction: using \LuaLaTeX} + +To obtain a properly formatted Japanese document, the easiest way +is to use \LuaLaTeX\ with Lua\TeX-ja package. + +\begin{itemize} + \item Using the \Pkg{jlreq} class: +\begin{lstlisting} + \documentclass[book]{jlreq} + \begin{document} + \chapter{日本語の文書}% Japanese document + こんにちは,日本。% Hello, Japan. + \end{document} +\end{lstlisting} + Save the above as \file{jp1.tex} and run the following command. +\begin{verbatim} + $ lualatex jp1 +\end{verbatim} + You will get \file{jp1.pdf} which is properly formatted and + a Japanese font family ``HaranoAji Mincho/Gothic'' is embedded. + \item If you prefer classes not for Japanese, + you can load \Pkg{luatexja} directly: +\begin{lstlisting} + \documentclass{book} + \usepackage{luatexja} + \begin{document} + ... +\end{lstlisting} + * Note that using non-Japanese classes will lead to unnatural + page layouts for Japanese books, especially regarding line gaps + and line lengths. +\end{itemize} + + +% 他の選択肢:upLaTeX が先 +\section{Relatively stable alternative: \upLaTeX} + +\LuaLaTeX\ is relatively new, +and Lua\TeX-ja is under active development. +As a more stable alternative, you can use \upLaTeX. +It is a somewhat legacy implementation, which requires TFM files +for typesetting Japanese characters (called JFM). + +The \Pkg{jlreq} class also supports \upLaTeX, but here +we provide an example using an relatively old class \Pkg{jsclasses}, +which has been widely used for over a decade: +\begin{lstlisting} + \documentclass[uplatex]{jsbook}% or, \documentclass{ujbook} + \begin{document} + ... +\end{lstlisting} +Save the above as \file{jp2.tex} and run the following command. +\begin{verbatim} + $ uplatex jp2 +\end{verbatim} +You will get \file{jp2.dvi}.\bigskip + +\upLaTeX\ and \pLaTeX\ (explained later) are often referred to +as (u)\pLaTeX. They always output DVI files. +To convert DVI containing Japanese characters into PDF, +the easiest way is to use dvipdfmx. +If you have \file{jp2.dvi}, running the following command +\begin{verbatim} + $ dvipdfmx jp2 +\end{verbatim} +will generate \file{jp2.pdf}.\bigskip + +Since the default DVI driver in \TL is set to +\Opt{dvips},\footnote{Though dvips supports DVI with Japanese fonts, +additional settings for Ghostscript are required to convert +the resulting PostScript file into PDF.} +it is recommended to add a global driver option +to be passed to all driver-dependent packages +(e.g. \Pkg{graphicx}, \Pkg{color}, \Pkg{hyperref}): +\begin{lstlisting} + \documentclass[uplatex,dvipdfmx]{jsbook} + \usepackage{graphicx} + \begin{document} + ... +\end{lstlisting} + + +% レガシーな pLaTeX は最後 +\section{Using legacy \pLaTeX} + +Some old Japanese journal classes may require \pLaTeX. +It is a legacy implementation which was born in 1980s, +before the release of Unicode 1.0. +\pLaTeX\ only supports a limited character set, JIS~X~0208 +(6879 characters). +\begin{lstlisting} + \documentclass{jsbook}% or, \documentclass{jbook} + \begin{document} + ... +\end{lstlisting} +Save the above as \file{jp3.tex} and run the following command. +\begin{verbatim} + $ platex jp3 +\end{verbatim} +You will get \file{jp3.dvi}. +Again, the DVI file can be converted into PDF using dvipdfmx. + + +% CJK package はサポート外 +\newenvironment{NOTE}{\StartNOTE\small}{\EndNOTE} +\newcommand*{\NOTEline}[1]{% + \par\noindent\makebox[0pt][l]{\rule[.5ex]{\linewidth}{.4pt}}% + \makebox{\hspace{.05\linewidth}\rule[#1ex]{.9\linewidth}{.2pt}}\par} +\newcommand*{\StartNOTE}{\NOTEline{.1}\nobreak} +\newcommand*{\EndNOTE}{\nobreak\NOTEline{.9}} + +\begin{NOTE} +Note for users who know the \Pkg{CJK} package: +(u)\pLaTeX\ does \emph{not} support the \Pkg{CJK} package! +The reasons are the followings: +\begin{itemize} + \item Both the (u)\pLaTeX\ kernel and \file{CJK.sty} redefine + the command \verb+\selectfont+, and those definitions are + incompatible. + \item The input handling of (u)\pTeX\ engine is different + from that of Western \TeX\ engines, and Japanese tokens + are no longer treated as active characters. +\end{itemize} +Anyway, you will not need the \Pkg{CJK} package at all +when using (u)\pLaTeX. +\end{NOTE} + + +%% ちゃんと日本語を組むには? +%-- 禁則文字を除く任意箇所での行分割が可能 +%-- 和文文字直後の改行文字は空白にならない +%-- 約物どうしの字間調整 +%-- 和欧文間空白の挿入 +\section{Differences between Western and Japanese typesetting} + +The sections above described some practical ways to achieve +``acceptable'' Japanese typesetting results. +So, what are the minimum requirements for ``acceptable'' results +for native Japanese readers? + +The W3C Working Group Note ``Requirements for Japanese Text Layout'' +\cite{w3c-jlreq} is one of the comprehensive documentation which +describes issues of text composition in the Japanese writing system. +However, they are too complicated to explain here thoroughly,\footnote{They +include specification of basic page layout (\Foreign{kihon-hanmen}; 基本版面), +vertical alignment of Japanese text (\Foreign{tate-gumi}; 縦組), +small-sized supplementary text (\Foreign{ruby}; ルビ), inline cutting note +(\Foreign{warichu}; 割注) etc.} so we focus on the main issues regarding +simple and short horizontal writing within a few lines. + +\newbox\JEXBOX % stores example output +\newbox\JJgridbox +\def\JJsq{% + \hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{% +  \hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw% + \hskip\dimexpr.5\zw-.2pt\relax}\hss}} +\def\JJsb{\hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{% + ■\hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw% + \hskip\dimexpr.5\zw-.2pt\relax}\hss}} +\setbox\JJgridbox=\hbox to 12\zw{% + \JJsq\JJsq\JJsq\JJsq\JJsb\JJsq\JJsq\JJsq\JJsq\JJsb\JJsq\JJsq} +\def\JJoutbox#1{{% + \ltjsetparameter{kanjiskip=0pt plus .2\zw minus .2\zw}% + \hbox{\textcolor{cyan}{\copy\JJgridbox}\hskip-12\zw% + \vbox{\hsize=12\zw\noindent\leftskip0pt\rightskip0pt\parfillskip0pt#1\hss}\vrule}% +}} + +Consider the following input, Listing \ref{list:src1}. Using \LuaLaTeX, +it is allowed to include any Unicode character out-of-the-box, +though a suitable Japanese font should be declared. + +\begingroup +\begin{figure}[tbp] +\ltjsetparameter{kanjiskip=0pt,xkanjiskip=0pt} +\begin{lstlisting}[caption={Example input using \LuaLaTeX},label={list:src1}] + %#!lualatex + \documentclass{article} + \usepackage{fontspec} + \setmainfont{HaranoAjiMincho-Regular} + \setlength{\textwidth}{250pt} + \setlength{\overfullrule}{5pt} + \begin{document} + \noindent + % first line = exactly 250pt (= 10pt x 25) + ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\\ + 改行後 + 空白が入る。日本語が連続すると改行できず、はみ出す。\\ + 句読点と、(括弧)の間隔が広い。% + 日本語とLatinの間が空かない。 + \end{document} +\end{lstlisting} +\end{figure} +\endgroup + +However, the result (Figure \ref{fig:src1}) is not acceptable, +especially for the following reasons: + +\begin{itemize} + \item Japanese text has no interword spaces, but + line break is allowed between any Japanese characters + except before some punctuation marks (\Foreign{kinsoku}; 禁則). + The overfull rules that appeared in Figure \ref{fig:src1} come + from not knowing such line breaking rules. + \item Similarly, it is common to insert a new line character after + arbitrary Japanese characters in the input source. + Such a new line character should not be treated as a blank space.\\ + Wrong: \JJoutbox{改行後 空白が入る。…\hfill}\quad + Correct: \JJoutbox{改行後空白が入る。…\hfill} + \item Ordinary Japanese characters are designed to have virtual + full-width (\Foreign{zenkaku}) bounding box. However, spacing + between adjacent punctuation marks must be truncated.\\ + Wrong: \JJoutbox{句読点と、\null (括弧)の間…\hfill}\quad + Correct: \JJoutbox{句読点と、(括弧)の間…\hfill} + \item It is preferred to insert a quarter em space (\Foreign{shibu aki}) + between Japanese and Latin characters.\footnote{Such a space + is often called ``xkanjiskip'' glue in Japanese \TeX\ world.}\\ + Wrong: \JJoutbox{日本語と\null Latin\null の間…\hfill}\quad + Correct: \JJoutbox{日本語とLatinの間…\hfill} +\end{itemize} +Figure \ref{fig:src1-mod} shows an acceptable output of the same text. +You will see that choosing a Japanese font on Unicode-enabled engine +is not enough for obtaining properly formatted result. + +All of the methods explained in the previous sections, namely +\begin{enumerate} + \item \LuaLaTeX\ with Lua\TeX-ja package, + \item \upLaTeX, + \item \pLaTeX, +\end{enumerate} +are developed to support (most of) the requirements mentioned above, +and their output is most likely to be acceptable. +Therefore, we recommend to use one of those platforms. + +\begingroup +\ltjsetparameter{jacharrange={-1,-2,-3,-4,-5,-6,-7,-8,-9}} +\setmainfont{HaranoAjiMincho-Regular} +\global\setbox\JEXBOX=\vbox{\hsize=250pt\fontsize{10pt}{12pt}\selectfont +\setlength{\overfullrule}{5pt}\noindent + ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\\ + 改行後 + 空白が入る。日本語が連続すると改行できず、はみ出す。\\ + 句読点と、(括弧)の間隔が広い。% + 日本語とLatinの間が空かない。} +\endgroup + +\begin{figure}[tbp] +\centering\leavevmode\fbox{\box\JEXBOX} +\caption{Output from Listing \ref{list:src1} (not acceptable)} +\label{fig:src1} +\end{figure} + +\begingroup +\setmainfont{HaranoAjiMincho-Regular} +\global\setbox\JEXBOX=\vbox{\hsize=250pt\fontsize{10pt}{12pt}\selectfont +\setlength{\overfullrule}{5pt}\noindent + ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\\ + 改行後 + 空白が入る。日本語が連続すると改行できず、はみ出す。\\ + 句読点と、(括弧)の間隔が広い。% + 日本語とLatinの間が空かない。} +\endgroup + +\begin{figure}[tbp] +\centering\leavevmode\fbox{\box\JEXBOX} +\caption{Acceptable output of the above text} +\label{fig:src1-mod} +\end{figure} + + +%% 日本語組版における多書体化の必要性 +%-- 欧文組版で「セリフ体からのイタリック化」に相当するのは +%-- 和文組版では「明朝体(セリフ)からのゴシック(サンセリフ)化」 +\section{Using multi-weight typefaces for Japanese typesetting} + +Latin font families used in Western typesetting consist of +many typefaces: +\begin{itemize} + \def\FACES{Upright, \textit{Italic}, + \textbf{Bold}, \textbf{\textit{BoldItalic}}} + \item {\rmfamily Serif: \FACES} + \item {\sffamily Sans Serif: \FACES} + \item {\ttfamily Typewriter: \FACES} +\end{itemize} + +In contrast, Japanese font families provide limited typefaces. +Most Japanese font families do not provide italic or slanted shapes. +Rather, these shapes look strange and have rarely been used in +traditional typesetting. +Also, there is no typewriter font; ordinary Japanese typefaces are +inherently designed to have a fixed width. +\begin{itemize} + \item {\mcfamily 明朝 (\Foreign{Mincho}; Japanese Serif)} + \item {\gtfamily ゴシック (\Foreign{Gothic}; Japanese Sans Serif)} +\end{itemize} + +Therefore, the typeface used to emphasize in Japanese text is +different from those often used in Western text: +\begin{itemize} + \item Normal text (in upright shape) and + \emph{Emphasized text (in italic shape)} + \item 通常の文(in \Foreign{Mincho})と, + \emph{強調された文}(in \Foreign{Gothic})か + \kenten{強調された文}(with \Foreign{Kenten}; 圏点) +\end{itemize} + +Most of common Japanese classes, including those used in the +previous sections, use \Foreign{Mincho} and \Foreign{Gothic} with +a single weight each. +Nowadays, some multi-weight Japanese fonts are available for free, +so using them is a good way to overcome the situation. +The \Opt{[deluxe]} option of packages +\Pkg{luatexja-preset} (on \LuaLaTeX) or \Pkg{otf} (on (u)\pLaTeX) +supports maximum of 7 typefaces: +\begin{itemize} + \item {\HaraMC \fontseries{l}\selectfont 細明朝, + \fontseries{m}\selectfont 明朝, + \fontseries{b}\selectfont 太明朝} + (\Foreign{Mincho} Light, Medium and Bold) + \item {\HaraGT \fontseries{m}\selectfont ゴシック, + \fontseries{b}\selectfont 太ゴシック, + \fontseries{eb}\selectfont 極太ゴシック} + (\Foreign{Gothic} Medium, Bold and Extra Bold) + \item {\HaraMG \fontseries{m}\selectfont 丸ゴシック} + (\Foreign{Maru Gothic} Medium)\footnote{The + HaranoAji family used in this documentation does not provide + \Foreign{Maru Gothic} (rounded \Foreign{Gothic}) typefaces.} +\end{itemize} +With the help of these packages, you can emphasize Japanese text +by changing to bold, instead of changing Serif to Sans Serif. +\begin{itemize} + \item {\HaraMC 通常の文(in \Foreign{Mincho})と, + \textbf{強調された文}(in \Foreign{Mincho} Bold)} + \item {\HaraGT 通常の文(in \Foreign{Gothic})と, + \textbf{強調された文}(in \Foreign{Gothic} Bold)} +\end{itemize} + + +%% 各種文書への導線をはる +\section{Further readings} + +\begin{itemize} + \item ``The Lua\TeX-ja package'' (\file{luatexja-en.pdf}, in English) + \begin{itemize} + \item For beginners, refer to Part I ``User's manual.'' + \item For more interested users, refer to Part II ``Reference.'' + \item For developers, refer to Part III ``Implementations.'' + \item Japanese edition: \file{luatexja-ja.pdf} + \end{itemize} + \item ``Guide to \pTeX\ for developers unfamiliar with Japanese'' + (\file{ptex-guide-en.pdf}, in English) + \begin{itemize} + \item For developers who aim to support + \pTeX/\pLaTeX\ and its variants \upTeX/\upLaTeX. + \end{itemize} + \item ``About \upLaTeXe'' + (\file{uplatex-en.pdf}, in English) + \begin{itemize} + \item For users of \upLaTeX, but a somewhat legacy document. + \item Japanese edition: \file{uplatex-en.pdf} + \end{itemize} + \item ``About \pLaTeXe'' + (\file{platex-en.pdf}, in English) + \begin{itemize} + \item For users of \pLaTeX, but a somewhat legacy document. + \item Japanese edition: \file{platex-en.pdf} + \end{itemize} + \item ``Babel-Option \Opt{japanese}'' + (\file{babel-japanese.pdf}, in both English and Japanese) + \begin{itemize} + \item Basic introduction of \Opt{japanese} option of \Pkg{babel}. + \item Provides translated replacement texts for keywords and date. + \item Note: the translations provided by this package may not + become effective on most of Western classes, due to lack of + appropriate placeholders inside captions. + \end{itemize} +\end{itemize} + + +%% 日本の成果物 +\section{Japanese deliverables in \TL} + +There are many packages developed specially for Japanese typesetting +in \TL; most of these are installed as part of +\Pkg{collection-langjapanese}. +Only a subset of these useful packages are shown below. +For more details, please refer to individual documentation. + +\subsection{Document classes} + +Japanese text can be aligned in two directions. +One is horizontal direction, called \Foreign{yoko-gumi} (横組), +the other is vertical direction, called \Foreign{tate-gumi} (縦組). +The list below shows \ClsT{\Foreign{tate} classes in green} +and \ClsYT{\Foreign{yoko}/\Foreign{tate} classes in blue} (default is +\Foreign{yoko}, and the class option \Opt{[tate]} switches to +\Foreign{tate} mode). + +All the major frameworks for Japanese typesetting provide +``standard classes'': +\begin{itemize} + \item Lua\TeX-ja (\Pkg{luatexja} by Lua\TeX-ja project team) + \begin{itemize} + \item Bundle: \Pkg{ltjsclasses} + (\ClsY{ltjsarticle}, \ClsY{ltjsbook}, \ClsY{ltjsreport}) + \item Bundle: \Pkg{ltjclasses} + (\ClsY{ltjarticle}, \ClsY{ltjbook}, \ClsY{ltjreport}, + \ClsT{ltjtarticle}, \ClsT{ltjtbook}, \ClsT{ltjtreport}) + \end{itemize} + \item \upLaTeX\ (\Pkg{uplatex} by \JTDC) + \begin{itemize} + \item Bundle: \Pkg{ujclasses} + (\ClsY{ujarticle}, \ClsY{ujbook}, \ClsY{ujreport}, + \ClsT{utarticle}, \ClsT{utbook}, \ClsT{utreport})* + \end{itemize} + \item \pLaTeX\ (\Pkg{platex} by \JTDC) + \begin{itemize} + \item Bundle: \Pkg{jclasses} + (\ClsY{jarticle}, \ClsY{jbook}, \ClsY{jreport}, + \ClsT{tarticle}, \ClsT{tbook}, \ClsT{treport})* + \end{itemize} + * Due to historical reasons, \Pkg{ujclasses} and \Pkg{jclasses} + are left with some inconvenient behaviors. You may need to adjust + some layout parameters by hand, or use other classes mentioned below. +\end{itemize} + +Other major classes designed for Japanese: +\begin{itemize} + \item Class: \ClsYT{jlreq} (by Noriyuki Abe) + \begin{itemize} + \item Supports \LuaLaTeX, \upLaTeX\ and \pLaTeX. + \item This class aims to implement + ``Requirements for Japanese Text Layout'' + (JLReq, 日本語組版処理の要件, \cite{w3c-jlreq}). + The class file and necessary JFM (Japanese font metric) files + are included. + \end{itemize} + \item Bundle: \Pkg{jsclasses} (by Haruhiko Okumura \& \JTDC) + \begin{itemize} + \item Class: \ClsY{jsarticle}, \ClsY{jsbook}, \ClsY{jsreport} + \begin{itemize} + \item Supports only \upLaTeX\ (with option \Opt{[uplatex]}) and \pLaTeX. + \item In addition to layout adjustments, these classes use + newly developed JFM set (jis metrics) to avoid strange + behaviors of standard \pTeX\ JFM set (min10 etc). + For more details, please refer to \cite{ajt2008okumura}. + \item Note: when font size other than 10pt is specified, + the engine primitive \verb+\mag+ is employed. + Conflicts with other packages can lead to inconsistent + results in graphics and/or page size. + To avoid this, specify \Opt{nomag} or \Opt{nomag*} option. + \end{itemize} + \end{itemize} +\end{itemize} + +\subsection{Packages} + +\begin{itemize} + \item Package: \Pkg{plautopatch} (by Hironobu Yamashita) + \begin{itemize} + \item Supports \upLaTeX\ and \pLaTeX, but + does no harm on other \LaTeX\ (silently ignored). + \item (u)\pLaTeX\ users are recommended to load this package + \emph{always}, to resolve errors and incompatibilities with + Western \LaTeX\ packages which are not aware of (u)\pLaTeX. + \end{itemize} + \item Package: \Pkg{pxchfon} (by Takayuki Yato) + \begin{itemize} + \item Supports \upLaTeX\ and \pLaTeX. + \item Helps users to declate physical fonts embedded in + dvipdfmx's PDF output. It utilizes + \verb+\special{pdf:mapline}+ or + \verb+\special{pdf:mapfile}+ syntaxes. + \end{itemize} + \item Package: \Pkg{otf} + (\Pkg{japanese-otf}, \Pkg{japanese-otf-uptex} by Shuzaburo Saito \& TTK) + \begin{itemize} + \item Supports only \upLaTeX\ (with option \Opt{[uplatex]}) and \pLaTeX. + \item Main feature 1: allows switching between seven different + typefaces, compared to the standard of two typefaces. + This function is realized by shipping seven ``logical fonts'' + (= set of a JFM and a virtual font). + \item Main feature 2: provides commands for outputting + many characters by specifying Unicode (\verb+\UTF{....}+) + or Adobe CID (\verb+\CID{....}+), even with \pLaTeX. + This function is realized by mapping a huge real font from + lots of smaller subset virtual fonts. + A series of shorthand commands (\verb+\aj...+) are + also available. + \item Lua\TeX-ja provides \Pkg{luatexja-otf} to partially emulate + feature 2 of this package. + \end{itemize} +\end{itemize} + +\subsection{Other support files} + +\begin{itemize} + \item \Pkg{ptex-fontmaps} + \begin{itemize} + \item Provides map files to be used with dvipdfmx and dvips. + \item To customize Japanese fonts to be used in the output, + please use the command \code{kanji-config-updmap}. + \end{itemize} + \item \Pkg{cjk-gs-integrate} + \begin{itemize} + \item Supports easy configuration of Ghostscript for + CJK (Chinese, Japanese and Korean) fonts, which is + necessary for processing of PostScript file output from dvips. + \end{itemize} +\end{itemize} + + +%% 参考文献 +\begin{thebibliography}{99} + \bibitem{w3c-jlreq} + W3C Working Group, + \newblock ``{\em Requirements for Japanese Text Layout}''.\\ + \url{https://www.w3.org/TR/jlreq/?lang=en} + \bibitem{ajt2008okumura} + Haruhiko Okumura, + \newblock ``{\em \pTeX\ and Japanese Typesetting}''. + \newblock The Asian Journal of \TeX, Volume~2, No.~1, 2008.\\ + \url{http://ajt.ktug.org/2008/0201okumura.pdf} +\end{thebibliography} + + +\clearpage +\appendix + +\section{Examples of acceptable Japanese typesetting results} + +\subsection{A simple Japanese document} + +Using \LuaLaTeX: +\begin{lstlisting} + \documentclass[book]{jlreq} + \begin{document} + \chapter{日本語がメインのシンプルな文書} + こんにちは,日本語に少しEnglishを含めてみます。 + \end{document} +\end{lstlisting} + +Using \upLaTeX\ (or \pLaTeX) + dvipdfmx: +\begin{lstlisting} + \RequirePackage{plautopatch}% recommended + \documentclass[book,dvipdfmx]{jlreq}% driver option + \begin{document} + \chapter{日本語がメインのシンプルな文書} + こんにちは,日本語に少しEnglishを含めてみます。 + \end{document} +\end{lstlisting} + +Using \pdfLaTeX\ or \XeLaTeX: +though they have only limited Japanese typesetting capabilities, +\ClsY{bxjsbook} (from \Pkg{bxjscls} bundle by Takayuki Yato) +aims to emulate \Pkg{jsclasses} as much as possible. +Due to technical constraints, manual adjustments are often +required in the input.\footnote{\pdfTeX\ and \XeTeX\ cannot +insert a quarter em space (\Foreign{shibu aki}) automatically, so +the active character \code{\~} is redefined to a macro to +insert it manually.} +\begin{lstlisting} + \documentclass[pdflatex,ja=standard]{bxjsbook} + %\documentclass[xelatex,ja=standard]{bxjsbook} + \begin{document} + \chapter{日本語がメインのシンプルな文書} + こんにちは,日本語に少し~English~を含めてみます。 + \end{document} +\end{lstlisting} + +\subsection{Changing Japanese fonts} + +The default Japanese font family is ``HaranoAji Mincho/Gothic'' +which is derived from Source Han (or Noto) fonts. +Suppose you want to switch to ``IPAex Mincho/Gothic'' ... + +Using \LuaLaTeX: +\begin{lstlisting} + \documentclass[book]{jlreq} + \usepackage[ipaex]{luatexja-preset}% pre-defined + ... +\end{lstlisting} + +Using \upLaTeX\ (or \pLaTeX) + dvipdfmx: +\begin{lstlisting} + \RequirePackage{plautopatch}% recommended + \documentclass[book,dvipdfmx]{jlreq}% driver option + \usepackage[ipaex]{pxchfon}% pre-defined + ... +\end{lstlisting} + +\subsection{More typefaces} + +Using \LuaLaTeX: +\begin{lstlisting} + \documentclass[article]{jlreq} + \usepackage{jlreq-deluxe}% multi weight + \begin{document} + \section{簡単な文章} + 通常のテキストにはSerifと明朝体を使います。 + \textbf{太字も使うことができます。} + \textsf{Sans Serifにはゴシック体が似合います。 + \textbf{太字にも対応します。}} + \end{document} +\end{lstlisting} + +If you are using \LuaLaTeX\ with classes other than \Pkg{jlreq}, +you can also use \Pkg{luatexja-preset}: +\begin{lstlisting} + \documentclass{ltjsarticle} + \usepackage[deluxe]{luatexja-preset}% multi weight + \begin{document} + ... +\end{lstlisting} + +Using \upLaTeX\ (or \pLaTeX) + dvipdfmx: +\begin{lstlisting} + \documentclass[article,dvipdfmx]{jlreq}% driver option + \usepackage{jlreq-deluxe}% multi weight + \begin{document} + ... +\end{lstlisting} + +The package \Pkg{jlreq-deluxe} is relatively new, and it is +designed to be used with the \Pkg{jlreq} class. +Traditionally the \Pkg{otf} package has been widely used +for over a decade. + +Using \upLaTeX\ + dvipdfmx: +\begin{lstlisting} + \documentclass[uplatex,dvipdfmx]{jsarticle} + \usepackage[deluxe]{otf}% multi weight + \begin{document} + ... +\end{lstlisting} + +Using \pLaTeX\ + dvipdfmx: +\begin{lstlisting} + \documentclass[dvipdfmx]{jsarticle} + \usepackage[deluxe]{otf}% multi weight + \begin{document} + ... +\end{lstlisting} + + +\subsection{Vertical writing} + +As a Japanese version of \Pkg{lipsum}, here we use +\Pkg{bxjalipsum}. It provides several sample texts. + +Using \LuaLaTeX: +\begin{lstlisting} + \documentclass[article,tate]{jlreq} + \usepackage{bxjalipsum} + \begin{document} + \title{吾輩は猫である}% I Am A Cat + \author{夏目漱石}% Natsume Soseki + \maketitle + \jalipsum{wagahai}% 吾輩は猫である。名前… (33 paragraphs) + \end{document} +\end{lstlisting} + +Using \upLaTeX\ (or \pLaTeX) + dvipdfmx: +\begin{lstlisting} + \documentclass[article,tate,dvipdfmx]{jlreq}% driver option + \usepackage{bxjalipsum} + \begin{document} + % The preamble of the Constitution of Japan + \jalipsum{preamble}% 日本国民は、正当に選… (4 paragraphs) + \end{document} +\end{lstlisting} + +\subsection{Beamer with Japanese} + +Note that the class \Pkg{beamer} is not designed for Japanese. +% https://qiita.com/zr_tex8r/items/69e8cc32038ff29f5ac3 +% update: \usepackage{pxjahyper} -> supported by plautopatch + +Using \LuaLaTeX:\footnote{Since \Pkg{hyperref} 2020-08-14 v7.00f, +the option \Opt{unicode} is enabled by default, so the explicit +option is already redundant.} +\begin{lstlisting} + \documentclass[unicode,12pt]{beamer}% ensure unicode for hyperref + \usepackage{luatexja}% for Japanese + \renewcommand{\kanjifamilydefault}{\gtdefault}% sans-serif also for Japanese + \usetheme{Copenhagen}% as you like! + \begin{document} + \section{日本語のサンプル} + \begin{frame}{日本語でBeamerを使う} + こんにちは,日本語に少しEnglishを含めてみます。 + \end{frame} + \end{document} +\end{lstlisting} + +Using \upLaTeX\ + dvipdfmx: +% based on pLaTeX settings +\begin{lstlisting} + \RequirePackage{plautopatch}% loads (at least) the pxjahyper package + \documentclass[dvipdfmx,12pt]{beamer}% driver option + \usepackage{bxdpx-beamer}% additional settings for dvipdfmx + \renewcommand{\kanjifamilydefault}{\gtdefault}% sans-serif also for Japanese + ... +\end{lstlisting} + +Using \pLaTeX\ + dvipdfmx: +\begin{lstlisting} + \RequirePackage{plautopatch}% loads (at least) the pxjahyper package + \documentclass[dvipdfmx,12pt]{beamer}% driver option + \usepackage{bxdpx-beamer}% additional settings for dvipdfmx + \usepackage{minijs}% avoid pTeX's standard JFM (min10 etc.) + \renewcommand{\kanjifamilydefault}{\gtdefault}% sans-serif also for Japanese + ... +\end{lstlisting} + +\end{document} diff --git a/macros/latex/contrib/bookcover/bookcover-example1.pdf b/macros/latex/contrib/bookcover/bookcover-example1.pdf index 57ce8d14de..10c8a90f98 100644 Binary files a/macros/latex/contrib/bookcover/bookcover-example1.pdf and b/macros/latex/contrib/bookcover/bookcover-example1.pdf differ diff --git a/macros/latex/contrib/bookcover/bookcover-example1.tex b/macros/latex/contrib/bookcover/bookcover-example1.tex index 9351a8687a..da74f6d62b 100644 --- a/macros/latex/contrib/bookcover/bookcover-example1.tex +++ b/macros/latex/contrib/bookcover/bookcover-example1.tex @@ -1,17 +1,16 @@ -\documentclass[spinewidth=25mm,coverwidth=15cm,coverheight=20cm,flapwidth=6cm]{bookcover} +\documentclass[coverwidth=15cm,coverheight=20cm,spinewidth=25mm, + flapwidth=6cm,wrapwidth=5mm]{bookcover} \newbookcovercomponenttype{center rotate}{ - \parbox[t][\partheight][c]{\partwidth}{ - \begin{center} - \rotatebox[origin=c]{90}{#1} - \end{center}}} + \vfill + \centering + \rotatebox[origin=c]{-90}{#1} + \vfill} \usepackage[outline]{contour}% It doesn't work with xelatex and lualatex \contourlength{1pt} -\definecolor{lightbrown}{RGB}{176,88,0} -\colorlet{title}{yellow!60!black} \usepackage[latin]{babel} -\usepackage{lipsum} +\usepackage{lipsum,microtype} \begin{document} @@ -19,80 +18,68 @@ % Remark \begin{bookcoverelement}{center}{above front} - \textcolor{blue}{A DUST JACKET} + \textcolor{blue}{A dust jacket example} \end{bookcoverelement} -% Black background color on the whole cover +% Background color on the whole cover \begin{bookcoverelement}{color}{bg whole} black \end{bookcoverelement} -% Brown background picture on the whole cover, without the flaps +% Background picture on the whole cover without flaps \begin{bookcoverelement}{picture}{bg whole without flaps} - ./figures/bg.jpg + ./figures/bookcover-bg.jpg \end{bookcoverelement} -% Vertical light brown transparent trails on the back cover by a tikz code -\begin{bookcoverelement}{tikz}{bg back} - \fill[opacity=0.3,color=lightbrown] - (0mm,0mm) rectangle (20mm,210mm) (100mm,0mm) rectangle (150mm,210mm); +% Transparent areas on the back cover +\begin{bookcoverelement}{tikz}{bg back and wrap} + \fill[opacity=0.3,black!50] + (0,0) rectangle (25mm,\partheight) + (part.north east) rectangle ([xshift=-5cm]part.south east); \end{bookcoverelement} -% Vertical light brown transparent trails on the front cover by a tikz code -\begin{bookcoverelement}{tikz}{bg front} - \fill[opacity=0.3,color=lightbrown] - (0mm,0mm) rectangle (50mm,210mm) (130mm,0mm) rectangle (150mm,210mm); +% Transparent areas on the front cover +\begin{bookcoverelement}{tikz}{bg front and wrap} + \fill[opacity=0.3,black!50] + (0,0) rectangle (50mm,\partheight) + (part.north east) rectangle ([xshift=-25mm]part.south east); \end{bookcoverelement} -% Picture on the front, behind the title -\begin{bookcoverelement}{normal}{front} - \vspace{70mm} - \centering - \includegraphics[width=8cm]{./figures/cards.png} +% Picture on the front cover behind the title +\begin{bookcoverelement}{center}{front} + \includegraphics{./figures/bookcover-cards.pdf} \end{bookcoverelement} -% Text on the front cover -\begin{bookcoverelement}{normal}{front} +% Author and title on the front cover +\begin{bookcoverelement}{normal}{front}[,,,5cm] \centering - \vspace{60mm} - \color{title}\sffamily\bfseries - \resizebox*{50mm}{8mm}{\contour{black}{Rose Taylor}} - \par\vspace{20mm} - \resizebox*{90mm}{40mm}{\parbox{35mm}{ - \centering - \contour{black}{PROBABILITY}\\ - \contour{black}{THEORY}\\}} + \color{yellow!60!black}\sffamily\bfseries + \resizebox{!}{5mm}{\contour{black}{Rose Taylor}}\\[26mm] + \resizebox{!}{7mm}{\contour{black}{GAMBLING SYSTEMS}}\\[8mm] + \resizebox{!}{7mm}{\contour{black}{AND STRATEGIES}}\\ \end{bookcoverelement} -% Text on the spine +% Title on the spine \begin{bookcoverelement}{center rotate}{spine} - \contour{black}{% - \color{title}\huge\sffamily\bfseries - Rose Taylor -- Probability Theory} + \color{yellow!60!black}\huge\sffamily\bfseries + \contour{black}{Rose Taylor -- Gambling Systems and Strategies} \end{bookcoverelement} % Text on the back cover -\begin{bookcoverelement}{normal}{back} - \centering - \vspace{20mm} - \parbox{110mm}{\color{white}\lipsum[1]} +\begin{bookcoverelement}{normal}{back}[2cm,2cm,2cm,2cm] + \color{white}\lipsum[1] \end{bookcoverelement} % Text and picture on the front flap -\begin{bookcoverelement}{normal}{front flap} - \centering - \vspace{20mm} - \parbox{40mm}{\color{white}\lipsum[2]} +\begin{bookcoverelement}{normal}{front flap}[1cm,1cm,1cm,2cm] + \color{white}\lipsum[2] \vfill - \includegraphics[width=30mm]{./figures/dice.png} - \vspace{10mm} + {\centering\includegraphics{./figures/bookcover-dice.pdf}\par} \end{bookcoverelement} % Text on the back flap -\begin{bookcoverelement}{normal}{back flap} - \centering - \vspace{20mm} - \parbox{40mm}{\color{white}\lipsum[2]} +\begin{bookcoverelement}{normal}{back flap}[1cm,2cm,1cm,2cm] + \color{white}\lipsum[2] \end{bookcoverelement} \end{bookcover} diff --git a/macros/latex/contrib/bookcover/bookcover-example2.pdf b/macros/latex/contrib/bookcover/bookcover-example2.pdf index 14918ecb48..50d15d81db 100644 Binary files a/macros/latex/contrib/bookcover/bookcover-example2.pdf and b/macros/latex/contrib/bookcover/bookcover-example2.pdf differ diff --git a/macros/latex/contrib/bookcover/bookcover-example2.tex b/macros/latex/contrib/bookcover/bookcover-example2.tex index 7397045035..7c298de164 100644 --- a/macros/latex/contrib/bookcover/bookcover-example2.tex +++ b/macros/latex/contrib/bookcover/bookcover-example2.tex @@ -1,79 +1,68 @@ \documentclass[markcolor=black,spinewidth=15mm]{bookcover} \usepackage[latin]{babel} -\usepackage{lipsum} -\definecolor{amiyellow}{cmyk}{0,0,.6,0} +\usepackage{lipsum,microtype} \begin{document} -% The outside of the book cover +% Outside cover \begin{bookcover} % Remark \bookcovercomponent{center}{above front}{ - \textcolor{red}{\textsc{Annales Mathematicae et Informaticae} book cover -- outside}} + \textcolor{red}{\textsc{Annales Mathematicae} book cover (outside)}} -% Yellow triangle on the back cover by tikz code +% Blue area on the back cover \bookcovercomponent{tikz}{bg back}{ - \fill[amiyellow](.5,.5)--(17.5,24.5)--(17.5,0)--(.5,0)--cycle;} + \fill[blue!50](7/48,0)--(17.5,24.5)--(17.5,0)--cycle;} -% Yellow triangle on the front cover by tikz code +% Blue area on the front cover \bookcovercomponent{tikz}{bg front}{ - \fill[amiyellow](0,0)--(0,24.5)--(17,.5)--(17,0)--cycle;} + \fill[blue!50](0,0)--(0,24.5)--(833/48,0)--cycle;} -% Yellow background color on the spine -\bookcovercomponent{color}{bg spine}{amiyellow} +% Background color on the spine +\bookcovercomponent{color}{bg spine}{blue!50} -% Text on the spine +% Title on the spine \bookcovercomponent{center}{spine}{ - \rotatebox[origin=c]{90}{\footnotesize\bfseries - ANNALES MATHEMATICAE ET INFORMATICAE 43.~(2020)}} + \rotatebox[origin=c]{-90}{\large\bfseries + ANNALES MATHEMATICAE 43.~(2020)}} -% Text and pictures on the front cover -\bookcovercomponent{normal}{front}{ - \vspace{30mm} +% Text and picture on the front cover +\bookcovercomponent{normal}{front}[22mm,20mm,22mm,40mm]{ \centering - {\huge\bfseries ANNALES\\ MATHEMATICAE ET\\ INFORMATICAE\\[13mm]} - {\large\bfseries TOMUS 43.~(2020)}\\[10mm] - \includegraphics{./figures/summa.pdf} + {\huge\bfseries ANNALES\\ MATHEMATICAE\\[13mm]} + {\large\bfseries TOMUS 43.~(2020)} \vfill - {\large COMMISSIO REDACTORIUM}\\[3mm] - \parbox{123mm}{\centering\lipsum[2]\par} + \includegraphics{./figures/bookcover-pi.pdf} \vfill - {\large\bfseries HUNGARIA} - \vspace{10mm}} + {\large COMMISSIO REDACTORIUM}\\[3mm] + \lipsum[2]} % Text on the back cover -\bookcovercomponent{normal}{back}{ - \vspace{30mm} - \centering - {\large\bfseries Contents}\\[5mm] - \parbox{126mm}{\lipsum[1-4]}} +\bookcovercomponent{normal}{back}[22mm,10mm,22mm,30mm]{ + {\centering\large ABSTRACTUM\\[5mm]} + \lipsum[1-4]} \end{bookcover} -% The inside of the book cover +% Inside cover \begin{bookcover} % Remark -\bookcovercomponent{center}{above front}{ - \textcolor{red}{\textsc{Annales Mathematicae et Informaticae} book cover -- inside}} - -% Text on the front cover (it is back of the inside book cover!) -\bookcovercomponent{normal}{front}{ - \vspace{27mm} - \begin{center} - \bfseries - ANNALES MATHEMATICAE ET INFORMATICAE\\[3mm] - International journal for mathematics and computer science\\[3mm] - Referred by\\ - Zentralblatt f\"{u}r Mathematik\\ - and\\ - Mathematical Reviews\\ - \end{center} +\bookcovercomponent{center}{above inside back}{ + \textcolor{red}{\textsc{Annales Mathematicae} book cover (inside)}} + +% Background color on the whole inside cover +\bookcovercomponent{color}{bg whole}{blue!50} + +% Text on the inside back cover +\bookcovercomponent{normal}{inside back}[22mm,10mm,22mm,30mm]{ + \color{white} + {\centering\bfseries + ANNALES MATHEMATICAE\\[3mm] + Acta internationalis mathematicae\par} \bigskip - \begin{center} - \parbox{126mm}{\lipsum[1]} - \end{center}} + \lipsum[1]} \end{bookcover} diff --git a/macros/latex/contrib/bookcover/bookcover.dtx b/macros/latex/contrib/bookcover/bookcover.dtx index 876bae7142..630d8abf43 100644 --- a/macros/latex/contrib/bookcover/bookcover.dtx +++ b/macros/latex/contrib/bookcover/bookcover.dtx @@ -17,53 +17,65 @@ % \iffalse %<*driver> \ProvidesFile{bookcover.dtx} -\newcommand{\eifiledate}{2020/11/16} -\newcommand{\eifilever}{v2.5} +\newcommand{\eifiledate}{2020/12/06} +\newcommand{\eifilever}{v3.0} % % %\NeedsTeXFormat{LaTeX2e}[2020/10/01] -%\ProvidesClass{bookcover}[2020/11/16 v2.5 class for book covers and dust jackets] +%\ProvidesClass{bookcover}[2020/12/06 v3.0 class for book covers and dust jackets] % %<*driver> \documentclass{ltxdoc} \OnlyDescription -\usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[paperwidth=210mm,paperheight=295mm,textwidth=160mm,top=25mm,bottom=25mm,outer=25mm]{geometry} \usepackage[unicode,pdfstartview=FitH,bookmarksnumbered,colorlinks,allcolors=teal]{hyperref} \usepackage[english]{babel} -\usepackage{xcolor,graphicx,listings,calc,multirow,array,pdfpages} +\usepackage{graphicx,listings,calc,multirow,array,paralist,eso-pic,tikz} \colorlet{command}{blue!80!black} -\colorlet{example}{black} -\colorlet{layer}{purple} \colorlet{param}{green!50!black} \lstnewenvironment{examplelst}{\lstset{ gobble=2, - belowskip=5mm, - basicstyle=\color{example}\small\ttfamily, + aboveskip=1.4pt, + basicstyle=\small\ttfamily, backgroundcolor=\color{black!10}, columns=fullflexible, + comment=[l][\ttfamily\color{purple}]{\%}, + frame=trbl, + framesep=3pt, + xleftmargin=3.4pt, + xrightmargin=3.4pt, keepspaces}}{} \lstnewenvironment{commandlst}{\lstset{ literate={<}{{$\langle$}}1{>}{{$\rangle$}}1, delim=[is][\color{param}\normalfont\itshape\small]{!}{!}, gobble=2, + belowskip=-4pt, + aboveskip=4pt, basicstyle=\color{command}\ttfamily, backgroundcolor=\color{white}, columns=fullflexible, + frame=trbl, + frameround=tttt, + framesep=3pt, + xleftmargin=3.4pt, + xrightmargin=3.4pt, keepspaces}}{} \lstdefinestyle{examplefile}{ literate={ü}{{\"u}}1{ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{Á}{{\'A}}1, - belowskip=5mm, - basicstyle=\color{example}\small\ttfamily, + basicstyle=\small\ttfamily, backgroundcolor=\color{black!10}, columns=fullflexible, keepspaces, - comment=[l][\ttfamily\color{black!50}]{\%}} + frame=trbl, + framesep=3pt, + xleftmargin=3.4pt, + xrightmargin=3.4pt, + comment=[l][\ttfamily\color{purple}]{\%}} \newcommand{\commandinline}{\lstinline[ literate={<}{{$\langle$}}1{>}{{$\rangle$}}1, @@ -72,15 +84,19 @@ columns=fullflexible, keepspaces]} -\flushbottom - \def\meta#1{{\color{param}\normalfont\itshape\small$\langle$#1$\rangle$}} -\def\example{\colorbox{command}{\footnotesize\sffamily\bfseries\color{white}EXAMPLE}} +\def\example{{\setlength{\fboxsep}{3pt}\colorbox{command}{\footnotesize\sffamily\bfseries\color{white}EXAMPLE}}} \def\BookCover{{\def\sfdefault{ugq}\sffamily\bfseries - \color{gray}\mbox{}\lower.15ex\hbox{[B}ook% - \color{orange}\lower.15ex\hbox{C}over\lower.15ex\hbox{]}}} + \color{black!90}\mbox{}\lower.15ex\hbox{[B}ook% + \color{red!80!black}\lower.15ex\hbox{C}over\lower.15ex\hbox{]}}} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{8pt} +\renewcommand{\descriptionlabel}[1]{\hspace{5mm}} +\setlength{\fboxsep}{0pt} +\newcounter{partfig} \begin{document} \DocInput{./bookcover.dtx} @@ -107,295 +123,279 @@ % \GetFileInfo{bookcover.cls} % % \title{{\Huge\BookCover\\[5mm]} -% Class for book covers and dust jackets\\[2mm] -% \textsf{bookcover.cls}\\ -% {\large\eifilever\ (\eifiledate)}} -% \author{Tibor Tómács\\{\normalsize\href{mailto:tomacs.tibor@uni-eszterhazy.hu}{\texttt{tomacs.tibor@uni-eszterhazy.hu}}}} +% \textsf{Class for book covers and dust jackets}\\[2mm] +% {\large\texttt{bookcover.cls}\\ +% \eifilever\ (\eifiledate)}} +% \author{Tibor T\'{o}m\'{a}cs\\{\normalsize\href{mailto:tomacs.tibor@uni-eszterhazy.hu}{\texttt{tomacs.tibor@uni-eszterhazy.hu}}}} % \date{} % \maketitle % +% \AddToShipoutPictureBG*{\tikz[overlay]\fill[top color=black!50, bottom color=white] (current page.north west) rectangle +(\paperwidth,-11cm);} +% % \section{Introduction} -% In the following picture we can see a typical dust jacket. Its parts are back flap, back, spine, front and front flap. -% Typographically, a book cover is a dust jacket without flaps, the only difference is that the book cover is a fixed part of the book, whereas the dust jacket is removable. +% In the following picture you can see a typical book cover with flaps, i.e.\ a dust jacket. Its parts are back flap, back cover, spine, front cover and front flap. The dust jacket is removable, whereas a book cover without flaps is a fixed part of the book. % \begin{center} -% \includegraphics{figures/cover} +% \includegraphics{figures/bookcover-einstein} % \end{center} -% When we prepare a cover for printing, some marks are needed to know where to trim or fold the paper. These marks determine a special area of the sheet, which is called ``bleed'' (see the green area in the next figure). The background will be expanded onto the bleed, taking account of slight inaccuracy when trimming. +% When you prepare a book cover for printing, some marks are needed to know where to trim or fold the paper. The crop marks determine a special area of the sheet, which is called ``bleed'' (see the green area in the next figure). The background will be expanded onto the bleed, taking account of slight inaccuracy when trimming. If there is no bleed, the likelihood of having a white strip on the edge of the finished product is high. In the next schematics figure, the red lines are the marks. The scissors symbols show the crop marks, and the other ones are the fold marks. The blue frame is the border of the printed area. % \begin{center} -% \includegraphics{figures/coverscheme} +% \includegraphics{figures/bookcover-scheme} % \end{center} +% The ``wraps'' are the areas between the front cover and front flap, and back cover and back flap (see the gray area in the previous figure). The reason this is defined is that if the front and back covers have background colors or images that continue to the foreedge of each cover, they must continue onto the flap. Because putting the edge of color right at the edge of the board would result in an unsightly boundary line when the book is closed. +% % We get the following result after trimming: % \begin{center} -% \includegraphics{figures/result} +% \includegraphics{figures/bookcover-result} % \end{center} +% The \texttt{bookcover} document class can be used to create such book covers. % -% \section{Loading class} -% The class \texttt{bookcover} requires the services of the class \texttt{article} and the following packages: -% \texttt{kvoptions}, \texttt{geometry}, \texttt{graphicx}, \texttt{calc}, \texttt{ifthen}, \texttt{tikz}, \texttt{environ}, \texttt{fgruler}. +% \section{Loading class}\label{sec:class} +% The \texttt{bookcover} class requires the services of the \texttt{article} class and the following packages: +% \texttt{kvoptions}, \texttt{geometry}, \texttt{graphicx}, \texttt{calc}, \texttt{tikz}, \texttt{xparse}, \texttt{etoolbox}, \texttt{fgruler}. % -% \medskip\noindent % Load the class as usual, with % \begin{commandlst} % \documentclass[!!]{bookcover} % \end{commandlst} % +% \medskip The list of \meta{options}: +% +% \begin{compactdesc} +% \item[]\commandinline|coverheight=!!| Cover height (default \texttt{coverheight=240mm}). +% \item[]\commandinline|coverwidth=!!| Front/back cover width (default \texttt{coverwidth=170mm}). +% \item[]\commandinline|spinewidth=!!| Spine width (default \texttt{spinewidth=5mm}). +% \item[]\commandinline|flapwidth=!!| Flap width (default \texttt{flapwidth=0mm}). +% \item[]\commandinline|wrapwidth=!!| Wrap width (default \texttt{wrapwidth=0mm}). It only has an effect if the flap width is positive. +% \item[]\commandinline|bleedwidth=!!| Bleed width (default \texttt{bleedwidth=5mm}). +% \item[]\commandinline|marklength=!!| Mark length (default \texttt{marklength=10mm}). +% \end{compactdesc} % \begin{center} -% \begin{tabular}{@{}l@{}l@{\hspace{-13mm}}r@{}} -% \textbf{option} & \textbf{description} & \textbf{default value}\\ -% \hline -% \commandinline|coverwidth=!!| & \multirow{6}*{\hspace{-1mm}$\left.\hbox{\rule[-11mm]{0pt}{22mm}}\right\}$ See the next figure}& \texttt{170mm}\\ -% \commandinline|coverheight=!!| & & \texttt{240mm}\\ -% \commandinline|spinewidth=!!| & & \texttt{5mm}\\ -% \commandinline|flapwidth=!!| & & \texttt{0mm}\\ -% \commandinline|marklength=!!| & & \texttt{10mm}\\ -% \commandinline|bleedwidth=!!| & & \texttt{5mm}\\ -% \commandinline|markthick=!!| & Thickness of marks & \texttt{0.4pt}\\ -% \commandinline|markcolor=!!| & Color of marks & \texttt{red}\\ -% \commandinline|10pt| & \multirow{3}*{\hspace{-1mm}$\left.\hbox{\rule[-4mm]{0pt}{8mm}}\right\}$ Normal font size (default: \texttt{10pt})}&\\ -% \commandinline|11pt| & &\\ -% \commandinline|12pt| & &\\ -% \commandinline|trimmed| & It shows trimmed version&\texttt{false}\\ -% \hline -% \end{tabular} -% \end{center} -% \begin{center} -% \includegraphics{figures/sizes} +% \includegraphics{figures/bookcover-sizes} % \end{center} +% \begin{compactdesc} +% \item[]\commandinline|10pt| (Default.) Normal font size is 10\,pt. +% \item[]\commandinline|11pt| Normal font size is 11\,pt. +% \item[]\commandinline|12pt| Normal font size is 12\,pt. +% \item[]\commandinline|markthick=!!| Thickness of marks (default \texttt{markthick=0.4pt}). +% \item[]\commandinline|markcolor=!!| Color of marks (default \texttt{markcolor=red}). +% \item[]\commandinline|pagecolor=!!| Color of page (default \texttt{pagecolor=white}). +% \item[]\commandinline|trimmed| or \commandinline|trimmed=true| Trimmed version for demonstration. +% \item[]\commandinline|trimmed=false| (Default.) No trimming. Use this for printing! +% \item[]\commandinline|trimmingcolor=!!| Color of trimming (default \texttt{trimmingcolor=white}). +% \end{compactdesc} % -% \noindent\example -% \begin{examplelst} -% \documentclass[flapwidth=50mm,spinewidth=15mm]{bookcover} -% \end{examplelst} -% -% \section{Creating book cover}\label{sec:mainmethod} -% \subsection{Commands and environments} -% Use \commandinline{bookcover} environment in the body of the document to make a new book cover. In this environment, you can create a component of the book cover by the following command or environment: +% \section{Commands and environments} +% Use \commandinline{bookcover} environment in the document body to make a new book cover. If you need to edit both sides of the cover, you can do it with two \texttt{bookcover} environments (see an example in subsection~\ref{subsec-two-sided-example}). You can create a component of the book cover by the following command or environment in the \texttt{bookcover} environment: % \begin{commandlst} -% \bookcovercomponent{!!}{!!}{!!} +% \bookcovercomponent{!!}{!!}[!!,!!,!!,!!]{!!} % \end{commandlst} -% or +% or its equivalent % \begin{commandlst} -% \begin{bookcoverelement}{!!}{!!} +% \begin{bookcoverelement}{!!}{!!}[!!,!!,!!,!!] % !! % \end{bookcoverelement} % \end{commandlst} -% See the subsection~\ref{subsec:componenttypes} for the description of \meta{component type}. You can read the description of \meta{part} in subsection~\ref{subsec:parts-main-method} and section~\ref{sec:illustration-parts}. The \meta{content} depends on the \meta{component type} (see subsection~\ref{subsec:componenttypes}). +% See the section~\ref{sec:componenttypes} for the description of \meta{component type}. You can read the description of \meta{part} in section~\ref{sec:parts}. The \meta{left}, \meta{bottom}, \meta{right} and \meta{top} are the margins of the \meta{part}. The default value of every margin is \texttt{0mm}. If the \meta{left}, \meta{bottom}, \meta{right} or \meta{top} is empty or space, then its value will be \texttt{0mm}. The \meta{content} depends on the \meta{component type} (see section~\ref{sec:componenttypes}). You can use the following length commands in \meta{content}: +% +% \begin{compactdesc} +% \item[]\commandinline{\partwidth} The width of the \meta{part} reduced by \meta{left} and \meta{right}. +% \item[]\commandinline{\partheight} The height of the \meta{part} reduced by \meta{bottom} and \meta{top}. +% \end{compactdesc} % -% \medskip\noindent % Every |\bookcovercomponent| command and |bookcoverelement| environment generates a layer on the sheet. The first one generates the bottom layer and the last one generates the top layer. % -% \medskip\noindent -% The following two examples are equivalent. +% In the following example we use |\bookcovercomponent| commands. % -% \medskip\noindent\example +% \example % \begin{examplelst} +% \documentclass[spinewidth=15mm,markcolor=black]{bookcover} +% \begin{document} % \begin{bookcover} -% \bookcovercomponent{color}{bg whole}{blue} -% \bookcovercomponent{normal}{front}{ -% \vspace{5cm} -% \begin{center} -% \bfseries\huge Book title -% \end{center}} +% \bookcovercomponent{color}{bg whole}{orange} +% \bookcovercomponent{normal}{front}[,,,5cm]{\centering\bfseries\huge Book title\par} % \end{bookcover} +% \end{document} % \end{examplelst} % -% \noindent\example +% In the following example we use |bookcoverelement| environments. This example is equivalent to the previous one. +% +% \example % \begin{examplelst} +% \documentclass[spinewidth=15mm,markcolor=black]{bookcover} +% \begin{document} % \begin{bookcover} % \begin{bookcoverelement}{color}{bg whole} -% blue +% orange % \end{bookcoverelement} -% \begin{bookcoverelement}{normal}{front} -% \vspace{5cm} -% \begin{center} -% \bfseries\huge Book title -% \end{center} +% \begin{bookcoverelement}{normal}{front}[,,,5cm] +% \centering\bfseries\huge Book title\par % \end{bookcoverelement} % \end{bookcover} +% \end{document} % \end{examplelst} % -% \noindent Use \commandinline{bookcoverdescription} environment in the body of the document for adding the description of the book cover and other information. Don't use it in |bookcover| environment! You can set the page geometry of the description by the following command: +% If the value of the \texttt{trimmed} option is \texttt{true}, then you can set the trimmed part by the following command before any \texttt{bookcover} environment: % \begin{commandlst} -% \bookcoverdescgeometry{!!} +% \bookcovertrimmedpart{!!}[!!,!!,!!,!!] % \end{commandlst} -% See the \meta{geometry parameteres} in the |geometry| package. Its default value is |margin=1in|. See an example in the subsection~\ref{subsec:desc}. % -% \subsection{Parts}\label{subsec:parts-main-method} -% It is important, that the background parts are expanded onto the bleed, taking account of slight inaccuracy when trimming! -% \subsubsection{One-piece background parts} -% \commandinline{bg back flap}, \commandinline{bg back}, \commandinline{bg spine}, \commandinline{bg front}, \commandinline{bg front flap} +% Without this command, or if the \meta{trimmed part} is empty or space, then its value will be \texttt{whole} (see section~\ref{sec:parts}). The \meta{left}, \meta{bottom}, \meta{right} and \meta{top} are the margins of the \meta{part}. The default value of every margin is \texttt{0mm}. If the \meta{left}, \meta{bottom}, \meta{right} or \meta{top} is empty or space, then its value will be \texttt{0mm}. The trimmed area will be the \meta{trimmed part} reduced by the margins. % -% \begin{center} -% \textbf{With flaps}\\*[0pt] -% \includegraphics{figures/bg1} -% \end{center} -% \begin{center} -% \textbf{Without flaps}\\*[0pt] -% \includegraphics{figures/bg4} -% \end{center} -% -% \subsubsection{One-piece foreground parts} -% \commandinline{back flap}, \commandinline{back}, \commandinline{spine}, \commandinline{front}, \commandinline{front flap}, \commandinline{above back}, \commandinline{above front}, \commandinline{below back}, \commandinline{below front} -% -% \begin{center} -% \textbf{With flaps}\\*[0pt] -% \includegraphics{figures/foreground1} -% \end{center} -% \begin{center} -% \textbf{Without flaps}\\*[0pt] -% \includegraphics{figures/foreground2} -% \end{center} +% You can change some options before any \texttt{bookcover} environment by the following command: +% \begin{commandlst} +% \setbookcover{!!} +% \end{commandlst} +% The \meta{options} can be as follows: \commandinline|markthick=!!|, \commandinline|markcolor=!!|, \commandinline|pagecolor=!!|, \commandinline|trimmed|, \commandinline|trimmed=false|, \commandinline|trimmingcolor=!!| (see section~\ref{sec:class}). See an example in the subsection~\ref{subsec:trimming} % -% \subsubsection{Combined parts} -% The following combined parts are defined. You can see illustrations in the section~\ref{sec:illustration-parts}. -% \begin{center} -% \begin{tabular}{@{}>{\color{command}\ttfamily}l@{\hspace{1cm}}>{\color{command}\ttfamily}l@{}} -% {\rmfamily\bfseries\textcolor{black}{background}}&{\rmfamily\bfseries\textcolor{black}{foreground}}\\ -% \hline -% bg back and flap & back and flap\\ -% bg back and spine & back and spine\\ -% bg front and spine & front and spine\\ -% bg front and flap & front and flap\\ -% bg back and flap and spine & back and flap and spine\\ -% bg front and flap and spine & front and flap and spine\\ -% bg whole without front flap & whole without front flap\\ -% bg whole without back flap & whole without back flap\\ -% bg whole without flaps & whole without flaps\\ -% bg whole & whole\\ -% whole page & -% \end{tabular} -% \end{center} +% Use \commandinline{bookcoverdescription} environment in the document body for adding the description of the book cover and other information. Don't use it in |bookcover| environment! You can set the page geometry of the description by the following command: +% \begin{commandlst} +% \bookcoverdescgeometry{!!} +% \end{commandlst} +% The possible \meta{geometry parameteres} are the same as for |\newgeometry| in the |geometry| package. Its default value is |margin=1in|. Unlike |\newgeometry|, it can be used in the preamble as well. See an example in the subsection~\ref{subsec:desc}. % -% \subsection{Component types}\label{subsec:componenttypes} -% The following component types are defined: \commandinline{color}, \commandinline{picture}, \commandinline{tikz}, \commandinline{tikz clip}, \commandinline{normal}, \commandinline{center}, \commandinline{ruler}. -% \subsubsection[color]{Component type: \texttt{color}} -% It determines the color of the part. The \meta{content} is the options of the |\fill| in the \texttt{tikz} package: +% You can use the following length commands, which are declared by the options of the document class: +% \begin{compactdesc} +% \item[]\commandinline{\coverwidth} +% \item[]\commandinline{\coverheight} +% \item[]\commandinline{\spinewidth} +% \item[]\commandinline{\flapwidth} +% \item[]\commandinline{\wrapwidth} +% \item[]\commandinline{\marklength} +% \item[]\commandinline{\bleedwidth} +% \end{compactdesc} % -% \medskip -% \indent\commandinline{!!} (See it in the \texttt{xcolor} package.)\\ -% \indent\commandinline{color=!!} (It is equivalent to the previous one.)\\ -% \indent\commandinline{top color=!!}\\ -% \indent\commandinline{bottom color=!!}\\ -% \indent\commandinline{middle color=!!}\\ -% \indent\commandinline{inner color=!!}\\ -% \indent\commandinline{outer color=!!}\\ -% \indent\commandinline{ball color=!!}\\ -% \indent\commandinline{shading angle=!!} It rotates the shading by the given angle. -% -% \bigskip\noindent\example -% \begin{examplelst} -% \bookcovercomponent{color}{bg whole without flaps}{red} -% \end{examplelst} +% \section{Component types}\label{sec:componenttypes} % -% \noindent\example\ It is equivalent to the previous example. -% \begin{examplelst} -% \bookcovercomponent{color}{bg whole without flaps}{color=red} -% \end{examplelst} +% Predefined component types: \commandinline{color}, \commandinline{tikz}, \commandinline{tikz clip}, \commandinline{picture}, \commandinline{normal}, \commandinline{center}, \commandinline{ruler}. % -% \noindent\example -% \begin{examplelst} -% \bookcovercomponent{color}{bg whole without flaps}{ -% top color=white, bottom color=blue!50!black, shading angle=60} -% \end{examplelst} -% -% \subsubsection[picture]{Component type: \texttt{picture}} -% The \meta{content} is a picture file, which will be rescaled according to the sizes of the \meta{part}. +% \subsection{The color component type} +% It determines the color of the part. The \meta{content} is the options of the |\fill| in the \texttt{tikz} package: +% \begin{compactdesc} +% \item[]\commandinline{!!} (See it in the \texttt{xcolor} package.) +% \item[]\commandinline{color=!!} (It is equivalent to the previous one.) +% \item[]\commandinline{top color=!!} +% \item[]\commandinline{bottom color=!!} +% \item[]\commandinline{middle color=!!} +% \item[]\commandinline{inner color=!!} +% \item[]\commandinline{outer color=!!} +% \item[]\commandinline{ball color=!!} +% \item[]\commandinline{shading angle=!!} It rotates the shading by the given angle. +% \item[]\commandinline{opacity=!!} Sets the filling opacity. The \meta{value} is between 0 and 1. +% \end{compactdesc} % -% \bigskip\noindent\example +% \example % \begin{examplelst} -% \bookcovercomponent{picture}{bg front flap}{fig.png} +% \begin{bookcover} +% \bookcovercomponent{color}{bg front}{red} +% \bookcovercomponent{color}{bg back}{ +% top color=white, bottom color=blue!50!black, shading angle=60} +% \end{bookcover} % \end{examplelst} % -% \subsubsection[tikz]{Component type: \texttt{tikz}} +% \subsection{The tikz component type} % The \meta{content} is a Ti\emph{k}Z code without |\tikz| command and |tikzpicture| environment. The origin of the Ti\emph{k}Z figure is the lower left corner of the \meta{part}. Two rectangle nodes come into being: \commandinline{part} and \commandinline{trimmed part}. (Thanks to Zunbeltz Izaola for the idea.) % -% \bigskip\noindent\example +% \begin{minipage}{\textwidth} +% \example % \begin{examplelst} +% \begin{bookcover} % \bookcovercomponent{tikz}{bg whole}{ % \fill[yellow] (part.south west) rectangle (part.north east); -% \fill[gray] (trimmed part.south east) rectangle (trimmed part.north west); -% \draw[green] (0,0) circle [radius=10mm];} -% \bookcovercomponent{tikz}{bg spine}{ -% \fill[orange] (part.center) circle [radius=8mm];} +% \fill[gray] (trimmed part.south east) rectangle (trimmed part.north west);} +% \bookcovercomponent{tikz}{bg front}{ +% \fill[green] (part.south west) -- (part.center) -- (part.north west) -- cycle;} +% \end{bookcover} % \end{examplelst} +% \end{minipage} % \begin{center} -% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt} -% \fcolorbox{black!50}{white}{\includegraphics{figures/tikz}} +% \fcolorbox{black!50}{white}{\includegraphics{figures/bookcover-tikz}} % \end{center} % -% \subsubsection[tikz clip]{Component type: \texttt{tikz clip}} -% It works the same as the \texttt{tikz} component type, but it clips the \meta{part}. +% \subsection{The tikz clip component type} +% It works the same way as the \texttt{tikz} component type, but it clips the \meta{part}. % -% \bigskip\noindent\example +% \example % \begin{examplelst} -% \bookcovercomponent{tikz clip}{bg whole}{ -% \fill[yellow] (part.south west) rectangle (part.north east); -% \fill[gray] (trimmed part.south east) rectangle (trimmed part.north west); -% \draw[green] (0,0) circle [radius=10mm];} -% \bookcovercomponent{tikz clip}{bg spine}{ -% \fill[orange] (part.center) circle [radius=8mm];} +% \begin{bookcover} +% \bookcovercomponent{tikz clip}{front}{ +% \fill[green] (part.west) circle [radius=8mm];} +% \bookcovercomponent{tikz}{front}{ +% \fill[orange] (part.west) circle [radius=4mm];} +% \end{bookcover} % \end{examplelst} % \begin{center} -% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt} -% \fcolorbox{black!50}{white}{\includegraphics{figures/tikzclip}} +% \fcolorbox{black!50}{white}{\includegraphics{figures/bookcover-tikzclip}} % \end{center} % -% \subsubsection[normal]{Component type: \texttt{normal}} +% \subsection{The picture component type} +% The \meta{content} is a picture file, which will be rescaled according to the sizes of the \meta{part}. +% +% \example +% \begin{examplelst} +% \begin{bookcover} +% \bookcovercomponent{picture}{bg whole}{fig.png} +% \end{bookcover} +% \end{examplelst} +% +% \subsection{The normal component type} % In this case, the \meta{content} is not specific. You can choose it as text or picture etc. % -% \bigskip\noindent\example +% \example % \begin{examplelst} -% \bookcovercomponent{normal}{front}{ -% \vspace{5cm} -% \begin{center} +% \begin{bookcover} +% \bookcovercomponent{normal}{front}[,,,5cm]{ +% \centering % {\bfseries\huge Book title}\\[5mm] -% \includegraphics[width=6cm]{fig.png} -% \end{center}} +% \includegraphics[width=0.4\partwidth]{fig.png}\\} +% \end{bookcover} % \end{examplelst} % -% \subsubsection[center]{Component type: \texttt{center}} -% It works the same as the \texttt{normal} component type, but the position of the content is the center of the part (horizontally and vertically). +% \subsection{The center component type} +% It works the same way as the \texttt{normal} component type, but the position of the content is the center of the part horizontally and vertically. % -% \bigskip\noindent\example +% \example % \begin{examplelst} -% \bookcovercomponent{center}{above front}{ -% \textcolor{blue}{Remark above front}} -% \bookcovercomponent{center}{spine}{ -% \rotatebox[origin=c]{90}{\bfseries\Large Book title}} +% \begin{bookcover} +% \bookcovercomponent{center}{above front}{ +% \textcolor{blue}{Remark above front}} +% \bookcovercomponent{center}{spine}{ +% \rotatebox[origin=c]{-90}{\bfseries\Large Book title}} +% \end{bookcover} % \end{examplelst} % -% \subsubsection[ruler]{Component type: \texttt{ruler}} -% Use the \texttt{ruler} component type to check the sizes of the part. The \meta{content} is +% \subsection{The ruler component type} +% Use the \texttt{ruler} component type to check the dimensions of the part. It draws a square ruler at the borders of the part. The \meta{content} is % \begin{commandlst} -% \setruler[!!]{!!}{!!}{!!}{!!} +% !!,!!,!! % \end{commandlst} -% \meta{unit} The ruler unit:\\ -% \indent\commandinline{cm} Metric ruler (centimeter). Default value.\\ -% \indent\commandinline{in} English ruler (inch). % -% \medskip\noindent -% \meta{coordsys} The type of the coordinate system:\\ -% \indent\commandinline{upper left } The origin is the upper left corner of the part.\\ -% \indent\commandinline{upper right} The origin is the upper right corner of the part.\\ -% \indent\commandinline{lower left } The origin is the lower left corner of the part.\\ -% \indent\commandinline{lower right} The origin is the lower right corner of the part. +% \medskip\meta{unit} The ruler unit: +% \begin{compactdesc} +% \item[]\commandinline{cm} Metric ruler (centimeter). If the \meta{unit} is empty or space, then its value will be \texttt{cm}. +% \item[]\commandinline{in} English ruler (inch). +% \end{compactdesc} % -% \medskip\noindent -% \meta{shift x},\meta{shift y} Moving the origin of the ruler to the vector (\meta{shift x},\meta{shift y}). +% \meta{origin} The origin of the square ruler: +% \begin{compactdesc} +% \item[]\commandinline{upperleft } The origin is the upper left corner of the part. Directions: down and right. If the \meta{origin} is empty or space, then its value will be \texttt{upperleft}. +% \item[]\commandinline{upperright} The origin is the upper right corner of the part. Directions: down and left. +% \item[]\commandinline{lowerleft } The origin is the lower left corner of the part. Directions: up and right. +% \item[]\commandinline{lowerright} The origin is the lower right corner of the part. Directions: up and left. +% \end{compactdesc} % -% \medskip\noindent -% \meta{color} The color of the ruler. +% \meta{color name} The color of the ruler. If it is empty or space, then its value will be the color of the marks. % -% \bigskip\noindent\example +% \example % \begin{examplelst} -% \bookcovercomponent{ruler}{back}{\setruler{upper left}{0cm}{0cm}{blue}} -% \bookcovercomponent{ruler}{back}{\setruler{upper left}{2cm}{1cm}{black}} -% \bookcovercomponent{ruler}{front}{\setruler{lower right}{0cm}{0cm}{green}} -% \bookcovercomponent{ruler}{front}{\setruler{lower right}{2cm}{1cm}{gray}} +% \begin{bookcover} +% \bookcovercomponent{ruler}{back}{,,} +% \bookcovercomponent{ruler}{back}[2cm,,,1cm]{,,blue} +% \bookcovercomponent{ruler}{front}{,lowerright,green} +% \bookcovercomponent{ruler}{front}[,1cm,2cm,]{,lowerright,gray} +% \end{bookcover} % \end{examplelst} % \begin{center} -% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt} -% \fcolorbox{black!50}{white}{\includegraphics{figures/ruler}} +% \fcolorbox{black!50}{white}{\includegraphics{figures/bookcover-ruler}} % \end{center} % % \subsection{Defining component type} @@ -404,39 +404,115 @@ % \newbookcovercomponenttype{!!}{!!} % \renewbookcovercomponenttype{!!}{!!} % \newnamebookcovercomponenttype{!!}{!!} +% \letnamebookcovercomponenttype{!!}{!!} % \end{commandlst} +% +% \medskip Using |\newnamebookcovercomponenttype|, the definition of \meta{new component type name} and \meta{defined component type name} are always the same, even if you redefine \meta{defined component type name} later with |\renewbookcovercomponenttype|. +% +% Using |\letnamebookcovercomponenttype|, the definition of \meta{new component type name} is the same as the current definition of \meta{defined component type name}. If you change \meta{defined component type name} later with |\renewbookcovercomponenttype|, \meta{new component type name} doesn't change with it. +% % You can use the following length commands in \meta{formatting}: % -% \medskip\noindent -% \commandinline{\partwidth } Width of the part.\\ -% \commandinline{\partheight } Height of the part. +% \begin{compactdesc} +% \item[]\commandinline{\partwidth} The width of the part (reduced by the margins) in which you are using the defined component type. +% \item[]\commandinline{\partheight} The height of the part (reduced by the margins) in which you are using the defined component type. +% \end{compactdesc} % -% \bigskip\noindent % You have to referrence the content as \verb|#1|. % -% \bigskip\noindent\example +% \example % \begin{examplelst} -% \documentclass[spinewidth=1cm]{bookcover} -% \newbookcovercomponenttype{center rotate}{ -% \parbox[t][\partheight][c]{\partwidth}{ -% \begin{center} -% \rotatebox[origin=c]{90}{#1} -% \end{center}}} +% \documentclass{bookcover} +% \newbookcovercomponenttype{center picture}{ +% \vfill +% \centering +% \includegraphics[width=0.5\partwidth]{#1} +% \vfill} % \begin{document} % \begin{bookcover} -% \bookcovercomponent{center rotate}{spine}{Author -- Book title} +% \bookcovercomponent{center picture}{front}{fig.pdf} % \end{bookcover} % \end{document} % \end{examplelst} % +% \section{Parts}\label{sec:parts} +% +% Each predefined part is illustrated below. The background parts are expanded onto the bleed, taking account of slight inaccuracy when trimming. In contrast, the foreground parts do not extend onto the bleed. The names of the background parts start with \commandinline{bg}. +% +% If your book will also have printing on the inside cover, the layout for the inside cover will be the exact opposite of the outside cover. Therefore, these parts also have synonymous names. The synonymous names contain \commandinline{inside front} instead of \commandinline{back} and \commandinline{inside back} instead of \commandinline{front}. For example \commandinline{bg front} is the same as \commandinline{bg inside back}, \commandinline{above back} is the same as \commandinline{above inside front}, etc. +% +% You can also use short names to specify foreground and background parts. The elements of the abbreviations are as follows: +% \begin{compactdesc} +% \item[]\commandinline{F}: flap +% \item[]\commandinline{W}: wrap +% \item[]\commandinline{C}: cover +% \item[]\commandinline{S}: spine +% \item[]\commandinline{l}: left (a part to the left of the spine) +% \item[]\commandinline{r}: right (a part to the right of the spine) +% \end{compactdesc} +% For example \commandinline{lC} is the abbreviation of the left cover, i.e.\ the back cover of the outside cover, or the inside front cover of the inside cover. It is not extended onto the bleed, i.e.\ it is a foreground part. If you want to extend that part onto the bleed, type \commandinline{bg} and then a space in the front of the name. For example \commandinline{bg lC} is the left cover extended onto the bleed. Use a hyphen to specify multi-piece parts. For example \commandinline{lW-S} is the part from the left wrap to the spine, which is not extended onto the bleed. +% +% The following figures also show the normal and abbreviated names of the yellow parts. +% +% \subsection{Book cover widthout flaps, background parts} +% +% \setcounter{partfig}{1} +% \loop +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} +% \ifnum\value{partfig}<7\repeat +% +% \subsection{Book cover widthout flaps, foreground parts} +% +% \loop +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} +% \ifnum\value{partfig}<13\repeat +% +% \subsection{Book cover widthout flaps, other parts} +% +% \loop +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} +% \ifnum\value{partfig}<17\repeat +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\stepcounter{partfig} +% +% \subsection{Book cover width flaps, background parts} +% +% \loop +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} +% \ifnum\value{partfig}<46\repeat +% +% \subsection{Book cover width flaps, foreground parts} +% +% \loop +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} +% \ifnum\value{partfig}<74\repeat +% +% \subsection{Book cover width flaps, other parts} +% +% \loop +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} +% \ifnum\value{partfig}<78\repeat +% \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}} +% % \subsection{Defining part} -% You can define a new part, redefine or rename a defined part with the following commands: +% You can define a new rectangular part, redefine or rename a defined part with the following commands: % \begin{commandlst} % \newbookcoverpart{!!}{!!} % \renewbookcoverpart{!!}{!!} % \newnamebookcoverpart{!!}{!!} +% \letnamebookcoverpart{!!}{!!} % \end{commandlst} -% In \meta{setting} you have to set the new part sizes, the coordinates of its upper left corner (the origin is the upper left corner of the printed box), and the parameters of the \texttt{trimmed part} rectangle node in \texttt{tikz} and \texttt{tikz clip} component types. For this purpose, use the following commands: +% +% \medskip Using |\newnamebookcoverpart|, the definition of \meta{new part name} and \meta{defined part name} are always the same, even if you redefine \meta{defined part name} later with |\renewbookcoverpart|. +% +% Using |\letnamebookcoverpart|, the definition of \meta{new part name} is the same as the current definition of \meta{defined part name}. If you change \meta{defined part name} later with |\renewbookcoverpart|, \meta{new part name} doesn't change with it. +% +% In \meta{setting} you have to set the new part sizes, the coordinates of its upper left corner (the origin is the upper left corner of the printed area), and the parameters of the \texttt{trimmed part} rectangle node in \texttt{tikz} and \texttt{tikz clip} component types. For this purpose, use the following commands: % \begin{commandlst} % \setpartposx{!!} % \setpartposy{!!} @@ -445,20 +521,27 @@ % \settrimmedpart{!!}{!!}{!!}{!!} % \end{commandlst} % -%\begin{center} -%\includegraphics{./figures/newpart} -%\end{center} +% \begin{center} +% \includegraphics{./figures/bookcover-newpart} +% \end{center} % -% \noindent To give the previous lengths, you can use the following length commands: +% To give the previous lengths, you can use the following length commands, which are declared by the options of the document class: % -% \medskip\noindent -% \commandinline{\marklength \bleedwidth \flapwidth \coverwidth \spinewidth \coverheight} +% \begin{compactdesc} +% \item[]\commandinline{\coverwidth} +% \item[]\commandinline{\coverheight} +% \item[]\commandinline{\spinewidth} +% \item[]\commandinline{\flapwidth} +% \item[]\commandinline{\wrapwidth} +% \item[]\commandinline{\marklength} +% \item[]\commandinline{\bleedwidth} +% \end{compactdesc} % -% \bigskip\noindent\example +% \example % \begin{examplelst} -% \documentclass[flapwidth=3cm]{bookcover} +% \documentclass[flapwidth=3cm]{bookcover} % Also try it with flapwidth=0cm option! % \newbookcoverpart{bg half front}{ -% \setpartposx{\marklength+\bleedwidth+\flapwidth+\spinewidth+1.5\coverwidth} +% \setpartposx{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\spinewidth+1.5\coverwidth} % \setpartposy{\marklength} % \setpartheight{\coverheight+2\bleedwidth} % \ifdim\flapwidth>0mm @@ -476,78 +559,123 @@ % \end{document} % \end{examplelst} % -% \includepdfset{nup=2x5,delta=4mm 4mm,noautoscale,frame} -% \includepdf[pages=1-10,pagecommand={\section{Illustration of the predefined parts}\label{sec:illustration-parts}\subsection{Background parts (cover width flaps)}}]{figures/parts.pdf} -% \includepdf[pages=11-16,pagecommand={}]{figures/parts.pdf} -% \includepdf[pages=36-42,pagecommand={\subsection{Background parts (cover widthout flaps)}}]{figures/parts.pdf} -% \includepdf[pages=17-26,pagecommand={\subsection{Foreground parts (cover width flaps)}}]{figures/parts.pdf} -% \includepdf[pages=27-35,pagecommand={}]{figures/parts.pdf} -% \includepdf[pages=43-52,pagecommand={\subsection{Foreground parts (cover widthout flaps)}}]{figures/parts.pdf} -% -% \newpage\section{Examples} +% \section{Examples} % \subsection{A dust jacket} % \begin{center} -% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt} -% \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{bookcover-example1}}\label{page:example1} +% \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{bookcover-example1}} % \end{center} % \lstinputlisting[style=examplefile]{bookcover-example1.tex} % -% \newpage\subsection{A two-sided book cover} -% \begin{center} -% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}% -% \fcolorbox{black!50}{white}{\includegraphics[page=1,width=\textwidth-.8pt]{bookcover-example2}}\\[5mm] -% \fcolorbox{black!50}{white}{\includegraphics[page=2,width=\textwidth-.8pt]{bookcover-example2}} -% \end{center} -% \newpage\lstinputlisting[style=examplefile]{bookcover-example2.tex} -% % \subsection{Barcode} % \begin{center} -% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt} -% \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{figures/barcode}} +% \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{figures/bookcover-barcode}} % \end{center} % \begin{examplelst} % \documentclass{bookcover} +% % The pdflatex or lualatex should be called with the -shell-escape option. +% % The next line is only required for pdflatex and lualatex. +% \usepackage[pdfcrop={-hires}]{auto-pst-pdf} % \usepackage{pst-barcode} % \begin{document} % \begin{bookcover} -% \bookcovercomponent{normal}{back}{ +% \bookcovercomponent{normal}{back}[0mm,5mm,0mm,0mm]{ % \vfill % \centering % \begin{pspicture}(1.5in,1in) % \psbarcode{1787-6117}{includetext height=1 width=1.5}{issn} -% \end{pspicture} -% \vspace{5mm}} +% \end{pspicture}} % \end{bookcover} % \end{document} % \end{examplelst} % -% \noindent You can compile this file with \texttt{latex} or \texttt{xelatex}. Using \texttt{pdflatex} or \texttt{lualatex}, write the following code into the preamble: +% \subsection{A two-sided book cover}\label{subsec-two-sided-example} +% \begin{center} +% \fcolorbox{black!50}{white}{\includegraphics[page=1,width=\textwidth-.8pt]{bookcover-example2}}\\[5mm] +% \fcolorbox{black!50}{white}{\includegraphics[page=2,width=\textwidth-.8pt]{bookcover-example2}} +% \end{center} +% \lstinputlisting[style=examplefile]{bookcover-example2.tex} +% +% \subsection{Trimming and checking dimensions}\label{subsec:trimming} +% +% The next example shows the usage of the \texttt{trimmed} option and the |\bookcovertrimmedpart| command. These allow you to view the finished product for demonstration purposes. We also check the cover dimensions. Set the value of the \texttt{trimmed} option \texttt{false} and clear \texttt{ruler} component type before printing! +% +% \medskip % \begin{examplelst} -% \usepackage[pdfcrop={-hires}]{auto-pst-pdf} +% \documentclass[markcolor=black,spinewidth=15mm,trimmed,trimmingcolor=gray]{bookcover} +% \usepackage[latin]{babel} +% \usepackage{lipsum,microtype} +% +% \begin{document} +% +% % Trimmed outside cover +% \begin{bookcover} +% +% \bookcovercomponent{color}{bg whole}{ +% top color=white, bottom color=green!30!black} +% +% \bookcovercomponent{normal}{front}[22mm,60mm,22mm,70mm]{ +% \centering +% {\huge\bfseries ANNALES\\ INFORMATICAE\par} +% \vfill +% {\large\bfseries TOMUS 43.~(2020)} +% \vfill +% {\large COMMISSIO REDACTORIUM}\\[3mm] +% \lipsum[2]} +% +% \bookcovercomponent{normal}{back}[22mm,10mm,22mm,30mm]{ +% {\centering\large ABSTRACTUM\\[5mm]} +% \lipsum[1-4]} +% +% \bookcovercomponent{center}{spine}{ +% \rotatebox[origin=c]{-90}{\footnotesize\bfseries +% ANNALES INFORMATICAE 43.~(2020)}} +% +% \bookcovercomponent{ruler}{whole}{,,} % Check dimensions +% +% \end{bookcover} +% +% % Trimmed inside back cover +% \setbookcover{trimmingcolor=black,markcolor=white} +% \bookcovertrimmedpart{inside back} +% +% \begin{bookcover} +% +% \bookcovercomponent{normal}{inside back}[22mm,10mm,22mm,30mm]{ +% {\centering\large GRATULATIO\\[5mm]} +% \lipsum[1-4]} +% +% \end{bookcover} +% +% \end{document} % \end{examplelst} -% In this case, the \texttt{pdflatex} or \texttt{lualatex} must be called with the \texttt{-shell-escape} option. % +% \newpage\begin{center} +% \fcolorbox{black!50}{white}{\includegraphics[page=1,width=\textwidth-.8pt]{figures/bookcover-trimming}}\\[5mm] +% \fcolorbox{black!50}{white}{\includegraphics[page=2,width=\textwidth-.8pt]{figures/bookcover-trimming}} +% \end{center}% % \subsection{Adding description}\label{subsec:desc} % \begin{examplelst} % \documentclass{bookcover} % \usepackage[latin]{babel} -% \usepackage{lipsum,multicol} +% \usepackage{lipsum,multicol,microtype} % \bookcoverdescgeometry{vmargin=25mm,hmargin=9cm} % % \begin{document} % +% % Description text % \begin{bookcoverdescription} -% \title{Description} -% \author{John Taylor} -% \date{} -% \maketitle -% \begin{multicols}{3} -% \lipsum -% \end{multicols} +% \title{Description} +% \author{John Taylor} +% \date{} +% \maketitle +% \begin{multicols}{3} +% \lipsum +% \end{multicols} % \end{bookcoverdescription} % +% % Book cover % \begin{bookcover} -% % book cover components +% \bookcovercomponent{center}{front}{\Huge TITULUS LIBRIA} % \end{bookcover} % % \end{document} @@ -568,17 +696,20 @@ \DeclareStringOption[240mm]{coverheight} \DeclareStringOption[5mm]{spinewidth} \DeclareStringOption[0mm]{flapwidth} +\DeclareStringOption[0mm]{wrapwidth} \DeclareStringOption[10mm]{marklength} \DeclareStringOption[.4pt]{markthick} \DeclareStringOption[5mm]{bleedwidth} \DeclareStringOption[red]{markcolor} +\DeclareStringOption[white]{pagecolor} +\DeclareStringOption[white]{trimmingcolor} \DeclareBoolOption[false]{trimmed} \ProcessKeyvalOptions{bookcover} %% CLASS AND PACKAGES \LoadClass{article} -\RequirePackage{geometry,graphicx,calc,ifthen,tikz,environ} +\RequirePackage{geometry,graphicx,calc,tikz,xparse,etoolbox} \RequirePackage[nonefgrulers]{fgruler} %% PAGE STYLE @@ -596,6 +727,7 @@ \newlength{\coverheight} \newlength{\spinewidth} \newlength{\flapwidth} +\newlength{\wrapwidth} \newlength{\marklength} \newlength{\markthick} \newlength{\bleedwidth} @@ -611,8 +743,6 @@ \newlength{\bookcover@tikz@trimmed@part@height@minus} \newlength{\bookcover@tikz@trimmed@part@push@right} \newlength{\bookcover@tikz@trimmed@part@push@up} -\newlength{\bookcover@rulerwidth@} -\newlength{\bookcover@rulerheight@} \let\partheight\bookcover@partheight@ \let\partwidth\bookcover@partwidth@ @@ -622,6 +752,8 @@ \setlength{\coverheight}{\bookcover@coverheight} \setlength{\spinewidth}{\bookcover@spinewidth} \setlength{\flapwidth}{\bookcover@flapwidth} +\setlength{\wrapwidth}{\bookcover@wrapwidth} +\ifdim\flapwidth=0pt\setlength{\wrapwidth}{0pt}\fi \setlength{\marklength}{\bookcover@marklength} \setlength{\markthick}{\bookcover@markthick} \setlength{\bleedwidth}{\bookcover@bleedwidth} @@ -630,7 +762,7 @@ \geometry{% margin=0pt, - paperwidth=2\marklength+2\bleedwidth+2\coverwidth+2\flapwidth+\spinewidth, + paperwidth=2\marklength+2\bleedwidth+2\coverwidth+2\flapwidth+2\wrapwidth+\spinewidth, paperheight=2\marklength+2\bleedwidth+\coverheight} %% INTERNAL LENGTHS SETTING @@ -650,6 +782,12 @@ \let\setpartheight\bookcover@partheight \let\settrimmedpart\bookcover@tikz@trimmed@part@param +%% SETBOOKCOVER + +\def\setbookcover#1{% + \setkeys{bookcover}{#1}% + \setlength{\markthick}{\bookcover@markthick}} + %% BOOKCOVERDESCGEOMETRY \def\bookcoverdescgeometry#1{\def\bookcover@descgeometry{#1}} @@ -664,209 +802,180 @@ %% POSBOX -\newcommand{\bookcover@posbox}[4]{% - \setlength{\bookcover@templength@}{#3}% - \put(#2,-\bookcover@templength@){\parbox[b][0pt][t]{#1}{#4}}} +\newcommand{\bookcover@posbox}[5]{% + \setlength{\bookcover@templength@}{#4}% + \put(#3,-\bookcover@templength@){% + \parbox[b][0pt][t]{#1}{% + \parbox[t][#2][t]{#1}{#5}}}} %% MARKS -\def\bookcover@vmark{% - \bookcover@posbox{\bookcover@partwidth@}{\bookcover@xpos@}{\bookcover@ypos@}{% - {\color{\bookcover@markcolor}\rule[0pt]{\markthick}{\marklength}}}} - -\def\bookcover@hmark{% - \bookcover@posbox{\bookcover@partwidth@}{\bookcover@xpos@}{\bookcover@ypos@}{% - {\color{\bookcover@markcolor}\rule[0pt]{\marklength}{\markthick}}}} - -\def\bookcover@marks{ - \bookcover@ypos{0mm} - \bookcover@partwidth{\markthick} - \bookcover@xpos{\marklength+\bleedwidth-.5\markthick} - \bookcover@vmark - \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth-.5\markthick} - \bookcover@vmark\fi - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth-.5\markthick} - \bookcover@vmark - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark - \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark\fi - \bookcover@xpos{\marklength+\bleedwidth+2\flapwidth+2\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark - \bookcover@ypos{\paperheight-\marklength} - \bookcover@partwidth{\markthick} - \bookcover@xpos{\marklength+\bleedwidth-.5\markthick} - \bookcover@vmark - \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth-.5\markthick} - \bookcover@vmark\fi - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth-.5\markthick} - \bookcover@vmark - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark - \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark\fi - \bookcover@xpos{\marklength+\bleedwidth+2\flapwidth+2\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark - \bookcover@xpos{0mm} - \bookcover@partwidth{\marklength} - \bookcover@ypos{\marklength+\bleedwidth-.5\markthick} - \bookcover@hmark - \bookcover@ypos{\marklength+\bleedwidth+\coverheight-.5\markthick} - \bookcover@hmark - \bookcover@xpos{\paperwidth-\marklength} - \bookcover@partwidth{\marklength} - \bookcover@ypos{\marklength+\bleedwidth-.5\markthick} - \bookcover@hmark - \bookcover@ypos{\marklength+\bleedwidth+\coverheight-.5\markthick} - \bookcover@hmark} +\def\bookcover@marks{\bookcovercomponent{bookcovertype@tikz}{bookcoverpart@wholepage}{ + \begin{scope}[line width=\markthick,\bookcover@markcolor] + \draw (\marklength+\bleedwidth,0mm) -- +(0mm,\marklength); + \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth,0) -- +(0,\marklength);\fi + \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth,0) -- +(0,\marklength); + \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth,0) -- +(0,\marklength); + \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth,0) -- +(0,\marklength);\fi + \draw (\marklength+\bleedwidth+2\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth,0) -- +(0,\marklength); + \draw (\marklength+\bleedwidth,\paperheight) -- +(0,-\marklength); + \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth,\paperheight) -- +(0,-\marklength);\fi% + \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth,\paperheight) -- +(0,-\marklength); + \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth,\paperheight) -- +(0,-\marklength); + \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth,\paperheight) -- +(0,-\marklength);\fi + \draw (\marklength+\bleedwidth+2\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth,\paperheight) -- +(0,-\marklength); + \draw (0,\paperheight-\marklength-\bleedwidth) -- +(\marklength,0); + \draw (0,\marklength+\bleedwidth) -- +(\marklength,0); + \draw (\paperwidth,\paperheight-\marklength-\bleedwidth) -- +(-\marklength,0); + \draw (\paperwidth,\marklength+\bleedwidth) -- +(-\marklength,0); + \end{scope}}} %% TRIMMING -\def\bookcover@trimming{% - \bookcover@posbox{\paperwidth}{0mm}{0mm}{% - \begin{tikzpicture} - \begin{scope}[color=white] - \fill(0,0)-- - (\paperwidth,0)-- - (\paperwidth,\marklength+\bleedwidth)-- - (0,\marklength+\bleedwidth)--cycle; - \fill(0,\paperheight)-- - (\paperwidth,\paperheight)-- - (\paperwidth,\paperheight-\marklength-\bleedwidth)-- - (0,\paperheight-\marklength-\bleedwidth)--cycle; - \fill(0,0)-- - (\marklength+\bleedwidth,0)-- - (\marklength+\bleedwidth,\paperheight)-- - (0,\paperheight)--cycle; - \fill(\paperwidth-\marklength-\bleedwidth,0)-- - (\paperwidth,0)-- - (\paperwidth,\paperheight)-- - (\paperwidth-\marklength-\bleedwidth,\paperheight)--cycle; - \end{scope} - \draw[color=\bookcover@markcolor,line width=\markthick] - (\marklength+\bleedwidth,\marklength+\bleedwidth)-- - (\paperwidth-\marklength-\bleedwidth,\marklength+\bleedwidth)-- - (\paperwidth-\marklength-\bleedwidth,\paperheight-\marklength-\bleedwidth)-- - (\marklength+\bleedwidth,\paperheight-\marklength-\bleedwidth)--cycle; - \end{tikzpicture}} - \bookcover@ypos{\bleedwidth} - \bookcover@partwidth{\markthick} - \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth-.5\markthick} - \bookcover@vmark - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark\fi - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth-.5\markthick} - \bookcover@vmark - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark - \bookcover@ypos{\paperheight-\marklength-\bleedwidth} - \bookcover@partwidth{\markthick} - \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth-.5\markthick} - \bookcover@vmark - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark\fi - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth-.5\markthick} - \bookcover@vmark - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth-.5\markthick} - \bookcover@vmark} +\def\bookcover@trimming@part{% + \expandafter\ifblank\expandafter{\bookcover@trimmedpart}{\def\bookcover@trimmedpart{bookcoverpart@whole}}{}% + \@ifundefined{bookcover@part@param@\bookcover@trimmedpart}{\@latexerr{Part '\bookcover@trimmedpart' is undefined.}{}}{% + \begingroup% + \csname bookcover@part@param@\bookcover@trimmedpart\endcsname% + \expandafter\bookcover@setpartmargin\expandafter(\bookcover@trimmedmargin)% + \ifdim\bookcover@partwidth@>0mm + \ifdim\bookcover@partheight@>0mm + \bookcover@posbox{\paperwidth}{\paperheight}{0mm}{0mm}{% + \begin{tikzpicture} + \begin{scope}[\bookcover@trimmingcolor] + \fill (0,0) rectangle (\paperwidth,\paperheight-\bookcover@ypos@-\bookcover@partheight@); + \fill (0,\paperheight) rectangle (\paperwidth,\paperheight-\bookcover@ypos@); + \fill (0,0) rectangle (\bookcover@xpos@,\paperheight); + \fill (\bookcover@xpos@+\bookcover@partwidth@,0) rectangle (\paperwidth,\paperheight); + \end{scope} + \end{tikzpicture}}\fi\fi + \endgroup}} + +\NewDocumentCommand{\bookcovertrimmedpart}{ m O{,,,} }{\def\bookcover@trimmedpart{#1}\def\bookcover@trimmedmargin{#2}} +\def\bookcover@trimmedpart{bookcoverpart@whole} +\def\bookcover@trimmedmargin{,,,} %% BOOKCOVER ENVIRONMENT \def\bookcover{% \@inbookcoverenvtrue% \newpage% + \pagecolor{\bookcover@pagecolor} \noindent% \begin{picture}(\paperwidth,\paperheight)(0,-\paperheight)} \def\endbookcover{% + \ifbookcover@trimmed\bookcover@trimming@part\fi% \bookcover@marks% - \ifbookcover@trimmed\bookcover@trimming\fi% \end{picture}% - \@inbookcoverenvfalse} + \par\@inbookcoverenvfalse} %% BOOKCOVER COMPONENT -\long\def\bookcovercomponent#1#2#3{ - \if@inbookcoverenv\else - \@latexerr{\string\bookcovercomponent\space is not in 'bookcover' environment.}{}\fi - \bookcover@xpos{0pt} - \bookcover@ypos{0pt} - \bookcover@partwidth{0pt} - \bookcover@partheight{0pt} - \bookcover@tikz@trimmed@part@param{0pt}{0pt}{0pt}{0pt} - \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' undefined.}{}}{ - \@ifundefined{bookcover@componenttype@#1}{\@latexerr{Component type '#1' undefined.}{}}{ - \ifx\@empty#3\else - \csname bookcover@part@param@#2\endcsname - \ifdim\bookcover@partwidth@>0mm - \ifdim\bookcover@partheight@>0mm - \csname bookcover@componenttype@#1\endcsname{#3}\fi\fi\fi}}} +\def\bookcover@setpartmargin(#1,#2,#3,#4){% + \ifblank{#1}{}{% + \addtolength{\bookcover@xpos@}{#1}% + \addtolength{\bookcover@partwidth@}{-#1}}% + \ifblank{#2}{}{% + \addtolength{\bookcover@partheight@}{-#2}}% + \ifblank{#3}{}{% + \addtolength{\bookcover@partwidth@}{-#3}}% + \ifblank{#4}{}{% + \addtolength{\bookcover@ypos@}{#4}% + \addtolength{\bookcover@partheight@}{-#4}}} + +\NewDocumentCommand{\bookcovercomponent}{ m m O{,,,} +m }{% + \if@inbookcoverenv\else% + \@latexerr{Use \string\bookcovercomponent\space or 'bookcoverelement' in 'bookcover' environment!}{}\fi% + \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' is undefined.}{}}{% + \@ifundefined{bookcover@componenttype@#1}{\@latexerr{Component type '#1' is undefined.}{}}{% + \ifblank{#4}{}{% + \begingroup% + \csname bookcover@part@param@#2\endcsname% + \bookcover@setpartmargin(#3)% + \ifdim\bookcover@partwidth@>0mm% + \ifdim\bookcover@partheight@>0mm% + \csname bookcover@componenttype@#1\endcsname{#4}\fi\fi% + \endgroup}}}} %% BOOKCOVERELEMENT ENVIRONMENT -\NewEnviron{bookcoverelement}[2]{\bookcovercomponent{#1}{#2}{\BODY}} +\NewDocumentEnvironment{bookcoverelement}{ m m O{,,,} +b }{\bookcovercomponent{#1}{#2}[#3]{#4}} %% NEW BOOKCOVER PART -\def\newbookcoverpart#1#2{ - \@ifundefined{bookcover@part@param@#1}{ +\def\newbookcoverpart#1#2{% + \@ifundefined{bookcover@part@param@#1}{% \expandafter\def\csname bookcover@part@param@#1\endcsname{#2}} - {\@latexerr{Part '#1' already defined.}{}}} + {\@latexerr{Part '#1' is already defined.}{}}} %% RENEW BOOKCOVER PART -\def\renewbookcoverpart#1#2{ - \@ifundefined{bookcover@part@param@#1}{\@latexerr{Part '#1' undefined.}{}}{ +\def\renewbookcoverpart#1#2{% + \ifstrequal{#1}{bookcoverpart@wholepage}{\@latexerr{Part '#1' is protected.}{}}% + \ifstrequal{#1}{bookcoverpart@whole}{\@latexerr{Part '#1' is protected.}{}}% + \@ifundefined{bookcover@part@param@#1}{\@latexerr{Part '#1' is undefined.}{}}{% \expandafter\def\csname bookcover@part@param@#1\endcsname{#2}}} %% NEW NAME BOOKCOVER PART -\def\newnamebookcoverpart#1#2{ - \@ifundefined{bookcover@part@param@#1}{ - \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' undefined.}{}}{ +\def\newnamebookcoverpart#1#2{% + \@ifundefined{bookcover@part@param@#1}{% + \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' is undefined.}{}}{% \expandafter\def\csname bookcover@part@param@#1\endcsname{% \csname bookcover@part@param@#2\endcsname}}} - {\@latexerr{Part '#1' already defined.}{}}} + {\@latexerr{Part '#1' is already defined.}{}}} + +%% LET NAME BOOKCOVER PART + +\def\letnamebookcoverpart#1#2{% + \@ifundefined{bookcover@part@param@#1}{% + \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' is undefined.}{}}{% + \csletcs{bookcover@part@param@#1}{bookcover@part@param@#2}}} + {\@latexerr{Part '#1' is already defined.}{}}} %% NEW BOOKCOVER COMPONENT TYPE \def\newbookcovercomponenttype#1#2{% \@ifundefined{bookcover@componenttype@#1}{% \long\expandafter\def\csname bookcover@componenttype@#1\endcsname##1{% - \bookcover@posbox{\bookcover@partwidth@}{\bookcover@xpos@}{\bookcover@ypos@}{#2}}} - {\@latexerr{Component type '#1' already defined.}{}}} + \bookcover@posbox{\bookcover@partwidth@}{\bookcover@partheight@}{\bookcover@xpos@}{\bookcover@ypos@}{#2}}} + {\@latexerr{Component type '#1' is already defined.}{}}} %% RENEW BOOKCOVER COMPONENT TYPE \def\renewbookcovercomponenttype#1#2{% - \@ifundefined{bookcover@componenttype@#1}{\@latex@error{Component type '#1' undefined.}{}}{% + \ifstrequal{#1}{bookcovertype@tikz}{\@latexerr{Component type '#1' is protected.}{}}% + \@ifundefined{bookcover@componenttype@#1}{\@latexerr{Component type '#1' is undefined.}{}}{% \long\expandafter\def\csname bookcover@componenttype@#1\endcsname##1{% - \bookcover@posbox{\bookcover@partwidth@}{\bookcover@xpos@}{\bookcover@ypos@}{#2}}}} + \bookcover@posbox{\bookcover@partwidth@}{\bookcover@partheight@}{\bookcover@xpos@}{\bookcover@ypos@}{#2}}}} %% NEW NAME BOOKCOVER COMPONENT TYPE -\def\newnamebookcovercomponenttype#1#2{ - \@ifundefined{bookcover@componenttype@#1}{ - \@ifundefined{bookcover@componenttype@#2}{\@latexerr{Component type '#2' undefined.}{}}{ +\def\newnamebookcovercomponenttype#1#2{% + \@ifundefined{bookcover@componenttype@#1}{% + \@ifundefined{bookcover@componenttype@#2}{\@latexerr{Component type '#2' is undefined.}{}}{% \expandafter\def\csname bookcover@componenttype@#1\endcsname{% \csname bookcover@componenttype@#2\endcsname}}} - {\@latexerr{Component type '#1' already defined.}{}}} + {\@latexerr{Component type '#1' is already defined.}{}}} + +%% LET NAME BOOKCOVER COMPONENT TYPE + +\def\letnamebookcovercomponenttype#1#2{% + \@ifundefined{bookcover@componenttype@#1}{% + \@ifundefined{bookcover@componenttype@#2}{\@latexerr{Component type '#2' is undefined.}{}}{% + \csletcs{bookcover@componenttype@#1}{bookcover@componenttype@#2}}} + {\@latexerr{Component type '#1' is already defined.}{}}} %% COMPONENT TYPES -\newbookcovercomponenttype{color}{ +\newbookcovercomponenttype{color}{% \tikz\fill\expandafter[#1] (0,0) rectangle (\bookcover@partwidth@,\bookcover@partheight@);} -\newbookcovercomponenttype{picture}{ +\newbookcovercomponenttype{picture}{% \includegraphics[width=\bookcover@partwidth@,height=\bookcover@partheight@]{#1}} -\newbookcovercomponenttype{tikz}{ +\newbookcovercomponenttype{tikz}{% \begin{tikzpicture}[overlay,yshift=-\bookcover@partheight@] \begin{scope}[transparent,line width=0pt] \pgfset{minimum width=\bookcover@partwidth@,minimum height=\bookcover@partheight@} @@ -880,7 +989,9 @@ #1 \end{tikzpicture}} -\newbookcovercomponenttype{tikz clip}{ +\letnamebookcovercomponenttype{bookcovertype@tikz}{tikz} % bookcovertype@tikz is protected type + +\newbookcovercomponenttype{tikz clip}{% \begin{tikzpicture}[overlay,yshift=-\bookcover@partheight@] \begin{scope}[transparent,line width=0pt] \pgfset{minimum width=\bookcover@partwidth@,minimum height=\bookcover@partheight@} @@ -895,31 +1006,22 @@ #1 \end{tikzpicture}} -\newbookcovercomponenttype{normal}{ - \parbox[t][\bookcover@partheight@][t]{\bookcover@partwidth@}{#1}} +\newbookcovercomponenttype{normal}{#1} + +\newbookcovercomponenttype{center}{\vfill\begin{center}#1\end{center}\vfill} -\newbookcovercomponenttype{center}{ - \parbox[t][\bookcover@partheight@][c]{\bookcover@partwidth@}{\begin{center}#1\end{center}}} +\newbookcovercomponenttype{ruler}{\expandafter\bookcover@setruler\expandafter(#1)} -\newbookcovercomponenttype{ruler}{ - \parbox[t][\bookcover@partheight@][t]{\bookcover@partwidth@}{#1}} -\newcommand{\setruler}[5][cm]{% +\def\bookcover@setruler(#1,#2,#3){% \rulernorotatenum% - \rulerparams{}{}{#5}{}{}% - \setlength{\bookcover@rulerwidth@}{\bookcover@partwidth@-#3}% - \setlength{\bookcover@rulerheight@}{\bookcover@partheight@-#4}% - \ifthenelse{\equal{#2}{upper left}}{% - \vspace{#4}% - \hspace{#3}% - \squareruler[#1]{upperleft}{\bookcover@rulerwidth@}{\bookcover@rulerheight@}}{}% - \ifthenelse{\equal{#2}{upper right}}{% - \vspace{#4}% - \squareruler[#1]{upperright}{\bookcover@rulerwidth@}{\bookcover@rulerheight@}}{}% - \ifthenelse{\equal{#2}{lower left}}{% - \hspace{#3}% - \squareruler[#1]{lowerleft}{\bookcover@rulerwidth@}{\bookcover@rulerheight@}}{}% - \ifthenelse{\equal{#2}{lower right}}{% - \squareruler[#1]{lowerright}{\bookcover@rulerwidth@}{\bookcover@rulerheight@}}{}} + \ifblank{#3}{\rulerparams{}{}{\bookcover@markcolor}{}{}}{\rulerparams{}{}{#3}{}{}}% + \ifblank{#2}% + {\ifblank{#1}% + {\squareruler{upperleft}{\bookcover@partwidth@}{\bookcover@partheight@}}% + {\squareruler[#1]{upperleft}{\bookcover@partwidth@}{\bookcover@partheight@}}}% + {\ifblank{#1}% + {\squareruler{#2}{\bookcover@partwidth@}{\bookcover@partheight@}}% + {\squareruler[#1]{#2}{\bookcover@partwidth@}{\bookcover@partheight@}}}} %% BOOKCOVER PARTS @@ -931,11 +1033,19 @@ \bookcover@partwidth{\flapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} +\newbookcoverpart{bg back wrap}{ + \ifdim\flapwidth>0mm + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{\wrapwidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth}\fi} + \newbookcoverpart{bg back}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else @@ -946,14 +1056,14 @@ \newbookcoverpart{bg spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth}} \newbookcoverpart{bg front}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \ifdim\flapwidth>0mm \bookcover@partwidth{\coverwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} @@ -961,26 +1071,47 @@ \bookcover@partwidth{\coverwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} +\newbookcoverpart{bg front wrap}{ + \ifdim\flapwidth>0mm + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} + \bookcover@partwidth{\wrapwidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth}\fi} + \newbookcoverpart{bg front flap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\coverwidth+\spinewidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\flapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} -\newbookcoverpart{bg back and flap}{ +\newbookcoverpart{bg back flap and wrap}{ + \ifdim\flapwidth>0mm + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength} + \bookcover@partwidth{\flapwidth+\wrapwidth+\bleedwidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} + +\newbookcoverpart{bg back and wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} - \bookcover@xpos{\marklength} - \bookcover@partwidth{\bleedwidth+\flapwidth+\coverwidth} - \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}} + \ifdim\flapwidth>0mm + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{\coverwidth+\wrapwidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} + \else + \bookcover@xpos{\marklength} + \bookcover@partwidth{\coverwidth+\bleedwidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg back and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else @@ -991,7 +1122,7 @@ \newbookcoverpart{bg front and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \ifdim\flapwidth>0mm \bookcover@partwidth{\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} @@ -999,26 +1130,99 @@ \bookcover@partwidth{\coverwidth+\spinewidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} +\newbookcoverpart{bg front and wrap}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} + \ifdim\flapwidth>0mm + \bookcover@partwidth{\coverwidth+\wrapwidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} + \else + \bookcover@partwidth{\coverwidth+\bleedwidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} + +\newbookcoverpart{bg front flap and wrap}{ + \ifdim\flapwidth>0mm + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} + \bookcover@partwidth{\flapwidth+\wrapwidth+\bleedwidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} + +\newbookcoverpart{bg back and flap}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength} + \bookcover@partwidth{\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}} + +\newbookcoverpart{bg back and spine and wrap}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \ifdim\flapwidth>0mm + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{\wrapwidth+\coverwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} + \else + \bookcover@xpos{\marklength} + \bookcover@partwidth{\wrapwidth+\coverwidth+\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} + +\newbookcoverpart{bg back and spine and front}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \ifdim\flapwidth>0mm + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} + \bookcover@partwidth{2\coverwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} + \else + \bookcover@xpos{\marklength} + \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} + +\newbookcoverpart{bg front and spine and wrap}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} + \ifdim\flapwidth>0mm + \bookcover@partwidth{\coverwidth+\spinewidth+\wrapwidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} + \else + \bookcover@partwidth{\coverwidth+\spinewidth+\bleedwidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} + \newbookcoverpart{bg front and flap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth} - \bookcover@partwidth{\coverwidth+\flapwidth+\bleedwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} + \bookcover@partwidth{\coverwidth+\flapwidth+\wrapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}} \newbookcoverpart{bg back and flap and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} - \bookcover@partwidth{\bleedwidth+\flapwidth+\coverwidth+\spinewidth} + \bookcover@partwidth{\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}} -\newbookcoverpart{bg whole without flaps}{ +\newbookcoverpart{bg back and spine and front and back wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} - \bookcover@partwidth{2\coverwidth+\spinewidth} + \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} + \else + \bookcover@xpos{\marklength} + \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} + +\newbookcoverpart{bg back and spine and front and front wrap}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \ifdim\flapwidth>0mm + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} + \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} @@ -1028,16 +1232,51 @@ \newbookcoverpart{bg front and flap and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth} - \bookcover@partwidth{\coverwidth+\flapwidth+\bleedwidth+\spinewidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} + \bookcover@partwidth{\coverwidth+\flapwidth+\bleedwidth+\wrapwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}} +\newbookcoverpart{bg whole without front flap and wrap}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \bookcover@xpos{\marklength} + \ifdim\flapwidth>0mm + \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth} + \else + \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} + +\newbookcoverpart{bg whole without flaps}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \ifdim\flapwidth>0mm + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{2\coverwidth+\spinewidth+2\wrapwidth} + \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} + \else + \bookcover@xpos{\marklength} + \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} + +\newbookcoverpart{bg whole without back flap and wrap}{ + \bookcover@ypos{\marklength} + \bookcover@partheight{\coverheight+2\bleedwidth} + \ifdim\flapwidth>0mm + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} + \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0mm}{\bleedwidth} + \else + \bookcover@xpos{\marklength} + \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} + \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} + \newbookcoverpart{bg whole without front flap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \ifdim\flapwidth>0mm - \bookcover@partwidth{2\coverwidth+\flapwidth+\bleedwidth+\spinewidth} + \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth} \else \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} @@ -1048,7 +1287,7 @@ \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} - \bookcover@partwidth{2\coverwidth+\flapwidth+\bleedwidth+\spinewidth} + \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0mm}{\bleedwidth} \else \bookcover@xpos{\marklength} @@ -1059,13 +1298,15 @@ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} - \bookcover@partwidth{2\coverwidth+2\bleedwidth+2\flapwidth+\spinewidth} + \bookcover@partwidth{2\coverwidth+2\bleedwidth+2\flapwidth+2\wrapwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}} \newbookcoverpart{whole page}{ \bookcover@partheight{\paperheight} \bookcover@partwidth{\paperwidth}} +\letnamebookcoverpart{bookcoverpart@wholepage}{whole page} % bookcoverpart@wholepage is protected part + \newbookcoverpart{back flap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength+\bleedwidth} @@ -1073,118 +1314,236 @@ \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{\flapwidth}\fi} +\newbookcoverpart{back wrap}{ + \ifdim\flapwidth>0mm + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{\wrapwidth}\fi} + \newbookcoverpart{back}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth}} \newbookcoverpart{spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\spinewidth}} \newbookcoverpart{front}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@partwidth{\coverwidth}} +\newbookcoverpart{front wrap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} + \bookcover@partwidth{\wrapwidth}} + \newbookcoverpart{front flap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\coverwidth+\spinewidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\flapwidth}\fi} \newbookcoverpart{above front}{ \ifdim\marklength>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@ypos{0mm} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} \newbookcoverpart{below front}{ \ifdim\marklength>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@ypos{\marklength+2\bleedwidth+\coverheight} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} \newbookcoverpart{above back}{ \ifdim\marklength>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@ypos{0mm} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} \newbookcoverpart{below back}{ \ifdim\marklength>0mm - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@ypos{\marklength+2\bleedwidth+\coverheight} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} -\newbookcoverpart{back and flap}{ +\newbookcoverpart{back flap and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} - \bookcover@partwidth{\flapwidth+\coverwidth} - \bookcover@partheight{\coverheight}} + \bookcover@partwidth{\flapwidth+\wrapwidth}} -\newbookcoverpart{back and spine}{ +\newbookcoverpart{back and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{\coverwidth+\wrapwidth}} + +\newbookcoverpart{back and spine}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth+\spinewidth}} \newbookcoverpart{front and spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\coverwidth+\spinewidth}} +\newbookcoverpart{front and wrap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} + \bookcover@partwidth{\coverwidth+\wrapwidth}} + +\newbookcoverpart{front flap and wrap}{ + \ifdim\flapwidth>0mm + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} + \bookcover@partwidth{\flapwidth+\wrapwidth}\fi} + +\newbookcoverpart{back and flap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@xpos{\marklength+\bleedwidth} + \bookcover@partwidth{\flapwidth+\wrapwidth+\coverwidth} + \bookcover@partheight{\coverheight}} + +\newbookcoverpart{back and spine and wrap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{\coverwidth+\spinewidth+\wrapwidth}} + +\newbookcoverpart{back and spine and front}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} + \bookcover@partwidth{2\coverwidth+\spinewidth}} + +\newbookcoverpart{front and spine and wrap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} + \bookcover@partwidth{\coverwidth+\spinewidth+\wrapwidth}} + \newbookcoverpart{front and flap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth+\spinewidth} - \bookcover@partwidth{\coverwidth+\flapwidth}} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} + \bookcover@partwidth{\coverwidth+\flapwidth+\wrapwidth}} \newbookcoverpart{back and flap and spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth} - \bookcover@partwidth{\flapwidth+\coverwidth+\spinewidth} + \bookcover@partwidth{\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@partheight{\coverheight}} -\newbookcoverpart{whole without flaps}{ +\newbookcoverpart{back and spine and front and back wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} - \bookcover@partwidth{2\coverwidth+\spinewidth}} + \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth}} + +\newbookcoverpart{back and spine and front and front wrap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} + \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth}} \newbookcoverpart{front and flap and spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} - \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\coverwidth} - \bookcover@partwidth{\coverwidth+\flapwidth+\spinewidth}} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} + \bookcover@partwidth{\coverwidth+\flapwidth+\wrapwidth+\spinewidth}} + +\newbookcoverpart{whole without front flap and wrap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth} + \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\spinewidth}} + +\newbookcoverpart{whole without flaps}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} + \bookcover@partwidth{2\coverwidth+\spinewidth+2\wrapwidth}} + +\newbookcoverpart{whole without back flap and wrap}{ + \bookcover@ypos{\marklength+\bleedwidth} + \bookcover@partheight{\coverheight} + \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} + \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\spinewidth}} \newbookcoverpart{whole without front flap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} - \bookcover@partwidth{2\coverwidth+\flapwidth+\spinewidth}} + \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\spinewidth}} \newbookcoverpart{whole without back flap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} - \bookcover@partwidth{2\coverwidth+\flapwidth+\spinewidth}} + \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\spinewidth}} \newbookcoverpart{whole}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} - \bookcover@partwidth{2\coverwidth+2\flapwidth+\spinewidth}} + \bookcover@partwidth{2\coverwidth+2\flapwidth+2\wrapwidth+\spinewidth}} + +\letnamebookcoverpart{bookcoverpart@whole}{whole} % bookcoverpart@whole is protected part + +%% SYNONYMOUS PART NAMES FOR INSIDE COVER ('INSIDE FRONT' = 'BACK', 'INSIDE BACK' = 'FRONT') + +\@for\bookcover@partname@:={% +bg back flap,bg back wrap,bg back,bg front,bg front wrap,bg front flap,% +bg back flap and wrap,bg back and wrap,bg back and spine,bg front and spine,bg front and wrap,bg front flap and wrap,% +bg back and flap,bg back and spine and wrap,bg back and spine and front,bg front and spine and wrap,bg front and flap,% +bg back and flap and spine,bg back and spine and front and back wrap,bg back and spine and front and front wrap,bg front and flap and spine,% +bg whole without front flap and wrap,bg whole without back flap and wrap,% +bg whole without front flap,bg whole without back flap,% +back flap,back wrap,back,front,front wrap,front flap,above back,above front,below back,below front,% +back flap and wrap,back and wrap,back and spine,front and spine,front and wrap,front flap and wrap,% +back and flap,back and spine and wrap,back and spine and front,front and spine and wrap,front and flap,% +back and flap and spine,back and spine and front and back wrap,back and spine and front and front wrap,front and flap and spine,% +whole without front flap and wrap,whole without back flap and wrap,% +whole without front flap,whole without back flap}% +\do{% +\let\bookcover@partname@original@\bookcover@partname@% +\patchcmd{\bookcover@partname@}{back}{b@ck}{}{}% +\patchcmd{\bookcover@partname@}{front}{fr@nt}{}{}% +\patchcmd{\bookcover@partname@}{b@ck}{inside front}{}{}% +\patchcmd{\bookcover@partname@}{fr@nt}{inside back}{}{}% +\letnamebookcoverpart{\bookcover@partname@}{\bookcover@partname@original@}} + +%% SHORT PART NAMES + +\def\bookcover@shortpartname@#1=#2.{\letnamebookcoverpart{#1}{#2}\letnamebookcoverpart{bg #1}{bg #2}} +\@for\bookcover@partname@:={% +lF=back flap.,lW=back wrap.,lC=back.,S=spine.,rC=front.,rW=front wrap.,rF=front flap.,% +lF-lW=back flap and wrap.,lW-lC=back and wrap.,lC-S=back and spine.,S-rC=front and spine.,rC-rW=front and wrap.,rW-rF=front flap and wrap.,% +lF-lC=back and flap.,lW-S=back and spine and wrap.,lC-rC=back and spine and front.,S-rW=front and spine and wrap.,rC-rF=front and flap.,% +lF-S=back and flap and spine.,lW-rC=back and spine and front and back wrap.,lC-rW=back and spine and front and front wrap.,S-rF=front and flap and spine.,% +lF-rC=whole without front flap and wrap.,lW-rW=whole without flaps.,lC-rF=whole without back flap and wrap.,% +lF-rW=whole without front flap.,lW-rF=whole without back flap.,% +lF-rF=whole.}% +\do{\expandafter\bookcover@shortpartname@\bookcover@partname@} % \end{macrocode} % \Finale diff --git a/macros/latex/contrib/bookcover/bookcover.pdf b/macros/latex/contrib/bookcover/bookcover.pdf index b6c800cfc6..54edee5c63 100644 Binary files a/macros/latex/contrib/bookcover/bookcover.pdf and b/macros/latex/contrib/bookcover/bookcover.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/background1.pdf b/macros/latex/contrib/bookcover/figures/background1.pdf deleted file mode 100644 index ea3b9f60a4..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/background1.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/background2.pdf b/macros/latex/contrib/bookcover/figures/background2.pdf deleted file mode 100644 index 086f24c011..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/background2.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/background3.pdf b/macros/latex/contrib/bookcover/figures/background3.pdf deleted file mode 100644 index 84052be4fd..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/background3.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/background4.pdf b/macros/latex/contrib/bookcover/figures/background4.pdf deleted file mode 100644 index 3a7581e476..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/background4.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/background5.pdf b/macros/latex/contrib/bookcover/figures/background5.pdf deleted file mode 100644 index b124ef2247..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/background5.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/barcode.pdf b/macros/latex/contrib/bookcover/figures/barcode.pdf deleted file mode 100644 index f06b38799f..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/barcode.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/bg.jpg b/macros/latex/contrib/bookcover/figures/bg.jpg deleted file mode 100644 index 0797396062..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/bg.jpg and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/bg1.pdf b/macros/latex/contrib/bookcover/figures/bg1.pdf deleted file mode 100644 index fb68560cff..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/bg1.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/bg4.pdf b/macros/latex/contrib/bookcover/figures/bg4.pdf deleted file mode 100644 index 7511a2e461..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/bg4.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-barcode.pdf b/macros/latex/contrib/bookcover/figures/bookcover-barcode.pdf new file mode 100644 index 0000000000..3da147b6ff Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-barcode.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-bg.jpg b/macros/latex/contrib/bookcover/figures/bookcover-bg.jpg new file mode 100644 index 0000000000..517c6513e1 Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-bg.jpg differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-cards.pdf b/macros/latex/contrib/bookcover/figures/bookcover-cards.pdf new file mode 100644 index 0000000000..82f706af71 Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-cards.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-dice.pdf b/macros/latex/contrib/bookcover/figures/bookcover-dice.pdf new file mode 100644 index 0000000000..a2d5d2659a Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-dice.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-einstein.pdf b/macros/latex/contrib/bookcover/figures/bookcover-einstein.pdf new file mode 100644 index 0000000000..592f7d5641 Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-einstein.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-newpart.pdf b/macros/latex/contrib/bookcover/figures/bookcover-newpart.pdf new file mode 100644 index 0000000000..572224053d Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-newpart.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-parts.pdf b/macros/latex/contrib/bookcover/figures/bookcover-parts.pdf new file mode 100644 index 0000000000..752284839b Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-parts.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-pi.pdf b/macros/latex/contrib/bookcover/figures/bookcover-pi.pdf new file mode 100644 index 0000000000..5e1cad7ebc Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-pi.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-result.pdf b/macros/latex/contrib/bookcover/figures/bookcover-result.pdf new file mode 100644 index 0000000000..dfc65e6cd4 Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-result.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-ruler.pdf b/macros/latex/contrib/bookcover/figures/bookcover-ruler.pdf new file mode 100644 index 0000000000..48f54d211e Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-ruler.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-scheme.pdf b/macros/latex/contrib/bookcover/figures/bookcover-scheme.pdf new file mode 100644 index 0000000000..ff5cd7708b Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-scheme.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-sizes.pdf b/macros/latex/contrib/bookcover/figures/bookcover-sizes.pdf new file mode 100644 index 0000000000..2c81249975 Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-sizes.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-tikz.pdf b/macros/latex/contrib/bookcover/figures/bookcover-tikz.pdf new file mode 100644 index 0000000000..3ac9d8b5ad Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-tikz.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-tikzclip.pdf b/macros/latex/contrib/bookcover/figures/bookcover-tikzclip.pdf new file mode 100644 index 0000000000..2c3b22e2a8 Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-tikzclip.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/bookcover-trimming.pdf b/macros/latex/contrib/bookcover/figures/bookcover-trimming.pdf new file mode 100644 index 0000000000..d2df8ec4a3 Binary files /dev/null and b/macros/latex/contrib/bookcover/figures/bookcover-trimming.pdf differ diff --git a/macros/latex/contrib/bookcover/figures/cards.png b/macros/latex/contrib/bookcover/figures/cards.png deleted file mode 100644 index e2f7b77d35..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/cards.png and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/cover.pdf b/macros/latex/contrib/bookcover/figures/cover.pdf deleted file mode 100644 index 0859f68d55..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/cover.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/coverscheme.pdf b/macros/latex/contrib/bookcover/figures/coverscheme.pdf deleted file mode 100644 index d4b20c6489..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/coverscheme.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/dice.png b/macros/latex/contrib/bookcover/figures/dice.png deleted file mode 100644 index 6e56bf6866..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/dice.png and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/foreground1.pdf b/macros/latex/contrib/bookcover/figures/foreground1.pdf deleted file mode 100644 index 73a08b85b9..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/foreground1.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/foreground2.pdf b/macros/latex/contrib/bookcover/figures/foreground2.pdf deleted file mode 100644 index e3a7a2711c..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/foreground2.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/newpart.pdf b/macros/latex/contrib/bookcover/figures/newpart.pdf deleted file mode 100644 index d130e7f275..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/newpart.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/parts.pdf b/macros/latex/contrib/bookcover/figures/parts.pdf deleted file mode 100644 index 29df53518b..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/parts.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/result.pdf b/macros/latex/contrib/bookcover/figures/result.pdf deleted file mode 100644 index fff496deb4..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/result.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/ruler.pdf b/macros/latex/contrib/bookcover/figures/ruler.pdf deleted file mode 100644 index 73ec878781..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/ruler.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/sizes.pdf b/macros/latex/contrib/bookcover/figures/sizes.pdf deleted file mode 100644 index f27a96ff24..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/sizes.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/summa.pdf b/macros/latex/contrib/bookcover/figures/summa.pdf deleted file mode 100644 index 6983574c76..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/summa.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/tikz.pdf b/macros/latex/contrib/bookcover/figures/tikz.pdf deleted file mode 100644 index 4139bae9d7..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/tikz.pdf and /dev/null differ diff --git a/macros/latex/contrib/bookcover/figures/tikzclip.pdf b/macros/latex/contrib/bookcover/figures/tikzclip.pdf deleted file mode 100644 index b359b66854..0000000000 Binary files a/macros/latex/contrib/bookcover/figures/tikzclip.pdf and /dev/null differ diff --git a/macros/latex/contrib/chemnum/README b/macros/latex/contrib/chemnum/README index fd5fdfcd17..645b13c5dd 100644 --- a/macros/latex/contrib/chemnum/README +++ b/macros/latex/contrib/chemnum/README @@ -1,5 +1,5 @@ -------------------------------------------------------------------------- -chemnum v1.2c 2019/10/02 +chemnum v1.3 2020/12/06 a comprehensive approach for the numbering of chemical compounds @@ -8,15 +8,15 @@ Clemens Niederberger Web: https://github.com/cgnieder/chemnum E-Mail: contact@mychemistry.eu -------------------------------------------------------------------------- -Copyright 2011--2019 Clemens Niederberger +Copyright 2011--2020 Clemens Niederberger This work may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either version 1.3 +conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in http://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of LaTeX -version 2005/12/01 or later. +and version 1.3c or later is part of all distributions of LaTeX +version 2008/05/04 or later. This work has the LPPL maintenance status `maintained'. diff --git a/macros/latex/contrib/chemnum/chemnum.sty b/macros/latex/contrib/chemnum/chemnum.sty index b7d1277df4..26ba6b5c0f 100644 --- a/macros/latex/contrib/chemnum/chemnum.sty +++ b/macros/latex/contrib/chemnum/chemnum.sty @@ -12,15 +12,15 @@ % If you have any ideas, questions, suggestions or bugs to report, please % feel free to contact me. % -------------------------------------------------------------------------- -% Copyright 2011--2019 Clemens Niederberger +% Copyright 2011--2020 Clemens Niederberger % % This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 +% conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2005/12/01 or later. +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008/05/04 or later. % % This work has the LPPL maintenance status `maintained'. % @@ -29,9 +29,9 @@ \RequirePackage{expl3,xparse,l3keys2e} \ExplSyntaxOn -\tl_const:Nn \c_chemnum_date_tl {2019/10/02} -\tl_const:Nn \c_chemnum_version_number_tl {1.2} -\tl_const:Nn \c_chemnum_version_suffix_tl {c} +\tl_const:Nn \c_chemnum_date_tl {2020/12/06} +\tl_const:Nn \c_chemnum_version_number_tl {1.3} +\tl_const:Nn \c_chemnum_version_suffix_tl {} \tl_const:Nx \c_chemnum_version_tl { \c_chemnum_version_number_tl \c_chemnum_version_suffix_tl } \tl_const:Nn \c_chemnum_info_tl @@ -80,7 +80,7 @@ \msg_new:nnn {chemnum} {subcompound-not-initiated} { - The~ compound~ `#1\l__chemnum_compound_separator_tl #2'~ has~ not~ been~ + The~ compound~ `#1\l_chemnum_compound_separator_tl #2'~ has~ not~ been~ initiated~ \msg_line_context: } @@ -194,15 +194,15 @@ % ---------------------------------------------------------------------------- % variants of kernel functions: -\cs_generate_variant:Nn \prop_gput:Nnn { Nnx , cnx , cnV } -\cs_generate_variant:Nn \prop_put:Nnn { NV , NVV , NVx } -\cs_generate_variant:Nn \prop_if_in:NnTF { NV } -\cs_generate_variant:Nn \quark_if_no_value:nTF { V } -\cs_generate_variant:Nn \quark_if_no_value:nF { V } -\cs_generate_variant:Nn \seq_set_split:Nnn { NV , NVV } -\cs_generate_variant:Nn \seq_use:Nnnn { NVVV } -\cs_generate_variant:Nn \tl_if_eq:nnF { Vx } -\cs_generate_variant:Nn \tl_if_in:nnTF { VV } +\cs_generate_variant:Nn \prop_gput:Nnn {Nnx,cnx,cnV} +\cs_generate_variant:Nn \prop_put:Nnn {NV,NVV,NVx} +\cs_generate_variant:Nn \prop_if_in:NnTF {NV} +\cs_generate_variant:Nn \quark_if_no_value:nTF {V} +\cs_generate_variant:Nn \quark_if_no_value:nF {V} +\cs_generate_variant:Nn \seq_set_split:Nnn {NV,NVV} +\cs_generate_variant:Nn \seq_use:Nnnn {NVVV} +\cs_generate_variant:Nn \tl_if_eq:nnF {Vx} +\cs_generate_variant:Nn \tl_if_in:nnTF {VV} % ---------------------------------------------------------------------------- % temporary variables: @@ -234,7 +234,7 @@ \int_new:N \g__chemnum_main_int \int_new:N \l__chemnum_compound_replace_int -\seq_new:N \g__chemnum_initiated_compounds_seq +\seq_new:N \g_chemnum_initiated_compounds_seq \seq_new:N \g__chemnum_defined_compounds_seq \seq_new:N \g__chemnum_compound_defined_subcompounds_seq @@ -257,8 +257,8 @@ \tl_set:Nn \l__chemnum_main_separator_tl {,} \tl_new:N \l__chemnum_sub_separator_tl \tl_set:Nn \l__chemnum_sub_separator_tl {,} -\tl_new:N \l__chemnum_compound_separator_tl -\tl_set:Nn \l__chemnum_compound_separator_tl {.} +\tl_new:N \l_chemnum_compound_separator_tl +\tl_set:Nn \l_chemnum_compound_separator_tl {.} \tl_new:N \l__chemnum_sep_list_two_tl \tl_set:Nn \l__chemnum_sep_list_two_tl { \GetTranslation {chemnum-sep-two} } @@ -386,7 +386,7 @@ pre-main-label-code .groups:n = {compound,general} , post-main-label-code .tl_set:N = \l__chemnum_post_main_label_default_tl , post-main-label-code .groups:n = {compound,general} , - main-sub-sep .tl_set:N = \l__chemnum_compound_separator_tl , + main-sub-sep .tl_set:N = \l_chemnum_compound_separator_tl , main-sub-sep .groups:n = {general,list} , list-label-sep .tl_set:N = \l__chemnum_main_separator_tl , list-label-sep .groups:n = {general,list} , @@ -516,13 +516,13 @@ { \use:c { __chemnum_#2_label_format:n } {#1} } { \__chemnum_arabic_label_format:n {#1} } } -\cs_generate_variant:Nn \__chemnum_label_format:Nn { NV , cV } +\cs_generate_variant:Nn \__chemnum_label_format:Nn {NV,cV} % ---------------------------------------------------------------------------- % auxiliary file -- we'll use the .aux file % first let's add dummy definitions so we can hopefully avoid error messages % if the `chemnum' package is removed from the preamble -\AtBeginDocument +\hook_gput_code:nnn {begindocument} {chemnum} { \legacy_if:nT {@filesw} { @@ -538,10 +538,13 @@ % we use this one to trigger a LaTeX rerun warning -- to be precise the % ``Label(s) may have changed'' warning: \cs_new_protected:Npn \__chemnum_rerun: - { \AtEndDocument { \def \chemnum@check { \@tempswatrue } } } + { + \hook_gput_code:nnn {enddocument} {code} + { \def \chemnum@check { \@tempswatrue } } + } % add the rerun check at the end: -\AtEndDocument +\hook_gput_code:nnn {enddocument} {code} { \legacy_if:nT {@filesw} { \iow_now:Nn \@auxout { \chemnum@check } } @@ -563,7 +566,7 @@ \cs_new_protected:Npn \chemnum_initiate_compound:n #1 { \chemnum_compound_if_initiated:nF {#1} - { \seq_gput_right:Nn \g__chemnum_initiated_compounds_seq {#1} } + { \seq_gput_right:Nn \g_chemnum_initiated_compounds_seq {#1} } } % #1: ID @@ -697,6 +700,23 @@ } } +% #1: main ID +\prg_new_conditional:Npnn \chemnum_if_subcompounds:n #1 {T,F,TF} + { + \seq_if_exist:cTF {g__chemnum_compound_#1_subcompounds_seq} + { \prg_return_true: } + { \prg_return_false: } + } + +% #1: main ID +\cs_new:Npn \chemnum_count_subcompounds:n #1 + { \int_use:c {g__chemnum_compound_#1_subcompound_int} } + +% #1: main ID +% #2: index +\cs_new:Npn \chemnum_get_subcompound:nn #1#2 + { \seq_item:cn {g__chemnum_compound_#1_subcompounds_seq} {#2} } + % ---------------------------------------------------------------------------- \cs_new:Npn \__chemnum_nothing_here:n #1 @@ -738,7 +758,7 @@ \prg_new_protected_conditional:Npnn \chemnum_compound_if_initiated:n #1 { T,F,TF } { - \seq_if_in:NnTF \g__chemnum_initiated_compounds_seq {#1} + \seq_if_in:NnTF \g_chemnum_initiated_compounds_seq {#1} { \prg_return_true: } { \prg_return_false: } } @@ -802,7 +822,7 @@ { \prop_gput:cnn {g__chemnum_compound_#1_prop} {#2} {#3} } { \msg_error:nnn {chemnum} {property-undefined} {#1} {#2} } } -\cs_generate_variant:Nn \chemnum_compound_set_property:nnn { nnV , nnx } +\cs_generate_variant:Nn \chemnum_compound_set_property:nnn {nnV,nnx} % #1: ID % #2: property to be updated @@ -863,7 +883,7 @@ { \prop_gput:cnn {g__chemnum_compound_#1_#2_properties_prop} {#3} {#4} } { \msg_error:nnn {chemnum} {property-undefined} {#1.#2} {#3} } } -\cs_generate_variant:Nn \chemnum_subcompound_set_property:nnnn { nnnV , nnnx } +\cs_generate_variant:Nn \chemnum_subcompound_set_property:nnnn {nnnV,nnnx} % #1: main ID % #2. sub ID @@ -909,7 +929,7 @@ \cs_new:Npn \chemnum_expandable_get_compound_property:nn #1#2 { \prop_item:cn {g__chemnum_compound_#1_prop} {#2} } -\cs_generate_variant:Nn \chemnum_expandable_get_compound_property:nn { V } +\cs_generate_variant:Nn \chemnum_expandable_get_compound_property:nn {V} % #1: main ID % #2: sub ID @@ -935,6 +955,18 @@ \DeclareExpandableDocumentCommand \subcmpdproperty { mmm } { \chemnum_expandable_get_subcompound_property:nnn {#1} {#2} {#3} } +% #1: property +% #2: ID +% #3: value +\NewDocumentCommand \setcmpdproperty {mmm} + { + \chemnum_compound_set_property:nnn {#2} {#1} {#3} + \chemnum_finalize_compound:n {#1} + } + +\NewDocumentCommand \setcmpdlabel {mm} + { \setcmpdproperty {counter-representation} {#1} {#2} } + % ---------------------------------------------------------------------------- % initiating subcompounds: @@ -959,13 +991,16 @@ % #8: label format \cs_new_protected:Npn \__chemnum_write_compound_to_auxfile_x:nnnnnnnn #1#2#3#4#5#6#7#8 { - \legacy_if:nT {@filesw} + \hook_gput_code:nnn {begindocument} {chemnum} { - \iow_now:Nx \@auxout - { \exp_not:N \chemnum@cmpd {#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8} } + \legacy_if:nT {@filesw} + { + \iow_now:Nx \@auxout + { \exp_not:N \chemnum@cmpd {#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8} } + } } } -\cs_generate_variant:Nn \__chemnum_write_compound_to_auxfile_x:nnnnnnnn { nnnVVVVV } +\cs_generate_variant:Nn \__chemnum_write_compound_to_auxfile_x:nnnnnnnn {nnnVVVVV} \cs_new_protected:Npn \chemnum_save_compound_to_auxfile:n #1 { @@ -1071,7 +1106,7 @@ { \msg_warning:nnn {chemnum} {compound-not-initiated} {#2} } } \bool_if:NT \l__chemnum_show_def_bool - { \cmpdshowdef { #2 } } + { \cmpdshowdef {#2} } \bool_set_false:N \l__chemnum_show_ref_bool \chemnum_initiate_compound:n {#2} } @@ -1103,7 +1138,7 @@ } } \bool_if:NT \l__chemnum_show_def_bool - { \subcmpdshowdef { #2 } { #3 } } + { \subcmpdshowdef {#2} {#3} } \bool_set_false:N \l__chemnum_show_ref_bool \chemnum_initiate_subcompound:nn {#2} {#3} } @@ -1266,7 +1301,7 @@ \bool_if:NT #1 { \@bsphack } \group_begin: \chemnum_split_sub_from_main:VNNnn - \l__chemnum_compound_separator_tl + \l_chemnum_compound_separator_tl #1 #2 {#3} {#4} \group_end: \bool_if:NT {#1} { \@esphack } @@ -1286,13 +1321,10 @@ \chemnum_if_write_and_or_read:NNTF #2 #3 { \chemnum_compound_start:n {##4} } { \chemnum_expandable_compound_start:n {##4} } - % shis is in the compound_write command: \chemnum_write_main:nnnn {##1} {##2} {##3} {##4} - \bool_if:nT - { - !\l__chemnum_sub_all_bool && - !\tl_if_blank_p:n {##5} - } + \bool_lazy_and:nnT + { !\l__chemnum_sub_all_bool } + { !\tl_if_blank_p:n {##5} } { \chemnum_write_sublist:NNnnn ##1 ##2 {##3} {##4} {##5} } \bool_if:NT \l__chemnum_sub_all_bool { @@ -1311,7 +1343,7 @@ } \__chemnum_split_sub_from_main_aux:nnnw {#2} {#3} {#4} #5#1#1 \q_stop } -\cs_generate_variant:Nn \chemnum_split_sub_from_main:nNNnn { V } +\cs_generate_variant:Nn \chemnum_split_sub_from_main:nNNnn {V} \cs_new:Npn \__chemnum_split_sub_from_main_aux:nnnw #1#2#3#4.#5.#6 \q_stop {} @@ -1335,8 +1367,8 @@ { \bool_if:NT \l__chemnum_show_ref_bool { \cmpdshowref {#4} } - \bool_if:nF - { #1 || \l__chemnum_sub_only_bool } + \bool_lazy_or:nnF + { \l__chemnum_sub_only_bool } {#1} { \chemnum_if_compound_used:nTF {#4} { \chemnum_hyper_link:nn {#4} } @@ -1471,12 +1503,9 @@ {#4} \l__chemnum_tmpd_seq % to write the uncompressed list \l__chemnum_tmpe_seq % for compressing the list, holds the numbers - \bool_if:nTF - { - \l__chemnum_compress_subcompounds_bool - && - \int_compare_p:n { \seq_count:N \l__chemnum_tmpe_seq > 2 } - } + \bool_lazy_and:nnTF + { \l__chemnum_compress_subcompounds_bool } + { \int_compare_p:n { \seq_count:N \l__chemnum_tmpe_seq > 2 } } { % needs a seq with the associated /numbers/! \chemnum_compress_subcompounds:NNN @@ -1492,7 +1521,7 @@ \l__chemnum_sep_sublist_last_two_tl } } -\cs_generate_variant:Nn \chemnum_write_sublist:NNnnn { NNnnV } +\cs_generate_variant:Nn \chemnum_write_sublist:NNnnn {NNnnV} % #1: boolean: if true register compound but don't write the label % #2: boolean: if true only read compound @@ -1506,12 +1535,12 @@ { \chemnum_declare_subcompound:nnn {#3} {#4} {#5} \bool_if:NT \l__chemnum_show_ref_bool - { \subcmpdshowref { #4 } { #5 } } + { \subcmpdshowref {#4} {#5} } \bool_if:NF #1 { \chemnum_subcompound_write:nn {#4} {#5} } } } -\cs_generate_variant:Nn \chemnum_write_subcompound:NNnnn { NNnnV } +\cs_generate_variant:Nn \chemnum_write_subcompound:NNnnn {NNnnV} %%% The following command sorts the sequence according to the order in which %%% they've been declared @@ -1556,7 +1585,8 @@ } } { \__chemnum_nothing_here:xn { \seq_use:Nnnn #3 {,~} {,~} {,~} } {#5} } - } + } + \seq_remove_all:Nn #7 {} } % #1: sub ID sequence @@ -1572,12 +1602,12 @@ { \int_incr:N \l__chemnum_tmpa_int \int_compare:nTF { \l__chemnum_tmpa_int = 1 } - { \seq_put_right:Nn \l__chemnum_tmpa_seq { 1 } } + { \seq_put_right:Nn \l__chemnum_tmpa_seq {1} } { \seq_put_right:Nx \l__chemnum_tmpa_seq { \int_eval:n { ##1 - \l__chemnum_tmpb_int } } } - \int_set:Nn \l__chemnum_tmpb_int { ##1 } + \int_set:Nn \l__chemnum_tmpb_int {##1} } \int_zero:N \l__chemnum_tmpa_int \int_set:Nn \l__chemnum_tmpb_int { \seq_count:N #2 } @@ -1587,12 +1617,12 @@ \int_incr:N \l__chemnum_tmpa_int \int_compare:nTF { \l__chemnum_tmpa_int = 1 } { - \int_add:Nn \l__chemnum_tmpc_int { ##1 } - \seq_put_right:Nx #3 { \seq_item:Nn #1 { 1 } } + \int_add:Nn \l__chemnum_tmpc_int {##1} + \seq_put_right:Nx #3 { \seq_item:Nn #1 {1} } } { \int_compare:nTF { ##1 = 1 } - { \int_add:Nn \l__chemnum_tmpc_int { ##1 } } + { \int_add:Nn \l__chemnum_tmpc_int {##1} } { \int_compare:nTF { \l__chemnum_tmpc_int > 2 } { @@ -1677,15 +1707,15 @@ \cs_new_protected:Npn \chemnum_separate_main_sub:NNnn #1#2#3#4 { \cs_set:Npn \__chemnum_remove_sub:w ##1#3##2 \q_stop - { \exp_not:n { ##1 } } + { \exp_not:n {##1} } \cs_set:Npn \__chemnum_get_sub:w ##1#3##2#3##3 \q_stop { - \tl_if_blank:nF {##2} { \exp_not:n { ##2 } } + \tl_if_blank:nF {##2} { \exp_not:n {##2} } } \tl_set:Nx #1 { \__chemnum_remove_sub:w #4#3 \q_stop } \tl_set:Nx #2 { \__chemnum_get_sub:w #4#3#3 \q_stop } } -\cs_generate_variant:Nn \chemnum_separate_main_sub:NNnn { NNV } +\cs_generate_variant:Nn \chemnum_separate_main_sub:NNnn {NNV} % sorting and merging of the main label list: % #1: seq that holds the label list @@ -1700,7 +1730,7 @@ \chemnum_separate_main_sub:NNVn \l__chemnum_tmpa_tl % main part \l__chemnum_tmpb_tl % sub part - \l__chemnum_compound_separator_tl + \l_chemnum_compound_separator_tl {##1} \bool_if:NTF \l__chemnum_merge_list_bool { @@ -1763,10 +1793,10 @@ { \seq_put_right:Nx \l__chemnum_tmpb_seq { - \exp_not:n { ##1 } + \exp_not:n {##1} \tl_if_blank:VF \l__chemnum_tmpa_tl { - \exp_not:V \l__chemnum_compound_separator_tl + \exp_not:V \l_chemnum_compound_separator_tl { \exp_not:V \l__chemnum_tmpa_tl } } } @@ -1774,10 +1804,10 @@ { \seq_put_right:Nx \l__chemnum_tmpb_seq { - \exp_not:n { ##1 } + \exp_not:n {##1} \tl_if_blank:VF \l__chemnum_tmpa_tl { - \exp_not:V \l__chemnum_compound_separator_tl + \exp_not:V \l_chemnum_compound_separator_tl \exp_not:V \l__chemnum_tmpa_tl } } @@ -1813,7 +1843,7 @@ \chemnum_separate_main_sub:NNVn \l__chemnum_tmpa_tl % main part \l__chemnum_tmpb_tl % sub part - \l__chemnum_compound_separator_tl + \l_chemnum_compound_separator_tl {##1} % check if existing main label is present, otherwise add entry \seq_if_in:NVF \l__chemnum_tmpc_seq \l__chemnum_tmpa_tl @@ -1827,7 +1857,7 @@ \exp_not:V \l__chemnum_tmpa_tl \tl_if_blank:VF \l__chemnum_tmpc_tl { - \exp_not:V \l__chemnum_compound_separator_tl + \exp_not:V \l_chemnum_compound_separator_tl \exp_not:V \l__chemnum_tmpc_tl } } @@ -1853,20 +1883,20 @@ \cs_new_protected:Npn \__chemnum_set_psfrag_pos:nn #1#2 { - \tl_set:Nn \l__chemnum_psfrag_texpos_tl { #1 } - \tl_set:Nn \l__chemnum_psfrag_pspos_tl { #2 } + \tl_set:Nn \l__chemnum_psfrag_texpos_tl {#1} + \tl_set:Nn \l__chemnum_psfrag_pspos_tl {#2} } \cs_new_protected:Npn \__chemnum_set_psfrag_local_pos:nn #1#2 { - \tl_set:Nn \l__chemnum_psfrag_local_texpos_tl { #1 } - \tl_set:Nn \l__chemnum_psfrag_local_pspos_tl { #2 } + \tl_set:Nn \l__chemnum_psfrag_local_texpos_tl {#1} + \tl_set:Nn \l__chemnum_psfrag_local_pspos_tl {#2} } -\cs_generate_variant:Nn \__chemnum_set_psfrag_local_pos:nn { VV } +\cs_generate_variant:Nn \__chemnum_set_psfrag_local_pos:nn {VV} \cs_new_protected:Npn \__chemnum_psfrag:nnnn #1#2#3#4 - { \psfrag { #1 } [ #2 ] [ #3 ] { #4 } } -\cs_generate_variant:Nn \__chemnum_psfrag:nnnn { VVVx } + { \psfrag {#1} [#2] [#3] {#4} } +\cs_generate_variant:Nn \__chemnum_psfrag:nnnn {VVVx} % #1: boolean: if true only read label % #2: options @@ -1880,11 +1910,9 @@ } % set specific replacement options \keys_set_groups:nnn {chemnum} {replace} { replace=false, #2 } - \bool_if:nTF - { - \l__chemnum_compound_replace_auto_bool && - \l__chemnum_compound_replace_auto_this_bool - } + \bool_lazy_and:nnTF + { \l__chemnum_compound_replace_auto_bool } + { \l__chemnum_compound_replace_auto_this_bool } { \int_incr:N \l__chemnum_compound_replace_int \tl_set:Nx \l__chemnum_compound_replace_tl @@ -2038,25 +2066,7 @@ \NewDocumentCommand \setchemnum {m} { \chemnum_setup:n {#1} } -\tex_endinput:D - -% ---------------------------------------------------------------------------- -TODO: - -% ---------------------------------------------------------------------------- -new features in chemnum v1.0: -- \cmpdplain{} => reads label and writes it expandably without - formatting. It is not able to parse a list. Its sole purpose is usage in - pdfstrings (cf. \texorpdfstring{}{}). -- \refcmpd[]{} only reference a label, similar to \cmpdplain but - unexpandable and able to parse a list. The same as \cmpd+ -- \cmpdproperty, \subcmpdproperty -- \newcmpdcounterformat -- logging messages -- \cmpdshowdef, \cmpdshowref, \subcmpdshowdef, \subcmpdshowref -- some options are grouped `compound': only those can be set with \cmpd -- sub label list is sorted -- sub label list is compressed when option `compress=true' is used +\file_input_stop: % ---------------------------------------------------------------------------- HISTORY: @@ -2081,3 +2091,10 @@ HISTORY: - easier customization possibilities of the `show-keys' functions 2019/10/02 v1.2c - fix issues #5, #7 +2020/12/06 v1.3 - add \setcmpdproperty and \setcmpdlabel + - prefer lazy boolean evaluation + - fix issues #14, #15, #16 + - make some variables public + - \chemnum_if_subcompounds:nTF + - \chemnum_count_subcompounds:n + - \chemnum_get_subcompound:nn diff --git a/macros/latex/contrib/chemnum/chemnum_en.pdf b/macros/latex/contrib/chemnum/chemnum_en.pdf index 9254c029c5..5194431882 100644 Binary files a/macros/latex/contrib/chemnum/chemnum_en.pdf and b/macros/latex/contrib/chemnum/chemnum_en.pdf differ diff --git a/macros/latex/contrib/chemnum/chemnum_en.tex b/macros/latex/contrib/chemnum/chemnum_en.tex index f6da470d1d..7ff89e4b1d 100644 --- a/macros/latex/contrib/chemnum/chemnum_en.tex +++ b/macros/latex/contrib/chemnum/chemnum_en.tex @@ -12,15 +12,15 @@ % If you have any ideas, questions, suggestions or bugs to report, please % feel free to contact me. % -------------------------------------------------------------------------- -% Copyright 2011--2019 Clemens Niederberger +% Copyright 2011--2020 Clemens Niederberger % % This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 +% conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2005/12/01 or later. +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008/05/04 or later. % % This work has the LPPL maintenance status `maintained'. % @@ -32,7 +32,6 @@ % arara: pdflatex: { interaction: nonstopmode } % arara: pdflatex: { interaction: nonstopmode } \documentclass[load-preamble+,ngerman,british,american]{cnltx-doc} -\usepackage[utf8]{inputenc} \usepackage{chemnum} \setcnltx{ package = chemnum , @@ -102,32 +101,32 @@ \usepackage{acro,accsupp} \acsetup{ - short-format = \scshape , + format/short = \scshape , first-style = short } \DeclareAcronym{pdf}{ short = pdf , long = portable document format , pdfstring = PDF , - accsupp = PDF + short-acc = PDF } \DeclareAcronym{eps}{ short = eps , long = encapsulated postscript , pdfstring = EPS , - accsupp = EPS + short-acc = EPS } \DeclareAcronym{ps}{ short = ps , long = postscript , pdfstring = PS , - accsupp = PS + short-acc = PS } \DeclareAcronym{id}{ short = id , long = identification key , pdfstring = ID , - accsupp = ID + short-acc = ID } \begin{document} @@ -219,6 +218,12 @@ Most of the commands will be explained in a later section in more detail. \ac{id}} of a referencing subcompound label when the option \option{show-keys} is used. The command is described in section~\ref{sec:debugg-inform}. + \command{setcmpdproperty}[\marg{property}\marg{main \ac{id}}\marg{value}] + \sinceversion{1.3}Sets property \meta{property} of compound \meta{main + \ac{id}} to \meta{value}. + \command{setcmpdlabel}[\marg{main \ac{id}}\marg{value}] + \sinceversion{1.3}Sets property \code{counter-representation} of compound + \meta{main \ac{id}} to \meta{value}. \end{commands} \section{Numbering Compounds}\label{sec:numbering-compounds} diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md index 5e967d3607..d86ecb7d14 100644 --- a/macros/latex/contrib/l3kernel/CHANGELOG.md +++ b/macros/latex/contrib/l3kernel/CHANGELOG.md @@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2020-12-05] + +### Fixed +- Setting of line width in vertical coffins in LaTeX + ## [2020-12-03] ### Added @@ -805,7 +810,8 @@ this project uses date-based 'snapshot' version identifiers. - Step func­tions have been added for dim vari­ables, e.g. `\dim_step_in­line:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2020-12-03...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2020-12-05...HEAD +[2020-12-05]: https://github.com/latex3/latex3/compare/2020-12-03...2020-12-05 [2020-12-03]: https://github.com/latex3/latex3/compare/2020-10-27...2020-12-03 [2020-10-27]: https://github.com/latex3/latex3/compare/2020-10-05...2020-10-27 [2020-10-05]: https://github.com/latex3/latex3/compare/2020-09-24...2020-10-05 diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md index 5a0e2ee3a0..c3b1517a1f 100644 --- a/macros/latex/contrib/l3kernel/README.md +++ b/macros/latex/contrib/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2020-12-03 +Release 2020-12-05 Overview -------- diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx index fc49c0aa90..546810cbc4 100644 --- a/macros/latex/contrib/l3kernel/expl3.dtx +++ b/macros/latex/contrib/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> % -\def\ExplFileDate{2020-12-03}% +\def\ExplFileDate{2020-12-05}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf index 6667f5c234..d7a3484a80 100644 Binary files a/macros/latex/contrib/l3kernel/expl3.pdf and b/macros/latex/contrib/l3kernel/expl3.pdf differ diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf index a8ced65b24..789b72662d 100644 Binary files a/macros/latex/contrib/l3kernel/interface3.pdf and b/macros/latex/contrib/l3kernel/interface3.pdf differ diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex index cb7bb6e7eb..8c85a7a06b 100644 --- a/macros/latex/contrib/l3kernel/interface3.tex +++ b/macros/latex/contrib/l3kernel/interface3.tex @@ -54,7 +54,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2020-12-03} +\date{Released 2020-12-05} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx index 025f016eb8..dde690816e 100644 --- a/macros/latex/contrib/l3kernel/l3basics.dtx +++ b/macros/latex/contrib/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx index 2139dfae9f..0c498ab8f7 100644 --- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx +++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx index 3bd2f1de85..bd5a780143 100644 --- a/macros/latex/contrib/l3kernel/l3box.dtx +++ b/macros/latex/contrib/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx index f376f0e0a4..12791eb826 100644 --- a/macros/latex/contrib/l3kernel/l3candidates.dtx +++ b/macros/latex/contrib/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx index 2918f8cae3..d1b8622038 100644 --- a/macros/latex/contrib/l3kernel/l3cctab.dtx +++ b/macros/latex/contrib/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx index f45ff58a92..17ba7f8f70 100644 --- a/macros/latex/contrib/l3kernel/l3clist.dtx +++ b/macros/latex/contrib/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx index f4d6810d9a..220fe5564a 100644 --- a/macros/latex/contrib/l3kernel/l3coffins.dtx +++ b/macros/latex/contrib/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % @@ -715,10 +715,13 @@ } \cs_new_protected:Npx \@@_set_vertical_aux: { - \cs_if_exist:NT \linewidth - { \dim_set_eq:NN \linewidth \tex_hsize:D } - \cs_if_exist:NT \columnwidth - { \dim_set_eq:NN \columnwidth \tex_hsize:D } + \bool_lazy_and:nnT + { \cs_if_exist_p:N \fmtname } + { \str_if_eq_p:Vn \fmtname { LaTeX2e } } + { + \dim_set_eq:NN \exp_not:N \linewidth \tex_hsize:D + \dim_set_eq:NN \exp_not:N \columnwidth \tex_hsize:D + } } % \end{macrocode} % \end{macro} @@ -2235,35 +2238,40 @@ % Stores the settings used to print coffin data: this keeps things % flexible. % \begin{macrocode} -\tl_new:N \l_@@_display_font_tl -\cs_if_exist:NTF \AtBeginDocument - { \AtBeginDocument } - { \use:n } +\tl_new:N \l_@@_display_font_tl +\bool_lazy_and:nnT + { \cs_if_exist_p:N \fmtname } + { \str_if_eq_p:Vn \fmtname { LaTeX2e } } { - \__kernel_tl_set:Nx \l_@@_display_font_tl - { - \cs_if_exist:NT \sffamily { \exp_not:N \sffamily } - \cs_if_exist:NT \tiny { \exp_not:N \tiny } - } + \tl_set:Nn \l_@@_display_font_tl + { \sffamily \tiny } } % \end{macrocode} % \end{variable} % % \begin{macro}{\@@_color:n} % Calls \tn{color}, and otherwise does nothing if \tn{color} is not defined. +% As this is relatively rarely used, we have it self-define rather than delay +% using a hook. % \begin{macrocode} -\cs_if_exist:NTF \AtBeginDocument - { \AtBeginDocument } - { \use:n } +\cs_new_protected:Npn \@@_color:n #1 {#1} +\bool_lazy_and:nnT + { \cs_if_exist_p:N \fmtname } + { \str_if_eq_p:Vn \fmtname { LaTeX2e } } { - \cs_new_protected:Npx \@@_color:n #1 + \cs_gset_protected:Npn \@@_color:n { - \cs_if_exist:NTF \color_select:n - { \color_select:n {#1} } + \cs_gset_protected:Npx \@@_color:n { - \cs_if_exist:NT \color - { \exp_not:N \color {#1} } + \cs_if_exist:NTF \color_select:n + { \color_select:n } + { + \cs_if_exist:NTF \color + { \exp_not:N \color } + { \exp_not:N \use_none:n } + } } + \@@_color:n } } % \end{macrocode} @@ -2272,11 +2280,10 @@ % \begin{macro}{\@@_rule:nn} % Abstract out creation of rules here until there is a higher-level interface. % \begin{macrocode} -\cs_new_protected:Npx \@@_rule:nn #1#2 +\cs_new_protected:Npn \@@_rule:nn #1#2 { - \cs_if_exist:NTF \rule - { \exp_not:N \rule {#1} {#2} } - { \hbox:n { \tex_vrule:D width #1 height #2 \scan_stop: } } + \mode_leave_vertical: + \hbox:n { \tex_vrule:D width #1 height #2 \scan_stop: } } % \end{macrocode} % \end{macro} diff --git a/macros/latex/contrib/l3kernel/l3color-base.dtx b/macros/latex/contrib/l3kernel/l3color-base.dtx index fb04d8eee0..ea58a1c66a 100644 --- a/macros/latex/contrib/l3kernel/l3color-base.dtx +++ b/macros/latex/contrib/l3kernel/l3color-base.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx index d05991e37d..e5462490ff 100644 --- a/macros/latex/contrib/l3kernel/l3debug.dtx +++ b/macros/latex/contrib/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx index e60766e876..b1b5e4d6b8 100644 --- a/macros/latex/contrib/l3kernel/l3deprecation.dtx +++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx index 3eff299b53..54b7e5173b 100644 --- a/macros/latex/contrib/l3kernel/l3doc.dtx +++ b/macros/latex/contrib/l3kernel/l3doc.dtx @@ -79,7 +79,7 @@ and all files in that bundle must be distributed together. % % \title{The \cls{l3doc} class} % \author{\Team} -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % \maketitle % \tableofcontents % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx index 7dc8dbe355..26231b4421 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.dtx +++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf index 91cfd0b37b..c879f639b8 100644 Binary files a/macros/latex/contrib/l3kernel/l3docstrip.pdf and b/macros/latex/contrib/l3kernel/l3docstrip.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx index 544887627c..781282bb8b 100644 --- a/macros/latex/contrib/l3kernel/l3expan.dtx +++ b/macros/latex/contrib/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx index 132741ccda..f8a8f7b826 100644 --- a/macros/latex/contrib/l3kernel/l3file.dtx +++ b/macros/latex/contrib/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx index f2df290cb5..4fa9b64324 100644 --- a/macros/latex/contrib/l3kernel/l3flag.dtx +++ b/macros/latex/contrib/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx index b629576584..1f67225d66 100644 --- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx index ece95374b5..15817536ed 100644 --- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx index 634c5f6f11..5880b8027c 100644 --- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx index ccfaba6475..5ae60e0e21 100644 --- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx index 77bc35d84d..aca5f46a77 100644 --- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx index 337875215c..394670ee10 100644 --- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx index c2422c1a5e..98baf64f84 100644 --- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx index cc8e6520d3..ba40c5c237 100644 --- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx index 8ba199e5e4..5351c1b74c 100644 --- a/macros/latex/contrib/l3kernel/l3fp-random.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx index 5187a83a8e..0f2a7ed431 100644 --- a/macros/latex/contrib/l3kernel/l3fp-round.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx index 1bd6a3ad4f..6fe5bfaa66 100644 --- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx index d602e51b6e..fc01c269b0 100644 --- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx index 2f2dddd645..110814dae6 100644 --- a/macros/latex/contrib/l3kernel/l3fp.dtx +++ b/macros/latex/contrib/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx index 96a02296b8..bfd85177a4 100644 --- a/macros/latex/contrib/l3kernel/l3fparray.dtx +++ b/macros/latex/contrib/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx index 90ae8a493e..f104b1fab0 100644 --- a/macros/latex/contrib/l3kernel/l3int.dtx +++ b/macros/latex/contrib/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx index fc9f8bf2c4..44b19dc98e 100644 --- a/macros/latex/contrib/l3kernel/l3intarray.dtx +++ b/macros/latex/contrib/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx index 76778ce5c2..26ce3b2b3e 100644 --- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx +++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx index 495346fa20..ce230c5dcb 100644 --- a/macros/latex/contrib/l3kernel/l3keys.dtx +++ b/macros/latex/contrib/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx index f640d04cd1..8546206f6b 100644 --- a/macros/latex/contrib/l3kernel/l3legacy.dtx +++ b/macros/latex/contrib/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx index 891b7e0654..0fac493252 100644 --- a/macros/latex/contrib/l3kernel/l3luatex.dtx +++ b/macros/latex/contrib/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx index 96bc2ca447..f0e2887acd 100644 --- a/macros/latex/contrib/l3kernel/l3msg.dtx +++ b/macros/latex/contrib/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx index 5333720124..8ed4eee317 100644 --- a/macros/latex/contrib/l3kernel/l3names.dtx +++ b/macros/latex/contrib/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf index 5dc815800c..9b22c9193f 100644 Binary files a/macros/latex/contrib/l3kernel/l3news.pdf and b/macros/latex/contrib/l3kernel/l3news.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf index a3dc4f6315..9aad60de3a 100644 Binary files a/macros/latex/contrib/l3kernel/l3news01.pdf and b/macros/latex/contrib/l3kernel/l3news01.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf index f4fb786dd3..f1ba03fbba 100644 Binary files a/macros/latex/contrib/l3kernel/l3news02.pdf and b/macros/latex/contrib/l3kernel/l3news02.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf index a31cd89b97..5be8236458 100644 Binary files a/macros/latex/contrib/l3kernel/l3news03.pdf and b/macros/latex/contrib/l3kernel/l3news03.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf index 14a59aa796..6dbcd5e92b 100644 Binary files a/macros/latex/contrib/l3kernel/l3news04.pdf and b/macros/latex/contrib/l3kernel/l3news04.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf index 9ffb4f8ba7..2912bd564c 100644 Binary files a/macros/latex/contrib/l3kernel/l3news05.pdf and b/macros/latex/contrib/l3kernel/l3news05.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf index 7f3a5bfeff..6419971c5c 100644 Binary files a/macros/latex/contrib/l3kernel/l3news06.pdf and b/macros/latex/contrib/l3kernel/l3news06.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf index d610b0f7ec..91a7191f40 100644 Binary files a/macros/latex/contrib/l3kernel/l3news07.pdf and b/macros/latex/contrib/l3kernel/l3news07.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf index aff2eb1a9c..438ae75520 100644 Binary files a/macros/latex/contrib/l3kernel/l3news08.pdf and b/macros/latex/contrib/l3kernel/l3news08.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf index 325bef60cc..e849f2fc86 100644 Binary files a/macros/latex/contrib/l3kernel/l3news09.pdf and b/macros/latex/contrib/l3kernel/l3news09.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf index 07ce82bad6..df019a3cf8 100644 Binary files a/macros/latex/contrib/l3kernel/l3news10.pdf and b/macros/latex/contrib/l3kernel/l3news10.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf index 18f5740e94..f3ac9020bc 100644 Binary files a/macros/latex/contrib/l3kernel/l3news11.pdf and b/macros/latex/contrib/l3kernel/l3news11.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf index 8dc788a1e6..ad6722562d 100644 Binary files a/macros/latex/contrib/l3kernel/l3news12.pdf and b/macros/latex/contrib/l3kernel/l3news12.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf index 78022e7601..6fd136702f 100644 Binary files a/macros/latex/contrib/l3kernel/l3prefixes.pdf and b/macros/latex/contrib/l3kernel/l3prefixes.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx index b5b1e4246e..99b0db6f77 100644 --- a/macros/latex/contrib/l3kernel/l3prg.dtx +++ b/macros/latex/contrib/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx index 84b41be5a0..4a3c442b53 100644 --- a/macros/latex/contrib/l3kernel/l3prop.dtx +++ b/macros/latex/contrib/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx index 487393eb6a..8b4f9a6e79 100644 --- a/macros/latex/contrib/l3kernel/l3quark.dtx +++ b/macros/latex/contrib/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx index 5e64d73980..37ea18408f 100644 --- a/macros/latex/contrib/l3kernel/l3regex.dtx +++ b/macros/latex/contrib/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx index 28df8592d9..efe2b9ee17 100644 --- a/macros/latex/contrib/l3kernel/l3seq.dtx +++ b/macros/latex/contrib/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx index 6336081c2c..cadc7f9e80 100644 --- a/macros/latex/contrib/l3kernel/l3skip.dtx +++ b/macros/latex/contrib/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx index b47a9d73d6..5e371f7cc9 100644 --- a/macros/latex/contrib/l3kernel/l3sort.dtx +++ b/macros/latex/contrib/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx index e3ebadbcdd..a864b09730 100644 --- a/macros/latex/contrib/l3kernel/l3str-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx index 02083ae9b5..462cdbd4e3 100644 --- a/macros/latex/contrib/l3kernel/l3str.dtx +++ b/macros/latex/contrib/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf index 05a31a39b5..006f7cba25 100644 Binary files a/macros/latex/contrib/l3kernel/l3styleguide.pdf and b/macros/latex/contrib/l3kernel/l3styleguide.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex index 74449f2f6d..0657351a53 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.tex +++ b/macros/latex/contrib/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2020-12-03} +\date{Released 2020-12-05} \begin{document} diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf index 3ef526163b..1138e737af 100644 Binary files a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf and b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex index 3d627d053c..9a4448c9d0 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2020-12-03} +\date{Released 2020-12-05} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx index 8ba6b2f2e6..6fc8601790 100644 --- a/macros/latex/contrib/l3kernel/l3sys.dtx +++ b/macros/latex/contrib/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf index 3e89b677e0..7eed7ee8ad 100644 Binary files a/macros/latex/contrib/l3kernel/l3term-glossary.pdf and b/macros/latex/contrib/l3kernel/l3term-glossary.pdf differ diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex index 2a8aff656d..d81573829e 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.tex +++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2020-12-03} +\date{Released 2020-12-05} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx index b52d348867..447869ba3c 100644 --- a/macros/latex/contrib/l3kernel/l3text-case.dtx +++ b/macros/latex/contrib/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx index 4a4abbf256..cd48812646 100644 --- a/macros/latex/contrib/l3kernel/l3text-purify.dtx +++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx index 9ab4ae6ef5..f50c74ce65 100644 --- a/macros/latex/contrib/l3kernel/l3text.dtx +++ b/macros/latex/contrib/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx index cf61a8f702..ccc017bc34 100644 --- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx +++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx index f88abe05c7..678a3b0dcb 100644 --- a/macros/latex/contrib/l3kernel/l3tl.dtx +++ b/macros/latex/contrib/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx index 6105f3aab0..a5dc41d043 100644 --- a/macros/latex/contrib/l3kernel/l3token.dtx +++ b/macros/latex/contrib/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx index c69fa555ab..e9f4213f72 100644 --- a/macros/latex/contrib/l3kernel/l3unicode.dtx +++ b/macros/latex/contrib/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-12-03} +% \date{Released 2020-12-05} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf index 400ff72f7b..8ce7dc7aee 100644 Binary files a/macros/latex/contrib/l3kernel/source3.pdf and b/macros/latex/contrib/l3kernel/source3.pdf differ diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex index 07617c24cb..212e4b4e9d 100644 --- a/macros/latex/contrib/l3kernel/source3.tex +++ b/macros/latex/contrib/l3kernel/source3.tex @@ -53,7 +53,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2020-12-03} +\date{Released 2020-12-05} \pagenumbering{roman} \maketitle -- cgit v1.2.3