From 92050bb2f09a3bcba62fa0ee5b1604874cbf1600 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 17 Feb 2021 03:01:13 +0000 Subject: CTAN sync 202102170301 --- macros/latex/contrib/gzt/source/gzt.dtx | 504 +++++++++++++++++++------------- 1 file changed, 301 insertions(+), 203 deletions(-) (limited to 'macros/latex/contrib/gzt/source') diff --git a/macros/latex/contrib/gzt/source/gzt.dtx b/macros/latex/contrib/gzt/source/gzt.dtx index d2513ec9fe..e490957478 100644 --- a/macros/latex/contrib/gzt/source/gzt.dtx +++ b/macros/latex/contrib/gzt/source/gzt.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% File: gzt.dtx Copyright (C) 2014-2020 by +% File: gzt.dtx Copyright (C) 2014-2021 by % Denis Bitouz'e % % It may be distributed and/or modified under the conditions of the @@ -39,21 +39,24 @@ Gazette des Mathématiciens”](https://smf.emath.fr/les-publications/la-gazette \expandafter\begingroup \fi % +%<*class|class-article|install> +\def\gztfileversion{1.0.1} +\def\gztfiledate{2021-02-14} +% %<*install> \input l3docstrip.tex % \input docstrip.tex -\Msg{********************************************************} +\Msg{**************************************************************} \Msg{* Installation} -\Msg{* Class: gzt 2020-03-17 v1.0.0} -\Msg{* for the French journal} -\Msg{* "La Gazette des Math'ematiciens" (DB)} -\Msg{********************************************************} +\Msg{* Class: gzt \gztfiledate\space v\gztfileversion} +\Msg{* for the French journal "La Gazette des Math'ematiciens" (DB)} +\Msg{**************************************************************} \keepsilent \askforoverwritefalse \preamble ----------------------------------------------------------------------------- gzt --- SMF bundle of classes for the French journal "La Gazette des - Math'ematiciens", version 1.0.0 + Math'ematiciens" E-mail: denis.bitouze@univ-littoral.fr Released under the LaTeX Project Public License v1.3c or later @@ -61,7 +64,7 @@ See http://www.latex-project.org/lppl.txt ----------------------------------------------------------------------------- \endpreamble \postamble -% Copyright (C) 2014-2020 by Denis Bitouz'e +% Copyright (C) 2014-2021 by Denis Bitouz'e ---------------------------------------------------------------------------- This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c @@ -115,6 +118,11 @@ This work consists of the file gzt.dtx \nopreamble\nopostamble \file{README.md}{\from{\jobname.dtx}{readme}} }% +\usedir{doc/latex/\GZT@classname} +\generate{ + \nopreamble\nopostamble + \file{CHANGELOG.md}{\from{\jobname.dtx}{changelog}} +}% \usedir{doc/latex/\GZT@classname/french} \generate{ \nopreamble\nopostamble @@ -141,6 +149,7 @@ This work consists of the file gzt.dtx % \changes{v0.98}{2018/04/07}{Seventh CTAN version. Implementation of special % editions.}% % \changes{v1.0.0}{2020-03-17}{Eighth CTAN version.}% +% \changes{v1.0.1}{2021-02-14}{Nineth CTAN version.}% % % \CheckSum{4413} % @@ -667,8 +676,8 @@ This work consists of the file gzt.dtx \ProvidesExplClass % {gzt} % {gztarticle} - {2020-03-17} - {1.0.0} + {\gztfiledate} + {\gztfileversion} { SMF~class~for~the~French~journal^^J "La~Gazette~des~Math'ematiciens". @@ -684,6 +693,7 @@ This work consists of the file gzt.dtx % \section{Class loading} % % \begin{macrocode} +\bool_new:N \g_@@_moral_report_bool \bool_new:N \g_@@_special_edition_bool \bool_new:N \g_@@_for_authors_bool \bool_new:N \g_@@_for_printer_bool @@ -696,6 +706,19 @@ This work consists of the file gzt.dtx %\bool_gset_true:N \g_@@_inside_pages_bool% % \end{macrocode} % +% We define some common code to the "moralreport" global option of "gzt" and +% "gztarticle". +% \begin{macrocode} +\tl_gset:Nn \g_@@_moral_report_common_option_tl {% + \AddToHook{begindocument/before} {% + \bool_gset_true:N \g_@@_moral_report_bool + \bool_gset_true:N \g_@@_frontcover_without_minitoc_bool + \title[short={\bfseries\c_@@_moralreport_rubric_string_tl}]{} + \tl_gset:Nn \g_@@_rubric_title_tl {\c_@@_moralreport_rubric_string_tl} + } +} +% \end{macrocode} +% % \begin{macrocode} % % \end{macrocode} @@ -780,9 +803,63 @@ This work consists of the file gzt.dtx specialedition / editorial~author .code:n = {% \_@@_people:nnnnnnnn {#1}{}{}{}{}{}{editorinchief}{} },% + moralreport .code:n = { + \g_@@_moral_report_common_option_tl + \AddToHook{begindocument/before} {% + \tl_gset:Nn \g_@@_pdftitle_string_tl {\c_@@_moralreport_rubric_string_tl} + } + }, +}% +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*class-article> +% \end{macrocode} +% +% \begin{macrocode} +\keys_define:nn { gztarticle } +{ + editorial .code:n = {% + \AddToHook{begindocument}{% + \_@@_before_display_editorial:n {}% + } + \AddToHook{enddocument}{% + \_@@_after_display_editorial: {}% + } + },% + presidentmessage .code:n = {% + \AddToHook{begindocument}{% + \_@@_before_display_presidentmessage: {}% + } + \AddToHook{enddocument}{% + \_@@_after_display_presidentmessage: {}% + } + },% + moralreport .code:n = { + \g_@@_moral_report_common_option_tl + \keys_set:nn { gztarticle / moralreport } {#1} + }, + moralreport / title .code:n = {% + \tl_gset:Nn \g_@@_moral_report_title_tl {#1} + },% + moralreport / short~title .code:n = {% + \tl_gset:Nn \g_@@_moral_report_short_title_tl {#1} + },% }% % \end{macrocode} % +% \begin{macrocode} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*class> +% \end{macrocode} +% % If we want to disable the inside backcover. % \begin{macrocode} % \bool_gset_true:N \g_@@_no_inside_backcover_bool @@ -1005,7 +1082,7 @@ This work consists of the file gzt.dtx % % \item Hooks to do actions on every page or on the current page: % \begin{macrocode} -\RequirePackage{everypage} +% \RequirePackage{everypage} % \end{macrocode} % % \item For translating words in \LaTeX{}. @@ -1370,7 +1447,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the editorial. % \begin{macrocode} -\AtEndPreamble{ +\AddToHook{begindocument/before}{ \bool_if:NTF {\g_@@_special_edition_bool} { \tl_const:Nn \c_@@_editorial_heading_string_tl {Avant-propos} }{ @@ -1410,7 +1487,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the front cover header text. % \begin{macrocode} -\AtEndPreamble{ +\AddToHook{begindocument/before}{ \tl_const:Nn \c_@@_frontcover_header_string_tl { \bool_if:NT {\g_@@_special_edition_bool} { \text_uppercase:n {\c_@@_long_special_edition_string_tl} @@ -1436,21 +1513,25 @@ This work consists of the file gzt.dtx % For the pdftitle text. % \begin{macrocode} \tl_const:Nn \c_@@_pdftitle_string_tl { - \c_@@_journal_title_string_tl - % \c_space_tl - % \textendash{} - % \c_space_tl - % \l_@@_uppercased_date_format{\displaydate{@@_date}} - \c_space_tl - \textendash{} - \c_space_tl - N° - \bool_if:NTF {\g_@@_special_edition_bool} { - \c_@@_special_edition_string_tl - \c_space_tl - \g_@@_special_edition_title_tl + \bool_if:NTF {\g_@@_moral_report_bool} { + \c_@@_moralreport_rubric_string_tl }{ - \int_use:N\g_@@_issue_number_int + \c_@@_journal_title_string_tl + % \c_space_tl + % \textendash{} + % \c_space_tl + % \l_@@_uppercased_date_format{\displaydate{@@_date}} + \c_space_tl + \textendash{} + \c_space_tl + N° + \bool_if:NTF {\g_@@_special_edition_bool} { + \c_@@_special_edition_string_tl + \c_space_tl + \g_@@_special_edition_title_tl + }{ + \int_use:N\g_@@_issue_number_int + } } } % \end{macrocode} @@ -1620,15 +1701,19 @@ This work consists of the file gzt.dtx \c_space_tl \textcolor{@@_date_color}{ \textendash{}\c_space_tl - \text_uppercase:n {\c_@@_journal_short_title_string_tl} - \bool_if:nF { \g_@@_inside_frontcover_bool || \g_@@_backmatter_bool || {\int_compare_p:nNn {\g_@@_issue_number_int}={0}} } - { - \c_space_tl\textendash{}\c_space_tl - \l_@@_uppercased_date_format\displaydate{@@_date} - \bool_if:NF {\g_@@_special_edition_bool} { - \c_space_tl - \textendash{}\c_space_tl - \textcolor{@@_smf_number_color}{\No\int_use:N\g_@@_issue_number_int} + \bool_if:NTF {\g_@@_moral_report_bool} { + \text_uppercase:n { \c_@@_moralreport_rubric_string_tl } + }{ + \text_uppercase:n {\c_@@_journal_short_title_string_tl} + \bool_if:nF { \g_@@_inside_frontcover_bool || \g_@@_backmatter_bool || {\int_compare_p:nNn {\g_@@_issue_number_int}={0}} } + { + \c_space_tl\textendash{}\c_space_tl + \l_@@_uppercased_date_format\displaydate{@@_date} + \bool_if:NF {\g_@@_special_edition_bool} { + \c_space_tl + \textendash{}\c_space_tl + \textcolor{@@_smf_number_color}{\No\int_use:N\g_@@_issue_number_int} + } } } } @@ -1652,9 +1737,9 @@ This work consists of the file gzt.dtx % For the prefix of the bibliographic key of each article. % \begin{macrocode} \bool_if:NTF {\g_@@_special_edition_bool} { - \tl_const:Nn \c_@@_issue_bib_key_tl {\int_use:N \g_@@_issue_number_int} -}{ \tl_const:Nn \c_@@_issue_bib_key_tl {special-edition} +}{ + \tl_const:Nn \c_@@_issue_bib_key_tl {\int_use:N \g_@@_issue_number_int} } % \end{macrocode} % For the interview title. @@ -2778,16 +2863,16 @@ This work consists of the file gzt.dtx % a flag that will be used to test wheter we are inside such an environment or % not. % \begin{macrocode} -\AtBeginEnvironment{multicols}{ +\AddToHook{env/multicols/begin}{ \bool_gset_true:N \g_@@_multicols_bool } -\AtEndEnvironment{multicols}{ +\AddToHook{env/multicols/end}{ \bool_gset_false:N \g_@@_multicols_bool } -\AtBeginEnvironment{refsection}{ +\AddToHook{env/refsection/begin}{ \bool_gset_true:N \g_@@_refsection_bool } -\AtEndEnvironment{refsection}{ +\AddToHook{env/refsection/end}{ \bool_gset_false:N \g_@@_refsection_bool } % \end{macrocode} @@ -2856,7 +2941,7 @@ This work consists of the file gzt.dtx \tl_gset:Nn \g_@@_pdfauthor_string_tl { \g_@@_smf_string_tl } -\AtEndPreamble{% +\AddToHook{begindocument/before}{% \hypersetup{% pdftitle=\g_@@_pdftitle_string_tl, pdfauthor=\g_@@_pdfauthor_string_tl% @@ -2864,38 +2949,6 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Database for the articles' authors} -% -% For this, and thanks to \Pkg{datatool}, we create a database of -% \enquote{authors} of articles. -% \begin{macrocode} -\DTLnewdb{_@@_authors} -% \end{macrocode} -% -% Then we create the internal "\_@@_authors" function that let us populate the -% "_@@_authors" database. Each people will be identified by some identifiers: -% \begin{itemize} -% \item firstname and lastname, that should be at the biblatex name format -% (\enquote{lastname, firstname}), -% \item affiliation, -% \item email, -% \item minibio, -% \item photo. -% \end{itemize} -% -% \begin{macrocode} -\cs_new_protected:Nn \_@@_authors:nnnnnn - { - \DTLnewrow{_@@_authors}% - \DTLnewdbentry{_@@_authors}{first-last-name}{#1}% - \DTLnewdbentry{_@@_authors}{affiliation}{#2}% - \DTLnewdbentry{_@@_authors}{email}{#3}% - \DTLnewdbentry{_@@_authors}{minibio}{#4}% - \DTLnewdbentry{_@@_authors}{photo}{#5}% - \DTLnewdbentry{_@@_authors}{webpage}{#6}% - } -% \end{macrocode} -% % \begin{macrocode} \cs_new_protected:Nn \_@@_email:n { @@ -2903,12 +2956,6 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% We create a variant of this control sequence that passes the \emph{values} of the -% variables involved (see \url{http://tex.stackexchange.com/a/214284/18401}). -% \begin{macrocode} -\cs_generate_variant:Nn \_@@_authors:nnnnnn { nVVVVV } -% \end{macrocode} -% % We create a function that displays the author(s) of an article with % a peticular layout. % \begin{macrocode} @@ -2951,39 +2998,6 @@ This work consists of the file gzt.dtx \cs_generate_variant:Nn \@@_display_author:nnnnn { VVVVV } % \end{macrocode} % -% \section{Database for the interviewees} -% -% For this, and thanks to \Pkg{datatool}, we create a database of -% \enquote{interviewees} of articles. -% \begin{macrocode} -\DTLnewdb{_@@_interviewees} -% \end{macrocode} -% -% Then we create the internal "\_@@_interviewees" function that let us populate the -% "_@@_interviewees" database. Each people will be identified by some identifiers: -% \begin{itemize} -% \item firstname and lastname, that should be at the biblatex name format -% (\enquote{lastname, firstname}), -% \item minibio, -% \item photo. -% \end{itemize} -% -% \begin{macrocode} -\cs_new_protected:Nn \_@@_interviewees:nnn - { - \DTLnewrow{_@@_interviewees}% - \DTLnewdbentry{_@@_interviewees}{first-last-name}{#1}% - \DTLnewdbentry{_@@_interviewees}{minibio}{#2}% - \DTLnewdbentry{_@@_interviewees}{photo}{#3}% - } -% \end{macrocode} -% -% We create a variant of this control sequence that passes the \emph{values} of the -% variables involved (see \url{http://tex.stackexchange.com/a/214284/18401}). -% \begin{macrocode} -\cs_generate_variant:Nn \_@@_interviewees:nnn { nVV } -% \end{macrocode} -% % \section{Functions for specifiying the people involved in the journal} % % For this, and thanks to \Pkg{datatool}, we create a database of @@ -3054,7 +3068,9 @@ This work consists of the file gzt.dtx \cs_new_protected:Nn \@@_display_academic_signature:n { \bigskip + \begin{_@@_minibiographies_acknowledgements_tcbox} #1 + \end{_@@_minibiographies_acknowledgements_tcbox} } % \end{macrocode} % @@ -3066,7 +3082,7 @@ This work consists of the file gzt.dtx \cs_new_protected:Nn \@@_display_people_by_role:n { \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{#1}]{people}{% - \l_@@_firstlastname=first-last-name% + \l_@@_firstlastname_tl=first-last-name% ,\l_@@_people_affiliation_tl=affiliation% ,\l_@@_people_email_tl=email% ,\l_@@_people_minibio_tl=minibio% @@ -3088,26 +3104,29 @@ This work consists of the file gzt.dtx \newline% \href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}}% } - \DTLiflastrow{% - }{% - \medskip% - } + \medskip% }{ \tl_if_in:NnTF \l_@@_people_role_tl { author } { - \footnotesize% - % \noindent% - \dim_set:Nn \l_@@_minibio_width_dim {\linewidth-1em - \c_@@_authors_photos_box_width_dim} - \tl_if_empty:NTF \l_@@_people_photo_tl - {% - \dim_add:Nn \l_@@_minibio_width_dim {\c_@@_authors_photos_box_width_dim} - }{% - \begin{adjustbox}{valign=t,minipage=\c_@@_authors_photos_box_width_dim} - \includegraphics[width=\c_@@_authors_photos_width_dim]{\l_@@_people_photo_tl} - \end{adjustbox}% - \quad% - } - \begin{adjustbox}{valign=t,minipage=\l_@@_minibio_width_dim} - \begin{description}[leftmargin=1em,style=nextline] + \tl_if_empty:NF \l_@@_firstlastname_tl { + \footnotesize% + % \noindent% + \DTLiffirstrow{% + }{ + \DTLpar% + \medskip% + } + \dim_set:Nn \l_@@_minibio_width_dim {\linewidth-1em - \c_@@_authors_photos_box_width_dim} + \tl_if_empty:NTF \l_@@_people_photo_tl + {% + \dim_add:Nn \l_@@_minibio_width_dim {\c_@@_authors_photos_box_width_dim} + }{% + \begin{adjustbox}{valign=t,minipage=\c_@@_authors_photos_box_width_dim} + \includegraphics[width=\c_@@_authors_photos_width_dim]{\l_@@_people_photo_tl} + \end{adjustbox}% + \quad% + } + \begin{adjustbox}{valign=t,minipage=\l_@@_minibio_width_dim} + \begin{description}[leftmargin=1em,style=nextline] \item[% \textcolor{@@_people_color}{% \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex}% @@ -3138,10 +3157,6 @@ This work consists of the file gzt.dtx } \end{description} \end{adjustbox} - \DTLiflastrow{% - }{ - \DTLpar% - \medskip% } }{ \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- @@ -3344,7 +3359,7 @@ This work consists of the file gzt.dtx \bool_if:NT {\g_@@_credit_frontcover_bool} { \c_space_tl(\c_@@_credit_frontcover_string_tl{}~:~% \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{frontcovercredit}]{people}{% - \l_@@_firstlastname=first-last-name% + \l_@@_firstlastname_tl=first-last-name% ,\l_@@_people_role_tl=role% }{% \_@@_citeauthor_no_firstinits:n @@ -3610,6 +3625,18 @@ This work consists of the file gzt.dtx } % \end{macrocode} % +% \subsection{Moral report setup} +% +% \begin{macro}{\moralreportsetup} +% We define the command that lets the user specify the moral report setup. +% \begin{macrocode} +\NewDocumentCommand \moralreportsetup { m } { + \bool_gset_true:N \g_@@_moral_report_bool + \bool_gset_true:N \g_@@_frontcover_without_minitoc_bool + \keys_set:nn { gzt/moralreport } {#1} +} +% \end{macrocode} +% % \subsection{Journal setup} % % \begin{macro}{\journalsetup} @@ -3735,7 +3762,7 @@ This work consists of the file gzt.dtx % This can be done only at the beginning of the document, in order to know the % characteristics of the current issue. % \begin{macrocode} -\AtBeginDocument{% +\AddToHook{begindocument}{% % \end{macrocode} % % We first create a token list containing the date of the current issue formated @@ -3894,10 +3921,10 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\tl_new:N \g_@@_article_acknowledgements_tl% +\tl_new:N \l_@@_article_acknowledgements_tl% \cs_new_protected:Nn \@@_article_acknowledgements:n { - \tl_gset:Nn \g_@@_article_acknowledgements_tl { #1 } + \tl_set:Nn \l_@@_article_acknowledgements_tl { #1 } } % \end{macrocode} % @@ -4048,6 +4075,30 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % +% We create a command for local (to a given article) tables of contents +% \begin{macrocode} +\cs_new_protected:Nn \_@@_display_localtoc: +{ + \etocsettocstyle{\section*{\contentsname}}{}% + \etocsetstyle {section} + {} + {\leavevmode\leftskip 0cm\relax} + {\bfseries\normalsize\makebox[.6cm][l]{\etocnumber}% + \etocname\nobreak\hfill\nobreak% + \makebox[.5cm][r]{% + \etocpage% + }% + \par% + } + {\medskip} + \localtableofcontentswithrelativedepth{+1} +} +\NewDocumentCommand \gztlocaltableofcontents {} +{ + \_@@_display_localtoc: {} +} +% \end{macrocode} +% % We create two token lists that will contain: % \begin{enumerate} % \item the unique bibliographic key, @@ -4544,7 +4595,7 @@ This work consists of the file gzt.dtx % We load the file where acronyms are defined. % \begin{macrocode} \file_if_exist:nT { \c_@@_acronyms_file_string_tl } {% - \AtEndPreamble{\loadglsentries{\c_@@_acronyms_file_string_tl}} + \AddToHook{begindocument/before}{\loadglsentries{\c_@@_acronyms_file_string_tl}} } % \end{macrocode} % @@ -4563,7 +4614,7 @@ This work consists of the file gzt.dtx % \begin{macrocode} \bool_if:nT { \g_@@_for_authors_bool } { - \AtEndDocument{% + \AddToHook{enddocument}{% \bool_if:NT {\g_@@_multicols_bool} { \end{multicols}% } @@ -4577,7 +4628,7 @@ This work consists of the file gzt.dtx % at the end of preamble instead of begin of the document in order some settings % needed in preamble are taken in account. % \begin{macrocode} -\AtEndPreamble{ +\AddToHook{begindocument/before}{ \file_if_exist_input:nF {\c_@@_configuration_file_string_tl} { \msg_error:nn { gzt } { configuration-file-missing } @@ -4757,7 +4808,7 @@ This work consists of the file gzt.dtx \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -editorinchief- 1} }{ \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{editorinchief}]{people}{% - \l_@@_firstlastname=first-last-name% + \l_@@_firstlastname_tl=first-last-name% ,\l_@@_people_role_tl=role% }{% \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -editorinchief- \exp_not:V\DTLcurrentindex}% @@ -4775,7 +4826,7 @@ This work consists of the file gzt.dtx } \_@@_after_display_editorial: {} } -\AtEndPreamble{% +\AddToHook{begindocument/before}{% \tl_set_eq:NN \g_@@_editorial_heading_tl \c_@@_editorial_heading_string_tl \bool_if:NT {\g_@@_special_edition_bool} { \tl_if_empty:NF \g_@@_special_edition_editorial_heading_tl {% @@ -4985,7 +5036,7 @@ This work consists of the file gzt.dtx % \end{itemize} % % \begin{macrocode} -\AtBeginDocument{% +\AddToHook{begindocument}{% \graphicspath{{\c_@@_issue_images_path_string_tl//}{../\c_@@_issue_images_path_string_tl//}} % \glsdisablehyper \g_@@_mainmatter_switch_tl @@ -5006,7 +5057,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\AtBeginDocument{% +\AddToHook{begindocument}{% \dim_if_exist:NTF \g_@@_pagegrid_dim {% \pagegridsetup{% enable,% @@ -5040,7 +5091,7 @@ This work consists of the file gzt.dtx \bool_if:NF {\g_@@_inside_pages_bool} { \g_@@_display_frontcover_tl \bool_if:NTF {\g_@@_coverpage_bool} { - \AfterEndPreamble{\end{document}} + \AddToHook{begindocument/end}{\end{document}} }{ \g_@@_display_inside_frontcover_tl } @@ -5603,7 +5654,7 @@ This work consists of the file gzt.dtx % % We draw a gray background at the bottom of each page, but the first one. % \begin{macrocode} -\AddEverypageHook{% +\AddToHook{shipout/background}{ % \bool_if:nF { \g_@@_frontcover_bool || \g_@@_backcover_bool }{ \bool_if:NF {\g_@@_advertisement_bool} { \tikz[remember~picture,overlay] { \g_@@_background_footer_tl }% @@ -5697,31 +5748,23 @@ This work consists of the file gzt.dtx \FloatBarrier% \begin{_@@_minibiographies_acknowledgements_tcbox} \@@_display_people_by_role:n { author-art-\int_use:N \g_@@_articles_int } - \tl_if_empty:NF \g_@@_article_acknowledgements_tl + \DTLsavelastrowcount{\_@@_authors_number} + \tl_if_empty:NF \l_@@_article_acknowledgements_tl {% - \par% - \bigskip% + \footnotesize + \int_compare:nNnT {\_@@_authors_number}>{0} + { + \par% + \bigskip% + } \begin{adjustbox}{valign=t,minipage=\linewidth} \color{@@_acknowledgements_color}% - \g_@@_article_acknowledgements_tl + \setlength{\parskip}{\c_@@_mainmatter_parskip_skip} + \l_@@_article_acknowledgements_tl \end{adjustbox} - } + } + \bool_gset_true:N \g_@@_previous_article_with_bibliography_or_minibio_bool \end{_@@_minibiographies_acknowledgements_tcbox} - \bool_gset_true:N \g_@@_previous_article_with_bibliography_or_minibio_bool - % - \tl_gclear:N \g_@@_people_affiliation_tl - \tl_gclear:N \g_@@_people_email_tl - \tl_gclear:N \g_@@_people_minibio_tl - \tl_gclear:N \g_@@_people_photo_tl - \tl_gclear:N \g_@@_people_webpage_tl - \tl_gclear:N \g_@@_article_acknowledgements_tl -% \end{macrocode} -% -% We clear the authors database for this new article (XXX: to be moved to the -% authors' minibiographies area). -% \begin{macrocode} - \DTLgcleardb{_@@_authors} - \DTLgcleardb{_@@_interviewees} } % \end{macrocode} % \end{macro} @@ -6240,7 +6283,12 @@ This work consists of the file gzt.dtx inputencoding=utf8/latin1 }% \DeclareTotalTCBox{\gztverb}{ v }{verbatim,blank,fuzzy~halo=0pt~with~@@_light_generic_dark_color!8}{#1} -\NewTCBListing{gztcode}{ O{} }{% +% \end{macrocode} +% +% The optional argument declaration must be prefixed with an "!" (see +% \url{https://github.com/T-F-S/tcolorbox/issues/43}). +% \begin{macrocode} +\NewTCBListing{gztcode}{ !O{} }{% listing~style=@@_lst_style, listing~only, enlarge~top~by=\medskipamount, @@ -6420,6 +6468,12 @@ This work consists of the file gzt.dtx % "multicols" environments. % \begin{macrocode} \NewDocumentCommand \gztinput { m m } {% + \tl_gclear:N \g_@@_people_affiliation_tl + \tl_gclear:N \g_@@_people_email_tl + \tl_gclear:N \g_@@_people_minibio_tl + \tl_gclear:N \g_@@_people_photo_tl + \tl_gclear:N \g_@@_people_webpage_tl + \tl_clear:N \l_@@_article_acknowledgements_tl \startcustomization% \bool_if:NF {\g_@@_refsection_bool} { \begin{refsection} @@ -6445,12 +6499,13 @@ This work consists of the file gzt.dtx % If we don't ask the cover page (only), the inside back cover and back cover % pages are automatically included at the end of the document, the former % containing some condensed instructions to authors. But, this cannot be done -% within "\AtEndDocument" and "\preto\@enddocumenthook" should be used instead -% (see \url{http://tex.stackexchange.com/q/240318/18401}). +% within "\AddToHook{enddocument}" and "\preto\@enddocumenthook" should be used instead +% (see \url{http://tex.stackexchange.com/q/240318/18401}). (Update (2021-02-14): +% we now rely on the new ×\AddToHook{env/document/end}×.) % \begin{macrocode} \bool_if:NF {\g_@@_coverpage_bool} { \bool_if:NF {\g_@@_inside_pages_bool} { - \preto\@enddocumenthook{ + \AddToHook{enddocument/end}{ \bool_gset_true:N \g_@@_backmatter_bool \g_@@_display_inside_backcover_tl \newpage @@ -6468,7 +6523,7 @@ This work consists of the file gzt.dtx \bool_if:NF {\g_@@_coverpage_bool} { \bool_if:nF { \g_@@_for_authors_bool } { \bool_if:nT { \g_@@_inside_pages_bool } { - \AtEndDocument{% + \AddToHook{enddocument}{% \prg_replicate:nn { \int_mod:nn { 4 - \int_mod:nn { \getpagerefnumber{LastPage} } { 4 } } { 4 } } { \thispagestyle{@@_blank_pages_ps}\null\clearpage } @@ -6487,33 +6542,11 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\keys_define:nn { gztarticle } -{ - editorial .code:n = {% - \AtBeginDocument{% - \_@@_before_display_editorial:n {}% - } - \AtEndDocument{% - \_@@_after_display_editorial: {}% - } - },% - presidentmessage .code:n = {% - \AtBeginDocument{% - \_@@_before_display_presidentmessage: {}% - } - \AtEndDocument{% - \_@@_after_display_presidentmessage: {}% - } - },% -}% -% \end{macrocode} -% -% \begin{macrocode} \ProcessKeysOptions { gztarticle } % \end{macrocode} % % \begin{macrocode} -\AtEndDocument{% +\AddToHook{enddocument}{% \bool_if:NT {\g_@@_multicols_bool} { \end{multicols}% } @@ -6765,7 +6798,7 @@ This work consists of the file gzt.dtx enlarge~left~by=\c_@@_inside_cover_offset_dim, } } -\AtEndPreamble{% +\AddToHook{begindocument/before}{% \bool_if:NTF {\g_@@_special_edition_bool} { \tcbset{ _@@_tcb_inside_frontcover_style/.append~style={% @@ -6981,7 +7014,7 @@ This work consists of the file gzt.dtx \tl_clear:N \l_@@_newtheorem_frenchtitle_tl \tl_clear:N \l_@@_newtheorem_englishtitle_tl \tl_set:Nn \l_@@_newtheorem_englishtitle_tl { - \text_uppercase:n {#2} + \text_titlecase:n {#2} } \tl_set:Nf \l_@@_newtheorem_frenchtitle_tl { \l_@@_newtheorem_englishtitle_tl @@ -7368,6 +7401,72 @@ class will be replace them by a dummy image (borrowed from the `mwe` package). % \end{macrocode} % % \begin{macrocode} +%<*changelog> +% \end{macrocode} +# [Unreleased] + +# [1.0.1] - 2021-02-14 + +## Added +- Option to create moral reports (`gzt` class only). +- Local (to a given article) table of contents + +## Changed +- The class now relies on the new LaTeX core hooks. +- Documentation revised. +- Various improvements. + +## Fixed +- Superflous uppercases removed (cont.). +- `gztcode` environments partially gobble their content under certain + conditions. +- Various other small bugs. + +# [1.0.0] - 2020-03-17 + +## Added +- CHANGELOG file (following https://keepachangelog.com/en/1.0.0/). +- Semantic versionning (following https://semver.org/). + +## Changed +- Compilation date displayed only if the issue number is not specified + (`gztarticle` class only). +- Prevent column breaks within items of "Comité de rédaction" (at the price of + unbalanced columns). + +## Fixed +- Track changes in `expl3`. +- Superflous uppercases removed. +- Index directive in `latexmk` config file modernized. + +# [0.98] - 2018-04-09 + +## Changed +- Support for `biblatex` 3.8 changes. +- Track changes in `expl3`. +- Special editions implemented. + +## Fixed +- Several bug fixes. + +# [0.96] - 2017-04-07 + +## Changed +- Figures and tables: + - with recurrent label and number but without any caption, + - with caption but without any recurrent label nor numbered, + implemented. +- Frames without any label, number nor caption implemented. +- Track changes in `expl3`. + +# [0.9] - 2015-05-02 + +- Initial CTAN release of the `gzt` bundle. +% \begin{macrocode} +% +% \end{macrocode} +% +% \begin{macrocode} %<*latexmkrc> % \end{macrocode} % @@ -7384,7 +7483,7 @@ sub makeglossaries{ system( "makeglossaries \"$_[0]\"" ); } -$makeindex = 'texindy -L french; +$makeindex = 'texindy -L french -C utf8'; push @generated_exts, 'acn', 'acr', 'alg', 'bcf', 'fls', 'gl*', 'sbl*', 'sl*', 'sym*' ; @@ -7405,8 +7504,7 @@ $quote_filenames = 0; % \Finale %%% Local Variables: -%%% mode: tex -%%% eval: (doctex-mode) +%%% mode: doctex %%% ispell-local-dictionary: "english" %%% TeX-command-default: "TeX" %%% TeX-master: t -- cgit v1.2.3