From 3a8398961f2de022af86ec0fcf33eb093b8dce41 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Fri, 12 Nov 2021 03:00:57 +0000
Subject: CTAN sync 202111120300

---
 .../contrib/uantwerpendocs/uantwerpendocs.dtx      | 238 +++++++++++++++------
 1 file changed, 168 insertions(+), 70 deletions(-)

(limited to 'macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx')

diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
index 0b0b87df96..8aa027e390 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
@@ -25,23 +25,21 @@
 \ProvidesFile{uantwerpendocs.dtx}
 %</driver>
 %<@@=uantwerpendocs>
-%<ct|bmt|mt|pt|rp|le|ex|bmr>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<ct|bmt|pt|rp|le|ex|bmr>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<clo>\ProvidesFile{uantwerpencommonoptions.clo}
 %<cls>\ProvidesPackage{uantwerpencolorlogoscheme}
 %<ct>\ProvidesClass{uantwerpencoursetext}
-%<mt>\ProvidesClass{uantwerpenmasterthesis}
 %<bmt>\ProvidesClass{uantwerpenbamathesis}
 %<pt>\ProvidesClass{uantwerpenphdthesis}
 %<rp>\ProvidesClass{uantwerpenreport}
 %<le>\ProvidesClass{uantwerpenletter}
 %<ex>\ProvidesClass{uantwerpenexam}
 %<bmr>\ProvidesPackage{beamerthemeuantwerpen}
-%<cls|ct|bmt|mt|pt|rp|le|ex|bmr>    [2021/10/04 v4.2 .dtx skeleton file]
-%<mt>\errmessage{This class is obsolete, use the uantwerpenbamathesis class instead !}
+%<cls|ct|bmt|pt|rp|le|ex|bmr>    [2021/11/11 v4.3 .dtx skeleton file]
 %<*driver>
 \documentclass[a4paper]{ltxdoc}
-\def\fileversion{4.2}%
-\def\filedate{2021/10/04}%
+\def\fileversion{4.3}%
+\def\filedate{2021/11/11}%
 \usepackage{makeidx}
 \usepackage{alltt}
 \usepackage{longtable}
@@ -117,8 +115,11 @@
 % to ease maintainability}
 % \changes{v4.1}{2021/08/03}{\@ Adapted coursetext again to
 % universitas agreement + added bleed version for phd texts + small bugfixes}
+% \changes{v4.2}{2021/10/04}{\@ Added in-style bamathesis class}
+% \changes{v4.3}{2021/11/11}{\@ Small bufixes and corrections to
+% optional fields of letter class}
 %
-% \DoNotIndex{\newcommand,\newenvironment,\begin,\bfseries,\draw,\clip,\else,\fi,\if,\fill,\filldraw,\ifthenelse,\ifx,\textwidth,\node,\\,\@empty,\@emptymacro,\@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,}
+% \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}
 % \addtolength{\parskip}{0.5\baselineskip}
 %
@@ -576,6 +577,9 @@
 %   issued. However, if you care about the typographic readability of
 %   your text, you shouldn't use this option.
 %
+%   \DescribeMacro{nofoldline} [letter]\\
+%   This option suppresses the fold line on a letter.
+%
 % Common sets of options depend on the purpose:
 % \begin{itemize}
 % \item to make a text ready for electronic distribution:
@@ -799,6 +803,8 @@
 % \item first argument: user name
 % \item second argument: domain name
 % \end{itemize}
+% You can specify multiple email addresses by using the command
+% multiple times.
 %
 % \DescribeMacro{\enclosed} [letter] (optional)\\
 % List of enclosed documents. Format at will.
@@ -806,6 +812,8 @@
 % \DescribeMacro{\fax} [letter] (optional)\\
 % Probably facsimile is not used anymore, but anyway: fax number of
 % the sending person. See also |\email|.
+% You can specify multiple fax addresses by using the command
+% multiple times.
 %
 % \DescribeMacro{\logo} [letter] (optional)\\
 % file name of an alternative logo to use. The file name must be the
@@ -816,12 +824,16 @@
 %
 % \DescribeMacro{\mobile} [letter] (optional)\\
 % Mobile phone number of the sending person. See also |\email|.
