From 5a4a14d69dd71bcfbdb513984e35464f000a8c53 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Wed, 18 Mar 2020 21:18:01 +0000
Subject: gzt (18mar20)

git-svn-id: svn://tug.org/texlive/trunk@54390 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/gzt/gztarticle.cls | 280 +++++++++++++++++++++----
 1 file changed, 242 insertions(+), 38 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/gzt/gztarticle.cls')

diff --git a/Master/texmf-dist/tex/latex/gzt/gztarticle.cls b/Master/texmf-dist/tex/latex/gzt/gztarticle.cls
index c8e9406b1a3..9ddb63cade8 100644
--- a/Master/texmf-dist/tex/latex/gzt/gztarticle.cls
+++ b/Master/texmf-dist/tex/latex/gzt/gztarticle.cls
@@ -7,7 +7,7 @@
 %% gzt.dtx  (with options: `class-article')
 %% -----------------------------------------------------------------------------
 %% gzt --- SMF bundle of classes for the French journal "La Gazette des
-%%         Math'ematiciens", version 0.98
+%%         Math'ematiciens", version 1.0.0
 %% 
 %% E-mail: denis.bitouze@univ-littoral.fr
 %% Released under the LaTeX Project Public License v1.3c or later
@@ -61,8 +61,8 @@
 \ExplSyntaxOn
 \ProvidesExplClass
   {gztarticle}
-  {2018/04/07}
-  {0.98}
+  {2020-03-17}
+  {1.0.0}
   {
     SMF~class~for~the~French~journal^^J
     "La~Gazette~des~Math'ematiciens".
@@ -222,7 +222,7 @@
 \AtEndPreamble{
   \tl_const:Nn \c__gzt_frontcover_header_string_tl {
     \bool_if:NT {\g__gzt_special_edition_bool} {
-      \tl_upper_case:n {\c__gzt_long_special_edition_string_tl}
+      \text_uppercase:n {\c__gzt_long_special_edition_string_tl}
       \medskip
       \par
       \normalsize
@@ -324,11 +324,21 @@
 \tl_const:Nn \c__gzt_Cad_string_tl {C'est-\`a-dire}
 \tl_const:Nn \c__gzt_footer_string_tl {
   \c__gzt_footer_size_font_tl
-  \textcolor{__gzt_smf_number_color}{\MakeTextUppercase{\c__gzt_smf_short_string_tl}}
+  \textcolor{__gzt_smf_number_color}{\text_uppercase:n {\c__gzt_smf_short_string_tl}}
   \c_space_tl
   \textcolor{__gzt_date_color}{
     \textendash{}\c_space_tl
-    \MakeTextUppercase{\c__gzt_journal_short_title_string_tl}
+    \text_uppercase:n {\c__gzt_journal_short_title_string_tl}
+    \bool_if:nF { \g__gzt_inside_frontcover_bool || \g__gzt_backmatter_bool || {\int_compare_p:nNn {\g__gzt_issue_number_int}={0}} }
+    {
+      \c_space_tl\textendash{}\c_space_tl
+      \l__gzt_uppercased_date_format\displaydate{__gzt_date}
+      \bool_if:NF {\g__gzt_special_edition_bool} {
+        \c_space_tl
+        \textendash{}\c_space_tl
+        \textcolor{__gzt_smf_number_color}{\No\int_use:N\g__gzt_issue_number_int}
+      }
+    }
   }
 }
   \file_if_exist:nTF { logo_SMF.pdf }{%
@@ -348,10 +358,14 @@
 \tl_const:Nn \c__gzt_aside_string_tl {--}
 \tl_const:Nn \c__gzt_draftwatermark_string_tl {draft}
 \tl_const:Nn \c__gzt_compiled_string_tl {
-  \IfLanguageName{french}{
-    Compil\'e~le~
-  }{
-    Compiled~on~
+  \int_compare:nNnT {\g__gzt_issue_number_int}={0} {
+    \c__gzt_footer_size_font_tl
+    \IfLanguageName{french}{
+      Compil\'e~le~
+    }{
+      Compiled~on~
+    }
+    \today
   }
 }
 \bool_new:N \g__gzt_frontcover_bool
@@ -546,16 +560,16 @@
 \dim_set:Nn \l__gzt_thumbnail_width_dim {30mm}
 \dim_new:N \g__gzt_abstract_box_width_dim
 \dim_new:N \c__gzt_original_parindent_dim
-\dim_set_eq:NN \c__gzt_original_parindent_dim \parindent
+\dim_gset_eq:NN \c__gzt_original_parindent_dim \parindent
 \dim_new:N \l__gzt_between_rubric_head_text_and_abstract_dim
 \dim_new:N \g__gzt_minitoc_circle_diameter_dim
 \dim_new:N \g__gzt_minitoc_textwidth_dim
 \dim_new:N \g__gzt_minitoc_xshift_dim
 \dim_new:N \g__gzt_minitoc_yshift_dim
-\dim_set:Nn \g__gzt_minitoc_circle_diameter_dim {142mm}
-\dim_set:Nn \g__gzt_minitoc_textwidth_dim {65mm}
-\dim_set:Nn \g__gzt_minitoc_xshift_dim {-22mm}
-\dim_set:Nn \g__gzt_minitoc_yshift_dim {30mm}
+\dim_gset:Nn \g__gzt_minitoc_circle_diameter_dim {142mm}
+\dim_gset:Nn \g__gzt_minitoc_textwidth_dim {65mm}
+\dim_gset:Nn \g__gzt_minitoc_xshift_dim {-22mm}
+\dim_gset:Nn \g__gzt_minitoc_yshift_dim {30mm}
 \dim_const:Nn \c__gzt_minitoc_from_circle_xshift_dim {-15mm}
 \dim_const:Nn \c__gzt_minitoc_from_circle_yshift_dim {-\c__gzt_minitoc_from_circle_xshift_dim}
 \dim_const:Nn \c__gzt_footer_height_font_dim {3mm}
@@ -1042,9 +1056,12 @@
       }
       \tl_if_in:NnF \l__gzt_people_speciality { NoValue } { ~(\l__gzt_people_speciality) }
       ]
-      \l__gzt_people_affiliation_tl%
-      \newline%
-      \href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}%
+      \leavevmode
+      \vbox_top:n {%
+        \l__gzt_people_affiliation_tl%
+        \newline%
+        \href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}%
+      }
       \DTLiflastrow{%
       }{%
         \medskip%
@@ -1179,7 +1196,7 @@
             \g__gzt_special_edition_title_tl
           }
         }{
-          \MakeUppercase {\c__gzt_journal_title_string_tl}
+          \text_uppercase:n {\c__gzt_journal_title_string_tl}
         }
       };
       \node[name=__gzt_binding_nw,inner~sep=\c_zero_dim,fill=\g__gzt_special_edition_color_tl,rotate=90,anchor=east] at
@@ -1215,19 +1232,19 @@
     \begin{multicols}{2}
       \setlength{\columnsep}{1mm}
       \bool_if:NTF {\g__gzt_special_edition_bool} {
-        \begin{description}[leftmargin=1em,style=nextline]
+        \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim]
           \__gzt_display_people_by_role:n {editor}
         \end{description}
       }{%
         \begin{description}[leftmargin=1em]
         \item[\c__gzt_editors_in_chief_string_tl] \
-          \begin{description}[leftmargin=1em,style=nextline]
+          \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim]
             \__gzt_display_people_by_role:n {editorinchief}
           \end{description}
           \bigskip
           \par
         \item[\c__gzt_editors_string_tl] \
-          \begin{description}[leftmargin=1em,style=nextline]
+          \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim]
             \__gzt_display_people_by_role:n {editor}
           \end{description}
         \end{description}
@@ -1484,6 +1501,36 @@
 \NewDocumentCommand \academicsignature { m } {
   \__gzt_display_academic_signature:n {#1}
 }
+\cs_new_protected:Nn \__gzt_uppercased_monthname_french:n
+{
+  \@orgargctr=#1\relax
+  \ifcase\@orgargctr
+  \PackageError{datetime}{Invalid~month~number~\the\@orgargctr}{%
+    Month~numbers~should~go~from~1~(janvier)~to~12~(decembre)}%
+  \or JANVIER%
+  \or F\'EVRIER%
+  \or MARS%
+  \or AVRIL%
+  \or MAI%
+  \or JUIN%
+  \or JUILLET%
+  \or AO\^UT%
+  \or SEPTEMBRE%
+  \or OCTOBRE%
+  \or NOVEMBRE%
+  \or D\'ECEMBRE%
+  \else
+  \PackageError{datetime}{Invalid~month~number~\the\@orgargctr}{%
+    Month~numbers~should~go~from~1~(janvier)~to~12~(decembre)}%
+  \fi
+}
+\newdate{__gzt_date}
+  {1}
+  {\int_use:N \g__gzt_issue_month_int}
+  {\int_use:N \g__gzt_issue_year_int}
+\newdateformat{l__gzt_uppercased_date_format}{
+  \__gzt_uppercased_monthname_french:n {\THEMONTH}~\THEYEAR
+}
 \AtBeginDocument{%
 \tl_new:N \g__gzt_bib_issue_date_tl
 \tl_gset:Nn \g__gzt_bib_issue_date_tl {
@@ -1596,7 +1643,7 @@
 \tl_new:N \g__gzt_citeinterviewee_tl%
 \tl_new:N \g__gzt_blx_given_first_inits_tl%
 \@ifpackagelater{biblatex}{2016/01/01}{%
-  \tl_set:Nn \g__gzt_blx_given_first_inits_false_tl
+  \tl_gset:Nn \g__gzt_blx_given_first_inits_false_tl
   {%
     \togglefalse{abx@bool@giveninits}%
   }
@@ -1919,6 +1966,163 @@
 \file_if_exist:nT { \c__gzt_acronyms_file_string_tl } {%
   \AtEndPreamble{\loadglsentries{\c__gzt_acronyms_file_string_tl}}
 }
+\tl_new:N \g__gzt_boxed_issue_number_tl%
+\tl_gset:Nn \g__gzt_boxed_issue_number_tl {%
+  \tcbox{\Large\No\g__gzt_issue_number_int}
+}
+\cs_new_protected:Nn \__gzt_boxed_issue_number:nn
+{
+  \noindent%
+  \raisebox{\baselineskip}{%
+    \tl_if_empty:nF {#1} {%
+      \makebox[\c_zero_dim][r]{%
+      % \hspace*{\l__gzt_thumbnail_width_dim}%
+        \begin{adjustbox}{valign=t}
+          \includegraphics[width=\l__gzt_thumbnail_width_dim]{#1}%
+        \end{adjustbox}%
+      }%
+    }%
+    \bool_if:NTF {\g__gzt_special_edition_bool} {
+      \tl_set:Nn \l_tmpa_tl {\c__gzt_short_special_edition_string_tl}
+    }{
+      \tl_set:Nn \l_tmpa_tl {\No\int_use:N\g__gzt_issue_number_int}
+    }
+    \begin{adjustbox}{valign=t}
+      \begin{tcolorbox}[%
+        enhanced,%
+        title=\l_tmpa_tl,%\int_use:N \g__gzt_issue_number_int,%
+        fonttitle=\Large,%
+        colback=white,%
+        sharp~corners=all,%
+        height=33mm,%
+        boxrule=\c_zero_dim,%
+        % frame~hidden,%
+        attach~boxed~title~to~top~left,%
+        tikznode~boxed~title={minimum~width=\c__gzt_boxed_issue_number_width_dim},%
+        boxed~title~style={%
+          size=minimal,%
+          height=\c__gzt_boxed_issue_number_height_dim,%
+          center~upper,%
+          before={},%
+          colback=__gzt_boxed_issue_number_bg_color,%
+          sharp~corners=all,%
+          frame~hidden,%
+          valign=center,%
+        }%
+        ]
+        \__gzt_reflected_text:n { #2 }%
+      \end{tcolorbox}
+    \end{adjustbox}%
+  }%
+  \par%
+}
+\cs_new_protected:Nn \__gzt_before_frontmatter_stuff:
+{
+  \bool_gset_true:N \g__gzt_frontmatter_bool%
+  \pagestyle{__gzt_frontmatter_ps}%
+  \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_front_matter_geometry_tl}%
+}
+\cs_new_protected:Nn \__gzt_after_frontmatter_stuff:
+{
+  \color{__gzt_default_text_color}
+  \normalsize%
+  \clearpage%
+  \bool_gset_false:N \g__gzt_frontmatter_bool%
+}
+\cs_new_protected:Nn \__gzt_before_editorial_presidentmessage:nn
+{
+  \__gzt_before_frontmatter_stuff: {}
+  \__gzt_boxed_issue_number:nn {#1}{#2}
+  \color{__gzt_frontmatter_text_color}%
+  \fontsize{11}{13.6}\selectfont
+  \RaggedRight
+}
+\cs_new_protected:Nn \__gzt_after_editorial_presidentmessage:
+{
+  \justifying
+  \bigskip
+  \par
+}
+\cs_new_protected:Nn \__gzt_before_display_editorial:n
+{
+  \__gzt_before_editorial_presidentmessage:nn {}{#1}
+}
+\cs_new_protected:Nn \__gzt_after_display_editorial:
+{
+  \__gzt_after_editorial_presidentmessage: {}
+  \hspace*{\fill}%
+  \bool_if:NTF {\g__gzt_special_edition_bool} {
+    \AtNextCitekey{\defcounter{maxnames}{100}}
+    \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -editorinchief- 1}
+  }{
+    \DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{editorinchief}]{people}{%
+      \l__gzt_firstlastname=first-last-name%
+      ,\l__gzt_people_role_tl=role%
+    }{%
+      \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -editorinchief- \exp_not:V\DTLcurrentindex}%
+    }
+  }
+  %
+  \__gzt_after_frontmatter_stuff: {}
+}
+\cs_new_protected:Nn \__gzt_display_editorial:n
+{
+  \__gzt_before_display_editorial:n {#1}
+  \file_if_exist_input:nF {\c__gzt_editorial_file_string_tl}
+  {%
+    \msg_error:nn { gzt } { editorial-file-missing }
+  }
+  \__gzt_after_display_editorial: {}
+}
+\AtEndPreamble{%
+  \tl_set_eq:NN \g__gzt_editorial_heading_tl \c__gzt_editorial_heading_string_tl
+  \bool_if:NT {\g__gzt_special_edition_bool} {
+    \tl_if_empty:NF \g__gzt_special_edition_editorial_heading_tl {%
+      \tl_set_eq:NN \g__gzt_editorial_heading_tl \g__gzt_special_edition_editorial_heading_tl
+    }
+  }
+  \NewDocumentCommand \editorial { O{\g__gzt_editorial_heading_tl} }
+  {
+    \bool_if:NF {\g__gzt_for_authors_bool} {
+      \__gzt_display_editorial:n {#1}
+    }
+  }
+}
+\cs_new_protected:Nn \__gzt_before_display_presidentmessage:
+{
+  \__gzt_before_editorial_presidentmessage:nn {\c__gzt_smf_logo_file_string_tl}{\c__gzt_president_message_string_tl}
+  \phantomsection
+  \par%
+  \addcontentsline{toc}{part}{\g__gzt_smf_short_string_tl}%
+  \addcontentsline{toc}{chapter}{\c__gzt_president_message_string_tl}%
+}
+\cs_new_protected:Nn \__gzt_after_display_presidentmessage:
+{
+  \__gzt_after_editorial_presidentmessage: {}
+  %
+  \hspace*{\fill}%
+  \c__gzt_president_message_date_string_tl%
+  \displaydate{__gzt_president_message_date}%
+  \\[1.5mm]
+  \hspace*{\fill}%
+  \__gzt_display_people_by_role:n { president }%
+  ,\c_space_tl
+  \c__gzt_president_signatory_string_tl
+  %
+  \__gzt_after_frontmatter_stuff: {}
+}
+\cs_new_protected:Nn \__gzt_display_president_message:
+{
+  \__gzt_before_display_presidentmessage: {}
+  \file_input:n {\c__gzt_president_message_file_string_tl}
+  \__gzt_after_display_presidentmessage: {}
+}
+\NewDocumentCommand \presidentmessage {}
+{
+  \bool_if:NF {\g__gzt_for_authors_bool} {
+    \__gzt_display_president_message: {}
+  }
+}
 \titleformat{\chapter}%
 [block]
 {\Huge\bfseries}
@@ -2082,16 +2286,16 @@
   \setfoot%
   [\c__gzt_footer_size_font_tl\thepage]%
   [%
-    \uppercase{\c__gzt_footer_string_tl}
+    \c__gzt_footer_string_tl
   ]%
   [
-  \c__gzt_footer_size_font_tl \c__gzt_compiled_string_tl\today
+\c__gzt_compiled_string_tl
   ]%
   {
-    \c__gzt_footer_size_font_tl \c__gzt_compiled_string_tl\today
+\c__gzt_compiled_string_tl
   }%
   {%
-    \uppercase{\c__gzt_footer_string_tl}%
+    \c__gzt_footer_string_tl%
   }%
   {\c__gzt_footer_size_font_tl\thepage}%
 }%
@@ -2130,24 +2334,24 @@
     \setfoot%
     [\c__gzt_footer_size_font_tl\thepage]%
     [%
-    \uppercase{\c__gzt_footer_string_tl}
+    \c__gzt_footer_string_tl
     ]%
-    [\c__gzt_footer_size_font_tl \c__gzt_compiled_string_tl\today]%
-    {\c__gzt_footer_size_font_tl \c__gzt_compiled_string_tl\today}%
+    [\c__gzt_compiled_string_tl]%
+    {\c__gzt_compiled_string_tl}%
     {%
-      \uppercase{\c__gzt_footer_string_tl}%
+      \c__gzt_footer_string_tl%
     }%
     {\c__gzt_footer_size_font_tl\thepage}%
   }{
     \setfoot%
     [\c__gzt_footer_size_font_tl\thepage]%
     [%
-    \uppercase{\c__gzt_footer_string_tl}
+    \c__gzt_footer_string_tl
     ]%
     []%
     {}%
     {%
-      \uppercase{\c__gzt_footer_string_tl}%
+      \c__gzt_footer_string_tl%
     }%
     {\c__gzt_footer_size_font_tl\thepage}%
   }
@@ -2566,7 +2770,7 @@
 {
   editorial .code:n = {%
     \AtBeginDocument{%
-      \__gzt_before_display_editorial: {}%
+      \__gzt_before_display_editorial:n {}%
     }
     \AtEndDocument{%
       \__gzt_after_display_editorial: {}%
@@ -2656,7 +2860,7 @@
 \@ifpackageloaded{draftwatermark}{%
   \SetWatermarkColor{gray!10}%
   \SetWatermarkFontSize{30mm}%
-  \SetWatermarkText{\MakeUppercase{\c__gzt_draftwatermark_string_tl}}%
+  \SetWatermarkText{\text_uppercase:n{\c__gzt_draftwatermark_string_tl}}%
 }{%
 }
 \tikzset{
@@ -2880,7 +3084,7 @@
   \tl_clear:N \l__gzt_newtheorem_frenchtitle_tl
   \tl_clear:N \l__gzt_newtheorem_englishtitle_tl
   \tl_set:Nn \l__gzt_newtheorem_englishtitle_tl {
-    \MakeUppercase #2
+    \text_uppercase:n {#2}
   }
   \tl_set:Nf \l__gzt_newtheorem_frenchtitle_tl {
     \l__gzt_newtheorem_englishtitle_tl
@@ -3008,11 +3212,11 @@
 \ExplSyntaxOff
 %% ----------------------------------------------------------------------------
 %% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%   http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
 %% 
 %% This work has the LPPL maintenance status `maintained'.
-- 
cgit v1.2.3

