summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-01-02 03:04:02 +0000
committerNorbert Preining <norbert@preining.info>2021-01-02 03:04:02 +0000
commit0b2ae1a0d39f8b9035311e4fd7745686b73c8393 (patch)
treecfcb445933267c31d34e657715db12be7164b18f /macros/latex/contrib
parent6c6a334f0aa3b95572afe30fa2d17e634c7019ce (diff)
CTAN sync 202101020304
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md10
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/README.md5
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdfbin573680 -> 822652 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex157
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def12
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx18
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-common.cbx99
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx72
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx78
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note-common.cbx49
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx78
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx72
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx72
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx72
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx72
-rw-r--r--macros/latex/contrib/calxxxx-yyyy/README14
-rw-r--r--macros/latex/contrib/calxxxx-yyyy/cal2021-2038_DE.pdf (renamed from macros/latex/contrib/calxxxx-yyyy/cal2020-2037_DE.pdf)bin109961 -> 109792 bytes
-rw-r--r--macros/latex/contrib/calxxxx-yyyy/cal2021-2038_DK.pdf (renamed from macros/latex/contrib/calxxxx-yyyy/cal2020-2037_DK.pdf)bin109988 -> 110003 bytes
-rw-r--r--macros/latex/contrib/calxxxx-yyyy/cal2021-2038_EN.pdf (renamed from macros/latex/contrib/calxxxx-yyyy/cal2020-2037_EN.pdf)bin108225 -> 108145 bytes
-rw-r--r--macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.pdfbin107625 -> 107696 bytes
-rw-r--r--macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.tex8
-rw-r--r--macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy.tex12
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdfbin429184 -> 433072 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex91
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.dtx1013
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdfbin1078185 -> 1080998 bytes
89 files changed, 996 insertions, 1136 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md b/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md
index 17f0f1fb52..0e216a5095 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md
@@ -1,5 +1,15 @@
# Changelog
+## Version 0.10 (2021-01-01)
+
+See <https://github.com/moewew/biblatex-ext/compare/v0.9...v0.10>
+
+### Changed
+- Updated for `biblatex` v3.16 (2020/12/31).
+ This is now the recommended `biblatex` version.
+- Separate out common code for verbose citation styles.
+- Warn about `introcite=plain` with verbose citation styles.
+
## Version 0.9 (2020-08-21)
See <https://github.com/moewew/biblatex-ext/compare/v0.8g...v0.9>
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/README.md b/macros/latex/contrib/biblatex-contrib/biblatex-ext/README.md
index 589aca46bd..17c9cb55e8 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/README.md
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/README.md
@@ -60,6 +60,7 @@ files
- `ext-numeric-comp.bbx` and `ext-numeric-comp.cbx`
- `ext-numeric-verb.bbx` and `ext-numeric-verb.cbx`
- The `verbose` style family
+ - `ext-verbose-common.cbx` and `ext-verbose-note-common.cbx`
- `ext-verbose.bbx` and `ext-verbose.cbx`
- `ext-verbose-ibid.bbx` and `ext-verbose-ibid.cbx`
- `ext-verbose-note.bbx` and `ext-verbose-note.cbx`
@@ -83,7 +84,7 @@ installation instructions.
## Licence
-Copyright 2017-2020 Moritz Wemheuer
+Copyright 2017-2021 Moritz Wemheuer
This work consists of the `.bbx`, `.cbx`, `.def`, `.sty` and `.lua`
files mentioned above.
@@ -99,7 +100,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status 'maintained'.
The Current Maintainer of the work is Moritz Wemheuer
- <mwemheu@gmail.com>.
+ <mwemheu@posteo.de>.
The files `README.md`, `CHANGES.md`, `biblatex-ext.pdf`,
`biblatex-ext.tex` and `biblatex-ext-examples.bib` in their entirety
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty
index f1c430a7f6..ffbcadda9e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oa-doiapi}
- [2020/08/21 v0.9 Obtain open access information from DOI via
+ [2021/01/01 v0.10 Obtain open access information from DOI via
unpaywall.org and doi.org (MW)]
\RequirePackage{etoolbox}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty
index c7a03af74a..845876c942 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oa}
- [2020/08/21 v0.9 mark open access in biblatex bibliographies (MW)]
+ [2021/01/01 v0.10 mark open access in biblatex bibliographies (MW)]
\RequirePackage{etoolbox}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty
index 0ba5e13bcb..84f507283c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty
@@ -1,7 +1,7 @@
\RequirePackage{expl3}
\ProvidesExplPackage {biblatex-ext-oasymb-l3draw}
- {2020/08/21} {0.9}
+ {2021/01/01} {0.10}
{open access symbols with l3draw (MW)}
\RequirePackage{xparse}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty
index 72b3f60cc4..1a40cafc4b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oasymb-pict2e}
- [2020/08/21 v0.9 open access symbols with pict2e (MW)]
+ [2021/01/01 v0.10 open access symbols with pict2e (MW)]
\RequirePackage{etoolbox}
\RequirePackage{kvoptions}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty
index 9c1b30d765..0296a9d300 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oasymb-tikz}
- [2020/08/21 v0.9 open access symbols with TikZ (MW)]
+ [2021/01/01 v0.10 open access symbols with TikZ (MW)]
\RequirePackage{etoolbox}
\RequirePackage{kvoptions}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty
index c125dce159..5cd09240d2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-tabular}
- [2020/08/21 v0.9 tabular bibliographies for biblatex (MW)]
+ [2021/01/01 v0.10 tabular bibliographies for biblatex (MW)]
% Code based on Audrey's
% (https://tex.stackexchange.com/users/4483/audrey)
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf
index f59b6b6815..d827f6e77c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex
index 0390a822ae..c0603c4856 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex
@@ -1,4 +1,4 @@
-\documentclass[DIV=9]{scrartcl}
+\documentclass[11pt,a4paper]{article}
\usepackage{iftex}
\iftutex
\usepackage{fontspec}
@@ -24,7 +24,12 @@
\usepackage[scaled=0.78]{beramono}
\usepackage{bm}
\fi
+\usepackage[%verbose,
+ left=3.5cm, right=3.5cm,
+ marginparwidth=2.5cm
+]{geometry}
\usepackage{microtype}
+\usepackage{ragged2e}
\usepackage{hyphenat}
\usepackage{booktabs}
\usepackage{multicol}
@@ -165,6 +170,7 @@
\newtcolorbox{bibexample}[1][]{enhanced,
colframe=spot!75!black, colback=spot!5!white,
+ before title=\raggedright,
#1}
\newtcblisting{biblatexcode}{enhanced,
colframe=black!75!white, colback=black!5!white,
@@ -270,9 +276,27 @@
\end{multicols}
\endgroup}
-\BeforeStartingTOC[toc]{\begin{multicols}{2}}
-\AfterStartingTOC[toc]{\end{multicols}}
-\BeforeTOCHead[toc]{\pdfbookmark[1]{\contentsname}{contents}}
+
+\renewcommand\tableofcontents{%
+ \section*{\contentsname
+ \@mkboth{%
+ \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
+ \pdfbookmark[1]{\contentsname}{contents}%
+ \@starttoc{toc}%
+ }
+\def\@starttoc#1{%
+ \begingroup
+ \begin{multicols}{2}
+ \makeatletter
+ \RaggedRight
+ \@input{\jobname.#1}%
+ \if@filesw
+ \expandafter\newwrite\csname tf@#1\endcsname
+ \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
+ \fi
+ \end{multicols}
+ \@nobreakfalse
+ \endgroup}
\newrobustcmd*{\tex}{\TeX}
\newrobustcmd*{\etex}{\mbox{e-TeX}}
@@ -305,9 +329,28 @@
\let\accentcolour\spotcolor
-\addtokomafont{section}{\accentcolour}
-\addtokomafont{subsection}{\accentcolour}
-\addtokomafont{subsubsection}{\accentcolour}
+\newcommand*{\allsectionsfont}{\sffamily\accentcolour}
+
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries\allsectionsfont}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries\allsectionsfont}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\allsectionsfont}}
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries\allsectionsfont}}
+\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries\allsectionsfont}}
\renewcommand*{\verbatimfont}{\ttfamily}
\renewcommand*{\displayverbfont}{\ttfamily}
@@ -434,7 +477,7 @@
}
% By Stefan Kottwitz, see https://tex.stackexchange.com/a/799/35864
-\newcommand*\justify{%
+\newcommand*\ttjustify{%
\fontdimen2\font=0.4em% interword space
\fontdimen3\font=0.2em% interword stretch
\fontdimen4\font=0.1em% interword shrink
@@ -443,9 +486,9 @@
}
% no \mbox here, we may have to break things
-\renewrobustcmd*{\sty}[1]{{\verbatimfont\justify #1}}
-\newrobustcmd*{\blxstyle}[1]{{\verbatimfont\justify #1}}
-\newrobustcmd*{\filename}[1]{{\verbatimfont\justify #1}}
+\renewrobustcmd*{\sty}[1]{{\verbatimfont\ttjustify #1}}
+\newrobustcmd*{\blxstyle}[1]{{\verbatimfont\ttjustify #1}}
+\newrobustcmd*{\filename}[1]{{\verbatimfont\ttjustify #1}}
\renewrobustcmd*{\bibfield}[1]{\sty{#1}}
\renewrobustcmd*{\opt}[1]{\sty{#1}}
\newrobustcmd*{\optval}[1]{\sty{#1}}
@@ -455,7 +498,7 @@
\let\cs\cmd
\newrobustcmd*{\bibfieldformat}[1]{{\bibfieldformatfont #1}}
-\newrobustcmd*{\gencode}[1]{{\verbatimfont\justify #1}}
+\newrobustcmd*{\gencode}[1]{{\verbatimfont\ttjustify #1}}
\def\exltd@buildhypercmd@i#1{%
\expandafter\newrobustcmd\expandafter*\expandafter
@@ -476,7 +519,7 @@
\newcommand*{\ctan}{\mkbibacro{CTAN}}
\newcommand*{\gitbaseurl}{https://github.com/moewew/biblatex-ext}
-\newcommand*{\extblxversion}{0.9}
+\newcommand*{\extblxversion}{0.10}
\newcommand*{\biber}{Biber}
\newcommand*{\gitissuelink}[1]{%
\href{\gitbaseurl/issues/#1}{issue \##1 on github}}
@@ -547,9 +590,9 @@
subtitle = {Extensions for the \sty{biblatex} standard styles},
url = {\gitbaseurl},
author = {Moritz Wemheuer},
- link = {mwemheu@gmail.com},%
+ link = {mwemheu@posteo.de},%
revision = {\extblxversion},
- date = {\DTMDate{2020-08-21}},
+ date = {\DTMDate{2021-01-01}},
}
\hypersetup{%
@@ -714,7 +757,7 @@ under the terms of the \lppl, version 1.3c%
\fnurl{https://www.latex-project.org/lppl/lppl-1-3c.txt}
or (at your option) any later version%
\fnurl{https://www.latex-project.org/lppl.txt}.
-This bundle is maintained by Moritz Wemheuer (\textcopyright 2017--2020).
+This bundle is maintained by Moritz Wemheuer (\textcopyright 2017--2021).
\subsection{Feedback}\label{sec:feedback}
@@ -1067,7 +1110,7 @@ Sigfridsson and Ryde \quad Knuth 1984, 1986
\styleitem{ext-authoryear-tecomp}
A compact author-year citation style that combines
-\blxstyle{ext-authoryear-tcomp} and \blxstyle{ext-authoryear-ecomp}.
+\blxstyle{ext-authoryear-tcomp} and \blxstyle{ext-author\-year-ecomp}.
\begin{bibexample}
\begin{lstlisting}[style=extblxstylelatex]
\usepackage[style=ext-authoryear-tecomp]{biblatex}
@@ -1815,6 +1858,9 @@ Field formats can be modified with \cmd{DeclareFieldFormat}.
\exampleprintbib{sigfridsson}
\end{bibexample}
+A customisation example for \bibfield{issuedate} can be found in the
+\hypercmd{volnumdatedelim} description.
+
\bibfieldformatitem{volumeof} The format for the \bibfield{volume} of a
\bibfield{maintitle} used when \hyperkvopt{maintitleaftertitle}{true}.
\begin{bibexample}
@@ -2174,6 +2220,7 @@ The default is a comma followed by a space.
\begin{lstlisting}[style=extblxstylelatex]
\renewcommand*{\pubdatedelim}{\addspace}
\end{lstlisting}
+\tcblower
\renewcommand*{\pubdatedelim}{\addspace}
\csuse{bbx@opt@mergedate@false}%
\exampleprintbib{knuth:ct:a}
@@ -2296,9 +2343,9 @@ or \enquote{\prm{opening delimiter}\allowbreak text\allowbreak
is introduced.
It cannot be guaranteed that the opening and closing delimiters are executed
at the same level of grouping, let alone in the same group.
-As mentioned above, this approach is not suitable to wrap the citation up in a
-wrapper command, i.e.\ to pass the entire output of the citation command as
-argument to a macro.
+As mentioned above, citation delimiters cannot be used to introduce a
+wrapper command for the citation output, i.e.\ to pass the entire output of the
+citation command as argument to a macro.
Instead of hard-coded \gencode{(}, \gencode{)}, \gencode{[} and \gencode{]}
their \sty{biblatex} counterparts \cmd{bibopenparen}, \cmd{bibcloseparen},
@@ -2584,6 +2631,9 @@ By default the macro is defined and used as follows.
\usebibmacro{pubinstorg+location+date}{|organization|}}
\end{biblatexcode}
+An example use of the \bibmacro{pubinstorg+location+date} is shown
+in the descriotion of~\hypercmd{publocdelim}.
+
\keyitem[type+number]
A bibliography macro to print the \bibfield{type} and \bibfield{number} fields.
\end{keymarglistbook}
@@ -2714,8 +2764,46 @@ The package also defines two helpful bibliography macros.
\keyitem[tabular:omitsortname] Suppresses the labelname/sortname in the current
group.
\end{keymarglistbook}
+\begin{remindbox}
+ These two bibliography macros have a fairly basic definition that should make
+ them compatible with most styles (not only \sty{biblatex-ext}
+ or standard styles).
+ Consequently, they may not be able to support all advanced features of
+ the style you are using.
+
+ If you are missing anything, you will have to write versions of those macros
+ that are tailored to the specific style you are loading and the features you
+ want to use.
+\end{remindbox}
+
+For the common case of two-column tabular bibliographies there is a thin
+wrapper around \hypercmd{defbibtabular} that might turn out a bit easier to use.
+\begin{ltxsyntax}
+ \cmditem{defbibtabulartwocolumn}{name}{begin code}{end code}%
+ {anchor code}{driver precode}
+
+ This defines a two-column tabular bibliography environment with \prm{name},
+ \prm{begin code} and \prm{end code} as for \hypercmd{defbibtabular}.
+
+ The first column is an \hypercmd{anchorlang} column that executes
+ \prm{anchor code}, the second column executes a pre-code and
+ the bibliography driver.
+
+\begin{biblatexcode}
+\defbibtabulartwocolumn{(*@\prm{name}@*)}
+ {(*@\prm{begin code}@*)}{(*@\prm{end code}@*)}
+ {(*@\prm{anchor code}@*)}{(*@\prm{driver precode}@*)}
+\end{biblatexcode}
+is equivalent to
+\begin{biblatexcode}
+\defbibtabular{(*@\prm{name}@*)}
+ {(*@\prm{begin code}@*)}{(*@\prm{end code}@*)}
+ {\anchorlang{(*@\prm{anchor code}@*)} & \driver{(*@\prm{driver precode}@*)} \\}
+\end{biblatexcode}
+
+Usage examples are shown on the next page
-A simple example of a useful tabular bibliography setup is
+\clearpage
\begin{bibexample}[breakable,
title={Example document with tabular bibliography}]
\begin{lstlisting}[style=extblxstylelatex]
@@ -2798,30 +2886,6 @@ to avoid duplication.
The anchor is set to the first column, so that a viewer jumps there
if a link to the entry is followed.
-For the common case of two-column tabular bibliographies there is a thin
-wrapper around \hypercmd{defbibtabular} that might turn out a bit easier to use.
-\begin{ltxsyntax}
- \cmditem{defbibtabulartwocolumn}{name}{begin code}{end code}%
- {anchor code}{driver precode}
-
- This defines a two-column tabular bibliography environment with \prm{name},
- \prm{begin code} and \prm{end code} as for \hypercmd{defbibtabular}.
-
- The first column is an \hypercmd{anchorlang} column that executes
- \prm{anchor code}, the second column executes a pre-code and
- the bibliography driver.
-
-\begin{biblatexcode}
-\defbibtabulartwocolumn{(*@\prm{name}@*)}
- {(*@\prm{begin code}@*)}{(*@\prm{end code}@*)}
- {(*@\prm{anchor code}@*)}{(*@\prm{driver precode}@*)}
-\end{biblatexcode}
-is equivalent to
-\begin{biblatexcode}
-\defbibtabular{(*@\prm{name}@*)}
- {(*@\prm{begin code}@*)}{(*@\prm{end code}@*)}
- {\anchorlang{(*@\prm{anchor code}@*)} & \driver{(*@\prm{driver precode}@*)} \\}
-\end{biblatexcode}
Using \cmd{defbibtabulartwocolumn} the example from above could be written as
\begin{biblatexcode}
@@ -3540,6 +3604,9 @@ See also \filename{CHANGES.md}.
The numbers on the right indicate the relevant section of the manual.
\begin{changelog}
+\begin{release}{0.10}{2021-01-01}
+ \item Synced with \sty{biblatex} 3.16 changes.
+\end{release}
\begin{release}{0.9}{2020-08-21}
\item Synced with \sty{biblatex} 3.15 changes.
\end{release}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua b/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua
index cf4c52f9a1..3d8d1600ad 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua
@@ -2,8 +2,8 @@ blxextdoiapi = blxextdoiapi or {}
local blxextdoiapi_module = {
name = "blxextdoiapi",
- version = "v0.9",
- date = "2020/08/21",
+ version = "v0.10",
+ date = "2021/01/01",
description = "Obtain open access information from DOI via unpaywall.org",
author = "Moritz Wemheuer",
license = "LPPL v1.3c",
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx
index fdaf2f01c2..26523b3120 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic-verb.bbx}
- [2020/08/21 v0.9 extended biblatex alphabetic-verb
+ [2021/01/01 v0.10 extended biblatex alphabetic-verb
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx
index 471a7811c4..18129f6998 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic-verb.cbx}
- [2020/08/21 v0.9 extended biblatex alphabetic-verb citation style
+ [2021/01/01 v0.10 extended biblatex alphabetic-verb citation style
(MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx
index c8d7c22d7a..d0fac9c9c3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic.bbx}
- [2020/08/21 v0.9 extended biblatex alphabetic bibliography style (MW)]
+ [2021/01/01 v0.10 extended biblatex alphabetic bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
\RequireBibliographyStyle{alphabetic}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx
index 456444df5f..3e67664823 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic.cbx}
- [2020/08/21 v0.9 extended biblatex alphabetic citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex alphabetic citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx
index fa66e3baf9..af29977b1c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-common.bbx}
- [2020/08/21 v0.9 common files for extended biblatex
+ [2021/01/01 v0.10 common files for extended biblatex
authortitle bibliography styles (MW)]
\RequireBibliographyStyle{ext-dashed-common}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx
index 0274ccd146..66774d387e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-comp.bbx}
- [2020/08/21 v0.9 extended biblatex authortitle-comp
+ [2021/01/01 v0.10 extended biblatex authortitle-comp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx
index 239d30d36c..be7f9ee51b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-comp.cbx}
- [2020/08/21 v0.9 extended biblatex authortitle-comp
+ [2021/01/01 v0.10 extended biblatex authortitle-comp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx
index 1a220f9c1f..c0f42b3d0b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ibid.bbx}
- [2020/08/21 v0.9 extended biblatex authortitle-ibid
+ [2021/01/01 v0.10 extended biblatex authortitle-ibid
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx
index bba6813761..3d51cabdd5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ibid.cbx}
- [2020/08/21 v0.9 extended biblatex authortitle-ibid
+ [2021/01/01 v0.10 extended biblatex authortitle-ibid
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx
index fb7e897405..3a3c453920 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-icomp.bbx}
- [2020/08/21 v0.9 extended biblatex authortitle-icomp
+ [2021/01/01 v0.10 extended biblatex authortitle-icomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx
index feb840cc03..69a2fb38c4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-icomp.cbx}
- [2020/08/21 v0.9 extended biblatex authortitle-icomp
+ [2021/01/01 v0.10 extended biblatex authortitle-icomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx
index b4441b3ca7..e6010350e8 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-tcomp.bbx}
- [2020/08/21 v0.9 extended biblatex authortitle-tcomp
+ [2021/01/01 v0.10 extended biblatex authortitle-tcomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx
index 1fc962c78e..12630fa5e4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-tcomp.cbx}
- [2020/08/21 v0.9 extended biblatex authortitle-tcomp
+ [2021/01/01 v0.10 extended biblatex authortitle-tcomp
citation style (MW)]
\RequireCitationStyle{ext-authortitle-comp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx
index e5b06d97a7..4ca71a2b75 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-terse.bbx}
- [2020/08/21 v0.9 extended biblatex authortitle-terse
+ [2021/01/01 v0.10 extended biblatex authortitle-terse
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx
index beaf6b1c0f..f6778d593a 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-terse.cbx}
- [2020/08/21 v0.9 extended biblatex authortitle-terse
+ [2021/01/01 v0.10 extended biblatex authortitle-terse
citation style (MW)]
\RequireCitationStyle{ext-authortitle}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx
index 1fb775a3b8..3823e26620 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ticomp.bbx}
- [2020/08/21 v0.9 extended biblatex authortitle-ticomp
+ [2021/01/01 v0.10 extended biblatex authortitle-ticomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx
index 9a87aeb69c..bb49ac0a3d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ticomp.cbx}
- [2020/08/21 v0.9 extended biblatex authortitle-ticomp citation style
+ [2021/01/01 v0.10 extended biblatex authortitle-ticomp citation style
(MW)]
\RequireCitationStyle{ext-authortitle-icomp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx
index 3ba191bc11..71c886a7a7 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle.bbx}
- [2020/08/21 v0.9 extended biblatex authortitle
+ [2021/01/01 v0.10 extended biblatex authortitle
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx
index 0b7567a7b4..e85b91081d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle.cbx}
- [2020/08/21 v0.9 extended biblatex authortitle citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex authortitle citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx
index 5b80bee009..9de30f78a4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-common.bbx}
- [2020/08/21 v0.9 common files for extended biblatex
+ [2021/01/01 v0.10 common files for extended biblatex
authoryear bibliography styles (MW)]
\RequireBibliographyStyle{ext-dashed-common}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx
index 597614290a..f2332294e1 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-comp.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-comp
+ [2021/01/01 v0.10 extended biblatex authoryear-comp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx
index c87f93d708..0c16fb783b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-comp.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-comp
+ [2021/01/01 v0.10 extended biblatex authoryear-comp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx
index 6130f17860..17a377f849 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ecomp.bbx}
- [2020/08/21 v0.9 biblatex authoryear-ecomp
+ [2021/01/01 v0.10 biblatex authoryear-ecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx
index 4bab3c7369..97461b38f1 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ecomp.cbx}
- [2020/08/21 v0.9 biblatex authoryear-ecomp
+ [2021/01/01 v0.10 biblatex authoryear-ecomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx
index 4fc84d7097..f8936d67a3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ibid.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-ibid
+ [2021/01/01 v0.10 extended biblatex authoryear-ibid
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx
index 8e7cc91246..bd875b46c6 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ibid.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-ibid
+ [2021/01/01 v0.10 extended biblatex authoryear-ibid
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx
index f6beb58c9d..d37ce76d7b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-icomp.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-icomp
+ [2021/01/01 v0.10 extended biblatex authoryear-icomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx
index 9e6f968f21..6d964164e9 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-icomp.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-icomp
+ [2021/01/01 v0.10 extended biblatex authoryear-icomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx
index 51e3c4a5fe..b411505db8 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-iecomp.bbx}
- [2020/08/21 v0.9 biblatex authoryear-iecomp
+ [2021/01/01 v0.10 biblatex authoryear-iecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx
index 376a2bfae9..a9970bbd4b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-iecomp.cbx}
- [2020/08/21 v0.9 biblatex authoryear-iecomp
+ [2021/01/01 v0.10 biblatex authoryear-iecomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx
index 99ec5cd173..6737f8246c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tcomp.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-tcomp
+ [2021/01/01 v0.10 extended biblatex authoryear-tcomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx
index 513b008951..ed2ae110de 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tcomp.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-tcomp
+ [2021/01/01 v0.10 extended biblatex authoryear-tcomp
citation style (MW)]
\RequireCitationStyle{ext-authoryear-comp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx
index f2b6031231..ad66545155 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tecomp.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-tecomp
+ [2021/01/01 v0.10 extended biblatex authoryear-tecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx
index ace81b2bc9..e513ca60e4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tecomp.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-tecomp
+ [2021/01/01 v0.10 extended biblatex authoryear-tecomp
citation style (MW)]
\RequireCitationStyle{ext-authoryear-ecomp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx
index 914080630a..830946a96b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-terse.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-terse
+ [2021/01/01 v0.10 extended biblatex authoryear-terse
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx
index 8499551b95..b4e8af7378 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-terse.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-terse
+ [2021/01/01 v0.10 extended biblatex authoryear-terse
citation style (MW)]
\RequireCitationStyle{ext-authoryear}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx
index 9741858efb..5fc97e3b64 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ticomp.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-ticomp
+ [2021/01/01 v0.10 extended biblatex authoryear-ticomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx
index 3ca74707d5..169d1aaa71 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ticomp.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-ticomp citation style
+ [2021/01/01 v0.10 extended biblatex authoryear-ticomp citation style
(MW)]
\RequireCitationStyle{ext-authoryear-icomp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx
index 5fb3098766..8fd7cb3b0f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tiecomp.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear-tiecomp
+ [2021/01/01 v0.10 extended biblatex authoryear-tiecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx
index b54060dbef..774d782ff7 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tiecomp.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear-tiecomp citation style
+ [2021/01/01 v0.10 extended biblatex authoryear-tiecomp citation style
(MW)]
\RequireCitationStyle{ext-authoryear-iecomp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx
index de87a973df..62c84fd7d4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear.bbx}
- [2020/08/21 v0.9 extended biblatex authoryear bibliography style (MW)]
+ [2021/01/01 v0.10 extended biblatex authoryear bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
\RequireBibliographyStyle{authoryear}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx
index fd8fc8fdbc..7c4487fd95 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear.cbx}
- [2020/08/21 v0.9 extended biblatex authoryear citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex authoryear citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def
index 80541eaf0f..1b67954be5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def
@@ -1,9 +1,9 @@
\ProvidesFile{ext-biblatex-aux.def}
- [2020/08/21 v0.9 auxiliaries for extended biblatex citation style
+ [2021/01/01 v0.10 auxiliaries for extended biblatex citation style
(MW)]
-\def\extblx@requiredbiblatexversion{3.15}
-\def\extblx@requiredbiblatexdate{2020/08/19}
+\def\extblx@requiredbiblatexversion{3.16}
+\def\extblx@requiredbiblatexdate{2020/12/31}
\protected\def\extblx@info{\PackageInfo{biblatex-ext}}
\protected\def\extblx@warning{\PackageWarning{biblatex-ext}}
@@ -284,6 +284,12 @@
% \blx@kv@undef relying on keyval definitions
\providecommand*{\blx@kv@undef}[2]{\csundef{KV@#1@#2}}
+% \mkrelatedstringtext biblatex 3.16
+% if \mkrelatedstringtext is not defined,
+% then we only have \mainlang, which is \selectlanguage
+% and needs two groups for correct local effects
+\providecommand*{\mkrelatedstringtext}[1]{{{\mainlang #1}}}
+
\endinput
%
% This file is part of the biblatex-ext bundle.
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx
index 55c6d448c9..36b05745e3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-dashed-common.bbx}
- [2020/08/21 v0.9 common files for extended biblatex
+ [2021/01/01 v0.10 common files for extended biblatex
dashed bibliography styles (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx
index 95b0c25ed8..495fb4a22c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-comp.bbx}
- [2020/08/21 v0.9 extended biblatex numeric-comp
+ [2021/01/01 v0.10 extended biblatex numeric-comp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx
index 2376050cb1..021dade5bd 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-comp.cbx}
- [2020/08/21 v0.9 extended biblatex numeric-comp citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex numeric-comp citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx
index b66c336113..86b109e3b8 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-verb.bbx}
- [2020/08/21 v0.9 extended biblatex numeric-verb
+ [2021/01/01 v0.10 extended biblatex numeric-verb
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx
index 545bfb06a8..2ea0317346 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-verb.cbx}
- [2020/08/21 v0.9 extended biblatex numeric-verb citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex numeric-verb citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx
index 06741a5c96..6c34d7e8c5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric.bbx}
- [2020/08/21 v0.9 extended biblatex numeric bibliography style (MW)]
+ [2021/01/01 v0.10 extended biblatex numeric bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
\RequireBibliographyStyle{numeric}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx
index 0f10d4e43a..fdb8fdae3b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric.cbx}
- [2020/08/21 v0.9 extended biblatex numeric citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex numeric citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
index b37fa460c0..9b42dd740c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
@@ -1,9 +1,9 @@
-% biblatex-ext v0.9 (2020-08-21)
+% biblatex-ext v0.10 (2021-01-01)
% Maintainer: Moritz Wemheuer
% Licence: LaTeX Project Public License v1.3c or later
%
\ProvidesFile{ext-standard.bbx}
- [2020/08/21 v0.9 extended biblatex standard style (MW)]
+ [2021/01/01 v0.10 extended biblatex standard style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
@@ -1068,6 +1068,7 @@
{\printnames{bookauthor}}}
\DeclareNameAlias{ineditor}{default}
+\DeclareNameWrapperAlias{ineditor}{default}
% we assume {author/translator+others}
\newcommand*{\bbx@ineditoridem}{%
@@ -1252,13 +1253,10 @@
\entrydata{#1}{%
\renewbibmacro*{name:hook}[1]{%
\ifnumequal{\value{listcount}}{1}
- {\begingroup
- \mkrelatedstring%
- \lbx@initnamehook{#1}%
- \endgroup}
+ {\mkrelatedstringtext{\lbx@initnamehook{#1}}}
{}}%
\printnames[bytranslator]{translator}%
- \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}%
+ \setunit*{\addspace\bibstring[\mkrelatedstringtext]{astitle}\space}%
\usebibmacro{title}%
\setunit{\addspace}%
\printtext[parens]{%
@@ -1272,7 +1270,7 @@
\endinput
-% Copyright 2017-2020 Moritz Wemheuer
+% Copyright 2017-2021 Moritz Wemheuer
%
% This work consists of the `.bbx`, `.cbx`, `.def`, `.sty` and `.lua`
% files
@@ -1305,8 +1303,10 @@
% ext-numeric.bbx ext-numeric.cbx
% ext-numeric-comp.bbx ext-numeric-comp.cbx
% ext-numeric-verb.bbx ext-numeric-verb.cbx
+% ext-verbose-common.cbx
% ext-verbose.bbx ext-verbose.cbx
% ext-verbose-ibid.bbx ext-verbose-ibid.cbx
+% ext-verbose-note-common.cbx
% ext-verbose-note.bbx ext-verbose-note.cbx
% ext-verbose-inote.bbx ext-verbose-inote.cbx
% ext-verbose-trad1.bbx ext-verbose-trad1.cbx
@@ -1333,7 +1333,7 @@
% This work has the LPPL maintenance status 'maintained'.
%
% The Current Maintainer of the work is Moritz Wemheuer
-% <mwemheu@gmail.com>.
+% <mwemheu@posteo.de>.
%
% Please report bugs at https://github.com/moewew/biblatex-ext or
% via email.
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-common.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-common.cbx
new file mode 100644
index 0000000000..7e7878c01e
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-common.cbx
@@ -0,0 +1,99 @@
+\ProvidesFile{ext-verbose-common.cbx}
+ [2021/01/01 v0.10 extended biblatex verbose citation style (MW)]
+
+\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
+ {}{}{}{}
+
+\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
+
+\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
+
+\DeclareCiteCommand{\cite}[\mkoutercitedelims]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+% smartcite's delimcontext needs special attention
+% (see ext-biblatex-aux.def)
+\DeclareCiteCommand{\smartcite}[\mksmartcite]
+ {\delimcontext{\extblx@thisdelimcontext}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
+ {\usebibmacro{textcite:init}}
+ {\iffieldequals{namehash}{\cbx@lasthash}
+ {}
+ {\iffirstcitekey
+ {}
+ {\textcitedelim}%
+ \stepcounter{textcitecount}%
+ \usebibmacro{textcite}%
+ \savefield{namehash}{\cbx@lasthash}}}
+ {}
+ {}
+
+\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
+ {\cbx@textcite}{}
+
+\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
+ {\cite}{\multicitedelim}
+\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
+ {\parencite}{\multicitedelim}
+\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
+ {\footcite}{\multicitedelim}
+\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
+ {\footcitetext}{\multicitedelim}
+\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
+ {\smartcite}{\multicitedelim}
+
+
+\renewbibmacro{introcite:plain}{%
+ \ifcsequal{extblx@introcite}{extblx@opt@introcite@plain}
+ {\ifundef\extblx@warn@introcite@verbose
+ {\global\let\extblx@warn@introcite@verbose\@empty
+ \extblx@warning@noline{%
+ 'introcite=plain' is not available\MessageBreak
+ with verbose citation styles, ignoring}}}
+ {}}
+
+\endinput
+%
+% This file is part of the biblatex-ext bundle.
+% biblatex-ext is released under the LaTeX Project Public License v1.3c
+% or later.
+%
+% A complete list of files included in that package can be found in
+% README.md or - failing that - in ext-standard.bbx.
+%
+% Official releases of this package are on CTAN
+% https://www.ctan.org/pkg/biblatex-ext
+% development takes place on GitHub
+% https://github.com/moewew/biblatex-ext
+%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx
index cd6ee6a27f..4619858f94 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-ibid.bbx}
- [2020/08/21 v0.9 extended biblatex verbose-ibid
+ [2021/01/01 v0.10 extended biblatex verbose-ibid
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx
index f3088bc1d6..744c913d13 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx
@@ -1,79 +1,11 @@
\ProvidesFile{ext-verbose-ibid.cbx}
- [2020/08/21 v0.9 extended biblatex verbose-ibid citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex verbose-ibid citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
\RequireCitationStyle{verbose-ibid}
-
-\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareCiteCommand{\cite}[\mkoutercitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-% smartcite's delimcontext needs special attention
-% (see ext-biblatex-aux.def)
-\DeclareCiteCommand{\smartcite}[\mksmartcite]
- {\delimcontext{\extblx@thisdelimcontext}%
- \usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
- {\usebibmacro{textcite:init}}
- {\iffieldequals{namehash}{\cbx@lasthash}
- {}
- {\iffirstcitekey
- {}
- {\textcitedelim}%
- \stepcounter{textcitecount}%
- \usebibmacro{textcite}%
- \savefield{namehash}{\cbx@lasthash}}}
- {}
- {}
-
-\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
- {\cbx@textcite}{}
-
-\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
- {\cite}{\multicitedelim}
-\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
- {\parencite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
- {\footcite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
- {\footcitetext}{\multicitedelim}
-\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
- {\smartcite}{\multicitedelim}
+\RequireCitationStyle{ext-verbose-common}
\endinput
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx
index 56e983ba9c..065eee29a7 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-inote.bbx}
- [2020/08/21 v0.9 extended biblatex verbose-inote
+ [2021/01/01 v0.10 extended biblatex verbose-inote
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx
index de50326169..706fbe5ae0 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx
@@ -1,85 +1,11 @@
\ProvidesFile{ext-verbose-inote.cbx}
- [2020/08/21 v0.9 extended biblatex verbose-inote citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex verbose-inote citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
\RequireCitationStyle{verbose-inote}
-
-\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareCiteCommand{\cite}[\mkoutercitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \iffootnote
- {\usebibmacro{footcite}}
- {\usebibmacro{cite}}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \iffootnote
- {\usebibmacro{footcite}}
- {\usebibmacro{cite}}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{footcite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{footcite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-% smartcite's delimcontext needs special attention
-% (see ext-biblatex-aux.def)
-\DeclareCiteCommand{\smartcite}[\mksmartcite]
- {\delimcontext{\extblx@thisdelimcontext}%
- \usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \iffootnote
- {\usebibmacro{footcite}}
- {\usebibmacro{cite}}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
- {\usebibmacro{textcite:init}}
- {\iffieldequals{namehash}{\cbx@lasthash}
- {}
- {\iffirstcitekey
- {}
- {\textcitedelim}%
- \stepcounter{textcitecount}%
- \usebibmacro{textcite}%
- \savefield{namehash}{\cbx@lasthash}}}
- {}
- {}
-
-\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
- {\cbx@textcite}{}
-
-\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
- {\cite}{\multicitedelim}
-\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
- {\parencite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
- {\footcite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
- {\footcitetext}{\multicitedelim}
-\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
- {\smartcite}{\multicitedelim}
+\RequireCitationStyle{ext-verbose-note-common}
\endinput
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note-common.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note-common.cbx
new file mode 100644
index 0000000000..cc7615e4b4
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note-common.cbx
@@ -0,0 +1,49 @@
+\ProvidesFile{ext-verbose-note-common.cbx}
+ [2021/01/01 v0.10 extended biblatex verbose citation style (MW)]
+
+\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
+ {}{}{}{}
+
+\RequireCitationStyle{ext-verbose-common}
+
+
+\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{footcite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{footcite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+% smartcite's delimcontext needs special attention
+% (see ext-biblatex-aux.def)
+\DeclareCiteCommand{\smartcite}[\mksmartcite]
+ {\delimcontext{\extblx@thisdelimcontext}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \iffootnote
+ {\usebibmacro{footcite}}
+ {\usebibmacro{cite}}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\endinput
+%
+% This file is part of the biblatex-ext bundle.
+% biblatex-ext is released under the LaTeX Project Public License v1.3c
+% or later.
+%
+% A complete list of files included in that package can be found in
+% README.md or - failing that - in ext-standard.bbx.
+%
+% Official releases of this package are on CTAN
+% https://www.ctan.org/pkg/biblatex-ext
+% development takes place on GitHub
+% https://github.com/moewew/biblatex-ext
+%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx
index e7889e45e6..9ed4372f75 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-note.bbx}
- [2020/08/21 v0.9 extended biblatex verbose-note
+ [2021/01/01 v0.10 extended biblatex verbose-note
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx
index 090875303e..082f216d91 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx
@@ -1,85 +1,11 @@
\ProvidesFile{ext-verbose-note.cbx}
- [2020/08/21 v0.9 extended biblatex verbose-note citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex verbose-note citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
\RequireCitationStyle{verbose-note}
-
-\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareCiteCommand{\cite}[\mkoutercitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \iffootnote
- {\usebibmacro{footcite}}
- {\usebibmacro{cite}}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \iffootnote
- {\usebibmacro{footcite}}
- {\usebibmacro{cite}}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{footcite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{footcite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-% smartcite's delimcontext needs special attention
-% (see ext-biblatex-aux.def)
-\DeclareCiteCommand{\smartcite}[\mksmartcite]
- {\delimcontext{\extblx@thisdelimcontext}%
- \usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \iffootnote
- {\usebibmacro{footcite}}
- {\usebibmacro{cite}}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
- {\usebibmacro{textcite:init}}
- {\iffieldequals{namehash}{\cbx@lasthash}
- {}
- {\iffirstcitekey
- {}
- {\textcitedelim}%
- \stepcounter{textcitecount}%
- \usebibmacro{textcite}%
- \savefield{namehash}{\cbx@lasthash}}}
- {}
- {}
-
-\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
- {\cbx@textcite}{}
-
-\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
- {\cite}{\multicitedelim}
-\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
- {\parencite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
- {\footcite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
- {\footcitetext}{\multicitedelim}
-\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
- {\smartcite}{\multicitedelim}
+\RequireCitationStyle{ext-verbose-note-common}
\endinput
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx
index 865fb2071c..df1d9aefba 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad1.bbx}
- [2020/08/21 v0.9 extended biblatex verbose-trad1
+ [2021/01/01 v0.10 extended biblatex verbose-trad1
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx
index a98cb30126..729b780a56 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx
@@ -1,79 +1,11 @@
\ProvidesFile{ext-verbose-trad1.cbx}
- [2020/08/21 v0.9 extended biblatex verbose-trad1 citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex verbose-trad1 citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
\RequireCitationStyle{verbose-trad1}
-
-\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareCiteCommand{\cite}[\mkoutercitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-% smartcite's delimcontext needs special attention
-% (see ext-biblatex-aux.def)
-\DeclareCiteCommand{\smartcite}[\mksmartcite]
- {\delimcontext{\extblx@thisdelimcontext}%
- \usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
- {\usebibmacro{textcite:init}}
- {\iffieldequals{namehash}{\cbx@lasthash}
- {}
- {\iffirstcitekey
- {}
- {\textcitedelim}%
- \stepcounter{textcitecount}%
- \usebibmacro{textcite}%
- \savefield{namehash}{\cbx@lasthash}}}
- {}
- {}
-
-\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
- {\cbx@textcite}{}
-
-\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
- {\cite}{\multicitedelim}
-\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
- {\parencite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
- {\footcite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
- {\footcitetext}{\multicitedelim}
-\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
- {\smartcite}{\multicitedelim}
+\RequireCitationStyle{ext-verbose-common}
\endinput
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx
index 639ba6c0e2..6b3adb7c53 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad2.bbx}
- [2020/08/21 v0.9 extended biblatex verbose-trad2
+ [2021/01/01 v0.10 extended biblatex verbose-trad2
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx
index 1cc96abad8..5b432e2573 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx
@@ -1,79 +1,11 @@
\ProvidesFile{ext-verbose-trad2.cbx}
- [2020/08/21 v0.9 extended biblatex verbose-trad2 citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex verbose-trad2 citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
\RequireCitationStyle{verbose-trad2}
-
-\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareCiteCommand{\cite}[\mkoutercitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-% smartcite's delimcontext needs special attention
-% (see ext-biblatex-aux.def)
-\DeclareCiteCommand{\smartcite}[\mksmartcite]
- {\delimcontext{\extblx@thisdelimcontext}%
- \usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
- {\usebibmacro{textcite:init}}
- {\iffieldequals{namehash}{\cbx@lasthash}
- {}
- {\iffirstcitekey
- {}
- {\textcitedelim}%
- \stepcounter{textcitecount}%
- \usebibmacro{textcite}%
- \savefield{namehash}{\cbx@lasthash}}}
- {}
- {}
-
-\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
- {\cbx@textcite}{}
-
-\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
- {\cite}{\multicitedelim}
-\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
- {\parencite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
- {\footcite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
- {\footcitetext}{\multicitedelim}
-\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
- {\smartcite}{\multicitedelim}
+\RequireCitationStyle{ext-verbose-common}
\endinput
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx
index e64598e3cc..8b20b70e1d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad3.bbx}
- [2020/08/21 v0.9 extended biblatex verbose-trad3
+ [2021/01/01 v0.10 extended biblatex verbose-trad3
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx
index 2934fccc08..12cdc613bb 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx
@@ -1,79 +1,11 @@
\ProvidesFile{ext-verbose-trad3.cbx}
- [2020/08/21 v0.9 extended biblatex verbose-trad3 citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex verbose-trad3 citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
\RequireCitationStyle{verbose-trad3}
-
-\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareCiteCommand{\cite}[\mkoutercitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-% smartcite's delimcontext needs special attention
-% (see ext-biblatex-aux.def)
-\DeclareCiteCommand{\smartcite}[\mksmartcite]
- {\delimcontext{\extblx@thisdelimcontext}%
- \usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
- {\usebibmacro{textcite:init}}
- {\iffieldequals{namehash}{\cbx@lasthash}
- {}
- {\iffirstcitekey
- {}
- {\textcitedelim}%
- \stepcounter{textcitecount}%
- \usebibmacro{textcite}%
- \savefield{namehash}{\cbx@lasthash}}}
- {}
- {}
-
-\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
- {\cbx@textcite}{}
-
-\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
- {\cite}{\multicitedelim}
-\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
- {\parencite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
- {\footcite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
- {\footcitetext}{\multicitedelim}
-\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
- {\smartcite}{\multicitedelim}
+\RequireCitationStyle{ext-verbose-common}
\endinput
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx
index 3ab1ca153c..9f4e2b3d53 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose.bbx}
- [2020/08/21 v0.9 extended biblatex verbose
+ [2021/01/01 v0.10 extended biblatex verbose
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx
index 9ac8aafac5..bab4fbaf94 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx
@@ -1,79 +1,11 @@
\ProvidesFile{ext-verbose.cbx}
- [2020/08/21 v0.9 extended biblatex verbose citation style (MW)]
+ [2021/01/01 v0.10 extended biblatex verbose citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
\RequireCitationStyle{verbose}
-
-\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
-
-\DeclareCiteCommand{\cite}[\mkoutercitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\parencite}[\mkouterparencitedelims]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcite}[\mkextblxfootcite]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\footcitetext}[\mkextblxfootcitetext]
- {\usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-% smartcite's delimcontext needs special attention
-% (see ext-biblatex-aux.def)
-\DeclareCiteCommand{\smartcite}[\mksmartcite]
- {\delimcontext{\extblx@thisdelimcontext}%
- \usebibmacro{prenote}}
- {\usebibmacro{citeindex}%
- \usebibmacro{cite}}
- {\multicitedelim}
- {\usebibmacro{cite:postnote}}
-
-\DeclareCiteCommand{\cbx@textcite}[\mkoutertextcitedelims]
- {\usebibmacro{textcite:init}}
- {\iffieldequals{namehash}{\cbx@lasthash}
- {}
- {\iffirstcitekey
- {}
- {\textcitedelim}%
- \stepcounter{textcitecount}%
- \usebibmacro{textcite}%
- \savefield{namehash}{\cbx@lasthash}}}
- {}
- {}
-
-\DeclareMultiCiteCommand{\cbx@textcites}[\mkoutertextcitedelims]
- {\cbx@textcite}{}
-
-\DeclareMultiCiteCommand{\cites}[\mkoutercitedelims]
- {\cite}{\multicitedelim}
-\DeclareMultiCiteCommand{\parencites}[\mkouterparencitedelims]
- {\parencite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcites}[\mkextblxfootcite]
- {\footcite}{\multicitedelim}
-\DeclareMultiCiteCommand{\footcitetexts}[\mkextblxfootcitetext]
- {\footcitetext}{\multicitedelim}
-\DeclareMultiCiteCommand{\smartcites}[\mksmartcite]
- {\smartcite}{\multicitedelim}
+\RequireCitationStyle{ext-verbose-common}
\endinput
%
diff --git a/macros/latex/contrib/calxxxx-yyyy/README b/macros/latex/contrib/calxxxx-yyyy/README
index 940220071f..d89d43716a 100644
--- a/macros/latex/contrib/calxxxx-yyyy/README
+++ b/macros/latex/contrib/calxxxx-yyyy/README
@@ -1,4 +1,4 @@
-README for calxxxx-yyyy, 2020/01/01, v20.20a
+README for calxxxx-yyyy, 2021/01/01, v20.21a
TABLE OF CONTENTS
@@ -17,8 +17,8 @@ TABLE OF CONTENTS
==============
To print a calendar for some given years, use the \textsf{calxxxx-yyyy.tex}
-file. LaTeXe it, type in the year to start with (for example 2020), the
-year to end with (for example 2037), and the calendars for those years are
+file. LaTeXe it, type in the year to start with (for example 2021), the
+year to end with (for example 2038), and the calendars for those years are
produced.
It is possible to print the calendars in different languages.
@@ -50,8 +50,8 @@ https://www.ctan.org/pkg/calxxxx-yyyy
Also a ZIP file is provided that contains the files:
the manual (calxxxx-yyyy-doc.tex, calxxxx-yyyy-doc.pdf),
-the compiled examples (cal2020-2037_DE.pdf, cal2020-2037_DK.pdf, and
-cal2020-2037_EN.pdf), calxxxx-yyyy.tex,
+the compiled examples (cal2021-2038_DE.pdf, cal2021-2038_DK.pdf, and
+cal2021-2038_EN.pdf), calxxxx-yyyy.tex,
and this README:
http://mirrors.ctan.org/macros/latex/contrib/calxxxx-yyyy.zip
@@ -72,8 +72,8 @@ d) Update the databases if necessary, e.g. for teTeX:
e) Copy the documentation files to
"TDS:doc/latex/calxxxx-yyyy/":
README, calxxxx-yyyy-doc.tex, calxxxx-yyyy-doc.pdf
- (and e.g. cal2020-2037_DE.pdf, cal2020-2037_DK.pdf,
- and cal2020-2037_EN.pdf).
+ (and e.g. cal2021-2038_DE.pdf, cal2021-2038_DK.pdf,
+ and cal2021-2038_EN.pdf).
4 ADDITIONAL PACKAGES
diff --git a/macros/latex/contrib/calxxxx-yyyy/cal2020-2037_DE.pdf b/macros/latex/contrib/calxxxx-yyyy/cal2021-2038_DE.pdf
index a87efed2c8..6f95ccb66c 100644
--- a/macros/latex/contrib/calxxxx-yyyy/cal2020-2037_DE.pdf
+++ b/macros/latex/contrib/calxxxx-yyyy/cal2021-2038_DE.pdf
Binary files differ
diff --git a/macros/latex/contrib/calxxxx-yyyy/cal2020-2037_DK.pdf b/macros/latex/contrib/calxxxx-yyyy/cal2021-2038_DK.pdf
index 569131cb52..c824e03da3 100644
--- a/macros/latex/contrib/calxxxx-yyyy/cal2020-2037_DK.pdf
+++ b/macros/latex/contrib/calxxxx-yyyy/cal2021-2038_DK.pdf
Binary files differ
diff --git a/macros/latex/contrib/calxxxx-yyyy/cal2020-2037_EN.pdf b/macros/latex/contrib/calxxxx-yyyy/cal2021-2038_EN.pdf
index 61a10b4e18..23975a27a4 100644
--- a/macros/latex/contrib/calxxxx-yyyy/cal2020-2037_EN.pdf
+++ b/macros/latex/contrib/calxxxx-yyyy/cal2021-2038_EN.pdf
Binary files differ
diff --git a/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.pdf b/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.pdf
index a43a111b8f..6a076c39c5 100644
--- a/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.pdf
+++ b/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.tex b/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.tex
index 4ef5dd8805..2c8327ba1a 100644
--- a/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.tex
+++ b/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy-doc.tex
@@ -16,9 +16,9 @@
]{hyperref}[2012/11/06]% v6.83m
\begin{document}
\section*{\texttt{ReadMe} for cal$xxxx-yyyy$.tex file}
-Version: v20.20a\newline
-Date: 2020/01/01\newline
-\copyright{} 2010 - 2020 H.-Martin M\"{u}nch (Martin dot Muench at Uni-Bonn dot de)\newline
+Version: v20.21a\newline
+Date: 2021/01/01\newline
+\copyright{} 2010 - 2021 H.-Martin M\"{u}nch (Martin dot Muench at Uni-Bonn dot de)\newline
\noindent This file explains the use of the \textsf{calxxxx-yyyy.tex} file,
available at\newline
@@ -30,7 +30,7 @@ the \textsf{array.sty}, \textsf{babel.sty}, and \textsf{geometry.sty} packages.
\hspace*{-1.98471pt}To print a calendar for some given years,
use the \textsf{calxxxx-yyyy.tex} file. \LaTeXe{} it, type in the year to start with
-(for example 2020), the year to end with (for example 2037), and the calendars
+(for example 2021), the year to end with (for example 2038), and the calendars
for those years are produced.
It is possible to print the calendars in different languages. Currently
diff --git a/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy.tex b/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy.tex
index 96dcccc750..5d2b1b9e9a 100644
--- a/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy.tex
+++ b/macros/latex/contrib/calxxxx-yyyy/calxxxx-yyyy.tex
@@ -1,8 +1,8 @@
% calxxx-yyyy.tex
-% version: v20.20a
-% date: 2020/01/01
+% version: v20.21a
+% date: 2021/01/01
%
-% Copyright (C) 2010 - 2020 H.-Martin M\"{u}nch (Martin dot Muench at Uni-Bonn dot de)
+% Copyright (C) 2010 - 2021 H.-Martin M\"{u}nch (Martin dot Muench at Uni-Bonn dot de)
% Portions of code copyrighted by Slobodan Jankovi\'{c}.
% This file was invented in 1999 by Slobodan Jankovi\'{c}.
% I was not able to reach him at slobodan@archimed.filfak.ni.ac.yu
@@ -37,8 +37,8 @@
% This work consists of the main source files
% calxxxx-yyyy.tex, README, and calxxxx-yyyy-doc.tex,
% and the derived files
-% calxxxx-yyyy-doc.pdf, cal2020-2037_DE.pdf, cal2020-2037_DK.pdf,
-% and cal2020-2037_EN.pdf.
+% calxxxx-yyyy-doc.pdf, cal2021-2038_DE.pdf, cal2021-2038_DK.pdf,
+% and cal2021-2038_EN.pdf.
%
% In memoriam
% Claudia Simone Barth + 1996/01/30
@@ -341,7 +341,7 @@
\message{^^J}\message{^^J}%
\newline%
\tiny{\indent Original calxxxx.\TeX{} \copyright{} 1999/12/19 Slobodan Jankovi\'{c}; %
-these calendars produced with calxxxx-yyyy 2020/01/01 v20.20a by \texttt{Martin.Muench@Uni-Bonn.de};%
+these calendars produced with calxxxx-yyyy 2021/01/01 v20.21a by \texttt{Martin.Muench@Uni-Bonn.de};%
\newline\indent%
\iflanguage{english}{English by Slobodan Jankovi\'{c}.}{%
\iflanguage{german}{Deutsch von H.-Martin M\"{u}nch.}{%
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 6ce7fd41b2..c203937ba5 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index d634e3ff1e..1e14babd29 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -119,7 +119,8 @@ avec une distribution TeX comme MiKTeX ou TeXlive.
\bigskip
Cette extension peut être utilisée avec |xelatex|, |lualatex| et |pdflatex| mais aussi avec le cheminement
-classique |latex|-|dvips|-|ps2pdf| (ou Adobe Distiller).
+classique |latex|-|dvips|-|ps2pdf| (ou Adobe Distiller). \textsl{Néanmoins, le fichier nicematrix-french.tex de la présente documentation
+ne peut être compilé qu'avec XeLaTeX.}
\bigskip
Cette extension nécessite et charge les extensions \pkg{l3keys2e}, \pkg{xparse}, \pkg{array}, \pkg{amsmath} et
@@ -547,8 +548,7 @@ aussi fixer l'épaisseur du trait avec la clé |line-width|.
\subsection{Les blocs mono-colonne}
-\colorbox{yellow!30}{Nouveau 5.4}\enskip Les blocs mono-colonne ont un
-comportement spécial.
+Les blocs mono-colonne ont un comportement spécial.
\begin{itemize}
\item La largeur naturelle du contenu de ces blocs est prise en compte pour la
largeur de la colonne courante.
@@ -1281,40 +1281,72 @@ le \textsc{pdf}.
est disponible quand \pkg{xcolor} est chargé avec l'option |table|.}. Le
\emph{s} rappelle qu'il y a deux couleurs. Elle colorie alternativement les
rangées avec les deux couleurs à partir de la rangée dont le numéro est donné en
-premier argument (obligatoire).
+premier argument (obligatoire), comme le fait la commande |\rowcolors| de
+\pkg{xcolor}.
+
+\colorbox{yellow!50}{\textbf{Nouveau 5.8}}\enskip
+En fait, le premier argument (obligatoire) peut, plus généralement, contenir
+une liste d'intervalles correspondant à l'ensemble des rangées sur lesquelles
+portera l'effet de |\rowcolors| (un intervalle de la forme $i$ désigne en fait
+l'intervalle constitué de toutes les rangées du tableau à partir de de la rangée~$i$).
+
+
+\bigskip
+La commande |\rowcolors| accepte une liste de paires clé-valeur comme argument
+optionnel en dernière position (l'argument optionel en première position
+correspond à l'espace colorimétrique). Les clés disponibles sont |cols|,
+|restart| et |respect-blocks|.
+\begin{itemize}
+\item \colorbox{yellow!50}{\textbf{Nouveau 5.8}}\enskip
+La clé |cols| décrit un ensemble de colonnes sur lesquelles portera
+l'effet de |\rowcolors|. Cet ensemble de colonnes est une liste d'intervalles de
+la forme $i$|-|$j$.
+
+\item \colorbox{yellow!50}{\textbf{Nouveau 5.8}}\enskip Avec la clé |restart|, chacun
+des intervalles de rangées spécifié par le premier argument de |\rowcolors|
+recommence avec la même couleur.\footnote{Autrement, la couleur d'une rangée ne
+ dépend que de la partié de son number.}
+
+
+\item Avec la clé |respect-blocks|, qui est de type booléen, les ``rangées''
+colorées alternativement peuvent s'étendre sur plusieurs rangées réelles du
+tableau pour englober les blocs (créés par la commande |\Block|).
+\end{itemize}
+
\medskip
\begin{scope}
\hfuzz=10cm
\begin{BVerbatim}[baseline=c,boxwidth=9cm]
-\begin{NiceTabular}{lr}[hlines,code-before = ~emphase#\rowcolors{1}{blue!10}{}@]
-Pierre & 12 \\
-Jacques & 8 \\
-Stéphanie & 18 \\
-Amélie & 20 \\
-Henri & 14 \\
-Estelle & 15
+\begin{NiceTabular}{clr}%
+ [hvlines,code-before = ~emphase#{\rowcolors{2}{blue!10}{}[cols=2-3,restart]}@]
+\Block{1-3}{Résultats} \\
+\Block{2-1}{A}& Pierre & 12 \\
+ & Jacques & 8 \\
+\Block{4-1}{B}& Stéphanie & 18 \\
+ & Amélie & 20 \\
+ & Henri & 14 \\
+ & Estelle & 15
\end{NiceTabular}
\end{BVerbatim}
-\begin{NiceTabular}{lr}[hlines,code-before = \rowcolors{1}{blue!10}{},baseline=3]
-Pierre & 12 \\
-Jacques & 8 \\
-Stéphanie & 18 \\
-Amélie & 20 \\
-Henri & 14 \\
-Estelle & 15
+\begin{NiceTabular}{clr}[hvlines,
+ code-before = {\rowcolors{2}{blue!10}{}[cols=2-3,restart]},baseline=2]
+\Block{1-3}{Résultats} \\
+\Block{2-1}{A}& Pierre & 12 \\
+ & Jacques & 8 \\
+\Block{4-1}{B}& Stéphanie & 18 \\
+ & Amélie & 20 \\
+ & Henri & 14 \\
+ & Estelle & 15
\end{NiceTabular}
\end{scope}
-\bigskip
-Il existe une option |respect-blocks| pour la commande |\rowcolors|. Avec cette
-option, les ``rangées'' colorées alternativement peuvent s'étendre sur plusieurs
-rangées réelles du tableau pour englober les blocs.
-\medskip
+\vspace{1cm}
+
\begin{scope}
\hfuzz=10cm
-\begin{BVerbatim}[baseline=c,boxwidth=9cm]
+\begin{BVerbatim}[baseline=c,boxwidth=11cm]
\begin{NiceTabular}{lr}[hvlines,code-before =
~emphase#\rowcolors{1}{blue!10}{}[respect-blocks]@]
\Block{2-1}{Pierre} & 12 \\
@@ -2481,8 +2513,7 @@ colonne).
\item Si la clé |notes/para| est utilisée, les notes sont composées à la fin du
tableau en un seul paragraphe.
-\item \colorbox{yellow!30}{Nouveau 5.4}\enskip
-Il existe une clé |tabularnote| qui permet d'insérer du texte dans la zone
+\item Il existe une clé |tabularnote| qui permet d'insérer du texte dans la zone
des notes avant les notes numérotées.
\item Si l'extension \pkg{booktabs} a été chargée (avant ou après
@@ -3989,10 +4020,10 @@ pointillées.
\NiceMatrixOptions
{nullify-dots,code-for-first-col = \color{blue},code-for-first-col=\color{blue}}
$\begin{pNiceMatrix}[first-row,first-col]
- & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ columns}} \\
+ & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ colonnes}} \\
& 1 & 1 & 1 & \Ldots & 1 \\
& 1 & 1 & 1 & & 1 \\
-\Vdots[line-style={solid,<->}]_{n \text{ rows}}
+\Vdots[line-style={solid,<->}]_{n \text{ rangées}}
& 1 & 1 & 1 & & 1 \\
& 1 & 1 & 1 & & 1 \\
& 1 & 1 & 1 & \Ldots & 1
@@ -4004,10 +4035,10 @@ $\begin{pNiceMatrix}[first-row,first-col]
\NiceMatrixOptions
{nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}}
\[\begin{pNiceMatrix}[first-row,first-col]
- & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ columns}} \\
+ & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ colonnes}} \\
& 1 & 1 & 1 & \Ldots & 1 \\
& 1 & 1 & 1 & & 1 \\
-\Vdots[line-style={solid,<->}]_{n \text{ rows}} & 1 & 1 & 1 & & 1 \\
+\Vdots[line-style={solid,<->}]_{n \text{ rangées}} & 1 & 1 & 1 & & 1 \\
& 1 & 1 & 1 & & 1 \\
& 1 & 1 & 1 & \Ldots & 1
\end{pNiceMatrix}\]
diff --git a/macros/latex/contrib/nicematrix/nicematrix.dtx b/macros/latex/contrib/nicematrix/nicematrix.dtx
index b485a9139d..83f99f5cbd 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2018-2020 by F. Pantigny
+% Copyright (C) 2018-2021 by F. Pantigny
% -----------------------------------
%
% This file may be distributed and/or modified under the
@@ -15,8 +15,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{5.7}
-\def\myfiledate{2020/11/23}
+\def\myfileversion{5.8}
+\def\myfiledate{2021/01/01}
%
%
%<*batchfile>
@@ -26,7 +26,7 @@
\usedir{tex/latex/nicematrix}
\preamble
-Copyright (C) 2018-2020 by F. Pantigny
+Copyright (C) 2018-2021 by F. Pantigny
-----------------------------------
This file may be distributed and/or modified under the
@@ -162,6 +162,8 @@ version 2005/12/01 or later.
% \bigskip
% This package can be used with |xelatex|, |lualatex|, |pdflatex| but also by
% the classical workflow |latex|-|dvips|-|ps2pdf| (or Adobe Distiller).
+% \textsl{However, the file nicematrix.dtx of the present documentation should
+% be compiled with XeLaTeX.}
%
% \bigskip
% This package requires and \textbf{loads} the packages \pkg{l3keys2e},
@@ -585,8 +587,7 @@ version 2005/12/01 or later.
%
% \subsection{The mono-column blocks}
%
-% % \colorbox{yellow!30}{New 5.4}\enskip The mono-column blocks have a
-% special behaviour.
+% The mono-column blocks have a special behaviour.
%
% \begin{itemize}
% \item The natural width of the contents of these blocks is taken into account
@@ -1288,15 +1289,41 @@ version 2005/12/01 or later.
% command |\rowcolors| of \pkg{xcolor}\footnote{The command |\rowcolors| of
% \pkg{xcolor} is available when \pkg{xcolor} is loaded with the
% option~|table|.}. The \emph{s} emphasizes the fact that there is \emph{two}
-% colors. This command colors alternately the rows of the tabular, beginning
-% with the row whose number is given in first (mandatory) argument. The two
-% other (mandatory) arguments are the colors.
+% colors. This command colors alternately the rows of the tabular with the
+% tow colors (provided in second and third argument), beginning
+% with the row whose number is given in first (mandatory) argument.
+%
+% \colorbox{yellow!50}{\textbf{New 5.8}}\enskip In fact, the first (mandatory)
+% argument is, more generally, a comma separated list of intervals describing
+% the rows involved in the action of |\rowcolors| (an interval of the form
+% $i$|-| describes in fact the interval of all the rows of the tabular,
+% beginning with the row~$i$).
+%
+%
+%
+% \bigskip
+% The last argument of |\rowcolors| is an optional list of pairs key-value (the
+% optional argument in the first position corresponds to the colorimetric
+% space). The available keys are |cols|, |restart| and |respect-blocks|.
+% \begin{itemize}
+% \item \colorbox{yellow!50}{\textbf{New 5.8}}\enskip The key |cols| describes a
+% set of columns. The command |\rowcolors| will color only the cells of these
+% columns. The value is a comma-separated list of intervals of the form $i$-$j$.
+% \item \colorbox{yellow!50}{\textbf{New 5.8}}\enskip With the key |restart|,
+% each interval of rows (specified by the first mandatory argument) begins with
+% the same color.\footnote{Otherwise, the color of a given row relies only upon the
+% parity of its number.}
+% \item With the key |respect-blocks| the ``rows'' alternately colored may extend over
+% several rows if they have to incorporate blocks (created with the command |\Block|).
+% \end{itemize}
%
% \medskip
% \begin{scope}
% \hfuzz=10cm
-% \begin{BVerbatim}[baseline=c,boxwidth=9cm]
-% \begin{NiceTabular}{~LetterAt{}lr~LetterAt{}}[hlines,code-before = ~emphase#\rowcolors{1}{blue!10}{}@]
+% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
+% \begin{NiceTabular}{clr}
+% [hvlines,code-before = ~emphase#{\rowcolors{2}{blue!10}{}[cols=2-3,restart]}@]
+% \Block{1-3}{Results} \\
% John & 12 \\
% Stephen & 8 \\
% Sarah & 18 \\
@@ -1305,25 +1332,22 @@ version 2005/12/01 or later.
% Madison & 15
% \end{NiceTabular}
% \end{BVerbatim}
-% \begin{NiceTabular}{@{}lr@{}}[hlines,code-before = \rowcolors{1}{blue!10}{},baseline=3]
-% John & 12 \\
-% Stephen & 8 \\
-% Sarah & 18 \\
-% Ashley & 20 \\
-% Henry & 14 \\
-% Madison & 15
+% \begin{NiceTabular}{clr}[hvlines,code-before =
+% {\rowcolors{2}{blue!10}{}[cols=2-3,restart]},baseline=2]
+% \Block{1-3}{Results} \\
+% \Block{2-1}{A}& John & 12 \\
+% & Stephen & 8 \\
+% \Block{4-1}{B}& Sarah & 18 \\
+% & Ashley & 20 \\
+% & Henry & 14 \\
+% & Madison & 15
% \end{NiceTabular}
% \end{scope}
%
-% \bigskip
-% There is a key |respect-blocks| for the instruction |\rowcolors|. With that
-% key, the ``rows'' alternately colored may extend over several rows if they
-% have to incorporate blocks.
-%
-% \medskip
+% \vspace{1cm}
% \begin{scope}
% \hfuzz=10cm
-% \begin{BVerbatim}[baseline=c,boxwidth=9cm]
+% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
% \begin{NiceTabular}{lr}[hvlines,code-before =
% ~emphase#\rowcolors{1}{blue!10}{}[respect-blocks]@]
% \Block{2-1}{John} & 12 \\
@@ -2431,9 +2455,8 @@ version 2005/12/01 or later.
% \item If the key |notes/para| is used, the notes are composed at the end of
% the array in a single paragraph (as with the key |para| of \pkg{threeparttable}).
%
-% \item \colorbox{yellow!30}{New 5.4}\enskip There is a key
-% |tabularnote| which provides a way to insert some text in the zone of the
-% notes before the numbered tabular notes.
+% \item There is a key |tabularnote| which provides a way to insert some text in
+% the zone of the notes before the numbered tabular notes.
%
% \item If the package \pkg{booktabs} has been loaded (before or after
% \pkg{nicematrix}), the key |notes/bottomrule| draws a |\bottomrule| of
@@ -5110,7 +5133,9 @@ version 2005/12/01 or later.
% \bigskip
% The following command will be able to reconstruct the full name of the current
% command or environment (despite its name which contains \textsl{env}). This
-% command must \emph{not} be protected since it will be used in error messages.
+% command must \emph{not} be protected since it will be used in error messages
+% and we have to use |\str_if_eq:VnTF| and not |\tl_if_eq:NnTF| because we need
+% to be fully expandable).
% \begin{macrocode}
\cs_new:Npn \@@_full_name_env:
{
@@ -5767,13 +5792,13 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% The string |\l_@@_baseline_str| may contain one of the three values |t|,
+% The string |\l_@@_baseline_tl| may contain one of the three values |t|,
% |c| or |b| as in the option of the environment |{array}|. However, it may also
% contain an integer (which represents the number of the row to which align the
% array).
% \begin{macrocode}
-\str_new:N \l_@@_baseline_str
-\tl_set:Nn \l_@@_baseline_str c
+\str_new:N \l_@@_baseline_tl
+\tl_set:Nn \l_@@_baseline_tl c
% \end{macrocode}
%
% \bigskip
@@ -6062,10 +6087,10 @@ version 2005/12/01 or later.
% The options |c|, |t| and |b| of the environment |{NiceArray}| have the same
% meaning as the option of the classical environment |{array}|.
% \begin{macrocode}
- c .code:n = \tl_set:Nn \l_@@_baseline_str c ,
- t .code:n = \tl_set:Nn \l_@@_baseline_str t ,
- b .code:n = \tl_set:Nn \l_@@_baseline_str b ,
- baseline .tl_set:N = \l_@@_baseline_str ,
+ c .code:n = \tl_set:Nn \l_@@_baseline_tl c ,
+ t .code:n = \tl_set:Nn \l_@@_baseline_tl t ,
+ b .code:n = \tl_set:Nn \l_@@_baseline_tl b ,
+ baseline .tl_set:N = \l_@@_baseline_tl ,
baseline .value_required:n = true ,
columns-width .code:n =
\tl_if_eq:nnTF { #1 } { auto }
@@ -6456,7 +6481,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_begin_of_row:
{
- \refstepcounter { iRow }
+ \int_gincr:N \c@iRow
\dim_gset_eq:NN \g_@@_dp_ante_last_row_dim \g_@@_dp_last_row_dim
\dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
\dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
@@ -6734,11 +6759,12 @@ version 2005/12/01 or later.
\@tabarray
}
% \end{macrocode}
-% |\l_@@_baseline_str| may have the value |t|, |c| or |b|. However, if the value
+% |\l_@@_baseline_tl| may have the value |t|, |c| or |b|. However, if the value
% is |b|, we compose the |\array| (of \pkg{array}) with the option |t| and the
-% right translation will be done further.
+% right translation will be done further. Remark that |\str_if_eq:VnTF| is
+% fully expandable and you need something fully expandable here.
% \begin{macrocode}
- [ \str_if_eq:VnTF \l_@@_baseline_str c c t ]
+ [ \str_if_eq:VnTF \l_@@_baseline_tl c c t ]
}
% \end{macrocode}
%
@@ -6862,11 +6888,11 @@ version 2005/12/01 or later.
% When the key |colortbl-like| is used, the following code will be executed.
% \begin{macrocode}
\cs_new_protected:Npn \@@_colortbl_like:
- {
- \cs_set_eq:NN \cellcolor \@@_cellcolor_tabular
- \cs_set_eq:NN \rowcolor \@@_rowcolor_tabular
- \cs_set_eq:NN \columncolor \@@_columncolor_preamble
- }
+ {
+ \cs_set_eq:NN \cellcolor \@@_cellcolor_tabular
+ \cs_set_eq:NN \rowcolor \@@_rowcolor_tabular
+ \cs_set_eq:NN \columncolor \@@_columncolor_preamble
+ }
% \end{macrocode}
%
% \bigskip
@@ -6936,7 +6962,7 @@ version 2005/12/01 or later.
%
% The box |\@arstrutbox| is a box constructed in the beginning of the
% environment |{array}|. The construction of that box takes into account the
-% current values of |\arraystretch|\footnote{The option |small| of
+% current value of |\arraystretch|\footnote{The option |small| of
% \pkg{nicematrix} changes (among other) the value of |\arraystretch|. This is
% done, of course, before the call of |{array}|.} and |\extrarowheight| (of
% \pkg{array}). That box is inserted (via |\@arstrut|) in the beginning of each
@@ -7445,11 +7471,6 @@ version 2005/12/01 or later.
\int_compare:nNnT \l_@@_last_col_int > { -1 }
{ \@@_error:n { last~col~not~used } }
}
- \bool_if:NF \l_@@_Matrix_bool
- {
- \int_compare:nNnT \c@jCol < \g_@@_static_num_of_col_int
- { \@@_error:n { columns~not~used } }
- }
% \end{macrocode}
%
% We fix also the value of |\c@iRow| and |\g_@@_row_total_int| with the
@@ -7483,7 +7504,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\bool_if:NTF \l_@@_NiceArray_bool
{
- \str_case:VnF \l_@@_baseline_str
+ \str_case:VnF \l_@@_baseline_tl
{
b \@@_use_arraybox_with_notes_b:
c \@@_use_arraybox_with_notes_c:
@@ -7577,6 +7598,15 @@ version 2005/12/01 or later.
\skip_horizontal:N \g_@@_width_last_col_dim
\skip_horizontal:N \col@sep
}
+ \bool_if:NF \l_@@_Matrix_bool
+ {
+ \int_compare:nNnT \c@jCol < \g_@@_static_num_of_col_int
+ { \@@_error:n { columns~not~used } }
+ }
+ \group_begin:
+ \globaldefs = 1
+ \@@_msg_redirect_name:nn { columns~not~used } { error }
+ \group_end:
\@@_after_array:
% \end{macrocode}
% The aim of the following |\egroup| (the corresponding |\bgroup| is, of course,
@@ -7857,6 +7887,7 @@ version 2005/12/01 or later.
\@@_Cell:
\begin { minipage } [ #1 ] { #3 }
\mode_leave_vertical:
+ \arraybackslash % added in the version 5.8
\box_use:N \@arstrutbox
}
c
@@ -7970,7 +8001,7 @@ version 2005/12/01 or later.
{
\box_set_ht:Nn \l_tmpa_box { \box_ht:N \l_tmpa_box + \l_tmpa_dim }
\box_set_dp:Nn \l_tmpa_box { \box_dp:N \l_tmpa_box + \l_tmpb_dim }
- \str_if_eq:VnTF \l_@@_baseline_str { c }
+ \tl_if_eq:NnTF \l_@@_baseline_tl { c }
{ \box_use_drop:N \l_tmpa_box }
\@@_put_box_in_flow_i:
}
@@ -7978,7 +8009,7 @@ version 2005/12/01 or later.
%
% \medskip
% The command |\@@_put_box_in_flow_i:| is used when the value of
-% |\l_@@_baseline_str| is different of |c| (which is the initial value and the
+% |\l_@@_baseline_tl| is different of |c| (which is the initial value and the
% most used).
% \begin{macrocode}
\cs_new_protected:Npn \@@_put_box_in_flow_i:
@@ -7993,24 +8024,24 @@ version 2005/12/01 or later.
% Now, |\g_tmpa_dim| contains the $y$-value of the center of the array (the
% delimiters are centered in relation with this value).
% \begin{macrocode}
- \str_if_in:NnTF \l_@@_baseline_str { line- }
+ \str_if_in:NnTF \l_@@_baseline_tl { line- }
{
\int_set:Nn \l_tmpa_int
{
\str_range:Nnn
- \l_@@_baseline_str
+ \l_@@_baseline_tl
6
- { \str_count:N \l_@@_baseline_str }
+ { \tl_count:V \l_@@_baseline_tl }
}
\@@_qpoint:n { row - \int_use:N \l_tmpa_int }
}
{
- \str_case:VnF \l_@@_baseline_str
+ \str_case:VnF \l_@@_baseline_tl
{
{ t } { \int_set:Nn \l_tmpa_int 1 }
{ b } { \int_set_eq:NN \l_tmpa_int \c@iRow }
}
- { \int_set:Nn \l_tmpa_int \l_@@_baseline_str }
+ { \int_set:Nn \l_tmpa_int \l_@@_baseline_tl }
\bool_lazy_or:nnT
{ \int_compare_p:nNn \l_tmpa_int < \l_@@_first_row_int }
{ \int_compare_p:nNn \l_tmpa_int > \g_@@_row_total_int }
@@ -8155,28 +8186,28 @@ version 2005/12/01 or later.
% \end{macrocode}
% We convert a value of |t| to a value of |1|.
% \begin{macrocode}
- \str_if_eq:VnT \l_@@_baseline_str { t }
- { \tl_set:Nn \l_@@_baseline_str { 1 } }
+ \tl_if_eq:NnT \l_@@_baseline_tl { t }
+ { \tl_set:Nn \l_@@_baseline_tl { 1 } }
% \end{macrocode}
-% Now, we convert the value of |\l_@@_baseline_str| (which should represent an
+% Now, we convert the value of |\l_@@_baseline_tl| (which should represent an
% integer) to an integer stored in |\l_tmpa_int|.
% \begin{macrocode}
\pgfpicture
\@@_qpoint:n { row - 1 }
\dim_gset_eq:NN \g_tmpa_dim \pgf@y
- \str_if_in:NnTF \l_@@_baseline_str { line- }
+ \str_if_in:NnTF \l_@@_baseline_tl { line- }
{
\int_set:Nn \l_tmpa_int
{
\str_range:Nnn
- \l_@@_baseline_str
+ \l_@@_baseline_tl
6
- { \str_count:N \l_@@_baseline_str }
+ { \tl_count:V \l_@@_baseline_tl }
}
\@@_qpoint:n { row - \int_use:N \l_tmpa_int }
}
{
- \int_set:Nn \l_tmpa_int \l_@@_baseline_str
+ \int_set:Nn \l_tmpa_int \l_@@_baseline_tl
\bool_lazy_or:nnT
{ \int_compare_p:nNn \l_tmpa_int < \l_@@_first_row_int }
{ \int_compare_p:nNn \l_tmpa_int > \g_@@_row_total_int }
@@ -8452,7 +8483,7 @@ version 2005/12/01 or later.
{
\hbox
{
- \skip_horizontal:N 0.5 \arrayrulewidth
+ \skip_horizontal:N 0.5\arrayrulewidth
\pgfsys@markposition { \@@_env: - col - 1 }
\skip_horizontal:N -0.5\arrayrulewidth
}
@@ -9116,7 +9147,7 @@ version 2005/12/01 or later.
{
\tl_gset:cn
{ g_@@_code_before_ \int_use:N \g_@@_env_int _ tl }
- { \g_nicematrix_code_before_tl }
+ { \exp_not:V \g_nicematrix_code_before_tl }
}
\iow_now:Nn \@mainaux \ExplSyntaxOff
\bool_set_true:N \l_@@_code_before_bool
@@ -9129,7 +9160,7 @@ version 2005/12/01 or later.
\@@_restore_iRow_jCol:
% \end{macrocode}
% The command |\CT@arc@| contains the instruction of color for the rules of the
-% array\footnote{e.g. |\color[rgb]{0.5,0.5,0}|)}. This command is used by
+% array\footnote{e.g. |\color[rgb]{0.5,0.5,0}|}. This command is used by
% |\CT@arc@| but we use it also for compatibility with \pkg{colortbl}. But we
% want also to be able to use color for the rules of the array when
% \pkg{colortbl} is \emph{not} loaded. That's why we do the following
@@ -9154,24 +9185,27 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_adjust_pos_of_blocks_seq:
{
- \seq_gclear:N \g_tmpa_seq
- \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
+ \seq_gset_map_x:NNn \g_@@_pos_of_blocks_seq \g_@@_pos_of_blocks_seq
{ \@@_adjust_pos_of_blocks_seq_i:nnnn ##1 }
- \seq_gset_eq:NN \g_@@_pos_of_blocks_seq \g_tmpa_seq
}
% \end{macrocode}
%
+% The following command must \emph{not} be protected.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_adjust_pos_of_blocks_seq_i:nnnn #1 #2 #3 #4
+\cs_new:Npn \@@_adjust_pos_of_blocks_seq_i:nnnn #1 #2 #3 #4
{
- \int_compare:nNnTF { #3 } > { 99 }
- { \int_set_eq:NN \l_tmpa_int \c@iRow }
- { \int_set:Nn \l_tmpa_int { #3 } }
- \int_compare:nNnTF { #4 } > { 99 }
- { \int_set_eq:NN \l_tmpb_int \c@jCol }
- { \int_set:Nn \l_tmpb_int { #4 } }
- \seq_gput_right:Nx \g_tmpa_seq
- { { #1 } { #2 } { \int_use:N \l_tmpa_int } { \int_use:N \l_tmpb_int } }
+ { #1 }
+ { #2 }
+ {
+ \int_compare:nNnTF { #3 } > { 99 }
+ { \int_use:N \c@iRow }
+ { #3 }
+ }
+ {
+ \int_compare:nNnTF { #4 } > { 99 }
+ { \int_use:N \c@jCol }
+ { #4 }
+ }
}
% \end{macrocode}
%
@@ -10403,7 +10437,7 @@ version 2005/12/01 or later.
% deprecated.
% \begin{macrocode}
{
- \exp_args:Ne \str_case:nn { \tl_lower_case:n { #2 } }
+ \exp_args:Ne \str_case:nn { \str_foldcase:n { #2 } }
{
l { > \@@_Cell: l < \@@_end_Cell: }
r { > \@@_Cell: r < \@@_end_Cell: }
@@ -10456,7 +10490,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new:Npn \@@_Hdotsfor:
{
- \int_compare:nNnTF \c@jCol = 0
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn \c@jCol = 0 }
+ { \int_compare_p:nNn \l_@@_first_col_int = 0 }
{
\bool_if:NTF \g_@@_after_col_zero_bool
{
@@ -10807,32 +10843,44 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
-%
% \bigskip
-% Here an example : |\@@_rowcolor {red!15} {1,3,5-7,10-}|
+% The following command uses two implicit arguments : |\l_@@_rows_tl| and
+% |\l_@@_cols_tl| which are specifications for a set of row and a set of
+% columns. The cartesian product is filled with the current color.
% \begin{macrocode}
-\NewDocumentCommand \@@_rowcolor { O { } m m }
+\cs_new_protected:Npn \@@_cartesian_fill:
{
- \tl_if_blank:nF { #2 }
- {
- \pgfpicture
- \pgf@relevantforpicturesizefalse
- \tl_if_empty:nTF { #1 } \color { \color [ #1 ] } { #2 }
% \end{macrocode}
-% |\l_tmpa_dim| is the $x$-value of the right side of the rows.
+% We begin the loop over the columns.
% \begin{macrocode}
- \@@_qpoint:n { col - 1}
- \int_compare:nNnTF \l_@@_first_col_int = 0
- { \dim_set:Nn \l_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
+ \clist_map_inline:Nn \l_@@_cols_tl
+ {
+ \tl_set:Nn \l_tmpa_tl { ##1 }
+ \tl_if_in:NnTF \l_tmpa_tl { - }
+ { \@@_cut_on_hyphen:w ##1 \q_stop }
+ { \@@_cut_on_hyphen:w ##1 - ##1 \q_stop }
+ \tl_if_empty:NT \l_tmpa_tl { \tl_set:Nn \l_tmpa_tl { 1 } }
+ \tl_if_empty:NT \l_tmpb_tl
+ { \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
+ \int_compare:nNnT \l_tmpb_tl > \c@jCol
+ { \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
+ \@@_qpoint:n { col - \l_tmpa_tl }
+ \bool_lazy_and:nnTF
+ { \str_if_eq_p:Vn \l_tmpa_tl 0 }
+ { \int_compare_p:nNn \l_@@_first_col_int > 0 }
{ \dim_set:Nn \l_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
- \@@_qpoint:n { col - \@@_succ:n \c@jCol }
+ { \dim_set:Nn \l_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
+ \@@_qpoint:n { col - \@@_succ:n \l_tmpb_tl }
\dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \arrayrulewidth }
- \clist_map_inline:nn { #3 }
+% \end{macrocode}
+% We begin the loop over the rows
+% \begin{macrocode}
+ \clist_map_inline:Nn \l_@@_rows_tl
{
- \tl_set:Nn \l_tmpa_tl { ##1 }
+ \tl_set:Nn \l_tmpa_tl { ####1 }
\tl_if_in:NnTF \l_tmpa_tl { - }
- { \@@_cut_on_hyphen:w ##1 \q_stop }
- { \@@_cut_on_hyphen:w ##1 - ##1 \q_stop }
+ { \@@_cut_on_hyphen:w ####1 \q_stop }
+ { \@@_cut_on_hyphen:w ####1 - ####1 \q_stop }
\tl_if_empty:NT \l_tmpa_tl { \tl_set:Nn \l_tmpa_tl { 1 } }
\tl_if_empty:NT \l_tmpb_tl
{ \tl_set:Nx \l_tmpb_tl { \int_use:N \c@iRow } }
@@ -10849,12 +10897,35 @@ version 2005/12/01 or later.
{ \pgfpoint \l_tmpc_dim \l_tmpd_dim }
{ \pgfpoint \l_tmpa_dim \l_tmpb_dim }
}
- \pgfusepathqfill
+ }
+ \pgfusepathqfill
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% Here is an example : |\@@_rowcolor {red!15} {1,3,5-7,10-}|
+% \begin{macrocode}
+\NewDocumentCommand \@@_rowcolor { O { } m m }
+ {
+ \tl_if_blank:nF { #2 }
+ {
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+ \tl_if_empty:nTF { #1 } \color { \color [ #1 ] } { #2 }
+ \tl_set:Nn \l_@@_rows_tl { #3 }
+ \tl_set:Nn \l_@@_cols_tl { - }
+% \end{macrocode}
+% The command |\@@_cartesian_fill:| takes in two implicit arguments:
+% |\l_@@_cols_tl| and |\l_@@_row_tl|.
+% \begin{macrocode}
+ \@@_cartesian_fill:
\endpgfpicture
}
}
% \end{macrocode}
%
+%
% \bigskip
% Here an example : |\@@_columncolor:nn {red!15} {1,3,5-7,10-}|
% \begin{macrocode}
@@ -10865,215 +10936,215 @@ version 2005/12/01 or later.
\pgfpicture
\pgf@relevantforpicturesizefalse
\tl_if_empty:nTF { #1 } \color { \color [ #1 ] } { #2 }
- \@@_qpoint:n { row - 1 }
+ \tl_set:Nn \l_@@_rows_tl { - }
+ \tl_set:Nn \l_@@_cols_tl { #3 }
% \end{macrocode}
-% |\l_tmpa_dim| is the $y$-value of the top of the columns et |\l_tmpb_dim| is
-% the $y$-value of the bottom.
+% The command |\@@_cartesian_fill:| takes in two implicit arguments:
+% |\l_@@_cols_tl| and |\l_@@_row_tl|.
% \begin{macrocode}
- \dim_set:Nn \l_tmpa_dim {\pgf@y + 0.5 \arrayrulewidth }
- \@@_qpoint:n { row - \@@_succ:n \c@iRow }
- \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
- \clist_map_inline:nn { #3 }
- {
- \tl_set:Nn \l_tmpa_tl { ##1 }
- \tl_if_in:NnTF \l_tmpa_tl { - }
- { \@@_cut_on_hyphen:w ##1 \q_stop }
- { \@@_cut_on_hyphen:w ##1 - ##1 \q_stop }
- \tl_if_empty:NT \l_tmpa_tl { \tl_set:Nn \l_tmpa_tl { 1 } }
- \tl_if_empty:NT \l_tmpb_tl
- { \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
- \int_compare:nNnT \l_tmpb_tl > \c@jCol
- { \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
-% \end{macrocode}
-% Now, the numbers of both columns are in |\l_tmpa_tl| and |\l_tmpb_tl|.
-% \begin{macrocode}
- \@@_qpoint:n { col - \l_tmpa_tl }
- \int_compare:nNnTF \l_@@_first_col_int = \l_tmpa_tl
- { \dim_set:Nn \l_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
- { \dim_set:Nn \l_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
- \@@_qpoint:n { col - \@@_succ:n \l_tmpb_tl }
- \dim_set:Nn \l_tmpd_dim { \pgf@x + 0.5 \arrayrulewidth }
- \pgfpathrectanglecorners
- { \pgfpoint \l_tmpc_dim \l_tmpa_dim }
- { \pgfpoint \l_tmpd_dim \l_tmpb_dim }
- }
- \pgfusepathqfill
+ \@@_cartesian_fill:
\endpgfpicture
}
}
% \end{macrocode}
%
+%
% \bigskip
-% Here an example : |\@@_cellcolor[rgb]{0.5,0.5,0}{2-3,3-4,4-5,5-6}|
+% Here is an example : |\@@_rectanglecolor{red!15}{2-3}{5-6}|
% \begin{macrocode}
-\NewDocumentCommand \@@_cellcolor { O { } m m }
+\NewDocumentCommand \@@_rectanglecolor { O { } m m m }
{
\tl_if_blank:nF { #2 }
{
\pgfpicture
\pgf@relevantforpicturesizefalse
\tl_if_empty:nTF { #1 } \color { \color [ #1 ] } { #2 }
- \clist_map_inline:nn { #3 }
- {
- \@@_cut_on_hyphen:w ##1 \q_stop
- \@@_qpoint:n { row - \l_tmpa_tl }
- \bool_lazy_and:nnT
- { \int_compare_p:n { \l_tmpa_tl <= \c@iRow } }
- { \int_compare_p:n { \l_tmpb_tl <= \c@jCol } }
- {
- \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
- \@@_qpoint:n { row - \@@_succ:n \l_tmpa_tl }
- \dim_set:Nn \l_tmpa_dim { \pgf@y + 0.5 \arrayrulewidth }
- \@@_qpoint:n { col - \l_tmpb_tl }
- \int_compare:nNnTF \l_@@_first_col_int = \l_tmpb_tl
- { \dim_set:Nn \l_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
- { \dim_set:Nn \l_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
- \@@_qpoint:n { col - \@@_succ:n \l_tmpb_tl }
- \dim_set:Nn \l_tmpd_dim { \pgf@x + 0.5 \arrayrulewidth }
- \pgfpathrectanglecorners
- { \pgfpoint \l_tmpc_dim \l_tmpb_dim }
- { \pgfpoint \l_tmpd_dim \l_tmpa_dim }
- }
- }
- \pgfusepathqfill
+ \@@_rectanglecolor_i:nn { #3 } { #4 }
\endpgfpicture
}
}
% \end{macrocode}
%
% \bigskip
-% Here an example : |\@@_rectanglecolor{red!15}{2-3}{5-6}|
% \begin{macrocode}
-\NewDocumentCommand \@@_rectanglecolor { O { } m m m }
+\cs_new_protected:Npn \@@_rectanglecolor_i:nn #1 #2
+ {
+ \@@_cut_on_hyphen:w #1 \q_stop
+ \tl_clear_new:N \l_tmpc_tl
+ \tl_clear_new:N \l_tmpd_tl
+ \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
+ \@@_cut_on_hyphen:w #2 \q_stop
+ \tl_set:Nx \l_@@_rows_tl { \l_tmpc_tl - \l_tmpa_tl }
+ \tl_set:Nx \l_@@_cols_tl { \l_tmpd_tl - \l_tmpb_tl }
+% \end{macrocode}
+% The command |\@@_cartesian_fill:| takes in two implicit arguments:
+% |\l_@@_cols_tl| and |\l_@@_row_tl|.
+% \begin{macrocode}
+ \@@_cartesian_fill:
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% Here is an example : |\@@_cellcolor[rgb]{0.5,0.5,0}{2-3,3-4,4-5,5-6}|
+% \begin{macrocode}
+\NewDocumentCommand \@@_cellcolor { O { } m m }
{
\tl_if_blank:nF { #2 }
{
\pgfpicture
\pgf@relevantforpicturesizefalse
\tl_if_empty:nTF { #1 } \color { \color [ #1 ] } { #2 }
- \@@_cut_on_hyphen:w #3 \q_stop
- \bool_lazy_and:nnT
- { \int_compare_p:n { \l_tmpa_tl <= \c@iRow } }
- { \int_compare_p:n { \l_tmpb_tl <= \c@jCol } }
- {
- \@@_qpoint:n { row - \l_tmpa_tl }
- \dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
- \@@_qpoint:n { col - \l_tmpb_tl }
- \int_compare:nNnTF \l_@@_first_col_int = \l_tmpb_tl
- { \dim_set:Nn \l_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
- { \dim_set:Nn \l_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
- \@@_cut_on_hyphen:w #4 \q_stop
- \int_compare:nNnT \l_tmpa_tl > \c@iRow
- { \tl_set:Nx \l_tmpa_tl { \int_use:N \c@iRow } }
- \int_compare:nNnT \l_tmpb_tl > \c@jCol
- { \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
- \@@_qpoint:n { row - \@@_succ:n \l_tmpa_tl }
- \dim_set:Nn \l_tmpa_dim { \pgf@y + 0.5 \arrayrulewidth }
- \@@_qpoint:n { col - \@@_succ:n \l_tmpb_tl }
- \dim_set:Nn \l_tmpd_dim { \pgf@x + 0.5 \arrayrulewidth }
- \pgfpathrectanglecorners
- { \pgfpoint \l_tmpc_dim \l_tmpb_dim }
- { \pgfpoint \l_tmpd_dim \l_tmpa_dim }
- \pgfusepathqfill
- }
+ \clist_map_inline:nn { #3 }
+ { \@@_rectanglecolor_i:nn { ##1 } { ##1 } }
+ \pgfusepathqfill
\endpgfpicture
}
}
% \end{macrocode}
-%
-%
+%
% \bigskip
-% The command |\rowcolors| (accessible in the |code-before|) is inspired by the
-% command |\rowcolors| of the package \pkg{xcolor} (with the option |table|).
-% However, the command |\rowcolors| of \pkg{nicematrix} has \emph{not} the
-% optional argument of the command |\rowcolors| of \pkg{xcolor}. Here is an
-% example: |\rowcolors{1}{blue!10}{}[respect-blocks]|.
-%
-% The last optional argument is for options. As of now, there is only one key
-% available : |respect-blocks|.
-%
% \begin{macrocode}
\keys_define:nn { NiceMatrix / rowcolors }
{
respect-blocks .bool_set:N = \l_@@_respect_blocks_bool ,
respect-blocks .default:n = true ,
+ cols .tl_set:N = \l_@@_cols_tl ,
+ restart .bool_set:N = \l_@@_rowcolors_restart_bool ,
+ restart .default:n = true ,
unknown .code:n = \@@_error:n { Unknown~option~for~rowcolors }
}
% \end{macrocode}
+%
+% \medskip
+% The command |\rowcolors| (accessible in the |code-before|) is inspired by the
+% command |\rowcolors| of the package \pkg{xcolor} (with the option |table|).
+% However, the command |\rowcolors| of \pkg{nicematrix} has \emph{not} the
+% optional argument of the command |\rowcolors| of \pkg{xcolor}. Here is an
+% example: |\rowcolors{1}{blue!10}{}[respect-blocks]|.
%
+% |#1| (optional) is the color space ;
+% |#2| is a list of intervals of rows ;
+% |#3| is the first color ;
+% |#4| is the second color ;
+% |#5| is for the optional list of pairs key-value.
% \begin{macrocode}
\NewDocumentCommand \@@_rowcolors { O { } m m m O { } }
{
+% \end{macrocode}
+% The group is for the options.
+% \begin{macrocode}
+ \group_begin:
+ \tl_clear_new:N \l_@@_cols_tl
+ \tl_set:Nn \l_@@_cols_tl { - }
\keys_set:nn { NiceMatrix / rowcolors } { #5 }
- \bool_lazy_and:nnTF
- \l_@@_respect_blocks_bool
- { \cs_if_exist_p:c { c_@@_pos_of_blocks_ \int_use:N \g_@@_env_int _ seq } }
- { \@@_rowcolors_i:nnnn { #1 } { #2 } { #3 } { #4 } }
- {
- \int_step_inline:nnn { #2 } { \int_use:N \c@iRow }
- {
- \int_if_odd:nTF { ##1 }
- { \@@_rowcolor [ #1 ] { #3 } }
- { \@@_rowcolor [ #1 ] { #4 } }
- { ##1 }
- }
- }
- }
% \end{macrocode}
-%
-%
+% The boolean |\l_tmpa_bool| will indicate whereas we are in a row of the first
+% color or of the second color.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_rowcolors_i:nnnn #1 #2 #3 #4
- {
- \seq_set_eq:Nc \l_tmpb_seq
- { c_@@_pos_of_blocks_ \int_use:N \g_@@_env_int _ seq }
+ \bool_set_true:N \l_tmpa_bool
+ \bool_lazy_and:nnT
+ \l_@@_respect_blocks_bool
+ {
+ \cs_if_exist_p:c
+ { c_@@_pos_of_blocks_ \int_use:N \g_@@_env_int _ seq } }
+ {
% \end{macrocode}
% We don't want to take into account a block which is completely in the ``first
-% column'' of (number $0$) or in the ``last column''.
+% column'' of (number $0$) or in the ``last column'' and that's why we filter
+% the sequence of the blocks (in a the sequence |\l_tmpa_seq|).
% \begin{macrocode}
- \seq_set_filter:NNn \l_tmpa_seq \l_tmpb_seq
- { \@@_not_in_exterior_p:nnnn ##1 }
-% \end{macrocode}
+ \seq_set_eq:Nc \l_tmpb_seq
+ { c_@@_pos_of_blocks_ \int_use:N \g_@@_env_int _ seq }
+ \seq_set_filter:NNn \l_tmpa_seq \l_tmpb_seq
+ { \@@_not_in_exterior_p:nnnn ##1 }
+ }
+ \pgfpicture
+ \pgf@relevantforpicturesizefalse
+ \clist_map_inline:nn { #2 }
+ {
+ \tl_set:Nn \l_tmpa_tl { ##1 }
+ \tl_if_in:NnTF \l_tmpa_tl { - }
+ { \@@_cut_on_hyphen:w ##1 \q_stop }
+ { \tl_set:Nx \l_tmpb_tl { \int_use:N \c@iRow } }
+% \end{macrocode}
% The counter |\l_tmpa_int| will be the index of the loop.
% \begin{macrocode}
- \int_set:Nn \l_tmpa_int { #2 }
+ \int_set:Nn \l_tmpa_int \l_tmpa_tl
+ \bool_if:NTF \l_@@_rowcolors_restart_bool
+ { \bool_set_true:N \l_tmpa_bool }
+ { \bool_set:Nn \l_tmpa_bool { \int_if_odd_p:n { \l_tmpa_tl } } }
+ \int_zero_new:N \l_tmpc_int
+ \int_set:Nn \l_tmpc_int \l_tmpb_tl
+ \int_do_until:nNnn \l_tmpa_int > \l_tmpc_int
+ {
% \end{macrocode}
-% The boolean |\l_tmpa_bool| will indicate whereas we are in a row of the first
-% color or of the second color.
+% We will compute in |\l_tmpb_int| the last row of the ``block''.
% \begin{macrocode}
- \bool_set_false:N \l_tmpa_bool
+ \int_set_eq:NN \l_tmpb_int \l_tmpa_int
% \end{macrocode}
-% We recall that, in the |code-before|, |\c@iRow| is the total number of rows of
-% the array (excepted the potential exterior rows).
+% If the key |respect-blocks| is in force, we have to adjust that value (of
+% course).
% \begin{macrocode}
- \int_do_until:nNnn \l_tmpa_int > \c@iRow
- {
- \seq_set_filter:NNn \l_tmpb_seq \l_tmpa_seq
- { \@@_intersect_our_row_p:nnnn ##1 }
+ \bool_lazy_and:nnT
+ \l_@@_respect_blocks_bool
+ {
+ \cs_if_exist_p:c
+ { c_@@_pos_of_blocks_ \int_use:N \g_@@_env_int _ seq }
+ }
+ {
+ \seq_set_filter:NNn \l_tmpb_seq \l_tmpa_seq
+ { \@@_intersect_our_row_p:nnnn ####1 }
+ \seq_map_inline:Nn \l_tmpb_seq { \@@_rowcolors_i:nnnn ####1 }
% \end{macrocode}
-% We compute in |\l_tmpb_int| the last row covered by a block.
+% Now, the last row of the block is computed in |\l_tmpb_int|.
% \begin{macrocode}
- \int_set_eq:NN \l_tmpb_int \l_tmpa_int
- \seq_map_inline:Nn \l_tmpb_seq { \@@_rowcolors_ii:nnnn ##1 }
- \bool_if:NTF \l_tmpa_bool
- {
- \@@_rowcolor [ #1 ] { #4 }
- { \int_use:N \l_tmpa_int - \int_use:N \l_tmpb_int }
- \bool_set_false:N \l_tmpa_bool
- }
- {
- \@@_rowcolor [ #1 ] { #3 }
+ }
+ \tl_set:Nx \l_@@_rows_tl
{ \int_use:N \l_tmpa_int - \int_use:N \l_tmpb_int }
- \bool_set_true:N \l_tmpa_bool
+ \bool_if:NTF \l_tmpa_bool
+ {
+ \tl_if_blank:nF { #3 }
+ {
+ \tl_if_empty:nTF { #1 }
+ \color
+ { \color [ #1 ] }
+ { #3 }
+% \end{macrocode}
+% The command |\@@_cartesian_fill:| takes in two implicit arguments:
+% |\l_@@_cols_tl| and |\l_@@_row_tl|.
+% \begin{macrocode}
+ \@@_cartesian_fill:
+ }
+ \bool_set_false:N \l_tmpa_bool
+ }
+ {
+ \tl_if_blank:nF { #4 }
+ {
+ \tl_if_empty:nTF { #1 }
+ \color
+ { \color [ #1 ] }
+ { #4 }
+% \end{macrocode}
+% The command |\@@_cartesian_fill:| takes in two implicit arguments:
+% |\l_@@_cols_tl| and |\l_@@_row_tl|.
+% \begin{macrocode}
+ \@@_cartesian_fill:
+ }
+ \bool_set_true:N \l_tmpa_bool
+ }
+ \int_set:Nn \l_tmpa_int { \l_tmpb_int + 1 }
}
- \int_set:Nn \l_tmpa_int { \l_tmpb_int + 1 }
}
+ \endpgfpicture
+ \group_end:
}
% \end{macrocode}
%
% \bigskip
% \begin{macrocode}
-\cs_new_protected:Npn \@@_rowcolors_ii:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_rowcolors_i:nnnn #1 #2 #3 #4
{
\int_compare:nNnT { #3 } > \l_tmpb_int
{ \int_set:Nn \l_tmpb_int { #3 } }
@@ -11110,6 +11181,7 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+%
% \bigskip
% \begin{macrocode}
\NewDocumentCommand \@@_chessboardcolors { O { } m m }
@@ -12614,21 +12686,10 @@ version 2005/12/01 or later.
}
% \end{macrocode}
% Now, |\l_tmpa_tl| contains an ``object'' corresponding to the position of the
-% block whith four components, each of them surrounded by curly brackets:
+% block with four components, each of them surrounded by curly brackets:
%
% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}|.
%
-% We store this information in the sequence |\g_@@_pos_of_blocks_seq|.
-% \begin{macrocode}
- \seq_gput_left:NV \g_@@_pos_of_blocks_seq \l_tmpa_tl
-% \end{macrocode}
-% We also store a complete description of the block in the sequence
-% |\g_@@_blocks_seq|. Of course, the sequences |\g_@@_pos_of_blocks_seq| and
-% |\g_@@_blocks_seq| are redundant, but it's for efficiency. In
-% |\g_@@_blocks_seq|, each block is represented by an ``object'' with six
-% components:
-%
-% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|\textsl{options}|}{|\textsl{contents}|}|.
%
% \medskip
% If the block is mono-column or mono-row, we have a special treatment. That's
@@ -12771,7 +12832,7 @@ version 2005/12/01 or later.
% alignement and that's why we put a key corresponding to the value of
% |\l_@@_pos_of_block_tl|, which is fixed by the type of current column.
% \begin{macrocode}
- { #3 , \l_@@_pos_of_block_tl }
+ { \exp_not:n { #3 } , \l_@@_pos_of_block_tl }
{
\box_use_drop:c
{ g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
@@ -12791,7 +12852,7 @@ version 2005/12/01 or later.
\seq_gput_right:Nx \g_@@_blocks_seq
{
\l_tmpa_tl
- { #3 }
+ { \exp_not:n { #3 } }
\exp_not:n
{
{
@@ -12886,14 +12947,7 @@ version 2005/12/01 or later.
%
% \begin{macrocode}
\cs_new_protected:Npn \@@_Block_iii:nnnnnn #1 #2 #3 #4 #5 #6
- {
-% \end{macrocode}
-% The group is for the keys.
-% \begin{macrocode}
- \group_begin:
- \keys_set:nn { NiceMatrix / Block / SecondPass } { #5 }
-% \end{macrocode}
-%
+ {
% The integer |\l_@@_last_row_int| will be the last row of the block and
% |\l_@@_last_col_int| its last column.
% \begin{macrocode}
@@ -12915,7 +12969,42 @@ version 2005/12/01 or later.
\int_compare:nNnTF { #4 } > { 99 }
{ \int_set_eq:NN \l_@@_last_col_int \c@jCol }
{ \int_set:Nn \l_@@_last_col_int { #4 } }
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn \l_@@_last_row_int > \g_@@_row_total_int }
+ { \int_compare_p:nNn \l_@@_last_col_int > \g_@@_col_total_int }
+ {
+ \int_compare:nTF
+ { \l_@@_last_col_int <= \g_@@_static_num_of_col_int }
+ {
+ \msg_error:nnnn { nicematrix } { Block~too~large~2 } { #1 } { #2 }
+ \@@_msg_redirect_name:nn { Block~too~large~2 } { none }
+ \group_begin:
+ \globaldefs = 1
+ \@@_msg_redirect_name:nn { columns~not~used } { none }
+ \group_end:
+ }
+ { \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
+ }
+ { \@@_Block_iv:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_iv:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+% \end{macrocode}
+% The sequence of the positions of the blocks will be used when drawing the rules
+% (in fact, there is also the |\multicolumn| and the |\diagbox| in that sequence).
+% \begin{macrocode}
+ \seq_gput_left:Nn \g_@@_pos_of_blocks_seq { { #1 } { #2 } { #3 } { #4 } }
% \end{macrocode}
+%
+% The group is for the keys.
+% \begin{macrocode}
+ \group_begin:
+ \keys_set:nn { NiceMatrix / Block / SecondPass } { #5 }
+% \end{macrocode}
+%
%
% \begin{macrocode}
\bool_lazy_or:nnT
@@ -12925,7 +13014,7 @@ version 2005/12/01 or later.
\tl_gput_right:Nx \g_nicematrix_code_after_tl
{
\@@_stroke_block:nnn
- { #5 }
+ { \exp_not:n { #5 } }
{ #1 - #2 }
{ \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
}
@@ -12940,7 +13029,7 @@ version 2005/12/01 or later.
\tl_gput_right:Nx \g_nicematrix_code_before_tl
{
\exp_not:N \rectanglecolor
- { \l_@@_fill_tl }
+ { \exp_not:V \l_@@_fill_tl }
{ #1 - #2 }
{ \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
}
@@ -12965,13 +13054,8 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{macrocode}
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \l_@@_last_row_int > \g_@@_row_total_int }
- { \int_compare_p:nNn \l_@@_last_col_int > \g_@@_col_total_int }
- { \msg_error:nnnn { nicematrix } { Block~too~large } { #1 } { #2 } }
- {
- \hbox_set:Nn \l_@@_cell_box { #6 }
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+ \hbox_set:Nn \l_@@_cell_box { #6 }
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
% \end{macrocode}
%
% \bigskip
@@ -13024,17 +13108,17 @@ version 2005/12/01 or later.
% \bigskip
% The construction of the node corresponding to the merged cells.
% \begin{macrocode}
- \pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { row - #1 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- \@@_qpoint:n { row - \@@_succ:n { \l_@@_last_row_int } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@y
- \@@_qpoint:n { col - \@@_succ:n { \l_@@_last_col_int } }
- \dim_set_eq:NN \l_tmpd_dim \pgf@x
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { row - #1 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ \@@_qpoint:n { row - \@@_succ:n { \l_@@_last_row_int } }
+ \dim_set_eq:NN \l_tmpc_dim \pgf@y
+ \@@_qpoint:n { col - \@@_succ:n { \l_@@_last_col_int } }
+ \dim_set_eq:NN \l_tmpd_dim \pgf@x
% \end{macrocode}
%
% We construct the node for the block with the name |(#1-#2-block)|.
@@ -13042,66 +13126,66 @@ version 2005/12/01 or later.
% The function |\@@_pgf_rect_node:nnnnn| takes in as arguments the name of the node
% and the four coordinates of two opposite corner points of the rectangle.
% \begin{macrocode}
- \begin { pgfscope }
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - #1 - #2 - block }
- \l_tmpb_dim \l_tmpa_dim \l_tmpd_dim \l_tmpc_dim
- \end { pgfscope }
+ \begin { pgfscope }
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - #1 - #2 - block }
+ \l_tmpb_dim \l_tmpa_dim \l_tmpd_dim \l_tmpc_dim
+ \end { pgfscope }
% \end{macrocode}
%
% \medskip
% We construct the |short| node.
% \begin{macrocode}
- \dim_set_eq:NN \l_tmpb_dim \c_max_dim
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
+ \dim_set_eq:NN \l_tmpb_dim \c_max_dim
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
% \end{macrocode}
% We recall that, when a cell is empty, no (normal) node is created in that
% cell. That's why we test the existence of the node before using it.
% \begin{macrocode}
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
+ {
+ \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
{
- \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
- {
- \pgfpointanchor { \@@_env: - ##1 - #2 } { west }
- \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
- }
+ \pgfpointanchor { \@@_env: - ##1 - #2 } { west }
+ \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
}
}
+ }
% \end{macrocode}
% If all the cells of the column were empty, |\l_tmpb_dim| has still the same
% value |\c_max_dim|. In that case, you use for |\l_tmpb_dim| the value of the
% position of the vertical rule.
% \begin{macrocode}
- \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
- {
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- }
- \dim_set:Nn \l_tmpd_dim { - \c_max_dim }
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
+ {
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ }
+ \dim_set:Nn \l_tmpd_dim { - \c_max_dim }
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
{
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
+ \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
{
- \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
- {
- \pgfpointanchor
- { \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
- { east }
- \dim_set:Nn \l_tmpd_dim { \dim_max:nn \l_tmpd_dim \pgf@x }
- }
+ \pgfpointanchor
+ { \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
+ { east }
+ \dim_set:Nn \l_tmpd_dim { \dim_max:nn \l_tmpd_dim \pgf@x }
}
}
- \dim_compare:nNnT \l_tmpd_dim = { - \c_max_dim }
- {
- \@@_qpoint:n { col - \@@_succ:n { \l_@@_last_col_int } }
- \dim_set_eq:NN \l_tmpd_dim \pgf@x
- }
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - #1 - #2 - block - short }
- \l_tmpb_dim \l_tmpa_dim \l_tmpd_dim \l_tmpc_dim
+ }
+ \dim_compare:nNnT \l_tmpd_dim = { - \c_max_dim }
+ {
+ \@@_qpoint:n { col - \@@_succ:n { \l_@@_last_col_int } }
+ \dim_set_eq:NN \l_tmpd_dim \pgf@x
+ }
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - #1 - #2 - block - short }
+ \l_tmpb_dim \l_tmpa_dim \l_tmpd_dim \l_tmpc_dim
% \end{macrocode}
%
% \medskip
@@ -13109,37 +13193,37 @@ version 2005/12/01 or later.
% node'' for the block. The function |\@@_pgf_rect_node:nnnnn| takes in as
% arguments the name of the node and two \textsc{pgf} points.
% \begin{macrocode}
- \bool_if:NT \l_@@_medium_nodes_bool
- {
- \@@_pgf_rect_node:nnn
- { \@@_env: - #1 - #2 - block - medium }
- { \pgfpointanchor { \@@_env: - #1 - #2 - medium } { north~west } }
- {
- \pgfpointanchor
- { \@@_env:
- - \int_use:N \l_@@_last_row_int
- - \int_use:N \l_@@_last_col_int - medium
- }
- { south~east }
+ \bool_if:NT \l_@@_medium_nodes_bool
+ {
+ \@@_pgf_rect_node:nnn
+ { \@@_env: - #1 - #2 - block - medium }
+ { \pgfpointanchor { \@@_env: - #1 - #2 - medium } { north~west } }
+ {
+ \pgfpointanchor
+ { \@@_env:
+ - \int_use:N \l_@@_last_row_int
+ - \int_use:N \l_@@_last_col_int - medium
}
- }
+ { south~east }
+ }
+ }
% \end{macrocode}
% \medskip
% Now, we will put the label of the block beginning with the case of a |\Block|
% of one row.
% \begin{macrocode}
- \int_compare:nNnTF { #1 } = { #3 }
- {
+ \int_compare:nNnTF { #1 } = { #3 }
+ {
% \end{macrocode}
% We take into account the case of a block of one row in the ``first row'' or
% the ``last row''.
% \begin{macrocode}
- \int_compare:nNnTF { #1 } = 0
- { \l_@@_code_for_first_row_tl }
- {
- \int_compare:nNnT { #1 } = \l_@@_last_row_int
- \l_@@_code_for_last_row_tl
- }
+ \int_compare:nNnTF { #1 } = 0
+ { \l_@@_code_for_first_row_tl }
+ {
+ \int_compare:nNnT { #1 } = \l_@@_last_row_int
+ \l_@@_code_for_last_row_tl
+ }
% \end{macrocode}
% If the block has only one row, we want the label of the block perfectly
% aligned on the baseline of the row. That's why we have constructed a
@@ -13150,33 +13234,33 @@ version 2005/12/01 or later.
% \end{macrocode}
% We retrieve (in |\pgf@x|) the $x$-value of the center of the block.
% \begin{macrocode}
- \pgfpointanchor
- { \@@_env: - #1 - #2 - block - short }
+ \pgfpointanchor
+ { \@@_env: - #1 - #2 - block - short }
+ {
+ \str_case:Vn \l_@@_pos_of_block_tl
{
- \str_case:Vn \l_@@_pos_of_block_tl
- {
- c { center }
- l { west }
- r { east }
- }
- }
+ c { center }
+ l { west }
+ r { east }
+ }
+ }
% \end{macrocode}
% We put the label of the block which has been composed in |\l_@@_cell_box|.
% \begin{macrocode}
- \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
- \pgfset { inner~sep = \c_zero_dim }
- \pgfnode
- { rectangle }
+ \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
+ \pgfset { inner~sep = \c_zero_dim }
+ \pgfnode
+ { rectangle }
+ {
+ \str_case:Vn \l_@@_pos_of_block_tl
{
- \str_case:Vn \l_@@_pos_of_block_tl
- {
- c { base }
- l { base~west }
- r { base~east }
- }
+ c { base }
+ l { base~west }
+ r { base~east }
}
- { \box_use_drop:N \l_@@_cell_box } { } { }
- }
+ }
+ { \box_use_drop:N \l_@@_cell_box } { } { }
+ }
% \end{macrocode}
%
% \medskip
@@ -13184,45 +13268,44 @@ version 2005/12/01 or later.
% by using the short node (the label of the block has been composed in
% |\l_@@_cell_box|).
% \begin{macrocode}
- {
+ {
% \end{macrocode}
% If we are in the first column, we must put the block as if it was with the key~|r|.
% \begin{macrocode}
- \int_compare:nNnT { #2 } = 0
- { \tl_set:Nn \l_@@_pos_of_block_tl r }
- \bool_if:nT \g_@@_last_col_found_bool
- {
- \int_compare:nNnT { #2 } = \g_@@_col_total_int
- { \tl_set:Nn \l_@@_pos_of_block_tl l }
- }
- \pgftransformshift
- {
- \pgfpointanchor
- { \@@_env: - #1 - #2 - block - short }
- {
- \str_case:Vn \l_@@_pos_of_block_tl
- {
- c { center }
- l { west }
- r { east }
- }
- }
- }
- \pgfset { inner~sep = \c_zero_dim }
- \pgfnode
- { rectangle }
+ \int_compare:nNnT { #2 } = 0
+ { \tl_set:Nn \l_@@_pos_of_block_tl r }
+ \bool_if:nT \g_@@_last_col_found_bool
+ {
+ \int_compare:nNnT { #2 } = \g_@@_col_total_int
+ { \tl_set:Nn \l_@@_pos_of_block_tl l }
+ }
+ \pgftransformshift
+ {
+ \pgfpointanchor
+ { \@@_env: - #1 - #2 - block - short }
{
- \str_case:Vn \l_@@_pos_of_block_tl
+ \str_case:Vn \l_@@_pos_of_block_tl
{
c { center }
l { west }
r { east }
}
}
- { \box_use_drop:N \l_@@_cell_box } { } { }
- }
- \endpgfpicture
- }
+ }
+ \pgfset { inner~sep = \c_zero_dim }
+ \pgfnode
+ { rectangle }
+ {
+ \str_case:Vn \l_@@_pos_of_block_tl
+ {
+ c { center }
+ l { west }
+ r { east }
+ }
+ }
+ { \box_use_drop:N \l_@@_cell_box } { } { }
+ }
+ \endpgfpicture
\group_end:
}
% \end{macrocode}
@@ -13531,7 +13614,7 @@ version 2005/12/01 or later.
%
% \medskip
% However, in each cell of the environment, the command |\CodeAfter| will be
-% linked to the following command |\@@_CodeAfter_i:n| which do \emph{not} begins
+% linked to the following command |\@@_CodeAfter_i:n| which do \emph{not} begin
% with |\omit| (and thus, the user will be able to use |\CodeAfter| without
% error and without the need to prefix by |\omit|.
%
@@ -13603,12 +13686,12 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~for~package }
{
- The~option~'\l_keys_key_tl'~is~unknown. \\
+ The~key~'\l_keys_key_str'~is~unknown. \\
If~you~go~on,~it~will~be~ignored. \\
- For~a~list~of~the~available~options,~type~H~<return>.
+ For~a~list~of~the~available~keys,~type~H~<return>.
}
{
- The~available~options~are~(in~alphabetic~order):~
+ The~available~keys~are~(in~alphabetic~order):~
define-L-C-R,~
footnote,~
footnotehyper,~
@@ -13697,35 +13780,15 @@ version 2005/12/01 or later.
% \bigskip
% \subsection*{Error messages of the package}
%
-% The following command converts all the elements of a sequence (which are token
-% lists) into strings.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_convert_to_str_seq:N #1
- {
- \seq_clear:N \l_tmpa_seq
- \seq_map_inline:Nn #1
- {
- \seq_put_left:Nx \l_tmpa_seq { \tl_to_str:n { ##1 } }
- }
- \seq_set_eq:NN #1 \l_tmpa_seq
- }
-% \end{macrocode}
-%
-% The following command creates a sequence of strings (|str|) from a |clist|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_seq_of_str_from_clist:Nn #1 #2
- {
- \seq_set_from_clist:Nn #1 { #2 }
- \@@_convert_to_str_seq:N #1
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@@_set_seq_of_str_from_clist:Nn \c_@@_types_of_matrix_seq
+\seq_new:N \c_@@_types_of_matrix_seq
+\seq_set_from_clist:Nn \c_@@_types_of_matrix_seq
{
NiceMatrix ,
pNiceMatrix , bNiceMatrix , vNiceMatrix, BNiceMatrix, VNiceMatrix
}
+\seq_set_map_x:NNn \c_@@_types_of_matrix_seq \c_@@_types_of_matrix_seq
+ { \tl_to_str:n { #1 } }
% \end{macrocode}
%
% \bigskip
@@ -13809,9 +13872,8 @@ version 2005/12/01 or later.
\@@_msg_new:nn { columns~not~used }
{
The~preamble~of~your~\@@_full_name_env:\ announces~\int_use:N
- \g_@@_static_num_of_col_int\
- columns~but~you~use~only~\int_use:N \c@jCol.\\
- However,~you~can~go~on.
+ \g_@@_static_num_of_col_int\ columns~but~you~use~only~\int_use:N \c@jCol.\\
+ You~can~go~on~but~the~columns~you~did~not~used~won't~be~created.
}
% \end{macrocode}
%
@@ -13853,25 +13915,25 @@ version 2005/12/01 or later.
\@@_msg_new:nn { bad~option~for~line-style }
{
Since~you~haven't~loaded~Tikz,~the~only~value~you~can~give~to~'line-style'~
- is~'standard'.~If~you~go~on,~this~option~will~be~ignored.
+ is~'standard'.~If~you~go~on,~this~key~will~be~ignored.
}
% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nn { Unknown~option~for~xdots }
{
- As~for~now~there~is~only~three~options~available~here:~'color',~'line-style'~
- and~'shorten'~(and~you~try~to~use~'\l_keys_key_tl').~If~you~go~on,~
- this~option~will~be~ignored.
+ As~for~now~there~is~only~three~key~available~here:~'color',~'line-style'~
+ and~'shorten'~(and~you~try~to~use~'\l_keys_key_str').~If~you~go~on,~
+ this~key~will~be~ignored.
}
% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nn { Unknown~option~for~rowcolors }
{
- As~for~now~there~is~only~one~option~available~here:~'respect-blocks'~
- (and~you~try~to~use~'\l_keys_key_tl').~If~you~go~on,~
- this~option~will~be~ignored.
+ As~for~now~there~is~only~two~keys~available~here:~'cols'~and~'respect-blocks'~
+ (and~you~try~to~use~'\l_keys_key_str').~If~you~go~on,~
+ this~key~will~be~ignored.
}
% \end{macrocode}
%
@@ -13889,7 +13951,7 @@ version 2005/12/01 or later.
\@@_msg_new:nn { ampersand~in~light-syntax }
{
You~can't~use~an~ampersand~(\token_to_str &)~to~separate~columns~because
- ~you~have~used~the~option~'light-syntax'.~This~error~is~fatal.
+ ~you~have~used~the~key~'light-syntax'.~This~error~is~fatal.
}
% \end{macrocode}
%
@@ -13897,8 +13959,8 @@ version 2005/12/01 or later.
\@@_msg_new:nn { double-backslash~in~light-syntax }
{
You~can't~use~\token_to_str:N \\~to~separate~rows~because~you~have~used~
- the~option~'light-syntax'.~You~must~use~the~character~'\l_@@_end_of_row_tl'~
- (set~by~the~option~'end-of-row').~This~error~is~fatal.
+ the~key~'light-syntax'.~You~must~use~the~character~'\l_@@_end_of_row_tl'~
+ (set~by~the~key~'end-of-row').~This~error~is~fatal.
}
% \end{macrocode}
%
@@ -13966,7 +14028,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { last-col~non~empty~for~NiceArray }
{
- In~the~\@@_full_name_env:,~you~must~use~the~option~
+ In~the~\@@_full_name_env:,~you~must~use~the~key~
'last-col'~without~value.\\
However,~you~can~go~on~for~this~time~
(the~value~'\l_keys_value_tl'~will~be~ignored).
@@ -13977,7 +14039,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { last-col~non~empty~for~NiceMatrixOptions }
{
- In~\NiceMatrixoptions,~you~must~use~the~option~
+ In~\NiceMatrixoptions,~you~must~use~the~key~
'last-col'~without~value.\\
However,~you~can~go~on~for~this~time~
(the~value~'\l_keys_value_tl'~will~be~ignored).
@@ -13986,7 +14048,7 @@ version 2005/12/01 or later.
%
%
% \begin{macrocode}
-\@@_msg_new:nn { Block~too~large }
+\@@_msg_new:nn { Block~too~large~1 }
{
You~try~to~draw~a~block~in~the~cell~#1-#2~of~your~matrix~but~the~matrix~is~
too~small~for~that~block. \\
@@ -13994,6 +14056,20 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
+\@@_msg_new:nn { Block~too~large~2 }
+ {
+ The~preamble~of~your~\@@_full_name_env:\ announces~\int_use:N
+ \g_@@_static_num_of_col_int\
+ columns~but~you~use~only~\int_use:N \c@jCol\ and~that's~why~a~block~
+ specified~in~the~cell~#1-#2~can't~be~drawn.~You~should~add~some~ampersands~
+ (&)~at~the~end~of~the~first~row~of~your~
+ \@@_full_name_env:.\\
+ If~you~go~on,this~block~and~maybe~others~will~be~ignored.
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
\@@_msg_new:nn { unknown~column~type }
{
The~column~type~'#1'~in~your~\@@_full_name_env:\
@@ -14015,9 +14091,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { bottomule~without~booktabs }
{
- You~can't~use~the~option~'tabular/bottomrule'~because~you~haven't~
+ You~can't~use~the~key~'tabular/bottomrule'~because~you~haven't~
loaded~'booktabs'.\\
- If~you~go~on,~this~option~will~be~ignored.
+ If~you~go~on,~this~key~will~be~ignored.
}
% \end{macrocode}
%
@@ -14059,7 +14135,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Bad~value~for~letter~for~dotted~lines }
{
- The~value~of~key~'\l_keys_key_tl'~must~be~of~length~1.\\
+ The~value~of~key~'\l_keys_key_str'~must~be~of~length~1.\\
If~you~go~on,~it~will~be~ignored.
}
% \end{macrocode}
@@ -14068,25 +14144,25 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~key~for~Block }
{
- The~key~'\l_keys_key_tl'~is~unknown~for~the~command~\token_to_str:N
+ The~key~'\l_keys_key_str'~is~unknown~for~the~command~\token_to_str:N
\Block.\\ If~you~go~on,~it~will~be~ignored. \\
For~a~list~of~the~available~keys,~type~H~<return>.
}
{
- The~available~options~are~(in~alphabetic~order):~-,~c,~
- color,~l,~and~r.
+ The~available~keys~are~(in~alphabetic~order):~-,~c,~draw,~fill,~l,~
+ line-width~and~r.
}
% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~key~for~notes }
{
- The~key~'\l_keys_key_tl'~is~unknown.\\
+ The~key~'\l_keys_key_str'~is~unknown.\\
If~you~go~on,~it~will~be~ignored. \\
For~a~list~of~the~available~keys~about~notes,~type~H~<return>.
}
{
- The~available~options~are~(in~alphabetic~order):~
+ The~available~keys~are~(in~alphabetic~order):~
bottomrule,~
code-after,~
code-before,~
@@ -14102,13 +14178,13 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~key~for~NiceMatrixOptions }
{
- The~key~'\l_keys_key_tl'~is~unknown~for~the~command~
+ The~key~'\l_keys_key_str'~is~unknown~for~the~command~
\token_to_str:N \NiceMatrixOptions. \\
If~you~go~on,~it~will~be~ignored. \\
For~a~list~of~the~*principal*~available~keys,~type~H~<return>.
}
{
- The~available~options~are~(in~alphabetic~order):~
+ The~available~keys~are~(in~alphabetic~order):~
allow-duplicate-names,~
cell-space-bottom-limit,~
cell-space-top-limit,~
@@ -14148,13 +14224,13 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~for~NiceArray }
{
- The~option~'\l_keys_key_tl'~is~unknown~for~the~environment~
+ The~key~'\l_keys_key_str'~is~unknown~for~the~environment~
\{NiceArray\}. \\
If~you~go~on,~it~will~be~ignored. \\
- For~a~list~of~the~*principal*~available~options,~type~H~<return>.
+ For~a~list~of~the~*principal*~available~keys,~type~H~<return>.
}
{
- The~available~options~are~(in~alphabetic~order):~
+ The~available~keys~are~(in~alphabetic~order):~
b,~
baseline,~
c,~
@@ -14202,17 +14278,17 @@ version 2005/12/01 or later.
% \medskip
% This error message is used for the set of keys |NiceMatrix/NiceMatrix| and
% |NiceMatrix/pNiceArray| (but not by |NiceMatrix/NiceArray| because, for this
-% set of keys, there is also the options |t|, |c| and~|b|).
+% set of keys, there is also the keys |t|, |c| and~|b|).
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~for~NiceMatrix }
{
- The~option~'\l_keys_key_tl'~is~unknown~for~the~
+ The~key~'\l_keys_key_str'~is~unknown~for~the~
\@@_full_name_env:. \\
If~you~go~on,~it~will~be~ignored. \\
- For~a~list~of~the~*principal*~available~options,~type~H~<return>.
+ For~a~list~of~the~*principal*~available~keys,~type~H~<return>.
}
{
- The~available~options~are~(in~alphabetic~order):~
+ The~available~keys~are~(in~alphabetic~order):~
b,~
baseline,~
c,~
@@ -14260,13 +14336,13 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~for~NiceTabular }
{
- The~option~'\l_keys_key_tl'~is~unknown~for~the~environment~
+ The~key~'\l_keys_key_str'~is~unknown~for~the~environment~
\{NiceTabular\}. \\
If~you~go~on,~it~will~be~ignored. \\
- For~a~list~of~the~*principal*~available~options,~type~H~<return>.
+ For~a~list~of~the~*principal*~available~keys,~type~H~<return>.
}
{
- The~available~options~are~(in~alphabetic~order):~
+ The~available~keys~are~(in~alphabetic~order):~
b,~
baseline,~
c,~
@@ -14317,7 +14393,7 @@ version 2005/12/01 or later.
the~same~environment~name~twice.~You~can~go~on,~but,~
maybe,~you~will~have~incorrect~results~especially~
if~you~use~'columns-width=auto'.~If~you~don't~want~to~see~this~
- message~again,~use~the~option~'allow-duplicate-names'~in~
+ message~again,~use~the~key~'allow-duplicate-names'~in~
'\token_to_str:N \NiceMatrixOptions'.\\
For~a~list~of~the~names~already~used,~type~H~<return>. \\
}
@@ -14330,8 +14406,8 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Option~auto~for~columns-width }
{
- You~can't~give~the~value~'auto'~to~the~option~'columns-width'~here.~
- If~you~go~on,~the~option~will~be~ignored.
+ You~can't~give~the~value~'auto'~to~the~key~'columns-width'~here.~
+ If~you~go~on,~the~key~will~be~ignored.
}
% \end{macrocode}
%
@@ -14590,7 +14666,7 @@ version 2005/12/01 or later.
% $i$|-|$j$|-block| and, if the creation of the ``medium nodes'' is required, a
% node $i$|-|$j$|-block-medium| is created.
%
-% If the user try to use more columns than allowed by its environment, an error
+% If the user tries to use more columns than allowed by its environment, an error
% is raised by nicematrix (instead of a low-level error).
%
% The package must be loaded with the option |obsolete-environments| if we want
@@ -14640,7 +14716,7 @@ version 2005/12/01 or later.
%
% New environment |{NiceTabular}|
%
-% Commands to color cells, row and columns with a perfect result in the \textsc{pdf}.
+% Commands to color cells, rows and columns with a perfect result in the \textsc{pdf}.
%
% \subsection*{Changes between versions 4.0 and 4.1}
%
@@ -14733,6 +14809,15 @@ version 2005/12/01 or later.
%
% Keys |fill|, |draw| and |line-width| for the command |\Block|.
%
+% \subsection*{Changes between versions 5.7 and 5.8}
+%
+% Keys |cols| and |restart| of the command |\rowcolors| in the |code-before|.
+%
+% Modification of the behaviour of |\\| in the columns of type |p|, |m| or |b|
+% (for a behaviour similar to the environments of \pkg{array}).
+%
+% Better error messages for the command |\Block|.
+%
% \PrintIndex
%
% \tableofcontents
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index 3f0097097d..ac45e01da6 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
Binary files differ