+% You can specify multiple mobile phone numbers by using the command
+% multiple times.
 %
 % \DescribeMacro{\opening}  [letter] (mandatory) \\
 % Opening address of the letter. E.g. 'Dear X,'.
 %
 % \DescribeMacro{\phone} [letter] (optional)\\
 % Phone number of the sending person. See also |\email|.
+% You can specify multiple phone numbers by using the command
+% multiple times.
 %
 % \DescribeMacro{\returnaddress} [letter] (mandatory)\\
 % This is a short return address (listed in small font on top of the
@@ -852,7 +864,7 @@
 % Name of the addressee. Newlines are allowed. 
 % Preferably name and role are split over two lines.
 %
-% \DescribeMacro{\toaddress} [letter] (mandatory)\\
+% \DescribeMacro{\toaddress} [letter] (optional)\\
 % Address of the addressee. Newlines are allowed. The address should
 % fit on max. 3 lines.
 %
@@ -1465,6 +1477,8 @@
 %<*le-example> 
 \documentclass[ti,a4paper]{uantwerpenletter}
 
+%% You can suppress the foldline, using the nofoldline option.
+%%
 %% As a good UAntwerpen citizen, you would use the calibri font.
 %% As this only works for XeLaTeX or LuaLaTeX, we chose to include
 %% cmbright in any other case.
@@ -1497,6 +1511,7 @@
   Mumford, DX 94305-2004\\
   USA}
 
+
 \date{January 3, 2016}
 \subject{Congratulations for online video lectures}
 
@@ -2126,6 +2141,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
 \newif\if@cameraready
 \DeclareOption{cameraready}{\@camerareadytrue}
 %</ct|pt>
+%<*le>
+\newif\if@nofoldline
+\DeclareOption{nofoldline}{\@nofoldlinetrue}
+%</le>
 %    \end{macrocode}
 %
 %
@@ -2202,8 +2221,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
 % Let's make things a bit easier for me.
 %    \begin{macrocode}
 %<*ct|bmt|pt|rp|le|ex>      
-%\RequirePackage{expl3}
-\RequirePackage[check-declarations]{expl3} % I use this during debug phase
+\RequirePackage{expl3}
+%\RequirePackage[check-declarations]{expl3} % I use this during debug phase
 \RequirePackage{xparse}
 %</ct|bmt|pt|rp|le|ex>
 %    \end{macrocode}
@@ -2243,7 +2262,6 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
 \RequirePackage{etoolbox}
 \RequirePackage{ifthen}
 \IfFileExists{shellesc.sty}{\RequirePackage{shellesc}}{}
-\newcommand{\@emptymacro}{}
 %</ct|bmt|pt|rp|le|ex> 
 %    \end{macrocode}
 % 
@@ -2469,6 +2487,7 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
 %    \end{macrocode}
 %
 % 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
@@ -2521,8 +2540,10 @@ pthesisnamei      = Thesis submitted in fulfilment of the requirements for the d
 pthesisnameii     = at 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
@@ -2533,7 +2554,7 @@ 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-iob           = Instituut voor Ontwikkelingsbeleid- en beheer
 org-ua            = Universiteit Antwerpen
 arr               = Alle rechten voorbehouden
 of                = van
@@ -2575,6 +2596,7 @@ pthesisnamei      = Proefschrift voorgelegd tot het behalen van de graad van
 pthesisnameii     = aan de Universiteit Antwerpen te verdedigen door
 weightname        = Gewicht
 %</nldata>
+%    \end{macrocode}
 %
 %
 % \subsection{Bachelor and Master document types}
