summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/gzt
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-02-17 03:01:13 +0000
committerNorbert Preining <norbert@preining.info>2021-02-17 03:01:13 +0000
commit92050bb2f09a3bcba62fa0ee5b1604874cbf1600 (patch)
tree18bb6b80fa93b81a8596b5a45ed57067ba63b6c7 /macros/latex/contrib/gzt
parent6893799c8c61ef6b96a867686642fc0d813adab1 (diff)
CTAN sync 202102170301
Diffstat (limited to 'macros/latex/contrib/gzt')
-rw-r--r--macros/latex/contrib/gzt/doc/gzt-fr.pdfbin530283 -> 528662 bytes
-rw-r--r--macros/latex/contrib/gzt/source/gzt.dtx504
2 files changed, 301 insertions, 203 deletions
diff --git a/macros/latex/contrib/gzt/doc/gzt-fr.pdf b/macros/latex/contrib/gzt/doc/gzt-fr.pdf
index 5479695810..9f253543c4 100644
--- a/macros/latex/contrib/gzt/doc/gzt-fr.pdf
+++ b/macros/latex/contrib/gzt/doc/gzt-fr.pdf
Binary files differ
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 <denis.bitouze@univ-littoral.fr>
%
% 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
%</internal>
+%<*class|class-article|install>
+\def\gztfileversion{1.0.1}
+\def\gztfiledate{2021-02-14}
+%</class|class-article|install>
%<*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 <denis.bitouze@univ-littoral.fr>
+% Copyright (C) 2014-2021 by Denis Bitouz'e <denis.bitouze@univ-littoral.fr>
----------------------------------------------------------------------------
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
%<class> {gzt}
%<class-article> {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
%<class-article>\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}
%</class|class-article>
% \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}
+%</class>
+% \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}
+%</class-article>
+% \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}{
%<class> \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}
+%</changelog>
+% \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