summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/apa7/apa7.dtx28
-rw-r--r--macros/latex/contrib/apa7/apa7.pdfbin528558 -> 529393 bytes
-rw-r--r--macros/latex/contrib/apa7/samples/longsample.pdfbin196742 -> 196742 bytes
-rw-r--r--macros/latex/contrib/apa7/samples/shortsample.pdfbin65283 -> 65283 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/Makefile34
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/README.md57
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/babel-japanese-sample.pdfbin0 -> 37938 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/babel-japanese.dtx (renamed from macros/latex/contrib/babel-contrib/japanese/japanese.dtx)435
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/babel-japanese.ins (renamed from macros/latex/contrib/babel-contrib/japanese/japanese.ins)12
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/babel-japanese.pdfbin0 -> 135234 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/japanese-sample.pdfbin44091 -> 0 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/japanese.pdfbin139680 -> 326377 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/japanese/japanese.tex847
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example1.pdfbin276039 -> 714029 bytes
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example1.tex93
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example2.pdfbin150046 -> 78368 bytes
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example2.tex83
-rw-r--r--macros/latex/contrib/bookcover/bookcover.dtx1333
-rw-r--r--macros/latex/contrib/bookcover/bookcover.pdfbin1395230 -> 1835270 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/background1.pdfbin26596 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/background2.pdfbin29647 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/background3.pdfbin31066 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/background4.pdfbin26275 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/background5.pdfbin29612 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bg.jpgbin157001 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bg1.pdfbin26999 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bg4.pdfbin26691 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-barcode.pdf (renamed from macros/latex/contrib/bookcover/figures/barcode.pdf)bin4957 -> 5129 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-bg.jpgbin0 -> 544539 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-cards.pdfbin0 -> 127926 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-dice.pdfbin0 -> 12051 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-einstein.pdf (renamed from macros/latex/contrib/bookcover/figures/cover.pdf)bin596834 -> 597503 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-newpart.pdf (renamed from macros/latex/contrib/bookcover/figures/newpart.pdf)bin68936 -> 68274 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-parts.pdfbin0 -> 84212 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-pi.pdfbin0 -> 12568 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-result.pdfbin0 -> 11552 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-ruler.pdfbin0 -> 11551 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-scheme.pdfbin0 -> 17727 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-sizes.pdf (renamed from macros/latex/contrib/bookcover/figures/sizes.pdf)bin40578 -> 42051 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-tikz.pdfbin0 -> 1532 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-tikzclip.pdfbin0 -> 1592 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/bookcover-trimming.pdfbin0 -> 67794 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/cards.pngbin15422 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/coverscheme.pdfbin44708 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/dice.pngbin71874 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/foreground1.pdfbin32476 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/foreground2.pdfbin32245 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/parts.pdfbin47500 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/result.pdfbin10206 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/ruler.pdfbin11976 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/summa.pdfbin72483 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/tikz.pdfbin1579 -> 0 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/tikzclip.pdfbin1604 -> 0 bytes
-rw-r--r--macros/latex/contrib/chemnum/README10
-rw-r--r--macros/latex/contrib/chemnum/chemnum.sty221
-rw-r--r--macros/latex/contrib/chemnum/chemnum_en.pdfbin588398 -> 592366 bytes
-rw-r--r--macros/latex/contrib/chemnum/chemnum_en.tex25
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3kernel/README.md2
-rw-r--r--macros/latex/contrib/l3kernel/expl3.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/expl3.pdfbin590134 -> 590451 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1571071 -> 1571397 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3box.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3candidates.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx59
-rw-r--r--macros/latex/contrib/l3kernel/l3color-base.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3debug.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3deprecation.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.pdfbin263035 -> 263355 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3int.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3keys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3news.pdfbin379340 -> 384459 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin113533 -> 113533 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin140873 -> 140873 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin138073 -> 143207 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin107122 -> 107122 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin105090 -> 105090 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin140905 -> 140905 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin119094 -> 119094 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin152504 -> 152504 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin235877 -> 241016 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin140388 -> 145548 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin159248 -> 164409 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin192502 -> 197648 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin76183 -> 76183 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin279773 -> 280100 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin228077 -> 228402 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.pdfbin217446 -> 217765 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/source3.pdfbin5985840 -> 5990154 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
140 files changed, 2287 insertions, 1080 deletions
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: %
% %
-%<class>\ProvidesClass{apa7}[2020/12/02 v2.06 APA formatting (7th edition)]
+%<class>\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
--- a/macros/latex/contrib/apa7/apa7.pdf
+++ b/macros/latex/contrib/apa7/apa7.pdf
Binary files differ
diff --git a/macros/latex/contrib/apa7/samples/longsample.pdf b/macros/latex/contrib/apa7/samples/longsample.pdf
index 3a0781313a..ac4d3d972f 100644
--- a/macros/latex/contrib/apa7/samples/longsample.pdf
+++ b/macros/latex/contrib/apa7/samples/longsample.pdf
Binary files differ
diff --git a/macros/latex/contrib/apa7/samples/shortsample.pdf b/macros/latex/contrib/apa7/samples/shortsample.pdf
index c1af2bc0e4..40cbc5cbca 100644
--- a/macros/latex/contrib/apa7/samples/shortsample.pdf
+++ b/macros/latex/contrib/apa7/samples/shortsample.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/japanese/babel-japanese-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese.dtx b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.dtx
index 8a7bf5558b..1f3a150b0d 100644
--- a/macros/latex/contrib/babel-contrib/japanese/japanese.dtx
+++ b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.dtx
@@ -4,30 +4,7 @@
% 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.
-%
-% ====================================================================
+% 2016--2020 by Japanese TeX Development Community
%
% \fi
%
@@ -41,12 +18,12 @@
% Tell the \LaTeX\ system who we are and write an entry on the
% transcript.
%<*dtx>
-\ProvidesFile{japanese.dtx}
+\ProvidesFile{babel-japanese.dtx}
%</dtx>
%<code>\ProvidesLanguage{japanese}
%<*!sample>
-%\ProvidesFile{japanese.dtx}
- [2019/04/03 v2.2 Japanese support for babel (texjporg)]
+%\ProvidesFile{babel-japanese.dtx}
+ [2020/12/06 v3.0 Japanese support for babel (texjporg)]
%</!sample>
%\fi
%
@@ -55,41 +32,111 @@
%<*filedriver>
\ifx\directlua\undefined
\documentclass{jltxdoc}
+ \usepackage{minijs}
\else
\documentclass{ltjltxdoc}
\fi
-\GetFileInfo{japanese.dtx}
+\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$}
-%\newcommand*\Lopt[1]{\textsf{#1}}
-%\newcommand*\file[1]{\texttt{#1}}
+\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{japanese.dtx}
+ \DocInput{babel-japanese.dtx}
\end{document}
%</filedriver>
%
%\fi
%
-% \title{Babel-Option {\sffamily japanese} {\Large version \fileversion}}
-% \author{\copyright\ 1999--2007 ING\\ 2016-- Japanese \TeX\ Development Community}
+% \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}
+% \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}パッケージは日本語による見出し語と日付を出力するためのマクロを
+% \file{japanese}パッケージは,
+% 日本語による見出し語と日付を出力するためのマクロを
% 定義しています。\babel のオプションの最後で日本語を指定します。
% \begin{quote}
% |\usepackage[...,japanese]{babel}|
% \end{quote}
%
-% バージョンv2.0以降では,p\TeX{}系(p\LaTeX{},up\LaTeX{})に加えて,
-% 新しいUnicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})もサポートしました。
+% バージョンv2.0以降では,\pTeX{}系(\pLaTeX{},\upLaTeX{})に加えて,
+% ネイティブUnicodeなエンジン(\XeTeX{},\LuaTeX{})もサポートしました。
+% また,バージョンv3.0以降では\pdfLaTeX{}でも動作します。
% このため,ファイルはUTF-8エンコーディングで保存するようにしてください。
%
% 2016年以降,本パッケージのメンテナンスは日本語\TeX{}開発コミュニティ
@@ -107,29 +154,31 @@
%
% \section{この文書について}
%
-% この文書ファイル(\jobname.pdf)自体はp\LaTeX{},up\LaTeX{},Lua\LaTeX{}で
-% 処理できるようになっています。
+% このソースコード説明書(\jobname.pdf)自体は
+% \pLaTeX{},\upLaTeX{},\LuaLaTeX{}で処理できるようになっています。
%
%
% \section{コード}
%
-% p\TeX{}系(p\LaTeX{},up\LaTeX{})でなく,かつUnicodeな\TeX{}(Xe\LaTeX{},
-% Lua\LaTeX{})でもない場合は,最初にエラーを出します。
+% [2020-11-27] エンジン検査は削除しました。
+% ^^A \pTeX{}系(\pLaTeX{},\upLaTeX{})でなく,
+% ^^A かつUnicodeな\TeX{}(\XeLaTeX{},
+% ^^A \LuaLaTeX{})でもない場合は,最初にエラーを出します。
%
% \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
+%\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|が定義されているか否かを判断し,定義されていれば
% 日本語用ハイフネーションパターンを読み込みます。
@@ -169,104 +218,46 @@
% \end{macrocode}
%
% \DescribeMacro{\captionsjapanese}
-% |\captionsjapanese|マクロはp\LaTeX{}の標準のクラスファイルで使われる
+% |\captionsjapanese|マクロは\pLaTeX{}の標準のクラスファイルで使われる
% 見出し語を日本語で出力します。\LaTeX{}の標準のクラスファイルでも動作
% しますが,元が英語用ですので,語順の関係上すべてを日本語化することは
-% できません(たとえば、Part 1→第1部とは変更することは不可能です)。
+% できません(たとえば,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
+\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
@@ -309,79 +300,32 @@
\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| トリックで同じ命令を定義します。
+% \pdfLaTeX{}や\XeLaTeX{}の場合は
+% |\bbl@jpn@Tate...| の2つは実際には使いません。
% \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
+\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| の内部で,元号を計算します。
@@ -413,22 +357,23 @@
}
% \end{macrocode}
%
-% (u)p\LaTeXe{}とLua\TeX-jaで組方向判定方法が異なるため,|\catcode| のトリックで
-% 別々のコードを使い分けます。Xe\LaTeX{}の場合,およびLua\LaTeX{}でLua\TeX-ja不使用の
-% 場合は,縦組をサポートしません。
+% (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\XeTeXversion\@undefined % ptex/uptex
- \catcode`\L=14\relax
- \catcode`\P=9\relax
- \catcode`\X=9\relax
- \else % xetex
+ \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
@@ -448,21 +393,14 @@
% [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
+ \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
-P \fi
X \else
\ifbbl@jpn@Seireki
\bbl@jpn@SeirekiToday
@@ -470,7 +408,7 @@ X \else
\bbl@jpn@WarekiToday
\fi
X \fi
- }%
+ }}%
}
% \end{macrocode}
%
@@ -515,7 +453,11 @@ X \fi
% \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{}
@@ -523,9 +465,30 @@ X \fi
% \begin{macrocode}
%<*sample>
\ifx\directlua\undefined
- \documentclass{jbook}
+ \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
- \documentclass{ltjbook}
+ % LuaLaTeX: OK
+ \documentclass{ltjbook}
\fi
\usepackage[german,english,japanese]{babel}
\makeatletter
@@ -554,7 +517,8 @@ japaneseパッケージは日本語による見出し語と日付を出力する
\begin{itemize}
\se
-\item ここで英語(\texttt{english})に変更します。(languageの値は\the\language)
+\item ここで英語(\texttt{english})に変更します。
+(languageの値は\the\language)
\TEXT
@@ -562,10 +526,12 @@ japaneseパッケージは日本語による見出し語と日付を出力する
ここはドイツ語? \iflanguage{german}{\yes}{\no}\par
ここは日本語? \iflanguage{japanese}{\yes}{\no}
-※ \verb:\adddialect\l@japanese0: と設定しているため,日本語?も「はい」となります。
+※ \verb:\adddialect\l@japanese0: と設定しているため,
+日本語?も「はい」となります。
\sg
-\item ここでドイツ語(\texttt{german})に変更します。(languageの値は\the\language)
+\item ここでドイツ語(\texttt{german})に変更します。
+(languageの値は\the\language)
\TEXT
@@ -574,12 +540,15 @@ japaneseパッケージは日本語による見出し語と日付を出力する
ここは日本語? \iflanguage{japanese}{\yes}{\no}
※ ハイフネーションがドイツ語―旧正書法―に切り替わっている点に注目。
-なお,新正書法(\texttt{ngerman})では\texttt{Leis-tungs-f\"a-hig-keit}のように分綴します。
+なお,新正書法(\texttt{ngerman})では
+\texttt{Leis-tungs-f\"a-hig-keit}のように分綴します。
\sj
-\item ここで日本語(\texttt{japanese})に変更します。(languageの値は\the\language)
+\item ここで日本語(\texttt{japanese})に変更します。
+(languageの値は\the\language)
\tbcaption
-\item \verb:\和暦: は日付の表示をデフォルトの西暦「\today 」から和暦「\和暦\today 」に変更します。
+\item \verb:\和暦: は日付の表示をデフォルトの西暦「\today 」から
+和暦「\和暦\today 」に変更します。
\end{itemize}
\end{document}
%</sample>
diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese.ins b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.ins
index 1e2d13cd0b..1c1489815e 100644
--- a/macros/latex/contrib/babel-contrib/japanese/japanese.ins
+++ b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.ins
@@ -5,11 +5,11 @@
%%
%%
-\def\batchfile{japanese.ins}
+\def\batchfile{babel-japanese.ins}
\input docstrip.tex
\expandafter\ifx\csname declarepreamble\endcsname\relax
- \Msg{==> This file requires docstrip version 2.4}
+ \Msg{==> This file requires docstrip version 2.4 or later}
\Msg{}\expandafter\endinput\fi
\keepsilent
@@ -20,7 +20,7 @@ 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
+ 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.
@@ -40,9 +40,11 @@ or, GitHub repository is also available:
\endpreamble
\Msg{*** Generating files ***}
-\generateFile{japanese.ldf}{f}{\from{japanese.dtx}{code}}
+\generateFile{japanese.ldf}{f}
+ {\from{babel-japanese.dtx}{code}}
\usepreamble\emptypreamble
-\generateFile{japanese-sample.tex}{f}{\from{japanese.dtx}{sample}}
+\generateFile{babel-japanese-sample.tex}{f}
+ {\from{babel-japanese.dtx}{sample}}
\endbatchfile
%%
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
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/japanese/babel-japanese.pdf
Binary files 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
--- a/macros/latex/contrib/babel-contrib/japanese/japanese-sample.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/japanese/japanese.pdf b/macros/latex/contrib/babel-contrib/japanese/japanese.pdf
index 65f89c5396..7d64e49e0b 100644
--- a/macros/latex/contrib/babel-contrib/japanese/japanese.pdf
+++ b/macros/latex/contrib/babel-contrib/japanese/japanese.pdf
Binary files 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
--- a/macros/latex/contrib/bookcover/bookcover-example1.pdf
+++ b/macros/latex/contrib/bookcover/bookcover-example1.pdf
Binary files 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
--- a/macros/latex/contrib/bookcover/bookcover-example2.pdf
+++ b/macros/latex/contrib/bookcover/bookcover-example2.pdf
Binary files 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}
%</driver>
%<class>
%<class>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-%<class>\ProvidesClass{bookcover}[2020/11/16 v2.5 class for book covers and dust jackets]
+%<class>\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[!<options>!]{bookcover}
% \end{commandlst}
%
+% \medskip The list of \meta{options}:
+%
+% \begin{compactdesc}
+% \item[]\commandinline|coverheight=!<length>!| Cover height (default \texttt{coverheight=240mm}).
+% \item[]\commandinline|coverwidth=!<length>!| Front/back cover width (default \texttt{coverwidth=170mm}).
+% \item[]\commandinline|spinewidth=!<length>!| Spine width (default \texttt{spinewidth=5mm}).
+% \item[]\commandinline|flapwidth=!<length>!| Flap width (default \texttt{flapwidth=0mm}).
+% \item[]\commandinline|wrapwidth=!<length>!| Wrap width (default \texttt{wrapwidth=0mm}). It only has an effect if the flap width is positive.
+% \item[]\commandinline|bleedwidth=!<length>!| Bleed width (default \texttt{bleedwidth=5mm}).
+% \item[]\commandinline|marklength=!<length>!| 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=!<length>!| & \multirow{6}*{\hspace{-1mm}$\left.\hbox{\rule[-11mm]{0pt}{22mm}}\right\}$ See the next figure}& \texttt{170mm}\\
-% \commandinline|coverheight=!<length>!| & & \texttt{240mm}\\
-% \commandinline|spinewidth=!<length>!| & & \texttt{5mm}\\
-% \commandinline|flapwidth=!<length>!| & & \texttt{0mm}\\
-% \commandinline|marklength=!<length>!| & & \texttt{10mm}\\
-% \commandinline|bleedwidth=!<length>!| & & \texttt{5mm}\\
-% \commandinline|markthick=!<length>!| & Thickness of marks & \texttt{0.4pt}\\
-% \commandinline|markcolor=!<color>!| & 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=!<length>!| Thickness of marks (default \texttt{markthick=0.4pt}).
+% \item[]\commandinline|markcolor=!<color name>!| Color of marks (default \texttt{markcolor=red}).
+% \item[]\commandinline|pagecolor=!<color name>!| 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 name>!| 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{!<component type>!}{!<part>!}{!<content>!}
+% \bookcovercomponent{!<component type>!}{!<part>!}[!<left>!,!<bottom>!,!<right>!,!<top>!]{!<content>!}
% \end{commandlst}
-% or
+% or its equivalent
% \begin{commandlst}
-% \begin{bookcoverelement}{!<component type>!}{!<part>!}
+% \begin{bookcoverelement}{!<component type>!}{!<part>!}[!<left>!,!<bottom>!,!<right>!,!<top>!]
% !<content>!
% \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{!<geometry parameteres>!}
+% \bookcovertrimmedpart{!<trimmed part>!}[!<left>!,!<bottom>!,!<right>!,!<top>!]
% \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{!<options>!}
+% \end{commandlst}
+% The \meta{options} can be as follows: \commandinline|markthick=!<length>!|, \commandinline|markcolor=!<color name>!|, \commandinline|pagecolor=!<color name>!|, \commandinline|trimmed|, \commandinline|trimmed=false|, \commandinline|trimmingcolor=!<color name>!| (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{!<geometry parameteres>!}
+% \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{!<color name>!} (See it in the \texttt{xcolor} package.)\\
-% \indent\commandinline{color=!<color name>!} (It is equivalent to the previous one.)\\
-% \indent\commandinline{top color=!<color name>!}\\
-% \indent\commandinline{bottom color=!<color name>!}\\
-% \indent\commandinline{middle color=!<color name>!}\\
-% \indent\commandinline{inner color=!<color name>!}\\
-% \indent\commandinline{outer color=!<color name>!}\\
-% \indent\commandinline{ball color=!<color name>!}\\
-% \indent\commandinline{shading angle=!<degree>!} 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{!<color name>!} (See it in the \texttt{xcolor} package.)
+% \item[]\commandinline{color=!<color name>!} (It is equivalent to the previous one.)
+% \item[]\commandinline{top color=!<color name>!}
+% \item[]\commandinline{bottom color=!<color name>!}
+% \item[]\commandinline{middle color=!<color name>!}
+% \item[]\commandinline{inner color=!<color name>!}
+% \item[]\commandinline{outer color=!<color name>!}
+% \item[]\commandinline{ball color=!<color name>!}
+% \item[]\commandinline{shading angle=!<degree>!} It rotates the shading by the given angle.
+% \item[]\commandinline{opacity=!<value>!} 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[!<unit>!]{!<coordsys>!}{!<shift x>!}{!<shift y>!}{!<color>!}
+% !<unit>!,!<origin>!,!<color name>!
% \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{!<new component type name>!}{!<formatting>!}
% \renewbookcovercomponenttype{!<defined component type name>!}{!<formatting>!}
% \newnamebookcovercomponenttype{!<new component type name>!}{!<defined component type name>!}
+% \letnamebookcovercomponenttype{!<new component type name>!}{!<defined component type name>!}
% \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{!<new part name>!}{!<setting>!}
% \renewbookcoverpart{!<defined part name>!}{!<setting>!}
% \newnamebookcoverpart{!<new part name>!}{!<defined part name>!}
+% \letnamebookcoverpart{!<new part name>!}{!<defined part name>!}
% \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{!<coord x>!}
% \setpartposy{!<coord y>!}
@@ -445,20 +521,27 @@
% \settrimmedpart{!<width minus>!}{!<height minus>!}{!<shift x>!}{!<shift y>!}
% \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
--- a/macros/latex/contrib/bookcover/bookcover.pdf
+++ b/macros/latex/contrib/bookcover/bookcover.pdf
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/background1.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/background2.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/background3.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/background4.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/background5.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/bg.jpg
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/bg1.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/bg4.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/bookcover/figures/barcode.pdf b/macros/latex/contrib/bookcover/figures/bookcover-barcode.pdf
index f06b38799f..3da147b6ff 100644
--- a/macros/latex/contrib/bookcover/figures/barcode.pdf
+++ b/macros/latex/contrib/bookcover/figures/bookcover-barcode.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-bg.jpg
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-cards.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-dice.pdf
Binary files differ
diff --git a/macros/latex/contrib/bookcover/figures/cover.pdf b/macros/latex/contrib/bookcover/figures/bookcover-einstein.pdf
index 0859f68d55..592f7d5641 100644
--- a/macros/latex/contrib/bookcover/figures/cover.pdf
+++ b/macros/latex/contrib/bookcover/figures/bookcover-einstein.pdf
Binary files differ
diff --git a/macros/latex/contrib/bookcover/figures/newpart.pdf b/macros/latex/contrib/bookcover/figures/bookcover-newpart.pdf
index d130e7f275..572224053d 100644
--- a/macros/latex/contrib/bookcover/figures/newpart.pdf
+++ b/macros/latex/contrib/bookcover/figures/bookcover-newpart.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-parts.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-pi.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-result.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-ruler.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-scheme.pdf
Binary files differ
diff --git a/macros/latex/contrib/bookcover/figures/sizes.pdf b/macros/latex/contrib/bookcover/figures/bookcover-sizes.pdf
index f27a96ff24..2c81249975 100644
--- a/macros/latex/contrib/bookcover/figures/sizes.pdf
+++ b/macros/latex/contrib/bookcover/figures/bookcover-sizes.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-tikz.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-tikzclip.pdf
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/bookcover/figures/bookcover-trimming.pdf
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/cards.png
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/coverscheme.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/dice.png
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/foreground1.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/foreground2.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/parts.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/result.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/ruler.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/summa.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/tikz.pdf
+++ /dev/null
Binary files 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
--- a/macros/latex/contrib/bookcover/figures/tikzclip.pdf
+++ /dev/null
Binary files 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{<id>} => 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{<tex>}{<pdfstring>}).
-- \refcmpd[<options>]{<id>} 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
--- a/macros/latex/contrib/chemnum/chemnum_en.pdf
+++ b/macros/latex/contrib/chemnum/chemnum_en.pdf
Binary files 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>
%</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
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/contrib/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf
index a8ced65b24..789b72662d 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/contrib/l3kernel/interface3.pdf
Binary files 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
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf
Binary files 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
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/contrib/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf
index a3dc4f6315..9aad60de3a 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/contrib/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf
index f4fb786dd3..f1ba03fbba 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/contrib/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf
index a31cd89b97..5be8236458 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/contrib/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf
index 14a59aa796..6dbcd5e92b 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/contrib/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf
index 9ffb4f8ba7..2912bd564c 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/contrib/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf
index 7f3a5bfeff..6419971c5c 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/contrib/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf
index d610b0f7ec..91a7191f40 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/contrib/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf
index aff2eb1a9c..438ae75520 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/contrib/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf
index 325bef60cc..e849f2fc86 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/contrib/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf
index 07ce82bad6..df019a3cf8 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/contrib/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf
index 18f5740e94..f3ac9020bc 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/contrib/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf
index 8dc788a1e6..ad6722562d 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/contrib/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index 78022e7601..6fd136702f 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf
Binary files 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
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf
Binary files 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
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
Binary files 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
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
Binary files 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
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/contrib/l3kernel/source3.pdf
Binary files 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