@@ -2591,14 +2613,14 @@ en-pr = Project report
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-%<*bmt>
+%<*bmt|ct|pt|ex>
 \ExplSyntaxOn
 \cs_generate_variant:Nn \prop_item:Nn{ Nx }
 \NewDocumentCommand{\uantwerpendocsdoctype}{m}{
   \prop_item:Nx \g_@@_data_prop { #1 }
 }
 \ExplSyntaxOff
-%</bmt> 
+%</bmt|ct|pt|ex> 
 %    \end{macrocode}
 %
 % \subsection{Bachelor and Master disclaimers}
@@ -2706,14 +2728,13 @@ we-nl-ma-wiftw	=	Master of Science in wiskunde: financiële en toegepaste wiskun
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-%<*bmt>
+%<*bmt|ct|pt|ex>
 \ExplSyntaxOn
 \NewDocumentCommand{\uantwerpendocsdegree}{m}{
-  \typeout{#1}
   \prop_item:Nx \g_@@_data_prop { #1 }
 }
 \ExplSyntaxOff
-%</bmt> 
+%</bmt|ct|pt|ex> 
 %    \end{macrocode}
 %
 %
@@ -3365,49 +3386,121 @@ we-nl-ma-wiftw	=	Master of Science in wiskunde: financiële en toegepaste wiskun
 % \end{macro}
 %
 % \begin{macro}{\email}
-%   This macro sets the |\@emailuser| and |\@emaildomain| tags that
-%   will be used in the letter's heading text. This split construction
-%   was used to overcome problems with the |@| sign.
+%   This macro allows for the registration of contact email addresses
+%   for a letter. This can be done by invoking the macro as many times
+%   as needed (as of v4.2)
+%
 %    \begin{macrocode}
 %<*le>
-\newcommand*{\@emailuser}{}
-\newcommand*{\@emaildomain}{}
-\newcommand*{\email}[2]{\renewcommand*{\@emailuser}{#1}\renewcommand*{\@emaildomain}{#2}}
-%</le>
+\ExplSyntaxOn
+\seq_new:N \g_@@_emailaddresses
+\cs_new:Nn \@@_addemailaddress:nn {
+  \seq_gpush:Nn \g_@@_emailaddresses {#1\tat{}#2}
+}
+\NewDocumentCommand{\email}{mm}{
+  \@@_addemailaddress:nn { #1 } { #2 }
+}
+\NewDocumentCommand{\jointemails}{m}{
+  \seq_use:Nn \g_@@_emailaddresses { #1 }
+}
+\NewDocumentCommand{\ifemails}{m}{
+  \seq_if_empty:NTF \g_@@_emailaddresses {} {#1}
+}
+\AtBeginDocument{
+  \seq_greverse:N \g_@@_emailaddresses
+}
+\ExplSyntaxOff
+%</le> 
 %    \end{macrocode}
 % \end{macro}
 %
+%
 % \begin{macro}{\phone}
-%   This macro sets the |\@phone| tag that will be used in the letter's
-%   heading text.
+%   This macro allows for the registration of contact phone numbers
+%   for a letter. This can be done by invoking the macro as many times
+%   as needed (as of v4.2)
+%
 %    \begin{macrocode}
 %<*le>
-\newcommand*{\@phone}{}
-\newcommand*{\phone}[1]{\renewcommand*{\@phone}{#1}}
-%</le>
+\ExplSyntaxOn
+\seq_new:N \g_@@_phonenumbers
+\cs_new:Nn \@@_addphonenumber:n {
+  \seq_gpush:Nn \g_@@_phonenumbers {#1}
+}
+\NewDocumentCommand{\phone}{m}{
+  \@@_addphonenumber:n { #1 }
+}
+\NewDocumentCommand{\jointphones}{m}{
+  \seq_use:Nn \g_@@_phonenumbers { #1 }
+}
+\NewDocumentCommand{\ifphones}{m}{
+  \seq_if_empty:NTF \g_@@_phonenumbers {} {#1}
+}
+\AtBeginDocument{
+  \seq_greverse:N \g_@@_phonenumbers
+}
+\ExplSyntaxOff
+%</le> 
 %    \end{macrocode}
 % \end{macro}
 %
+%
 % \begin{macro}{\fax}
-%   This macro sets the |\@fax| tag that will be used in the letter's
-%   heading text.
+%   This macro allows for the registration of contact fax numbers
+%   for a letter. This can be done by invoking the macro as many times
+%   as needed (as of v4.2)
+%
 %    \begin{macrocode}
 %<*le>
-\newcommand*{\@fax}{}
-\newcommand*{\fax}[1]{\renewcommand*{\@fax}{#1}}
-%</le>
+\ExplSyntaxOn
+\seq_new:N \g_@@_faxnumbers
+\cs_new:Nn \@@_addfaxnumber:n {
+  \seq_gpush:Nn \g_@@_faxnumbers {#1}
+}
+\NewDocumentCommand{\fax}{m}{
+  \@@_addfaxnumber:n { #1 }
+}
+\NewDocumentCommand{\jointfaxes}{m}{
+  \seq_use:Nn \g_@@_faxnumbers { #1 }
+}
+\NewDocumentCommand{\iffaxes}{m}{
+  \seq_if_empty:NTF \g_@@_faxnumbers {} {#1}
+}
+\AtBeginDocument{
+  \seq_greverse:N \g_@@_faxnumbers
+}
+\ExplSyntaxOff
+%</le> 
 %    \end{macrocode}
 % \end{macro}
 %
 %
 % \begin{macro}{\mobile}
-%   This macro sets the |\@mobile| tag that will be used in the letter's
-%   heading text.
+%   This macro allows for the registration of contact mobile numbers
+%   for a letter. This can be done by invoking the macro as many times
+%   as needed (as of v4.2)
+%
 %    \begin{macrocode}
 %<*le>
-\newcommand*{\@mobile}{}
-\newcommand*{\mobile}[1]{\renewcommand*{\@mobile}{#1}}
-%</le>
+\ExplSyntaxOn
+\seq_new:N \g_@@_mobilenumbers
+\cs_new:Nn \@@_addmobilenumber:n {
+  \seq_gpush:Nn \g_@@_mobilenumbers {#1}
+}
+\NewDocumentCommand{\mobile}{m}{
+  \@@_addmobilenumber:n { #1 }
+}
+\NewDocumentCommand{\jointmobiles}{m}{
+  \seq_use:Nn \g_@@_mobilenumbers { #1 }
+}
+\NewDocumentCommand{\ifmobiles}{m}{
+  \seq_if_empty:NTF \g_@@_mobilenumbers {} {#1}
+}
+\AtBeginDocument{
+  \seq_greverse:N \g_@@_mobilenumbers
+}
+\ExplSyntaxOff
+%</le> 
 %    \end{macrocode}
 % \end{macro}
 %
@@ -3441,8 +3534,7 @@ we-nl-ma-wiftw	=	Master of Science in wiskunde: financiële en toegepaste wiskun
 %   the letter's heading text (in the area of the envelope's window).
 %    \begin{macrocode}
 %<*le>
-\newcommand*{\@toorganization}{<Specify organization using
-  \textbackslash{}toorganization\{\}>}
+\newcommand*{\@toorganization}{}
 \newcommand*{\toorganization}[1]{\renewcommand*{\@toorganization}{#1}}
 %</le>
 %    \end{macrocode}
@@ -3453,8 +3545,7 @@ we-nl-ma-wiftw	=	Master of Science in wiskunde: financiële en toegepaste wiskun
 %   the letter's heading text (in the area of the envelope's window).
 %    \begin{macrocode}
 %<*le>
-\newcommand*{\@toaddress}{<Specify (multiline) destination
-  address\\using \textbackslash{}toaddress\{\}>}
+\newcommand*{\@toaddress}{}
 \newcommand*{\toaddress}[1]{\renewcommand*{\@toaddress}{#1}}
 %</le>
 %    \end{macrocode}
@@ -4617,33 +4708,40 @@ we-nl-ma-wiftw	=	Master of Science in wiskunde: financiële en toegepaste wiskun
 \newcommand\maketitle{%
   \pagestyle{fancy}
   \thispagestyle{empty}
-  \begin{tikzpicture}[overlay,remember picture]
-    \path (current page.north west) +(1.8cm,-1.2cm) 
-    node[anchor=north west] {
-      \includegraphics[height=1.1cm]{\@logo} 
-    };
-    \draw (current page.north west)
-    +(1cm,-98mm) -- +(1.5cm,-98mm);
-    % 90 x 45
-    % pos: 20mm van kant, 15mm van onderkant
-    \path (current page.north east) +(-100mm,-65mm) 
-    node[anchor=west,text width=80mm,align=left] {
-      \scriptsize\textcolor{gray}{\uline{\@returnaddress}}\\*
-      \normalsize\@to\\*
-      \@toorganization\\*
-      \@toaddress
-    };
-  \end{tikzpicture}
+  \AddToShipoutPicture*{%
+    \put(0,0){%
+      \begin{tikzpicture}[inner sep=0pt,outer sep=0pt]
+        \clip (0,0) rectangle(\paperwidth,\paperheight);
+        \path (current page.north west) +(1.8cm,-1.2cm) 
+        node[anchor=north west] {
+          \includegraphics[height=1.1cm]{\@logo} 
+        };
+        \if@nofoldline\else
+        \draw (current page.north west)
+        +(1cm,-98mm) -- +(1.5cm,-98mm);
+        \fi
+        % 90 x 45
+        % pos: 20mm van kant, 15mm van onderkant
+        \path (current page.north east) +(-100mm,-65mm) 
+        node[anchor=west,text width=80mm,align=left] {
+          \scriptsize\textcolor{gray}{\uline{\@returnaddress}}\\*
+          \normalsize\@to\\*
+          \ifx\@toorganization\@empty\else\@toorganization\\*\fi%
+          \@toaddress
+        };
+      \end{tikzpicture}
+    }
+  }
   ~\\[3ex]
   \textcolor{uauaside}{\textbf{\@sender}}
-  \ifx\@senderrole\@emptymacro\\[1.75ex]\else \\*\@senderrole\\[1.75ex]\fi
+  \ifx\@senderrole\@empty\\[1.75ex]\else \\*\@senderrole\\[1.75ex]\fi
   \@faculty
-  \ifx\@unit\@emptymacro\else\\* \@unit\fi~\\[1.75ex]
+  \ifx\@unit\@empty\else\\* \@unit\fi~\\[1.75ex]
   \@address\\[1.75ex]
-  \ifx\@email\@emptymacro\else E \@emailuser\tat{}\@emaildomain\\\fi
-  \ifx\@phone\@emptymacro\else T \@phone\\\fi
-  \ifx\@fax\@emptymacro\else F \@fax\\\fi
-  \ifx\@mobile\@emptymacro\else M \@mobile\\\fi
+  \ifemails{E~\jointemails{\\\phantom{E~}}\\}
+  \ifphones{T~\jointphones{\\\phantom{T~}}\\}
+  \iffaxes{F~\jointfaxes{\\\phantom{F~}}\\}
+  \ifmobiles{M~\jointmobiles{\\\phantom{M~}}\\}
   ~\\[4ex]
   \begin{tikzpicture}[anchor=north west,align=left,outer sep=0,inner sep=0]
     \path
@@ -4666,10 +4764,10 @@ we-nl-ma-wiftw	=	Master of Science in wiskunde: financiële en toegepaste wiskun
 \AtEndDocument{
   \@closing\\*[3ex]\@signature~\\[3ex]
   \@sender
-  \ifx\@senderrole\@emptymacro\\[8ex]\else\\*\@senderrole\\[8ex]\fi
+  \ifx\@senderrole\@empty\\[8ex]\else\\*\@senderrole\\[8ex]\fi
   \setlength{\parskip}{0em}
-  \ifx\@carboncopy\@emptymacro\else CC: \@carboncopy\\[4ex]\fi
-  \ifx\@enclosed\@emptymacro\else ENCL: \@enclosed\fi
+  \ifx\@carboncopy\@empty\else CC: \@carboncopy\\[4ex]\fi
+  \ifx\@enclosed\@empty\else ENCL: \@enclosed\fi
   \label{lastpage}
 }
 %</le> 
@@ -4703,7 +4801,7 @@ we-nl-ma-wiftw	=	Master of Science in wiskunde: financiële en toegepaste wiskun
           \fontfamily{phv}\fontsize{18}{22}\fontseries{b}%
           \fontshape{n}\selectfont%
           \@course{}
-          \ifx\@exampart\@emptymacro
+          \ifx\@exampart\@empty
           \else --- \@exampart\fi
         };
         \node
-- 
cgit v1.2.3

