summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-04-10 03:00:55 +0000
committerNorbert Preining <norbert@preining.info>2024-04-10 03:00:55 +0000
commitf58130da9ab2f6181b0b2ca4e02895b11d902e20 (patch)
tree3e7d142983aab069b10f920bb36a95b9fb1af620 /macros
parenteb49829734b61c8d5a80ff94393e6c28739ee969 (diff)
CTAN sync 202404100300
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/didactic/README.md2
-rw-r--r--macros/latex/contrib/didactic/didactic.dtx103
-rw-r--r--macros/latex/contrib/didactic/didactic.pdfbin264041 -> 268125 bytes
-rw-r--r--macros/latex/contrib/elsarticle/README4
-rw-r--r--macros/latex/contrib/elsarticle/changelog.txt34
-rw-r--r--macros/latex/contrib/elsarticle/doc/elsdoc.pdfbin455186 -> 453698 bytes
-rw-r--r--macros/latex/contrib/elsarticle/doc/elsdoc.tex34
-rw-r--r--macros/latex/contrib/elsarticle/doc/jfigs.pdf910
-rw-r--r--macros/latex/contrib/elsarticle/doc/makefile6
-rw-r--r--macros/latex/contrib/elsarticle/doc/rvdtx.sty6
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-harv.bst8
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-num-names.bst8
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-num.bst8
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-template-harv.tex144
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex141
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-template-num.tex150
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle.dtx76
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle.ins14
-rw-r--r--macros/latex/contrib/elsarticle/manifest.txt9
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md13
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/README.md2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin989141 -> 988498 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx331
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin694405 -> 710596 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin602825 -> 602231 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin515784 -> 515190 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin558796 -> 558195 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin541960 -> 541346 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin543413 -> 542807 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin538385 -> 537794 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin594442 -> 593846 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin516633 -> 516025 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx10
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin753742 -> 753165 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin568212 -> 567628 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx28
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin685783 -> 685171 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx86
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin843712 -> 847957 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin530475 -> 529823 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin427833 -> 427235 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin587633 -> 586990 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin434639 -> 434032 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin464489 -> 463888 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdfbin3225047 -> 3225054 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdfbin126855 -> 127166 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdfbin80858 -> 81413 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx1293
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins4
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdfbin497253 -> 505252 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdfbin62425 -> 57741 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdfbin64884 -> 59684 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdfbin27725 -> 27558 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdfbin187881 -> 188533 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdfbin133725 -> 137149 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdfbin175938 -> 175940 bytes
-rw-r--r--macros/luatex/generic/luakeys/README.md4
-rw-r--r--macros/luatex/generic/luakeys/luakeys-debug.sty4
-rw-r--r--macros/luatex/generic/luakeys/luakeys-debug.tex8
-rw-r--r--macros/luatex/generic/luakeys/luakeys-doc.tex (renamed from macros/luatex/generic/luakeys/documentation.tex)68
-rw-r--r--macros/luatex/generic/luakeys/luakeys.lua230
-rw-r--r--macros/luatex/generic/luakeys/luakeys.pdfbin425955 -> 426656 bytes
-rw-r--r--macros/luatex/generic/luakeys/luakeys.sty4
-rw-r--r--macros/luatex/generic/luakeys/luakeys.tex2
-rw-r--r--macros/luatex/latex/luacensor/OFL.txt93
-rw-r--r--macros/luatex/latex/luacensor/README.txt (renamed from macros/luatex/latex/luacensor/README)7
-rw-r--r--macros/luatex/latex/luacensor/Redacted-Regular.ttfbin0 -> 15892 bytes
-rw-r--r--macros/luatex/latex/luacensor/luacensor-documentation.pdf (renamed from macros/luatex/latex/luacensor/luacensor.pdf)bin158771 -> 159364 bytes
-rw-r--r--macros/luatex/latex/luacensor/luacensor-documentation.tex (renamed from macros/luatex/latex/luacensor/luacensor.tex)10
-rw-r--r--macros/luatex/latex/luacensor/luacensor.sty14
88 files changed, 2726 insertions, 1198 deletions
diff --git a/macros/latex/contrib/didactic/README.md b/macros/latex/contrib/didactic/README.md
index f55168d205..da63a9ab36 100644
--- a/macros/latex/contrib/didactic/README.md
+++ b/macros/latex/contrib/didactic/README.md
@@ -36,7 +36,7 @@ located in `didactic.pdf`.
## Maintainer
-The was authored by Daniel Bosk <daniel+ctan@bosk.se>, who is also the
+The package was authored by Daniel Bosk <daniel+ctan@bosk.se>, who is also the
maintainer.
## License
diff --git a/macros/latex/contrib/didactic/didactic.dtx b/macros/latex/contrib/didactic/didactic.dtx
index 5429b8bf61..a11b78ebc2 100644
--- a/macros/latex/contrib/didactic/didactic.dtx
+++ b/macros/latex/contrib/didactic/didactic.dtx
@@ -22,11 +22,12 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{didactic}
%<*package>
- [2024/04/07 v1.6 didactic]
+ [2024/04/08 v1.7 didactic]
%</package>
%<package>\RequirePackage{xparse}
%<package>\RequirePackage{xkeyval}
%<package>\RequirePackage{xstring}
+%<package>\RequirePackage{etoolbox}
%<package>\RequirePackage{pythontex}
%<package>\RequirePackage{minted}
%<package>\RequirePackage{babel}
@@ -90,6 +91,9 @@
% Adds |fullwidth| environment, handles margins better.
% Adds |sidecaption| environment and |\flushscap| command.
% }
+% \changes{v1.7}{2024/04/08}{%
+% Adds |\NewNoteType| that improves |\newnotetype| with toggles.
+% }
%
% \GetFileInfo{didactic.dtx}
%
@@ -273,6 +277,16 @@
% \bfnote{This is a bold note.}
% \ltnote{Another example of a learning theory note.}
%
+% \DescribeMacro{\NewNoteType}
+% We also have |\NewNoteType| which is almost synonymous to |\newnotetype|.
+% The difference is that |\NewNoteType| doesn't take a command as argument, but
+% just a name:
+% |\NewNoteType{ltnote}{Learning theory}| instead.
+% Then we also get |\ltnoteoff| to turn off the note and |\ltnoteon| to turn it
+% back on.
+%
+% Notes are off by default in |beamer|, but on by default otherwise.
+%
% \StopEventually{}
%
% \section{Implementation}
@@ -969,13 +983,84 @@
% \titlenote{this is the text}
% \begin{macrocode}
\NewDocumentCommand{\newnotetype}{omm}{%
- \IfValueTF{#1}
- {\NewDocumentCommand{#2}{+m}{%
- \indentedmarginpar{#1{#3:} ##1}%
- }}
- {\NewDocumentCommand{#2}{+m}{%
- \indentedmarginpar{\emph{#3:} ##1}%
- }}%
+ \@ifclassloaded{beamer}{%
+ \NewDocumentCommand{#2}{+m}{\relax}
+ }{%
+ \IfValueTF{#1}
+ {\NewDocumentCommand{#2}{+m}{%
+ \indentedmarginpar{#1{#3:} ##1}%
+ }}
+ {\NewDocumentCommand{#2}{+m}{%
+ \indentedmarginpar{\emph{#3:} ##1}%
+ }}%
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\NewNoteType}
+% It can also be useful to be able to turn the notes off.
+% For instance, we might want notes to appear in one version, but not in
+% others.
+% Then we'd like a switch to simply turn them off.
+% Also, we don't want these notes to appear in |beamer|, so we define them to
+% be off by default in that case.
+%
+% However, to achieve this, we must change the behaviour when creating new
+% notes: we need the name, not the |\command| as an argument.
+% This is why we have the |\NewNoteType| command.
+%
+% \ltnote{This is a note with a title, using the note defined by the package.}
+% We can use it like this:
+% |\NewNoteType{lt}{Learning theory}|
+% \NewNoteType{lt}{Learning theory}
+% This creates a new note type |\lt|.
+% |\lt{This is a note}| yields the note on the side.
+% \lt{This is a note}
+%
+% We can also turn the notes off and on with |\ltoff| and |\lton|.
+% \ltoff
+% \lt{This is another note while off.}
+% \lton
+% \lt{This is another note while on, we didn't see the one we used while off.}
+% \ltnote{This is a note with a title, using the note defined by the package.}
+%
+% Let's look at the implementation.
+% We first create a new boolean for the note type.
+% This will keep track of whether the note type is on or off, should be typeset
+% in the margin or if it does nothing.
+% As mentioned above, we want to turn the notes off by default in |beamer|.
+% \begin{macrocode}
+\NewDocumentCommand{\NewNoteType}{omm}{%
+ \newbool{#2}
+ \@ifclassloaded{beamer}
+ {\boolfalse{#2}}
+ {\booltrue{#2}}
+% \end{macrocode}
+% Then we create the commands to turn the notes off and on.
+% These must be created with |\expandafter\newcommand| to get the name of the
+% note type.
+% (|\NewDocumentCommand| can't accept names constructed with |\csname|.)
+% \begin{macrocode}
+ \expandafter\newcommand\csname #2off\endcsname{\boolfalse{#2}}
+ \expandafter\newcommand\csname #2on\endcsname{\booltrue{#2}}
+% \end{macrocode}
+% We define the command differently depending on whether we want a custom
+% formatting for the title of not.
+% Same as before, we must use |\expandafter\newcommand| to construct these
+% commands.
+% \begin{macrocode}
+ \IfValueTF{#1}{%
+ \expandafter\newcommand\csname #2\endcsname[1]{%
+ \ifbool{#2}{%
+ \indentedmarginpar{#1{#3:} ##1}%
+ }{\relax}%
+ }}{%
+ \expandafter\newcommand\csname #2\endcsname[1]{%
+ \ifbool{#2}{%
+ \indentedmarginpar{\emph{#3:} ##1}%
+ }{\relax}%
+ }}%
}
% \end{macrocode}
% \end{macro}
@@ -985,7 +1070,7 @@
% That way we can also include translations for them.
% \begin{macrocode}
\ProvideTranslation{swedish}{Learning theory}{Lärandeteori}
-\newnotetype{\ltnote}{\GetTranslationWarn{Learning theory}}
+\NewNoteType{ltnote}{\GetTranslationWarn{Learning theory}}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/didactic/didactic.pdf b/macros/latex/contrib/didactic/didactic.pdf
index 3c219334ad..3a53a9029a 100644
--- a/macros/latex/contrib/didactic/didactic.pdf
+++ b/macros/latex/contrib/didactic/didactic.pdf
Binary files differ
diff --git a/macros/latex/contrib/elsarticle/README b/macros/latex/contrib/elsarticle/README
index d36127266b..f4be1f540f 100644
--- a/macros/latex/contrib/elsarticle/README
+++ b/macros/latex/contrib/elsarticle/README
@@ -3,7 +3,7 @@ elsarticle.cls. It is now accepted for submitted articles, both in
Elsevier's electronic submission system and elsewhere.
Elsevier's previous document class for typeset articles, elsart.cls,
-is now over 10 years old. It has been replaced with this newly written
+is now over 15 years old. It has been replaced with this newly written
document class elsarticle.cls, which has been developed for Elsevier
by the leading TeX developer STM Document Engineering Pvt Ltd.
@@ -40,7 +40,7 @@ use the makefile. Use the target `all' (eg: make all).
The above procedure will create a print version, namely elsdoc.pdf.
-Copyright 2007-2020, Elsevier. Bugs, feature requests, suggestions and
+Copyright 2007-2024, Elsevier. Bugs, feature requests, suggestions and
comments may be mailed to elsarticle@stmdocs.in. elsarticle.cls,
related documentation and supporting packages are released under the
LATEX Project Public Licence, either version 1.3 or any later
diff --git a/macros/latex/contrib/elsarticle/changelog.txt b/macros/latex/contrib/elsarticle/changelog.txt
new file mode 100644
index 0000000000..b21a586099
--- /dev/null
+++ b/macros/latex/contrib/elsarticle/changelog.txt
@@ -0,0 +1,34 @@
+Change Log
+-----------
+
+* elsarticle.dtx
+
+1. Frontmatter: Overfull \hbox has occurred while \output is active
+
+https://tex.stackexchange.com/questions/514218/elsarticle-frontmatter-overfull-hbox-has-occurred-while-output-is-active/515199
+
+2. Footnotes: Updated to use non Arabic footnote numbers.
+
+https://tex.stackexchange.com/questions/669879/elsarticle-changing-symbol-used-in-fnref
+
+3. Author-affiliation: Updated for author-wise affiliation coding.
+Last author affiliation repeating for all authors problem is fixed.
+
+4. Accent characters in address: A bug fix. Accented characters in
+organisation field showed error. Hence loaded fontenc package.
+
+5. Updated for accent problems in TeXLive 2022. Font encoding T1 used
+by default
+
+6. Removed extra space appearing after 'Appendix' label
+
+7. updated for listing author affiliation below author names if
+\affiliation command is used immediately after \author (To match
+behaviour of \address command)
+
+* elsarticle-template-harv.tex, \
+ elsarticle-template-num-names.tex, \
+ elsarticle-template-num.tex
+
+1. Added examples for figures, tables and equations
+------------------------------------------------------------------------
diff --git a/macros/latex/contrib/elsarticle/doc/elsdoc.pdf b/macros/latex/contrib/elsarticle/doc/elsdoc.pdf
index 47d7c8d3a2..a97fc2e5b8 100644
--- a/macros/latex/contrib/elsarticle/doc/elsdoc.pdf
+++ b/macros/latex/contrib/elsarticle/doc/elsdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/elsarticle/doc/elsdoc.tex b/macros/latex/contrib/elsarticle/doc/elsdoc.tex
index e466bdd7fc..fd9742141d 100644
--- a/macros/latex/contrib/elsarticle/doc/elsdoc.tex
+++ b/macros/latex/contrib/elsarticle/doc/elsdoc.tex
@@ -1,20 +1,20 @@
%%
-%% Copyright 2007-2020 Elsevier Ltd
+%% Copyright 2007-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'Elsarticle Bundle' is
%% given in the file `manifest.txt'.
%%
-%% $Id: elsdoc.tex 192 2020-11-23 11:14:41Z rishi $
+%% $Id: elsdoc.tex 261 2024-04-09 06:37:35Z rishi $
%%
\documentclass[a4paper,12pt]{article}
@@ -71,7 +71,7 @@
\author{Elsevier Ltd}
\contact{elsarticle@stmdocs.in}
-\version{3.3}
+\version{3.4}
\date{\today}
\maketitle
@@ -143,10 +143,10 @@ works perfectly with \file{hyperref.sty} in combination with
The package is available at author resources page at Elsevier
(\url{http://www.elsevier.com/locate/latex}).
-It can also be found in any of the nodes of the Comprehensive
-\TeX{} Archive Network (\textsc{ctan}), one of the primary nodes
-being
-\url{http://tug.ctan.org/tex-archive/macros/latex/contrib/elsarticle/}.
+It can also be found in Comprehensive
+\TeX{} Archive Network (\textsc{ctan}),
+\url{https://ctan.org/pkg/elsarticle}.
+
Please download the \file{elsarticle.dtx} which is a composite
class with documentation and \file{elsarticle.ins} which is the
\LaTeX{} installer file. When we compile the
@@ -154,7 +154,8 @@ class with documentation and \file{elsarticle.ins} which is the
\file{elsarticle.cls} by
stripping off all the documentation from the \verb+*.dtx+ file.
The class may be moved or copied to a place, usually,
-\verb+$TEXMF/tex/latex/elsevier/+, %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\verb+$TEXMF/tex/latex/+ %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\verb+elsevier/+,
or a folder which will be read
by \LaTeX{} during document compilation. The \TeX{} file
database needs updation after moving/copying class file. Usually,
@@ -251,7 +252,7 @@ There are two types of frontmatter coding:
\item each author is
connected to an affiliation with a footnote marker; hence all
authors are grouped together and affiliations follow;
-\pagebreak
+%\pagebreak
\item authors of same affiliations are grouped together and the
relevant affiliation follows this group.
\end{enumerate}
@@ -286,6 +287,9 @@ An example of coding the first type is provided below.
footnote is not yet sufficiently long enough to make two
lines of footnote text.}
\fntext[fn3]{Yet another author footnote.}
+\end{vquote}
+
+\begin{vquote}
\affiliation[1]{organization={Elsevier B.V.},
addressline={Radarweg 29},
@@ -295,12 +299,10 @@ An example of coding the first type is provided below.
\affiliation[2]{organization={Sayahna Foundation},
addressline={JWRA 34, Jagathy},
- city={Trivandrum}
+ city={Trivandrum},
postcode={695014},
country={India}}
-\end{vquote}
-\begin{vquote}
\affiliation[3]{organization={STM Document Engineering
Pvt Ltd.},
@@ -314,11 +316,15 @@ The output of the above \TeX{} source is given in Clips~\ref{clip1} and
\ref{clip2}. The header portion or title area is given in
Clip~\ref{clip1} and the footer area is given in Clip~\ref{clip2}.
+\vspace*{1pc}
+
\def\rulecolor{blue!70}
\src{Header of the title page.}
\includeclip{1}{130 612 477 707}{1psingleauthorgroup.pdf}%%{elstest-1p.pdf}%single author group
\def\rulecolor{orange}
+\pagebreak
+
\def\rulecolor{blue!70}
\src{Footer of the title page.}
\includeclip{1}{93 135 499 255}{1pseperateaug.pdf}%%{elstest-1p.pdf}%single author group
diff --git a/macros/latex/contrib/elsarticle/doc/jfigs.pdf b/macros/latex/contrib/elsarticle/doc/jfigs.pdf
index b929f6ff98..e1a2716708 100644
--- a/macros/latex/contrib/elsarticle/doc/jfigs.pdf
+++ b/macros/latex/contrib/elsarticle/doc/jfigs.pdf
@@ -1149,136 +1149,265 @@ endobj
/Filter /FlateDecode
>>
stream
-xIer%8U
-Ԑ\d</=}3`"AzmJsJ+o?({鯚gſ_s^yo#eW+|+/UR [ۯ:㕿o#4<~.cs{uGK{=ͻ|5z:h5=K75ܰEnㅘ? =C-i{<_{.]P"Ld/OgAj>οe}]?z=Z#c/LcLԮtyXN}^uAߜmUϲR_׍gAqCm^Zϣ~}sfc-O#_d&;5]jt,ygǶ͊E:<hۮFhyҮ7b2\ISV cofkZ> _<tMh\5콲q-?ވ 5L.gj٫Ɩ%ۏ9D^Ik$g^Ytj:8!p
+xIer%8U
+
+Ԑ\d</=}3`"AzmJsJ+o?({鯚gſ_s^yo#eW+|+/UR
+[ۯ:㕿o#4<~.cs{uGK{=ͻ|5z:h5=K75ܰEnㅘ? =C-i{<_{.]P"Ld/OgAj>οe}]?z=Z#c/LcLԮtyXN}^uAߜmUϲR_׍gAqCm^Zϣ~}sfc-O#_d&;5]jt,ygǶ͊E:<hۮFhyҮ7b2\ISV cofkZ> _<tMh\5콲q-?ވ 5L.gj٫Ɩ%ۏ9D^Ik$g^Ytj:8!p
ާ51ó7ùҁy֣XgJ5Yygmz>ș1u;yd f
lk? ֣ϡG)ߣ>P5Xo#>Ji@]ڸ ,A~^PG'].ŏy|6ǻ0 ~AG-3gA_]~˰{kJ|N#wolZL1a
-xfObXg<5Qg_n<go]ðdr{<py㍚?}V[D+gAcCN _çWUY` #y4ު@
+xfObXg<5Qg_n<go]ðdr{<py㍚?}V[D+gAcCN _çWUY` #y4ު@
+:nw
$֟v'`AT14Πsq0SE1sR.g!xߏ3Mr]k_3_Z hzPigπϏV
^vt^X
-Rx D<~M~<{FruirkR߹gok_uv%!ݿc3=+1)u㑜 &w\
-}tQu GqE:eJ<AY_-?^>o2rlg{늎vRvE9kpE6;F5WJGqEOު]ƾYtv>5ԠC2tU-u|љK$e[;k6ub9{?:cmfsw@IaۖEԀ:?Kƈ F I{^ѸL W7{>SKyE(-﵎9ǗwEuK+Hmq3s8sjVG_Ƹh ]<%>#>vϱ${6ErPy
-wksxFzHה&O ;d?k{ uT[|lY<4z^bWNq9uHWk?ίېې- Ycӱ WXbwG8
-![pCzS"<`@zыRФS+rYgrs^R\?ʱB ٣mg rNu~7@[B;L sθxQiq;oZ .8ꗟU QzY:[Ӧ\3|G{s8S0>`ܿvuUкh5ؗ3v:>CϵIN=wN^J8!}P׸uQG1aAkxh2:T1*1=XS}m<1h
+Rx D<~M~<{FruirkR߹gok_uv%!ݿc3=+1)u㑜
+&w\
+la~mhdQ=~W|$|l-Q;x~s-XL2kP]?H1J
+}tQu GqE:eJ<AY_-?^>o2rlg{늎vRvE9kpE6;F5WJGqEOު]ƾYtv>5ԠC2tU-u|љK$e[;k6ub9{?:cmfsw@IaۖEԀ:?Kƈ F I{^ѸL W7{>SKyE(-﵎9ǗwEuK+Hmq3s8sjVG_Ƹh ]<%>#>vϱ${6ErPy
+wksxFzHה&O
+;d?k{ uT[|lY<4z^bWNq9uHWk?ίېې- Ycӱ WXbwG8
+![pCzS"<`@zыRФS+rYgrs^R\?ʱB
+٣mg rNu~7@[B;L sθxQiq;oZ .8ꗟU QzY:[Ӧ\3|G{s8S0>`ܿvuUкh5ؗ3v:>CϵIN=wN^J8!}P׸uQG1aAkxh2:T1*1=XS}m<1h
I=62 %a^0> ZSiX
RGYy_;IϏrB5uklݣ
-LoeNZ Z
+LoeNZ Z
+E ظP^]j?̹:q {jzqU^93MgZ8Ns!ڳ}bMUfAJD$>LηK' 'bO;Y!Mܹt"r:Kܳ
+?96C;R5gFan>Dt )C $;r*֙
+| h
zT
)hTG5Kq8-eAgsPI
-&۵Hz)u.P+\RMvA&mC)SkT afWv+<S>!(ڬߡ $)K0$w)JOIb)ы#92H ^N/7JʧY ! x`yCS``K;sc.."Lqfpc U\Ri>ԚC|Tj
- #Çv{n6B q {Y&Q:6%^u|ui$|a)`#$iCWIKl xO3Lep\l)<
-$$E$y<KG~kW~smWg P45v(dvnx)M2mȤXܭV3BnQ8PBm鄴#8tp΢e`x$wDGȅInΣFNV(KE7j+bd#JLnoA_v*^_d7xlyRUò$ʲ .C^TJ?}ȦNXxWQ[u,[2Ynfqt"eNcĘXinVNATfEWa^ڲMrUzT9
-@_;!]s!6Jːl"@c-<а #IG–]=$-'w+3;LU$:P kH p4Xŝ>G5$T0O폣1RTlLC,@Td:9sa>`T 9-Huf6*j'!6]t2~F+L?W!=kXI:
-Qk:#Ґ!ov6~\xJQE <"%N)c+MZmȔi:]߲K&h@4!HSO8D>R,q:SǬ ]Hu`q9
+&۵Hz)u.P+\RMvA&mC)SkT afWv+<S>!(ڬߡ $)K0$w)JOIb)ы#92H ^妕N/7JʧY ! x`yCS``K;sc.."Lqfpc U\Ri>ԚC|Tj
+ #Çv{n6B q {Y&Q:6%^u|ui$|a)`#$iCWIKl xO3Lep\l)<
+$$E$y<KG~kW~smWg P45v(dvnx)M2mȤXܭV3BnQ8PBm鄴#8tp΢e`x$wDGȅInΣFNV(KE7j+bd#JLnoA_v*^_d7xlyRUò$ʲ
+.C^TJ?}ȦNXxWQ[u,[2Ynfqt"eNcĘXinVNATfEWa^ڲMrUzT9
+@_;!]s!6Jːl"@c-<а #IG–]=$-'w+3;LU$:P kH p4Xŝ>G5$T0O폣1RTlLC,@Td:9sa>`T
+9-Huf6*j'!6]t2~F+L?W!=kXI:
+Qk:#Ґ!ov6~\xJQE <"%N)c+MZmȔi:]߲K&h@4!HSO8D>R,q:SǬ ]Hu`q9
0$S{f@eCY(-k÷$[W+[ZYO[
w*ׅ23P
9vt&ߕc?*ʾ180gmrܤ9l5ڐD{YF@Rx*TcGla{> aALcCFIQTϹQ[TZщ0o^xgك=$GQJ @& g!5\"nEmKiez(KPi\9&r!̱~>sTID|kV9<gf* @mr GaU^?#TEhŠꑶ [9aa$r2<B6% v9y[SxաVʰK@Fh);DT9"
-#`$Hc2W9?4
xW 1n1"ձccc8 ݶcn}GPb9`FnR9*U o{
-\ #h
- DFpoJeSAD8d'~edY3[ޞͼnH"= ޞClK"В}.e`a8shH7iJr2
+\ #h
+ DFpoJeSAD8d'~edY3[ޞͼnH"=
+ޞClK"В}.e`a8shH7iJr2
E,pr'
-Qvp0s\JlX a[X?l$PYlau{]I٩!ZN[IVL $}ÿ_[G[Y5BGF `+ ](ֵ{>p9mFho⌸Zw/rs8A3ن !8BJ$ĻU"]*EX!hּlKH\wzZ~7!ctlú3
-1$o/iX99>pFZ@5d'I&9ΡsǿqűP '9Vi
+Qvp0s\JlX
+a[X?l$PYlau{]I٩!ZN[IVL $}ÿ_[G[Y5BGF `+ ](ֵ{>p9mFho⌸Zw/rs8A3ن !8BJ$ĻU"]*EX!hּlKH\wzZ~7!ctlú3
+1$o/iX99>pFZ@5d'I&9ΡsǿqűP
+'9Vi
s`
[g
ll_𠛍3O>)+7; y+/4
-^_"PMmf60Eʈ#.Q܎2"Ш}EH͂tJ '}@sRQ=,h!EA,342|whsjr_L̜cvK&KPRRFknuRfFm4,@!/5|
+^_"PMmf60Eʈ#.Q܎2"Ш}EH͂tJ '}@sRQ=,h!EA,342|whsjr_L̜cvK&KPRRFknuRfFm4,@!/5|
>
-Z-˪uD!{C& AfN.lhԚ;mD4vȈ1,yF[00ErJ*ƨBWK U;KZ nMu󖰍[QzMM(S@R5o5WsEhIs,`+]JטF\v9pq&Y,![t("+#SYj<NC9͂M͛ѱlNw5-%%
-q9\dN}&#yĬY3L3a".
+Z-˪uD!{C& AfN.lhԚ;mD4vȈ1,yF[00ErJ*ƨBWK
+U;KZ
+nMu󖰍[QzMM(S@R5o5WsEhIs,`+]JטF\v9pq&Y,![t("+#SYj<NC9͂M͛ѱlNw5-%%
+q9\dN}&#yĬY3L3a".
p)r"1?:Wk\^4sr9ABIaҊ8ҥDF
-A͈$@e6\\lA0!]dqdީ ހld5/nD([8_JH
-]F*l/ya~}% Ś'grt{lj|| >JNx:¢iЮ+x`3R]pȂM8_yQ Z˭n
+A͈$@e6\\lA0!]dqdީ ހld5/nD([8_JH
+D B;βM<̡_hs
+]F*l/ya~}% Ś'grt{lj|| >JNx:¢iЮ+x`3R]pȂM8_yQ Z˭n
7*!;X qObOL$-5IK!؇"KZ"&҆r籱^=C>dNv%|rc'2 9f
-TVޒI`9(f|,/?ުEC 1<y' DŹ`|eZa3g:f%,83TOh,2
+TVޒI`9(f|,/?ުEC 1<y'
+DŹ`|eZa3g:f%,83TOh,2
I{
- *.sлy@8si4 %z/J o^axٕ!r
+ *.sлy@8si4 %z/J o^axٕ!r
+||g*18܋ <Qyl"$=A\sz:_UL-ABĈ2Hd
7%]f xy(@tx;m{?} vy-bRP
-ak[{h/0Jc䚮c[У{%r4z]l}㏻-0dW%BG
-9>@5DtCu?0t[#FbO`E' 8KVWɐ2J e? B`#*U}t3>]CW;tad7$?p78"vsT3EIoઙ{/rdbx ?~3mtuTe(iIJTxC\yy>'ON7<V j-ܘmwGh<OխՖW|Ú/-%x1`;rTW&k_Ԅ(ZVL@GX>{ѢTRM]P0\dv?F@fD 47ԁ B`exnjv8toylTs4 H'-ɕDun6ކEP4[& +:xE~po4suN3qzXo Q@2i!SAm'wȠEISEY=xVЍ=eyU8M3"G0cQx*9}PM&@1H+o8a;ɓ=O)JhM De$7
+ak[{h/0Jc䚮c[У{%r4z]l}㏻-0dW%BG
+׷rV"#< &<!R./ Qsw6) j+|%5_a؃9R3&
+\KyB#(9bJ^T>>ާ<>1Ī1)ᜉnĺ279GBFʜ\ LN߆
+aַ̋ϛY
+9>@5DtCu?0t[#FbO`E'
+8KVWɐ2J
+ e? B`#*U}t3>]CW;tad7$?p78"vsT3EIoઙ{/rdbx ?~3mtuTe(iIJTxC\yy>'ON7<V j-ܘmwGh<OխՖW|Ú/-%x1`;rTW&k_Ԅ(ZVL@GX>{ѢTRM]P0\dv?F@fD 47ԁ B`exnjv8toylTs4 H'-ɕDun6ކEP4[&
++:xE~po4suN3qzXo Q@2i!SAm'wȠEISEY=xVЍ=eyU8M3"G0cQx*9}PM&@1H+o8a;ɓ=O)JhM De$7
On$Z% N'W:CZpmg7V /l$ZV$1̀\Rx4nR_c =DXVa6cs B2,
v6x}U g1p"g&.Gq\y7N0Nci”̀IUA~ϷrV"#@Ip
-
-UZ]ep B{A),)4ΐ3q^p`||HI)h ͙|U{R2n@vUhCȮ
-!Y͇JoҲkb
-bu'JI }t,z#`~ZK@LljH.ōIqUoˁEl(A \X/pؚ6nu$g6W,SWbPP Dm(;`
+
+UZ]ep
+B{A),)4ΐ3q^p`||HI)h ͙|U{R2n@vUhCȮ
+ %E3
+UYDa32R
+)(rt]HUdRTo1&G%ujnش\@X<ʬ+=+T׳w$GtL2b
+hjES3sCGY k{-O׹xf&֧qs B-4S`,r3D}،XTd
+!Y͇JoҲkb
+5B57Z14,N&k">w,`fMAI0UdGm:O[(
+bu'JI }t,z#`~ZK@LljH.ōIqUoˁEl(A \X/pؚ6nu$g6W,SWbPP Dm(;`
ICs~k [%P1Aӯl
KNh
-[Mi
+[Mi
-T@"4cQq+ _W'@lcKO ."I%GԠJs^o)\s?d(\E@`lfR{p9F=1C5(K.=`qf?AO&ٷ7c
-u^uK6$#E17W0(ZYT0 y{Ǡ~Ï,a@Ϫ`2X7}нg]-qh7FȾ๰phiz>NXQ|˸|q[57#Z걫QnWbVXM\k=LA=ͼ-7qli&712ҽ²JTYum08s֬K5PLS׈ rem{\AG膢9"|d/A-C%sYc[ˋ쩙I̸0oAb¦"L-c-&\ 9TnF:!S=I{brxE46mΰ@iK+!N
-FUBG2 4l&?Bi,v۔uq.&hYm픍x}Hw1v3 O;760)sVDorW]l|[.ջDy1VMc͊ ek@]4~AҏKl ?Dnʋ^]$6C:q$["~Sn,vX؆̾ˑ]2cmWm\
-UºhQ4ms</_W!-zM0JhΥ8pt*=
-&6AmL!+HXIȀL/5l"{#a?\B_CE!f'hRw_&ڃʭiB[^n}Y r( 5Ql$_E½mbDPZKt`9:` BJ+7Vsc^pjCh).Ptl! dv!7(OYBBʃ6hyuSE!Ϊ^Ԥ]j 5
-L"y~DDOӫO Aŧp7=͢^3mOov+ _V}$tK^Yc;# y) t݆Z a~ԇkLBe ~Z4YHwuSIРLc|w
-_Mϓ8N!
- 3!0|f/ʋAF$`VԷ7".Tn3<k4rCa[l {5#?VW@ 6xO.,޺P|=`zUZU} m^h+fO9I@$QpDvTLn!`YOT& y&B!M.#%^#dEBuA؅,1um:{Y8#&Z>A`r pF믰ag']wꑖjFF@v&+Vc5m&ؑ ^o {D[ٝn7koҙbċ/3Jq1QE+((W!>$;jrdG9w{W?>o4ǚ%{cTSRsٽz ~6`Hk' rV_7FoiׇQ ٭N< .T%x<B%+I1 ZW3nP@o祁S; mU-E\};<n*[T/4p 8 GWlBm.ߤB' ʗؗixۥ01$P/EB,xA[̞.w16&z='lkZuW ޤ-Q |&ȯ:K.vt>A &u&uNf =mk& FJlVDmPHjE$Oώ3@RXb#kQ3RNq4VOU*UeˏRng!;*@h
-'G{-L!joګZ9vO5³=e {$>0
-S%@V,&6h]^ň^PϤb8\5YVVD;Sp؝Ǭ]]uɘn
-[+KT;0[''J@@ErΊ8Vg0ގN8tޖ` w bݰzJ>P٬jF:&JTPC^׋ @J V!u7
-c5m w&97vV+&g8`L7Wmlڡ>[|FԳe?a8;BYtwxfy;\m;)F7Mo2;kW\R̺c]t%bC
-w*$Ӱ=`]rǒK7 (}l&hşYY'gkԥA. N<m'*ˁFN-2TY$ށV&C35bsC2b?]f۪MnziD1|*B9κi-}`7xewbP 4 W60jw&nRvjN#Žp',,Y>>2z ;9i QY}gcV`
-z*#|t+rncbMV=
-r/Y5 uI/X‚TB-|gĭA9`#\tYd>߰1 i~|6Y,oZ<
-u̷3 z`ORK~$(K$ W6y !q|Qw]Uݾ,7+=P~|+RMLE>ӶT:[  ~&it.4XF3
+T@"4cQq+ _W'@lcKO
+."I%GԠJs^o)\s?d(\E@`lfR{p9F=1C5(K.=`qf?AO&ٷ7c
+u^uK6$#E17W0(ZYT0 y{Ǡ~Ï,a@Ϫ`2X7}нg]-qh7FȾ๰phiz>NXQ|˸|q[57#Z걫QnWbVXM\k=LA=ͼ-7qli&712ҽ²JTYum08s֬K5PLS׈
+rem{\AG膢9"|d/A-C%sYc[ˋ쩙I̸0oAb¦"L-c-&\ 9TnF:!S=I{brxE46mΰ@iK+!N
+FUBG2
+4l&?Bi,v۔uq.&hYm픍x}Hw1v3 O;760)sVDorW]l|[.ջDy1VMc͊ ek@]4~AҏKl ?Dnʋ^]$6C:q$["~Sn,vX؆̾ˑ]2cmWm\
+(JXJ :z$C\%L5"fm\7fc.eC%.;l'$t0T653.s6Mw;t;xiLɃ (Il;ϻMքGcrVWFUj
+`O/N[oec>^G4*ADo٪syiZ?}.Rnö _Ӝ"K*
+'ø:#)|1GIƾq>AlU2n
+UºhQ4ms</_W!-zM0JhΥ8pt*=
+&6AmL!+HXIȀL/5l"{#a?\B_CE!f'hRw_&ڃʭiB[^n}Y r( 5Ql$_E½mbDPZKt`9:` BJ+7Vsc^pjCh).Ptl! dv!7(OYBBʃ6hyuSE!Ϊ^Ԥ]j 5
+M8u[gW ;vj5_w9g[^
+Qǘn}v1mEQgŠDD דL\ɢp8#`&{[w|lO_jxRowuFwns圫GPLv\΁=rl b;T4~G ).ItruCa{f1]`b{_bD69. j* Teab"
+<~msPX[Ϩ N
+BS
+LȘSDaEkKxunJY3f3d[Jlv.ItKvm65ޙv}<.@mL `3
+'MW9z&1F#VPnJ3ps`Rq=W4^<EjN`P3|
+L"y~DDOӫO Aŧp7=͢^3mOov+ _V}$tK^Yc;# y) t݆Z a~ԇkLBe
+~Z4YHwuSIРLc|w
+_Mϓ8N!
+ [ȳvhVCN
+ 3!0|f/ʋAF$`VԷ7".Tn3<k4rCa[l
+{5#?VW@ 6xO.,޺P|=`zUZU} m^h+fO9I@$QpDvTLn!`YOT&
+y&B!M.#%^#dEBuA؅,1um:{Y8#&Z>A`r pF믰ag']wꑖjFF@v&+Vc5m&ؑ
+^o
+{D[ٝn7koҙbċ/3Jq1QE+((W!>$;jrdG9w{W?>o4ǚ%{cTSRsٽz
+~6`Hk' rV_7FoiׇQ ٭N< .T%x<B%+I1
+ZW3nP@o祁S; mU-E\};<n*[T/4p 8 GWlBm.ߤB' ʗؗixۥ01$P/EB,xA[̞.w16&z='lkZuW ޤ-Q
+|&ȯ:K.vt>A
+&u&uNf
+=mk& FJlVDmPHjE$Oώ3@RXb#kQ3RNq4VOU*UeˏRng!;*@h
+'G{-L!joګZ9vO5³=e {$>0
+</J*/"ս:o>o`@\0A-AT ÕQoiU($d&zU{5Jj:.ӕ_<,6AXUpm
+S%@V,&6h]^ň^PϤb8\5YVVD;Sp؝Ǭ]]uɘn
+sp> &Le2sa:6y/Wb5ou\sC^#Ҁzx:<<IƎX8(d<25wF;t׌T[h6 *K#SEH|;PK<1b9Whf"Ua'f)0U;Z܁R*JO9BMMVqh
+[+KT;0[''J@@ErΊ8Vg0ގN8tޖ` w bݰzJ>P٬jF:&JTPC^׋ @J V!u7
+c5m
+w&97vV+&g8`L7Wmlڡ>[|FԳe?a8;BYtwxfy;\m;)F7Mo2;kW\R̺c]t%bC
+w*$Ӱ=`]rǒK7 (}l&hşYY'gkԥA. N<m'*ˁFN-2TY$ށV&C35bsC2b?]f۪MnziD1|*B9κi-}`7xewbP 4 W60jw&nRvjN#Žp',,Y>>2z ;9i QY}gcV`
+
+z*#|t+rncbMV=
+Dq@ہ$dQf".&Iذn,7 %`<ďX\jCQb**r牅Nܜ[S[d l+oq2AHEkI,5nek" Jă=!aHT[D3>,k zN!p0**Wg߁0LTj8
+gq}
+r/Y5
+uI/X‚TB-|gĭA9`#\tYd>߰1 i~|6Y,oZ<
+
+u̷3 z`ORK~$(K$
+W6y !q|Qw]Uݾ,7+=P~|+RMLE>ӶT:[  ~&it.4XF3
BD;8uZA ˬv٨,FOL]aź]\|A{~jbNpȝ/;Tܸ/ͦ;$43#GH87cFg $"'uV$
DrU5= p(A%1k7jpr
yx(R
-lf8.Pށ04Uwa_?㖿(g-n(@% Y"P44/Znb_>
+lf8.Pށ04Uwa_?㖿(g-n(@% Y"P44/Znb_>
+Eծ٥ ~D7Ogt"̯mPФƊoaUv1A.SIJV=}|Kn/2zmK\R
ܭ&(33="AnKDžEޭU}K灳CYR\;JƢo
-E9MNj{3!۫l (RSWXbS.܍3W0A+pAX<NoSj’2sc:?1=IScx#
-CK}"7nh(
+E9MNj{3!۫l
+(RSWXbS.܍3W0A+pAX<NoSj’2sc:?1=IScx#
+CK}"7nh(
+R\4<t[']͸Gg>o9ͥkgi<;dUxnj7?-O@oab"tGVvQEr;KtZWrRg ' eN.`G gI.> D:Jm^hWpY5_>i| 6'1@yp}LoZ_lLWK]8up<
+[#o/6E44 nodq9l`Ǯd4pSyV? s!
p
݋FBia
-aI 8sX!swXViy悻bOkKo;mTǒzȫL ᕣ“.Hf
- 2FcQN9~u)s)V"m"wYNYyv)Ԫa}?U8M!l==eI^iotyӺk^@ft_P"J)'Gq߂Ks\;F^U 7/h2 |)0!D1CDtI[:ĉB6>N3 \pmPpM,x0=l@hʞ4)21O`:h#gb$
-uGq#eJ56g VPށxcF^V}I[`_ˤ*R YWh%|vŎ)]3TT>zXO 0jB?ד.:`jWceP%\6dF%U+S *HQ׫dGyc8<27:R550?Q'([\Vڈ~K-d0*Eđt~ybk EgpV
+aI 8sX!swXViy悻bOkKo;mTǒzȫL ᕣ“.Hf
+ 2FcQN9~u)s)V"m"wYNYyv)Ԫa}?U8M!l==eI^iotyӺk^@ft_P"J)'Gq߂Ks\;F^U 7/h2 |)0!D1CDtI[:ĉB6>N3 \pmPpM,x0=l@hʞ4)21O`:h#gb$
+uGq#eJ56g
+VPށxcF^V}I[`_ˤ*R
+YWh%|vŎ)]3TT>zXO 0jB?ד.:`jWceP%\6dF%U+S *HQ׫dGyc8<27:R550?Q'([\Vڈ~K-d0*Eđt~ybk EgpV
A@e&s(-Wd?Aَ{,֦zRvH~%V]htxW]F&,uaI["/
-1iUt͙@Q]N6Hk8&WʣUP.#=EI#|^x% x{hv `ELE$_ E6OGK |=7 z!g/#.]qEñu]f!1П+jU"C{(q#bC;"L&V,1KyѬTw@V%̨++0GqTIZhb$ c]e;zD6Й#6۳mT(<WÅEU\z< k =`4q$#O
+1iUt͙@Q]N6Hk8&WʣUP.#=EI#|^x%
+x{hv `ELE$_ E6OGK |=7 z!g/#.]qEñu]f!1П+jU"C{(q#bC;"L&V,1KyѬTw@V%̨++0GqTIZhb$
+c]e;zD6Й#6۳mT(<WÅEU\z< k =`4q$#O
+?VַN=H% v^ƍ<!xVa<aU61{QL%S0%pYcpm i0_UTbFgDaQ_=bNRu%JmpR:#Լ__:8>o (e*26gLs]*m9%\7>}BFM@N]~Sf(
]:(M!q1[=%U||MH$|֖Cfp;
OMɖY62ȗ];6+̲HT2^
-qf<* 1 ,M}qۥn\l>
-{7^ٝ4tP6;+&>hT}+
-dô5bV?aгH
-?QY? ,^L|*>M]?
-~v<ŭfѣx$sh=߾(6g<禢Z>gڭnNrB7 Xޡv w'6x}ĕթ R"7*#ȵ2Y_lG3ر.ӟo{jh$J1B|wtLNx]J!"| [h2T=j$#QW.7@l5:Isy\lk,J!z$Yњi!9$'>ulj=AS]MA 70upAQ`ppGdhZ
+qf<* 1 ,M}qۥn\l>
++GU#Ȅ=KX$eZ^ɖI@mj/2,9/Uvȟc{&-K;,}L
+{7^ٝ4tP6;+&>hT}+
+dô5bV?aгH
+?QY? ,^L|*>M]?
+a,6t.vX!-( ď[_ө=i><B>7_hDm=,S<`HBOHNW }+i 'ftm`ي8[۾rDɻ,X$|JTxf&{H]!j2.qp$F}y,WY!D6GXو:wN~)˧ˆN_h[~LKYɉv8}eyh>ݕ7@7Tr."QZ qs=lhq^n
+pPTm84G{b~̩Ġ)߿
+d`!
+K
+z
+c%|m-Tgg'"r޷'|+n暩V
+~v<ŭfѣx$sh=߾(6g<禢Z>gڭnNrB7 Xޡv
+w'6x}ĕթ R"7*#ȵ2Y_lG3ر.ӟo{jh$J1B|wtLNx]J!"| [h2T=j$#QW.7@l5:Isy\lk,J!z$Yњi!9$'>ulj=AS]MA 70upAQ`ppGdhZ
C
-\llU fb\hZtnv#QRTN9IrpC
-kgDoyؘ\;4>RARlLJNۭa:mǬg/K}ǜb>ݐܳوbcRuF':3ő AQ?cOeZԫS=UOx(\9 ھV*c8A=KLhϠy*ɉe@n;b繨N|FQOb[\
-AQ!kOoD?\jң',OƆ;s
-];ޞ(tc323; ޡ^Jj5\ej^g\1lj] IJ%W >#/Wn!0wV1bl C7*[sHآ:Ca.ECvnb3ys9s?DFMƾE/E3moȉ`
-Uh^"XY7&O'w(;e2r@x<W=Gr#d3Aq!G~lx KzCFqc LK Alwra9/'{CW0/dwvq 7 9el ,_"9|uѡ kCU3t(}9ۜow99IWcސi
-Cy cQFUlKy3rP28x~qlh}387PfnI%/ #ր.jEvќWqDv]/cM? G|mgR(Giz & lsd>M=@X}݃~,Vwm32q }t! ]#UsL(ȳnM!f-"WK#T Eq=ʎiФnV0L^_o'Н&eJszr`uyE!rFpk!'>_̧:"AgCI
+\llU fb\hZtnv#QRTN9IrpC
+2(ۆldDilEK>VX. N7،
+kgDoyؘ\;4>RARlLJNۭa:mǬg/K}ǜb>ݐܳوbcRuF':3ő
+AQ?cOeZԫS=UOx(\9
+ھV*c8A=KLhϠy*ɉe@n;b繨N|FQOb[\
+BoϠ
+#86 pNRȃ1#Ǹ1jtl<会k)@k͎M~%bily*Y Ovx@߁;yd!7\O1y{C76Ds ؆qp"yǥ
+511m-zEppHS`o= ~WH4~A>%Na!1h3b{玑yȓ/u+TT> Ϳ w2PF>l;@k^~._C:me,$"1=P-y*)(+c9
+آ¬Yp6\; {g
+AQ!kOoD?\jң',OƆ;s
+KWSM+Cȇ8 [>
+͏hg7z#֮+ǠPD5(XTH>LZTrciT[
+];ޞ(tc323; ޡ^Jj5\ܙej^g\1lj]
+IJ%W >#/Wn!0wV1bl C7*[sHآ:Ca.ECvnb3ys9s?DFMƾE/E3moȉ`
+Uh^"XY7&O'w(;e2r@x<W=Gr#d3Aq!G~lx KzCFqc
+LK Alwra9/'{CW0/dwvq 7 9el ,_"9|uѡ kCU3t(}9ۜow99IWcސi
+Cy cQFUlKy3rP28x~qlh}387PfnI%/ #ր.jEvќWqDv]/cM? G|mgR(Giz & lsd>M=@X}݃~,Vwm32q }t! ]#UsL(ȳnM!f-"WK#T Eq=ʎiФnV0L^_o'Н&eJszr`uyE!rFpk!'>_̧:"AgCI
sT^n=LQLݲ7~~Cl(U˺EB\Jg].fsdq@F+,CE]nlC)cFvQh} V<XUӈѽ7_-U=bfnqareشu+WI=p0_q5,|S(Dlو,L )3L
Roe%K4舍oe%b# JFg ͈\%gB#osH̝ʽc0X[Ъ8=L!4(6!; ]J
- =G&Nv2u,uc2o@""c߁Q VYx~&sq) 6r'wNE?3*+LHPD 0[f:sU㖹]
-_3(<l"sc˰'e6DQ_Sż 9dgM B۔KWa+
-@39Tb13LWn>|ty'O7G҇1ٔB(ktIX3SjPPwفV*"cF,OcTh8W=~76«+!K(J%C" rG @4i⹭GӝX*IO_ÎB<D
+ =G&Nv2u,uc2o@""c߁Q VYx~&sq) ᨑ6r'wNE?3*+LHPD 0[f:sU㖹]
+_3(<l"sc˰'e6DQ_Sż 9dgM B۔KWa+
+@39Tb13LWn>|ty'O7G҇1ٔB(ktIX3SjPPwفV*"cF,OcTh8W=~76«+!K(J%C"
+rG @4i⹭GӝX*IO_ÎB<D
8?Lb#3ֲUa4c6FMPdopD#OdzLB\n]kr3QGP"%el=e_dOzFOfBʓg@hBY`؃l'eIeH
-~gRxXBˬN鄍fh[A\y5@W*6..ZPQLz3Ls!5+1 ~E30&ꡋu"vtQp|O~ڐ>xXlQH881gCgT6ieu_zILU^3P2 B?Uђ Z2xRb+_*AqU̫f VJwEA
+~gRxXBˬN鄍fh[A\y5@W*6..ZPQLz3Ls!5+1 ~E30&ꡋu"vtQp|O~ڐ>xXlQH881gCgT6ieu_zILU^3P2 B?Uђ Z2xRb+_*AqU̫f VJwEA
w*9P|>S`?5*9S0$q?AL Žr SoC1-•.㖕<)"((
&le") |Q}xuSҮ]
-lw ] 48"eULP=0N*b 8~|Q 3pjM>rhӭ PNP ->5Bw2;Ϡ=M}}hw*Ei1R!H&/q5,KS#jRP)8#:20[qz؜ ¯?<R*HdXh7Cm/J0SUC8 [F0WcL%XFV-sGGU^^uxjF* $2^睍Vt  .oXtk Жj"8LE"|80OBbl-1@ó)D2rLҷ.} $Hi"tuOgzptI$0KfO0ER7EbF*#e_Q3sŒFs{׌;,5X=^ ari# 50`fOIHDTuіlw YK?aͮ
-a'E86E'eDA͆1;SڮZ
+lw ] 48"eULP=0N*b 8~|Q
+3pjM>rhӭ PNP -Ņ>5Bw2;Ϡ=M}}hw*Ei1R!H&/q5,KS#jRP)8#:20[qz؜
+¯?<R*HdXh7Cm/J0SUC8 [F0WcL%XFV-sGGU^^uxjF* $2^睍Vt  .oXtk Жj"8LE"|80OBbl-1@ó)D2rLҷ.} $Hi"tuOgzptI$0KfO0ER7EbF*#e_Q3sŒFs{׌;,5X=^ ari# 50`fOIHDTuіlw YK?aͮ
+a'E86E'eDA͆1;SڮZ
+"KTߖ;
}\ y⏲
-tK΍6i~K^`hd֋呎,Gs%NEjW;1]hz 4,K@qXdAA^D@ o?~4ʧ6sqAs3yO30 '/ey{O
-Ps
-0ޱ5Q  ?:g Œ#9r%1RV$< $$ǗVttz F|bGbLqc퍃[P\$tq~X߼aBqahaὖ+-CTʑt'QU$|>x/}.}vj_X!stuJgVz^bx ?y1 m aa2d6s N&V1Pg˷.bbW/1͉1_g)^7
-NӯK(OnMЯPm\P2O:g ˖# ={V s8 ҭ
-# >/ienpM=m`Otۇ>] 7Q+"yt/M6a.#L Jӣ6k;ڦ
-y #r:﫹PMNG}xfm~V+>Y5+"K|L?X-Eʅ,-UŤh<EE@Џ*P/׻Rw4D- vI H$L7Nd1^A`c&EcJ!l 9W{%gX92jnn`/@ nYSg㪕T љE=TCHwW^(b 9P/fXdVD7(IgۡҚ<BwF^. Nc$:9;z]^*q?k[{LwT``D/
-+-W}tR0YbKR+aR}"q7׮!ygY~Uz`G,DN!t- 3KFUR Eޞ(yfLWX* JL'{sO" 2 A,rXfP"Ҏ#h8,5PkWDxdRFY)``R ng=:\B
-kmFT: :ZXY}2D} g8XJ};`*Jm=yҳGGMAW,1$#=
-_MQ+{KZ:,wL7?tU\5OJО&Hiy4!eR⹨TϮ8^U؇SDG0AkӔmVnJD-"Y%++ $A92 Z =mfDEiޭa-s8/̤(yr~A\3b]*RyQꗫ"nyJxōg)g齊Ņ2lh"jR;O#6=W<K?D:XV:WR ;_PUu,JaH؅$B yew Q;)7Cs.+\[ Xj&a)n{Lsl;X&Zk&,& N5?#~@O*Rr0!AܬD:`nooR^
-,#g]zuY /Id|+E:*аj=+$N )~@4
- DP@tpdHl6bl=uf-jI`'E_b,19-Gl>1eHYQm;]
-84
-w0=JvK6 E(M G ʥ
-g ƐF[㞙t&N|xg5>N*eDCGD C-y)Oh>sI\ѣ|v̽ 4duEosSt g4-1"M!2j6m5K1.\ZAu~U
-Y~Z4k<z\,;V;u;*=4wasanz*Jti\w+hBP-C,: b#ZVR:` LU0kV*~Cq\|WT,-|hGA"C)H]D@'±?+ӣ낐4i?`\٪:?Zmy}.p4`ճE5nt=;`"C;L}=ڽVH*`hxl3t
+tK΍6i~K^`hd֋呎,Gs%NEjW;1]hz
+4,K@qXdAA^D@ o?~4ʧ6sqAs3yO30 '/ey{O
+Ps
+ZH
+0ޱ5Q 
+?:g Œ#9r%1RV$<
+$$ǗVttz F|bGbLqc퍃[P\$tq~X߼aBqahaὖ+-CTʑt'QU$|>x/}.}vj_X!stuJgVz^bx ?y1
+m
+aa2d6s N&V1Pg˷.bbW/1͉1_g)^7
+TXcu$x`bؠWEAfV^O
+ ֪\
+z&ڂSL-͋S>J)לxag8MFBCԮaEypx3M,crm:4~#yA1;6Ɏb2^4:&!Kr%钅U9o7I$
+p>](e=>I8Ų5rL
+HP1 }
+-P+j$t'tcz6!"̔kRU% j0zce1 9ܻ*vqw"[&E~DlȞ\ [5]U?:d^>@\>,)ЦA KfKeM(tgiVcѥj<`Lin.BZ7D#ynϐw-GjTcYEߥZNAߪˉȠ+^{~T&JXCR]36uf` {; 1Eme5-u =D6HbWP$Z>^1w3lFvI9M 9}/CF#dh|TcK$M/m&{`u'CN÷-@},3ǂdѶdW2giSKl~vp:HIrJe*xr
+uYP>5k1q8?h9_"{/~0W2 +spԋ]xǗbԲ%Bd|E;#vTX,{#*Q4)6 N@mMtjD:#_](u%k
+NӯK(OnMЯPm\P2O:g ˖# ={V
+ s8 ҭ
+# >/ienpM=m`Otۇ>] 7Q+"yt/M6a.#L Jӣ6k;ڦ
+NV*8hm^L `ĠtU;w%pLܦ /j<`OU@xvc6nmw)()jlK[(A@Sb:
+y #r:﫹PMNG}xfm~V+>Y5+"K|L?X-Eʅ,-UŤh<EE@Џ*P/׻Rw4D- vI
+H$L7Nd1^A`c&EcJ!l
+9W{%gX92jnn`/@ nYSg㪕T
+љE=TCHwW^(b 9P/fXdVD7(IgۡҚ<BwF^. Nc$:9;z]^*q?k[{LwT``D/
++-W}tR0YbKR+aR}"q7׮!ygY~Uz`G,DN!t- 3KFUR Eޞ(yfLWX*
+JL'{sO" 2
+A,rXfP"Ҏ#h8,5PkWDxdRFY)``R ng=:\B
+kmFT: :ZXY}2D} g8XJ};`*Jm=yҳGGMAW,1$#=
+Wf*o-aLR%7.  2aH\c*\ac[$3
+_MQ+{KZ:,wL7?tU\5OJО&Hiy4!eR⹨TϮ8^U؇SDG0AkӔmVnJD-"Y%++
+$A92 Z
+=mfDEiޭa-s8/̤(yr~A\3b]*RyQꗫ"nyJxōg)g齊Ņ2lh"jR;O#6=W<K?D:XV:WR ;_PUu,JaH؅$B
+yew
+Q;)7Cs.+\[ Xj&a)n{Lsl;X&Zk&,& N5?#~@O*Rr0!AܬD:`nooR^
+,#g]zuY /Id|+E:*аj=+$N )~@4
+:r9Mfy8
+ DP@tpdHl6bl=uf-jI`'E_b,19-Gl>1eHYQm;]
+Ka
+84
+}]䬔"QMwQ+2:8H32?ƌfg^K(_R] L!ζtVPuuBg*{Q7b>B^4,/pS=h[1hw8H
+dr>ނFM?!!Y<*}w[wFML 3A V3nV
+w0=JvK6 E(M
+G ʥ
+g ƐF[㞙t&N|xg5>N*eDCGD
+C-y)Oh>sI\ѣ|v̽ 4duEosSt g4-1"M!2j6m5K1.\ZAu~U
+Y~Z4k<z\,;V;u;*=4wasanz*Jti\w+hBP-C,: b#ZVR:` LU0kV*~Cq\|WT,-|hGA"C)H]D@'±?+ӣ낐4i?`\٪:?Zmy}.p4`ճE5nt=;`"C;L}=ڽVH*`hxl3t
+Qxb׫TTM2.gGn3]G!YsYgɩ/LJc\rY:Y=
+zA}#l`JycM[łTd
yOO4z&.ENPP{!\4S?_0Bi ^
endstream
endobj
@@ -1555,38 +1684,62 @@ end readonly def
currentdict end
currentfile eexec
oc;jtD[έ$;
-tmlWg
-|]|"=dCMEq ρ>jG W9wimL-UBNY¢>܂)yHp"ۅ"Bh6o
+tmlWg
+|]|"=dCMEq ρ>jG W9wimL-UBNY¢>܂)yHp"ۅ"Bh6o
tQK 18y 0K;")3pTz}
sIٰIX ;"ڟ8*}?ŒӇrGT8jLQ84ZZv.I^dP׳Bu)1il*Ů%H=Mq_ʚ2_pIكh:Sx_]*8.1w#F`D4^K ]v4
V]0Sz` ") [L+ؐ&`[?s .ӦkJa叩D:
d|V@B JYag z
-!ՙڍh4f5o)fYI=eu֘qʌ\T5{8+݅Zt~<173|NJd1#<wc NRduz9bC/*趚6 # /M_f|@m& _w.6i`BR}݉ D/]uhc h9
-4yM 4`?;mKi%jwȧ=V˴)1ׇl^-\;E̅k%TYWHH eϬMݼXWnsW2̣1izmcVw Hʾ0%M9'@0ٍvn54A -1-v+4N}JVf`t\~tfTѪ5G#zT?we"QmFzO5sFѽ?3~!\
-JoF,}K l9#;%a٠a[$iks^:|؍x(ϙ]|V?5aAl%wk4p~74K$( .WH.M9=<uQLnV#3Y\! w\H'{2x-"X;
-Y/RԯZ4=?H&Sقk8̔o+87]Y<*=`tkTEx@zB&
+!ՙڍh4f5o)fYI=eu֘qʌ\T5{8+݅Zt~<173|NJd1#<wc
+NRduz9bC/*趚6
+# /M_f|@m&
+_w.6i`BR}݉ D/]uhc
+h9
+Z-A6W,@p,H]Rfh$Gy?Kht$FZ5xh6T,)xXyB_ cRbv(|:thv)US|T7(?:c6;b۲
+4yM 4`?;mKi%jwȧ=V˴)1ׇl^-\;E̅k%TYWHH eϬMݼXWnsW2̣1izmcVw Hʾ0%M9'@0ٍvn54A -1-v+4N}JVf`t\~tfTѪ5G#zT?we"QmFzO5sFѽ?3~!\
+҈aeg+%Az
+̚|q41p"µC
+JoF,}K
+l9#;%a٠a[$iks^:|؍x(ϙ]|V?5aAl%wk4p~74K$( .WH.M9=<uQLnV#3Y\! w\H'{2x-"X;
+Y/RԯZ4=?H&Sقk8̔o+87]Y<*=`tkTEx@zB&
o*2W ǜcOP룠5x=*ZMg(u+u?jnUGF"?ZaZ:;)'Wmt6<\4Ք|UM+xH]1*ۭ븫&߷Z#b@nK/2cT_~g5#?<XAN3 rq5J)MI`I
Ue*V d}綈6f;2}/tM5-AoN핌RI
-|ꪒOPNO#J 3_2 #;gvy_@<3{H[ܚ`(=hVzrdorpq.nٰ؅^[̇U,h~'*ٕiBΎ^ӓ3mDq"/ ?PX g>rX^ì뚆_:HfUPyPˈ`̀rnyEkR2w/lDW&RFг`h"V󞭫È{FZVaD)$\($l ;C$xبV2 '8aFB)c5ɪ=L—b3_NTorNE'jc NХCH8߇u!oInq=DXoou\`oiF[GӌѲ c,`DdéP/8
+|ꪒOPNO#J 3_2 #;gvy_@<3{H[ܚ`(=hVzrdorpɾq.nٰ؅^[̇U,h~'*ٕiBΎ^ӓ3mDq"/ ?PX g>rX^ì뚆_:HfUPyPˈ`̀rnyEkR2w/lDW&RFг`h"V󞭫È{FZVaD)$\($l ;C$xبV2
+'8aFB)c5ɪ=L—b3_NTorNE'jc
+ NХCH8߇u!oInq=DXoou\`oiF[GӌѲ c,`DdéP/8
-EȺ
Kخ%/021&o+( gSgMnB(o0L.T
 _ ܀tz?3Kcm=m3I5%3<@ s|l?x0 &Wk'aDwYP^<̩Bh祃Epǫk0kąv{ˍh+Niг"I+"vZ35XW[c-ma
-3al'W>Sl cv7Mˆ7RQS xfj#l_W^2Lb]=*mn\%*7Yjbxorg׼ )RWW x eU6NdtQ9
-Y8bZ(@~?in.O a_m0,Q61@<C{ZdA wrYAk]
+3al'W>Sl cv7Mˆ7RQS xfj#l_W^2Lb]=*mn\%*7Yjbxorg׼ )RWW x eU6NdtQ9
+Y8bZ(@~?in.O a_m0,Q61@<C{ZdA wrYAk]
y;#&t`x NMcD:d<vB.'P|]+^P?_GWY=ިEٷ֢`s\$"T?ciYpͲUL)\*^U{ug[{Ʉ&V[^ޯ/"`~:P~}
=q<^ <?F
-]T! neǪ7pO"@{NpF#*;RYcn.]|sip;1C/" ˜4pZ5fp|#*< -*wgsh&fia􄁧Z\@cu۝<]HM26 xϖ><:RU⛿Iم- R#G#R nPO}V[<$~C ݟ;eDddC6cp-XB6KZE2
+]T! neǪ7pO"@{NpF#*;RYcn.]|sip;1C/" ˜4pZ5fp|#*< -*wgsh&fia􄁧Z\@cu۝<]HM26
+xϖ><:RU⛿Iم- R#G#R nPO}V[<$~C
+ݟ;eDddC6cp-XB6KZE2
? D$;PTY:qSEcwCOAMd
-i1c >4eq|ko~`}:4Y_[^FK<])qZRVW4s^xkx%}Zib:U|֙S،@ ,_=zCWhefV3$Zƥ.5UqV:y-=e7|T rZ-u͸
-Ar>;-Vv5mٷ^@QjRƧŵg=`3e$,CԒ/Ʊ{e۽LkpZ sFIދw?I_&پl bHd?KY;Ve 3]A*U#Ue$xMX~jf4XIX/כ<nzLV-#nϼ:+#="XIOrP>NHZj❸^Ƶv0Vƻ,XHX0{CRUDQ𶑤oI+otZE3YG xQFZZ?iyc`w(},tEFeeJyQ@_ލĈW> 7 !&Eq]K'!Ő6N-
-p7 -L857$j&{pa,[%FMI3QTCllY<ٌ 7+\|y)cj@ T3O =J}
+i1c
+>4eq|ko~`}:4Y_[^FK<])qZRVW4s^xkx%}Zib:U|֙S،@ ,_=zCWhefV3$Zƥ.5UqV:y-=e7|T rZ-u͸
+Ar>;-Vv5mٷ^@QjRƧŵg=`3e$,CԒ/Ʊ{e۽LkpZ sFIދw?I_&پl bHd?KY;Ve
+3]A*U#Ue$xMX~jf4XIX/כ<nzLV-#nϼ:+#="XIOrP>NHZj❸^Ƶv0Vƻ,XHX0{CRUDQ𶑤oI+otZE3YG xQFZZ?iyc`w(},tEFeeJyQ@_ލĈW> 7
+!&Eq]K'!Ő6N-
+p7 -L857$j&{pa,[%FMI3QTCllY<ٌ
+7+\|y)cj@
+T3O
+=J}
)m^ˉ$2=rNDJvnJU
-FP:/Z-^`#f=U tl"ϳ/SF_9𰜴 g0ϣa%\cFPX&ѥGޛ/Ӹ
-ͩD lߠPVnt!V]EGN
-81FaF1 ~U-."4VBtcQ
-5_Ish1r:SA&uã>X uFI(lY
-aIzQRU`#2W\=h) g7tkL-Oͣ礼#IBv4<f^ԑ|]V~)PKΟRF򻑤<*UP}
-M8&Cȸ:UrAlK?= ~H@p-T;f+7@ezi!N':Vi}Qݵ?fwŲOܳUmAHag d;Jfsq4A^p14YN筱Tz^kF"TVcjR"LĢcV\vyduYx hOs\J*L е~uبٟ
+FP:/Z-^`#f=U tl"ϳ/SF_9𰜴 g0ϣa%\cFPX&ѥGޛ/Ӹ
+ͩD
+lߠPVnt!V]EGN
+81FaF1
+ ~U-."4VBtcQ
+5_Ish1r:SA&uã>X
+uFI(lY
+aIzQRU`#2W\=h) g7tkL-Oͣ礼#IBv4<f^ԑ|]V~)PKΟRF򻑤<*UP}
+&ThQciȖ
+FTo繮1Y8/wE[6Rdl- ['BC"CnV\2fvu{٩BnUSK꙰SjL[|x89usncogVc๸QcR#9UnH< kca
+M8&Cȸ:UrAlK?= ~H@p-T;f+7@ezi!N':Vi}Qݵ?fwŲOܳUmAHag d;Jfsq4A^p14YN筱Tz^kF"TVcjR"LĢcV\vyduYx hOs\J*L е~uبٟ
+L
endstream
endobj
90 0 obj <<
@@ -1641,84 +1794,185 @@ end readonly def
/Encoding StandardEncoding def
currentdict end
currentfile eexec
-oc;jtD[1ƅpTo9`.:ypJ*l'e}#)&7+/^ W{LZ60VQR^λ3r)#v$p~c
-SSC3R>Nn'Р(ead/Bҡ nKs w8H3ETzXHW}EpsgcxHSAB]& *P>9ݚ.TZw^q$S QgX
-`]NIHΣ{+#ߝ逞(BUnd/* oxq{o11H(ϖ [v i'j"E`$̷И8Kibj{0eLUluJP, if'۪h7 $6༊:fW<6 -%)p\eja\"9!g @GLms0_JEn|&$S@\m<؇uZ=]mjX }i]P۸]'`L}Y>;hdg ol^kiEbЯ'AvYqe}
-,SS`φS &GĞdbE*B234m!9X?욞 T UQW%P0ޛKfw Fb~ܟ('.EεP,FJM"D"I2^lt5K94䑕 lZ|CG^Ygg 䨮@?Ʌ;R-Ɉ+X]sC >U](8`K_BgP_cK zI>9Zp?;F$o[ZC$2eջigT8S)=Qpq)js+6%{FE5 Zdr\ ir$#&̹N{Ȍ^N*Oa" Y+kI}2 N&>NEqaU 8aFN%b?G/~f$l;Վ(g"wJBMnTE(="bkR q=ݍ,^E\z8#ܟfujTkj4<w{,ZNe3Sƫ8ee靖^$T
+oc;jtD[1ƅpTo9`.:ypJ*l'e}#)&7+/^
+W{LZ60VQR^λ3r)#v$p~c
+SSC3R>Nn'Р(ead/Bҡ nKs w8H3ETzXHW}EpsgcxHSAB]&
+*P>9ݚ.TZw^q$S QgX
+/w!jTaJ@Pq[<j*Bfv*zm|%]J@,#r#jnT>vM~ZIf 1N46{A"<h8؛)Зxla-Et T"5ڵ^1z≠e.``̹,lI ppЮ#QrWJ^URlUQ6O {6OQD;Dn
+`]NIHΣ{+#ߝ逞(BUnd/* oxq{o11H(ϖ
+[v i'j"E`$̷И8Kibj{0eLUluJP, if'۪h7 $6༊:fW<6
+-%)p\eja\"9!g
+@GLms0_JEn|&$S@\m<؇uZ=]mjX
+}i]P۸]'`L}Y>;hdg ol^kiEbЯ'AvYqe}
+7|# 7:!b'+iJ;EXpeWI\`}ٸ`dd&1n%GfqX%sVzPtX@jk<
+7r=,Z @vk9zHѱʕ$E2UہppPRcȻl*fy`WTgK$5hBIe^6`' 7S'QםHzg"
+&FZs&EŐVquDb6ͱ.*5.5P@2tid<QW$YoJ6AH/kgW퓏zy\ 9O\7 x+r^ߌ0xį3&҆|)j&\Dy00So}ʸikDalX%6r_ZT|~K ǔƻ袯 ĕ\v*Bя0M
+,SS`φS
+&GĞdbE*B234m!9X?욞 T UQW%P0ޛKfw Fb~ܟ('.EεP,FJM"D"I2^lt5K94䑕 lZ|CG^Ygg
+䨮@?Ʌ;R-Ɉ+X]sC >U](8`K_BgP_cK
+zI>9Zp?;F$o[ZC$2eջigT8S)=Qpq)js+6%{FE5 Zdr\ ir$#&̹N{Ȍ^N*Oa" Y+kI}2 N&>NEqaU 8aFN%b?G/~f$l;Վ(g"wJBMnTE(="bkR
+q=ݍ,^E\z8#ܟfujTkj4<w{,ZNe3Sƫ8ee靖^$T
D "ό3s/
-!@
+!@
XL^εTq
-|U.K&7f rkJGR*a^@P~>枀T8R|YT_*cn%Wz{-(YMa*EЮYݨ6}6xڴ+n<XPF*C]/7=~UI{~J ܻM@*Q6I7ק^3ꏲ 9fi읒S?MVũ'
+|U.K&7f rkJGR*a^@P~>枀T8R|YT_*cn%Wz{-(YMa*EЮYݨ6}6xڴ+n<XPF*C]/7=~UI{~J ܻM@*Q6I7ק^3ꏲ 9fi읒S?MVũ'
A)| q+v$`KĠ}= vRK@F(R߲_= ۅ ʣn;z[E7mnn7j2W@mJUk:O4m@#&a0*J
\-
-0,
-jYM'<7EsO':tZ1JSGϧ8+m]OYl(+Gs-pghq1N,7',Y<V[Q@Xk|m+xn`߼;Y".C*yN6Oƌdxp A\ڳ
-nX{w3ѓmHPHDuY`_I*ij^&g%̙R27EElReHBjY
+0,
+jYM'<7EsO':tZ1JSGϧ8+m]OYl(+Gs-pghq1N,7',Y<V[Q@Xk|m+xn`߼;Y".C*yN6Oƌdxp
+A\ڳ
+nX{w3ѓmHPHDuY`_I*ij^&g%̙R27EElReHBjY
+
+ᙎwZ-޷L$E/j-S"3QCTzxАV'lC\]aÌ",fUn:4 F&)c7()~}feb,Bg,_fW0V\
+fAɧvX p9F<sᐅp0
+Pb0nXt7m:ɱ)o6<;E٘7`V(2jobL+pyj#A棻|(矈F,Kٴ!Y_2f
|-ȋ08J)Ýkg@Sם~2 ߟVwGT+х{oP`Ѻe;A/nwz)6K
-'RgD|R-diV8ghl~@ C(q7o277"s>9#5^JvNzAڌ74@ Aat數
+'RgD|R-diV8ghl~@ C(q7o277"s>9#5^JvNzAڌ74@
+Aat數
!x<V3~}Lb5t/Bs2Dz"GPKF-sz5dcַL51 E}<Bkn2(hF^.yW(֐~]dR HU|+;-75l '0q;Hf3>9I)J?a^&شt.sC,#%qji{Z"iXղ2MɌ);Ryk:Lt4m^m~Oc+#O/0H񢧢]' DL$&B^S?~O-AHϰ
-W;唸hSҟ2, X#b?)G7]ۇoH>e*׺ kfOIӨM秚sOq?m jg1NvMBMu]Lzc#_?ћz)q(K3 eC9@uDPf/Z[>X%sZ[W5~% M"մ6zZQW'8u|c7X%/yJU+U
-33A'ΨuUb7m@Q΍Gh@H;L+iSx7 TXn{ˢqh`dw׶@#걠W54=ԓ` ]7.Vi-kiq4=vȲJS4 qy%u5U]J#+hpy)&W
-%p^{4$ *kyrXCTI=m)[PiGF~7D75(Ǎ(C<͒A{h8]uesHM7zUqyٽ`K
-Dx=}wPGFʻ|
-Imsu:7!6e%J:/4+Gҫ'PgТyߢLA2GA;_k)s|R$V0+]\nڢ]Swn oeh;
- `WL&p6ӸUʛ/& :+5<<x z" $ =c֧Ie DÕYIs|*jew `dSj\L3<)Xj^pvhS* wKPw}
-fYe}_5QJ<,e=o\E K ]^aDzd0?[[̎1m7LSѦ|~oQy痽ɮ?oU!MUXK)4m۴$0YU=Rޤ$ܿj;WV[ۈ G o yPĥ.;:5Xc#r8Usmԯu6*(=cPʹ&{5Ilbpb.^M5
-"t=A87uר)'C%5\kM"ep,cY`ˢ"H jɕ;Qkӵ!WC*Cd?ޭXVI68J/H’~X|79 ߄@a J t!.Fy0i\-6l0\nՓp% ll VIo1|묷 ?{v
-wa/\;5?_ݪ|*/N޻Hg0s B,*_(YKj 9HklrmV_@/l+g'fvGX1" g2ɓ`Us<WxVhc l JR~v9-ޑQA=xF緺L@D.iUak`t'nY#J&@6{F~WT"]9z{*Oh/RaѯDDr)`Y&rBct= [
-& # wgIVvҥxԨz)AzZv(jeVxv_AАy3'3/&hNϴ`e whTJs8#Jdihʖ(yM-(Un}$n;cg,Y/qW!+?jZzEk ZEwLo yFINRĻzseccrf</b<|Y[^jluޘDg3:cV~HRPEHďL~8{{?Qᖗ"rn_,T&lTKuIG
+W;唸hSҟ2, X#b?)G7]ۇoH>e*׺
+kfOIӨM秚sOq?m
+jg1NvMBMu]Lzc#_?ћz)q(K3 eC9@uDPf/Z[>X%sZ[W5~% M"մ6zZQW'8u|c7X%/yJU+U
+`Lƶq~yJ:dd9S\j@ď^2[9N8e%B3'3$Cu탢ށ,;yod
+33A'ΨuUb7m@Q΍Gh@H;L+iSx7
+TXn{ˢqh`dw׶@#걠W54=ԓ` ]7.Vi-kiq4=vȲJS4 qy%u5U]J#+hpy)&W
+%p^{4$ *kyrXCTI=m)[PiGF~7D75(Ǎ(C<͒A{h8]uesHM7zUqyٽ`K
+Dx=}wPGFʻ|
+VHU 6FAs4ח[wƹsǧ뷵hfFBZ'Fh?SvCb ,n$~+Z1zSłE"V6' 
+Imsu:7!6e%J:/4+Gҫ'PgТyߢLA2GA;_k)s|R$V0+]\nڢ]Swn oeh;
+Y?W~`ዂ38{aKGb[bzHFd
+
+`WL&p6ӸUʛ/& :+5<<x
+z" $
+=c֧Ie DÕYIs|*jew `dSj\L3<)Xj^pvhS* wKPw}
+fYe}_5QJ<,e=o\E K ]^aDzd0?[[̎1m7LSѦ|~oQy痽ɮ?oU!MUXK)4m۴$0YU=Rޤ$ܿj;WV[ۈ G
+o yPĥ.;:5Xcߘ#r8Usmԯu6*(=cPʹ&{5Ilbpb.^M5
+"t=A87uר)'C%5\kM"ep,cY`ˢ"H jɕ;Qkӵ!WC*Cd?ޭXVI68J/H’~X|79 ߄@a J t!.Fy0i\-6l0\nՓp% ll VIo1|묷
+?{v
+wa/\;5?_ݪ|*/N޻Hg0s B,*_(YKj 9HklrmV_@/l+g'fvGX1"
+g2ɓ`Us<WxVhc l JR~v9-ޑQA=xF緺L@D.iUak`t'nY#J&@6{F~WT"]9z{*Oh/RaѯDDr)`Y&rBct= [
+$W+H T @ռCU@˖
+& # wgIVvҥxԨz)AzZv(jeVxv_AАy3'3/&hNϴ`e whTJs8#Jdihʖ(yM-(Un}$n;cg,Y/qW!+?jZzEk ZEwLo yFINRĻzseccrf</b<|Y[^jluޘDg3:cV~HRPEHďL~8{{?Qᖗ"rn_,T&lTKuIG
mMΊgt6TWHw2u28]'6F-q&<u;NUP@
-PPPL7&"bl[FKmOHDỤ7T\Gva/~ M&MaX_xJ!KrBV0/@oxS]R/YFn! bv7JJHurV#cm[h|XD8P5 FQ_<uI>m}4 O[vw&=, FwdFM|ηI y;.+wS~ר-ޠ=
-Mtldqp8x3wGЀRcZaDJ ţ7O^=Aۚ;iLν0 Xzs dg섽Dvwi8a5os]ނ^dTt Qɿ[_[Ÿ*%_Nk?ṐkA22 GVe tDֲ^DWNfcErDz{ϼܷ!gz #
-;zzvpxMdjiiFjO`v0q!?կI :eeBui?AUa(HU^Am<dYUE>n() ^Jz2lhzMϞ&vs&n35:Pao'+s3VwL4q'lpdl
+PPPL7&"bl[FKmOHDỤ7T\Gva/~ M&MaX_xJ!KrBV0/@oxS]R/YFn! bv7JJHurV#cm[h|XD8P5 FQ_<uI>m}4
+O[vw&=, FwdFM|ηI y;.+wS~ר-ޠ=
+Mtldqp8x3wGЀRcZaDJ
+ţ7O^=Aۚ;߃iLν0 Xzs dg섽Dvwi8a5os]ނ^dTt Qɿ[_[Ÿ*%_Nk?ṐkA22 GVe
+tDֲ^DWNfcErDz{ϼܷ!gz #
+Y*l[f%JW+CJ0_6bA:SfT [XffVQ Ct kaٟsQBϛ; V5&&X &A6Ywk@-
+G,q`
+;zzvpxMdjiiFjO`v0q!?կI :eeBui?AUa(HU^Am<dYUE>n()
+^Jz2lhzMϞ&vs&n35:Pao'+s3VwL4q'lpdl
+N\n:9e.gb=g R7:~l'
AqkPHDn4)(R#^.w10XN
-*xcch̒Eώ^miw%JQRJ{q-="z%?9Ǟ*l;-XQGEl?%vaR"
+*xcch̒Eώ^miw%JQRJܧ{q-="z%?9Ǟ*l;-XQGEl?%vaR"
E' 2Vai' UIgz^>Sߩhs
o=۸ Ѫ ;B/s#3֩6>ꞈԗ8ކ-+g
-Kif~AU$ݚq0,=B{t-JƏod ?F^= MJnñ!R)@0)IG/ա#(1=zr[tEUx,U Gɿ4[8lnxr@4O? #VVmy<o.\摰SL+s
-;RȸL{hh&3T VIpsp`L$vi9*֧ƽcHn+dLyI.adG>~lÍneR/"L%6G}d,cP䭉dXtadJ`>ߔE{hx5"P:*5ח. h$ .?J-\EmDí'E{Ti4nu^oB?25i2ohZaǨ*8&Ҽ;~]}(])a utL4^H!Y:r&)G9CD+KID_?igȘ Aޓ^:hX9s kEz<i@6LFCJ2OVn5qyj
-:I%e ޝQ*(1x2$E}aTX* EFo{k'ryV>~3 šU..x[s' J~€{< _lzS >r&(8~0c }fnw?KvĬ8|ĀNL|P6l`^hrS-p}|K
- 0? |_Yb4CD3Dy~gadN}J^߂roh5מɟZ%6[ʥz:fu(1v[cŐeg!zO';.Vyq(!JGA<xB8PnOl?',k\kFcFd0Ҵm
+Kif~AU$ݚq0,=B{t-JƏod ?F^= MJnñ!R)@0)IG/ա#(1=zr[tEUx,U Gɿ4[8lnxr@4O?
+#VVmy<o.\摰SL+s
+;RȸL{hh&3T VIpsp`L$vi9*֧ƽcHn+dLyI.adG>~lÍneR/"L%6G}d,cP䭉dXtadJ`>ߔE{hx5"P:*5ח. h$
+ .?J-\EmDí'E{Ti4nu^oB?25i2ohZaǨ*8&Ҽ;~]}(])a
+utL4^H!Y:r&)G9CD+KID_?igȘ Aޓ^:hX9s kEz<i@6LFCJ2OVn5qyj
+:I%e ޝQ*(1x2$E}aTX* EFo{k'ryV>~3 šU..x[s' J~€{< _lzS
+>r&(8~0c }fnw?KvĬ8|ĀNL|P6l`^hrS-p}|K
+ 0? |_Yb4CD3Dy~gadN}J^߂roh5מɟZ%6[ʥz:fu(1v[cŐeg!zO';.Vyq(!JGA<xB8PnOl?',k\kFcFd0Ҵm
hR*5:-@
-$.He8%^u{E[ݨcNSh3TW"`Ļ7s>\<"$`34X"~bId #mN{HN]3Bbm:sW-yI>v/ue2bQ?ڴ$<M8j)oB7QD &GUCT
-)CPnQz}T?5cbÙ,NwusX9%Y^ $< qC<9줪lV@
-Z_+[26IwTk<_.s_ʴj
-TΓiոzD)>y[*5;#,ekP"+t*QDڰyﲿ\?=t`1mCpo␽;3!!-/7וd Hgd湒80cKt2Q^r3`fO rG8B2E4SE 5 ^NK =_3v=-hfе&o;? -3ukI D|dOl|bc7N9!6`I>>H~E%JG顛yGۨZr@YGۤXL
-j4\R)
-E6{`*&"6 x3у: ;vn5:i]U_4WN3(
-I8|BOOG6(f4$  !A:g 7Ŷ2z
-_ybEj,T @vv2kgƸa dK0߳X엡 bq 𪊁A8DDGp o2 Nf0}\~T=nH{\L88d%eQ?6
- $&p>D\_Eo-:'#w>z;:L߁ E,+R]OHh<̴OOsu S zAq⎼pn0L%)U,Z[> &/-ґA7]8 YWs1%-rj5#kR MZ7HBjf@X'Cvar;/F}Rh[>%Hב3LENEςxyqVz8/J( %C 4 EB,$xQ rZdc}#<t$4k,̔6 n٩Nϊ%џ i Xa #+VI/iV{(ƇSscHzMEGQZDhťw˞6"q!p\PmH7/YU~d2;
-O*&^ <PIFneY3%ߟ\f HUa!:7@su:.oUIǓ币̍w5 J4$55G6r&4Y
-A:7s#:W@d ]:JZx/m9m+yE?^  0ƽuMң˧TYD:dqq W(BEsI@L˽KM91Oz )/ZžYuSL"\ pQd "h cx!9F5㍦&v
+$.He8%^u{E[ݨcNSh3TW"`Ļ7s>\<"$`34X"~bId #mN{HN]3Bbm:sW-yI>v/ue2bQ?ڴ$<M8j)oB7QD
+&GUCT
+)CPnQz}T?5cbÙ,NwusX9%Y^ $<
+qC<9줪lV@
+Z_+[26IwTk<_.s_ʴj
+J)dM
+#+V2L
+h"
+TΓiոzD)>y[*5;#,ekP"+t*QDڰyﲿ\?=t`1mCpo␽;3!!-/7וd Hgd湒80cKt2Q^r3`fO rG8B2E4SE
+5
+^NK =_3v=-hfе&o;?
+-3ukI
+D|dOl|bc7N9!6`I>>H~E%JG顛yGۨZr@YGۤXL
+j4\R)
+p
+)\f[b\6Lˉvp앩LXt&c %RPa4-SI:v\JBq53:P_I};J>RsHWLϓCo/K|
+mBk&7$
+uCFq Lޗmiė*iU0CbePvGm1Q -gg;rF ϥ$#qQED7'0}R68naLH6d<t[Sd#mئ!QOCЌ`aoE/pn725lEz *N#%VZ{M3&I8dӛp䷗9ZFl8YjL5Or:H#E7Y㤕2K5ek] D$* M:D2 VyB^A,>H^~.PIn GPW9-R.aId6BkO!IK|-G!L}k{JHL<-⬸㥛,RgbAcD^LC$eqvϣbhg UGW&~M :YWP^'
+EI٨Kg?[h<fO)qƵ4N?^Z }qɄֻW(*rBg
+E6{`*&"6
+x3у: ;vn5:i]U_4WN3(
+A0nyf`%*/V-sSZ
+l 46#pJ < JiTAǽ
+I8|BOOG6(f4$
+ !A:g 7Ŷ2z
+_ybEj,T
+@vv2kgƸa dK0߳X엡 bq
+𪊁A8DDGp o2
+Nf0}\~T=nH{\L88d%eQ?6
+J!}=ʦSF'gZ\Aj#$>}+EzWPG迧GHGPpOZ_@WW +A?79ϧdPR;0 1@VZ%'udx'
+/z4zc$eg'τPt;'~`G:n6A|񓠺+a KzS@ )=Cx?^н@MjٚnyATFbz,x<ԓ(8b/ |4xA0f?T0۰oFX}a>-Ѹ+lr%(| n4 1#m)erU
+ $&p>D\_Eo-:'#w>z;:L߁ E,+R]OHh<̴OOsu
+S
+zAq⎼pn0L%)U,Z[>
+ &/-ґA7]8 YWs1%-rj5#kR MZ7HBjf@X'Cvar;/F}Rh[>%Hב3LENEςxyqVz8/J( %C 4 EB,$xQ rZdc}#<t$4k,̔6 n٩Nϊ%џ i Xa
+#+VI/iV{(ƇSscHzMEGQZDhťw˞6"q!p\PmH7/YU~d2;
+O*&^ <PIFneY3%ߟ\f
+HUa!:7@su:.oUIǓ币̍w5 J4$55G6r&4Y
+A:7s#:W@d ]:JZx/m9m+yE?^  0ƽuMң˧TYD:dqq W(BEsI@L˽KM91Oz
+)/ZžYuSL"\ pQd
+"h
+cx!9F5㍦&v
+߭\}w]\}lfMK6Od{5R2 :٘9^'OuAF av9m
y%i|bAȳy}&?I.9pAܩD9Z8g;vĂ8jh(
-sWy-$=ķzjLʾAr j}TLj م@z_q(x<[8hk['b+j59P(K?<_8.G(&[ίT6=xr7J_g+ϪaIZtA
-c'H#;Z cj?<%[7WL?'d?eMxx)F)Z6]̧Ha梎x*hΫ&feډm!G{sϤ`Vfx(=-Q|~[˜;S^N4K\U"׬:#AdǨ'MqyFbu䥩P]4K8%YUJN{^J" IѤ).|"t?6ðw'vSLbjf|a
+sWy-$=ķzjLʾAr j}TLj
+م@z_q(x<[8hk['b+j59P(K?<_8.G(&[ίT6=xr7J_g+ϪaIZtA
+c'H#;Z cj?<%[7WL?'d?eMxx)F)Z6]̧Ha梎x*hΫ&feډm!G{sϤ`Vfx(=-Q|~[˜;S^N4K\U"׬:#AdǨ'MqyFbu䥩P]4K8%YUJN{^J" IѤ).|"t?6ðw'vSLbjf|a
{VPBŌu˝n5Pdde2jѾ9K1JaaI
VR4<Z_HzF}= d.>Nѩ`z#6~ :e9 ȋ^+<:ţ KYK?D @@6cWvUs3ܱU@5FZ1J
:uN@8\'-T8R1ѳZ
- D$i,|Cz9k @].pR:Xߺ$n8pikME[Q~e?:A4Q$ da2g
-AS`GR[XU/VP|nUhXE\Xx?͑ajkoMpT
-szWy1 3dm)w:p*!J ,K7$Mej \67xɶ*m;'}>ҖV7TZBEegA'=717p8"1 %0`480b/i!0*J^[F/XX}n茚{\wLAx6ݩ_}R~<AZzȣ5 wq7PLDlEY1yJF iQh88D %Vr>]b~|Dج=TX{+4J_CcEhFs1y#p=62
- P "8ZYphKVAɝovH{dliƃIUkR^.ءMEh__faF/ƞYk8 a=m+I<D9qR#Gfr
+ D$i,|Cz9k
+@].pR:Xߺ$n8pikME[Q~e?:A4Q$
+da2g
+#`ߍd$fR v,Ҵ!$KSMZ{4ӃS{?3i9)/0ՒhA3>[{?j)l51ݾ(
+AS`GR[XU/VP|nUhXE\Xx?͑ajkoMpT
+szWy1 3dm)w:p*!J ,K7$Mej \67xɶ*m;'}>ҖV7TZBEegA'=717p8"1 %0`480b/i!0*J^[F/XX}n茚{\wLAx6ݩ_}R~<AZzȣ5 wq7PLDlEY1yJF iQh88D %Vr>]b~|Dج=TX{+4J_CcEhFs1y#p=62
+f&'(\gi$p8[U9e>z)AM^#JېP 9>SwG~+S E* /ÎHeƆu}Oq
+ P "8ZYphKVAɝovH{dliƃIUkR^.ءMEh__faF/ƞYk8
+a=m+I<D9qR#Gfr
o^81RNur_LК({("nQeS~Qs=WJ¼)<y=D Sx+I4h
-D!cD҂ d##,l-IyAdB֝OifDWxM2:P$+P*$ױ
+D!cD҂ d##,l-IyAdB֝OifDWxM2:P$+P*$ױ
},
V#-Ŷz-$L1N`S rN
-UXߴkȌtW;jf<(4+c84 ŵ~T$hו .v$|B+QZEs /6ë_FS0:QЯ
+UXߴkȌtW;jf<(4+c84 ŵ~T$hו
+.v$|B+QZEs
+/6ë_FS0:QЯ
h]v-ԢD$ GpXO7tV
-Jz7fGYmuo 55Si~en}~48.+ͱbsGJ"ndL\f%7@=2c3WhӶ!dxWiW覓N)KCasiX!+^j-LDeۅ Zf4BXCIωb:!֡+ã\Cn{iGn;OmebƅFy>i3wo!XsqJ+
+Jz7fGYmuo 55Si~en}~48.+ͱbsGJ"ndL\f%7@=2c3WhӶ!dxWiW覓N)KCasiX!+^j-LDeۅ
+Zf4BXCIωb:!֡+ã\Cn{iGn;OmebƅFy>i3wo!XsqJ+
7av Njܰ>l9yi-p`dNEj-OYE
-$@{g<CI[
+$@{g<CI[
+!T;Q(4twNp>B^xt5a4?E Z%%x`F7zbZ
dX!ՍZ(Kܔ~B
-0#%mtlGZ~LTE+]v\_\TQв<(`RG(i]/|O,3LL:EoBg,\6o?r3M6_v*gb~YNZ\A L!V_(+kne[6:2q c#\m-Z/4 DvOؾ3L^@kmeݱ<t__kgY.!lj
-ሶb"T`~n 5RdtP<hLN7D[ GuE><? G6)l?W _8 f5/V j&@ٔ-؟|ɋi g)8O`
-<hU"{=>L-ǒI1.N';34#&DPU J+6Q
-,cp t">N+"56vƧ@WS:5\IѭjaXt#q]Q#8[У8D[O8p(:_Hne,9>#1T rhyO4(S$fR~Tڱч˦3DQTx(<`8@(BIsLddD
- Z*3gKrBL
-b,\K3 g6=A0VFZ{=.#+ņ%mƫ/ 6 Yf0IeKB22ːSǍK:
-{6n4*iJO0PK`1ɝ yxp^J&4{Z #Uku+H\Nn^4Q~Dw[oXO.ٗ=cZE&g` pmѤ ijIdp꥕E_!㾼' ŕ诀9D9Ro_ ,.@LHVvjS+V&j ׂM&T΅r.r5Pv^ε5?Q=GSsg,o̐vh-1;fi(IxD6<^gɷ+mmR,0ۙ)4$'"թ;Z8>,^,&L F)CH?@;mKz>)7Y A[=t6G'Ν4o<(QA{+9@x
-RNeSr$S6ֿf3IN05bMef: [7~󽺝M¥?F&=>,3^ Pp%.uG?gK 1< &\|Jaw[ͥ_ Ay7)S 76J( )xHaHw^,8Sb.;0XeK࠙($&d
+0#%mtlGZ~LTE+]v\_\TQв<(`RG(i]/|O,3LL:EoBg,\6o?r3M6_v*gb~YNZ\A L!V_(+kne[6:2q c#\m-Z/4
+DvOؾ3L^@kmeݱ<t__kgY.!lj
+ሶb"T`~n
+ 5RdtP<hLN7D[
+GuE><? G6)l?W
+_8
+
+f5/V j&@ٔ-؟|ɋi g)8O`
+<hU"{=>L-ǒI1.N';34#&DPU J+6Q
+jGǵ:P񀐮&P;>הF\pIs
+A\;ގ'Iyf- iM$_]yP&PƩ "
+.X/ڳ>Y$L6t*ޥ9˧?.5Cة_F<@.B&͐7ފ/**ߖ<sVvZJ"InB{a9UݗV2QZWR۶vBÔYy
+,cp
+t">N+"56vƧ@WS:5\IѭjaXt#q]Q#8[У8D[O8p(:_Hne,9>#1T
+ rhyO4(S$fR~Tڱч˦3DQTx(<`8@(BIsLddD
+
+Z*3gKrBL
+b,\K3
+g6=A0VFZ{=.#+ņ%mƫ/ 6 Yf0IeKB22ːSǍK:
+{6n4*iJO0PK`1ɝ yxp^J&4{Z
+#Uku+H\Nn^4Q~Dw[oXO.ٗ=cZE&g` pmѤ ijIdp꥕E_!㾼' ŕ诀9D9Ro_ ,.@LHVvjS+V&j ׂM&T΅r.r5Pv^ε5?Q=GSsg,o̐vh-1;fi(IxD6<^gɷ+mmR,0ۙ)4$'"թ;Z8>,^,&L F)CH?@;mKz>)7Y A[=t6G'Ν4o<(QA{+9@x
+RNeSr$S6ֿf3IN05bMef: [7~󽺝M¥?F&=>,3^ Pp%.uG?gK
+1< &\|Jaw[ͥ_ Ay7)S 76J( )xHaHw^,8Sb.;0XeK࠙($&d
:ebݠ
endstream
endobj
@@ -1774,55 +2028,98 @@ end readonly def
/Encoding StandardEncoding def
currentdict end
currentfile eexec
-oc;jtD[1ƅpTo9`.:ypJ*l'e}#)&7+/^ W{LZ60VQR^λ3r)#v$p~c
+oc;jtD[1ƅpTo9`.:ypJ*l'e}#)&7+/^
+W{LZ60VQR^λ3r)#v$p~c
s(kzO1>5-rBH@eTcO:bIeؗ
ӿELGF_xiެ5, +T B).sLUt
-ñ$)L xM`0^Ӻ[U[Ѹ\ P0ؓ aW;] ۟e&6&~sD3R=RCk ʋ6>O2S;z250")cށd/Ar;K8+f^9EhpFRtg,,zfx05z lʢж6\E+POCj6=,3 .
-f -
-kDMuX2+mQM'Gj*4<#BLlN ] K[^G |hLV86K[S>Hw[saj_:@A"D"Z0fڒ管vrVkOC5&l<
-Ηx0Rn]YIG5wdo97$!_S_鑒WLZfZ~MiԯlM{:;Hq|<=/нq&rjFb]5!nt<׼ZO
+ñ$)L
+xM`0^Ӻ[U[Ѹ\ P0ؓ aW;] ۟e&6&~sD3R=RCk ʋ6>O2S;z250")cށd/Ar;K8+f^9EhpFRtg,,zfx05z lʢж6\E+POCj6=,3 .
+*V#H;(xSG>|rIx:[[Oe>8^t8\-wk(l.9F&S60Jr#D^b2>PEo#C@Hg@am1%-~@R@,DFXPc*~G
+f
+-
+kDMuX2+mQM'Gj*4<#BLlN ] K[^G |hLV86K[S>Hw[saj_:@A"D"Z0fڒ管vrVkOC5&l<
+ ?}$NW{
+Ηx0Rn]YIG5wdo97$!_S_鑒WLZfZ~MiԯlM{:;Hq|<=/нq&rjFb]5!nt<׼ZO
+(1Oi{rh]r_{YY1jia[
rԳm>[I}BA-gO0ǞcǠ*=38//#]E:B.T|OVn/@B
-q<s
-kV3Հ4m;o_Cck0nayȴwLc-O<Wt LRO&4N;pCJ%x@G(?<hCt@p"{VG 1JVkݣL/DzQI*(Wf΋[zle4L?cL\Z !I[ZƉu/:U.wkVA
-K+u
+q<s
+N7; 68X' /଱ֶO5*tӃ33k؂Cusr]'Y4=\rHu{o VђYFtKʞ⥣DfAS,x%@%/aqҚt(~VDoK M0{MP._Ad|H!!ZD. (ư'ދ&qR>Z<;y!߂-Ј\VR{3x."qtAM6YONBF21]@j5 =Z]ZMEfj}+ JD
+kV3Հ4m;o_Cck0nayȴwLc-O<Wt
+LRO&4N;pCJ%x@G(?<hCt@p"{VG 1JVkݣL/DzQI*(Wf΋[zle4L?cL\Z !I[ZƉu/:U.wkVA
+K+u
xmҶOm^$8G3Q8 {|̗ ±*wzםqy nE~-Z{Ε
Uka@$*!
-ă1$y9ú.Cũv4䔋fAd[rŝMmIS(EC}'.o la̘1lr[`Qⴗ0.}_YhRFn!Õ2&F%t|5?BjȞf*j+?wkħ3W$PQdM$:ػ9 2o% D"^JG_%,wIkle)@sRb%v@ slVCiIkq'q S܏ NVuJuL1#َc鰹" l^6%7jhud3Ec Mx>M26O,"2EJ}+:dC=u B /u>9&i.v'PyW֎
-R^'vqm%UV<@ .$iL:\i. %g)=3F'GHNTܛl{v=7
-LTVK<U˖ג/h^R\.>> <i ZmBvUxI:g^rhx@r*^,jRY[3:JB͘Z6J ,҈7@B&M迚#0O>xoN3
+ă1$y9ú.Cũv4䔋fAd[rŝMmIS(EC}'.o la̘1lr[`Qⴗ0.}_YhRFn!Õ2&F%t|5?BjȞf*j+?wkħ3W$PQdM$:ػ9 2o% D"^JG_%,wIkle)@sRb%v@ slVCiIkq'q S܏ NVuJuL1#َc鰹" l^6%7jhud3Ec Mx>M26O,"2EJ}+:dC=u
+B /u>9&i.v'PyW֎
+k:;Hο禜^/YeQODBA}PbdugcΦB4'3ѱ[Н̓e7H`
+R^'vqm%UV<@ .$iL:\i.
+%g)=3F'GHNTܛl{v=7
+LTVK<U˖ג/h^R\.>> <i
+ZmBvUxI:g^rhx@r*^,jRY[3:JB͘Z6J
+,҈7@B&M迚#0O>xoN3
G<U:?a,(%
-G+ŎYWyFDl̫-& hUj&@,7=ٞxę.|{B`]C6vJP۹y+=x[u.lX8$d+:K3:tLmZ<f֜`s8t7=鎭9j,DLO#;joN@Xo A⋕8W
-`j:b*{̫n6^ äCяNFNh?,Dd5u~+q},nQ W޲wK%iZds6<}UGV2
-v?f) ˞`]i }QSx^J}m~m!+Z~e(,.ϼk'4%j`QXp(c̕dWՆ{کM^7e9--bpy͊\G'6%L^pX8P@bBpw[ )h,zZA̚O;aN#(vbt eaKLhUvFQ%!B#Yq>fFTJ cxiYӣfV1(eń7V4│p!HU1ZLb<ee *FZS|6uN]"Jke+-p1U&ɰ3DKg?q?4 l L&IWwc$|Q׾JBҿPO/(U! caf2V9ߪ.K5ݽE҉{z#A ll| %<7 bnI |Hvn6} VF:epֹ/grW,Zѡ$<j/
-Q[SṽvC2ìasAT=oZ~lfbեW(S<Ϻ>@1kqU*E+ RU   x#^^|`‹iM`ϩfHw:yΔ[֚߉VfumŹ]:l0^aaYNP.١Np7qdmk 7$Ɛ&M! eѥhp>Vbj'J0v!ɗH]plu dX,%V.fZD.b Cg56 lzu$Ş<{k Wvtc(0j)dsu[Nx}W
-FR;硕S5]xos@)XޙSyfm
+G+ŎYWyFDl̫-& hUj&@,7=ٞxę.|{B`]C6vJP۹y+=x[u.lX8$d+:K3:tLmZ<f֜`s8t7=鎭9j,DLO#;joN@Xo A⋕8W
+`j:b*{̫n6^ äCяNFNh?,Dd5u~+q},nQ W޲wK%iZds6<}UGV2
+¶Ec^ 9WrN;.ev"Y^N
+v?f)
+˞`]i }QSx^J}m~m!+Z~e(,.ϼk'4%j`QXp(c̕dWՆ{کM^7e9--bpy͊\G'6%L^pX8P@bBpw[ )h,zZA̚O;aN#(vbt eaKLhUvFQ%!B#Yq>fFTJ cxiYӣfV1(eń7V4│p!HU1ZLb<ee *FZS|6uN]"Jke+-p1U&ɰ3DKg?q?4 l
+L&IWwc$|Q׾JBҿPO/(U! caf2V9ߪ.K5ݽE҉{z#A ll| %<7
+bnI |Hvn6} VF:epֹ/grW,Zѡ$<j/
+Q[SṽvC2ìasAT=oZ~lfbեW(S<Ϻ>@1kqU*E+ RU   x#^^|`‹iM`ϩfHw:yΔ[֚߉VfumŹ]:l0^aaYNP.١Np7qdmk
+7$Ɛ&M!
+eѥhp>Vbj'J0v!ɗH]plu dX,%V.fZD.b Cg56 lzu$Ş<{k
+Wvtc(0j)dsu[Nx}W
+FR;硕S5]xos@)XޙSyfm
+l 46#Y%V0TOӔ!|Vtk愃UX1e0kΣFh`\/=8;}+Μ]B!(N^ar J~u"ՠ E&VNcal!"}Bk`"EqI9~g3tZF=`x2I[u A|>{P1џ2p:#Pa9:jLLvc;caC`jy3)&ZI\(-
ift><]5%Z&Gf㫿ju`,dΑ@K)ZH̷`@tu4$oP|՝h7:
5k? σj; ͂ i 'b{1{
-՟Tٟ|\m|-q!Õ>oFEg ,O1qes!x翱^H *y@tjOIN"=0gPWNF d8{-Ǎxʙxu_HԼ̫j1 z|~y_תspSk/JN2HQ8AO<
+՟Tٟ|\m|-q!Õ>oFEg
+,O1qes!x翱^H *y@tjOIN"=0gPWNF d8{-Ǎxʙxu_HԼ̫j1 z|~y_תspSk/JN2HQ8AO<
񉹷x/-0F.@-B-؆SH2})V+;
-6YuyQEߎ!N (nw-@uU7 .F6LZQJSOqwqJ0Ll hF'X <##f֠O3b/+\ AFr-hrfES3PHIq.AwK8Ju(d%,ׁf71-j_W(uQ d- WD[T7uzjьR!bפMs9+f.2_)KQz ه6JǽKl-| NY<(4z2⠍s%έ
-[:~a w˓I)gԬ,"AO7//" Tqhf@bu l ܔXTu`bTsdbUG1,u>c4nmi3I4"t~G\VںO2OG0,m.E.,I7y*d^ e45I&Srহ
-j(7% . k
-#h&?gJB#rO[CA{QA҉0F1sf٭&+@U$u#&>[q% 1C^[K3 ЅM*ۤ >x/Z$ =ktNKQ gZo Z- gM9sy4m謷쁟wO(C76aIO!c'"*>UU+A@\e88&?c*
-]WÃՇ]0wBBՠ)pZ$se䓕 )Oܶhw)/fxWӷӷßigb0z ssV};x/}+̆Xߝx' 83xH BH~\x,?7t"Y%5 шE?Y"s-62ͥ+vi;kZOFlQt<g$5kT~'_!9”urR.M>rz
-%Kq}NRiL$VgmT5Ղ8C1F0 fz@)F>9IK;DZ+o,P<WD* eh^JY0'HImkJ1#w[c˭I$Mص;!Np%7_|⧵ZqpN`=!d&#iHmu֡\}vWy;E'h7У޺ }
-"&.,ZY3fbVF)= ^gZ =%O7
+6YuyQEߎ!N (nw-@uU7
+.F6LZQJSOqwqJ0Ll
+hF'X <##f֠O3b/+\ AFr-hrfES3PHIq.AwK8Ju(d%,ׁf71-j_W(uQ d- WD[T7uzjьR!bפMs9+f.2_)KQz ه6JǽKl-| NY<(4z2⠍s%έ
+[:~a
+w˓I)gԬ,"AO7//" Tqhf@bu l ܔXTu`bTsdbUG1,u>c4nmi3I4"t~G\VںO2OG0,m.E.,I7y*d^ e45I&Srহ
+j(7% .
+k
+#h&?gJB#rO[CA{QA҉0F1sf٭&+@U$u#&>[q% 1C^[K3 ЅM*ۤ >x/Z$ =ktNKQ gZo Z- gM9sy4m謷쁟wO(C76aIO!c'"*>UU+A@\e88&?c*
+EZTH^'y+YpN&3>]"Qmty(/ɋ:Csir p!tQJ[0ڿPa%C^tY^^ӁӞB/~:I` /,%ܚ(Fk+N(%G4qoY:| 0w4@`LgB@>? 0؇[XT5pr q/},H0ȷ
+]WÃՇ]0wBBՠ)pZ$se䓕 )Oܶhw)/fxWӷӷßigb0z ssV};x/}+̆Xߝx'
+83xH BH~\x,?7t"Y%5 шE?Y"s-62ͥ+vi;kZOFlQt<g$5kT~'_!9”urR.M>rz
+%Kq}NRiL$VgmT5Ղ8C1F0 fz@)F>9IK;DZ+o,P<WD*
+eh^JY0'HImkJ1#w[c˭I$Mص;!Np%7_|⧵ZqpN`=!d&#iHmu֡\}vWy;E'h7У޺
+}
+"&.,ZY3fbVF)= ^gZ =%O7
+
7 :КyMCY0خ ۪}Gi7Cb<F
1(1E{I1~h,?UZ;0 KDX.&QU`|
-'0S':DmM }u}ɛP!,Q#7i3>adZ}/ݐ__/֟i8v=/vOX #L" .Gނ3Cj8ͷ?Jʎ."g`?E3l\+SʿISH{Ǩ.`>@z'dV)Ԑu{lu7]1}]f?' ^%ms
+'0S':DmM }u}ɛP!,Q#7i3>adZ}/ݐ__/֟i8v=/vOX #L" .Gނ3Cj8ͷ?Jֺʎ."g`?E3l\+SʿISH{Ǩ.`>@z'dV)Ԑu{lu7]1}]f?' ^%ms
+kE3鷒1QI+!,-2캲Vҍn '&Gwڀ=g뀣
+@"͛b?î0r|]*L{S7vn[f2~w zZ Ro O].?OEThQ+J0~z
{r[&>6 F#_ϳ6eͷ7]up)UÛjID'?rDڥ:Fä_;AG
D^ɝ㿲`*)0WnX|9JeIk<1ț\7ͧD,3lA;OK8ސX
-ymWRΔ} u]BXe`dS> 7iL+yŻ[[u(aw\;c[]J#&P\Xk3΄#PRQn|@xmB:H(POJrE0޵Cw5[H Iπ8Aa0&
+ymWRΔ} u]BXe`dS> 7iL+yŻ[[u(aw\;c[]J#&P\Xk3΄#PRQn|@xmB:H(POJrE0޵Cw5[H
+Iπ8Aa0&
+$1uYdtrPi٤1Lij
Ly>``|ߕ
-Y!&]ӕ.;O"RÑ#(;_H2spretbr
-}ƊAJN@
-X) n0fG2X@7*|䢎GX‡p6I_fW|H',#t.aaP PAaRmbksn=amεRJ>TZK{pP
+Y!&]ӕ.;O"RÑ#(;_H2spretbr
+}ƊAJN@
+Fvv7ވٞ-XmFK
+um.e
+&15 P|$J/
+X) n0fG2X@7*|䢎GX‡p6I_fW|H',#t.aaP PAaRmbksn=amεRJ>TZK{pP
Zk{D8V On*&EK~T/ ۤ/ #dOPqB4xkY,
-
-`1>''(>J;'MՐ=V/t%PT d)2ݻt0TBuabq^ҟ) 7ЗʥȦoA<;&u%q?9 ЃKM?>ཛIEiS5
-=24ӘT,Fey 9ṿ-[vMwC]'B: 2)i+|\h7/8R+o'Aa"$Y]2k,%~%7]m
-{l~8lEwHPm(Lk'^C ϥR&*/2}2&5bsz,HU/V<ޤq>R/;Y(#RP]i۵ֶW~spO>c}=3%I?${"Å>mjHVTT/(yZ_ѷ7G:3</s,l`B8czG[|
-kK <6XΆҝ鋊PυSA0 \;_1kA̳M h
+
+(Ӫ%9_XG:f0Ϻ^1J(³ސbae2-?4ز&V
+`1>''(>J;'MՐ=V/t%PT d)2ݻt0TBuabq^ҟ) 7ЗʥȦoA<;&u%q?9 ЃKM?>ཛIEiS5
+=24ӘT,Fey 9ṿ-[vMwC]'B: 2)i+|\h7/8R+o'Aa"$Y]2k,%~%7]m
+{l~8lEwHPm(Lk'^C ϥR&*/2}2&5bsz,HU/V<ޤq>R/;Y(#RP]i۵ֶW~spO>c}=3%I?${"Å>mjHVTT/(yZ_ѷ7G:3</s,l`B8czG[|
+喿GlI\i@{~3}(l۳AeOQ UcW+H,:I.HwI6⌤Ikf[ZJ)Q!w弹eGDUu@`Ń Zx[l^Ö W}>"l9Z
+jvLV^iݤ밴#9 ѩ!Rykd&;*5uhE9 X̱' TTp
+kK <6XΆҝ鋊PυSA0 \;_1kA̳M h
+}z"d92tP [{1,X=
+-΅A4
endstream
endobj
94 0 obj <<
@@ -1877,72 +2174,119 @@ end readonly def
/Encoding StandardEncoding def
currentdict end
currentfile eexec
-oc;jtD[1ƅpTo9`.:ypJ*l'e}#)&7+/^ W{LZ60VQR^λ3r)#v$p~c
-(H-kx;u mCwWU/3
-U@?$r8~L*vV)U'
- q!K:FQ&>)R@!bZDW%aԟ1IV<'+D-82uDڨl:rigy"_!;T7 K6gb,Hn\}{:ՙ0݋57NBk^(j臗/$sb-vr15*洺%?][8جK$݄+1l5:o)yt fLEI/1T^6_D%+\~7atꩠ@ϕPx"/x<1cobhrm:dïi
-ia/UTܐss+åʮ/tsƐX<Ԇ͔tv My X$&7$yyߞT}xjX|/CمJMKElmHJMMdCF|aɷ5j. ZS~SSp;;I`;"J 
-0s#\ϜӽP(בx\Kc#IlߊQ}j؝-NFҴ%AT!BgKuxos Lݻp!EmG>elޗTW?k5=jVx4]^15D«|e.:Kl"POml2)YQ`Fp&Bi%rS rF,I5p}Hbja_KҾ/OR㓂{&h0zOf5 Pws&yՆOW:y"9?SP8 t#s=Nk`\MFo?2Qn\qf!Fڱ[l
+oc;jtD[1ƅpTo9`.:ypJ*l'e}#)&7+/^
+W{LZ60VQR^λ3r)#v$p~c
+YrvB>:#us
+(H-kx;u mCwWU/3
+|)P]_"dN`,g
+U@?$r8~L*vV)U'
+ q!K:FQ&>)R@!bZDW%aԟ1IV<'+D-82uDڨl:rigy"_!;T7 K6gb,Hn\}{:ՙ0݋57NBk^(j臗/$sb-vr15*洺%?][8جK$݄+1l5:o)yt fLEI/1T^6_D%+\~7atꩠ@ϕPx"/x<1cobhrm:dïi
+ia/UTܐss+åʮ/tsƐX<Ԇ͔tv My
+X$&7$yyߞT}xjX|/CمJMKElmHJMMdCF|aɷ5j.
+ZS~SSp;;I`;"J 
+0s#\ϜӽP(בx\Kc#IlߊQ}j؝-NFҴ%AT!BgKuxos Lݻp!EmG>elޗTW?k5=jVx4]^15D«|e.:Kl"POml2)YQ`Fp&Bi%rS rF,I5p}Hbja_KҾ/OR㓂{&h0zOf5
+Pws&yՆOW:y"9?SP8 t#s=Nk`\MFo?2Qn\qf!Fڱ[l
+2FO (ss1M:hęm3>dL{.R6v^MW&≃I`HM;ĠOH^$]eի44:+jXrczߕ|s~Z$C _D3eRMFa|ϐۿ؊,F))`,bL1%=Fk#ȯ{Җ@_PtoA}>
_%zOnL3"]7'$#{ò§m:`LfJ][uN9OL'ǃ(@BD+Ѵ(1"gXKFn3!iṈTfMӗۑ $Я)i`X0(
&CiHiP!KߐI*AE`
-u$dGG1렶l2<8QM>o&)9 삄clB :Z5|_H8)1*^N[+=YJypYV7iun&nP0WC?=Y+|3(۫cFXhJ ;jf| a)\Cl#IMF
->ͥ}"]20. 1~k(XΖJlBL]힐Ey:Z<oTAQ`.<tPg"h̼i80hsb*<\t>?0y?Ur
+u$dGG1렶l2<8QM>o&)9
+삄clB
+:Z5|_H8)1*^N[+=YJypYV7iun&nP0WC?=Y+|3(۫cFXhJ ;jf| a)\Cl#IMF
+>ͥ}"]20. 1~k(XΖJlBL]힐Ey:Z<oTAQ`.<tPg"h̼i80hsb*<\t>?0y?Ur
aL0n$$Ȭ@vR4U3BiGWV y'5dp
-dF8RZ^ߨ(L2Ŷ‡ ó0OV,2{VRgz) cċ(d 3Rv  .Nِ?w>u;
-a0ݜ;uLweWǡaZԩP1ЦF\ѷ\R3!K\d-C~Ծ~Pm]D\u{Ȇ[e4F: 84;f_(iҦHf}J;yOA &W\?|cYPuj6aqgR~\͓((<
-x)*i&[xh15 !LJNŭ I/%nn&bmefpN&30imH {~/14*<{]
-nz`#"@S- {xܧ!HbHwRjlă` Va'H+QP16e[v'b}5&RùN4Bfݓ !/v)(mHR>b3>FHLӝsxs8{_lEV{-}51uCBg{L0e-U͐$> גkzي zim{Y4=\rHup7шa⸅jR_nwŨ!* $ilᩓP_i|ތeT@֙X}oڂ{ M(b_lS[ay+xƒEu-~H˘I" j"rdWQRq{QRۏil;I|=VPsTuo#$VY"#ZD։_g3n^B,Gy6OKAc/#76yg`Iu Ǟ[_rށ$2HQU^>?Nu9~v'VNЈYpip"!(Ұb"z}xm%SRgً qDJM$wQ7,B-S3[ꞎԚ+Unw9APFTW\U'pXms;S5`Mst-c-4ɶc8P0(\\E
-+kR W_SUKŇ7HrPva_NYN6s5w;S UKOof?-t,M:N
-6hNL$_Q[w"8 /{n#nDm)_
+dF8RZ^ߨ(L2Ŷ‡ ó0OV,2{VRgz) cċ(d
+3Rv  .Nِ?w>u;
+a0ݜ;uLweWǡaZԩP1ЦF\ѷ\R3!K\d-C~Ծ~Pm]D\u{Ȇ[e4F: 84;f_(iҦHf}J;yOA &W\?|cYPuj6aqgR~\͓((<
+x)*i&[xh15 !LJNŭ
+I/%nn&bmefpN&30imH {~/14*<{]
+nz`#"@S-
+{xܧ!HbHwRjlă` Va'H+QP16e[v'b}5&RùN4Bfݓ !/v)(mHR>b3>FHLӝsxs8{_lEV{-}51uCBg{L0e-U͐$> גkzي zim{Y4=\rHup7шa⸅jR_nwŨ!* $ilᩓP_i|ތeT@֙X}oڂ{ M(b_lS[ay+xƒEu-~H˘I" j"rdWQRq{QRۏil;I|=VPsTuo#$VY"#ZD։_g3n^B,Gy6OKAc/#76yg`Iu
+Ǟ[_rށ$2HQU^>?Nu9~v'VNЈYpip"!(Ұb"z}xm%SRgً qDJM$wQ7,B-S3[ꞎԚ+Unw9APFTW\U'pXms;S5`Mst-c-4ɶc8P0(\\E
++kR W_SUKŇ7HrPva_NYN6s5w;S UKOof?-t,M:N
+6hNL$_Q[w"8
+/{n#nDm)_
ysҜkҤgņ9(Ŷrib0mJ &C"wCBתGۜ,HA `rY(iQ
}*?n %֙Z6SXBY(;.-L
-g2|Ug̛}Ъ<&-zyoTٻ-ʰdPfvf`N(u<_')H]R2maT},7b"Ww_+[2Gǯ;Kc@SO4wʈF#Jm7f|
-9ܸ_!~qy5Fv( 2:y%.rB8t~6۴vW"i~ 6X3B"%B#t`sQQ㥾X[
-=9-Q1|4ǽA)oQ7QX9C]A@-P6{%Z_ 0xF̝Ì03QH<)[UPzcZ/ߎڠ{jc C,k<iC$)hqj-j!A
-=5>&uM̥|v»a `U<(ry-*D% ]Ct
+g2|Ug̛}Ъ<&-zyoTٻ-ʰdPfvf`N(u<_')H]R2maT},7b"Ww_+[2Gǯ;Kc@SO4wʈF#Jm7f|
+?3^IHr>b)1dx!ˎqKiiVпu*LH}kx݅scEe]J,vGУញCw qhڲ yN\B~U-w|dXϿClw3- m|P] mW@.}y
+9ܸ_!~qy5Fv( 2:y%.rB8t~6۴vW"i~
+ 6X3B"%B#t`sQQ㥾X[
+=9-Q1|4ǽA)oQ7QX9C]A@-P6{%Z_ 0xF̝Ì03QH<)[UPzcZ/ߎڠ{jc C,k<iC$)hqj-j!A
+=5>&uM̥|v»a `U<(ry-*D% ]Ct
+1SӴ,6 J;6Q@ZZgKAOUb$u0
+3~.UzF"[Fy2'oϪn'9~rVCp $Vy!Vr 0ob.$iյbgwgG
+, Fjʻkc*aΘBz$Q؜C0cK)uL8NQ
4Btp1‚/#霡~6DM ['qN-jh 0*_tl8ƛ#12eR`
-[b;ӴŮtD7CdGߵ<KEQ
+[b;ӴŮtD7CdGߵ<KEQ
P1ϵmUCx|'>u?6Z7J
KV"QFsz}+ġG(ii:|U75X!Ql&e `s Je|^ݞ#h^ZB_Mo@$`$doh>ҩ;:/ 4ef*{{
1Q[zȎE2gcnFhseᄲ)]H 6~4e}:%_$eu"zH#/,Fp&yJ %PZ5aNW5[:( HS;wCݼDDzLtm=̋f=Ԍq…
-]5t)n} ՕXS%q #aeƏlJ$*w2bf݇!LS^^K;
- IIўe%mSR:\ thV)LJVD`/ob0mw!hגxМՎQ$kD8p/CdR0VD*e48zI-#)aHiܸ. c
+]5t)n} ՕXS%q #aeƏlJ$*w2bf݇!LS^^K;
+ IIўe%mSR:\ thV)LJVD`/ob0mw!hגxМՎQ$kD8p/CdR0VD*e48zI-#)aHiܸ. c
˝ATzJi>w~}מf'ֻoҿRX{p;Йq9ֱwִ8!q=%)=h@JSK~EM~EK1 SX8|W H
h 37eڑ˖0ۀcqkcIWuo*V \Nt2+BVCMV)O){/>pp ̀w9-Nj`d;µzfۭE
-)L
-qdV=fr(Hҹdjpg$]߂)F  Ka$]fI)֩eDBk|cTo꾧{<͹6 ~M hG7 [N.<|v\x!<]+v\BmRL;01 K¸o`LgB#^Hd
+)L
+~kz>GT,B
+qdV=fr(Hҹdjpg$]߂)F  Ka$]fI)֩eDBk|cTo꾧{<͹6 ~M hG7 [N.<|v\x!<]+v\BmRL;01 K¸o`LgB#^Hd
+kEEL
+]D{.6&Qx|M%-!e0*M|BJۻzcsw;Nc_ؤAɤ,>R}S|o١Վ9;9hf]G϶y/p2@I!Dg=MVq zvwu ^Ҥnu}d$=w()
+M[vg(vb{iR+3^.xتn-'a[> ʣ(W|`(%0jp!#:#cT %A
+٭
\WhStYf$E/^+Y,
AF1dDFK+̯ĞcV}k ^a + ؓoʱ5xƫY1 kN7nQ{@L.z؁wE'1@zюCl,M.7`ዂ38{aN`/``R̀z
P
@N~z+#2Y3Y;sC#GBa[i)`0)
-4CiH(φle֊dOߌe4dq$F&I+Y
-Lbpwu=]6f6tTʥN8"@cE{散\D8~2~ǐ63 "" 3x?@F?!?
-8nKk| >+<8^=cӨ{c!\㛀&T:(AO~ Kq3~vj1L r)E: F|wF3{%tN/.Gܳ(hU~ad8BY`G$ioΘjNoak?qMд=OTDǂBq{FKꮥ;[NQJ1gnY!J}7C<5f&@ 7oPrrDMj<5)
-"ZG+SYPqOa
-T*w)`(f;F&^(y{t6qs&u3ˉJy41ںZ&]uBS|z_/ ƱyįcdR^(pw_+*O"b .1 ISuc2[hjBVI&zsM$AuݒAsk
+4CiH(φle֊dOߌe4dq$F&I+Y
+oELo V3keeG X~`<
+kl
+x[|>,m5S6۾nYpr`>h& Pܵhdv~fv#_mEIWx>=䀴<F:M~HڪO~T㱉V[KLA֑}[b~kJSƓe</F'p)Nt5i,WE~}
+?rzϮL,|$S&2+ēAv\X:Wt3x=PD8O.V5M:ۓݮ2bN]csH*g&]gvLn
+Lbpwu=]6f6tTʥN8"@cE{散\D8~2~ǐ63 "" 3x?@F?!?
+8nKk|
+>+<8^=cӨ{c!\㛀&T:(AO~ Kq3~vj1L r)E: F|wF3{%tN/.Gܳ(hU~ad8BY`G$ioΘjNoak?qMд=OTDǂBq{FKꮥ;[NQJ1gnY!J}7C<5f&@ 7oPrrDMj<5)
+"ZG+SYPqOa
+\,@rB'V9iCZzqUʅx I'.Oǚ|;
+>~(fiZllܿ&=B{31d}<gN.)ՆBE|k~F&m˒X' Jt@omreP,ƃkM! Nת`u#,R2}^坽>t;
+t^Dv_
+@)J%ӱ-ieHi dJ+@Jm; F6^SfF A%k4
+|bٷq` 
+T*w)`(f;F&^(y{t6qs&u3ˉJy41ںZ&]uBS|z_/ ƱyįcdR^(pw_+*O"b .1 ISuc2[hjBVI&zsM$AuݒAsk
}`PɇOMMaK`U h>ō^bWn,pp~
- V'gj
+ V'gj
+yp"ǙxV+L}YƼ1'X2X3(Kǐ'Hhڧ;{%E/`P)8X5]?\1Y:|F<W&˒"HC6f)5l-v*&V0>jq Lk]j۲m.<!
(N=(sH
P6L19U_RA2 "o7|MK+ynT4~+j/: w;WF:@ո١sRzMPqrr>%YAya%+QgMNlU
-ie#E$2,ᐤ C׳>|þ0u:gdِ# /&t$H2d˜r|* X;\YLe!ƹ1'#3IR sI3˿cvy TMI8b*4?6Zu҅MJ+ nY'A]MT?U4ơ_fcb"RNg$:$ę ^dԤqȡM2✛)&a_Jvj,Öcb}S10si-!i> fd{w
-GZse)oܽ{Sa_y-a/."g+DeE[{I!(MM4 anX)QXEu}ؐ:Mo*OtlʢdhT0?v+<<D sCiIC@X/-<v_Ro=]8f r bM+&.<$]ć!uxbcpw9DHiQkd+$}dΔԩw;dZ;Wۧ . s
+ie#E$2,ᐤ
+C¡׳>|þ0u:gdِ# /&t$H2d˜r|*
+X;\YLe!ƹ1'#3IR sI3˿cvy TMI8b*4?6Zu҅MJ+
+nY'A]MT?U4ơ_fcb"RNg$:$ę ^dԤqȡM2✛)&a_Jvj,Öcb}S10si-!i> fd{w
+GZse)oܽ{Sa_y-a/."g+DeE[{I!(MM4
+anX)QXEu}ؐ:Mo*OtlʢdhT0?v+<<D
+sCiIC@X/-<v_Ro=]8f r bM+&.<$]ć!uxbcpw9DHiQkd+$}dΔԩw;dZ;Wۧ . s
025 ;x+E{"Oy~P \BdXĞ:N־Yו
-t]GLHĻl^q_ |(]@=%<nvaoo$c/+TKc'V٨0Ȏb1{jƠҵteK
+t]GLHĻl^q_ |(]@=%<nvaoo$c/+TKc'V٨0Ȏb1{jƠҵteK
eoqt*W0`z
(cTTCc(<V_F(5s(a#oOWg{M/0Rtsjpʵ}
\$Tx f:H@-
ˎm|o"hQl̈́x2wg[b2՜mfEL|WE=0'tQmx{,
-9RE#ZŔHEW g餂WcK
+9RE#ZŔHEW
+g餂WcK
"7n]-JɵLq~\! =%Kf* UKݮrZ!c9=0HZ{qAQ
-(ePX߀xg}cm-tFgaOM\m
-+Ҏn>WnȭNx,πOkWt/D>bD9H%!ᝢ^/]} "jI˺z7y I#+S@ބmg pTqq:b!-a\@yf0w8[.I0X|4?Z)nDzՌѷ Vfdّ:;t<5nx'W3 F /Mڐ9%_G5C"Y~,5Agz%/_o4ij\<aCqŅT,q4`b0A_ĥL }A +t
-ffq6XcDF" B΄R9ɴFCVLd"&[> ena3"pOPaTtVMV)ZLa\܎OȱO MI{LC U
+(ePX߀xg}cm-tFgaOM\m
+Ǔu/%q/b PI),?Z R?
+W"r91}qPxfi@ ~j=1gNn-GS@0GƁХĨ
++Ҏn>WnȭNx,πOkWt/D>bD9H%!ᝢ^/]} "jI˺z7y I#+S@ބmg pTqq:b!-a\@yf0w8[.I0X|4?Z)nDzՌѷ Vfdّ:;t<5nx'W3
+F /Mڐ9%_G5C"Y~,5Agz%/_o4ij\<aCqŅT,q4`b0A_ĥL }A
++t
+ffq6XcDF" B΄R9ɴFCVLd"&[> ena3"pOPaTtVMV)ZLa\܎OȱO
+MI{LC U
Ӑk:FxƉz.kLrm}fG\
F~(G4,%X֥VW(\6mIOESh3c%u\1l֊iZ6~v×O/LB\6LL( v&Z{knITaz)sjV0ټՂh!>4?)AA!y}Tgp
!Z tE7C!E{3˪l¼,L
՚8I0PROc+#}y JAo=vV2Qi 0a)xsĽJvwJ?ƵiH{I'=`bK#=/PG`XQ"p#!ƏDgԯ#^t!(n[r=l(@1_
-Pm'+y_U5eSP [`U{ŏ1$2ݤğ1R \+F\㷪/y˃(
+Pm'+y_U5eSP
+[`U{ŏ1$2ݤğ1R \+F\㷪/y˃(
֗rӘ
^K|T[{uwϘ.|U_"exeq^7( :5#/ !/["czBD[J<“ٷb]P;H$Of9k+9#L(xS
endstream
@@ -2005,14 +2349,16 @@ readonly def
/FontBBox{-5 -3116 1694 792}readonly def
currentdict end
currentfile eexec
-oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
+oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
"fV
bK J7uǻ
L*3T;y;!0
-kT*I+ªFū=þF6Sl"j5 CqC
-%!OШ><nrWso})M/ܠ0z>Lѯlc.`ΙkWՅ6*khR
-Bt1;|gzcSM`׻nʡ3bkК{ΒA"5$ "p֩* ^WSVҞ *@:)+A<?h<eD`wG֫HC.e-3g᫯( X%40:hZut
-d]Vw%TB @IyUw2s_4'|Sf\ ZS儱~e>x"BN< .J!/do7HRtf8IVv@ȽAiOPkOOv;)}M r4ymS4f
+kT*I+ªFū=þF6Sl"j5 CqC
+%!OШ><nrWso})M/ܠ0z>Lѯlc.`ΙkWՅ6*khR
+Bt1;|gzcSM`׻nʡ3bkК{ΒA"5$
+"p֩* ^WSVҞ *@:)+A<?h<eD`wG֫HC.e-3g᫯( X%40:hZut
+|wk)Jww 
+d]Vw%TB @IyUw2s_4'|Sf\ ZS儱~e>x"BN< .J!/do7HRtf8IVv@ȽAiOPkOOv;)}M r4ymS4f
endstream
endobj
98 0 obj <<
@@ -2071,10 +2417,20 @@ readonly def
/FontBBox{-21 -994 1292 912}readonly def
currentdict end
currentfile eexec
-oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
-ߒ52c{ۅt1}7
-1[xL6o5 @ ȽYQu9 UЫ:T9jMYqM
-jCvi!A?Τw]{@FFFb銍RY}7icgbctF k ]}:^Cx#?Y˄fOh F5mqRJ*q/EZdž
+oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
+ANh;mt1<QeX+fXn){1C_@ Oke'FAVs)LvٖINUs+{_Wȓ @E?D)+?[w ܾSTTg|[9 z-ϔUk_͕)'Yğ @E5TuNv"&[43ũ?A
+в0 >8NU^ ~Bzة$y| 6SP.oq*+l
+OzNcZX 1\*QPJ&N;Y&q6 Zˁ?T:$yX ,+N8UԯߝYמ{D
+ߒ52c{ۅt1}7
+TA
+IBv=MFg.uZ'3g{I.e관k1*}/yӨ_daD1\fU*ܺ0N1l4%1Ģy~WSᥑ
+@`M&@&K5>
+1[xL6o5 @ ȽYQu9
+UЫ:T9jMYqM
+jCvi!A?Τw]{@FFFb銍RY}7icgbctF
+k ]}:^Cx#?Y˄fOh F5mqRJ*q/EZdž
+TA02ʡln=q;<U|l wsZ ylA-UJ)'u~S=3JȾ81:xkI6cǀf,h3AK~
+o=߿`#!5vOSK
endstream
endobj
100 0 obj <<
@@ -2128,9 +2484,9 @@ readonly def
/FontBBox{5 -289 1224 906}readonly def
currentdict end
currentfile eexec
-oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
+oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
NoEY(IM~[nr_ӌtxK[i,!1CM1Vopy?
-5,/o>f ?Kp FdfNo[
+5,/o>f ?Kp FdfNo[
endstream
endobj
102 0 obj <<
@@ -2194,16 +2550,23 @@ readonly def
/FontBBox{-70 -289 949 802}readonly def
currentdict end
currentfile eexec
-oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
-NoEY(IM~[nr_ӌtxK[i,!1CM1Vopy? $3#R醩|yB) 2q&rR<r> JhIHd T9ASZ<MJ8<SN
+oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
+NoEY(IM~[nr_ӌtxK[i,!1CM1Vopy? $3#R醩|yB) 2q&rR<r> JhIHd
+T9ASZ<MJ8<SN
+*<4F.CeI%n8RGìǦʻ!5aNg`8^܁~tG 4!w;Ey(Ui@bR7)v*Tv-<2Kd"U;N%1ȣT0t/QϫFNkDηRʼntUa\/N
dzvCVϏ"0Xpy-̴
^_y%Hc @k;Or+NkN9 19L R|׃R~ŝ515  -ȊRXi~"->L-{ڎ
-u[X8KƔ/ԹaE_]FGDIݝ$_K vato A+gP ü>VP')욈f+m~B)gܼy˄}\!>qq39Q
+u[X8KƔ/ԹaE_]FGDIݝ$_K vato
+A+gP ü>VP')욈f+m~B)gܼy˄}\!>qq39Q
+5Uʘtqʅ>
+"ͻQ"Wֵz"
\|?~5jV@ ZzF
/ש.;N gDXE鯡r"T []1za4X
-Mb])
-٣O0MEW W?&vw8z!,bQm^&;V$a6IӶB&',pfbxV4^^]kT02J2)( )2HJ-M
-m5ɍVÐ0N6_u( 3t@yKMwrl/$Ioxv^M2Ư~E><O+51 3kJ ,=DWFIi? V<L
+Mb])
+٣O0MEW W?&vw8z!,bQm^&;V$a6IӶB&',pfbxV4^^]kT02J2)( )2HJ-M
+m5ɍVÐ0N6_u( 3t@yKMwrl/$Ioxv^M2Ư~E><O+51 3kJ ,=DWFIi? V<L
+·Y]m\Rg^.Q2+}zuǥW$)7{~ǟ Gq)ٵ?9# ʎt)p"7N<AToK;I
+Zk%rLI~'DѱD$p.xP%x ^
endstream
endobj
104 0 obj <<
@@ -2260,12 +2623,17 @@ readonly def
/FontBBox{-40 -283 904 728}readonly def
currentdict end
currentfile eexec
-oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
-Jng/BMY2iH$xu$qb4
-Y(ND`fs ö˯fuLbPB-SRπK=9f2y3yg
-~/4k Emt_
+oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
+Jng/BMY2iH$xu$qb4
+LT) ^
+ppLi׉9Kvt.M$©m>
+Y(ND`fs
+ö˯fuLbPB-SRπK=9f2y3yg
+~/4k Emt_
+#: գRLc*Ͼv#_LhiSXO'IVz_gsvS5BфpcC`QgەGh3 z U|ebao"p 8gg.6^FIG3,[)͖i f(>
_ri
-BӘw#CQ!UM9w
+BӘw#CQ!UM9w
+XG|NUQ W^np<%I%0wyImЍh
Nm@n+lś} jFTXmBS-uFHƋoVfBYk1/&&<ӿPďHI;
/D-T6a.6Yp=-Y4Qeh,ZFTC9BŅF[#gDcܘ t`IQ_t眞HUrը>]Yek=#IW}3
endstream
@@ -2347,22 +2715,34 @@ readonly def
/FontBBox{-5 -183 542 746}readonly def
currentdict end
currentfile eexec
-oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
-e#jV$FO o~ O1汉Vok3f0N(Ivy<}RdB0-3cj j~-"кQD-J̀ :tvo|5? _*p9H/ ֱijLM?EЈϑ?#aaR;PhKRg ٰbfŘ no+3(JP =1$jܣ]boLAk2љjV`>|RF>s
+oc;jAw-ᾉYň5t&נ{hLGqB`d˗Pة|*x\ޖHt
+e#jV$FO o~ O1汉Vok3f0N(Ivy<}RdB0-3cj j~-"кQD-J̀ :tvo|5? _*p9H/ ֱijLM?EЈϑ?#aaR;PhKRg ٰbfŘ no+3(JP
+=1$jܣ]boLAk2љjV`>|RF>s
~ LQ%)'r;853%V#3@yVpiɷl6oOjuh W-
- ogn9;}9撖
-]$U{AM;ۓ4k9 O97Gxui1;a1vM 79xh>$=/㈣#u=T!LUE8<#ŏp/3)殾ܛ'@}Jc鞋idzXӎ^3IŽdϒ$BSRujSӦF#( 1z/@BYqrpQ), h OCZN0OZ돭A|-cmťz#[}A,eY>/ 4K S/q
+ ogn9;}9撖
+]$U{AM;ۓ4k9
+O97Gxui1;a1vM 79xh>$=/㈣#u=T!LUE8<#ŏp/3)殾ܛ'@}Jc鞋idzXӎ^3IŽdϒ$BSRujSӦF#( 1z/@BYqrpQ), h
+OCZN0OZ돭A|-cmťz#[}A,eY>/ 4K
+S/q
mb`t8"tNچ3P!t@'0iůf')ogbVUCP$ڱWtM[<v'`HQhQO>8wYC<I3ЍKO
- SViFŶ+5dndPB)-,-A{)X.yBŠKN*:ily@N㢓۶1t$.*W(Eepj j"7A8,(~ucO##;t1)"q0
+ SViFŶ+5dndPB)-,-A{)X.yBŠKN*:ily@N㢓۶1t$.*W(Eepj j"7A8,(~ucO##;t1)"q0
+
f埡[PǭT<cDH)B@֎X 9> ;v^8 Kqw
-lw(Z|wV7t 0d{.Xq/;?X$] G" $̙5x wh$qUdd!Hce#bmBpFO}//!υۿhb%/:&-dڧx袟s
+lw(Z|wV7t 0d{.Xq/;?X$] G"
+$̙5x wh$qUdd!Hce#bmBpFO}//!υۿhb%/:&-dڧx袟s
Ԃ9˨bW=lƁ<[1
-r*7yp[TNJ^!@hȭQi%I1Qxks>mi֭ϊ|D'Z%RWT5e)0F;o3_8fNE`-( +"򺹀DfLh"$
-n`/
+r*7yp[TNJ^!@hȭQi%I1Qxks>mi֭ϊ|D'Z%RWT5e)0F;o3_8fNE`-( +"򺹀DfLh"$
+^)pyS|^1[,K˛xrcRCi)<Y$*qG-eGO\D C*PيrnhlG g_1)LI>lÐa:i%1Ͻ 0sWj<%/x;,TD*ƞéBo+Nvɷa[@ck(vPґ,\hlE=0+F!<.y4nG095Q!Յwo3KS*T
+Ȳ ʋIO^3T-&
+@߂=yaE+J
+n`/
{n`j6(N-S:oq[-5~,LATsE\CvӕѠɗ
-MOlG3Q8?jePIX).' ee4oYLTz<!B''R7TR1M&h+ʸނZ".pY"n`YEkڝ{vd1]<u8ep0Ҟp}p fh)~A`|ǹCGQVUo>hv؊G [Z: "CŹn;Sɠ2v|bɊQvڣMz<$usd#1:4׾Ѵnuyedݝ?V2"HP]؟ E0܂8BӈPc$61,{pAέLC?GȵaG5P7$1y9IR;7<>ZQ{ZT, Vzh9[C FM"+koS@ )#U]F5qr8pbb--JF(^F'
+MOlG3Q8?jePIX).' ee4oYLTz<!B''R7TR1M&h+ʸނZ".pY"n`YEkڝ{vd1]<u8ep0Ҟp}p
+fh)~A`|ǹCGQVUo>hv؊G [Z:
+"CŹn;Sɠ2v|bɊQvڣMz<$usd#1:4׾Ѵnuyedݝ?V2"HP]؟ E0܂8BӈPc$61,{pAέLC?GȵaG5P7$1y9IR;7<>ZQ{ZT, Vzh9[C FM"+koS@ )#U]F5qr8pbb--JF(^F'
!?j IД-
-11_Q@*S^HAf./D)lj}Ƽ7)$!nHݲ]M (2)fcOFJ "k"q ,?rrr 6^6^ѓ@bO=fKj9%x.Au΅[_12qY_ШӇB%F*ho! rx+st]pH 2/
+11_Q@*S^HAf./D)lj}Ƽ7)$!nHݲ]M
+(2)fcOFJ "k"q ,?rrr 6^6^ѓ@bO=fKj9%x.Au΅[_12qY_ШӇB%F*ho! rx+st]pH 2/
endstream
endobj
108 0 obj <<
diff --git a/macros/latex/contrib/elsarticle/doc/makefile b/macros/latex/contrib/elsarticle/doc/makefile
index 7d7a2c930a..b573bb1618 100644
--- a/macros/latex/contrib/elsarticle/doc/makefile
+++ b/macros/latex/contrib/elsarticle/doc/makefile
@@ -1,4 +1,4 @@
-# $Id: makefile 193 2020-11-23 11:15:37Z rishi $
+# $Id: makefile 243 2024-04-06 10:34:40Z rishi $
file=elsdoc
@@ -36,7 +36,3 @@ diff:
copy:
cp $(file).sty ../
-
-
-
-
diff --git a/macros/latex/contrib/elsarticle/doc/rvdtx.sty b/macros/latex/contrib/elsarticle/doc/rvdtx.sty
index b2c5511608..72d331bc62 100644
--- a/macros/latex/contrib/elsarticle/doc/rvdtx.sty
+++ b/macros/latex/contrib/elsarticle/doc/rvdtx.sty
@@ -4,16 +4,16 @@
%
% Auxiliary package to format *.dtx documents.
%
-% Copyright (c) 2008-2020 CV Radhakrishnan <cvr@stmdocs.in>,
+% Copyright (c) 2008-2024 CV Radhakrishnan <cvr@stmdocs.in>,
%
% This file may be distributed and/or modified under the conditions
-% of the LaTeX Project Public License, either version 1.2 of this
+% of the LaTeX Project Public License, either version 1.3 of this
% license or (at your option) any later version. The latest version
% of this license is in:
%
% http://www.latex-project.org/lppl.txt
%
-% and version 1.2 or later is part of all distributions of LaTeX
+% and version 1.3 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
%
diff --git a/macros/latex/contrib/elsarticle/elsarticle-harv.bst b/macros/latex/contrib/elsarticle/elsarticle-harv.bst
index 3bf1acb435..2228e3d420 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-harv.bst
+++ b/macros/latex/contrib/elsarticle/elsarticle-harv.bst
@@ -1,19 +1,19 @@
%%
%% This is file `elsarticle-harv.bst' (Version 2.1),
%%
-%% Copyright 2009-2020 Elsevier Ltd
+%% Copyright 2009-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
-%% $Id: elsarticle-harv.bst 194 2020-11-23 11:29:27Z rishi $
+%% $Id: elsarticle-harv.bst 255 2024-04-06 10:58:47Z rishi $
%%
%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-harv.bst $
%%
diff --git a/macros/latex/contrib/elsarticle/elsarticle-num-names.bst b/macros/latex/contrib/elsarticle/elsarticle-num-names.bst
index 562466a909..de32b374c9 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-num-names.bst
+++ b/macros/latex/contrib/elsarticle/elsarticle-num-names.bst
@@ -1,19 +1,19 @@
%%
%% This is file `elsarticle-num-names.bst' (Version 2.1),
%%
-%% Copyright 2009-2020 Elsevier Ltd
+%% Copyright 2009-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
-%% $Id: elsarticle-num-names.bst 194 2020-11-23 11:29:27Z rishi $
+%% $Id: elsarticle-num-names.bst 253 2024-04-06 10:57:58Z rishi $
%%
%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num-names.bst $
%%
diff --git a/macros/latex/contrib/elsarticle/elsarticle-num.bst b/macros/latex/contrib/elsarticle/elsarticle-num.bst
index 14499bfda7..5e6b721a54 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-num.bst
+++ b/macros/latex/contrib/elsarticle/elsarticle-num.bst
@@ -1,20 +1,20 @@
%%
%% This is file `elsarticle-num.bst' (Version 2.1),
%%
-%% Copyright 2007-2020 Elsevier Ltd
+%% Copyright 2007-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%%
-%% $Id: elsarticle-num.bst 194 2020-11-23 11:29:27Z rishi $
+%% $Id: elsarticle-num.bst 254 2024-04-06 10:58:22Z rishi $
%%
%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num.bst $
%%
diff --git a/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex b/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex
index ba637ca205..5a9e0135e6 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex
+++ b/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex
@@ -1,14 +1,14 @@
%%
-%% Copyright 2007-2020 Elsevier Ltd
+%% Copyright 2007-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'Elsarticle Bundle' is
@@ -37,6 +37,8 @@
%% The amssymb package provides various useful mathematical symbols
\usepackage{amssymb}
+%% The amsmath package provides various useful equation environments.
+\usepackage{amsmath}
%% The amsthm package provides extended theorem environments
%% \usepackage{amsthm}
@@ -76,7 +78,7 @@
%% country={}}
%% \fntext[label3]{}
-\title{}
+\title{} %% Article title
%% use optional labels to link authors explicitly to addresses:
%% \author[label1,label2]{}
@@ -94,8 +96,9 @@
%% state={},
%% country={}}
-\author{}
+\author{} %% Author name
+%% Author affiliation
\affiliation{organization={},%Department and Organization
addressline={},
city={},
@@ -103,9 +106,10 @@
state={},
country={}}
+%% Abstract
\begin{abstract}
%% Text of abstract
-
+Abstract text.
\end{abstract}
%%Graphical abstract
@@ -119,6 +123,7 @@
\item Research highlight 2
\end{highlights}
+%% Keywords
\begin{keyword}
%% keywords here, in the form: keyword \sep keyword
@@ -131,20 +136,122 @@
\end{frontmatter}
+%% Add \usepackage{lineno} before \begin{document} and uncomment
+%% following line to enable line numbers
%% \linenumbers
%% main text
-\section{}
-\label{}
+%%
+
+%% Use \section commands to start a section
+\section{Example Section}
+\label{sec1}
+%% Labels are used to cross-reference an item using \ref command.
+
+Section text. See Subsection \ref{subsec1}.
+
+%% Use \subsection commands to start a subsection.
+\subsection{Example Subsection}
+\label{subsec1}
+
+Subsection text.
+
+%% Use \subsubsection, \paragraph, \subparagraph commands to
+%% start 3rd, 4th and 5th level sections.
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Document_Structure#Sectioning_commands
+
+\subsubsection{Mathematics}
+%% Inline mathematics is tagged between $ symbols.
+This is an example for the symbol $\alpha$ tagged as inline mathematics.
+
+%% Displayed equations can be tagged using various environments.
+%% Single line equations can be tagged using the equation environment.
+\begin{equation}
+f(x) = (x+a)(x+b)
+\end{equation}
+
+%% Unnumbered equations are tagged using starred versions of the environment.
+%% amsmath package needs to be loaded for the starred version of equation environment.
+\begin{equation*}
+f(x) = (x+a)(x+b)
+\end{equation*}
+
+%% align or eqnarray environments can be used for multi line equations.
+%% & is used to mark alignment points in equations.
+%% \\ is used to end a row in a multiline equation.
+\begin{align}
+ f(x) &= (x+a)(x+b) \\
+ &= x^2 + (a+b)x + ab
+\end{align}
+
+\begin{eqnarray}
+ f(x) &=& (x+a)(x+b) \nonumber\\ %% If equation numbering is not needed for a row use \nonumber.
+ &=& x^2 + (a+b)x + ab
+\end{eqnarray}
+
+%% Unnumbered versions of align and eqnarray
+\begin{align*}
+ f(x) &= (x+a)(x+b) \\
+ &= x^2 + (a+b)x + ab
+\end{align*}
+
+\begin{eqnarray*}
+ f(x)&=& (x+a)(x+b) \\
+ &=& x^2 + (a+b)x + ab
+\end{eqnarray*}
+
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Mathematics
+%% https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics
+
+%% Use a table environment to create tables.
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Tables
+\begin{table}[t]%% placement specifier
+%% Use tabular environment to tag the tabular data.
+%% https://en.wikibooks.org/wiki/LaTeX/Tables#The_tabular_environment
+\centering%% For centre alignment of tabular.
+\begin{tabular}{l c r}%% Table column specifiers
+%% Tabular cells are separated by &
+ 1 & 2 & 3 \\ %% A tabular row ends with \\
+ 4 & 5 & 6 \\
+ 7 & 8 & 9 \\
+\end{tabular}
+%% Use \caption command for table caption and label.
+\caption{Table Caption}\label{fig1}
+\end{table}
+
+
+%% Use figure environment to create figures
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions
+\begin{figure}[t]%% placement specifier
+%% Use \includegraphics command to insert graphic files. Place graphics files in
+%% working directory.
+\centering%% For centre alignment of image.
+\includegraphics{example-image-a}
+%% Use \caption command for figure caption and label.
+\caption{Figure Caption}\label{fig1}
+%% https://en.wikibooks.org/wiki/LaTeX/Importing_Graphics#Importing_external_graphics
+\end{figure}
+
%% The Appendices part is started with the command \appendix;
%% appendix sections are then done as normal sections
-%% \appendix
+\appendix
+\section{Example Appendix Section}
+\label{app1}
-%% \section{}
-%% \label{}
+Appendix text.
-%% If you have bibdatabase file and want bibtex to generate the
+%% For citations use:
+%% \citet{<label>} ==> Lamport (1994)
+%% \citep{<label>} ==> (Lamport, 1994)
+%%
+Example citation, See \citet{lamport94}.
+
+%% If you have bib database file and want bibtex to generate the
%% bibitems, please use
%%
%% \bibliographystyle{elsarticle-harv}
@@ -153,12 +260,21 @@
%% else use the following coding to input the bibitems directly in the
%% TeX file.
+%% Refer following link for more details about bibliography and citations.
+%% https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
+
\begin{thebibliography}{00}
+%% For authoryear reference style
%% \bibitem[Author(year)]{label}
%% Text of bibliographic item
-\bibitem[ ()]{}
+\bibitem[Lamport(1994)]{lamport94}
+ Leslie Lamport,
+ \textit{\LaTeX: a document preparation system},
+ Addison Wesley, Massachusetts,
+ 2nd edition,
+ 1994.
\end{thebibliography}
\end{document}
@@ -166,3 +282,5 @@
\endinput
%%
%% End of file `elsarticle-template-harv.tex'.
+
+
diff --git a/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex b/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex
index f4f618b2ea..9237a5997d 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex
+++ b/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex
@@ -1,14 +1,14 @@
%%
-%% Copyright 2007-2020 Elsevier Ltd
+%% Copyright 2007-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'Elsarticle Bundle' is
@@ -37,6 +37,8 @@
%% The amssymb package provides various useful mathematical symbols
\usepackage{amssymb}
+%% The amsmath package provides various useful equation environments.
+\usepackage{amsmath}
%% The amsthm package provides extended theorem environments
%% \usepackage{amsthm}
@@ -55,7 +57,7 @@
%% use the tnoteref command within \title for footnotes;
%% use the tnotetext command for theassociated footnote;
-%% use the fnref command within \author or \address for footnotes;
+%% use the fnref command within \author or \affiliation for footnotes;
%% use the fntext command for theassociated footnote;
%% use the corref command within \author for corresponding author footnotes;
%% use the cortext command for theassociated footnote;
@@ -76,7 +78,7 @@
%% country={}}
%% \fntext[label3]{}
-\title{}
+\title{} %% Article title
%% use optional labels to link authors explicitly to addresses:
%% \author[label1,label2]{}
@@ -94,8 +96,9 @@
%% state={},
%% country={}}
-\author{}
+\author{} %% Author name
+%% Author affiliation
\affiliation{organization={},%Department and Organization
addressline={},
city={},
@@ -103,9 +106,10 @@
state={},
country={}}
+%% Abstract
\begin{abstract}
%% Text of abstract
-
+Abstract text.
\end{abstract}
%%Graphical abstract
@@ -119,6 +123,7 @@
\item Research highlight 2
\end{highlights}
+%% Keywords
\begin{keyword}
%% keywords here, in the form: keyword \sep keyword
@@ -131,25 +136,122 @@
\end{frontmatter}
+%% Add \usepackage{lineno} before \begin{document} and uncomment
+%% following line to enable line numbers
%% \linenumbers
%% main text
-\section{}
-\label{}
+%%
+
+%% Use \section commands to start a section
+\section{Example Section}
+\label{sec1}
+%% Labels are used to cross-reference an item using \ref command.
+
+Section text. See Subsection \ref{subsec1}.
+
+%% Use \subsection commands to start a subsection.
+\subsection{Example Subsection}
+\label{subsec1}
+
+Subsection text.
+
+%% Use \subsubsection, \paragraph, \subparagraph commands to
+%% start 3rd, 4th and 5th level sections.
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Document_Structure#Sectioning_commands
+
+\subsubsection{Mathematics}
+%% Inline mathematics is tagged between $ symbols.
+This is an example for the symbol $\alpha$ tagged as inline mathematics.
+
+%% Displayed equations can be tagged using various environments.
+%% Single line equations can be tagged using the equation environment.
+\begin{equation}
+f(x) = (x+a)(x+b)
+\end{equation}
+
+%% Unnumbered equations are tagged using starred versions of the environment.
+%% amsmath package needs to be loaded for the starred version of equation environment.
+\begin{equation*}
+f(x) = (x+a)(x+b)
+\end{equation*}
+
+%% align or eqnarray environments can be used for multi line equations.
+%% & is used to mark alignment points in equations.
+%% \\ is used to end a row in a multiline equation.
+\begin{align}
+ f(x) &= (x+a)(x+b) \\
+ &= x^2 + (a+b)x + ab
+\end{align}
+
+\begin{eqnarray}
+ f(x) &=& (x+a)(x+b) \nonumber\\ %% If equation numbering is not needed for a row use \nonumber.
+ &=& x^2 + (a+b)x + ab
+\end{eqnarray}
+
+%% Unnumbered versions of align and eqnarray
+\begin{align*}
+ f(x) &= (x+a)(x+b) \\
+ &= x^2 + (a+b)x + ab
+\end{align*}
+
+\begin{eqnarray*}
+ f(x)&=& (x+a)(x+b) \\
+ &=& x^2 + (a+b)x + ab
+\end{eqnarray*}
+
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Mathematics
+%% https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics
+
+%% Use a table environment to create tables.
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Tables
+\begin{table}[t]%% placement specifier
+%% Use tabular environment to tag the tabular data.
+%% https://en.wikibooks.org/wiki/LaTeX/Tables#The_tabular_environment
+\centering%% For centre alignment of tabular.
+\begin{tabular}{l c r}%% Table column specifiers
+%% Tabular cells are separated by &
+ 1 & 2 & 3 \\ %% A tabular row ends with \\
+ 4 & 5 & 6 \\
+ 7 & 8 & 9 \\
+\end{tabular}
+%% Use \caption command for table caption and label.
+\caption{Table Caption}\label{fig1}
+\end{table}
+
+
+%% Use figure environment to create figures
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions
+\begin{figure}[t]%% placement specifier
+%% Use \includegraphics command to insert graphic files. Place graphics files in
+%% working directory.
+\centering%% For centre alignment of image.
+\includegraphics{example-image-a}
+%% Use \caption command for figure caption and label.
+\caption{Figure Caption}\label{fig1}
+%% https://en.wikibooks.org/wiki/LaTeX/Importing_Graphics#Importing_external_graphics
+\end{figure}
+
%% The Appendices part is started with the command \appendix;
%% appendix sections are then done as normal sections
-%% \appendix
+\appendix
+\section{Example Appendix Section}
+\label{app1}
-%% \section{}
-%% \label{}
+Appendix text.
%% For citations use:
-%% \citet{<label>} ==> Jones et al. [21]
+%% \citet{<label>} ==> Lamport [21]
%% \citep{<label>} ==> [21]
%%
+Example citation, See \citet{lamport94}.
-%% If you have bibdatabase file and want bibtex to generate the
+%% If you have bib database file and want bibtex to generate the
%% bibitems, please use
%%
%% \bibliographystyle{elsarticle-num-names}
@@ -158,12 +260,21 @@
%% else use the following coding to input the bibitems directly in the
%% TeX file.
+%% Refer following link for more details about bibliography and citations.
+%% https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
+
\begin{thebibliography}{00}
+%% For authoryear reference style
%% \bibitem[Author(year)]{label}
%% Text of bibliographic item
-\bibitem[ ()]{}
+\bibitem[Lamport(1994)]{lamport94}
+ Leslie Lamport,
+ \textit{\LaTeX: a document preparation system},
+ Addison Wesley, Massachusetts,
+ 2nd edition,
+ 1994.
\end{thebibliography}
\end{document}
diff --git a/macros/latex/contrib/elsarticle/elsarticle-template-num.tex b/macros/latex/contrib/elsarticle/elsarticle-template-num.tex
index 6852a7e5c1..4cd4bbe747 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-template-num.tex
+++ b/macros/latex/contrib/elsarticle/elsarticle-template-num.tex
@@ -1,28 +1,23 @@
%%
-%% Copyright 2007-2020 Elsevier Ltd
+%% Copyright 2007-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'Elsarticle Bundle' is
%% given in the file `manifest.txt'.
%%
-
%% Template article for Elsevier's document class `elsarticle'
%% with numbered style bibliographic references
%% SP 2008/03/01
-%%
-%%
-%%
-%% $Id: elsarticle-template-num.tex 190 2020-11-23 11:12:32Z rishi $
-%%
+%% $Id: elsarticle-template-num.tex 249 2024-04-06 10:51:24Z rishi $
%%
\documentclass[preprint,12pt]{elsarticle}
@@ -44,6 +39,8 @@
%% The amssymb package provides various useful mathematical symbols
\usepackage{amssymb}
+%% The amsmath package provides various useful equation environments.
+\usepackage{amsmath}
%% The amsthm package provides extended theorem environments
%% \usepackage{amsthm}
@@ -62,7 +59,7 @@
%% use the tnoteref command within \title for footnotes;
%% use the tnotetext command for theassociated footnote;
-%% use the fnref command within \author or \address for footnotes;
+%% use the fnref command within \author or \affiliation for footnotes;
%% use the fntext command for theassociated footnote;
%% use the corref command within \author for corresponding author footnotes;
%% use the cortext command for theassociated footnote;
@@ -101,8 +98,9 @@
%% state={},
%% country={}}
-\author{}
+\author{} %% Author name
+%% Author affiliation
\affiliation{organization={},%Department and Organization
addressline={},
city={},
@@ -110,9 +108,10 @@
state={},
country={}}
+%% Abstract
\begin{abstract}
%% Text of abstract
-
+Abstract text.
\end{abstract}
%%Graphical abstract
@@ -126,6 +125,7 @@
\item Research highlight 2
\end{highlights}
+%% Keywords
\begin{keyword}
%% keywords here, in the form: keyword \sep keyword
@@ -138,20 +138,122 @@
\end{frontmatter}
+%% Add \usepackage{lineno} before \begin{document} and uncomment
+%% following line to enable line numbers
%% \linenumbers
%% main text
-\section{}
-\label{}
+%%
+
+%% Use \section commands to start a section
+\section{Example Section}
+\label{sec1}
+%% Labels are used to cross-reference an item using \ref command.
+
+Section text. See Subsection \ref{subsec1}.
+
+%% Use \subsection commands to start a subsection.
+\subsection{Example Subsection}
+\label{subsec1}
+
+Subsection text.
+
+%% Use \subsubsection, \paragraph, \subparagraph commands to
+%% start 3rd, 4th and 5th level sections.
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Document_Structure#Sectioning_commands
+
+\subsubsection{Mathematics}
+%% Inline mathematics is tagged between $ symbols.
+This is an example for the symbol $\alpha$ tagged as inline mathematics.
+
+%% Displayed equations can be tagged using various environments.
+%% Single line equations can be tagged using the equation environment.
+\begin{equation}
+f(x) = (x+a)(x+b)
+\end{equation}
+
+%% Unnumbered equations are tagged using starred versions of the environment.
+%% amsmath package needs to be loaded for the starred version of equation environment.
+\begin{equation*}
+f(x) = (x+a)(x+b)
+\end{equation*}
+
+%% align or eqnarray environments can be used for multi line equations.
+%% & is used to mark alignment points in equations.
+%% \\ is used to end a row in a multiline equation.
+\begin{align}
+ f(x) &= (x+a)(x+b) \\
+ &= x^2 + (a+b)x + ab
+\end{align}
+
+\begin{eqnarray}
+ f(x) &=& (x+a)(x+b) \nonumber\\ %% If equation numbering is not needed for a row use \nonumber.
+ &=& x^2 + (a+b)x + ab
+\end{eqnarray}
+
+%% Unnumbered versions of align and eqnarray
+\begin{align*}
+ f(x) &= (x+a)(x+b) \\
+ &= x^2 + (a+b)x + ab
+\end{align*}
+
+\begin{eqnarray*}
+ f(x)&=& (x+a)(x+b) \\
+ &=& x^2 + (a+b)x + ab
+\end{eqnarray*}
+
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Mathematics
+%% https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics
+
+%% Use a table environment to create tables.
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Tables
+\begin{table}[t]%% placement specifier
+%% Use tabular environment to tag the tabular data.
+%% https://en.wikibooks.org/wiki/LaTeX/Tables#The_tabular_environment
+\centering%% For centre alignment of tabular.
+\begin{tabular}{l c r}%% Table column specifiers
+%% Tabular cells are separated by &
+ 1 & 2 & 3 \\ %% A tabular row ends with \\
+ 4 & 5 & 6 \\
+ 7 & 8 & 9 \\
+\end{tabular}
+%% Use \caption command for table caption and label.
+\caption{Table Caption}\label{fig1}
+\end{table}
+
+
+%% Use figure environment to create figures
+%% Refer following link for more details.
+%% https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions
+\begin{figure}[t]%% placement specifier
+%% Use \includegraphics command to insert graphic files. Place graphics files in
+%% working directory.
+\centering%% For centre alignment of image.
+\includegraphics{example-image-a}
+%% Use \caption command for figure caption and label.
+\caption{Figure Caption}\label{fig1}
+%% https://en.wikibooks.org/wiki/LaTeX/Importing_Graphics#Importing_external_graphics
+\end{figure}
+
%% The Appendices part is started with the command \appendix;
%% appendix sections are then done as normal sections
-%% \appendix
+\appendix
+\section{Example Appendix Section}
+\label{app1}
-%% \section{}
-%% \label{}
+Appendix text.
-%% If you have bibdatabase file and want bibtex to generate the
+%% For citations use:
+%% \cite{<label>} ==> [1]
+
+%%
+Example citation, See \cite{lamport94}.
+
+%% If you have bib database file and want bibtex to generate the
%% bibitems, please use
%%
%% \bibliographystyle{elsarticle-num}
@@ -160,15 +262,25 @@
%% else use the following coding to input the bibitems directly in the
%% TeX file.
+%% Refer following link for more details about bibliography and citations.
+%% https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
+
\begin{thebibliography}{00}
+%% For numbered reference style
%% \bibitem{label}
%% Text of bibliographic item
-\bibitem{}
+\bibitem{lamport94}
+ Leslie Lamport,
+ \textit{\LaTeX: a document preparation system},
+ Addison Wesley, Massachusetts,
+ 2nd edition,
+ 1994.
\end{thebibliography}
\end{document}
+
\endinput
%%
%% End of file `elsarticle-template-num.tex'.
diff --git a/macros/latex/contrib/elsarticle/elsarticle.dtx b/macros/latex/contrib/elsarticle/elsarticle.dtx
index a5a0a0b3b5..a0c2b2e60f 100644
--- a/macros/latex/contrib/elsarticle/elsarticle.dtx
+++ b/macros/latex/contrib/elsarticle/elsarticle.dtx
@@ -1,22 +1,22 @@
% \iffalse meta-comment
%
-% Copyright (C) 2007-2020 by Elsevier Ltd
+% Copyright (C) 2007-2024 by Elsevier Ltd
% -----------------------------------------------
%
% This file may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.2
+% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in:
%
% http://www.latex-project.org/lppl.txt
%
-% and version 1.2 or later is part of all distributions of LaTeX
+% and version 1.3 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% \fi
-% \CheckSum{3243}
+% \CheckSum{3279}
%
-% $Id: elsarticle.dtx 190 2020-11-23 11:12:32Z rishi $
+% $Id: elsarticle.dtx 259 2024-04-06 12:00:41Z rishi $
% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle.dtx $
% \iffalse
%<*driver>
@@ -62,6 +62,7 @@
% \changes{v3.3}{2020/11/20}{Defined \string\affiliation command for structured
% address tagging.}
%
+% \changes{v3.4}{2022/11/26}{A bug fix. Accented characters produced errors. So loaded fontenc package.}
%
% \GetFileInfo{elsarticle.dtx}
%
@@ -83,8 +84,8 @@
%%
%%
\def\RCSfile{elsarticle}%
- \def\RCSversion{3.3}%
- \def\RCSdate{2020/11/20}%
+ \def\RCSversion{3.4}%
+ \def\RCSdate{2024/04/04}%
\def\@shortjnl{\relax}
\def\@journal{Elsevier Ltd}
\def\@company{Elsevier Ltd}
@@ -101,6 +102,8 @@
\newif\ifuseexplthreefunctions \useexplthreefunctionsfalse
+\RequirePackage[T1]{fontenc}
+
\IfFileExists{expl3.sty}{%
\global\useexplthreefunctionstrue%
\RequirePackage{expl3}}{}
@@ -228,7 +231,7 @@
\let\@fnotes\@empty\let\@fnmark\@empty
\def\fntext[#1]#2{\g@addto@macro\@fnotes{%
\refstepcounter{fnote}\elsLabel{#1}%
- \def\thefootnote{\c@fnote}%
+ \def\thefootnote{\thefnote}%
\global\setcounter{footnote}{\c@fnote}%
\footnotetext{#2}}}
@@ -449,6 +452,7 @@
{
op .tl_set_x:N = \l_organization_punc_tl,
oraganizationsep .tl_set_x:N = \l_organization_punc_tl,
+ oraganisationsep .tl_set_x:N = \l_organization_punc_tl,
ap .tl_set_x:N = \l_address_line_punc_tl,
addresslinesep .tl_set_x:N = \l_address_line_punc_tl,
cp .tl_set_x:N = \l_city_punc_tl,
@@ -459,6 +463,7 @@
statesep .tl_set_x:N = \l_state_punc_tl,
o .code:n = { \ca_organization[\l_organization_punc_tl]{#1} },
organization .code:n = { \ca_organization[\l_organization_punc_tl]{#1} },
+ organisation .code:n = { \ca_organization[\l_organization_punc_tl]{#1} },
a .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} },
addressline .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} },
c .code:n = { \ca_aff_city[\l_city_punc_tl]{#1} },
@@ -509,17 +514,32 @@
{
\keys_set:nn { stm / affiliation } { #2 }
}
- \csgappto{elsaddress}{
- \def\baselinestretch{1}%
- \refstepcounter{affn}
- \xdef\@currentlabel{\theaffn}
- \IfNoValueTF { #1 }
- { }
- { \elsLabel{#1} }
- \textsuperscript{\theaffn}}
- \csxappto{elsaddress}{
- \csuse { ca_affiliation_values }
- \par
+ \IfNoValueTF { #1 }
+ {
+ \csgappto{elsauthors}{%
+ \par\vspace*{6pt}\noindent
+ \bgroup\def\baselinestretch{1}%
+ \footnotesize\itshape%
+ \unskip\ignorespaces}
+ \csxappto{elsauthors}{\csuse { ca_affiliation_values }}
+ \csgappto{elsauthors}{\par\vspace*{6pt}
+ \noindent\unskip\ignorespaces
+ \gdef\authorsep{}
+ \egroup}
+ }
+ {
+ \csgappto{elsaddress}{
+ \def\baselinestretch{1}%
+ \refstepcounter{affn}
+ \xdef\@currentlabel{\theaffn}
+ \IfNoValueTF { #1 }
+ { }
+ { \elsLabel{#1} }
+ \textsuperscript{\theaffn}}
+ \csxappto{elsaddress}{
+ \csuse { ca_affiliation_values }
+ \par
+ }
}
}
\ExplSyntaxOff
@@ -749,7 +769,12 @@
\noindent\unskip{\Large\@elsarticlehighlightstitle}%*%
\par\vskip12pt\noindent\unskip\ignorespaces\textbf{\@title}%
\ifx\elsprelimauthors\@empty\relax\else%
- \par\vskip6pt\noindent\unskip\ignorespaces\elsprelimauthors%
+ \par\vskip6pt\noindent\unskip\ignorespaces%
+ \ifdoubleblind%
+ \vspace*{2pc}
+ \else%
+ \elsprelimauthors%
+ \fi%
\fi%
\par\medskip\noindent\unskip\ignorespaces
\begin{itemize}
@@ -763,7 +788,12 @@
\noindent\unskip{\Large\@elsarticlegrabstitle}%*%
\par\vskip12pt\noindent\unskip\ignorespaces\textbf{\@title}%
\ifx\elsprelimauthors\@empty\relax\else%
- \par\vskip6pt\noindent\unskip\ignorespaces\elsprelimauthors%
+ \par\vskip6pt\noindent\unskip\ignorespaces%
+ \ifdoubleblind%
+ \vspace*{2pc}
+ \else%
+ \elsprelimauthors%
+ \fi%
\fi%
\par\medskip\noindent\unskip\ignorespaces}
{\egroup}
@@ -1089,7 +1119,7 @@
\fi%
\fi%
\fi%
- }
+ }%
}%
\let\@evenfoot\@oddfoot}
% \end{macrocode}
@@ -1425,7 +1455,7 @@
\@makeother\=
}{}}
%%
-\def\appendixname{Appendix }
+\def\appendixname{Appendix}
\renewcommand\appendix{\par
\setcounter{section}{0}%
\setcounter{subsection}{0}%
diff --git a/macros/latex/contrib/elsarticle/elsarticle.ins b/macros/latex/contrib/elsarticle/elsarticle.ins
index 53ea4ac19b..3be91dd979 100644
--- a/macros/latex/contrib/elsarticle/elsarticle.ins
+++ b/macros/latex/contrib/elsarticle/elsarticle.ins
@@ -3,22 +3,22 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 2007-2020 Elsevier Ltd
+%% Copyright 2007-2024 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
%%
%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
+%% License, either version 1.3 of this license or (at your option) any
%% later version. The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
+%% and version 1.3 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% The list of all files belonging to the 'Elsarticle Bundle' is
%% given in the file 'manifest.txt'.
%%
-%% $Id: elsarticle.ins 191 2020-11-23 11:13:24Z rishi $
+%% $Id: elsarticle.ins 251 2024-04-06 10:53:35Z rishi $
%%
%%
\input docstrip.tex
@@ -26,16 +26,16 @@
\preamble
-Copyright 2007-2020 Elsevier Ltd
+Copyright 2007-2024 Elsevier Ltd
This file is part of the 'Elsarticle Bundle'.
-------------------------------------------
It may be distributed under the conditions of the LaTeX Project Public
-License, either version 1.2 of this license or (at your option) any
+License, either version 1.3 of this license or (at your option) any
later version. The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.2 or later is part of all distributions of LaTeX
+and version 1.3 or later is part of all distributions of LaTeX
version 1999/12/01 or later.
The list of all files belonging to the 'Elsarticle Bundle' is
diff --git a/macros/latex/contrib/elsarticle/manifest.txt b/macros/latex/contrib/elsarticle/manifest.txt
index 5b073e1526..839be61947 100644
--- a/macros/latex/contrib/elsarticle/manifest.txt
+++ b/macros/latex/contrib/elsarticle/manifest.txt
@@ -1,14 +1,14 @@
-% Copyright 2007-2020 Elsevier Ltd
+% Copyright 2007-2024 Elsevier Ltd
%
% This file is part of the 'Elsarticle Bundle'.
% ---------------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.2
+% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.2 or later is part of all distributions of LaTeX
+% and version 1.3 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% The list of all files belonging to the LaTeX 'Elsarticle Bundle' is
@@ -40,6 +40,9 @@ elsarticle-template-harv.tex
elsarticle-template-num.tex
article template for a document with numbered citation
+changelog.txt
+ change log file
+
manifest.txt
this file
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index 76a7ffaecf..b8bbe05c30 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -5,6 +5,19 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
+## [2024-04-09]
+
+### Fixed
+ - structure destinations for boxed destinations
+
+### Changed
+ - use \pdf_object_ref:n instead of backend command as preparation of l3kernel changes
+ regarding object storing.
+ - support for structure destination if indexed objects are used
+
+### Added
+ - force EmbeddedFiles name tree with standard A-4F
+
## [2024-03-26]
Version: 2024-03-26, 0.96g
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index 1378840ee9..136f8e6c7c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/README.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.96g, 2024-03-26
+Version: 0.96h, 2024-04-09
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
index 912e4c644f..b11df8acf7 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
@@ -24,7 +24,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2024-03-26 v0.96g
+\ProvidesPackage{color-ltx}[2024-04-09 v0.96h
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
index a9719de19e..19d5375f7e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-03-26}{0.96g}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-04-09}{0.96h}
{temporay patches to for the colorspace package to test pdfresource management ... UF}
% colorspace can define more models, that l3color can't yet handle.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index 91dbb1d88a..d6595449fe 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
@@ -82,7 +82,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -964,7 +964,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2024-03-26 v0.96g %
+\ProvidesFile{hgeneric-testphase.def}[2024-04-09 v0.96h %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index ee538f4cbb..8861d8b53f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
index d7c0d8d930..75e944cf82 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
%
@@ -56,27 +56,27 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2024-03-26}{}
+ {l3backend-testphase-dvipdfmx.def}{2024-04-09}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2024-03-26}{}
+ {l3backend-testphase-dvips.def}{2024-04-09}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2024-03-26}{}
+ {l3backend-testphase-dvisvgm.def}{2024-04-09}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2024-03-26}{}
+ {l3backend-testphase-luatex.def}{2024-04-09}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2024-03-26}{}
+ {l3backend-testphase-pdftex.def}{2024-04-09}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2024-03-26}{}
+ {l3backend-testphase-xetex.def}{2024-04-09}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
@@ -205,7 +205,7 @@
%</drivers>
% \end{macrocode}
% \end{variable}
-%
+
% \begin{variable}
% {\g_@@_backend_resourceid_int, \g_@@_backend_name_int, \g_@@_backend_page_int}
% a counter to create labels for the resources, a counter
@@ -218,6 +218,7 @@
%</drivers>
% \end{macrocode}
% \end{variable}
+%
% \subsection{luacode}
% Load the lua code.
% \begin{macrocode}
@@ -348,7 +349,6 @@
% \begin{NOTE}{UF}
% path: Page
% !!!!!!!!!!!!!!!!!!!!!!
-% This part of the code depends on l3ref-tmp as it sets labels.
% It also depends on code in l3pdfmanagement as the code uses the Core-dictionaries
% !!!!!!!!!!!!!!!!!!!!!!
%
@@ -671,7 +671,7 @@
{
ltx.@@.object["@@/Page/Resources/#1"]
=
- "\@@_backend_object_ref:n{@@/Page/Resources/#1}"
+ "\pdf_object_ref:n{@@/Page/Resources/#1}"
}
}
}
@@ -751,7 +751,7 @@
%objects are not filled with \pdf_object_write as this is not additive!
\@@_backend:e
{
- put~\@@_backend_object_ref:n {@@/Page/Resources/#1}<</#2~#3>>
+ put~\pdf_object_ref:n {@@/Page/Resources/#1}<</#2~#3>>
}
}
@@ -783,6 +783,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+%
% \subsubsection{Page resources /Properties + BDC operators}
% \begin{macro}
% {
@@ -830,7 +831,7 @@
\cs_set_protected:Npn \@@_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name
{
- \@@_backend_pdfmark:e{/#1~\@@_backend_object_ref:n{#2}~/BDC}
+ \@@_backend_pdfmark:e{/#1~\pdf_object_ref:n{#2}~/BDC}
}
\cs_set_protected:Npn \@@_backend_bdcobject:n #1 % #1 eg. Span,
{
@@ -890,7 +891,7 @@
/Properties~
<<
/l3pdf\int_use:N\g_@@_backend_name_int\c_space_tl
- \@@_backend_object_ref:n { #2 }
+ \pdf_object_ref:n { #2 }
>>
>>
}
@@ -962,7 +963,7 @@
\__kernel_backend_literal:e
{
pdf:put~@resources~
- <</##1~\@@_backend_object_ref:n {@@/Page/Resources/##1}>>
+ <</##1~\pdf_object_ref:n {@@/Page/Resources/##1}>>
}
}
}
@@ -980,7 +981,7 @@
\pdfdict_gput:nee
{ g_@@_Core/Xform/Resources/Properties }
{ l3pdf\int_use:N\g_@@_backend_name_int }
- { \@@_backend_object_ref:n { #2 } }
+ { \pdf_object_ref:n { #2 } }
}
{
\exp_args:Ne \tex_latelua:D
@@ -989,7 +990,7 @@
(
tex.count["g_shipout_readonly_int"],
"l3pdf\int_use:N\g_@@_backend_name_int",
- "\@@_backend_object_ref:n { #2 }"
+ "\pdf_object_ref:n { #2 }"
)
}
}
@@ -1071,7 +1072,7 @@
\pdfdict_gput:nee %no handler needed
{ g_@@_Core/Xform/Resources/Properties }
{ l3pdf\int_use:N\g_@@_backend_resourceid_int }
- { \@@_backend_object_ref:n { #2 } }
+ { \pdf_object_ref:n { #2 } }
}
{
\@@_backend_record_abspage:e {l3pdf\int_use:N\g_@@_backend_resourceid_int}
@@ -1086,7 +1087,7 @@
\pdfdict_gput:nee
{ g_@@_Core/backend_Page\l_@@_tmpa_tl/Resources/Properties }
{ l3pdf\int_use:N\g_@@_backend_resourceid_int }
- { \@@_backend_object_ref:n{#2} }
+ { \pdf_object_ref:n{#2} }
}
}
\cs_set_protected:Npn \@@_backend_bdcobject:n #1% #1 eg. Span
@@ -1188,6 +1189,7 @@
%</pdftex>
% \end{macrocode}
% \end{macro}
+%
% \subsection{\enquote{Catalog} \& subdirectories (pdfcatalog) }
% The backend command is already in the driver:
% \cs{@@_backend_catalog_gput:nn}
@@ -1235,6 +1237,7 @@
% EmbeddedFiles is a bit special.
% For once we need backend commands for dvips.
% But we want also an option to create the name on the fly.
+%
% \begin{macro}{\@@_backend_NamesEmbeddedFiles_add:nn}
% dvips need special backend code to create the name tree.
% With the other engines it does nothing.
@@ -1261,6 +1264,7 @@
%</dvisvgm>
% \end{macrocode}
% \end{macro}
+%
% \subsubsection{Additional annotation commands}
% Starting with texlive 2021 pdftex and luatex offer commands to interrupt
% a link. That can for example be used to exclude the header and footer from
@@ -1734,6 +1738,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+%
% \subsection{Structure Destinations}
% Standard destinations consist of a reference to a page in the pdf and instructions
% how to display it---typically they will put a specific location in the left top corner
@@ -1757,14 +1762,22 @@
% that if structure destinations are used, they should be used always. So we define
% alternative commands which can be activated by mapping them to the standard backend commands.
%
+% The needed code differ depending on if structure objects use standard or indexed object names.
+% At the end we will probably always use indexed objects, but for now we offer
+% both options.
+%
% \begin{macro}{\l_pdf_current_structure_destination_tl}
%
-% This commands holds the name of the structure object to use in the next command
+% This command holds the name of the structure object to use in the following commands
% which creates a destination. The code which activates structure destinations
% must also ensure that it has a sensible, expandable content. \pkg{tagpdf} for example
% will define it as
% \begin{verbatim}
% \tl_set:Nn \l_pdf_current_structure_destination_tl { __tag/struct/\g__tag_struct_stack_current_tl }
+% \end{verbatim}
+% or if indexed structure object names are used
+% \begin{verbatim}
+% \tl_set:Nn \l_pdf_current_structure_destination_tl { {__tag/struct}{\g__tag_struct_stack_current_tl} }
% \end{verbatim}
% \begin{macrocode}
%<*drivers>
@@ -1778,19 +1791,28 @@
% \__pdf_backend_destination:nn -> \__pdf_backend_structure_destination:nn
% \__pdf_backend_destination:nnnn -> \__pdf_backend_structure_destination:nnnn
% \__pdf_backend_link_begin_goto:nnw -> \__pdf_backend_link_begin_structure_goto:nnw
+% \__pdf_backend_destination:nn -> \__pdf_backend_indexed_structure_destination:nn
+% \__pdf_backend_destination:nnnn -> \__pdf_backend_indexed_structure_destination:nnnn
+% \__pdf_backend_link_begin_goto:nnw -> \__pdf_backend_indexed_link_begin_structure_goto:nnw
% \end{verbatim}
%
% Activating means mapping them onto the original commands. Be aware that not
% all engines and compilation routes support structure destinations, for them
% the command will be a no-op.
%
-% \begin{macro}{\pdf_activate_structure_destination:}
+% \begin{macro}{\pdf_activate_structure_destination:,\pdf_activate_indexed_structure_destination:}
% \begin{macrocode}
%<*drivers>
\cs_new_protected:Npn \pdf_activate_structure_destination:
{
- \cs_gset_eq:NN \@@_backend_destination:nn \@@_backend_structure_destination:nn
- \cs_gset_eq:NN \@@_backend_destination:nnnn \@@_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \@@_backend_destination:nn \@@_backend_structure_destination:nn
+ \cs_gset_eq:NN \@@_backend_destination:nnnn \@@_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \@@_backend_link_begin_goto:nnw \@@_backend_link_begin_structure_goto:nnw
+ }
+\cs_new_protected:Npn \pdf_activate_indexed_structure_destination:
+ {
+ \cs_gset_eq:NN \@@_backend_destination:nn \@@_backend_indexed_structure_destination:nn
+ \cs_gset_eq:NN \@@_backend_destination:nnnn \@@_backend_indexed_structure_destination:nnnn
\cs_gset_eq:NN \@@_backend_link_begin_goto:nnw \@@_backend_link_begin_structure_goto:nnw
}
%</drivers>
@@ -1804,13 +1826,17 @@
% \begin{macrocode}
%<*drivers>
\cs_set_eq:NN \@@_backend_structure_destination:nn \@@_backend_destination:nn
-\cs_set_eq:NN \@@_backend_structure_destination:nnnn \@@_backend_destination:nnnn
+\cs_set_eq:NN \@@_backend_structure_destination:nnnn \@@_backend_destination:nnnn
\cs_set_eq:NN \@@_backend_link_begin_structure_goto:nnw \@@_backend_link_begin_goto:nnw
+\cs_set_eq:NN \@@_backend_indexed_structure_destination:nn \@@_backend_destination:nn
+\cs_set_eq:NN \@@_backend_indexed_structure_destination:nnnn \@@_backend_destination:nnnn
%</drivers>
% \end{macrocode}
-% \begin{macro}{\@@_backend_structure_destination:nn}
-% This command is the backend command to create a destination.
-% It should in parallel create also a structure destination.
+% \begin{macro}{\@@_backend_structure_destination:nn,
+% \@@_backend_structure_destination:nnnn,
+% \@@_backend_link_begin_structure_goto:nnw}
+% These commands are the backend commands to create a destination.
+% which create also a structure destination.
% At first xetex/dvipdfmx.
% The structure destination is an array, so we use obj for it
% so that we can reference it:
@@ -1935,7 +1961,6 @@
}
%</xdvipdfmx|dvipdfmx>
% \end{macrocode}
-% \end{macro}
% Now pdftex. We only redefine for version 1.40 revision 24 or later.
% \begin{macrocode}
%<*pdftex>
@@ -1982,7 +2007,7 @@
\scan_stop:
}
}
- \cs_set_protected:Npn \@@_backend_destination:nnnn #1#2#3#4
+ \cs_set_protected:Npn \@@_backend_structure_destination:nnnn #1#2#3#4
{
\tex_pdfdest:D
name {#1}
@@ -2054,7 +2079,7 @@
\scan_stop:
}
}
- \cs_set_protected:Npn \@@_backend_destination:nnnn #1#2#3#4
+ \cs_set_protected:Npn \@@_backend_structure_destination:nnnn #1#2#3#4
{
\tex_pdfextension:D dest
name {#1}
@@ -2082,6 +2107,252 @@
}
%</luatex>
% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_indexed_structure_destination:nn,
+% \@@_backend_indexed_structure_destination:nnnn}
+% This are the indexed variants of the commands to create a destination
+% and a structure destination.
+% At first xetex/dvipdfmx.
+% The structure destination is an array, so we use obj for it
+% so that we can reference it:
+% \begin{macrocode}
+%<*xdvipdfmx|dvipdfmx>
+\cs_set_protected:Npn \@@_backend_indexed_structure_destination:nn #1#2
+ {
+ \@@_backend:e
+ {
+ dest ~ ( \exp_not:n {#1} )
+ [
+ @thispage
+ \str_case:nnF {#2}
+ {
+ { xyz } { /XYZ ~ @xpos ~ @ypos ~ null }
+ { fit } { /Fit }
+ { fitb } { /FitB }
+ { fitbh } { /FitBH }
+ { fitbv } { /FitBV ~ @xpos }
+ { fith } { /FitH ~ @ypos }
+ { fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
+ }
+ { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
+ ]
+ }
+% \end{macrocode}
+% We do not test anymore if the structure object exist. The object of the structure destination
+% gets the name \texttt{@pdf.Sdest.\meta{destname}}, where \meta{destname} is the
+% name of the standard destination so that we can reference it in the GoTo links.
+% \begin{macrocode}
+ \@@_backend:e
+ {
+ obj ~ @pdf.SDest.\exp_not:n{#1}
+ [
+ \exp_after:wN \pdf_object_ref_indexed:nn \l_pdf_current_structure_destination_tl
+ \str_case:nnF {#2}
+ {
+ { xyz } { /XYZ ~ @xpos ~ @ypos ~ null }
+ { fit } { /Fit }
+ { fitb } { /FitB }
+ { fitbh } { /FitBH }
+ { fitbv } { /FitBV ~ @xpos }
+ { fith } { /FitH ~ @ypos }
+ { fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
+ }
+ { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
+ ]
+ }
+ }
+% \end{macrocode}
+%
+% The second destination command is for the boxed destination. Here we need to define
+% an new auxiliary command:
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_indexed_structure_destination_aux:nnnn #1#2#3#4
+ {
+ \vbox_to_zero:n
+ {
+ \__kernel_kern:n {#4}
+ \hbox:n
+ {
+ \@@_backend:n { obj ~ @pdf_ #2 _llx ~ @xpos }
+ \@@_backend:n { obj ~ @pdf_ #2 _lly ~ @ypos }
+ }
+ \tex_vss:D
+ }
+ \__kernel_kern:n {#1}
+ \vbox_to_zero:n
+ {
+ \__kernel_kern:n { -#3 }
+ \hbox:n
+ {
+ \@@_backend:n
+ {
+ dest ~ (#2)
+ [
+ @thispage
+ /FitR ~
+ @pdf_ #2 _llx ~ @pdf_ #2 _lly ~
+ @xpos ~ @ypos
+ ]
+ }
+% \end{macrocode}
+% Here we add the structure destination to the same box
+% \begin{macrocode}
+ \@@_backend:e
+ {
+ obj ~ @pdf.SDest.\exp_not:n{#2}
+ [
+ \exp_after:wN \pdf_object_ref_indexed:nn \l_pdf_current_structure_destination_tl
+ /FitR ~
+ @pdf_ #2 _llx ~ @pdf_ #2 _lly ~
+ @xpos ~ @ypos
+ ]
+ }
+ }
+ \tex_vss:D
+ }
+ \__kernel_kern:n { -#1 }
+ }
+% \end{macrocode}
+% And now we redefine the destination command:
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_backend_indexed_structure_destination:nnnn #1#2#3#4
+ {
+ \exp_args:Ne \@@_backend_indexed_structure_destination_aux:nnnn
+ { \dim_eval:n {#2} } {#1} {#3} {#4}
+ }
+%</xdvipdfmx|dvipdfmx>
+% \end{macrocode}
+%
+% Now pdftex. We only redefine for version 1.40 revision 24 or later.
+% \begin{macrocode}
+%<*pdftex>
+\bool_lazy_and:nnT
+ { \int_compare_p:nNn {\tex_pdftexversion:D } > {139} }
+ { \int_compare_p:nNn {\tex_pdftexrevision:D } > {23} }
+ {
+ \cs_set_protected:Npn \@@_backend_indexed_structure_destination:nn #1#2
+ {
+ \tex_pdfdest:D
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ \tex_pdfdest:D
+ struct~
+ \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl ~
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ }
+ \cs_set_protected:Npn \@@_backend_indexed_structure_destination:nnnn #1#2#3#4
+ {
+ \tex_pdfdest:D
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ \tex_pdfdest:D
+ struct~
+ \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl ~
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ }
+ }
+%</pdftex>
+% \end{macrocode}
+% luatex is quite similar to pdftex. Mostly the test for the version is different
+% \begin{macrocode}
+%<*luatex>
+ \int_compare:nNnT {\directlua{tex.print(status.list()["development_id"])} } > {7468}
+ {
+ \cs_set_protected:Npn \@@_backend_indexed_structure_destination:nn #1#2
+ {
+ \tex_pdfextension:D dest
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ \tex_pdfextension:D dest
+ struct~
+ \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl ~
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ }
+ \cs_set_protected:Npn \@@_backend_indexed_structure_destination:nnnn #1#2#3#4
+ {
+ \tex_pdfextension:D dest
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ \tex_pdfextension:D dest
+ struct~
+ \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl~
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ }
+ \cs_set_protected:Npn \@@_backend_link_begin_structure_goto:nnw #1#2
+ {
+ \@@_backend_link_begin:nnnw {#1} { goto~struct~name~{#2}~name } {#2}
+ }
+ }
+%</luatex>
+% \end{macrocode}
+% \end{macro}
% \subsection{Settings for regression tests}
% When doing pdf based regression tests some meta data in the pdf should have
% fixed values to get identical pdf's. We define here the backend dependant
@@ -2383,5 +2654,5 @@ end
%</lua>
% \end{macrocode}
% \end{implementation}
-%
+%
% \PrintIndex
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index 18dce0d15c..c4e96784b0 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
index 9b6985afad..4b04b4308b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -432,7 +432,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2024-03-26}{0.96g}
+\ProvidesExplPackage{l3pdfannot}{2024-04-09}{0.96h}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index 880cb937f6..a64cceab21 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
index badac0a01b..82d0979a02 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -208,7 +208,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2024-03-26}{0.96g}
+\ProvidesExplPackage{l3pdfdict}{2024-04-09}{0.96h}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
index 1ef7e5af82..d47028ee51 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
index cd573afb4a..6093a6d442 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index d03a6c3d99..81bb3eab72 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index 251c7582b2..534959fcaf 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -64,7 +64,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index 17af799224..e680f95935 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
index 848ee80f0e..2a114768be 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index c824d99d19..3456e45f32 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index c8681262d5..47c3e95df1 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -55,7 +55,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index b1010941ff..e84df48b53 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index 58b5234a6c..899042413a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -83,7 +83,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index 7b834e6cc8..51804d8c3e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
index 48af1942de..bb61dd44e7 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index ec5bf44062..5c9d33c98a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
index 9447227b4e..8b11e57558 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
@@ -69,7 +69,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -972,7 +972,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2024-03-26}{0.96g}%
+\ProvidesExplPackage{l3pdffield-testphase}{2024-04-09}{0.96h}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
@@ -1089,9 +1089,9 @@
Multiline = 13,%Tx
Password = 14,
NoToggleToOff = 15,%Btn, radio button
- Radio = 16,%Btn: Radio: 15=1, 16=0
- Pushbutton = 17,%Btn: Checkbox: 15=0, 16=0
- %Btn: Pushbutton: 16=1
+ Radio = 16,%Btn: Radio: 16=1, 17=0
+ Pushbutton = 17,%Btn: Checkbox: 16=0, 17=0
+ %Btn: Pushbutton: 17=1
Combo = 18,%Ch: Combo=1 List=0
Edit = 19,%Ch, Combo=1 -> + edit field
Sort = 20,%Ch, not relevant for view...
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
index b039c21c83..906a58d2b0 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
index 6677793495..65ac4c35fb 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -398,7 +398,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2024-03-26}{0.96g}
+\ProvidesExplPackage{l3pdffile}{2024-04-09}{0.96h}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
\RequirePackage{l3pdftools} %temporarly!!
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index 4f45287aaa..375d8bba15 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
index c605ea7e52..138b7760fc 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -57,7 +57,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -632,7 +632,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2024-03-26}{0.96g}
+\ProvidesExplPackage{l3pdfmanagement}{2024-04-09}{0.96h}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
@@ -1286,7 +1286,7 @@
\__pdf_backend_catalog_gput:nn
{AA}
{
- \__pdf_backend_object_ref:n { @@/Catalog/AA }
+ \pdf_object_ref:n { @@/Catalog/AA }
}
}
}
@@ -1316,7 +1316,7 @@
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } }
{ Fields }
- { \__pdf_backend_object_ref:n { @@/Catalog/AcroForm/Fields } }
+ { \pdf_object_ref:n { @@/Catalog/AcroForm/Fields } }
}
\seq_if_empty:cF { g_@@_/Catalog/AcroForm/CO_seq }
{
@@ -1328,7 +1328,7 @@
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } }
{ CO }
- { \__pdf_backend_object_ref:n { @@/Catalog/AcroForm/CO } }
+ { \pdf_object_ref:n { @@/Catalog/AcroForm/CO } }
}
\prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR/Font}}
{
@@ -1340,7 +1340,7 @@
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR } }
{ Font }
- { \__pdf_backend_object_ref:n { @@/Catalog/AcroForm/DR/Font } }
+ { \pdf_object_ref:n { @@/Catalog/AcroForm/DR/Font } }
}
\prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR}}
{
@@ -1352,7 +1352,7 @@
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } }
{ DR }
- { \__pdf_backend_object_ref:n { @@/Catalog/AcroForm/DR } }
+ { \pdf_object_ref:n { @@/Catalog/AcroForm/DR } }
}
\prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm} }
{
@@ -1364,7 +1364,7 @@
\@@_handler_gput:nnn
{ Catalog }
{ AcroForm }
- { \__pdf_backend_object_ref:n { @@/Catalog/AcroForm } }
+ { \pdf_object_ref:n { @@/Catalog/AcroForm } }
}
}
@@ -1388,7 +1388,7 @@
\__pdf_backend_catalog_gput:nn
{AF}
{
- \__pdf_backend_object_ref:n {@@/Catalog/AF}
+ \pdf_object_ref:n {@@/Catalog/AF}
}
}
}
@@ -1411,7 +1411,7 @@
\__pdf_backend_catalog_gput:nn
{MarkInfo}
{
- \__pdf_backend_object_ref:n {@@/Catalog/MarkInfo}
+ \pdf_object_ref:n {@@/Catalog/MarkInfo}
}
}
}
@@ -1458,7 +1458,7 @@
\exp_args:Nne
\__pdf_backend_catalog_gput:nn
{ OCProperties }
- { \__pdf_backend_object_ref:n {@@/Catalog/OCProperties} }
+ { \pdf_object_ref:n {@@/Catalog/OCProperties} }
}
}
% \end{macrocode}
@@ -1481,7 +1481,7 @@
\__pdf_backend_catalog_gput:nn
{OutputIntents}
{
- \__pdf_backend_object_ref:n {@@/Catalog/OutputIntents}
+ \pdf_object_ref:n {@@/Catalog/OutputIntents}
}
}
}
@@ -1505,7 +1505,7 @@
\__pdf_backend_catalog_gput:nn
{Requirements}
{
- \__pdf_backend_object_ref:n { @@/Catalog/Requirements }
+ \pdf_object_ref:n { @@/Catalog/Requirements }
}
}
}
@@ -1529,7 +1529,7 @@
\__pdf_backend_catalog_gput:nn
{ViewerPreferences}
{
- \__pdf_backend_object_ref:n {@@/Catalog/ViewerPreferences}
+ \pdf_object_ref:n {@@/Catalog/ViewerPreferences}
}
}
}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 22b1113a50..8c02b7fbc4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
index 459265b2cf..bcdda4fbde 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -190,6 +190,8 @@
% a test for at least the PDF-format will be added in future.
% \item[|Catalog_no_OCProperties|] don't add |/OCProperties| to the catalog
% {\em l3pdfmeta removes this entry at the end of the document}
+% \item[|Catalog_EmbeddedFiles|] ensure that an |EmbeddedFiles| name tree is
+% in the catalog. This is required for PDF/A-4f.
% \item[|annot_widget_no_AA|] (rule 6.6.2-1)
% no AA dictionary in widget annotation,
% this will e.g. be checked by the new hyperref driver.
@@ -625,7 +627,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2024-03-26}{0.96g}
+\ProvidesExplPackage{l3pdfmeta}{2024-04-09}{0.96h}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -1013,9 +1015,48 @@
{ g_@@_standard_pdf/A-4_prop }{conformance}
\prop_gremove:cn
{ g_@@_standard_pdf/A-4_prop }{max_pdf_version}
+
+%A-4f ==============
+\prop_new:c { g_@@_standard_pdf/A-4F_prop }
+\prop_gset_eq:cc
+ { g_@@_standard_pdf/A-4F_prop }
+ { g_@@_standard_pdf/A-4_prop }
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-4F_prop }{conformance}{F}
+% containsEmbeddedFiles == true ISO 19005-4:2020, Clause: 6.9, Test number: 5
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-4F_prop }{Catalog_EmbeddedFiles}{}
% \end{macrocode}
% \end{variable}
%
+% \subsubsection{Embedded Files}
+% Standard 4-AF is needed if we add AF files for
+% tagging but it also requires an EmbeddedFiles name tree,
+% so we test at the end if the name tree is empty and add a small readme if
+% yes
+% \begin{macrocode}
+\AddToHook{begindocument/end}
+{
+ \pdfmeta_standard_verify:nF{Catalog_EmbeddedFiles}
+ {
+ \tl_gput_right:Nn\g__kernel_pdfmanagement_end_run_code_tl
+ {
+ \bool_if:NT \g__pdfmanagement_active_bool
+ {
+ \pdfdict_if_empty:nT { g__pdf_Core/Catalog/Names/EmbeddedFiles }
+ {
+ \group_begin:
+ \pdfdict_put:nne {l_pdffile/Filespec} {Desc}{(note~about~PDF/A-4F)}
+ \pdfdict_put:nnn { l_pdffile/Filespec }{AFRelationship} { /Unspecified }
+ \pdffile_embed_stream:nnN {PDF~standard~A-4F~requires~a~file}{readme.txt}\l_@@_tmpa_tl
+ \exp_args:Nne \__pdf_backend_Names_gpush:nn{EmbeddedFiles}{(readme)~\l_@@_tmpa_tl}
+ \group_end:
+ }
+ }
+ }
+ }
+}
+% \end{macrocode}
% \subsubsection{Colorprofiles and Outputintents}
% The following provides a minimum of interface to add a color profile
% and an outputintent need for PDF/A for now. There will be need to extend it later,
@@ -1187,13 +1228,19 @@
{
\pdfmeta_standard_verify:nTF {outputintent_A}
{
- \prop_map_inline:Nn \g_@@_outputintents_prop
+ \prop_map_inline:Nn \g_@@_outputintents_prop
{
- \@@_embed_colorprofile:n
- {#2}
- \@@_write_outputintent:nn
- {#2}
- {#1}
+ \prop_if_exist:cTF {c_@@_colorprofile_#2}
+ {
+ \@@_embed_colorprofile:n
+ {#2}
+ \@@_write_outputintent:nn
+ {#2}
+ {#1}
+ }
+ {
+ \msg_warning:nnn{pdfmeta}{colorprofile-undefined}{#2}
+ }
}
}
% \end{macrocode}
@@ -1218,14 +1265,20 @@
\g_@@_outputintents_prop
{ \pdfmeta_standard_item:n { outputintent_A } }
\l_@@_tmpb_tl
- \exp_args:NV \@@_embed_colorprofile:n \l_@@_tmpb_tl
- \prop_map_inline:Nn \g_@@_outputintents_prop
- {
- \exp_args:NV
- \@@_write_outputintent:nn
- \l_@@_tmpb_tl
- { #1 }
- }
+ \prop_if_exist:cTF {c_@@_colorprofile_\l_@@_tmpb_tl}
+ {
+ \exp_args:NV \@@_embed_colorprofile:n \l_@@_tmpb_tl
+ \prop_map_inline:Nn \g_@@_outputintents_prop
+ {
+ \exp_args:NV
+ \@@_write_outputintent:nn
+ \l_@@_tmpb_tl
+ { #1 }
+ }
+ }
+ {
+ \msg_warning:nne{pdfmeta}{colorprofile-undefined}{\l_@@_tmpb_tl}
+ }
}
}
% \end{macrocode}
@@ -1352,6 +1405,7 @@
% \subsection{Messages}
% \begin{macrocode}
\msg_new:nnn{pdfmeta}{namespace-defined}{The~xmlns~namespace~`#1`~is~already~declared}
+\msg_new:nnn{pdfmeta}{colorprofile-undefined}{The~colorprofile~`#1`~is~unknown}
% \end{macrocode}
% \subsection{Some helper commands}
% \subsubsection{Generate a BOM}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index f722fe08d4..31abe3cc77 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
index d13742b372..d440373372 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -231,7 +231,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2024-03-26}{0.96g}
+\ProvidesExplPackage{l3pdftools}{2024-04-09}{0.96h}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index 2e472fead2..4dca8de6ec 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
index 8d280dfc8c..c135d90f88 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -132,7 +132,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2024-03-26}{0.96g}
+\ProvidesExplPackage{l3pdfxform}{2024-04-09}{0.96h}
{command to create xforms (beta)---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
index cd9a1227c0..5871db8203 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
index 806ea3124b..e51d8ea205 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -220,7 +220,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2024-03-26}{0.96g}
+\ProvidesExplPackage{ltdocinit}{2024-04-09}{0.96h}
{Initialize document metadata}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
index 8b86d10d73..9778c2647f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index 6c186f33bf..61853b0d5b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -63,7 +63,7 @@
% |debug={firstaidoff={name1,name2,...},...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2024-03-26}{0.96g}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2024-04-09}{0.96h}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index 2e67c2b2db..7d4b656e9a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index 205bfd8eb1..eec73f1105 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96g, released 2024-03-26}
+% \date{Version 0.96h, released 2024-04-09}
%
% \maketitle
% \begin{documentation}
@@ -394,7 +394,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2024-03-26}{0.96g}
+\ProvidesExplPackage{pdfmanagement-testphase}{2024-04-09}{0.96h}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -422,7 +422,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-03-26}{0.96g}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-04-09}{0.96h}
{PDF~management~code~(testphase)}
% \end{macrocode}
% We define a boolean for the new delayed shipout. This is temporary. At some
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index 19233b91f6..d8204141ca 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 40911ab8d7..6b553f8519 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches-tmp-ltx.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-03-26 v0.96g patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-04-09 v0.96h patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
index dc313bbb9f..b945b20268 100644
--- a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
+++ b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
index a82e4d856e..2f352496b5 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
index 60944d7f43..ec50b217d9 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
index 5525d9c274..141b590a99 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2013-2023 by Walter Daems <walter.daems@uantwerpen.be>
+% Copyright (C) 2013-2024 by Walter Daems <walter.daems@uantwerpen.be>
%
% This work may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, either version 1.3 of this license
@@ -35,11 +35,11 @@
%<le>\ProvidesClass{uantwerpenletter}
%<ex>\ProvidesClass{uantwerpenexam}
%<bmr>\ProvidesPackage{beamerthemeuantwerpen}
-%<cls|ct|bmt|pt|rp|le|ex|bmr> [2023/04/10 v4.5 .dtx skeleton file]
+%<cls|ct|bmt|pt|rp|le|ex|bmr> [2024/04/09 v4.6 .dtx skeleton file]
%<*driver>
\documentclass[a4paper]{ltxdoc}
-\def\fileversion{4.5}%
-\def\filedate{2023/04/10}%
+\def\fileversion{4.6}
+\def\filedate{2024/04/09}%
\usepackage{makeidx}
\usepackage{alltt}
\usepackage{longtable}
@@ -122,6 +122,11 @@
% parindent and parskip settings + small bugfixes}
% \changes{v4.5}{2023/04/10}{\@ Small bugfixes: more robust fonts for
% overleaf, added some missing degrees}
+% \changes{v4.6}{2024/04/09}{\@ Solved font issue on title page of
+% exams, improved gender neutralilty of PhD jury chair, allowed for
+% multiple degree programs for exams and course texts, corrected
+% disclaimers, replaced 'basic usage' in documentation by heavily
+% commented examples}
%
% \DoNotIndex{\newcommand,\newenvironment,\begin,\bfseries,\draw,\clip,\else,\fi,\if,\fill,\filldraw,\ifthenelse,\ifx,\textwidth,\node,\\,\@empty,\@tempdima,\@tempdimb,\@tempswatrue,\{,\},\ ,\bf,\BODY,\break,\Alph,\and,\define@key,\color,\dx,\dy,\g,\gdef,\hbox,\tiny,\scriptsize,\footnotesize,\small,\normalsize,\large,\Large,\LARGE,\huge,\Huge,\l,\LaTeX,\let,\p@,\relax,\renewcommand,\Requirepackage,\textbf,\textsf,\texttt,\textbackslash,\vspace,\hspace,\hfill,\hskip,\vskip,\hline,\vrule,\typeout,\usebox,\end,\paperheight,\paperwidth,\par,\NewDocumentCommand,\seq}
% \setlength{\parindent}{0em}
@@ -250,271 +255,47 @@
%
% \section{Portability}
% These class files should be ready to use with all common modern \LaTeX{}
-% compilers (PDF\LaTeX{}, \XeLaTeX{}, \LuaLaTeX{}, \ldots)
+% compilers (XeLaTeX{}, \LuaLaTeX{}, \ldots)
% from the major \TeX{}-distributions (TeTeX, TexLive, MikTeX).
-% However, using an old \LaTeX{} + dvips setup is likely to get you into font
-% problems. Advice: ditch the route via dvi. If you experience other
-% problems, please inform the author.
-% New advice as of 2023: don't use Pdf\LaTeX{} anymore, stick to
-% \XeLaTeX{} or even better \LuaLaTeX{}. Your life will be
-% font-problem-worry-free.
-%
-% \section{Usage}
-%
-% \subsection{Basic Usage}
-% \label{sec:basicusage}
-% Use the templates provided below. Remember to \LaTeX{} your source
-% file twice.
-%
-% Especially in the beamer theme some features require to run \LaTeX{}
-% twice in order to get the position of some elements correct.
-%
-% \subsubsection{\texttt{uantwerpencoursetext} class}
-% Use the following harness for your \LaTeX{} course text:
-% \begin{verbatim}
-% \documentclass[ti,a4paper]{uantwerpencoursetext}
-%
-% \usepackage{<include any packages you require here>}
-%
-% \title{<put your title here>}
-% \subtitle{<put your subtitle here>}
-% \author{<put your name here>}
-%
-% \courseversion{<put a version identifier here>}
-% \versionyear{<the publication date of the course here>}
+% However, using an old \LaTeX{} + dvips setup or PDF\LaTeX{}, is
+% likely to get you into font
+% problems. Advice: ditch the route via dvi and abandon the old
+% PDF\LaTeX{} compiler. If you experience other problems, please
+% inform the author.
%
-% \lecturer{<person teaching the course>}
-% \degree{<official degree title>}
-% \course{<course code>}{<name of the course>}
-%
-% \academicyear{<XXXX-YYYY>}
+% \section{Organization of this docstrip documentation}
%
-% \begin{document}
+% \changes{v4.6}{2024/04/09}{improved organization of the docstrip
+% container}
%
-% \maketitle
-%
-% % put your LaTeX code here
-%
-% \finalpage
-%
-% \end{document}
-% \end{verbatim}
-%
-% As of version 4.0:
+% In the first part, we will describe the classes intended to produce
+% paper documents:
% \begin{itemize}
-% \item the faculty is specified as an option to the |\documentclass|
-% construct. You can find the available options in
-% section~\ref{sec:classopt}.
-% \item you are reponsible yourself to provide the correct
-% degree description! Maintaining the a correct list of UAntwerpen
-% bachelor and master programs with all their specializations is
-% beyond my ambition.
+% \item coursetext class
+% \item bachelor and master thesis classes
+% \item phd thesis class
+% \item letter class
+% \item report class
+% \item exam class
% \end{itemize}
%
-% \subsubsection{\texttt{uantwerpenbamathesis} class}
-% Use the following harness for your \LaTeX{} bachelor or master's
-% thesis:
-% \begin{verbatim}
-% \documentclass[ti,a4paper]{uantwerpenbamathesis}
-%
-% \usepackage{<include any packages you require here>}
-%
-% \title{<put your title here>}
-% \author{<put your name here>}
-%
-% % you can specify, no, one or multiple names in the categories
-% % supervisor (= promotor), cosupervisor (= copromotor),
-% % extsupervisor (= externe promotor)
-% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \cosupervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \cosupervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \extsupervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \extsupervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
-%
-% % classmarker
-% \academicyear{<XXXX-YYYY>}
-%
-% \begin{document}
-%
-% \maketitle
-%
-% % put your LaTeX code here
-%
-% \finalpage
-%
-% \end{document}
-% \end{verbatim}
-%
-% The available faculty options are listed in a table on page
-% \pageref{sec:classopt}.
-%
-% \subsubsection{\texttt{uantwerpenletter} class}
-% Use the following harness for your \LaTeX{} letter:
-% \begin{verbatim}
-% \documentclass[a4paper,ti]{uantwerpenletter}
-%
-% % setup fonts according to your specific TeX compiler setup
-%
-% \usepackage{<include any packages you require here>}
-%
-% % \logo{} only specify if you want to use your unit's logo
-%
-% \sender{<put your name here>}{<put your title/role here>}
-% \unit{<put your unit here>}
-% \address{<put your multi-line address here>}
-% \email{<user name>}{<domain name>}
-% \phone{<put your phone number here, start with +32>}
-% \fax{<put your fax number here, start with +32>}
-% \mobile{<put your mobile number here, start with +32>}
-% \returnaddress{<put your single-line return address here>}
-%
-% \to{<name of the addressee goes here>}
-% \toorganization{<name of the organization goes here>}
-% \toaddress{<multi-line address of the addressee goes here>}
-%
-% \date{<specify date - otherwise today>}
-% \subject{<specify subject>}
-%
-% \begin{document}
-%
-% \maketitle % generates top of the letter
-%
-% \opening{Dear <name>}
-%
-% <write your letter here>
-%
-% \closing{Kind regards,}
-%
-% \carboncopy{<put CC people here>}
-% \enclosed{<put reference to enclosed documents here>}
-%
-% \end{document}
-% \end{verbatim}
-%
-% The available faculty options are listed in a table on page
-% \pageref{sec:classopt}. You may use lists in the |\carboncopy| and
-% |\enclosed| commands. The spacing will be compact.
-%
-% \subsubsection{\texttt{uantwerpenphdthesis} class}
-%
-% \begin{verbatim}
-% \documentclass[ti,10pt,twoside,openright,filled]{uantwerpenphdthesis}
-%
-% You may want to use common fonts
-% \usepackage{<include any additional packages you require here>}
-%
-% \title{<put your title here>}
-% \author{<put your name here>}
-% \affiliation{<put your affiliation here>}
-% \department{<put department here, if there is an official department>}
-% \address{<put your contact details here>}
-%
-% \supervisor{<put supervisor's name here>}{<affiliation goes here>}
-% \supervisor{<put supervisor's name here>}{<affiliation goes here>}
-%
-% \jurychairman{<put chairman's name here>}{<affiliation goes here>}
-%
-% \jurymember{<put member's name here>}{<affiliation goes here>}
-% \jurymember{<put member's name here>}{<affiliation goes here>}
-% \jurymember{<put member's name here>}{<affiliation goes here>}
-%
-% \degree{<put official degree name here>}
-% \defenselocation{<put location of defense here>}
-% \defensedate{<put defense year here>}
-% \titlepageimage{<set file name of title page image here>}
-%
-% \isbn{<put ISBN13 number here>}
-% \depot{<put Depot number here>}
-%
-% \begin{document}
-%
-% \maketitle
-% \frontmatter
-% \tableofcontents
-% \mainmatter
-%
-% % write your PhD text here
-%
-% \appendix
-%
-% % write appendix material here
-%
-% \makefinalpage
-%
-% \end{document}
-% \end{verbatim}
-%
-% The available faculty options are listed in a table on page
-% \pageref{sec:classopt}.
+% In the second part, we will describe the uantwerpen beamer theme that can be
+% used to make PDF slides.
%
-% \subsubsection{\texttt{uantwerpenreport} class}
-%
-% \begin{verbatim}
-% \documentclass[ti,10pt,twoside,openright,filled]{uantwerpenreport}
-%
-% You may want to use common fonts
-% \usepackage{<include any additional packages you require here>}
-%
-% \title{<put your title here>}
-% \author{<put your name here>}
-% \affiliation{<put your affiliation here>}
-% \address{<put your contact details here>}
+% \part*{Part I. The paper classes}
%
-% \titlepageimage{<set file name of title page image here>}
-%
-% \begin{document}
-%
-% \maketitle
-% \frontmatter
-% \tableofcontents
-% \mainmatter
-%
-% % write your PhD text here
-%
-% \appendix
-%
-% % write appendix material here
-%
-% \makefinalpage
-%
-% \end{document}
-% \end{verbatim}
-%
-% The available faculty options are listed in a table on page
-% \pageref{sec:classopt}.
+% \section{Usage}
%
-% \subsubsection{\texttt{uantwerpenbeamer} theme}
+% \subsection{Basic Usage}
+% \label{sec:basicusage}
%
+% As of v5.6 of this document, this section has been stripped from
+% contents, as it turns out that documentation in a working example
+% is more appreciated by the users of this package.
+% Therefore, check out the examples in section~\ref{sec:examples}.
%
-% \begin{verbatim}
-% \documentclass[aspectratio=1610]{beamer}
-% % options that select the proper faculty in the beamertheme:
-% % be, fbd, ggw, lw, ow, re, sw, ti, we, iob (no option = mother
-% % theme)
-% \usetheme[ti]{uantwerpen}
-% \usepackage[dutch]{babel}
-%
-% \title{This is your title}
-% \subtitle{This is your subtitle - omit if you don't need this}
-% \date{This is the date - will be today if omitted}
-% \author{This is your name - omit if you don't need this}
-%
-% \begin{document}
-%
-% \begin{frame}[negativefill]
-% \maketitle
-% \end{frame}
-%
-% \begin{frame}
-% {Advice}
-% {\ldots is cheap}
-% Search for the \texttt{beamerthemeuantwerpenuserguide.pdf} for
-% more info (or the corresponding \texttt{.tex} file!
-% \end{frame}
-%
-% \end{document}
-% \end{verbatim}
+% A good modus operandi is to start from one of the examples and to
+% adapt them gradually for your needs.
%
% \subsection{The class options explained}
% \label{sec:classopt}
@@ -979,64 +760,140 @@
% 'HHhMM', e.g. '08h30'.
%
% \subsection{Examples}
+%
+% Below you can find an example for every class. They also serve as
+% their quickstart documentation.
+%
+% Remember to
+% \begin{itemize}
+% \item use modern compiler: no pdf\LaTeX{}, use \LuaLaTeX{} instead!
+% \item compile your source file twice.
+% \end{itemize}
+%
+% Especially in the beamer theme some features require to run \LaTeX{}
+% twice in order to get the position of some elements correct.
+%
+% In many of the classes, you need to specify a faculyt option. The
+% available faculty options are listed in a table on page \pageref{sec:classopt}.
+%
+% \changes{v5.6}{}{added quite some info to the examples}
+%
% \subsubsection{\texttt{uantwerpencoursetext}}
%
% \changes{v2.5}{}{changed publisher to universitas in example}
-%
% \begin{verbatim}
%<*ct-example>
\documentclass[ti,a4paper,11pt,oneside,openright,cameraready,filled]{uantwerpencoursetext}
+%% ti specifies the department, change to the letter combination of
+%% your department
+%% a4paper specifies the paper format
+%% 11pt sets the font size to 11pt, i.e. a good average
+%% oneside if you want a one-sided document, change to twoside if you
+%% want a recto verso document
+%% openright causes you chapters to start on a right-hand page when
+%% your document is twosided
+%% cameraready removes the graphical elements from the title and final
+%% page, as they will be typeset by universitas (in color)
+%% filled causes left and right filling (which - by the way - is
+%% not helpful for easy reading; remove for a left-filled
+%% document)w
+
+%% make paragraphs indent
\setlength\parindent{1in}
+%% provide a space of 1ex bewteen paragraphs
\setlength\parskip{0ex}
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
\usepackage[english,dutch]{babel}
-\usepackage{kantlipsum} % this is just for some dummy text, please remove
+%% You can then use \selectlanguage{english} to start a piece of text
+%% in english, and \selectlanguage{dutch} to start a piece of text in
+%% dutch. This will cause the correct hypernation patterns to be
+%% loaded.
+%% To keep a consistent naming of the chapters (a.o.) make sure you
+%% switch back to the document's overall language!
+
+%% this is just for some dummy text, please remove in your copy
+\usepackage{kantlipsum}
+
+%% set title, subtitle and author
\title{Z\'agen, zoeken en zuchten}
\subtitle{Cursusnota's}
\author{Walter Daems en Paul Levrie}
+%% better keep track of the different versions (and the corresponding
+%% publication year) of your course
\courseversion{1.3}
-\versionyear{2022}
+\versionyear{2023}
+%% mention who lectures the course (can be different from the author)
\lecturer{Zoltan Zo\"ekers}
\lecturer{Siana Sigh}
\lecturer{Zeger de Z\'ager}
-\degree{Master of Science in de industri\"ele wetenschappen:
- elektronica-ICT}
+%% you can use two ways to specify a dgree:
+%% (1) explicitly with text
+%% e.g. \degree{Master of Science in de industri\"ele wetenschappen:
+%% elektronica-ICT}
+%% (2) by specifying the correct code, to fetch the text from a table
+%% with correct degree mentions
+\bamadegree{ti-en-ma-ei}
+%% you can even add multiple degrees and mix the two ways!
+
+%% you can specify multiple courses:
+%% - first argument is the course number
+%% - second argument is the course name
\course{2023FTIZZZ}{5-Zoekmachines in een zaagperspectief}
\course{2045FTIIII}{6-Zaagmachines in \'e\'en zuchtperspectief}
-\academicyear{2022-2023}
+%% for which academic year the course is intended
+\academicyear{2023-2024}
+%% leave this as is if you use Universitas as print shop
\publisher{Universitas Cursusdienst |
Prinsesstraat 16 |
2000 Antwerpen |
T +32 3 233 23 73 |
E info@cursusdienst.be}
+%% universitas will provide you with a code, that you can provide on
+%% your PDF copy (if you distribute any to your students. If not, just omit.
\publishercode{C11111102}
+%% you can specify additional copyright notices on the copyright page
+%% (i.e. the back of the title page)
\copyrightnotices{
The graphics in this document have been typeset using \texttt{TikZ}.\\
This document has been \TeX-ed on a GNU/Linux workstation.
}
+
\begin{document}
+%% creates the title page, remove if you don't want any
\maketitle
+%% causes the first pages to be roman numbered
\frontmatter
+%% sets the table of contents (automatically for you)
\tableofcontents
+%% changes the numbering system to arabic and restart from 1
\mainmatter
+
+%% a non-numbered chapter
\chapter*{Inleiding}
+%% some automatically generated bogus text: remove in your copy
\kant[1]
+
+%% a first numbered chapter
\chapter{Onzin voor dummies}
+%% a first numbered section
\section{Het gebeuren}
+
\kant[2]
\begin{equation}
e^{-j\pi} + 1 = 0
@@ -1054,7 +911,8 @@
\subsection{Begint vervelend te worden}
\kant[6]
-\newpage
+
+\clearpage
\subsection{Begint echt vervelend te worden}
@@ -1062,12 +920,16 @@
\chapter{Besluit}
+%% changes the chapter numbering to letters and uses 'Appendix' or
+%% 'Bijlage' (in dutch) as chapter name.
+%% !! do not use \backmatter before \appendix: it is broken!
\appendix
\chapter{Symbolen}
\chapter{Romeinse sprekers}
\chapter{Referentielijst}
+%% typeset the final page with some graphic material on it
\makefinalpage
\end{document}
@@ -1081,26 +943,37 @@
% summary of a bamathesis}
% \begin{verbatim}
%<*bmt-example>
-\documentclass[ti,twoside,openright,a4paper,11pt]{uantwerpenbamathesis}
-% 1. specify your faculty in the options above! This will trigger the
-% correct color scheme and logos.
-% FTI = ti
-% FWET = we
-% 2. for two-sided theses, specify 'twoside' and 'openright' as options
-% for one-sided theses, specify 'oneside' and 'openany' as options
+\documentclass[ti,a4paper,11pt,twoside,openright]{uantwerpenbamathesis}
+
+%% ti specifies the department, change to the letter combination of
+%% your department - currently only ti (for FTI) and we
+%% for (FWET) are supported
+%% a4paper specifies the paper format
+%% 11pt sets the font size to 11pt, i.e. a good average
+%% twoside if you want a two-sided document, change to oneside if you
+%% want a recto only document
+%% openright causes you chapters to start on a right-hand page when
+%% your document is twosided
+%% for two-sided theses, specify 'twoside' and 'openright' as options
+%% for one-sided theses, specify 'oneside' and 'openany' as options
+
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
+\usepackage[english]{babel}
-\usepackage[english]{babel} % or english if your text is in English
-\usepackage{kantlipsum} % this is just for some dummy text, please remove
+%% this is just for some dummy text, please remove in your copy
+\usepackage{kantlipsum}
+%% this package allows to generate a PDF with clickable links
\usepackage[backref,hyperindex=true,pagebackref=true]{hyperref}
- % New: you must load the hyperref package
- % yourself! This allows you to put it in the
- % correct order with the other packages you load!
+%% you must load the hyperref package yourself, to allow putting it
+%% in the correct order with the other packages you load!
+%% as an example - loading some fonts, feel free to change
\usepackage{mathptmx}
\iftutex
-% Just an example of font-scheme: this is in no way a recommended font
-% scheme!
+%% Just an example of font-scheme: this is in no way a recommended font
+%% scheme!
\usepackage{fontspec}
\setmainfont
[UprightFont = *,
@@ -1112,44 +985,52 @@
\usepackage{sansmathaccent}
\fi
-% Use this package if you need to provide a twocolumn summary at the
-% start of your document.
+%% Use this package if you need to provide a twocolumn summary at the
+%% start of your document.
\usepackage{multicol}
+%% specify your degree
\bamadegree{ti-en-ba-em}
-% \degree{} % You can specify your degree manually here, instead of using
-% % \textbackslash{}bamadegree}
+%% You can specify your degree manually here, using \degree{}
+%% if you don't trust 'the system'
+
+%% set title, subtitle and author
\title{Minimax optimisatie voor performantie-
- ruimtemodellering} % either don't split titles, or do so with hypen
- % and a newline
+ ruimtemodellering} %% either don't split titles, or do so with hyphen
+ %% and a newline
\subtitle{Deze subtitel mag je weglaten}
\author{Bert Bibber}
-% you can specify multiple supervisors, cosupervisors and external supervisors
-% in Dutch: promotoren, copromotoren (dagelijkse begeleiders) en bedrijfspromotoren
+%% you can specify multiple supervisors, cosupervisors and external supervisors
+%% in Dutch: promotoren, copromotoren (dagelijkse begeleiders) en
+%% bedrijfspromotoren
\supervisor{prof. dr. ir. P. Kumulus}{UAntwerpen}
\supervisor{prof. dr. ir. E. Snuffel}{UAntwerpen}
\cosupervisor{ing. P. Pienter}{Cosys, UAntwerpen}
\extsupervisor{prof. dr. H. Warwinkel}{TNT-Bang, N.V.}
-% keep the spaces around the dash!
-\academicyear{2022 - 2023}
+%% set the academic year: keep the spaces around the dash!
+\academicyear{2023 - 2024}
-% you can specify a company logo
-%\companylogo{\includegraphics[width=4.5cm,height=2.5cm,keepaspectratio]{companylogo.jpg}}
+%% you can specify a company logo
+%%\companylogo{\includegraphics[width=4.5cm,height=2.5cm,keepaspectratio]{companylogo.jpg}}
\begin{document}
+%% creates the title page, remove if you don't want any
\maketitle
+%% causes the first pages to be roman numbered
\frontmatter
+%% sets the table of contents (automatically for you)
\tableofcontents
+%% changes the numbering system to arabic and restart from 1
\mainmatter
-% Use this template if you need to provide a twocolumn summary at the
-% start of your document. Remove it if you don't need it.
+%% Use this template if you need to provide a twocolumn summary at the
+%% start of your document. Remove it if you don't need it.
\pagestyle{empty}
\thispagestyle{empty}
\begin{multicols}{2}
@@ -1175,23 +1056,28 @@
\end{multicols}
\pagestyle{fancy}
-% An even better suggestion is to create your twocolumns summary as a
-% separate document (using a dedicates paper-writing class e.g. the
-% IEEEtran class) and load the individual pdf pages using the pdfpages
-% package (https://ctan.org/pkg/pdfpages).
+%% An even better suggestion is to create your twocolumns summary as a
+%% separate document (using a dedicated paper-writing class e.g. the
+%% IEEEtran class) and load the individual pdf pages using the pdfpages
+%% package (https://ctan.org/pkg/pdfpages).
+%% a first numbered chapter
\chapter{Inleiding}
+%% some fancy typeset text (see the PDF yourself)
\insettext{Bene vixit qui bene latuit!}
+%% some dummy text: remove in your copy
\kant[1]
+%% a second numbered chapter
\chapter{Onderzoeksvraag}
\insetquote{As any dedicated reader can clearly see, the Ideal of
practical reason is a representation of
as far as I know, the things themselves, a vast overexaggeration.}
+%% a first numbered section
\section{Het gebeuren}
\kant[2]
@@ -1225,6 +1111,9 @@
\chapter{Besluit}
+%% changes the chapter numbering to letters and uses 'Appendix' or
+%% 'Bijlage' (in dutch) as chapter name.
+%% !! do not use \backmatter before \appendix: it is broken!
\appendix
\chapter{Symbolen}
@@ -1242,11 +1131,31 @@
%<*pt-example1>
\documentclass[ti,10pt,twoside,openright,filled]{uantwerpenphdthesis}
-% You may want to use common fonts
+%% ti specifies the department, change to the letter combination of
+%% your department
+%% 10pt sets the font size, 10pt is ok for a phd manuscript
+%% twoside if you want a two-sided document, change to oneside if you
+%% want a recto only document
+%% openright causes you chapters to start on a right-hand page when
+%% your document is twosided
+%% for two-sided theses, specify 'twoside' and 'openright' as options
+%% for one-sided theses, specify 'oneside' and 'openany' as options
+%% filled causes left and right filling (which - by the way - is
+%% not helpful for easy reading; remove for a left-filled
+%% document)
+%% cameraready this option will change the paper format from B4 to A4
+%% and trigger alignment marks and cut-lines for you
+%% printing service - check with them whether they want
+%% this.
+%% bare this option removes title page and final page. Many
+%% print services required this format and they will
+%% typeset the title page and final page for you.
+
+%% You may want to use common fonts
\usepackage{mathptmx}
\iftutex
-% Just an example of font-scheme: this is in no way a recommended font
-% scheme!
+%% Just an example of font-scheme: this is in no way a recommended font
+%% scheme!
\usepackage{cmbright}
\usepackage{fontspec}
\setmainfont
@@ -1259,14 +1168,20 @@
\usepackage{sansmathaccent}
\fi
-\usepackage[dutch]{babel} % or dutch if your text is in Dutch
-\usepackage{kantlipsum} % this is just for some dummy text, please remove
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
+\usepackage[dutch]{babel} %% or english if your text is in English
-\usepackage[backref,hyperindex=true,pagebackref=true]{hyperref}
- % New: you must load the hyperref package
- % yourself! This allows you to put it in the
- % correct order with the other packages you load!
+%% this is just for some dummy text, please remove in your copy
+\usepackage{kantlipsum}
+
+%% this package allows to generate a PDF with clickable links
+\usepackage[backref,hyperindex=true,pagebackref=true]{hyperref}
+%% you must load the hyperref package yourself, to allow putting it
+%% in the correct order with the other packages you load!
+%% set title, subtitle and author and his/her/their affilliation and
+%% address
\title{Harmonische Signaalanalyse\\met behulp van Lineaire
Operatoren}
\subtitle{Waarom moeten titels van doctoraatsthesissen toch altijd
@@ -1280,38 +1195,54 @@
T: +32 265 00 00
}
+%% specify your supervisors and their affiliation
\supervisor{prof. dr. W. Vlaams}{Universiteit Antwerpen, Belgi\"e}
\supervisor{prof. dr. J. Stekker}{Universiteit Antwerpen, Belgi\"e}
-\jurychairman{prof. dr. P. Dalinckx}{Universiteit Antwerpen, Belgi\"e}
+%% specify the chairman of the jury and his/her/their affiliation
+\jurychair{prof. dr. P. Dalinckx}{Universiteit Antwerpen, Belgi\"e}
+%% specify the memers of the jury and their affiliations
\jurymember{prof. dr. J. Dezerooder}{Universiteit Antwerpen, Belgi\"e}
\jurymember{prof. dr. P. De Tollenaere}{Flanders Make, Belgi\"e}
\jurymember{prof. dr. M. Byr}{IMEC, Nederland}
+%% specify your degree (manually) and where and when you obtain your degree
\degree{doctor in de toegepaste ingenieurswetenschappen}
\defenselocation{Antwerpen}
-\defensedate{2022}
+\defensedate{2024}
+
+%% specify a fancy photo for your titlepage (if you don't want a dull one)
\titlepageimage{Images/uantwerpen-keyboard.jpg}
-\isbn{987-90-57285-34-7} % don't specify this if you don't want one
-\depot{D/2022/12.293/03} % idem
+%% some data about your manuscript
+\isbn{987-90-57285-34-7} %% don't specify this if you don't want one
+\depot{D/2024/12.293/03} %% idem
\begin{document}
+%% creates the title page, remove if you don't want any
\maketitle
+%% causes the first pages to be roman numbered
\frontmatter
+%% sets the table of contents (automatically for you)
\tableofcontents
+%% changes the numbering system to arabic and restart from 1
\mainmatter
+
+%% a first unnumbered chapter
\chapter*{Inleiding}
+%% some dummy text, remove in your copy
\kant[1]
+%% a first numbered chapter
\chapter{Onderzoeksvraag}
+%% a first numbered section
\section{Het gegeven}
\kant[2]
@@ -1338,12 +1269,18 @@
\kant[25]
+
+%% change the chapter numbering to letters and uses 'Appendix' or
+%% 'Bijlage' (in dutch) as chapter name.
+%% !! do not use \backmatter before \appendix: it is broken!
\appendix
+
\chapter{Symbolen}
\chapter{Publicaties}
-% Put your bibliography here using BibTeX
+%% Put your bibliography here using BibTeX
+%% typeset the final page with some graphic material on it
\makefinalpage
\end{document}
@@ -1355,29 +1292,54 @@
%<*pt-example2>
\documentclass[ti,10pt,twoside,openright,filled,bare]{uantwerpenphdthesis}
-% use some fancy font
+%% ti specifies the department, change to the letter combination of
+%% your department
+%% 10pt sets the font size, 10pt is ok for a phd manuscript
+%% twoside if you want a two-sided document, change to oneside if you
+%% want a recto only document
+%% openright causes you chapters to start on a right-hand page when
+%% your document is twosided
+%% for two-sided theses, specify 'twoside' and 'openright' as options
+%% for one-sided theses, specify 'oneside' and 'openany' as options
+%% filled causes left and right filling (which - by the way - is
+%% not helpful for easy reading; remove for a left-filled
+%% document)
+%% cameraready this option will change the paper format from B4 to A4
+%% and trigger alignment marks and cut-lines for you
+%% printing service - check with them whether they want
+%% this.
+%% bare this option removes title page and final page. Many
+%% print services required this format and they will
+%% typeset the title page and final page for you.
+
+%% use some fancy fonts: just an example!
\usepackage{newpxtext}
\usepackage{newpxmath}
-\usepackage[english]{babel} % or dutch if your text is in Dutch
-\usepackage{kantlipsum} % this is just for some dummy text, please remove
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
+\usepackage[english]{babel} %% or dutch if your text is in Dutch
-\usepackage[backref,hyperindex=true,pagebackref=true]{hyperref}
- % New: you must load the hyperref package
- % yourself! This allows you to put it in the
- % correct order with the other packages you load!
+%% this is just for some dummy text, please remove in your copy
+\usepackage{kantlipsum} %% this is just for some dummy text, please remove
-% normal title
+%% this package allows to generate a PDF with clickable links
+\usepackage[backref,hyperindex=true,pagebackref=true]{hyperref}
+%% you must load the hyperref package yourself, to allow putting it
+%% in the correct order with the other packages you load!
+
+%% set title, subtitle
\title{Harmonic Signal analysis \\based on Linear Operators}
\subtitle{How did Mindy linearly kill Mork's IC signal analyzer?}
-% trigger the generation of a secondary title page in Dutch by
-% specifying a \titel (and optionally a \subtitel).
+%% trigger the generation of a secondary title page in Dutch by
+%% specifying a \titel (and optionally a \subtitel).
\titel{Harmonische Signaalanalyse\\met behulp van Lineaire
Operatoren}
\subtitel{Waarom moeten titels van doctoraatsthesissen toch altijd
lang en onverstaanbaar zijn?}
+%% specify the author and his/her/their affilliation and address
\author{Ing. Theodore Edgeoff}
\affiliation{University of Antwerp\\
Faculty of Applied Engineering\\
@@ -1387,38 +1349,54 @@
T: +32 265 00 00
}
+%% specify your supervisors and their affiliation
\supervisor{prof. dr. W. Vlaams}{University of Antwerp, Belgium}
\supervisor{prof. dr. J. Stekker}{University of Antwerp, Belgium}
-\jurychairman{prof. dr. P. Dalinckx}{University of Antwerp, Belgium}
+%% specify the chairman of the jury and his/her/their affiliation
+\jurychair{prof. dr. P. Dalinckx}{University of Antwerp, Belgium}
+%% specify the memers of the jury and their affiliations
\jurymember{prof. dr. J. Dezerooder}{University of Antwerp, Belgium}
\jurymember{prof. dr. P. De Tollenaere}{Flanders Make, Belgium}
\jurymember{prof. dr. M. Byr}{IMEC, The Netherlands}
+%% specify your degree (manually) and where and when you obtain your degree
\degree{doctor in applied engineering}
\defenselocation{Antwerpen}
-\defensedate{2022}
+\defensedate{2024}
+
+%% specify a fancy photo for your titlepage (if you don't want a dull one)
\titlepageimage{Images/uantwerpen-keyboard.jpg}
-\isbn{987-90-57285-34-7}
-\depot{D/2022/12.293/03}
+%% some data about your manuscript
+\isbn{987-90-57285-34-7} %% don't specify this if you don't want one
+\depot{D/2024/12.293/03} %% idem
\begin{document}
+%% creates the title page, remove if you don't want any
\maketitle
+%% causes the first pages to be roman numbered
\frontmatter
+%% sets the table of contents (automatically for you)
\tableofcontents
+%% changes the numbering system to arabic and restart from 1
\mainmatter
+
+%% a first unnumbered chapter
\chapter*{Introduction}
+%% some dummy text, remove in your copy
\kant[1]
+%% a first numbered chapter
\chapter{Research question}
+%% a first numbered section
\section{The datum}
\kant[2]
@@ -1445,12 +1423,16 @@
\kant[25]
+%% change the chapter numbering to letters and uses 'Appendix' or
+%% 'Bijlage' (in dutch) as chapter name.
+%% !! do not use \backmatter before \appendix: it is broken!
\appendix
\chapter{Symbols}
-% Put your bibliography here using BibTeX
+%% Put your bibliography here using BibTeX
+%% typeset the final page with some graphic material on it
\makefinalpage
\end{document}
@@ -1463,11 +1445,22 @@
%<*rp-example>
\documentclass[10pt,twoside,openright,filled]{uantwerpenreport}
-% You may want to use common fonts
+%% 10pt sets the font size, 10pt is ok for a phd manuscript
+%% twoside if you want a two-sided document, change to oneside if you
+%% want a recto only document
+%% openright causes you chapters to start on a right-hand page when
+%% your document is twosided
+%% for two-sided theses, specify 'twoside' and 'openright' as options
+%% for one-sided theses, specify 'oneside' and 'openany' as options
+%% filled causes left and right filling (which - by the way - is
+%% not helpful for easy reading; remove for a left-filled
+%% document)
+
+%% You may want to use common fonts
\usepackage{mathptmx}
\iftutex
-% Just an example of font-scheme: this is in no way a recommended font
-% scheme!
+%% Just an example of font-scheme: this is in no way a recommended font
+%% scheme!
\usepackage{cmbright}
\usepackage{fontspec}
\setmainfont
@@ -1480,43 +1473,63 @@
\usepackage{sansmathaccent}
\fi
-\usepackage[dutch]{babel} % or dutch if your text is in Dutch
-\usepackage{kantlipsum} % this is just for some dummy text, please remove
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
+\usepackage[dutch]{babel} %% or english if your text is in Dutch
-\usepackage[backref,hyperindex=true,pagebackref=true]{hyperref}
- % New: you must load the hyperref package
- % yourself! This allows you to put it in the
- % correct order with the other packages you load!
+%% this is just for some dummy text, please remove in your copy
+\usepackage{kantlipsum}
+%% this package allows to generate a PDF with clickable links
+\usepackage[backref,hyperindex=true,pagebackref=true]{hyperref}
+%% you must load the hyperref package yourself, to allow putting it
+%% in the correct order with the other packages you load!
+
+%% set title, subtitle and author and his/her/their affilliation and
+%% address
\title{De toepassing van roomijs-derivaten in beton}
\subtitle{Het belang van een smaakvolle architectuur}
\author{Ing. Jan Bouwblauw}
-\extra{Onderzoeksrapport}
\affiliation{Universiteit Antwerpen | Building Research Group}
\address{Groenenborgerlaan 171, 2020 Antwerpen, Belgi\"e\\
M: jan.bouwblauw@uantwerpen.be\\
T: +32 265 00 00
}
-\versionyear{2022}
+%% provide some extra data (a mention on the title page on what type of
+%% report this is)
+\extra{Onderzoeksrapport}
+
+%% year in which the report appears
+\versionyear{2023}
+%% specify a fancy photo for your titlepage (if you don't want a dull one)
\titlepageimage{Images/uantwerpen-keyboard.jpg}
\begin{document}
+%% creates the title page, remove if you don't want any
\maketitle
+%% causes the first pages to be roman numbered
\frontmatter
+%% sets the table of contents (automatically for you)
\tableofcontents
+%% changes the numbering system to arabic and restart from 1
\mainmatter
+
+%% a first unnumbered chapter
\chapter*{Inleiding}
+%% some dummy text, remove in your copy
\kant[1]
+%% a first numbered chapter
\chapter{Smaken en smaakpapillen}
+%% a first numbered section
\section{Het gegeven}
\kant[2]
@@ -1543,12 +1556,17 @@
\kant[25]
+%% change the chapter numbering to letters and uses 'Appendix' or
+%% 'Bijlage' (in dutch) as chapter name.
+%% !! do not use \backmatter before \appendix: it is broken!
\appendix
+
\chapter{Symbolen}
\chapter{Publicaties}
-% Put your bibliography here using BibTeX
+%% Put your bibliography here using BibTeX
+%% typeset the final page with some graphic material on it
\makefinalpage
\end{document}
@@ -1564,7 +1582,10 @@
%<*le-example>
\documentclass[ti,a4paper]{uantwerpenletter}
-%% You can suppress the foldline, using the nofoldline option.
+%% ti specifies the department, change to the letter combination of
+%% your department
+%% a4paper specifies the paper format
+%% nofoldline this suppresses the foldline
%%
%% As a good UAntwerpen citizen, you would use the calibri font.
%% As this only works for XeLaTeX or LuaLaTeX, we chose to include
@@ -1582,9 +1603,15 @@
\usepackage{sansmathaccent}
\fi
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
\usepackage[english]{babel}
-\usepackage{kantlipsum} % this is just for some dummy text, please remove
+%% this is just for some dummy text, please remove in your copy
+\usepackage{kantlipsum}
+
+%% provide info on who sensd the letter, you can put this in a
+%% configuration file, see the documentation of the letter class!
\sender{prof. Walter Daems}{Senior Lecturer}
\unit{Cosys-Lab}
\address{
@@ -1595,8 +1622,12 @@
\email{walter.daems}{uantwerpen.be}
\phone{+32 3 265 98 43}
\mobile{+32 499 355 115}
+
+%% set a return address - if you want to avoid the infernal anger of
+%% the UAntwerp internal post service
\returnaddress{FTI - U.301 -- Groenenborgerlaan 171, 2020 Antwerpen, BELGIUM}
+%% provide some details on who you want to write to
\to{prof. B. Bonette}
\toorganization{Mumford University}
\toaddress{
@@ -1604,48 +1635,56 @@
Mumford, DX 94305-2004\\
USA}
-
+%% a proper letter mentions a date of writing and a subject
\date{January 3, 2016}
\subject{Congratulations for online video lectures}
\begin{document}
- \maketitle
+%% This puts all logo's / address / subject where it needs to be
+\maketitle
- \opening{Dear prof. Bonette,}
+%% be polite when starting a letter, and address your audience
+\opening{Dear prof. Bonette,}
- I'd like to congratulate you and the other professors of your
- university on the very instructive video lectures
- provided by your University. They are valued very
- highly.
+I'd like to congratulate you and the other professors of your
+university on the very instructive video lectures
+provided by your University. They are valued very
+highly.
- You inspired many a professor at our university to provide more
- technical content beyond classical paper courses.
- Based on your inspiring lectures, some students desire to candidate
- themselves for taking an internship at your university. You can find
- their details enclosed.
+You inspired many a professor at our university to provide more
+technical content beyond classical paper courses.
+Based on your inspiring lectures, some students desire to candidate
+themselves for taking an internship at your university. You can find
+their details enclosed.
- Below, you can find a few more paragraphs to illustrate that this
- class can generate multipage letters.
+%% Below, you can find a few more dummy paragraphs to illustrate that
+%% this class can generate multipage letters.
+\kant[1-3]
- \kant[1-3]
-
- \closing{Kind regards,}
- % you might want to insert a signature picture or text:
- % \signature{\includegraphics{signature.jpg}}
- \carboncopy{prof. S. Mariotte, Mumford University}
- \enclosed{
- \begin{enumerate}
- \item list of course numbers that are most fequently viewed at
- our university (1pp)
- \item a list of students desiring to take an internship at
- Mumford University (2pp)
- \end{enumerate}
- }
+%% time to say goodbye
+\closing{Kind regards,}
+
+%% you might want to insert a signature picture or text:
+%% \signature{\includegraphics{signature.jpg}}
+
+%% mention who receives a copy of this letter if needed
+\carboncopy{prof. S. Mariotte, Mumford University}
+
+%% specify what extras can be found in the envelope if needed
+\enclosed{
+ \begin{enumerate}
+ \item list of course numbers that are most fequently viewed at
+ our university (1pp)
+ \item a list of students desiring to take an internship at
+ Mumford University (2pp)
+ \end{enumerate}
+}
\end{document}
%</le-example>
% \end{verbatim}
%
% \paragraph{Example with configuration file}~\\
+%
% Probably, one has to write many letters. The sender details will be
% most certainly valid for many an occasion. Therefore, you might want
% to consider putting this default setup in a configuration file,
@@ -1654,6 +1693,8 @@
% \begin{verbatim}
%<*le-cfg>
%% configuration file for uantwerpenletter class
+
+%% you can put your font setup in the configuration file!
\iftutex
\usepackage{cmbright}
\usepackage{fontspec}
@@ -1667,6 +1708,8 @@
\usepackage{sansmathaccent}
\fi
+%% as you probably will always be the sender of your letters,
+%% put this info in the configuration file too.
\sender{prof. Walter Daems}{Senior Lecturer}
\unit{Cosys-Lab}
\address{
@@ -1681,7 +1724,7 @@
%</le-cfg>
% \end{verbatim}
%
-% The file can then be loaded in the preamble of your letter:
+% The file can then be loaded in the preamble of your letter as follows:
% \begin{verbatim}
% \input{uantwerpenletter.cfg}
% \end{verbatim}
@@ -1691,7 +1734,8 @@
%
% You may also consider using multiple configuration files in case you
% have multiple roles in the university. Just make sure they are on your
-% \LaTeX\ search path.
+% \LaTeX\ search path (most often this search path can be set with an
+% environment variable \texttt{TEXINPUTS}).
%
% \subsubsection{\texttt{uantwerpenexam}}
%
@@ -1707,25 +1751,55 @@
% \begin{verbatim}
%<*ex-example1>
\documentclass[ti,a4paper,10pt]{uantwerpenexam}
-\usepackage{newpxtext} % demonstration of some fine font packages
+
+%% ti specifies the department, change to the letter combination of
+%% your department
+%% a4paper specifies the paper format
+%% 10pt students have good eyes, they still can read 10pt fonts
+
+%% select a font you like
+\usepackage{newpxtext}
\usepackage{newpxmath}
+
+%% this package eases numbering of subquestions
\usepackage{enumitem}
-\usepackage[dutch]{babel} % last language loaded will
- % determine logo version (change to
- % [dutch] for a monolingual version)
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
+\usepackage[dutch]{babel}
+
+%% some data about your course and the authors/lecturers
\course{1876FTIDUM}{5-Bistrologie}
-\author{Walter Daems} % can be omitted if 'lecturers' are sufficient
+\author{Walter Daems} %% can be omitted if 'lecturers' are sufficient
\lecturer{Walter Daems}
-\degree{Bachelor of Science in de industri\"ele wetenschappen - elektronica-ICT}
+
+%% specify the degree of the program the course fits in
+\degree{Bachelor of Science in de industri\"ele wetenschappen -
+ elektronica-ICT}
+
+%% specify the academic year
\academicyear{2017-2018}
+
+%% specify the particular examination form
\exampart{Schriftelijk Examen}
+
+%% specify the group
\examgroupnumber{1 (eerste examenkans-inhaal)}
+
+%% specify import time-related info about the exam - this will help
+%% supervisors to hand-out the correct exam copies!
\examdate{2018-01-29}
\examlength{4h}
\tstart{08h30}
\tend{12h30}
+
+%% same for the room(s), you may specify multiple!
+\room{G.U.024}
\room{G.U.025}
+
+%% instruct your students about important details.
+%% 'firstpage' puts in on the first page, if omitted the extra info is
+%% printed on the back of the first page
\extrainfo[firstpage]{
Belangrijke informatie:\\\par
Het volledige Onderwijs- en Examenregelement (OER) is van toepassing
@@ -1752,36 +1826,57 @@
\end{enumerate}
Succes!
}
+
+%% if you make a copy per student, you can provide a number on the copy
\studentnr{127}
+
+%% set the multiple choice symbol you fancy
\setmcsymbol{\bigcirc}
+
\begin{document}
+
+%% set the title page of the exam
\maketitle
+
+%% a first question (with an identifier that can help you remember wich
+%% question it is out of your huge database)
\question{[VLATOP-BISTRO]}
+
+%% give some idea to the student about the importance of the question
\questionweight{3}
Geef de eerste vijf laureaten van de VLATOP-bistro
competitie.
+%% a second question
\question{[BECHAMEL]}
\questionweight{7}
Welk van de onderstaande ingredi\"enten hoort niet thuis in
- een b\'echamel saus:
+een b\'echamel saus:
+
+%% this is how you specify the multiple choice answering options
\mc{Melk}
\mc{Boter}
\mc{Bloem}
\mc{Eieren}
\mc{Suiker}
+%% you can insert some pages for the studen to write his/her answers
+%% on.
+%% a. below the question, in this case for the remaining 2cm on the page
\insertsolutionspagepartial{2}
+%% b. a full page
\insertsolutionspage{}
\clearpage
+%% a third questoin
\question{[BISTROCULTURE-1]}
\questionweight{10}
+%% the option of the enumerate environment is thanks to the enumitem package
\begin{enumerate}[label=\alph*)]
\item Bespreek de evolutie van de Noord-Europese bistrocultuur
gedurende de laatste vijftig jaar.
@@ -1790,10 +1885,17 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
Gault-Millau.
\end{enumerate}
+%% you can insert some pages for the studen to write his/her answers
+%% on.
+%% a. below the question, in this case for the remaining 23cm on the page
\insertsolutionspagepartial{23}
+
+%% b. full pages: 3 in this case
\foreach \i in {1,2,3} {
\insertsolutionspage{}
}
+
+%% c. special 'scrap' pages with a watermark on them: two in this case
\foreach \i in {1,2} {
\insertsolutionspage{Kladpapier}
}
@@ -1802,30 +1904,67 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \end{verbatim}
%
% \paragraph{Two columns}
+%
+% This might be of use to professors that teach courses in English in
+% a Dutch program, you then can make a bilingual exam. This makes you
+% 100\% compliant to the very restrictive Flemish language
+% legislation.
+%
% \begin{verbatim}
%<*ex-example2>
\documentclass[ti,a4paper,10pt]{uantwerpenexam}
-\usepackage{newpxtext} % demonstration of some fine font packages
+
+%% ti specifies the department, change to the letter combination of
+%% your department
+%% a4paper specifies the paper format
+%% 10pt students have good eyes, they still can read 10pt fonts
+
+%% select a font you like
+\usepackage{newpxtext}
\usepackage{newpxmath}
+
+%% this package eases numbering of subquestions
\usepackage{enumitem}
-\usepackage[dutch,english]{babel} % last language loaded will
- % determine logo version (change to
- % [dutch] for a monolingual version)
+%% load the proper language(s) (last language will trigger the language
+%% of the logo a.o.)
+\usepackage[dutch,english]{babel}
+
+%% some data about your course and the authors/lecturers
\course{1876FTIDUM}{5-Bistrology}
\lecturer{Walter Daems}
\lecturer{Paul Levrie}
+
+%% specify the degree of the program the course fits in
\degree{Bachelor of Science in de industri\"ele wetenschappen - elektronica-ICT}
+
+%% specify the academic year
\academicyear{2017-2018}
+
+%% specify the particular examination form
\exampart{Written Exam}
+
+%% specify the group
\examgroupnumber{1 (eerste examenkans-inhaal)}
+
+%% specify import time-related info about the exam - this will help
+%% supervisors to hand-out the correct exam copies!
\examdate{2018-01-29}
\examlength{4h}
\tstart{08h30}
\tend{12h30}
+
+%% same for the room(s)
\room{G.U.025}
\room{G.U.026}
+
+%% instruct your students about important details.
+%% 'firstpage' puts in on the first page, if omitted the extra info is
+%% printed on the back of the first page
\extrainfo{
+ %% the engdut command allows you to specify a left column in english
+ %% and right column in dutch
+ %% use multiple engdut-environments to keep the page flow synchronized
\engdut{
Important information:\\\par
The Education and Examination Regulations (EER) hold for this
@@ -1922,12 +2061,22 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\clearpage
}
+%% if you make a copy per student, you can provide a number on the copy
\studentnr{29}
+
\begin{document}
+
+%% set the title page of the exam
\maketitle
+
+%% a first question (with an identifier that can help you remember wich
+%% question it is out of your huge database)
\question{[VLATOP-BISTRO]}
+
+%% give some idea to the student about the importance of the question
\questionweight{3}
+%% typeset the question in two columns
\engdut{
Write down the first five laureates of the VALTOP-bistro competition.
}
@@ -1936,6 +2085,7 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
competitie.
}
+%% a second question
\question{[BECHAMEL]}
\questionweight{7}
@@ -1947,21 +2097,30 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
Welk van de onderstaande ingredi\"enten hoort niet thuis in
een b\'echamel saus:
}
+
+%% this is how you specify multipel choice answering options in two languages
\engdutmc{Milk}{Melk}
\engdutmc{Butter}{Boter}
\engdutmc{Flower}{Bloem}
\engdutmc{Eggs}{Eieren}
\engdutmc{Sugar}{Suiker}
+%% you can insert some pages for the studen to write his/her answers
+%% on.
+%% a. below the question, in this case for the remaining 20cm on the page
\insertsolutionspagepartial{20}
+%% b. a full page
\insertsolutionspage{}
+
\clearpage
+%% a third questoin
\question{[BISTROCULTURE-1]}
\questionweight{10}
\engdut{
+%% the option of the enumerate environment is thanks to the enumitem package
\begin{enumerate}[label=\alph*)]
\item Discuss the evolution of the Northern European bistro culture during
the latest fifty years.
@@ -1979,10 +2138,17 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\end{enumerate}
}
+%% you can insert some pages for the studen to write his/her answers
+%% on.
+%% a. below the question, in this case for the remaining 22.5cm on the page
\insertsolutionspagepartial{22.5}
+
+%% b. full pages: 3 in this case
\foreach \i in {1,2,3} {
\insertsolutionspage{}
}
+
+%% c. special 'scrap' pages with a watermark on them: two in this case
\foreach \i in {1,2} {
\insertsolutionspage{Scrap/Klad}
}
@@ -1994,7 +2160,6 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
%
% \section{Implementation of the classes}
%
-%
% \subsection{Common options}
%
% Colors appear in any document, so let's define them in common in a
@@ -2594,112 +2759,112 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% The English data can be found below:
% \begin{macrocode}
%<*endata>
-org-be = Faculty of Business and Economics
-org-fbd = Faculty of Pharmaceutical, Biomedical and Veterinary Sciences
-org-ggw = Medicine and Health Sciences
-org-lw = Faculty of Arts
-org-ow = Faculty of Design Sciences
-org-re = Faculty of Law
-org-sw = Faculty of Social Sciences
-org-ti = Faculty of Applied Engineering
-org-we = Faculty of Science
-org-iob = Institute of Development Policy
-org-ua = University of Antwerp
-arr = All rights reserved
-of = of
-domainname = uantwerp.be
-datename = Date
-subjectname = Subject
-acyearname = Academic year
-baname = Bachelor of Science
-spname = Switching Programme
-vpname = Preparatory Programme
-maname = Master of Science
-phdname = PhD
-thesisname = Thesis
-mthesisname = Master's thesis
-bthesisname = Bachelor's thesis
-lecturername = Lecturer
-lecturersname = Lecturers
-supervisorname = Supervisor
-supervisorsname = Supervisors
-cosupervisorname = Cosupervisor
-cosupervisorsname = Cosupervisors
+org-be = Faculty of Business and Economics
+org-fbd = Faculty of Pharmaceutical, Biomedical and Veterinary Sciences
+org-ggw = Medicine and Health Sciences
+org-lw = Faculty of Arts
+org-ow = Faculty of Design Sciences
+org-re = Faculty of Law
+org-sw = Faculty of Social Sciences
+org-ti = Faculty of Applied Engineering
+org-we = Faculty of Science
+org-iob = Institute of Development Policy
+org-ua = University of Antwerp
+arr = All rights reserved
+of = of
+domainname = uantwerp.be
+datename = Date
+subjectname = Subject
+acyearname = Academic year
+baname = Bachelor of Science
+spname = Switching Programme
+vpname = Preparatory Programme
+maname = Master of Science
+phdname = PhD
+thesisname = Thesis
+mthesisname = Master's thesis
+bthesisname = Bachelor's thesis
+lecturername = Lecturer
+lecturersname = Lecturers
+supervisorname = Supervisor
+supervisorsname = Supervisors
+cosupervisorname = Cosupervisor
+cosupervisorsname = Cosupervisors
extsupervisorname = External supervisor
extsupervisorsname = External supervisors
-examname = Exam --- Examen
-seriesname = Series
-lastname = Last name --- Naam
-firstname = First name --- Voornaam
-docketname = Docket No. --- Rolnr.
-roomname = Room --- Lokaal
-roomsname = Rooms --- Lokalen
-examstartname = Start --- Begin
-examendname = End --- Einde
-examdurationname = Exam duration --- Duur van het examen
-juryname = Jury
-jurymembersname = Members
-jurychairmanname = Chairman
-bmthesisname = Thesis to obtain the degree of
-pthesisnamei = Thesis submitted in fulfilment of the requirements for the degree of
-pthesisnameii = at the University of Antwerp
-weightname = Weight
+examname = Exam --- Examen
+seriesname = Series
+lastname = Last name --- Naam
+firstname = First name --- Voornaam
+docketname = Docket No. --- Rolnr.
+roomname = Room --- Lokaal
+roomsname = Rooms --- Lokalen
+examstartname = Start --- Begin
+examendname = End --- Einde
+examdurationname = Exam duration --- Duur van het examen
+juryname = Jury
+jurymembersname = Members
+jurychairname = Chair
+bmthesisname = Thesis to obtain the degree of
+pthesisnamei = Thesis submitted in fulfilment of the requirements for the degree of
+pthesisnameii = at the University of Antwerp
+weightname = Weight
%</endata>
% \end{macrocode}
%
% The Dutch data can be found below:
% \begin{macrocode}
%<*nldata>
-org-be = Faculteit Bedrijfswetenschappen en Economie
-org-fbd = Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen
-org-ggw = Faculteit Geneeskunde en Gezondheidswetenschappen
-org-lw = Faculteit Letteren en Wijsbegeerte
-org-ow = Faculteit Ontwerpwetenschappen
-org-re = Faculteit Rechten
-org-sw = Faculteit Sociale Wetenschappen
-org-ti = Faculteit Toegepaste Ingenieurswetenschappen
-org-we = Faculteit Wetenschappen
-org-iob = Instituut voor Ontwikkelingsbeleid- en beheer
-org-ua = Universiteit Antwerpen
-arr = Alle rechten voorbehouden
-of = van
-domainname = uantwerpen.be
-datename = Onderwerp
-subjectname = Datum
-acyearname = Academiejaar
-baname = Bachelor of Science
-spname = Schakelprogramma
-vpname = Voorbereidingsprogramma
-maname = Master of Science
-phdname = Doctoraat
-thesisname = Afstudeerproef
-mthesisname = Masterproef
-bthesisname = Bachelorproef
-lecturername = Titularis
-lecturersname = Titularissen
-supervisorname = Promotor
-supervisorsname = Promotoren
-cosupervisorname = Copromotor
-cosupervisorsname = Copromotoren
+org-be = Faculteit Bedrijfswetenschappen en Economie
+org-fbd = Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen
+org-ggw = Faculteit Geneeskunde en Gezondheidswetenschappen
+org-lw = Faculteit Letteren en Wijsbegeerte
+org-ow = Faculteit Ontwerpwetenschappen
+org-re = Faculteit Rechten
+org-sw = Faculteit Sociale Wetenschappen
+org-ti = Faculteit Toegepaste Ingenieurswetenschappen
+org-we = Faculteit Wetenschappen
+org-iob = Instituut voor Ontwikkelingsbeleid- en beheer
+org-ua = Universiteit Antwerpen
+arr = Alle rechten voorbehouden
+of = van
+domainname = uantwerpen.be
+datename = Onderwerp
+subjectname = Datum
+acyearname = Academiejaar
+baname = Bachelor of Science
+spname = Schakelprogramma
+vpname = Voorbereidingsprogramma
+maname = Master of Science
+phdname = Doctoraat
+thesisname = Afstudeerproef
+mthesisname = Masterproef
+bthesisname = Bachelorproef
+lecturername = Titularis
+lecturersname = Titularissen
+supervisorname = Promotor
+supervisorsname = Promotoren
+cosupervisorname = Copromotor
+cosupervisorsname = Copromotoren
extsupervisorname = Externe Promotor
extsupervisorsname = Externe Promotoren
-examname = Examen
-seriesname = Reeks
-lastname = Naam
-firstname = Voornaam
-docketname = Rolnr.
-roomname = Lokaal
-roomsname = Lokalen
-examstartname = Begin
-examendname = Einde
-examdurationname = Duur van het examen
-juryname = Jury
-jurymembersname = Leden
-jurychairmanname = Voorzitter
-bmthesisname = Proefschrift tot het behalen van de graad van
-pthesisnamei = Proefschrift voorgelegd tot het behalen van de graad van
-pthesisnameii = aan de Universiteit Antwerpen te verdedigen door
-weightname = Gewicht
+examname = Examen
+seriesname = Reeks
+lastname = Naam
+firstname = Voornaam
+docketname = Rolnr.
+roomname = Lokaal
+roomsname = Lokalen
+examstartname = Begin
+examendname = Einde
+examdurationname = Duur van het examen
+juryname = Jury
+jurymembersname = Leden
+jurychairname = Voorzitter
+bmthesisname = Proefschrift tot het behalen van de graad van
+pthesisnamei = Proefschrift voorgelegd tot het behalen van de graad van
+pthesisnameii = aan de Universiteit Antwerpen te verdedigen door
+weightname = Gewicht
%</nldata>
% \end{macrocode}
%
@@ -2748,8 +2913,9 @@ en-pr = Project report
thesis, and for the submission of this publication for participation
in scientific prizes or competitions.
\newline\newline
- This document is in accordance with the master thesis regulations and the
- Code of Conduct. It has been reviewed by the supervisor and the attendant.
+ This document is in accordance with the faculty regulations related to this
+ examination document and the Code of Conduct. The text has been reviewed
+ by the supervisor and the attendant.
}
\AtBeginDocument{
\makeatother
@@ -2771,8 +2937,9 @@ en-pr = Project report
industrieel of commercieel nut en voor de inzending van deze
publicatie ter deelname aan wetenschappelijke prijzen of wedstrijden.
\newline\newline
- Dit document is in overeenstemming met het masterproefreglement en de
- gedragscode en nagekeken door promotor en begeleider.
+ Dit document is in overeenstemming met het facultair reglement
+ gerelateerd aan dit examendocument en de gedragscode. De tekst werd
+ nagekeken door de promotor en de begeleider.
}
}
}{}
@@ -3211,21 +3378,23 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\jurychairman}
-% This macro sets the |\@jurychairman| tag that later will be used on
+% \begin{macro}{\jurychair}
+% \changes{v4.6}{}{Improved genderneutrality by substituting chairman
+% by chair}
+% This macro sets the |\@jurychair| tag that later will be used on
% the data page.
% \begin{macrocode}
%<*pt>
-\newcommand*{\@jurychairman}{
+\newcommand*{\@jurychair}{
\PackageError{uantwerpendocs}
- {Please, define a chairman of the jury using the
- '\protect\jurychairman{}' command in the preamble of your
+ {Please, define a chair of the jury using the
+ '\protect\jurychair{}' command in the preamble of your
document.}
{See the uantwerpendocs manual}
}
-\newcommand*{\@jurychairmanaff}{}
-\newcommand*{\jurychairman}[2]{
- \renewcommand*{\@jurychairman}{#1}\renewcommand*{\@jurychairmanaff}{#2}}
+\newcommand*{\@jurychairaff}{}
+\newcommand*{\jurychair}[2]{
+ \renewcommand*{\@jurychair}{#1}\renewcommand*{\@jurychairaff}{#2}}
%</pt>
% \end{macrocode}
% \end{macro}
@@ -3277,9 +3446,11 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
% \begin{macro}{\degree}
% This macro sets the |\@degree| tag that later will
% be used on the title pages.
-%
+% The theses allow for a single degree (as multiple is physically
+% impossible), while a course text and an exam allow for multiple
+% degrees (to be specified in the desired order).
% \begin{macrocode}
-%<*bmt|pt|ct|ex>
+%<*bmt|pt>
\newcommand*\@degree{
\PackageError{uantwerpendocs}
{Please, specify the offical degree description using
@@ -3287,7 +3458,29 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
{See the uantwerpendocs manual}
}
\newcommand*\degree[1]{\renewcommand*\@degree{#1}}
-%</bmt|pt|ct|ex>
+%</bmt|pt>
+%
+% \changes{v4.6}{}{Allowed for specification of multiple degrees for
+% course texts and exams}
+%<*ct|ex>
+\ExplSyntaxOn
+\seq_new:N \g_@@_degrees
+\cs_new:Nn \@@_adddegree:n {
+ \seq_gpush:Nn \g_@@_degrees { #1 }
+}
+\NewDocumentCommand{\degree}{m}{
+ \@@_adddegree:n { #1 }
+}
+\NewDocumentCommand{\jointdegrees}{mm}{
+ \seq_use:Nnnn \g_@@_degrees { #2 } { #1 } { #2 }
+}
+\AtBeginDocument{
+ \seq_greverse:N \g_@@_degrees
+ \let\degree\relax
+}
+\ExplSyntaxOff
+%</ct|ex>
+
% \end{macrocode}
% \end{macro}
%
@@ -3317,15 +3510,11 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
% \begin{macrocode}
%<*bmt|pt|ct|ex>
\ExplSyntaxOn
+\seq_new:N \g_@@_degreechunks
\NewDocumentCommand{\bamadegree}{m}{
- \seq_new:N \l_@@_degreechunks
- \regex_extract_all:nnN { [^-]+ } { #1 } \l_@@_degreechunks
- \bamadoctype{\seq_item:Nn\l_@@_degreechunks {2} - \seq_item:Nn\l_@@_degreechunks {3}}
- \degree{\uantwerpendocsdegree{
- \seq_item:Nn\l_@@_degreechunks {1} -
- \seq_item:Nn\l_@@_degreechunks {2} -
- \seq_item:Nn\l_@@_degreechunks {3} -
- \seq_item:Nn\l_@@_degreechunks {4} }}
+ \regex_extract_all:nnN { [^-]+ } { #1 } \g_@@_degreechunks
+ \bamadoctype{\seq_item:Nn \g_@@_degreechunks {2} - \seq_item:Nn \g_@@_degreechunks {3}}
+ \degree{\uantwerpendocsdegree{#1}}
}
\ExplSyntaxOff
%</bmt|pt|ct|ex>
@@ -3954,6 +4143,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
%
%
% \subsection{Dirty reverse video tricks}
+% Try not to throw up in your mouth\ldots
%
% \begin{macrocode}
%<*bmt>
@@ -4073,8 +4263,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\rhead[\small EXAMINER VERSION]{\small EXAMINER VERSION}
\AddToShipoutPicture{
\put(60,40){\rotatebox{60}{\textcolor{watermark}{
- \fontfamily{phv}\fontsize{105}{130}\fontseries{m}\fontshape{n}%
- \selectfont Examiner Version}}}}
+ \fontsize{105}{130}\selectfont Examiner Version}}}}
\else
\rhead[\small Student nr. \@studentnr]{\small Student nr. \@studentnr}
\fi
@@ -4291,7 +4480,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\node[white,anchor=west,text width=17.5cm,align=left,font=\small]
at (2.55,3.7)
- {\textsf{\@degree{}}\\
+ {\textsf{\jointdegrees{\\}{\\}}\\
\textsf{\textbf{\@faculty{} \ifx\@department\empty\else |
\@department{} \fi | \@academicyear \hfill
\@publishercode}}\\
@@ -4335,12 +4524,20 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\fontsize{18}{24}\selectfont\textsf{\@subtitle}
};
- \node
+ \node
[anchor=north west,below=of title,
text width=14.75cm,align=left,
+ yshift=-0.5cm,color=uauamain] (author)
+ {
+ \fontsize{18}{24}\selectfont{\textsf{\@author}}
+ };
+
+ \node
+ [anchor=north west,below=of author,
+ text width=14.75cm,align=left,
yshift=-0.5cm]
{
- \fontsize{12}{15}\selectfont{\textsf{\@degree}}
+ \fontsize{12}{15}\selectfont{\textsf{\jointdegrees{\\}{\\}}}
};
\node
@@ -4652,13 +4849,13 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\end{center}
\clearpage
\noindent\textbf{\uantwerpendocsprop{juryname}}\hfill\\[1ex]
- \textbf{\uantwerpendocsprop{jurychairmanname}}\hfill\break
- \@jurychairman{}\ifdefvoid{\@jurychairmanaff}{}{, \@jurychairmanaff}\\
+ \textit{\uantwerpendocsprop{jurychairname}}\hfill\break
+ \@jurychair{}\ifdefvoid{\@jurychairaff}{}{, \@jurychairaff}\\
\hfill\break
- \textbf{\supervisorsname{}}\hfill\break
+ \textit{\supervisorsname{}}\hfill\break
\jointsupervisorswithaffiliation{\\}{\\}
\hfill\break
- \textbf{\uantwerpendocsprop{jurymembersname}}\hfill\break
+ \textit{\uantwerpendocsprop{jurymembersname}}\hfill\break
\jointjurymembers{\\}
\hfill\break
\vfill
@@ -4990,42 +5187,37 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
[anchor=west,text width={\paperwidth-5cm},align=left]
at (2.125,{\paperheight-3cm})
{%
- \fontfamily{phv}\fontsize{18}{22}\fontseries{b}%
- \fontshape{n}\selectfont%
- \@course{}
+ \fontsize{18}{22}\selectfont%
+ \textsf{\textbf{\@course{}}}
\ifx\@exampart\@empty
- \else --- \@exampart\fi
+ \else \textsf{\textbf{ --- \@exampart}}\fi
};
\node
[anchor=west,text width={\paperwidth-5cm},align=left]
at (2.125,{\paperheight-4cm})
{%
- \fontfamily{phv}\fontsize{12}{18}\fontseries{b}%
- \fontshape{n}\selectfont%
- \@coursecode
+ \fontsize{12}{18}\selectfont%
+ \textsf{\@coursecode}
};
\node
[anchor=west,text width={\paperwidth-5cm},align=left,font=\large]
at (2.125,{\paperheight-5cm})
{%
- \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
- \fontshape{n}\selectfont%
- \uantwerpendocsprop{seriesname} \@examgroupnumber{} \hfill \@examdate{}
+ \fontsize{12}{18}\selectfont%
+ \textsf{\uantwerpendocsprop{seriesname} \@examgroupnumber{} \hfill \@examdate{}}
};
\node[anchor=south west,align=left,inner sep=0pt] at (3,21)
{%
- \fontfamily{phv}\fontsize{14}{19}\fontseries{b}%
- \fontshape{n}\selectfont%
- \uantwerpendocsprop{examname}
+ \fontsize{14}{19}\selectfont%
+ \textsf{\uantwerpendocsprop{examname}}
};
\node[anchor=south west,align=left,inner sep=0pt] at (3,19)
{%
- \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
- \fontshape{n}\selectfont%
- \uantwerpendocsprop{lastname}
+ \fontsize{12}{18}\selectfont%
+ \textsf{\uantwerpendocsprop{lastname}}
};
\foreach \nn in {0,1,...,33} {
\draw[fill=white] (3,18) ++({0.5*\nn},0) rectangle +(0.5,0.8);
@@ -5033,9 +5225,8 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\node[anchor=south west,align=left,inner sep=0pt] at (3,17)
{%
- \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
- \fontshape{n}\selectfont%
- \uantwerpendocsprop{firstname}
+ \fontsize{12}{18}\selectfont%
+ \textsf{\uantwerpendocsprop{firstname}}
};
\foreach \nn in {0,1,...,23} {
@@ -5044,9 +5235,8 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\node[anchor=south west,align=left,inner sep=0pt] at (16,17)
{%
- \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
- \fontshape{n}\selectfont%
- \uantwerpendocsprop{docketname}
+ \fontsize{12}{18}\selectfont%
+ \textsf{\uantwerpendocsprop{docketname}}
};
\foreach \nn in {0,1,...,7} {
\draw[fill=white] (16,16) ++({0.5*\nn},0) rectangle +(0.5,0.8);
@@ -5055,27 +5245,24 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\node[anchor=south west,align=left,inner sep=0pt,text width=17cm]
at (3,14)
{%
- \fontfamily{phv}\fontsize{12}{21}\fontseries{m}%
- \fontshape{n}\selectfont%
- \uantwerpendocsprop{examdurationname}: \@examlength
+ \fontsize{12}{21}\selectfont%
+ \textsf{\uantwerpendocsprop{examdurationname}: \@examlength}
};
\node[anchor=south west,align=left,inner sep=0pt,text width=17cm]
at (3,11)
{%
- \fontfamily{phv}\fontsize{12}{15}\fontseries{m}%
- \fontshape{n}\selectfont%
- \begin{tabular}{@{}l@{}ll}%
+ \fontsize{12}{15}\selectfont%
+ \textsf{\begin{tabular}{@{}l@{}ll}%
\uantwerpendocsprop{examstartname}& : & \@tstart\\
\uantwerpendocsprop{examendname} & : & \@tend
- \end{tabular}
+ \end{tabular}}
};
\node[anchor=south west,align=left,inner sep=0pt,text width=17cm]
at (3,8)
{%
- \fontfamily{phv}\fontsize{12}{21}\fontseries{m}%
- \fontshape{n}\selectfont%
- \roomsname: \jointrooms{, }
+ \fontsize{12}{21}\selectfont%
+ \textsf{\roomsname: \jointrooms{, }}
};
\node
@@ -5102,7 +5289,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\node[white,anchor=west,text width=17.5cm,align=left,font=\small]
at (2.55,3.7)
- {\textsf{\@degree{}}\\
+ {\textsf{\jointdegrees{\\}{\\}}\\
\textsf{\textbf{\@faculty{}}}};
\node[anchor=west] at (2.125,1.313)
@@ -5306,8 +5493,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
\end{tikzpicture}
}
\put(120,150){\rotatebox{60}{\textcolor{watermark}{
- \fontfamily{phv}\fontsize{105}{130}\fontseries{m}\fontshape{n}\selectfont
- #1}
+ \fontsize{105}{130}\selectfont\textsf{#1}}
}
}
}%
@@ -5349,8 +5535,9 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
%</ct|bmt|pt|rp>
% \end{macrocode}
%
-% \section{The beamer theme}
-% \subsection{User guide}
+% \part*{Part II. The beamer theme}
+%
+% \section{User guide}
%
% \begin{verbatim}
%<*bmrug>
@@ -6171,7 +6358,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
Cheers!
Walter Daems\\
- (April 2022)
+ (April 2024)
\end{frame}
@@ -6179,13 +6366,13 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
%</bmrug>
% \end{verbatim}
%
-% \subsection{Implementation}
+% \section{Implementation}
%
% \subsubsection{Main beamer theme}
%
% \begin{macrocode}
%<*bmr>
-% Copyright 2023 by Walter Daems <walter.daems@uantwerpen.be>
+% Copyright 2024 by Walter Daems <walter.daems@uantwerpen.be>
%
% This file may be distributed and/or modified
%
@@ -6240,7 +6427,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
% \subsubsection{Beamer color theme}
% \begin{macrocode}
%<*bmrcolor>
-% Copyright 2023 by Walter Daems <walter.daems@uantwerpen.be>
+% Copyright 2024 by Walter Daems <walter.daems@uantwerpen.be>
%
% This file may be distributed and/or modified
%
@@ -6324,7 +6511,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
%
% \begin{macrocode}
%<*bmrfont>
-% Copyright 2023 by Walter Daems
+% Copyright 2024 by Walter Daems
%
% This file may be distributed and/or modified
%
@@ -6474,7 +6661,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
%
% \begin{macrocode}
%<*bmrinner>
-% Copyright 2023 by Walter Daems <walter.daems@uantwerpen.be>
+% Copyright 2024 by Walter Daems <walter.daems@uantwerpen.be>
%
% This file may be distributed and/or modified
%
@@ -6567,7 +6754,7 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
%
% \begin{macrocode}
%<*bmrouter>
-% Copyright 2023 by Walter Daems <walter.daems@uantwerpen.be>
+% Copyright 2024 by Walter Daems <walter.daems@uantwerpen.be>
%
% This file may be distributed and/or modified
%
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins
index 78fb9986b0..46755a11b6 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins
@@ -1,4 +1,4 @@
-%% Copyright (C) 2013-2022 by Walter Daems <walter.daems@uantwerpen.be>
+%% Copyright (C) 2013-2024 by Walter Daems <walter.daems@uantwerpen.be>
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -24,7 +24,7 @@
This is a generated file.
-Copyright (C) 2013-2022 by Walter Daems <walter.daems@uantwerpen.be>
+Copyright (C) 2013-2024 by Walter Daems <walter.daems@uantwerpen.be>
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
index 51fd4bedc5..cbda7bbd35 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
index 7f38b50174..cc3638199c 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
index 50e83e8bf0..611e975a2c 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
index 94aee6fd0e..ce7f605387 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
index 5a9ef71bb3..3687884a6e 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
index 1b162e92b7..0ff9741397 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
index aa384e2266..26f5c6fd8a 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
Binary files differ
diff --git a/macros/luatex/generic/luakeys/README.md b/macros/luatex/generic/luakeys/README.md
index b4a0ddb8a8..26ede28a87 100644
--- a/macros/luatex/generic/luakeys/README.md
+++ b/macros/luatex/generic/luakeys/README.md
@@ -14,7 +14,7 @@ mechanism should be pretty robust.
## License
-Copyright 2021-2023 Josef Friedrich
+Copyright 2021-2024 Josef Friedrich
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -233,7 +233,7 @@ This project uses [semantic versioning](https://semver.org).
Update version in:
-* documentation.tex
+* luakeys-doc.tex
* luakeys-debug.sty
* luakeys.sty
* luakeys.lua
diff --git a/macros/luatex/generic/luakeys/luakeys-debug.sty b/macros/luatex/generic/luakeys/luakeys-debug.sty
index ef77fff632..57e1bae7f8 100644
--- a/macros/luatex/generic/luakeys/luakeys-debug.sty
+++ b/macros/luatex/generic/luakeys/luakeys-debug.sty
@@ -1,5 +1,5 @@
%% luakeys-debug.sty
-%% Copyright 2021-2023 Josef Friedrich
+%% Copyright 2021-2024 Josef Friedrich
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -17,6 +17,6 @@
% luakeys-debug.sty and luakeys-debug.tex.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luakeys-debug}[2023/01/13 v0.13.0 Debug package for luakeys.]
+\ProvidesPackage{luakeys-debug}[2024/04/09 v0.14.0 Debug package for luakeys.]
\input luakeys-debug.tex
diff --git a/macros/luatex/generic/luakeys/luakeys-debug.tex b/macros/luatex/generic/luakeys/luakeys-debug.tex
index 0b4830f779..d505c1abbd 100644
--- a/macros/luatex/generic/luakeys/luakeys-debug.tex
+++ b/macros/luatex/generic/luakeys/luakeys-debug.tex
@@ -1,5 +1,5 @@
%% luakeys-debug.tex
-%% Copyright 2021-2023 Josef Friedrich
+%% Copyright 2021-2024 Josef Friedrich
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -19,14 +19,16 @@
\directlua
{
luakeys = require('luakeys')()
+ if lparse == nil then
+ lparse = require('lparse')
+ end
}
\def\luakeysdebug%
{%
\directlua%
{
- local oarg = luakeys.utils.scan_oarg()
- local marg = token.scan_argument(false)
+ local oarg, marg = lparse.scan('o v')
local opts
if oarg then
opts = luakeys.parse(oarg, { format_keys = { 'snake', 'lower' } })
diff --git a/macros/luatex/generic/luakeys/documentation.tex b/macros/luatex/generic/luakeys/luakeys-doc.tex
index 2e57cbae19..e14569b459 100644
--- a/macros/luatex/generic/luakeys/documentation.tex
+++ b/macros/luatex/generic/luakeys/luakeys-doc.tex
@@ -64,7 +64,7 @@ The default value of the option “\texttt{#1}” is:
\href{https://github.com/Josef-Friedrich/luakeys}
{github.com/Josef-Friedrich/luakeys}%
}
-\date{v0.13.0 from 2023/01/13}
+\date{v0.14.0 from 2024/04/09}
\maketitle
@@ -1489,6 +1489,24 @@ result store.
%
%%
+\subsection{Class “\texttt{DefinitionManager()}”}
+
+% Die Klasse DefinitionManager ermöglicht es Schlüssel-Wert-Definitionen
+% in einem Objekt abzulegen.
+The DefinitionManager class makes it possible to store key-value
+definitions in a central location.
+% Über die Methoden \lua{include} und \lue{exclude} können auf Basis der
+% gespeicherten Definitionen neue Teilmengen an Definitionen gebildet
+% werden.
+New subsets of definitions can be formed based on the saved definitions
+using the \lua{include} and \lua{exclude} methods.
+
+\InputLua[firstline=4]{definition-manager.lua}
+
+%%
+%
+%%
+
\subsection{Table “\texttt{is}”}
% In der Tabelle \lua{is} werden einige Funktionen zusammengefasst, die
@@ -1540,7 +1558,7 @@ therefore accepts any data type.
% In der Tabelle \lua{utils} sind einige Hilfsfunktionen gebündelt.
The \lua{utils} table bundles some auxiliary functions.
-\InputLua[firstline=3,lastline=37]{utils/all.lua}
+\InputLua[firstline=3,lastline=35]{utils/all.lua}
%%
%
@@ -1575,52 +1593,6 @@ values in the target table.
%
%%
-\subsubsection{Function “\texttt{utils.scan_oarg(initial_delimiter?, end_delimiter?): string}”}
-
-% Plain \TeX{} kennt keine optionalen Argumente (oarg).
-Plain \TeX{} does not know optional arguments (oarg).
-%
-% Die Funktion ermöglicht es nicht nur in \LaTeX{}, sondern auch in
-% Plain \TeX{} nach optionalen Argumenten zu suchen.
-The function \\ \lua{utils.scan_oarg(initial_delimiter?,
-end_delimiter?): string} allows to search for optional arguments not only
-in \LaTeX{} but also in Plain \TeX.
-%
-% Die Funktion basiert auf der Token-Bibliothek.
-The function uses the token library built into Lua\TeX{}.
-%
-% Die beiden Parameter \lua{initial_delimiter} und \lua{end_delimiter}
-% können weggelassen werden.
-The two parameters \lua{initial_delimiter} and \lua{end_delimiter} can
-be omitted.
-%
-% Dann werden eckige Klammern als Begrenzungszeichen angenommen.
-Then square brackets are assumed to be delimiters.
-%
-% Dieser Lua-Code \lua{utils.scan_oarg('(', ')')} sucht beispielsweise
-% nach an einem optionalen Argument in runden Klammern.
-For example, this Lua code \lua{utils.scan_oarg('(', ')')} searches for
-an optional argument in round brackets
-%
-% Die Funktion gibt die Zeichenkette zwischen den Begrenzungszeichen
-% zurück, oder nil wenn Begrenzungszeichen gefunden werden konnten.
-The function returns the string between the delimiters or \lua{nil} if
-no delimiters could be found.
-%
-% Die Begrenzungszeichen sind im Ergebnis nicht enthalten.
-The delimiters themselves are not included in the result.
-%
-% Nach dem \latex{\directlua{}} darf das Makro, indem
-% \lua{utils.scan_oarg} eingesetzt wird, zu keinen Zeichen expandieren.
-After the \latex{\directlua{}}, the macro using \lua{utils.scan_oarg}
-must not expand to any characters.
-
-\InputLatex{utils/scan-oarg-plain.tex}
-
-%%
-%
-%%
-
\subsection{Table “version”}
% Das luakeys Projekt verwendet semantic versioning
diff --git a/macros/luatex/generic/luakeys/luakeys.lua b/macros/luatex/generic/luakeys/luakeys.lua
index ede652cf64..224c77ed72 100644
--- a/macros/luatex/generic/luakeys/luakeys.lua
+++ b/macros/luatex/generic/luakeys/luakeys.lua
@@ -1,5 +1,5 @@
---luakeys.lua
----Copyright 2021-2023 Josef Friedrich
+---Copyright 2021-2024 Josef Friedrich
---
---This work may be distributed and/or modified under the
---conditions of the LaTeX Project Public License, either version 1.3c
@@ -265,54 +265,6 @@ local utils = (function()
throw_error_message(message, help)
end
- ---
- ---Scan for an optional argument.
- ---
- ---@param initial_delimiter? string # The character that marks the beginning of an optional argument (by default `[`).
- ---@param end_delimiter? string # The character that marks the end of an optional argument (by default `]`).
- ---
- ---@return string|nil # The string that was enclosed by the delimiters. The delimiters themselves are not returned.
- local function scan_oarg(initial_delimiter,
- end_delimiter)
- if initial_delimiter == nil then
- initial_delimiter = '['
- end
-
- if end_delimiter == nil then
- end_delimiter = ']'
- end
-
- ---
- ---@param t Token
- ---
- ---@return string
- local function convert_token(t)
- if t.index ~= nil then
- return utf8.char(t.index)
- else
- return '\\' .. t.csname
- end
- end
-
- local function get_next_char()
- local t = token.get_next()
- return convert_token(t), t
- end
-
- local char, t = get_next_char()
- if char == initial_delimiter then
- local oarg = {}
- char = get_next_char()
- while char ~= end_delimiter do
- table.insert(oarg, char)
- char = get_next_char()
- end
- return table.concat(oarg, '')
- else
- token.put_next(t)
- end
- end
-
local function visit_tree(tree, callback_func)
if type(tree) ~= 'table' then
throw_error_message(
@@ -557,7 +509,7 @@ local utils = (function()
---@private
local function print_message(message, ...)
- local args = {...}
+ local args = { ... }
for index, value in ipairs(args) do
args[index] = colorize(value)
end
@@ -698,7 +650,6 @@ local utils = (function()
tex_printf = tex_printf,
throw_error_message = throw_error_message,
throw_error_code = throw_error_code,
- scan_oarg = scan_oarg,
ansi_color = ansi_color,
log = log,
}
@@ -1226,23 +1177,23 @@ local function main()
Variable('unit')
) / capture_dimension,
- ---for is.number()
- number_only = Variable('number') * -1,
+ sign = Set('-+'),
- ---capture number
- number = Variable('tex_number') / tonumber,
+ digit = Range('09'),
- ---sign? white_space? (integer+ fractional? / fractional)
- tex_number =
- Variable('sign')^0 * white_space^0 *
- (Variable('integer')^1 * Variable('fractional')^0) +
- Variable('fractional'),
+ integer = (Variable('sign')^-1) * white_space^0 * (Variable('digit')^1),
- sign = Set('-+'),
+ fractional = (Pattern('.') ) * (Variable('digit')^1),
+
+ ---(integer fractional?) / (sign? white_space? fractional)
+ tex_number = (Variable('integer') * (Variable('fractional')^-1)) +
+ ((Variable('sign')^-1) * white_space^0 * Variable('fractional')),
- fractional = Pattern('.') * Variable('integer')^1,
+ ---for is.number()
+ number_only = Variable('number') * -1,
- integer = Range('09')^1,
+ ---capture number
+ number = Variable('tex_number') / tonumber,
---'bp' / 'BP' / 'cc' / etc.
---https://raw.githubusercontent.com/latex3/lualibs/master/lualibs-util-dim.lua
@@ -1977,41 +1928,146 @@ local function main()
end
---
- ---A table to store parsed key-value results.
- local result_store = {}
+ ---@param defs DefinitionCollection
+ ---@param opts? OptionCollection
+ local function define(defs, opts)
+ return function(kv_string, inner_opts)
+ local options
- return {
- new = main,
+ if inner_opts ~= nil and opts ~= nil then
+ options = utils.merge_tables(opts, inner_opts)
+ elseif inner_opts ~= nil then
+ options = inner_opts
+ elseif opts ~= nil then
+ options = opts
+ end
+
+ if options == nil then
+ options = {}
+ end
- version = { 0, 13, 0 },
+ options.defs = defs
- ---@see parse
- parse = parse,
+ return parse(kv_string, options)
+ end
+ end
+
+ ---@alias KeySpec table<integer|string, string>
+
+ local DefinitionManager = (function()
+ ---@class DefinitionManager
+ DefinitionManager = {}
+
+ ---@private
+ DefinitionManager.__index = DefinitionManager
---
- ---@param defs DefinitionCollection
- ---@param opts? OptionCollection
- define = function(defs, opts)
- return function(kv_string, inner_opts)
- local options
-
- if inner_opts ~= nil and opts ~= nil then
- options = utils.merge_tables(opts, inner_opts)
- elseif inner_opts ~= nil then
- options = inner_opts
- elseif opts ~= nil then
- options = opts
+ ---@param key string
+ ---
+ ---@return Definition
+ function DefinitionManager:get(key)
+ return self.defs[key]
+ end
+
+ ---
+ ---@param key_spec KeySpec
+ ---@param clone? boolean
+ ---
+ ---@return DefinitionCollection
+ function DefinitionManager:include(key_spec, clone)
+ local selection = {}
+ for key, value in pairs(key_spec) do
+ local src
+ local dest
+ if type(key) == 'number' then
+ src = value
+ dest = value
+ else
+ src = key
+ dest = value
+ end
+ if clone then
+ selection[dest] = utils.clone_table(self.defs[src])
+ else
+ selection[dest] = self.defs[src]
end
+ end
+ return selection
+ end
- if options == nil then
- options = {}
+ ---
+ ---@param key_spec KeySpec
+ ---@param clone? boolean
+ ---
+ ---@return DefinitionCollection
+ function DefinitionManager:exclude(key_spec, clone)
+ local spec = {}
+ for key, value in pairs(key_spec) do
+ if type(key) == 'number' then
+ spec[value] = value
+ else
+ spec[key] = value
end
+ end
- options.defs = defs
+ local selection = {}
+ for key, def in pairs(self.defs) do
+ if spec[key] == nil then
+ if clone then
+ selection[key] = utils.clone_table(def)
+ else
+ selection[key] = def
+ end
+ end
+ end
+ return selection
+ end
+
+ ---
+ ---@param key_selection KeySpec
+ function DefinitionManager:parse(kv_string, key_selection)
+ return parse(kv_string, { defs = self:include(key_selection) })
+ end
- return parse(kv_string, options)
+ ---
+ ---@param key_selection KeySpec
+ function DefinitionManager:define(key_selection)
+ return define(self:include(key_selection))
+ end
+
+ ---@param defs DefinitionCollection
+ ---
+ ---@return DefinitionManager
+ return function(defs)
+ local manager = {}
+
+ for key, def in pairs(defs) do
+ if def.name ~= nil and type(key) == 'number' then
+ defs[def.name] = def
+ defs[key] = nil
+ end
end
- end,
+
+ setmetatable(manager, DefinitionManager)
+ manager.defs = defs
+ return manager
+ end
+ end)()
+
+ ---
+ ---A table to store parsed key-value results.
+ local result_store = {}
+
+ return {
+ new = main,
+
+ version = { 0, 14, 0 },
+
+ parse = parse,
+
+ define = define,
+
+ DefinitionManager = DefinitionManager,
---@see default_opts
opts = default_opts,
diff --git a/macros/luatex/generic/luakeys/luakeys.pdf b/macros/luatex/generic/luakeys/luakeys.pdf
index 7e7a25c620..2ab59e561c 100644
--- a/macros/luatex/generic/luakeys/luakeys.pdf
+++ b/macros/luatex/generic/luakeys/luakeys.pdf
Binary files differ
diff --git a/macros/luatex/generic/luakeys/luakeys.sty b/macros/luatex/generic/luakeys/luakeys.sty
index 6feef78b2a..6369cff49f 100644
--- a/macros/luatex/generic/luakeys/luakeys.sty
+++ b/macros/luatex/generic/luakeys/luakeys.sty
@@ -1,5 +1,5 @@
%% luakeys.sty
-%% Copyright 2021-2023 Josef Friedrich
+%% Copyright 2021-2024 Josef Friedrich
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -17,7 +17,7 @@
% luakeys-debug.sty and luakeys-debug.tex.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luakeys}[2023/01/13 v0.13.0 Parsing key-value options using Lua.]
+\ProvidesPackage{luakeys}[2024/04/09 v0.14.0 Parsing key-value options using Lua.]
\directlua{
if luakeys == nil then
luakeys = require('luakeys')()
diff --git a/macros/luatex/generic/luakeys/luakeys.tex b/macros/luatex/generic/luakeys/luakeys.tex
index f993e7c83f..2bc1f781f9 100644
--- a/macros/luatex/generic/luakeys/luakeys.tex
+++ b/macros/luatex/generic/luakeys/luakeys.tex
@@ -1,5 +1,5 @@
%% luakeys.tex
-%% Copyright 2021-2023 Josef Friedrich
+%% Copyright 2021-2024 Josef Friedrich
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/luatex/latex/luacensor/OFL.txt b/macros/luatex/latex/luacensor/OFL.txt
new file mode 100644
index 0000000000..fe1a1a6cac
--- /dev/null
+++ b/macros/luatex/latex/luacensor/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2013 The Redacted Project Authors (https://github.com/christiannaths/redacted-font)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/macros/luatex/latex/luacensor/README b/macros/luatex/latex/luacensor/README.txt
index 1e1d26990a..e7c99c552a 100644
--- a/macros/luatex/latex/luacensor/README
+++ b/macros/luatex/latex/luacensor/README.txt
@@ -1,6 +1,6 @@
luacensor - redacting sensitive information with Lua
-version: 1.1.0
+version: 1.1.1
luacensor is a package that takes advantage of Lua to securely redact documents, both by hiding all characters and by slightly varying the length of strings to prevent jigsaw identification. It also is friendly to screen readers by adding alt-text indicating redacted content.
@@ -14,4 +14,7 @@ LaTeX Project Public License (LPPL), version 1.3 or later.
For suggestions, feature requests, and bug reports, please use the project's
GitHub site: https://github.com/ezgranet/luacensor
-Version history: 23/02/2022: new `warning' option added to allow for printing a warning with redacted text
+Version history:
+07/04/2024: fixed issue with luaotfload
+
+ 23/02/2022: new `warning' option added to allow for printing a warning with redacted text
diff --git a/macros/luatex/latex/luacensor/Redacted-Regular.ttf b/macros/luatex/latex/luacensor/Redacted-Regular.ttf
new file mode 100644
index 0000000000..0fc7a65888
--- /dev/null
+++ b/macros/luatex/latex/luacensor/Redacted-Regular.ttf
Binary files differ
diff --git a/macros/luatex/latex/luacensor/luacensor.pdf b/macros/luatex/latex/luacensor/luacensor-documentation.pdf
index f2f27f9805..29a01a9575 100644
--- a/macros/luatex/latex/luacensor/luacensor.pdf
+++ b/macros/luatex/latex/luacensor/luacensor-documentation.pdf
Binary files differ
diff --git a/macros/luatex/latex/luacensor/luacensor.tex b/macros/luatex/latex/luacensor/luacensor-documentation.tex
index 10bcc0d18b..e399824c5b 100644
--- a/macros/luatex/latex/luacensor/luacensor.tex
+++ b/macros/luatex/latex/luacensor/luacensor-documentation.tex
@@ -161,10 +161,9 @@ firstnumber=last
]
{latex}
%luacensor.sty
-%luacensor.sty
-\def\luacensorversionnumber{1.1.0}
+\def\luacensorversionnumber{1.1.1}
\ProvidesPackage{luacensor}
-[2022/02/22 \luacensorversionnumber\
+[2024/04/06 \luacensorversionnumber\
Redact sensitive information using Lua]
% !TeX program = lualatex
% !TeX encoding = utf8
@@ -654,7 +653,7 @@ firstnumber=last
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newfontface\wrnstncl{QT Military}
\newcommand{\warnword}{WARNING}
-\newfontface\smbl{Deja Vu Sans Bold}
+\newfontface\smbl{DejaVuSans-Bold}
\newcommand{\danger}{\smbl ⚠︎\normalfont}
\newcommand{\warnformat}{\sffamily\bfseries \color{red}}
\newcommand{\textwarn}{This document is {\underline{NOT}} redacted. It contains private and confidential personal data, and may {\underline{NOT}} be distributed, published, or shown to those without the right to view such information. The publication of the information in this document may constitute a contempt of court, punishable by a term of imprisonment.}
@@ -716,6 +715,9 @@ firstnumber=last
\AtBeginDocument{\confwarning}
\end{minted}
\section{Version History}
+\subsection{\texttt{1.1.1}}
+\ttfamily 6 April 2024: Fixed an issue with OTF for dejavusans not loading by using the postscript name.
+
\subsection{\texttt{1.1.0}}
\ttfamily 22 February 2022: Added the `warning' option and fixed a few errors in the code resulting from \TeX\ primitives causing issues.
\subsection{\texttt{1.0.0}}
diff --git a/macros/luatex/latex/luacensor/luacensor.sty b/macros/luatex/latex/luacensor/luacensor.sty
index 22a8003e2d..b4c7f45bea 100644
--- a/macros/luatex/latex/luacensor/luacensor.sty
+++ b/macros/luatex/latex/luacensor/luacensor.sty
@@ -1,7 +1,7 @@
%luacensor.sty
-\def\luacensorversionnumber{1.1.0}
+\def\luacensorversionnumber{1.1.1}
\ProvidesPackage{luacensor}
-[2022/02/22 \luacensorversionnumber\
+[2024/04/06 \luacensorversionnumber\
Redact sensitive information using Lua]
% !TeX program = lualatex
% !TeX encoding = utf8
@@ -70,10 +70,10 @@
%Scale=1.1,
%%the below declarations are to prevent warnings about shapes not being available
%WordSpace=0,
-ItalicFont={Redacted},%
-BoldItalicFont={Redacted},%
-BoldFont={Redacted},%
-SmallCapsFont={Redacted}]{Redacted}
+ItalicFont={Redacted-Regular.ttf},%
+BoldItalicFont={Redacted-Regular.ttf},%
+BoldFont={Redacted-Regular.ttf},%
+SmallCapsFont={Redacted-Regular.ttf}]{Redacted-Regular.ttf}
\newcommand{\onething}{\cnsrfnt\ • }
\newcommand{\twothings}{\cnsrfnt\ • •}
\newcommand{\donothing}{\cnsrfnt\ }
@@ -390,7 +390,7 @@ token.set_lua("rndstring", #lft, "global")
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newfontface\wrnstncl{QT Military}
\newcommand{\warnword}{WARNING}
-\newfontface\smbl{Deja Vu Sans Bold}
+\newfontface\smbl{DejaVuSans-Bold}
\newcommand{\danger}{\smbl ⚠︎\normalfont}
\newcommand{\warnformat}{\sffamily\bfseries \color{red}}
\newcommand{\textwarn}{This document is {\underline{NOT}} redacted. It contains private and confidential personal data, and may {\underline{NOT}} be distributed, published, or shown to those without the right to view such information. The publication of the information in this document may constitute a contempt of court, punishable by a term of imprisonment.}