diff options
Diffstat (limited to 'macros/latex/contrib/gzt')
28 files changed, 2083 insertions, 17478 deletions
diff --git a/macros/latex/contrib/gzt/README.md b/macros/latex/contrib/gzt/README.md index 63cb2cd7e1..8b0bc29513 100644 --- a/macros/latex/contrib/gzt/README.md +++ b/macros/latex/contrib/gzt/README.md @@ -1,5 +1,13 @@ +| +-------:| ----------------------------------------------------------------- + gzt:| Bundle of two classes and BibLaTeX styles for the French journal “La Gazette de la Société Mathématique de France” + Author:| Denis Bitouzé + E-mail:| denis.bitouze@univ-littoral.fr +License:| Released under the LaTeX Project Public License v1.3c or later + See:| http://www.latex-project.org/lppl.txt + This bundle provides two classes and BibLaTeX styles for the French journal [“La -Gazette des Mathématiciens”](https://smf.emath.fr/les-publications/la-gazette): +Gazette de la Société Mathématique de France”](https://smf.emath.fr/les-publications/la-gazette): - `gzt` for the complete issues of the journal, aimed at the Gazette’s team, - `gztarticle`, intended for authors who wish to publish an article in the diff --git a/macros/latex/contrib/gzt/doc/README-TRANSLATION.md b/macros/latex/contrib/gzt/doc/README-TRANSLATION.md deleted file mode 100644 index b8709820a3..0000000000 --- a/macros/latex/contrib/gzt/doc/README-TRANSLATION.md +++ /dev/null @@ -1,4 +0,0 @@ -# Contributions welcome! - -Currently, the `gzt` documentation is not translated in English. In case you're -interested, please contact the maintainer: `denis.bitouze@univ-littoral.fr` diff --git a/macros/latex/contrib/gzt/doc/english/README-TRANSLATION.md b/macros/latex/contrib/gzt/doc/english/README-TRANSLATION.md new file mode 100644 index 0000000000..b18bd02e23 --- /dev/null +++ b/macros/latex/contrib/gzt/doc/english/README-TRANSLATION.md @@ -0,0 +1,6 @@ +# Contributions welcome! + +Currently, the documentation `gzt` _user_ [exists only in +French](http://mirrors.ctan.org/macros/latex/contrib/gzt/doc/gzt-fr.pdf), and is notably not +translated into English. If you are interested, please contact the maintainer: +`denis.bitouze@univ-littoral.fr` diff --git a/macros/latex/contrib/gzt/doc/english/gzt-code.pdf b/macros/latex/contrib/gzt/doc/english/gzt-code.pdf Binary files differnew file mode 100644 index 0000000000..316ea94437 --- /dev/null +++ b/macros/latex/contrib/gzt/doc/english/gzt-code.pdf diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/denis.png b/macros/latex/contrib/gzt/doc/french/denis.png Binary files differindex 545b4a409e..545b4a409e 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/denis.png +++ b/macros/latex/contrib/gzt/doc/french/denis.png diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/gzt-fr.bib b/macros/latex/contrib/gzt/doc/french/gzt-fr.bib index 40b8198d46..40b8198d46 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/gzt-fr.bib +++ b/macros/latex/contrib/gzt/doc/french/gzt-fr.bib diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/gzt-fr.pdf b/macros/latex/contrib/gzt/doc/french/gzt-fr.pdf Binary files differindex 9f253543c4..a727c46b26 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/gzt-fr.pdf +++ b/macros/latex/contrib/gzt/doc/french/gzt-fr.pdf diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/gzt-fr.tex b/macros/latex/contrib/gzt/doc/french/gzt-fr.tex index 52839b4fec..52839b4fec 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/gzt-fr.tex +++ b/macros/latex/contrib/gzt/doc/french/gzt-fr.tex diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/fixed-footnotes.tex b/macros/latex/contrib/gzt/doc/french/sections/fixed-footnotes.tex index 87986360db..87986360db 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/fixed-footnotes.tex +++ b/macros/latex/contrib/gzt/doc/french/sections/fixed-footnotes.tex diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/gztarticle.tex b/macros/latex/contrib/gzt/doc/french/sections/gztarticle.tex index 06bde597b7..06bde597b7 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/gztarticle.tex +++ b/macros/latex/contrib/gzt/doc/french/sections/gztarticle.tex diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/notations.tex b/macros/latex/contrib/gzt/doc/french/sections/notations.tex index 666d6059a9..666d6059a9 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/notations.tex +++ b/macros/latex/contrib/gzt/doc/french/sections/notations.tex diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/packages-charges.tex b/macros/latex/contrib/gzt/doc/french/sections/packages-charges.tex index d51dbb840b..bce6d1eed1 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/packages-charges.tex +++ b/macros/latex/contrib/gzt/doc/french/sections/packages-charges.tex @@ -19,8 +19,7 @@ différents packages sont donc à disposition des auteurs de la \gzt{}. \end{description} \item[\package{kpfonts} :] police principale du document ; \begin{description} - \item[option par défaut :] \docAuxKey{sfmath}, \docAuxKey{easyscsl}, - \docAuxKey{noDcommand} ; + \item[option par défaut :] \docAuxKey{sfmath}, \docAuxKey{noDcommand} ; \end{description} \item[\package*{graphicx} :] inclusion d'images ; \item[\package*{csquotes} :] citations formelles et informelles ; diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/todo.tex b/macros/latex/contrib/gzt/doc/french/sections/todo.tex index 0a266c3d2b..0a266c3d2b 100644 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/sections/todo.tex +++ b/macros/latex/contrib/gzt/doc/french/sections/todo.tex diff --git a/macros/latex/contrib/gzt/doc/gzt-fr.pdf b/macros/latex/contrib/gzt/doc/gzt-fr.pdf Binary files differdeleted file mode 100644 index 9f253543c4..0000000000 --- a/macros/latex/contrib/gzt/doc/gzt-fr.pdf +++ /dev/null diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/CHANGELOG.md b/macros/latex/contrib/gzt/doc/latex/gzt/CHANGELOG.md deleted file mode 100644 index 0f36ea2a83..0000000000 --- a/macros/latex/contrib/gzt/doc/latex/gzt/CHANGELOG.md +++ /dev/null @@ -1,59 +0,0 @@ -# [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. diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/README.md b/macros/latex/contrib/gzt/doc/latex/gzt/README.md deleted file mode 100644 index 63cb2cd7e1..0000000000 --- a/macros/latex/contrib/gzt/doc/latex/gzt/README.md +++ /dev/null @@ -1,10 +0,0 @@ -This bundle provides two classes and BibLaTeX styles for the French journal [“La -Gazette des Mathématiciens”](https://smf.emath.fr/les-publications/la-gazette): - -- `gzt` for the complete issues of the journal, aimed at the Gazette’s team, -- `gztarticle`, intended for authors who wish to publish an article in the - Gazette. This class’s goals are to - - faithfully reproduce the layout of the Gazette, thus enabling the authors to - be able to work their document in actual conditions, and - - provide a number of tools (commands and environments) to facilitate the - drafting of documents, in particular those containing mathematical formulas. diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/english/README-TRANSLATION.md b/macros/latex/contrib/gzt/doc/latex/gzt/english/README-TRANSLATION.md deleted file mode 100644 index b8709820a3..0000000000 --- a/macros/latex/contrib/gzt/doc/latex/gzt/english/README-TRANSLATION.md +++ /dev/null @@ -1,4 +0,0 @@ -# Contributions welcome! - -Currently, the `gzt` documentation is not translated in English. In case you're -interested, please contact the maintainer: `denis.bitouze@univ-littoral.fr` diff --git a/macros/latex/contrib/gzt/doc/latex/gzt/french/latexmkrc b/macros/latex/contrib/gzt/doc/latex/gzt/french/latexmkrc deleted file mode 100644 index d324cb3be2..0000000000 --- a/macros/latex/contrib/gzt/doc/latex/gzt/french/latexmkrc +++ /dev/null @@ -1,20 +0,0 @@ -$pdf_mode = 1; - -$bibtex_use = 1; -$bibtex = 'biber %O %B'; - -add_cus_dep('glo', 'gls', 0, 'makeglossaries'); -add_cus_dep('acn', 'acr', 0, 'makeglossaries'); -add_cus_dep('slo', 'sls', 0, 'makeglossaries'); -sub makeglossaries{ - system( "makeglossaries \"$_[0]\"" ); -} - -$makeindex = 'texindy -L french -C utf8'; - -push @generated_exts, 'acn', 'acr', 'alg', 'bcf', 'fls', 'gl*', 'sbl*', 'sl*', 'sym*' ; - -$clean_ext .= 'synctex.gz* run.xml tex.bak ind idx out bbl bcf fdb_latexmk run - tdo listing *~ lo* unq mw tcbtemp ins drv atfi db* ain' ; - -$quote_filenames = 0; diff --git a/macros/latex/contrib/gzt/source/gzt-logo.pdf b/macros/latex/contrib/gzt/source/gzt-logo.pdf Binary files differnew file mode 100644 index 0000000000..f00a503e9e --- /dev/null +++ b/macros/latex/contrib/gzt/source/gzt-logo.pdf diff --git a/macros/latex/contrib/gzt/source/gzt.dtx b/macros/latex/contrib/gzt/source/gzt.dtx index e490957478..50d03f6642 100644 --- a/macros/latex/contrib/gzt/source/gzt.dtx +++ b/macros/latex/contrib/gzt/source/gzt.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment -% +% % File: gzt.dtx Copyright (C) 2014-2021 by -% Denis Bitouz'e <denis.bitouze@univ-littoral.fr> +% Denis Bitouzé <denis.bitouze@univ-littoral.fr> % % It may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3c of this @@ -12,7 +12,7 @@ % % This work has the LPPL maintenance status `maintained'. % -% The Current Maintainer of this work is Denis Bitouz'e. +% The Current Maintainer of this work is Denis Bitouzé. % % This work consists of the files gzt.dtx and gzt.ins % and the derived filebase gzt.cls. @@ -20,9 +20,149 @@ %<*internal> \iffalse %</internal> +% +% \begin{macrocode} +%<*readme-pictograms> +% \end{macrocode} +% +% \begin{macrocode} +# Pictograms possibly missing + +The current directory is supposed to contain the (files of the) logos and +pictograms that illustrate the Gazette whole issues compiled by the SMF. As non +free materials, they are likely to miss here and, in such a case, the `gzt` +class will be replace them by a dummy image (borrowed from the `mwe` package). +% \end{macrocode} +% +% \begin{macrocode} +%</readme-pictograms> +% \end{macrocode} +% +% \begin{macrocode} +%<*latexmkrc> +% \end{macrocode} +% +% \begin{macrocode} +$pdf_mode = 1; + +$bibtex_use = 1; +$bibtex = 'biber %O %B'; + +add_cus_dep('glo', 'gls', 0, 'makeglossaries'); +add_cus_dep('acn', 'acr', 0, 'makeglossaries'); +add_cus_dep('slo', 'sls', 0, 'makeglossaries'); +sub makeglossaries{ + system( "makeglossaries \"$_[0]\"" ); +} + +$makeindex = 'texindy -L french -C utf8'; + +push @generated_exts, 'acn', 'acr', 'alg', 'bcf', 'fls', 'gl*', 'sbl*', 'sl*', 'sym*' ; + +$clean_ext .= 'synctex.gz* run.xml tex.bak ind idx out bbl bcf fdb_latexmk run + tdo listing *~ lo* unq mw tcbtemp ins drv atfi db* ain' ; + +$quote_filenames = 0; +% \end{macrocode} +% +% \begin{macrocode} +%</latexmkrc> +% \end{macrocode} +% +% \begin{macrocode} +%<*changelog> +% \end{macrocode} +# [Unreleased] + +# [1.1.0] - 2021-11-30 + +## Added +- (Far to perfect) Documentation of the code available as a PDF file. + +## Changed +- New Gazette's "logo". +- Allow acknowledgments despite empty minibios. +- `easyscsl` option of `kpfonts` removed as now useless. +- Table of contents and president message forced to start on an odd page. +- Complete reworked of the `.dtx` source file in order to provide the documented + code as a PDF file. + +## Fixed +- Backcover not properly printed. + +# [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} +% %<*readme> +| +-------:| ----------------------------------------------------------------- + gzt:| Bundle of two classes and BibLaTeX styles for the French journal “La Gazette de la Société Mathématique de France” + Author:| Denis Bitouzé + E-mail:| denis.bitouze@univ-littoral.fr +License:| Released under the LaTeX Project Public License v1.3c or later + See:| http://www.latex-project.org/lppl.txt + + This bundle provides two classes and BibLaTeX styles for the French journal [“La -Gazette des Mathématiciens”](https://smf.emath.fr/les-publications/la-gazette): +Gazette de la Société Mathématique de France”](https://smf.emath.fr/les-publications/la-gazette): - `gzt` for the complete issues of the journal, aimed at the Gazette’s team, - `gztarticle`, intended for authors who wish to publish an article in the @@ -40,187 +180,204 @@ Gazette des Mathématiciens”](https://smf.emath.fr/les-publications/la-gazette \fi %</internal> %<*class|class-article|install> -\def\gztfileversion{1.0.1} -\def\gztfiledate{2021-02-14} +\def\gztfileversion{1.1.0} +\def\gztfiledate{2021-11-30} %</class|class-article|install> %<*install> \input l3docstrip.tex -% \input docstrip.tex -\Msg{**************************************************************} -\Msg{* Installation} -\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" - -E-mail: denis.bitouze@univ-littoral.fr -Released under the LaTeX Project Public License v1.3c or later -See http://www.latex-project.org/lppl.txt ------------------------------------------------------------------------------ +-------:| ----------------------------------------------------------------- + gzt:| Bundle of two classes and BibLaTeX styles for the French journal [“La Gazette de la Société Mathématique de France” + Author:| Denis Bitouzé + E-mail:| denis.bitouze@univ-littoral.fr +License:| Released under the LaTeX Project Public License v1.3c or later + See:| http://www.latex-project.org/lppl.txt \endpreamble \postamble -% Copyright (C) 2014-2021 by Denis Bitouz'e <denis.bitouze@univ-littoral.fr> ----------------------------------------------------------------------------- + +Copyright (C) 2014-2021 by Denis Bitouzé <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 -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.3c or later is part of all distributions of LaTeX -version 2005/12/01 or later. +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt -This work has the LPPL maintenance status `maintained'. +This work is "maintained" (as per LPPL maintenance status) by +Denis Bitouzé. -The Current Maintainer of this work is Denis Bitouz'e. +This work consists of the file gzt.dtx and a Makefile. +Running "make" generates the derived files README, gzt.pdf and gzt.cls. +Running "make inst" installs the files in the user's TeX tree. +Running "make install" installs the files in the local TeX tree. -This work consists of the file gzt.dtx - and the derived files gzt.cls, - gztarticle.cls, - gzt.ins, - gzt.pdf, - and a number of configuration files. \endpostamble % \def\GZT@classname{\jobname} \def\GZT@logo{\GZT@classname-logo} \def\GZT@addons{addons} \usedir{tex/latex/\GZT@classname} -\generate{% +\generate{ \file{\GZT@classname.cls}{\from{\jobname.dtx}{class}} \file{\GZT@classname article.cls}{\from{\jobname.dtx}{class-article}} \file{\GZT@classname.dbx}{\from{\jobname.dtx}{datamodel}} \file{\GZT@classname.lbx}{\from{\jobname.dtx}{languagemodel}} \nopreamble\nopostamble \file{\GZT@classname.cfg}{\from{\jobname.dtx}{configuration}} -}% +} \usedir{tex/latex/\GZT@classname/images} -\generate{% +\generate{ \nopreamble\nopostamble \file{README-PICTOGRAMS.md}{\from{\jobname.dtx}{readme-pictograms}} -}% +} %</install> %<install>\endbatchfile %<*internal> \usedir{source/latex/\GZT@classname} \generate{ \file{\GZT@classname.ins}{\from{\jobname.dtx}{install}} - \file{\GZT@classname.drv}{\from{\jobname.dtx}{driver}}% \nopreamble\nopostamble - \file{\GZT@logo.tex}{\from{\jobname.dtx}{class-logo}}% -}% + \file{\GZT@logo.tex}{\from{\jobname.dtx}{class-logo}} +} \usedir{doc/latex/\GZT@classname} \generate{ \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 \file{latexmkrc}{\from{\jobname.dtx}{latexmkrc}} -}% +} % \usedir{doc/latex/\GZT@classname/\GZT@addons/completion} -% \generate{% +% \generate{ % \nopreamble\nopostamble % \file{\GZT@classname.cwl}{\from{\jobname.dtx}{class-cwl}} -% }% +% } \ifx\fmtname\nameofplainTeX \expandafter\endbatchfile \else \expandafter\endgroup \fi %</internal> +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{gzt.dtx} +\documentclass[full,english]{l3doc} +\usepackage[a4paper,inner=5cm,landscape]{geometry} +\usepackage[gzt]{denisbdoc} +\usepackage{csquotes} +\usepackage{babel} +\usepackage{hyperref} +% \usepackage[numbered]{hypdoc} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{\jobname.dtx} +% +% \title{\textsf{gzt} --- A bundle of two classes and \Pkg{biblatex} styles +% for the French journal\\“La Gazette de la Société Mathématique de +% France”\thanks{This file describes version \fileversion, last revised +% \filedate.}\\[.25cm]Implementation% +% } +% \author{Denis Bitouzé\thanks{E-mail: \nolinkurl{denis.bitouze@univ-littoral.fr}}} +% \date{Released \filedate} % -% \changes{v0.9}{2015/05/02}{First CTAN version}% -% \changes{v0.95}{2016/04/03}{Second CTAN version}% -% \changes{v0.95a}{2016/10/24}{Third CTAN version}% -% \changes{v0.95b}{2016/10/24}{Fourth CTAN version}% -% \changes{v0.96}{2017/01/01}{Fifth CTAN version}% -% \changes{v0.97}{2017/02/15}{Sixth CTAN version}% +%\maketitle +% +% \begin{documentation} +% +% \end{documentation} +% +% \begin{implementation} +% +% \changes{v0.9}{2015/05/02}{First CTAN version} +% \changes{v0.95}{2016/04/03}{Second CTAN version} +% \changes{v0.95a}{2016/10/24}{Third CTAN version} +% \changes{v0.95b}{2016/10/24}{Fourth CTAN version} +% \changes{v0.96}{2017/01/01}{Fifth CTAN version} +% \changes{v0.97}{2017/02/15}{Sixth CTAN version} % \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} -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \StopEventually{} -% -% \selectlanguage{english} -% \chapter{Auxiliary files} -% -% \section{Gazette's logo} +% editions.} +% \changes{v1.0.0}{2020-03-17}{Eighth CTAN version.} +% \changes{v1.0.1}{2021-02-14}{Nineth CTAN version.} +% \changes{v1.1.0}{2021-11-30}{Tenth CTAN version.} +% +% \begin{abstract} +% This bundle provides two classes and \Pkg{biblatex} styles for the French journal +% \href{https://smf.emath.fr/les-publications/la-gazette}{“La Gazette de la +% Société Mathématique de France”}: +% \begin{itemize} +% \item \cls{gzt} for the complete issues of the journal, aimed at the +% Gazette’s team, +% \item \cls{gztarticle}, intended for authors who wish to publish an article in the +% Gazette. This class’s goals are to +% \begin{itemize} +% \item faithfully reproduce the layout of the Gazette, thus enabling the +% authors to be able to work their document in actual conditions, and +% \item provide a number of tools (commands and environments) to facilitate +% the drafting of documents, in particular those containing mathematical +% formulas. +% \end{itemize} +% \end{itemize} +% \end{abstract} +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \section{Auxiliary files} +% +% \subsection{Gazette's logo} % \label{sec:gzts-logo} -% Before the code of the \gztcl{} by itself, we give the begining of the -% code of the source file of the Gazette's logo (to be compiled with "xelatex"). +% Before the code of the \Class{gzt} by itself, we give the begining of the +% code of the source file of the Gazette's logo (to be compiled with ×lualatex×). % \begin{macrocode} %<*class-logo> % \end{macrocode} % % \begin{macrocode} -\documentclass{standalone} +\documentclass[varwidth]{standalone} \usepackage{fontspec} -\usepackage[export]{adjustbox} \usepackage[cmyk]{xcolor} \usepackage{xparse} -% \setmainfont{HelveticaNeueLTStd-ThEx} -\newfontfamily\des{HelveticaNeueLTStd-Th} +\newfontfamily\dela{HelveticaNeueLTStd-Th} \newfontfamily\mathematiciens{HelveticaNeueLTStd-Lt} -% \ExplSyntaxOn \tl_new:N \l__gzt_frontmatter_head_text_tl -\tl_set:Nn \l__gzt_frontmatter_head_text_tl {% - \adjustbox{stack=r} - {% - \addfontfeature{LetterSpace=10} - \textcolor{__gzt_generic_light_color}{% - \fontsize{21}{0}\selectfont% - la\hspace{5mm}% - \fontsize{45}{0}\selectfont% - Gazette% - }% - \\[1.7mm]% - \fontsize{15}{0}\selectfont% - \textcolor{__gzt_generic_light_color}{% - \des% - \addfontfeature{LetterSpace=6}% - des% - }% - \hspace{2.5mm}% - \textcolor{__gzt_generic_dark_color}{% - \mathematiciens% - \addfontfeature{LetterSpace=6}% - Math\'ematiciens% - }% - }% +\tl_set:Nn \l__gzt_frontmatter_head_text_tl { + \addfontfeature{LetterSpace=10} + \textcolor{__gzt_generic_light_color}{ + \fontsize{21}{0}\selectfont + la + \hspace{3mm} + \fontsize{46}{0}\selectfont + Gazette + } + \\[1.7mm] + \fontsize{12}{0}\selectfont + \mbox{}\hfill% + \textcolor{__gzt_generic_light_color}{ + \dela + de~ la~ + } + \textcolor{__gzt_generic_dark_color}{ + \mathematiciens + Société~ Mathématique~ de~ France + } } -% \NewDocumentCommand \frontmatterheadtext {} { \l__gzt_frontmatter_head_text_tl } @@ -230,8 +387,8 @@ This work consists of the file gzt.dtx %</class-logo> % \end{macrocode} % -% \section{(\Pkg{biblatex}) Data model} -% Before the code of the \gztcl{} by itself, we give the (\pkg{biblatex}) +% \subsection{(\texorpdfstring{\Pkg{biblatex}}{biblatex}) Data model} +% Before the code of the \Class{gzt} by itself, we give the (\pkg{biblatex}) % data model that enriches the default one for several purposes: % \begin{itemize} % \item the interviews, @@ -246,9 +403,9 @@ This work consists of the file gzt.dtx % % \begin{macrocode} \ProvidesFile{gzt.lbx} -\InheritBibliographyExtras{french}% extras are inherited from French... -\DeclareBibliographyStrings{% - inherit = {french},% .... as well as all the keys +\InheritBibliographyExtras{french} +\DeclareBibliographyStrings{ + inherit = {french}, number = {{\no}{\no}}, volume = {{volume}{vol\adddot}}, volumes = {{volumes}{vol\adddot}}, @@ -263,17 +420,17 @@ This work consists of the file gzt.dtx %<*datamodel> % \end{macrocode} % -% \subsection{For the interviews} +% \subsubsection{For the interviews} % -% First, we create the new entry type "interview" and the new field -% "interviewee". +% First, we create the new entry type ×interview× and the new field +% ×interviewee×. % \begin{macrocode} % \DeclareDatamodelEntrytypes{interview} \DeclareDatamodelFields[type=list,datatype=name]{interviewee} % \end{macrocode} % -% Then, we declare the fields known by the entry type "interview": our new field -% "interviewee" and the existing one "author". +% Then, we declare the fields known by the entry type ×interview×: our new field +% ×interviewee× and the existing one ×author×. % \begin{macrocode} \DeclareDatamodelEntryfields[interview]{ interviewee, @@ -281,26 +438,26 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% An finally, we create the bibliography driver for the "interview" (that seems to +% An finally, we create the bibliography driver for the ×interview× (that seems to % create the corresponding new entry). % \begin{macrocode} \DeclareBibliographyDriver{interview}{% - \printnames{author}~interviewent~\printnames{interviewee}% + \printnames{author}~ interviewent~ \printnames{interviewee}% \usebibmacro{finentry}% } % \end{macrocode} % % -% % \subsection{For the tributes} +% % \subsubsection{For the tributes} % % -% % First, we create the new entry type "tribute" and the new field -% % "honouree". +% % First, we create the new entry type ×tribute× and the new field +% % ×honouree×. % % \begin{macrocode} % % \DeclareDatamodelEntrytypes{tribute} % % \DeclareDatamodelFields[type=list,datatype=name]{honouree} % % \end{macrocode} % % -% % Then, we declare the fields known by the entry type "tribute": our new field -% % "honouree" and the existing one "author". +% % Then, we declare the fields known by the entry type ×tribute×: our new field +% % ×honouree× and the existing one ×author×. % % \begin{macrocode} % \DeclareDatamodelEntryfields[tribute]{ % honouree, @@ -308,18 +465,18 @@ This work consists of the file gzt.dtx % } % % \end{macrocode} % % -% % An finally, we create the bibliography driver for the "tribute" (that seems to +% % An finally, we create the bibliography driver for the ×tribute× (that seems to % % create the corresponding new entry). % % \begin{macrocode} % \DeclareBibliographyDriver{tribute}{% -% \printnames{author}~rendent~hommage~\`a~\printnames{honouree}% +% \printnames{author}~ rendent~ hommage~ \`a~ \printnames{honouree}% % \usebibmacro{finentry}% % } % % \end{macrocode} % -% \subsection{For the books reviews} +% \subsubsection{For the books reviews} % -% First, we create the new bibliography driver "bookreview" (that seems to +% First, we create the new bibliography driver ×bookreview× (that seems to % create the corresponding new entry). % \begin{macrocode} \DeclareBibliographyDriver{bookreview}{% @@ -372,8 +529,8 @@ This work consists of the file gzt.dtx \usebibmacro{finentry}} % \end{macrocode} % -% Then, we create the new fields "reviewer" and "reviewerinstitution" and make -% them known by the entry type "bookreview". +% Then, we create the new fields ×reviewer× and ×reviewerinstitution× and make +% them known by the entry type ×bookreview×. % \begin{macrocode} \DeclareDatamodelFields[type=list,datatype=name]{reviewer} \DeclareDatamodelFields[type=list,datatype=literal]{reviewerinstitution} @@ -383,10 +540,10 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \subsection{For the books advertisements} +% \subsubsection{For the books advertisements} % % We create some new fields make them known by the entry type -% "bookadvertisement". +% ×bookadvertisement×. % \begin{macrocode} \DeclareDatamodelFields[type=field,datatype=literal]{publicprice} \DeclareDatamodelFields[type=field,datatype=literal]{smfprice} @@ -404,7 +561,7 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% Then, we create the new bibliography driver "bookadvertisement" (that seems to +% Then, we create the new bibliography driver ×bookadvertisement× (that seems to % create the corresponding new entry). % \begin{macrocode} \newcommand*{\insertbibimage}[1]{\includegraphics[width=45mm]{#1}} @@ -416,7 +573,7 @@ This work consists of the file gzt.dtx ,fontlower=\large ,flushleft lower ,boxrule=0mm - ,frame hidden% + ,frame hidden ,leftright skip=0mm ,before skip=0mm ,lower separated=false @@ -507,11 +664,11 @@ This work consists of the file gzt.dtx \medskip % \begin{center} - Prix~public~:\c_space_tl + Prix~ public~ :\c_space_tl \EUR{\printfield{publicprice}} - \c_space_tl\textendash\c_space_tl Prix~membre~\smf{}~:\c_space_tl + \c_space_tl\textendash\c_space_tl Prix~ membre~ \smf{}~ :\c_space_tl \EUR{\printfield{smfprice}} - \c_space_tl\textendash\c_space_tl Frais~de~port~non~compris + \c_space_tl\textendash\c_space_tl Frais~ de~ port~ non~ compris \end{center} } \iffieldundef{englishabstract} @@ -521,17 +678,17 @@ This work consists of the file gzt.dtx \bigskip \begin{otherlanguage}{english} \itshape - \printfield{englishabstract}% + \printfield{englishabstract} % \par \medskip % \begin{center} - Public~price:\c_space_tl + Public~ price:\c_space_tl \EUR{\printfield{publicprice}} - \c_space_tl\textendash\c_space_tl \smf{}~member~price:\c_space_tl + \c_space_tl\textendash\c_space_tl \smf{}~ member~ price:\c_space_tl \EUR{\printfield{smfprice}} - \c_space_tl\textendash\c_space_tl Shipping~costs~not~included + \c_space_tl\textendash\c_space_tl Shipping~ costs~ not~ included \end{center} \end{otherlanguage} } @@ -543,20 +700,20 @@ This work consists of the file gzt.dtx %</datamodel> % \end{macrocode} % -% \chapter{Implementation of the \gztcl{}} +% \section{Implementation of the \Class{gzt}} % -% Here comes the code of the \gztcl{}. +% Here comes the code of the \Class{gzt}. % \begin{macrocode} %<*class> % \end{macrocode} % -% \section{Removability of local customizations} +% \subsection{Removability of local customizations} % % We define two... % \begin{macrocode} -\def\sectioncommandslist{}% -\let\saved@ifdefinable\@ifdefinable% -\let\saved@@ifdefinable\@@ifdefinable% +\def\sectioncommandslist{} +\let\saved@ifdefinable\@ifdefinable +\let\saved@@ifdefinable\@@ifdefinable \newcommand{\startcustomization}{% % Redefine \@ifdefinable \renewcommand{\@ifdefinable}[2]{% @@ -567,13 +724,13 @@ This work consists of the file gzt.dtx \listadd\sectioncommandslist##1% \saved@@ifdefinable{##1}{##2}% }% -}% +} \newcommand{\cleancustomization}{% \forlistloop{\undef}{\sectioncommandslist}% \def\sectioncommandslist{}% \let\@ifdefinable\saved@ifdefinable% \let\@@ifdefinable\saved@@ifdefinable% -}% +} % \end{macrocode} % % \begin{macrocode} @@ -584,23 +741,17 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% Selective filtering of error messages and warnings: -% \begin{macrocode} -\RequirePackage{silence}% -\WarningFilter{kpfonts}{With 'easyscsl' option} -% \end{macrocode} -% % Extending \pkg{etoolbox}'s patching commands: % \begin{macrocode} -\RequirePackage{xpatch}% +\RequirePackage{xpatch} % \end{macrocode} % -% We alter the behaviour of the internals of "\usetikzlibrary" so that the +% We alter the behaviour of the internals of ×\usetikzlibrary× so that the % \LaTeXe{} push/pop filename system is used (see -% \url{http://tex.stackexchange.com/a/57428/18401}). +% \url{https://tex.stackexchange.com/a/57428/18401}). % \begin{macrocode} -\patchcmd% - {\use@@tikzlibrary}% +\patchcmd + {\use@@tikzlibrary} {% \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% @@ -611,23 +762,25 @@ This work consists of the file gzt.dtx tikzlibrary\pgf@temp.code.tex and pgflibrary\pgf@temp.code.tex, but neither could be found in the current texmf trees.} - }}% - }% + }% + }% + } {% \@pushfilename \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% \expandafter\usepgflibrary\expandafter{\pgf@temp}% - }{% + }{ \tikzerror{I did not find the tikz library '\pgf@temp'. I looked for files named tikzlibrary\pgf@temp.code.tex and pgflibrary\pgf@temp.code.tex, but neither could be found in the current texmf trees.} - }}% + }% + }% \@popfilename - }% - {}{}% + } + {}{} \patchcmd {\tcb@input@library@in} {% @@ -641,14 +794,14 @@ This work consists of the file gzt.dtx {}{} % \end{macrocode} % -% In order to avoid "__gzt" in the name of each internal (i.e. private) function -% and variable, we make use of the "@@" place holder provided by the +% In order to avoid ×__gzt× in the name of each internal (i.e. private) function +% and variable, we make use of the ×@@× place holder provided by the % \Pkg{l3docstrip}. % \begin{macrocode} %<@@=gzt> % \end{macrocode} % -% \section{\LaTeX3 loading} +% \subsection{\LaTeX3 loading} % % For debugging purpose, \Pkg{expl3} could be loaded with its % \docAuxKey*{check-declarations} option. @@ -663,15 +816,14 @@ This work consists of the file gzt.dtx \RequirePackage{l3keys2e} % \end{macrocode} % -% This \gztcl{} will make use of the \pkg{expl3} programming interface +% This \Class{gzt} will make use of the \pkg{expl3} programming interface % (\LaTeX3). In order to load this package, it is enough to load the % \Pkg{xparse} which is anyway needed to produce document-level commands. % \begin{macrocode} \RequirePackage{xparse} -\ExplSyntaxOn % \end{macrocode} % -% The \gztcl{} is declared in the \LaTeX3{}'s way. +% The \Class{gzt} is declared in the \LaTeX3{}'s way. % \begin{macrocode} \ProvidesExplClass %<class> {gzt} @@ -679,9 +831,9 @@ This work consists of the file gzt.dtx {\gztfiledate} {\gztfileversion} { - SMF~class~for~the~French~journal^^J - "La~Gazette~des~Math'ematiciens". -%<class-article>~(Author~version.) + SMF~ class~ for~ the~ French~ journal^^J + "La~ Gazette~ de~ la~ Soci'et'e~ Math'ematique~ de~ France". +%<class-article>~ (Author~ version.) } % \end{macrocode} % @@ -690,7 +842,7 @@ This work consists of the file gzt.dtx \NeedsTeXFormat{LaTeX2e} % \end{macrocode} % -% \section{Class loading} +% \subsection{Class loading} % % \begin{macrocode} \bool_new:N \g_@@_moral_report_bool @@ -702,19 +854,21 @@ This work consists of the file gzt.dtx \bool_new:N \g_@@_inside_pages_bool % \bool_new:N \g_@@_no_inside_backcover_bool -%<class-article>\bool_gset_true:N \g_@@_for_authors_bool% -%<class-article>\bool_gset_true:N \g_@@_inside_pages_bool% +%<class-article>\bool_gset_true:N \g_@@_for_authors_bool +%<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". +% 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} {% +\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} + \tl_gset:Nn \g_@@_rubric_title_tl { + \c_@@_moralreport_rubric_string_tl + } } } % \end{macrocode} @@ -736,80 +890,86 @@ This work consists of the file gzt.dtx % % We define some class options: % \begin{itemize} -% \item "pagegrid" in order to draw a grid on each page, in order to check the +% \item ×pagegrid× in order to draw a grid on each page, in order to check the % layout (mostly for debugging purpose), % \item ... % \end{itemize} % % \begin{macrocode} -\tl_gset:Nn \g_@@_frontcover_image_file_tl {\c_@@_issue_frontcover_default_image_file_tl} -\tl_gset:Nn \g_@@_special_edition_color_tl {@@_default_cover_color} +\tl_gset:Nn \g_@@_frontcover_image_file_tl { + \c_@@_issue_frontcover_default_image_file_tl +} +\tl_gset:Nn \g_@@_special_edition_color_tl { + @@_default_cover_color +} \clist_new:N \g_@@_special_edition_logos_clist % \keys_define:nn { gzt } { pagegrid .dim_gset:N = \g_@@_pagegrid_dim, pagegrid .default:n = {\c_@@_pagegrid_dim}, - forauthors .code:n = {% - \bool_gset_true:N \g_@@_for_authors_bool% - \bool_gset_true:N \g_@@_inside_pages_bool% - },% + forauthors .code:n = { + \bool_gset_true:N \g_@@_for_authors_bool + \bool_gset_true:N \g_@@_inside_pages_bool + }, forprinter .bool_gset:N = \g_@@_for_printer_bool, frontcoverimagefile .tl_gset:N = \g_@@_frontcover_image_file_tl, frontcoverimagefile .default:n = {frontcover}, output .choice:, - output / frontcover .code:n = {% - \bool_gset_true:N \g_@@_for_printer_bool% - \bool_gset_true:N \g_@@_cover_bool% - },% - output / coverpage .code:n = {% - \bool_gset_true:N \g_@@_coverpage_bool% - },% - output / insidepages .code:n = {% - \bool_gset_true:N \g_@@_for_printer_bool% - \bool_gset_true:N \g_@@_inside_pages_bool% - },% - output / backcover .code:n = {% - \bool_gset_true:N \g_@@_for_printer_bool% - },% - output / web .code:n = {% - },% + output / frontcover .code:n = { + \bool_gset_true:N \g_@@_for_printer_bool + \bool_gset_true:N \g_@@_cover_bool + }, + output / coverpage .code:n = { + \bool_gset_true:N \g_@@_coverpage_bool + }, + output / insidepages .code:n = { + \bool_gset_true:N \g_@@_for_printer_bool + \bool_gset_true:N \g_@@_inside_pages_bool + }, + output / backcover .code:n = { + \bool_gset_true:N \g_@@_for_printer_bool + }, + output / web .code:n = { + }, specialedition .code:n = { \bool_gset_true:N \g_@@_special_edition_bool \bool_gset_true:N \g_@@_frontcover_without_minitoc_bool \keys_set:nn { gzt / specialedition } {#1} }, - specialedition / color .code:n = {% + specialedition / color .code:n = { \tl_gset:Nn \g_@@_special_edition_color_tl {#1} - },% - specialedition / minitoc .code:n = {% + }, + specialedition / minitoc .code:n = { \bool_gset_false:N \g_@@_frontcover_without_minitoc_bool - },% - specialedition / logos .code:n = {% + }, + specialedition / logos .code:n = { \clist_gset:Nn \g_@@_special_edition_logos_clist {#1} - },% - specialedition / backcover~image .code:n = {% + }, + specialedition / backcover~ image .code:n = { \tl_gset:Nn \g_@@_special_edition_backcover_image_tl {#1} - },% - specialedition / title .code:n = {% + }, + specialedition / title .code:n = { \tl_gset:Nn \g_@@_special_edition_title_tl {#1} - },% - specialedition / short~title .code:n = {% + }, + specialedition / short~ title .code:n = { \tl_gset:Nn \g_@@_special_edition_short_title_tl {#1} - },% - specialedition / editorial~heading .code:n = {% + }, + specialedition / editorial~ heading .code:n = { \tl_gset:Nn \g_@@_special_edition_editorial_heading_tl {#1} - },% - specialedition / editorial~author .code:n = {% + }, + 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} + \AddToHook{begindocument/before} { + \tl_gset:Nn \g_@@_pdftitle_string_tl { + \c_@@_moralreport_rubric_string_tl + } } }, -}% +} % \end{macrocode} % % \begin{macrocode} @@ -823,33 +983,33 @@ This work consists of the file gzt.dtx % \begin{macrocode} \keys_define:nn { gztarticle } { - editorial .code:n = {% - \AddToHook{begindocument}{% - \_@@_before_display_editorial:n {}% + editorial .code:n = { + \AddToHook{begindocument}{ + \_@@_before_display_editorial:n {} } - \AddToHook{enddocument}{% - \_@@_after_display_editorial: {}% + \AddToHook{enddocument}{ + \_@@_after_display_editorial: {} } - },% - presidentmessage .code:n = {% - \AddToHook{begindocument}{% - \_@@_before_display_presidentmessage: {}% + }, + presidentmessage .code:n = { + \AddToHook{begindocument}{ + \_@@_before_display_presidentmessage: {} } - \AddToHook{enddocument}{% - \_@@_after_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 = {% + moralreport / title .code:n = { \tl_gset:Nn \g_@@_moral_report_title_tl {#1} - },% - moralreport / short~title .code:n = {% + }, + moralreport / short~ title .code:n = { \tl_gset:Nn \g_@@_moral_report_short_title_tl {#1} - },% -}% + }, +} % \end{macrocode} % % \begin{macrocode} @@ -877,36 +1037,37 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% As subsequent class, the \Cls{book} is loaded, with "openany", "english" and -% "french" options. +% As subsequent class, the \Cls{book} is loaded, with ×openany×, ×english× and +% ×french× options. % \begin{macrocode} \PassOptionsToClass{openany,english,french}{book} \LoadClass { book } -\PassOptionsToPackage{table,cmyk}{xcolor}% -\PassOptionsToPackage{export}{adjustbox}% +\PassOptionsToPackage{table,cmyk}{xcolor} +\PassOptionsToPackage{export}{adjustbox} \PassOptionsToPackage{english,french}{translator} \PassOptionsToPackage{english,french}{babel} \PassOptionsToPackage{english,french}{varioref} \PassOptionsToPackage{english,french}{cleveref} % \end{macrocode} % -% \section{Packages loading} +% \subsection{Packages loading} % -% Many of the \gztcl{} features are provided by third party packages. In this -% section, we load them and outline their features interesting from the \gztcl{} -% point of view.\todo{When possible, the list of loaded packages should be split -% into two lists: one of the packages needed just by \gzt{} (for both its logic -% and its layout) and one of packages useful for the end user.} +% Many of the \Class{gzt} features are provided by third party packages. In this +% section, we load them and outline their features interesting from the +% \Class{gzt} point of view.\footnote{TODO: When possible, the list of loaded +% packages should be split into two lists: one of the packages needed just by +% \gzt{} (for both its logic and its layout) and one of packages useful for the +% end user.} % % \begin{enumerate} % \item Compile \TeX{} pictures stand-alone or as part of a document: % \begin{macrocode} -\RequirePackage[group=false]{standalone}% +\RequirePackage[group=false]{standalone} % \end{macrocode} % % \item Tools to load and manipulate data: % \begin{macrocode} -\RequirePackage{datatool}% +\RequirePackage{datatool} % \end{macrocode} % % \item In case of \hologo{pdfTeX} engine, we enforce \pkg{fontenc} to be loaded @@ -926,45 +1087,45 @@ This work consists of the file gzt.dtx % % Load of main font to be used: % \begin{macrocode} -\RequirePackage[sfmath,easyscsl,noDcommand]{kpfonts} +\RequirePackage[sfmath,noDcommand]{kpfonts} % \end{macrocode} % % \item Formatting both header and footers (pagestyle), and sections headers: % \begin{macrocode} -\RequirePackage[pagestyles]{titlesec}% +\RequirePackage[pagestyles]{titlesec} % \end{macrocode} % % \item Multicolumn output: % \begin{macrocode} -\RequirePackage{multicol}% +\RequirePackage{multicol} % \end{macrocode} % % \item Graphics inclusion: % \begin{macrocode} -\RequirePackage{graphicx}% +\RequirePackage{graphicx} % \end{macrocode} % % \item Establish input relative to a directory: % \begin{macrocode} -%<class>\RequirePackage{import}% +%<class>\RequirePackage{import} % \end{macrocode} % % \item Allow tables to flow over page boundaries: % \begin{macrocode} -\RequirePackage{longtable}% +\RequirePackage{longtable} % \end{macrocode} % % \item Put a grey textual watermark on document pages (loaded only if -% "forauthors" \gzt{}'s option is on): +% ×forauthors× \gzt{}'s option is on): % \begin{macrocode} %<class>\bool_if:nT { \g_@@_for_authors_bool } { -%<class> \RequirePackage{draftwatermark}[2006/06/30]% +%<class> \RequirePackage{draftwatermark}[2006/06/30] %<class>} % \end{macrocode} % % \item Graphics package-alike macros for \enquote{general} boxes: % \begin{macrocode} -\RequirePackage{adjustbox}% +\RequirePackage{adjustbox} % \end{macrocode} % % \item Packages and image files for MWEs (used in case of missing pictograms): @@ -987,38 +1148,42 @@ This work consists of the file gzt.dtx % \item A new reference scheme for \LaTeX{}, providing the facilities of the % \package{xr} and \package{xr-hyper} packages: % \begin{macrocode} -\RequirePackage{zref-xr}% +\RequirePackage{zref-xr} % \end{macrocode} % -% \item Alternative versions of "ragged"-type commands: +% \item Alternative versions of ×ragged×-type commands: % \begin{macrocode} -\RequirePackage{ragged2e}% +\RequirePackage{ragged2e} % \end{macrocode} % % \item Define commands that appear not to eat spaces: % \begin{macrocode} -\RequirePackage{xspace}% +\RequirePackage{xspace} % \end{macrocode} % % \item ...: % \begin{macrocode} -\RequirePackage{textcase}% +\RequirePackage{textcase} % \end{macrocode} % % \item For typesetting epigraphs: % \begin{macrocode} -\RequirePackage{epigraph}% +\RequirePackage{epigraph} % \end{macrocode} % % \item Context sensitive quotation facilities: % \begin{macrocode} -\RequirePackage[autostyle]{csquotes}% +\RequirePackage[autostyle]{csquotes} % \end{macrocode} % % \item Programmable bibliographies and citations: % \begin{macrocode} -\RequirePackage[backend=biber,datamodel=gzt,defernumbers=true,autolang=other]{biblatex}% -\@ifpackagelater{biblatex}{2016/01/01}{% +\RequirePackage[ + datamodel=gzt, + defernumbers=true, + autolang=other +]{biblatex} +\@ifpackagelater{biblatex}{2016/01/01}{ \ExecuteBibliographyOptions{giveninits} }{ \ExecuteBibliographyOptions{firstinits} @@ -1087,7 +1252,7 @@ This work consists of the file gzt.dtx % % \item For translating words in \LaTeX{}. % \begin{macrocode} -\RequirePackage{translator}% +\RequirePackage{translator} % \end{macrocode} % % \item Flexible and easy interface to page dimensions: @@ -1098,42 +1263,42 @@ This work consists of the file gzt.dtx % \item Bilingual (French and English) documents, with French as default % language: % \begin{macrocode} -\RequirePackage{babel}% +\RequirePackage{babel} % \end{macrocode} % % \item METAFONT and macros for Euro sign: % \begin{macrocode} -\RequirePackage{eurosym}% +\RequirePackage{eurosym} % \end{macrocode} % % Expandable checks for the current language: % \begin{macrocode} -\RequirePackage{iflang}[2007/11/11]% +\RequirePackage{iflang}[2007/11/11] % \end{macrocode} % % \item Tagging tables of contents: % \begin{macrocode} -%<class>\RequirePackage{tableof}% +%<class>\RequirePackage{tableof} % \end{macrocode} % % \item Completely customisable TOCs: % \begin{macrocode} -\RequirePackage{etoc}% +\RequirePackage{etoc} % \end{macrocode} % % \item Subliminal refinements towards typographical perfection: % \begin{macrocode} -\RequirePackage[babel=true]{microtype}% +\RequirePackage[babel=true]{microtype} % \end{macrocode} % % \item Current date and time formatting: % \begin{macrocode} -\RequirePackage[nodayofweek]{datetime}% +\RequirePackage[nodayofweek]{datetime} % \end{macrocode} % % \item Customization of lists: % \begin{macrocode} -\RequirePackage[inline]{enumitem}% +\RequirePackage[inline]{enumitem} % \end{macrocode} % % \item Execute command after the next page break: @@ -1143,11 +1308,11 @@ This work consists of the file gzt.dtx % % \item Extension of \LaTeX{}'s color facilities: % \begin{macrocode} -\RequirePackage{xcolor}% +\RequirePackage{xcolor} % \end{macrocode} % % \item We need to avoid some macros from few of the following packages to be -% added to "\@preamblecmds": +% added to ×\@preamblecmds×: % \begin{macrocode} %<class|class-article>\cs_set_eq:NN \_@@_orig_preamblecmds \@preamblecmds % \end{macrocode} @@ -1174,7 +1339,7 @@ This work consists of the file gzt.dtx % % \item Print page grid in background: % \begin{macrocode} -%<class>\RequirePackage[foreground]{pagegrid}% +%<class>\RequirePackage[foreground]{pagegrid} % \end{macrocode} % % \item Typesetting theorems (AMS style): @@ -1187,34 +1352,34 @@ This work consists of the file gzt.dtx \RequirePackage{thmtools} % \end{macrocode} % -% We restore "\@preamblecmds" as it was before: +% We restore ×\@preamblecmds× as it was before: % \begin{macrocode} %<class|class-article>\cs_set_eq:NN \@preamblecmds \_@@_orig_preamblecmds % \end{macrocode} % % \item Control float placement: % \begin{macrocode} -\RequirePackage{placeins}% +\RequirePackage{placeins} % \end{macrocode} % % \item Hypertext marks: % \begin{macrocode} -\RequirePackage[hidelinks,hypertexnames=false]{hyperref}% +\RequirePackage[hidelinks,hypertexnames=false]{hyperref} % \end{macrocode} % % \item A new bookmark (outline) organization for \Pkg{hyperref}: % \begin{macrocode} -\RequirePackage[numbered]{bookmark}% +\RequirePackage[numbered]{bookmark} % \end{macrocode} % % \item Create glossaries and lists of acronyms: % \begin{macrocode} -\RequirePackage[nowarn]{glossaries}% +\RequirePackage[nowarn]{glossaries} % \end{macrocode} % % \item Intelligent cross-referencing: % \begin{macrocode} -\RequirePackage{cleveref}% +\RequirePackage{cleveref} % \end{macrocode} % \end{enumerate} % @@ -1236,11 +1401,11 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Miscellaneous patches} +% \subsection{Miscellaneous patches} % -% We pop some commands from the "\@preamblecmds" list in order to allow -% "\DeclareMathOperator" to be used after the preamble (see -% \url{http://tex.stackexchange.com/q/223421/18401}). +% We pop some commands from the ×\@preamblecmds× list in order to allow +% ×\DeclareMathOperator× to be used after the preamble (see +% \url{https://tex.stackexchange.com/q/223421/18401}). % \begin{macrocode} \tl_remove_all:Nn \@preamblecmds { \do \DeclareMathOperator } \tl_remove_all:Nn \@preamblecmds { \do \newacronym } @@ -1248,50 +1413,48 @@ This work consists of the file gzt.dtx \tl_remove_all:Nn \@preamblecmds { \do \usetikzlibrary } % \end{macrocode} % -% \section{Messages} +% \subsection{Messages} % % In this section, some messages are declared for future use. % \begin{macrocode} -\msg_new:nnnn{gzt}{issue-number-needed}{Option~`#1'~needed!} - {Please~specify~`#1=<number>', - ~otherwise~`<number>'~will~be~set~to - ~`\int_use:N\c_@@_first_issue_number_int'.} -\msg_new:nnnn{gzt}{unknown-choice}{Choice~`#3'~invalid!} - {Please~specify~#1=#2.} -%<class>\msg_new:nnnn{gzt}{configuration-file-missing}{File~`\c_@@_configuration_file_string_tl'~missing!} +\msg_new:nnnn{gzt}{issue-number-needed}{Option~ `#1'~ needed!} + {Please~ specify~ `#1=<number>', + ~ otherwise~ `<number>'~ will~ be~ set~ to + ~ `\int_use:N\c_@@_first_issue_number_int'.} +\msg_new:nnnn{gzt}{unknown-choice}{Choice~ `#3'~ invalid!} + {Please~ specify~ #1=#2.} +%<class>\msg_new:nnnn{gzt}{configuration-file-missing}{File~ `\c_@@_configuration_file_string_tl'~ missing!} %<class> {The~ whole~ issue~ may~ not~ be~ conform~ if~ `\c_@@_configuration_file_string_tl'~ is~ missing.} -%<class>\msg_new:nnnn{gzt}{editorial-file-missing}{File~`\c_@@_editorial_file_string_tl'~missing!} +%<class>\msg_new:nnnn{gzt}{editorial-file-missing}{File~ `\c_@@_editorial_file_string_tl'~ missing!} %<class> {The~ whole~ issue~ requires~ the~ `\c_@@_editorial_file_string_tl'~ file.} % \end{macrocode} % -% \section{Counters} +% \subsection{Counters} % % In this section, we define some counters for future use. % -% \begin{macro}{\g_@@_editors_in_chief_int} -% \begin{macro}{\g_@@_articles_int} -% \begin{macro}{\g_@@_questions_answers_int} +% \begin{macro}{\g_@@_editors_in_chief_int,\g_@@_articles_int,\g_@@_questions_answers_int} % -% The integer "\g_@@_editors_in_chief_int" will count the number of editors in +% The integer ×\g_@@_editors_in_chief_int× will count the number of editors in % chief in order to use singular or plural form of the corresponding string % \enquote{Rédacteur(s) en chef}. % \begin{macrocode} \int_new:N \g_@@_editors_in_chief_int % \end{macrocode} % -% The integer "\g_@@_item_in_rubric_int" will count the number of item in +% The integer ×\g_@@_item_in_rubric_int× will count the number of item in % a rubric in order to give a specific behavior of the first of them. % \begin{macrocode} \int_new:N \g_@@_item_in_rubric_int % \end{macrocode} % -% The integer "\g_@@_articles_int" will count the number of articles in order to +% The integer ×\g_@@_articles_int× will count the number of articles in order to % provide for each of them a unique bibliographic key. % \begin{macrocode} \int_new:N \g_@@_articles_int % \end{macrocode} % -% The integer "\g_@@_question_int" will count the number of questions +% The integer ×\g_@@_question_int× will count the number of questions % (and hence of answers) in order to provide distinguish between the first and % the subsequent questions/answers of an interview, the former being likely to % be typeset differently (e.g. the names of the interviewer and the interviewee @@ -1300,21 +1463,16 @@ This work consists of the file gzt.dtx \int_new:N \g_@@_question_int % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \section{Constants} +% \subsection{Constants} % % In this section, we declared some constants for future use. % -% \subsection{Integers} +% \subsubsection{Integers} % -% \subsubsection{Issue numbers} +% \paragraph{Issue numbers} % -% \begin{macro}{\c_@@_first_issue_number_int} -% \begin{macro}{\c_@@_first_issue_year_int} -% \begin{macro}{\c_@@_first_issue_month_int} -% \begin{macro}{\c_@@_interval_in_months_int} +% \begin{macro}{\c_@@_first_issue_number_int,\c_@@_first_issue_year_int,\c_@@_first_issue_month_int,\c_@@_interval_in_months_int} % The first issue number, month and year, and the interval (in months) between % two consecutive issues, are declared. % \begin{macrocode} @@ -1324,45 +1482,17 @@ This work consists of the file gzt.dtx \int_const:Nn \c_@@_interval_in_months_int { 3 } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Strings and keywords} +% \subsubsection{Strings and keywords} % % We now declare some private string constants. % -% \begin{macro}{\c_@@_journal_short_title_string_tl} -% \begin{macro}{\c_@@_journal_title_string_tl} -% \begin{macro}{\c_@@_editors_in_chief_string_tl} -% \begin{macro}{\c_@@_editors_string_tl} -% \begin{macro}{\c_@@_editorial_board_string_tl} -% \begin{macro}{\c_@@_editorial_secretariat_string_tl} -% \begin{macro}{\c_@@_phone_string_tl} -% \begin{macro}{\c_@@_fax_string_tl} -% \begin{macro}{\c_@@_informations_string_tl} -% \begin{macro}{\c_@@_publishingdirector_string_tl} -% \begin{macro}{\c_@@_issn_string_tl} -% \begin{macro}{\c_@@_isbn_string_tl} -% \begin{macro}{\c_@@_latexclass_string_tl} -% \begin{macro}{\c_@@_font_string_tl} -% \begin{macro}{\c_@@_configuration_file_string_tl} -% \begin{macro}{\c_@@_cover_string_tl} -% \begin{macro}{\c_@@_artistic_director_string_tl} -% \begin{macro}{\c_@@_editorial_heading_string_tl} -% \begin{macro}{\c_@@_toc_string_tl} -% \begin{macro}{\c_@@_message_string_tl} -% \begin{macro}{\c_@@_president_signatory_string_tl} -% \begin{macro}{\c_@@_editorinchief_signatory_string_tl} -% \begin{macro}{\c_@@_issue_bib_file_tl} -% \begin{macro}{\c_@@_about_frontcover_string_tl} -% \begin{macro}{\c_@@_credit_frontcover_string_tl} -% \begin{macro}{\c_@@_authors_instructions_string_tl} +% \begin{macro}{\c_@@_journal_short_title_string_tl,\c_@@_journal_title_string_tl,\c_@@_editors_in_chief_string_tl,\c_@@_editors_string_tl,\c_@@_editorial_board_string_tl,\c_@@_editorial_secretariat_string_tl,\c_@@_phone_string_tl,\c_@@_fax_string_tl,\c_@@_informations_string_tl,\c_@@_publishingdirector_string_tl,\c_@@_issn_string_tl,\c_@@_isbn_string_tl,\c_@@_latexclass_string_tl,\c_@@_font_string_tl,\c_@@_configuration_file_string_tl,\c_@@_cover_string_tl,\c_@@_artistic_director_string_tl,\c_@@_editorial_heading_string_tl,\c_@@_toc_string_tl,\c_@@_message_string_tl,\c_@@_president_signatory_string_tl,\c_@@_editorinchief_signatory_string_tl,\c_@@_issue_bib_file_tl,\c_@@_about_frontcover_string_tl,\c_@@_credit_frontcover_string_tl,\c_@@_authors_instructions_string_tl} % For the journal's short and long titles. % \begin{macrocode} \tl_const:Nn \c_@@_journal_short_title_string_tl {Gazette} \tl_const:Nn \c_@@_journal_title_string_tl { - \c_@@_journal_short_title_string_tl{}~des~Math\'ematiciens% + \c_@@_journal_short_title_string_tl{}~ de~ la~ Soci\'et\'e~ Math\'ematique~ de~ France } % \end{macrocode} % @@ -1383,11 +1513,11 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the editor in chief. % \begin{macrocode} -\tl_const:Nn \c_@@_editorinchief_string_tl {R\'edacteur~en~chef } +\tl_const:Nn \c_@@_editorinchief_string_tl {R\'edacteur~ en~ chef } % \end{macrocode} % For the editors in chief (plural form of the previous one). % \begin{macrocode} -\tl_const:Nn \c_@@_editorsinchief_string_tl {R\'edacteurs~en~chef } +\tl_const:Nn \c_@@_editorsinchief_string_tl {R\'edacteurs~ en~ chef } % \end{macrocode} % For the editors. % \begin{macrocode} @@ -1395,15 +1525,18 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the editorial board. % \begin{macrocode} -\tl_const:Nn \c_@@_editorial_board_string_tl {Comit\'e~de~r\'edaction} +\tl_const:Nn \c_@@_editorial_board_string_tl {Comit\'e~ de~ r\'edaction} % \end{macrocode} -% For the editorial board of special_edition. +% For the editorial board of special edition. % \begin{macrocode} -\tl_const:Nn \c_@@_special_edition_editorial_board_string_tl {Num\'ero~sp\'ecial~de~la~Gazette~des~Math\'ematiciens~sous~la~direction~de~:} +\tl_const:Nn \c_@@_special_edition_editorial_board_string_tl { + Num\'ero~ sp\'ecial~ de~ la~ Gazette~ de~ la~ Soci\'et\'e~ Math\'ematique~ de~ + France~ sous~ la~ direction~ de~ : +} % \end{macrocode} % For the editorial_secretariat. % \begin{macrocode} -\tl_const:Nn \c_@@_editorial_secretariat_string_tl {Secr\'etariat~de~r\'edaction} +\tl_const:Nn \c_@@_editorial_secretariat_string_tl {Secr\'etariat~ de~ r\'edaction} % \end{macrocode} % For the phone. % \begin{macrocode} @@ -1419,7 +1552,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the publishing director. % \begin{macrocode} -\tl_const:Nn \c_@@_publishingdirector_string_tl {Directeur~de~la~publication} +\tl_const:Nn \c_@@_publishingdirector_string_tl {Directeur~ de~ la~ publication} % \end{macrocode} % For the \textsc{issn}. % \begin{macrocode} @@ -1431,7 +1564,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For "\LaTeX Class". % \begin{macrocode} -\tl_const:Nn \c_@@_latexclass_string_tl {Classe~\LaTeX{}} +\tl_const:Nn \c_@@_latexclass_string_tl {Classe~ \LaTeX{}} % \end{macrocode} % For "Impression". % \begin{macrocode} @@ -1443,7 +1576,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the artistic director. % \begin{macrocode} -\tl_const:Nn \c_@@_artistic_director_string_tl {Conception~graphique} +\tl_const:Nn \c_@@_artistic_director_string_tl {Conception~ graphique} % \end{macrocode} % For the editorial. % \begin{macrocode} @@ -1457,7 +1590,9 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the editor in chief. % \begin{macrocode} -\tl_const:Nn \c_@@_editorinchief_signatory_string_tl {\c_@@_editorinchief_string_tl~de~la~\c_@@_journal_title_string_tl} +\tl_const:Nn \c_@@_editorinchief_signatory_string_tl { + \c_@@_editorinchief_string_tl~ de~ la~ \c_@@_journal_title_string_tl +} % \end{macrocode} % For the table of contents. % \begin{macrocode} @@ -1465,25 +1600,25 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the president message. % \begin{macrocode} -\tl_const:Nn \c_@@_president_message_string_tl {Mot~du~pr\'esident} +\tl_const:Nn \c_@@_president_message_string_tl {Mot~ du~ pr\'esident} % \end{macrocode} % For the president. % \begin{macrocode} -\tl_const:Nn \c_@@_president_signatory_string_tl {pr\'esident~de~la~\g_@@_smf_short_string_tl} +\tl_const:Nn \c_@@_president_signatory_string_tl {pr\'esident~ de~ la~ \g_@@_smf_short_string_tl} % \end{macrocode} % For the date of the editor in chief's message. % \begin{macrocode} -\tl_const:Nn \c_@@_editorinchief_message_date_string_tl {Le~\displaydate{@@_editorinchief_message_date}} +\tl_const:Nn \c_@@_editorinchief_message_date_string_tl {Le~ \displaydate{@@_editorinchief_message_date}} % \end{macrocode} % For the date of the president's message. % \begin{macrocode} -\tl_const:Nn \c_@@_president_message_date_string_tl {Le~} +\tl_const:Nn \c_@@_president_message_date_string_tl {Le~ } % \end{macrocode} % For the special editions. % \begin{macrocode} \tl_const:Nn \c_@@_special_edition_string_tl {\c_space_tl{}sp{\'e}cial} -\tl_const:Nn \c_@@_long_special_edition_string_tl {Numéro\c_@@_special_edition_string_tl}% -\tl_const:Nn \c_@@_short_special_edition_string_tl {\No{}\c_@@_special_edition_string_tl}% +\tl_const:Nn \c_@@_long_special_edition_string_tl {Numéro\c_@@_special_edition_string_tl} +\tl_const:Nn \c_@@_short_special_edition_string_tl {\No{}\c_@@_special_edition_string_tl} % \end{macrocode} % For the front cover header text. % \begin{macrocode} @@ -1501,14 +1636,14 @@ This work consists of the file gzt.dtx \textendash{} \c_space_tl \No - \int_use:N\g_@@_issue_number_int% + \int_use:N\g_@@_issue_number_int } } } % \end{macrocode} % For the graphics extensions. % \begin{macrocode} -\clist_const:Nn \c_@@__graphics_extensions_clist {png,PNG,jpg,JPG,jpeg,JPEG,pdf,PDF} +\clist_const:Nn \c_@@_graphics_extensions_clist {png,PNG,jpg,JPG,jpeg,JPEG,pdf,PDF} % \end{macrocode} % For the pdftitle text. % \begin{macrocode} @@ -1558,7 +1693,7 @@ This work consists of the file gzt.dtx % For the name and path of the images directory. % \begin{macrocode} \tl_const:Nn \c_@@_images_directory_string_tl {images} -\tl_const:Nn \c_@@_issue_images_path_string_tl {% \c_@@_issue_path_string_tl/ +\tl_const:Nn \c_@@_issue_images_path_string_tl { \c_@@_images_directory_string_tl} % \end{macrocode} % For the name of the file containing the image of the current issue's front cover. @@ -1568,17 +1703,23 @@ This work consists of the file gzt.dtx % For the name of the file containing the text of the current issue's back cover. % \begin{macrocode} \tl_const:Nn \c_@@_issue_backcover_text_file_string_tl {backcover} -\tl_const:Nn \c_@@_backcover_page_file_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_issue_backcover_text_file_string_tl} +\tl_const:Nn \c_@@_backcover_page_file_string_tl { + \c_@@_backmatter_directory_string_tl/\c_@@_issue_backcover_text_file_string_tl +} % \end{macrocode} % For the name of the file containing the text of the special issue's abstract back cover. % \begin{macrocode} \tl_const:Nn \c_@@_special_edition_backcover_text_file_string_tl {abstract_backcover} -\tl_const:Nn \c_@@_special_edition_backcover_page_file_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_text_file_string_tl} +\tl_const:Nn \c_@@_special_edition_backcover_page_file_string_tl { + \c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_text_file_string_tl +} % \end{macrocode} % For the name of the file of the special issue's picture back cover. % \begin{macrocode} \tl_const:Nn \c_@@_special_edition_backcover_picture_string_tl {picture_backcover} -\tl_const:Nn \c_@@_special_edition_backcover_page_picture_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_picture_string_tl} +\tl_const:Nn \c_@@_special_edition_backcover_page_picture_string_tl { + \c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_picture_string_tl +} % \end{macrocode} % For the name of the file containing the acronyms. % \begin{macrocode} @@ -1591,7 +1732,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the few words about the front cover. % \begin{macrocode} -\tl_const:Nn \c_@@_about_frontcover_string_tl {\`A~propos~de~la~couverture.} +\tl_const:Nn \c_@@_about_frontcover_string_tl {\`A~ propos~ de~ la~ couverture.} % \end{macrocode} % For the credit of the front cover. % \begin{macrocode} @@ -1599,16 +1740,16 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the authors instructions. % \begin{macrocode} -\tl_const:Nn \c_@@_authors_instructions_string_tl {Instructions~aux~auteurs} +\tl_const:Nn \c_@@_authors_instructions_string_tl {Instructions~ aux~ auteurs} % \end{macrocode} % For the preliminary versions sent to authors for checking. % \begin{macrocode} -\tl_const:Nn \c_@@_preliminary_version_string_tl {% - Ce~document~est~une~{\'e}preuve~vous~permettant~de~contr{\^o}ler~l'int{\'e}grit{\'e}~du~ - texte~d'origine~(et~de~la~bibliographie~s'il~y~en~a~une)~de~votre~article~ - {\`a}~para{\^\i}tre~dans~le~prochain~num{\'e}ro~de~la~\gzt*{}.~La~mise~en~page~ - actuelle~n'est~pas~d{\'e}finitive\,:~votre~article~pourra~en~particulier~ne~pas~ - d{\'e}buter~en~haut~d'une~page.% +\tl_const:Nn \c_@@_preliminary_version_string_tl { + Ce~ document~ est~ une~ {\'e}preuve~ vous~ permettant~ de~ contr{\^o}ler~ l'int{\'e}grit{\'e}~ du~ + texte~ d'origine~ (et~ de~ la~ bibliographie~ s'il~ y~ en~ a~ une)~ de~ votre~ article~ + {\`a}~ para{\^\i}tre~ dans~ le~ prochain~ num{\'e}ro~ de~ la~ \gzt*{}.~ La~ mise~ en~ page~ + actuelle~ n'est~ pas~ d{\'e}finitive\,:~ votre~ article~ pourra~ en~ particulier~ ne~ pas~ + d{\'e}buter~ en~ haut~ d'une~ page. } % \end{macrocode} % For the string that preceeds the title in the \enquote{Tell me} rubric. @@ -1638,9 +1779,9 @@ This work consists of the file gzt.dtx % \begin{macrocode} \tl_const:Nn \c_@@_mathematics_rubric_string_tl {Math\'ematiques} \tl_const:Nn \c_@@_dossier_rubric_string_tl {Dossier} -\tl_const:Nn \c_@@_community_rubric_string_tl {Vie~de~la~communaut\'e} +\tl_const:Nn \c_@@_community_rubric_string_tl {Vie~ de~ la~ communaut\'e} \tl_const:Nn \c_@@_interview_rubric_string_tl {Entretien} -\tl_const:Nn \c_@@_teaching_rubric_string_tl {Diffusion~des~savoirs} +\tl_const:Nn \c_@@_teaching_rubric_string_tl {Diffusion~ des~ savoirs} \tl_const:Nn \c_@@_parity_rubric_string_tl {Parit\'e} \tl_const:Nn \c_@@_tellme_rubric_string_tl {Raconte-moi} \tl_const:Nn \c_@@_information_rubric_string_tl {Information} @@ -1648,42 +1789,20 @@ This work consists of the file gzt.dtx \tl_const:Nn \c_@@_tribute_rubric_string_tl {Carnet} % \tl_const:Nn \c_@@_books_rubric_string_tl {Recension} \tl_const:Nn \c_@@_books_rubric_string_tl {Livres} -\tl_const:Nn \c_@@_latex_rubric_string_tl {Astuces~\LaTeX{}} -\tl_const:Nn \c_@@_forum_rubric_string_tl {Tribune~libre} -\tl_const:Nn \c_@@_published_with_help_of_string_tl {Publi\'e~avec~le~concours~de~:} +\tl_const:Nn \c_@@_latex_rubric_string_tl {Astuces~ \LaTeX{}} +\tl_const:Nn \c_@@_forum_rubric_string_tl {Tribune~ libre} +\tl_const:Nn \c_@@_published_with_help_of_string_tl {Publi\'e~ avec~ le~ concours~ de~ :} \tl_const:Nn \c_@@_advertisement_directory_string_tl {advertisement/} \tl_const:Nn \c_@@_advertisement_string_tl {Publicit\'e} -\tl_const:Nn \c_@@_moralreport_rubric_string_tl {Rapport~moral} +\tl_const:Nn \c_@@_moralreport_rubric_string_tl {Rapport~ moral} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % For the long and short forms of \textsc{smf}. % \begin{macrocode} \tl_const:Nn \c_@@_smf_short_string_tl {\textsc{smf}} \tl_const:Nn \c_@@_smf_short_pdf_string_tl {SMF} -\tl_const:Nn \c_@@_smf_string_tl {Soci\'et\'e~Math\'ematique~de~France} +\tl_const:Nn \c_@@_smf_string_tl {Soci\'et\'e~ Math\'ematique~ de~ France} % \end{macrocode} % For the long and short forms of \enquote{c'est-à-dire} and % \enquote{C'est-à-dire} (\enquote{that is} and \enquote{That is}). @@ -1705,8 +1824,10 @@ This work consists of the file gzt.dtx \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}} } - { + \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} { @@ -1721,7 +1842,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the name of the file containing the \textsc{smf} logo. % \begin{macrocode} - \file_if_exist:nTF { logo_SMF.pdf }{% + \file_if_exist:nTF { logo_SMF.pdf }{ \tl_const:Nn \c_@@_smf_logo_file_string_tl {logo_SMF} }{ \tl_const:Nn \c_@@_smf_logo_file_string_tl {example-image} @@ -1744,7 +1865,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the interview title. % \begin{macrocode} -\tl_const:Nn \c_@@_interview_title_string_tl {En~apart\'e~avec~} +\tl_const:Nn \c_@@_interview_title_string_tl {En~ apart\'e~ avec~ } % \end{macrocode} % For the asides opening and eventuelly closing punctuation marks. % \begin{macrocode} @@ -1760,43 +1881,29 @@ This work consists of the file gzt.dtx \int_compare:nNnT {\g_@@_issue_number_int}={0} { \c_@@_footer_size_font_tl \IfLanguageName{french}{ - Compil\'e~le~ + Compil\'e~ le~ }{ - Compiled~on~ + Compiled~ on~ } \today } } % \end{macrocode} % -% % \begin{macro}{smf} -% % \begin{macro}{issn} -% % \begin{macro}{isbn} -% % \begin{macro}{cv} +% % \begin{macro}{smf,issn,isbn,cv} % % \begin{macrocode} -% \newacronym{smf}{smf}{\c_@@_smf_string_tl}% -% \newacronym{issn}{issn}{International Standard Serial Number}% -% \newacronym{isbn}{isbn}{International Standard Book Number}% -% \newacronym{cv}{cv}{curriculum vit\ae}% +% \newacronym{smf}{smf}{\c_@@_smf_string_tl} +% \newacronym{issn}{issn}{International Standard Serial Number} +% \newacronym{isbn}{isbn}{International Standard Book Number} +% \newacronym{cv}{cv}{curriculum vit\ae} % \end{macrocode} % % \end{macro} -% % \end{macro} -% % \end{macro} -% % \end{macro} % -% \subsection{Booleans} +% \subsubsection{Booleans} % % We now declare the booleans that will be used. % -% \begin{macro}{\g_@@_frontcover_bool} -% \begin{macro}{\g_@@_inside_frontcover_bool} -% \begin{macro}{\g_@@_inside_backcover_bool} -% \begin{macro}{\g_@@_frontmatter_bool} -% \begin{macro}{\g_@@_rubric_bool} -% \begin{macro}{\g_@@_interview_rubric_bool} -% \begin{macro}{\g_@@_mainmatter_bool} -% \begin{macro}{\g_@@_backmatter_bool} -% \begin{macro}{\g_@@_backcover_bool} +% \begin{macro}{\g_@@_frontcover_bool,\g_@@_inside_frontcover_bool,\g_@@_inside_backcover_bool,\g_@@_frontmatter_bool,\g_@@_rubric_bool,\g_@@_interview_rubric_bool,\g_@@_mainmatter_bool,\g_@@_backmatter_bool,\g_@@_backcover_bool} % The following booleans will be used to test wheter we are respectively in the % front cover, in the inside front cover, in the frontmatter, in (first page % of) a rubric, in the mainmatter. @@ -1816,14 +1923,6 @@ This work consists of the file gzt.dtx \bool_new:N \g_@@_frontcover_without_minitoc_bool % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % \begin{macro}{\g_@@_previous_article_with_bibliography_or_minibio_bool} % The following boolean will be used to test, for a given (not first) article @@ -1845,7 +1944,7 @@ This work consists of the file gzt.dtx % % \begin{macro}{\g_@@_multicols_bool} % The following boolean will be used to test wheter we are inside -% a \pkg{multicol}'s "multicols" environment. +% a \pkg{multicol}'s ×multicols× environment. % \begin{macrocode} \bool_new:N \g_@@_multicols_bool % \end{macrocode} @@ -1853,20 +1952,17 @@ This work consists of the file gzt.dtx % % \begin{macro}{\g_@@_refsection_bool} % The following boolean will be used to test wheter we are inside -% a \pkg{biblatex}'s "refsection" environment. +% a \pkg{biblatex}'s ×refsection× environment. % \begin{macrocode} \bool_new:N \g_@@_refsection_bool % \end{macrocode} % \end{macro} % -% \subsection{Dimensions} +% \subsubsection{Dimensions} % -% \subsubsection{Geometry of the page} +% \paragraph{Geometry of the page} % -% \begin{macro}{\c_@@_rubrics_abstract_width_dim} -% \begin{macro}{\c_@@_rubrics_head_text_abstract_width_dim} -% \begin{macro}{\c_@@_rubrics_head_text_no_abstract_width_dim} -% \begin{macro}{\l_@@_rubrics_head_text_width_dim} +% \begin{macro}{\c_@@_rubrics_abstract_width_dim,\c_@@_rubrics_head_text_abstract_width_dim,\c_@@_rubrics_head_text_no_abstract_width_dim,\l_@@_rubrics_head_text_width_dim} % We declare the constant (default) dimensions of the boxes containing the % abstract and head text rubrics. % \begin{macrocode} @@ -1877,21 +1973,8 @@ This work consists of the file gzt.dtx \dim_new:N \l_@@_rubrics_head_text_width_dim % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{\c_@@_offset_dim} -% \begin{macro}{\c_@@_paperheight_dim} -% \begin{macro}{\c_@@_paperwidth_dim} -% \begin{macro}{\c_@@_topmargin_dim} -% \begin{macro}{\c_@@_headsep_dim} -% \begin{macro}{\c_@@_botmargin_dim} -% \begin{macro}{\c_@@_innermargin_dim} -% \begin{macro}{\c_@@_outermargin_dim} -% \begin{macro}{\c_@@_footskip_dim} -% \begin{macro}{\c_@@_header_line_width_dim} -% \begin{macro}{\c_@@_header_line_yshift_dim} +% \begin{macro}{\c_@@_offset_dim,\c_@@_paperheight_dim,\c_@@_paperwidth_dim,\c_@@_topmargin_dim,\c_@@_headsep_dim,\c_@@_botmargin_dim,\c_@@_innermargin_dim,\c_@@_outermargin_dim,\c_@@_footskip_dim,\c_@@_header_line_width_dim,\c_@@_header_line_yshift_dim} % We first declare the default page layout constant dimensions. % \begin{macrocode} \dim_const:Nn \c_@@_layoutheight_dim { 270mm} @@ -1899,14 +1982,14 @@ This work consists of the file gzt.dtx % \end{macrocode} % % We define a \enquote{printer} layout offset dimension -% "\c_@@_printer_layoutoffset_dim", fixed by the printer to be \SI{5}{\mm}. +% ×\c_@@_printer_layoutoffset_dim×, fixed by the printer to be \SI{5}{\mm}. % \begin{macrocode} \dim_const:Nn \c_@@_printer_layoutoffset_dim { 5mm} % \end{macrocode} % % We define a \enquote{potential} layout offset dimension which is non-zero (and % the equal to \enquote{printer} layout offset dimension) iff the output is -% prepared for the printer ("\g_@@_for_printer_bool" flag equals true). +% prepared for the printer (×\g_@@_for_printer_bool× flag equals true). % \begin{macrocode} \bool_if:NTF {\g_@@_for_printer_bool} { \dim_const:Nn \c_@@_potential_layoutoffset_dim { \c_@@_printer_layoutoffset_dim} @@ -1916,7 +1999,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % % We define a \enquote{printer} binding dimension -% "\c_@@_printer_bindingoffset_dim", fixed by the printer to have different +% ×\c_@@_printer_bindingoffset_dim×, fixed by the printer to have different % values depending on some total pages thresholds. If the binding dimension is % denoted by $b$ (and expressed in millimeters) and the total page number of the % document\footnote{Except cover pages, that is the \enquote{real} total page @@ -1954,15 +2037,15 @@ This work consists of the file gzt.dtx % \end{macrocode} % % In order to know the total pages number of the document (store in -% "\g_@@_total_page_number_int"), we need first to specify the +% ×\g_@@_total_page_number_int×), we need first to specify the % \enquote{external} document whom \File{.aux} will be read. % \begin{macrocode} -\int_new:N \g_@@_total_pages_number_int% -\int_new:N \g_@@_total_inside_pages_number_int% -\zexternaldocument[self]{\jobname}% +\int_new:N \g_@@_total_pages_number_int +\int_new:N \g_@@_total_inside_pages_number_int +\zexternaldocument[self]{\jobname} % \end{macrocode} % -% We extract the total pages number thanks to "\zref@extractdefault" from +% We extract the total pages number thanks to ×\zref@extractdefault× from % \Package{zref-totpages}. % \begin{macrocode} \int_gset:Nn \g_@@_total_pages_number_int { \zref@extractdefault{selfLastPage}{abspage}{0} } @@ -1970,7 +2053,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % % The \enquote{printer} binding dimension is now store in -% "\c_@@_printer_bindingoffset_dim" following \vref{binding}. +% ×\c_@@_printer_bindingoffset_dim× following \vref{binding}. % % \begin{macrocode} \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_a_int} @@ -2006,9 +2089,9 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% The binding offset is applied iff the front cover is required ("frontcover" +% The binding offset is applied iff the front cover is required (×frontcover× % option), which implies the output is prepared for the printer, with non-zero -% offset ("\g_@@_for_printer_bool" flag equals true). +% offset (×\g_@@_for_printer_bool× flag equals true). % \begin{macrocode} \bool_if:NTF {\g_@@_cover_bool} { \dim_const:Nn \c_@@_potential_bindingoffset_dim { \c_@@_printer_bindingoffset_dim } @@ -2095,14 +2178,14 @@ This work consists of the file gzt.dtx \dim_const:Nn \c_@@_footskip_dim { 26mm} % \end{macrocode} % -% Inner margins of the initial issue (\#~143) were too small. We make them -% definitively bigger as of \SI{5}{\milli\meter} ("\c_@@_extra_margin_dim") and +% Inner margins of the initial issue (\#~ 143) were too small. We make them +% definitively bigger as of \SI{5}{\milli\meter} (×\c_@@_extra_margin_dim×) and % make the outer margins smaller of the same dimension. % \begin{macrocode} \dim_const:Nn \c_@@_extra_margin_dim { 5mm } \dim_const:Nn \c_@@_innermargin_dim { 15mm - \c_@@_potential_bindingoffset_dim + \c_@@_extra_margin_dim} \dim_const:Nn \c_@@_outermargin_dim { 30mm - \c_@@_extra_margin_dim } -\dim_const:Nn \c_@@_inside_cover_box_width_dim { 165mm }% +\dim_const:Nn \c_@@_inside_cover_box_width_dim { 165mm } \dim_const:Nn \c_@@_innermargin_inside_cover_dim { (\c_@@_layoutwidth_dim - \c_@@_inside_cover_box_width_dim)/2 - \c_@@_potential_bindingoffset_dim @@ -2117,66 +2200,56 @@ This work consists of the file gzt.dtx \dim_const:Nn \c_@@_topmargin_backcover_dim { \c_@@_innermargin_backcover_dim } \dim_const:Nn \c_@@_bottommargin_backcover_dim { \c_@@_innermargin_backcover_dim } \dim_const:Nn \c_@@_frontcover_image_height_dim { 160mm} -\dim_const:Nn \c_@@_radius_arc_dim { 85mm }% -\dim_const:Nn \c_@@_frontmatter_headtext_xshift_dim { 19mm }% +\dim_const:Nn \c_@@_radius_arc_dim { 85mm } +\dim_const:Nn \c_@@_frontmatter_headtext_xshift_dim { 19mm } \dim_const:Nn \c_@@_frontmatter_headtext_o_xshift_dim { - -\c_@@_frontmatter_headtext_xshift_dim -\c_@@_potential_layoutoffset_dim% -}% + -\c_@@_frontmatter_headtext_xshift_dim -\c_@@_potential_layoutoffset_dim +} \dim_const:Nn \c_@@_frontmatter_headtext_e_xshift_dim { - \c_@@_frontmatter_headtext_xshift_dim +\c_@@_potential_layoutoffset_dim% -}% -\dim_const:Nn \c_@@_frontmatter_headtext_yshift_dim { -6.5mm-\c_@@_potential_layoutoffset_dim }% + \c_@@_frontmatter_headtext_xshift_dim +\c_@@_potential_layoutoffset_dim +} +\dim_const:Nn \c_@@_frontmatter_headtext_yshift_dim { -6.5mm-\c_@@_potential_layoutoffset_dim } \dim_const:Nn \c_@@_header_line_width_dim { 0.25mm} -\dim_const:Nn \c_@@_header_line_yshift_dim { -1mm-\c_@@_header_line_width_dim}% +\dim_const:Nn \c_@@_header_line_yshift_dim { -1mm-\c_@@_header_line_width_dim} \dim_const:Nn \c_@@_footer_background_height_dim { 10mm + \c_@@_potential_layoutoffset_dim } \dim_const:Nn \c_@@_front_matter_extra_innermargin_dim { 28mm } \dim_const:Nn \c_@@_front_matter_extra_outermargin_dim { 7mm } -\dim_const:Nn \c_@@_inside_cover_offset_dim { \c_zero_dim }% -% \dim_const:Nn \c_@@_inside_cover_offset_dim { 7.5mm }% -\dim_const:Nn \c_@@_pictogram_width_dim { 23mm }% -\dim_const:Nn \c_@@_header_xshift_dim { \c_@@_pictogram_width_dim-6mm }% -\dim_const:Nn \c_@@_header_yshift_dim { 5mm }% -\dim_const:Nn \c_@@_xshift_arccircle_A_dim { \c_@@_rubrics_abstract_width_dim+\c_@@_innermargin_dim+10mm+\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_yshift_arccircle_A_dim { -22mm-\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_xshift_arccircle_B_dim {% - (\c_@@_rubrics_abstract_width_dim+\c_@@_innermargin_dim)/2% - % \c_@@_innermargin_dim+(\c_@@_rubrics_abstract_width_dim/2)% +\dim_const:Nn \c_@@_inside_cover_offset_dim { \c_zero_dim } +% \dim_const:Nn \c_@@_inside_cover_offset_dim { 7.5mm } +\dim_const:Nn \c_@@_pictogram_width_dim { 23mm } +\dim_const:Nn \c_@@_header_xshift_dim { \c_@@_pictogram_width_dim-6mm } +\dim_const:Nn \c_@@_header_yshift_dim { 5mm } +\dim_const:Nn \c_@@_xshift_arccircle_A_dim { + \c_@@_rubrics_abstract_width_dim+\c_@@_innermargin_dim+10mm+\c_@@_potential_layoutoffset_dim +} +\dim_const:Nn \c_@@_yshift_arccircle_A_dim { -22mm-\c_@@_potential_layoutoffset_dim } +\dim_const:Nn \c_@@_xshift_arccircle_B_dim { + (\c_@@_rubrics_abstract_width_dim+\c_@@_innermargin_dim)/2 + % \c_@@_innermargin_dim+(\c_@@_rubrics_abstract_width_dim/2) % \c_@@_xshift_arccircle_A_dim/2 -}% -\dim_const:Nn \c_@@_yshift_arccircle_B_dim { -\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_xshift_arccircle_C_dim { \c_@@_potential_layoutoffset_dim-5mm }% -\dim_const:Nn \c_@@_yshift_arccircle_C_dim { -19.75mm-\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_book_review_frontcover_extend_dim { 12mm }% -\dim_const:Nn \c_@@_tcb_left_dim { 4mm }% -\dim_const:Nn \c_@@_tcb_boxsep_dim { 1mm }% -\dim_const:Nn \c_@@_tikz_dot_diameter_dim { 0.33mm }% -\dim_const:Nn \c_@@_tikz_dot_spacing_dim { 1.05mm }% -\dim_const:Nn \c_@@_rubric_extra_xoffset_dim { -\c_@@_innermargin_dim/2 }% -\dim_const:Nn \c_@@_rubric_xoffset_dim { 14.5mm }% +} +\dim_const:Nn \c_@@_yshift_arccircle_B_dim { -\c_@@_potential_layoutoffset_dim } +\dim_const:Nn \c_@@_xshift_arccircle_C_dim { \c_@@_potential_layoutoffset_dim-5mm } +\dim_const:Nn \c_@@_yshift_arccircle_C_dim { -19.75mm-\c_@@_potential_layoutoffset_dim } +\dim_const:Nn \c_@@_book_review_frontcover_extend_dim { 12mm } +\dim_const:Nn \c_@@_tcb_left_dim { 4mm } +\dim_const:Nn \c_@@_tcb_boxsep_dim { 1mm } +\dim_const:Nn \c_@@_tikz_dot_diameter_dim { 0.33mm } +\dim_const:Nn \c_@@_tikz_dot_spacing_dim { 1.05mm } +\dim_const:Nn \c_@@_rubric_extra_xoffset_dim { -\c_@@_innermargin_dim/2 } +\dim_const:Nn \c_@@_rubric_xoffset_dim { 14.5mm } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{\c_@@_boxed_issue_number_width_dim} -% \begin{macro}{\c_@@_boxed_issue_number_height_dim} +% \begin{macro}{\c_@@_boxed_issue_number_width_dim,\c_@@_boxed_issue_number_height_dim} % We declare the constant dimensions of the box containing the issue number. % \begin{macrocode} \dim_const:Nn \c_@@_boxed_issue_number_width_dim { 30mm} \dim_const:Nn \c_@@_boxed_issue_number_height_dim { 8mm} % \end{macrocode} % \end{macro} -% \end{macro} % -% \begin{macro}{\l_thumbnail_width_dim} +% \begin{macro}{\l_@@_thumbnail_width_dim} % We declare the width of the possible thumbnail glued to the box containing % the issue number. % \begin{macrocode} @@ -2204,12 +2277,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{macro} % -% \begin{macro}{\g_@@_minitoc_circle_diameter_dim} -% \begin{macro}{\g_@@_minitoc_textwidth_dim} -% \begin{macro}{\g_@@_minitoc_xshift_dim} -% \begin{macro}{\g_@@_minitoc_yshift_dim} -% \begin{macro}{\c_@@_minitoc_from_circle_xshift_dim} -% \begin{macro}{\c_@@_minitoc_from_circle_yshift_dim} +% \begin{macro}{\g_@@_minitoc_circle_diameter_dim,\g_@@_minitoc_textwidth_dim,\g_@@_minitoc_xshift_dim,\g_@@_minitoc_yshift_dim,\c_@@_minitoc_from_circle_xshift_dim,\c_@@_minitoc_from_circle_yshift_dim} % \begin{macrocode} \dim_new:N \g_@@_minitoc_circle_diameter_dim \dim_new:N \g_@@_minitoc_textwidth_dim @@ -2223,11 +2291,6 @@ This work consists of the file gzt.dtx \dim_const:Nn \c_@@_minitoc_from_circle_yshift_dim {-\c_@@_minitoc_from_circle_xshift_dim} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % \begin{macro}{\c_@@_footer_height_font_dim} % We declare the height of the font displayed in the footer. @@ -2253,7 +2316,7 @@ This work consists of the file gzt.dtx % % We set the default geometry of the page. % \begin{macrocode} -\geometry{% +\geometry{ papersize={\c_@@_paperwidth_dim,\c_@@_paperheight_dim} } % \end{macrocode} @@ -2261,7 +2324,7 @@ This work consists of the file gzt.dtx % We create a constant token list that contains the geometry of the front cover. % \begin{macrocode} \bool_if:NTF {\g_@@_cover_bool} { - \tl_const:Nn \c_@@_frontcover_geometry_tl {% + \tl_const:Nn \c_@@_frontcover_geometry_tl { ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} ,layoutvoffset=\c_@@_potential_layoutoffset_dim ,bindingoffset=\c_@@_potential_bindingoffset_dim @@ -2273,10 +2336,10 @@ This work consists of the file gzt.dtx ,footskip=\c_zero_dim ,outer=\c_zero_dim ,inner=\c_@@_potential_layoutoffset_dim - ,nomarginpar% - }% + ,nomarginpar + } }{ - \tl_const:Nn \c_@@_frontcover_geometry_tl {% + \tl_const:Nn \c_@@_frontcover_geometry_tl { ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} ,layoutoffset=\c_@@_potential_layoutoffset_dim ,bindingoffset=\c_@@_potential_bindingoffset_dim @@ -2287,8 +2350,8 @@ This work consists of the file gzt.dtx ,bottom=11mm ,footskip=\c_zero_dim ,hmargin=\c_@@_potential_layoutoffset_dim - ,nomarginpar% - }% + ,nomarginpar + } } % \end{macrocode} % @@ -2296,7 +2359,7 @@ This work consists of the file gzt.dtx % and back covers. % \begin{macrocode} \bool_if:NTF {\g_@@_cover_bool} { - \tl_const:Nn \c_@@_inside_cover_geometry_tl {% + \tl_const:Nn \c_@@_inside_cover_geometry_tl { ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} ,layoutvoffset=\c_@@_potential_layoutoffset_dim ,bindingoffset=\c_@@_potential_bindingoffset_dim @@ -2307,10 +2370,10 @@ This work consists of the file gzt.dtx ,footskip=\c_@@_footskip_dim ,inner=\c_@@_innermargin_inside_cover_dim-\c_@@_potential_layoutoffset_dim ,outer=\c_@@_outermargin_inside_cover_dim+\c_@@_potential_layoutoffset_dim - ,nomarginpar% - }% + ,nomarginpar + } }{ - \tl_const:Nn \c_@@_inside_cover_geometry_tl {% + \tl_const:Nn \c_@@_inside_cover_geometry_tl { ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} ,layoutoffset=\c_@@_potential_layoutoffset_dim ,bindingoffset=\c_@@_potential_bindingoffset_dim @@ -2321,52 +2384,52 @@ This work consists of the file gzt.dtx ,footskip=\c_@@_footskip_dim ,inner=\c_@@_innermargin_inside_cover_dim ,outer=\c_@@_outermargin_inside_cover_dim - ,nomarginpar% - }% + ,nomarginpar + } } % \end{macrocode} % % We create a constant token list that contains the geometry of the front matter. % \begin{macrocode} -\tl_const:Nn \c_@@_front_matter_geometry_tl {% +\tl_const:Nn \c_@@_front_matter_geometry_tl { ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} ,layoutoffset=\c_@@_potential_layoutoffset_dim % ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_front_matter_dim% + ,top=\c_@@_topmargin_front_matter_dim ,headheight=\c_@@_headheight_dim ,headsep=\c_@@_headsep_front_matter_dim ,bottom=\c_@@_botmargin_dim - ,footskip=\c_@@_footskip_dim% - ,inner=\c_@@_innermargin_dim+\c_@@_front_matter_extra_innermargin_dim% - ,outer=\c_@@_outermargin_dim+\c_@@_front_matter_extra_outermargin_dim% - ,nomarginpar% -}% + ,footskip=\c_@@_footskip_dim + ,inner=\c_@@_innermargin_dim+\c_@@_front_matter_extra_innermargin_dim + ,outer=\c_@@_outermargin_dim+\c_@@_front_matter_extra_outermargin_dim + ,nomarginpar +} % \end{macrocode} % % We create a constant token list that contains the geometry of the main pages. % \begin{macrocode} -\tl_const:Nn \c_@@_main_geometry_tl {% +\tl_const:Nn \c_@@_main_geometry_tl { ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} ,layoutoffset=\c_@@_potential_layoutoffset_dim % ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_dim-15mm% + ,top=\c_@@_topmargin_dim-15mm ,headheight=\c_@@_headheight_dim ,headsep=\c_@@_headsep_dim-18mm ,bottom=\c_@@_botmargin_dim ,footskip=\c_@@_footskip_dim ,inner=\c_@@_innermargin_dim ,outer=\c_@@_outermargin_dim -}% +} % \end{macrocode} % % We create a constant token list that contains the geometry of the back cover. % \begin{macrocode} -\tl_const:Nn \c_@@_backcover_geometry_tl {% +\tl_const:Nn \c_@@_backcover_geometry_tl { ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} ,layoutoffset=\c_@@_potential_layoutoffset_dim % ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_backcover_dim% - % ,top=\c_@@_topmargin_dim-15mm% + ,top=\c_@@_topmargin_backcover_dim + % ,top=\c_@@_topmargin_dim-15mm % ,headheight=\c_@@_headheight_dim % ,headsep=\c_@@_headsep_dim-18mm ,bottom=\c_@@_bottommargin_backcover_dim @@ -2379,23 +2442,21 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \subsection{Skips} +% \subsubsection{Skips} % % \begin{macrocode} -\skip_const:Nn \c_@@_editorial_presidentmessage_parskip_skip { 12pt plus 2pt minus .8pt }% -\skip_const:Nn \c_@@_mainmatter_parskip_skip { 2pt plus .5pt minus .2pt }% +\skip_const:Nn \c_@@_editorial_presidentmessage_parskip_skip { 12pt plus 2pt minus .8pt } +\skip_const:Nn \c_@@_mainmatter_parskip_skip { 2pt plus .5pt minus .2pt } % \end{macrocode} % -% \section{Options} +% \subsection{Options} % % In this section, options used by some of the document commands defined by the % class are treated. % -% \subsection{Issues options} +% \subsubsection{Issues options} % -% \begin{macro}{\g_@@_issue_number_int} -% \begin{macro}{\g_@@_issue_month_int} -% \begin{macro}{\g_@@_issue_year_int} +% \begin{macro}{\g_@@_issue_number_int,\g_@@_issue_month_int,\g_@@_issue_year_int} % Some variables which are involved in options are created. % \begin{macrocode} \int_new:N \g_@@_issue_number_int @@ -2404,12 +2465,8 @@ This work consists of the file gzt.dtx \tl_new:N \g_@@_frontcover_image_options_tl % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{number} -% \begin{macro}{month} -% \begin{macro}{year} +% \begin{macro}{number,month,year} % The keys options are created. % \begin{macrocode} \keys_define:nn { gzt/issuesetup } @@ -2426,32 +2483,23 @@ This work consists of the file gzt.dtx year .value_required:n = true, % \end{macrocode} % -% If "number" option is not used, its initial value is set to $0$. +% If ×number× option is not used, its initial value is set to $0$. % number. % \begin{macrocode} number .initial:n = 0, % \end{macrocode} % -% The options of the front cover image could be set within "\issuesetup"'s +% The options of the front cover image could be set within ×\issuesetup×'s % argument. % \begin{macrocode} frontcoverimageoptions .tl_gset:N = \g_@@_frontcover_image_options_tl } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Journal options} +% \subsubsection{Journal options} % -% \begin{macro}{\l_@@_journal_publisher_tl} -% \begin{macro}{\l_@@_journal_address_tl} -% \begin{macro}{\l_@@_journal_phone_tl} -% \begin{macro}{\l_@@_journal_fax_tl} -% \begin{macro}{\l_@@_journal_email_tl} -% \begin{macro}{\l_@@_journal_url_tl} -% \begin{macro}{\l_@@_journal_issn_tl} -% \begin{macro}{\l_@@_journal_isbn_tl} +% \begin{macro}{\l_@@_journal_publisher_tl,\l_@@_journal_address_tl,\l_@@_journal_phone_tl,\l_@@_journal_fax_tl,\l_@@_journal_email_tl,\l_@@_journal_url_tl,\l_@@_journal_issn_tl,\l_@@_journal_isbn_tl} % Some variables which are involved in options are created. % \begin{macrocode} \tl_new:N \l_@@_journal_publisher_tl @@ -2464,22 +2512,8 @@ This work consists of the file gzt.dtx \tl_new:N \l_@@_journal_isbn_tl % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{publisher} -% \begin{macro}{address} -% \begin{macro}{phone} -% \begin{macro}{fax} -% \begin{macro}{email} -% \begin{macro}{url} -% \begin{macro}{issn} -% \begin{macro}{isbn} +% \begin{macro}{publisher,address,phone,fax,email,url,issn,isbn} % The keys options are created. % \begin{macrocode} \keys_define:nn { gzt/journalsetup } @@ -2507,26 +2541,17 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Titles options} +% \subsubsection{Titles options} % -% \begin{macro}{shorttitle} -% \begin{macro}{minishorttitle} -% \begin{macro}{notintoc} +% \begin{macro}{shorttitle,minishorttitle,notintoc} % Some keys options for article's title are created: % \begin{itemize} -% \item "shorttitle" for the possible alternative title to appear in the table +% \item ×shorttitle× for the possible alternative title to appear in the table % of contents and in the headers, -% \item "minishorttitle" for the possible alternative title to appear in the +% \item ×minishorttitle× for the possible alternative title to appear in the % mini table of contents of the front cover, -% \item "notintoc", a flag that, if true, prevents the title to appear in the +% \item ×notintoc×, a flag that, if true, prevents the title to appear in the % table of contents. % \end{itemize} % @@ -2545,21 +2570,17 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Subtitles options} +% \subsubsection{Subtitles options} % -% \begin{macro}{shortsubtitle} -% \begin{macro}{minishortsubtitle} -% \begin{macro}{notintoc} +% \begin{macro}{shortsubtitle,minishortsubtitle,notintoc} % Some keys options for article's title are created: % \begin{itemize} -% \item "shorttitle" for the possible alternative title to appear in the table +% \item ×shorttitle× for the possible alternative title to appear in the table % of contents and in the headers, -% \item "minishorttitle" for the possible alternative title to appear in the +% \item ×minishorttitle× for the possible alternative title to appear in the % mini table of contents of the front cover, -% \item "notintoc", a flag that, if true, prevents the title to appear in the +% \item ×notintoc×, a flag that, if true, prevents the title to appear in the % table of contents. % \end{itemize} % @@ -2578,10 +2599,8 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Rubrics options} +% \subsubsection{Rubrics options} % % \begin{macrocode} \keys_define:nn { gzt/rubric } @@ -2598,15 +2617,12 @@ This work consists of the file gzt.dtx pictogram .value_required:n = true, } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Minitoc options} +% \subsubsection{Minitoc options} % % \begin{macro}{list} -% A "list" (boolean) key option for "minitoc" environment is created: if true, -% "minitoc" should contains "\item" just as a list and the resulting list will be +% A ×list× (boolean) key option for ×minitoc× environment is created: if true, +% ×minitoc× should contains ×\item× just as a list and the resulting list will be % typeset in a special way. % % \begin{macrocode} @@ -2630,13 +2646,9 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{macro} % -% \subsection{Authors options} +% \subsubsection{Authors options} % -% \begin{macro}{affiliation} -% \begin{macro}{email} -% \begin{macro}{minibio} -% \begin{macro}{photo} -% \begin{macro}{webpage} +% \begin{macro}{affiliation,email,minibio,photo,webpage} % The keys options are created. % \begin{macrocode} \keys_define:nn { gzt/authors } @@ -2658,16 +2670,10 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Interviewee options} +% \subsubsection{Interviewee options} % -% \begin{macro}{\g_@@_interviewee_minibio_tl} -% \begin{macro}{\g_@@_interviewee_photo_tl} -% \begin{macro}{\g_@@_interviewee_first_last_name_tl} +% \begin{macro}{\g_@@_interviewee_minibio_tl,\g_@@_interviewee_photo_tl,\g_@@_interviewee_first_last_name_tl} % Some variables which are involved in options are created. % \begin{macrocode} \tl_new:N \g_@@_interviewee_minibio_tl @@ -2675,11 +2681,8 @@ This work consists of the file gzt.dtx \tl_new:N \g_@@_interviewee_first_last_name_tl % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{minibio} -% \begin{macro}{photo} +% \begin{macro}{minibio,photo} % The keys options are created. % \begin{macrocode} \keys_define:nn { gzt/interviewees } @@ -2695,22 +2698,18 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} % -% \subsection{Book review options} +% \subsubsection{Book review options} % -% \begin{macro}{\g_@@_bookreview_frontcover_tl} -% \begin{macro}{\g_@@_bookreview_bibkey_tl} +% \begin{macro}{\g_@@_bookreview_frontcover_tl,\g_@@_bookreview_bibkey_tl} % Some variables which are involved in books reviews are created. % \begin{macrocode} \tl_new:N \g_@@_bookreview_frontcover_tl \tl_new:N \g_@@_bookreview_bibkey_tl % \end{macrocode} % \end{macro} -% \end{macro} % -% \begin{macro}{frontcover} -% \begin{macro}{bibkey} +% \begin{macro}{frontcover,bibkey} % The keys options are created. % \begin{macrocode} \keys_define:nn { gzt/bookreview } @@ -2726,22 +2725,18 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} % -% \subsection{Book advertisement options} +% \subsubsection{Book advertisement options} % -% \begin{macro}{\g_@@_bookadvertisement_frontcover_tl} -% \begin{macro}{\g_@@_bookadvertisement_bibkey_tl} +% \begin{macro}{\g_@@_bookadvertisement_frontcover_tl,\g_@@_bookadvertisement_bibkey_tl} % Some variables which are involved in books advertisements are created. % \begin{macrocode} \tl_new:N \g_@@_bookadvertisement_frontcover_tl \tl_new:N \g_@@_bookadvertisement_bibkey_tl % \end{macrocode} % \end{macro} -% \end{macro} % -% \begin{macro}{frontcover} -% \begin{macro}{bibkey} +% \begin{macro}{frontcover,bibkey} % The keys options are created. % \begin{macrocode} \keys_define:nn { gzt/bookadvertisement } @@ -2757,9 +2752,8 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} % -% \subsection{New theorem options} +% \subsubsection{New theorem options} % % \begin{macrocode} \tl_new:N \l_@@_newtheorem_style_tl @@ -2769,23 +2763,19 @@ This work consists of the file gzt.dtx englishtitle .tl_set:N = \l_@@_newtheorem_englishtitle_tl, frenchtitle .value_required:n = true, englishtitle .value_required:n = true, - % style .choice:, style / theorem .code:n = {\tl_set:Nn \l_@@_newtheorem_style_tl {theorem}}, style / definition .code:n = {\tl_set:Nn \l_@@_newtheorem_style_tl {definition}}, style / proof .code:n = {\tl_set:Nn \l_@@_newtheorem_style_tl {proof}}, style / unknown .code:n = \msg_error:nnxxx { gzt } { unknown-choice } - { style } % Name of choice key - { theorem~or~definition~or~proof } % Valid choices - { \exp_not:n {#1} } % Invalid choice given + { style } + { theorem~ or~ definition~ or~ proof } + { \exp_not:n {#1} } } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} % -% \section{Colors} +% \subsection{Colors} % % In this section, we define the colors that will be used by the class and by % the source file of the logo. @@ -2857,9 +2847,9 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% \section{Miscellaneous patches} +% \subsection{Miscellaneous patches} % -% We patch the \pkg{biblatex}'s "refsection" environment definition by adding +% We patch the \pkg{biblatex}'s ×refsection× environment definition by adding % a flag that will be used to test wheter we are inside such an environment or % not. % \begin{macrocode} @@ -2877,12 +2867,12 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Miscellaneous token lists} +% \subsection{Miscellaneous token lists} % % We define a token list that will display the font of footer at the right size. % \begin{macrocode} \tl_const:Nn \c_@@_footer_size_font_tl { - \fontsize{\c_@@_footer_height_font_dim}{\c_zero_dim}\selectfont% + \fontsize{\c_@@_footer_height_font_dim}{\c_zero_dim}\selectfont } % \end{macrocode} % @@ -2894,18 +2884,18 @@ This work consists of the file gzt.dtx % \cs_if_exist:cTF {texorpdfstring} % { \texorpdfstring{\c_@@_smf_short_string_tl}{\c_@@_smf_short_pdf_string_tl} - % }{% + % }{ % \c_@@_smf_short_pdf_string_tl - % }% + % } } \tl_gset:Nn \g_@@_smf_string_tl { % \cs_if_exist:cTF {texorpdfstring} % { - % \texorpdfstring{Soci\'et\'e~Math\'ematique~de~France}{\c_@@_smf_string_tl} + % \texorpdfstring{Soci\'et\'e~ Math\'ematique~ de~ France}{\c_@@_smf_string_tl} \c_@@_smf_string_tl - % }{% + % }{ % \acrlong*{smf} - % }% + % } } % \end{macrocode} % @@ -2917,17 +2907,17 @@ This work consists of the file gzt.dtx \cs_if_exist:cTF {texorpdfstring} { \texorpdfstring{\emph{\c_@@_journal_short_title_string_tl}}{\c_@@_journal_short_title_string_tl} - }{% + }{ \emph{\c_@@_journal_short_title_string_tl} - }% + } } \tl_set:Nn \l_@@_gzt_string_tl { \cs_if_exist:cTF {texorpdfstring} { \texorpdfstring{\emph{\c_@@_journal_title_string_tl}}{\c_@@_journal_title_string_tl} - }{% + }{ \emph{\c_@@_journal_title_string_tl} - }% + } } % \end{macrocode} % @@ -2941,10 +2931,10 @@ This work consists of the file gzt.dtx \tl_gset:Nn \g_@@_pdfauthor_string_tl { \g_@@_smf_string_tl } -\AddToHook{begindocument/before}{% - \hypersetup{% +\AddToHook{begindocument/before}{ + \hypersetup{ pdftitle=\g_@@_pdftitle_string_tl, - pdfauthor=\g_@@_pdfauthor_string_tl% + pdfauthor=\g_@@_pdfauthor_string_tl } } % \end{macrocode} @@ -2952,7 +2942,7 @@ This work consists of the file gzt.dtx % \begin{macrocode} \cs_new_protected:Nn \_@@_email:n { - \href{mailto:#1}{\nolinkurl{#1}}% + \href{mailto:#1}{\nolinkurl{#1}} } % \end{macrocode} % @@ -2963,28 +2953,28 @@ This work consists of the file gzt.dtx { \begin{tabular}[t]{p{\c_@@_authors_photos_box_width_dim}p{0.75\linewidth}} \tl_if_empty:nF {#5} - {% + { \begin{adjustbox}{valign=t} \includegraphics[width=\c_@@_authors_photos_width_dim]{#5} - \end{adjustbox}% + \end{adjustbox} } & \begin{description}[leftmargin=1em,style=nextline,nosep] \item[\textcolor{@@_people_color}{\DeclareNameAlias{labelname}{default}\citeauthor{#1}}] \tl_if_empty:nF {#2} - {% - #2% - \par% - \smallskip% + { + #2 + \par + \smallskip } \tl_if_empty:nF {#3} - {% - \href{mailto:#3}{\nolinkurl{#3}}% - \par% - \smallskip% + { + \href{mailto:#3}{\nolinkurl{#3}} + \par + \smallskip } \tl_if_empty:nF {#4} - {% + { #4 } \end{description} @@ -2993,12 +2983,12 @@ 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}). +% variables involved (see \url{https://tex.stackexchange.com/a/214284/18401}). % \begin{macrocode} \cs_generate_variant:Nn \@@_display_author:nnnnn { VVVVV } % \end{macrocode} % -% \section{Functions for specifiying the people involved in the journal} +% \subsection{Functions for specifiying the people involved in the journal} % % For this, and thanks to \Pkg{datatool}, we create a database of % \enquote{people} involved in the journal. @@ -3006,22 +2996,22 @@ This work consists of the file gzt.dtx \DTLnewdb{people} % \end{macrocode} % -% Then we create the internal "\_@@_people" function that let us populate the -% "_@@_people" database. Each people will be identified by some identifiers: +% Then we create the internal ×\_@@_people× function that let us populate the +% ×_@@_people× database. Each people will be identified by some identifiers: % speciality (optional), firstname, lastname, affiliation, email, role. % \begin{macrocode} \tl_new:N \l_@@_crossref_tl \cs_new_protected:Nn \_@@_people:nnnnnnnn { - \DTLnewrow{people}% - \DTLnewdbentry{people}{first-last-name}{#1}% - \DTLnewdbentry{people}{affiliation}{#2}% - \DTLnewdbentry{people}{email}{#3}% - \DTLnewdbentry{people}{minibio}{#4}% - \DTLnewdbentry{people}{photo}{#5}% - \DTLnewdbentry{people}{speciality}{#6}% - \DTLnewdbentry{people}{role}{#7}% - \DTLnewdbentry{people}{webpage}{#8}% + \DTLnewrow{people} + \DTLnewdbentry{people}{first-last-name}{#1} + \DTLnewdbentry{people}{affiliation}{#2} + \DTLnewdbentry{people}{email}{#3} + \DTLnewdbentry{people}{minibio}{#4} + \DTLnewdbentry{people}{photo}{#5} + \DTLnewdbentry{people}{speciality}{#6} + \DTLnewdbentry{people}{role}{#7} + \DTLnewdbentry{people}{webpage}{#8} % \end{macrocode} % % \begin{macrocode} @@ -3036,7 +3026,7 @@ This work consists of the file gzt.dtx \tl_set:Nn \l_@@_crossref_tl {\c_@@_issue_bib_key_tl} } \tl_set:Nn \l_@@_people_first_last_name_tl {#1} - \iow_now:Nx \g_@@_bib_out_iow {% + \iow_now:Nx \g_@@_bib_out_iow { @article{ \c_@@_issue_bib_key_tl -#7- \int_use:c {g_@@_#7_int}, \iow_newline: @@ -3048,18 +3038,18 @@ This work consists of the file gzt.dtx \iow_newline: } \iow_newline: - }% + } } % \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}). +% \url{https://tex.stackexchange.com/a/214284/18401}). % \begin{macrocode} \cs_generate_variant:Nn \_@@_people:nnnnnnnn { nVVVVnxV } % \end{macrocode} % -% \section{Functions for displaying \enquote{academic} signatures of articles +% \subsection{Functions for displaying \enquote{academic} signatures of articles % without \enquote{real} author(s)} % % We create a function that displays an \enquote{academic} signature for articles @@ -3074,85 +3064,85 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Functions for displaying people involved in the journal by role} +% \subsection{Functions for displaying people involved in the journal by role} % % We create the function that displays firstname and lastname of people involved % in the journal by role. % \begin{macrocode} \cs_new_protected:Nn \@@_display_people_by_role:n { - \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{#1}]{people}{% - \l_@@_firstlastname_tl=first-last-name% - ,\l_@@_people_affiliation_tl=affiliation% - ,\l_@@_people_email_tl=email% - ,\l_@@_people_minibio_tl=minibio% - ,\l_@@_people_photo_tl=photo% - ,\l_@@_people_speciality=speciality% - ,\l_@@_people_role_tl=role% - ,\l_@@_people_webpage_tl=webpage% - }{% + \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{#1}]{people}{ + \l_@@_firstlastname_tl=first-last-name + ,\l_@@_people_affiliation_tl=affiliation + ,\l_@@_people_email_tl=email + ,\l_@@_people_minibio_tl=minibio + ,\l_@@_people_photo_tl=photo + ,\l_@@_people_speciality=speciality + ,\l_@@_people_role_tl=role + ,\l_@@_people_webpage_tl=webpage + }{ \tl_if_in:NnTF \l_@@_people_role_tl { editor } { \item[ - \textcolor{@@_people_color}{% - \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex}% + \textcolor{@@_people_color}{ + \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex} } - \tl_if_in:NnF \l_@@_people_speciality { NoValue } { ~(\l_@@_people_speciality) } + \tl_if_in:NnF \l_@@_people_speciality { NoValue } { ~ (\l_@@_people_speciality) } ] \leavevmode - \vbox_top:n {% - \l_@@_people_affiliation_tl% - \newline% - \href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}}% + \vbox_top:n { + \l_@@_people_affiliation_tl + \newline + \href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}} } - \medskip% + \medskip }{ \tl_if_in:NnTF \l_@@_people_role_tl { author } { \tl_if_empty:NF \l_@@_firstlastname_tl { - \footnotesize% - % \noindent% - \DTLiffirstrow{% + \footnotesize + % \noindent + \DTLiffirstrow{ }{ - \DTLpar% - \medskip% + \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% + \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}% - }% + \item[ + \textcolor{@@_people_color}{ + \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex} + } ] \tl_if_empty:NF \l_@@_people_affiliation_tl - {% - \mbox{}% - \par% - \vspace{-2ex}% - \l_@@_people_affiliation_tl% + { + \mbox{} + \par + \vspace{-2ex} + \l_@@_people_affiliation_tl } \tl_if_empty:NF \l_@@_people_email_tl - {% - \par% - \href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}}% + { + \par + \href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}} } \tl_if_empty:NF \l_@@_people_webpage_tl - {% - \par% - \url{\l_@@_people_webpage_tl}% + { + \par + \url{\l_@@_people_webpage_tl} } \tl_if_empty:NF \l_@@_people_minibio_tl - {% - \par% - \smallskip% + { + \par + \smallskip \l_@@_people_minibio_tl } \end{description} @@ -3160,7 +3150,7 @@ This work consists of the file gzt.dtx } }{ \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- - \exp_not:V\DTLcurrentindex}% + \exp_not:V\DTLcurrentindex} \tl_if_empty:NF \l_@@_people_email_tl { \c_space_tl(\href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}}) @@ -3171,52 +3161,66 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Function for displaying a reflected text} +% \subsection{Function for displaying a reflected text} % % We create the function that displays a reflected text. % \begin{macrocode} \cs_new_protected:Nn \@@_reflected_text:n { \begin{tikzpicture} - \tikzset{@@_reflect_node/.style={% - anchor=base,% - inner~sep=0,% - line~width=0,% + \tikzset{@@_reflect_node/.style={ + anchor=base, + inner~ sep=0, + line~ width=0, font=\Huge, - color=@@_reflected_text_color% - }% - }% + color=@@_reflected_text_color + } + } \node[@@_reflect_node]{#1}; - \node[scope~fading=south,opacity=0.2,yscale=-1,@@_reflect_node]{#1}; + \node[scope~ fading=south,opacity=0.2,yscale=-1,@@_reflect_node]{#1}; \end{tikzpicture} } % \end{macrocode} % -% \section{Displaying the front cover} +% \subsection{Displaying the front cover} % % We create the variable that displays the front cover. % \begin{macrocode} -\tl_new:N \g_@@_display_frontcover_tl% -\tl_gset:Nn \g_@@_display_frontcover_tl {% +\tl_new:N \g_@@_display_frontcover_tl +\tl_gset:Nn \g_@@_display_frontcover_tl { \bool_gset_true:N \g_@@_frontcover_bool - \pagenumbering{roman}% - \pagestyle{@@_frontcover_ps}% + \pagenumbering{roman} + \pagestyle{@@_frontcover_ps} \pagecolor{\g_@@_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_frontcover_geometry_tl}% - \noindent% + \exp_after:wN\newgeometry\exp_after:wN{\c_@@_frontcover_geometry_tl} + \noindent \bool_if:NTF {\g_@@_cover_bool} { \hspace*{-\c_@@_potential_layoutoffset_dim} }{ \hspace*{-2\c_@@_potential_layoutoffset_dim} } \exp_after:wN\includegraphics\exp_after:wN[\g_@@_frontcover_image_options_tl]{\g_@@_frontcover_image_file_tl} - \begin{tikzpicture}[remember~picture, overlay] + \begin{tikzpicture}[remember~ picture, overlay] \coordinate (@@_circle_minitoc_center) at - ([xshift=\g_@@_minitoc_xshift_dim-\c_@@_potential_layoutoffset_dim,yshift=\g_@@_minitoc_yshift_dim+\c_@@_potential_layoutoffset_dim]current~page.south~east) ; - \node[name=@@_circle_minitoc,shape=circle,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,text~width=\g_@@_minitoc_circle_diameter_dim] at + ( + [xshift=\g_@@_minitoc_xshift_dim-\c_@@_potential_layoutoffset_dim, + yshift=\g_@@_minitoc_yshift_dim+\c_@@_potential_layoutoffset_dim] + current~ page.south~ east + ) ; + \node[ + name=@@_circle_minitoc, + shape=circle, + inner~ sep=\c_zero_dim, + fill=\g_@@_special_edition_color_tl, + text~ width=\g_@@_minitoc_circle_diameter_dim + ] at (@@_circle_minitoc_center) {}; - \node[text~width=\g_@@_minitoc_textwidth_dim,anchor=north~west] at - ([xshift=\c_@@_minitoc_from_circle_xshift_dim,yshift=\c_@@_minitoc_from_circle_yshift_dim]$ (@@_circle_minitoc.north)!.5!(@@_circle_minitoc.west) $) + \node[text~ width=\g_@@_minitoc_textwidth_dim,anchor=north~ west] at + ( + [xshift=\c_@@_minitoc_from_circle_xshift_dim, + yshift=\c_@@_minitoc_from_circle_yshift_dim] + $ (@@_circle_minitoc.north)!.5!(@@_circle_minitoc.west) $ + ) { \bool_if:NF {\g_@@_frontcover_without_minitoc_bool} { \large @@ -3230,9 +3234,18 @@ This work consists of the file gzt.dtx \end{tikzpicture} \bool_if:NT {\g_@@_cover_bool} { \small - \begin{tikzpicture}[remember~picture, overlay] - \node[name=@@_binding_sw,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90,anchor=west] at - ([xshift=0.45\c_@@_potential_bindingoffset_dim,yshift=15mm+\c_@@_potential_layoutoffset_dim]current~page.south~west) { + \begin{tikzpicture}[remember~ picture, overlay] + \node[ + name=@@_binding_sw, + inner~ sep=\c_zero_dim, + fill=\g_@@_special_edition_color_tl, + rotate=90,anchor=west + ] + at + ( + [xshift=0.45\c_@@_potential_bindingoffset_dim, + yshift=15mm+\c_@@_potential_layoutoffset_dim] + current~ page.south~ west) { \No \bool_if:NTF {\g_@@_special_edition_bool} { \c_@@_special_edition_string_tl @@ -3240,10 +3253,10 @@ This work consists of the file gzt.dtx \int_use:N\g_@@_issue_number_int } }; - \node[name=@@_binding_w,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90] at - ([xshift=0.45\c_@@_potential_bindingoffset_dim]current~page.west) { + \node[name=@@_binding_w,inner~ sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90] at + ([xshift=0.45\c_@@_potential_bindingoffset_dim]current~ page.west) { \bool_if:NTF {\g_@@_special_edition_bool} { - \tl_if_exist:NTF \g_@@_special_edition_short_title_tl {% + \tl_if_exist:NTF \g_@@_special_edition_short_title_tl { \g_@@_special_edition_short_title_tl }{ \g_@@_special_edition_title_tl @@ -3252,39 +3265,45 @@ This work consists of the file gzt.dtx \text_uppercase:n {\c_@@_journal_title_string_tl} } }; - \node[name=@@_binding_nw,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90,anchor=east] at - ([xshift=0.45\c_@@_potential_bindingoffset_dim,yshift=-15mm-\c_@@_potential_layoutoffset_dim]current~page.north~west) { - \l_@@_uppercased_date_format\displaydate{@@_date} - }; + \node[name=@@_binding_nw,inner~ sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90,anchor=east] + at + ( + [ + xshift=0.45\c_@@_potential_bindingoffset_dim + ,yshift=-15mm-\c_@@_potential_layoutoffset_dim] + current~ page.north~ west + ){ + \l_@@_uppercased_date_format\displaydate{@@_date} + }; \end{tikzpicture} } - \vfill% - \noindent% - \hspace*{10mm}% + \vfill + \noindent + \hspace*{10mm} \hspace*{-\c_@@_potential_layoutoffset_dim} - \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% + \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl} \bool_if:NT {\g_@@_special_edition_bool} { \hfill \includegraphics[scale=1.2]{gzt-logo} \hspace*{10mm} } - % \vfill% - \clearpage% + % \vfill + \clearpage \bool_gset_false:N \g_@@_frontcover_bool \nopagecolor } % \end{macrocode} % -% \section{Displaying the inside front cover} +% \subsection{Displaying the inside front cover} % % We create the variable that displays the inside front cover. % \begin{macrocode} -\tl_new:N \g_@@_display_inside_frontcover_tl% -\tl_gset:Nn \g_@@_display_inside_frontcover_tl {% - \bool_gset_true:N \g_@@_inside_frontcover_bool% - \pagestyle{@@_inside_frontcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_inside_cover_geometry_tl}% - \small% +\tl_new:N \g_@@_display_inside_frontcover_tl +\tl_gset:Nn \g_@@_display_inside_frontcover_tl { + \bool_gset_true:N \g_@@_inside_frontcover_bool + \pagestyle{@@_inside_frontcover_ps} + \exp_after:wN\newgeometry\exp_after:wN{\c_@@_inside_cover_geometry_tl} + \small \setlength{\columnseprule}{2pt} \renewcommand{\columnseprulecolor}{\color{white}} \begin{_@@_inside_cover_tcb}[_@@_tcb_inside_frontcover_style] @@ -3294,7 +3313,7 @@ This work consists of the file gzt.dtx \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim] \@@_display_people_by_role:n {editor} \end{description} - }{% + }{ \begin{description}[leftmargin=1em] \item[\c_@@_editors_in_chief_string_tl] \ \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim] @@ -3311,86 +3330,91 @@ This work consists of the file gzt.dtx \end{multicols} \setlength{\columnseprule}{1pt} \tcblower - \begin{tabular}{@{}m{.75\c_@@_inside_cover_box_width_dim}@{}m{.2\c_@@_inside_cover_box_width_dim-2\tabcolsep}@{}} + \begin{tabular}{ + @{}m{.75\c_@@_inside_cover_box_width_dim}@{}m{.2\c_@@_inside_cover_box_width_dim-2\tabcolsep}@{} + } \begin{description}[leftmargin=1em] - \item[\c_@@_editorial_secretariat_string_tl{}~:] \ \par% - \l_@@_journal_publisher_tl% - % \par% - \c_space_tl\textendash{}\c_space_tl% + \item[\c_@@_editorial_secretariat_string_tl{}~ :] \ \par + \l_@@_journal_publisher_tl + % \par + \c_space_tl\textendash{}\c_space_tl \@@_display_people_by_role:n { secretary }\par - \l_@@_journal_address_tl\par% - \c_@@_phone_string_tl{}~:~\l_@@_journal_phone_tl{} \c_space_tl\textendash{}\c_space_tl - \c_@@_fax_string_tl{}~:~\l_@@_journal_fax_tl\par% - \href{mailto:\l_@@_journal_email_tl}{\nolinkurl{\l_@@_journal_email_tl}}% - % \newline% + \l_@@_journal_address_tl\par + \c_@@_phone_string_tl{}~ :~ \l_@@_journal_phone_tl{} \c_space_tl\textendash{}\c_space_tl + \c_@@_fax_string_tl{}~ :~ \l_@@_journal_fax_tl\par + \href{mailto:\l_@@_journal_email_tl}{\nolinkurl{\l_@@_journal_email_tl}} + % \newline \c_space_tl\textendash{}\c_space_tl \url{\l_@@_journal_url_tl} - \item[\c_@@_publishingdirector_string_tl{}~:] + \item[\c_@@_publishingdirector_string_tl{}~ :] \@@_display_people_by_role:n { president } - \item[\c_@@_issn_string_tl{}~:] \l_@@_journal_issn_tl + \item[\c_@@_issn_string_tl{}~ :] \l_@@_journal_issn_tl \tl_if_empty:NF \l_@@_journal_isbn_tl - {% - \item[\c_@@_isbn_string_tl{}~:] \l_@@_journal_isbn_tl + { + \item[\c_@@_isbn_string_tl{}~ :] \l_@@_journal_isbn_tl } \bool_if:NT {\g_@@_no_inside_backcover_bool} { - \item[\c_@@_latexclass_string_tl{}~:] + \item[\c_@@_latexclass_string_tl{}~ :] \@@_display_people_by_role:n { classdesigner } - \item[\c_@@_artistic_director_string_tl{}~:] + \item[\c_@@_artistic_director_string_tl{}~ :] \@@_display_people_by_role:n { graphicdesigner } - \item[\c_@@_printer_string_tl{}~:] \g_@@_printer_text_tl + \item[\c_@@_printer_string_tl{}~ :] \g_@@_printer_text_tl } \end{description} \bool_if:NT {\g_@@_no_inside_backcover_bool} { \g_@@_font_designer_text_tl } & - \hspace*{\fill}% - \includegraphics[height=20mm]{\c_@@_smf_logo_file_string_tl}% + \hspace*{\fill} + \includegraphics[height=20mm]{\c_@@_smf_logo_file_string_tl} \end{tabular} % \\ % \c_@@_font_string_tl \bigskip \tl_if_empty:NF \g_@@_about_frontcover_tl - {% + { \\ - \begin{adjustbox}{valign=t,minipage=.75\c_@@_inside_cover_box_width_dim+.2\c_@@_inside_cover_box_width_dim-2\tabcolsep} + \begin{adjustbox}{ + valign=t, + minipage=.75\c_@@_inside_cover_box_width_dim+.2\c_@@_inside_cover_box_width_dim-2\tabcolsep + } \begin{description}[leftmargin=1em,font=\color{@@_about_frontcover_title_color}] \item[\g_@@_about_frontcover_string_tl] \g_@@_about_frontcover_tl \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_tl=first-last-name% - ,\l_@@_people_role_tl=role% - }{% + \c_space_tl(\c_@@_credit_frontcover_string_tl{}~ :~ + \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{frontcovercredit}]{people}{ + \l_@@_firstlastname_tl=first-last-name + ,\l_@@_people_role_tl=role + }{ \_@@_citeauthor_no_firstinits:n - {\c_@@_issue_bib_key_tl -frontcovercredit- \exp_not:V\DTLcurrentindex}% - }% - ).% + {\c_@@_issue_bib_key_tl -frontcovercredit- \exp_not:V\DTLcurrentindex} + } + ). } \end{description} \end{adjustbox} } \end{_@@_inside_cover_tcb} - \clearpage% - \pagenumbering{arabic}% + \clearpage + \pagenumbering{arabic} \bool_gset_false:N \g_@@_inside_frontcover_bool } % \end{macrocode} % -% \section{Displaying the inside back cover} +% \subsection{Displaying the inside back cover} % % We create the variable that displays the inside back cover. % \begin{macrocode} -\tl_new:N \g_@@_display_inside_backcover_tl% -\tl_gset:Nn \g_@@_display_inside_backcover_tl {% - \bool_gset_true:N \g_@@_inside_backcover_bool% - \cleardoublepage% - \pagestyle{@@_inside_backcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_inside_cover_geometry_tl}% +\tl_new:N \g_@@_display_inside_backcover_tl +\tl_gset:Nn \g_@@_display_inside_backcover_tl { + \bool_gset_true:N \g_@@_inside_backcover_bool + \cleardoublepage + \pagestyle{@@_inside_backcover_ps} + \exp_after:wN\newgeometry\exp_after:wN{\c_@@_inside_cover_geometry_tl} \bool_if:NTF {\g_@@_no_inside_backcover_bool} { \hbox{} - }{% - \small% + }{ + \small \begin{_@@_inside_cover_tcb}[_@@_tcb_inside_backcover_style] \bool_if:NF {\g_@@_special_edition_bool} { % \begin{multicols}{2} @@ -3401,11 +3425,11 @@ This work consists of the file gzt.dtx \tcblower } \begin{description}[leftmargin=1em] - \item[\c_@@_latexclass_string_tl{}~:] + \item[\c_@@_latexclass_string_tl{}~ :] \@@_display_people_by_role:n { classdesigner } - \item[\c_@@_artistic_director_string_tl{}~:] + \item[\c_@@_artistic_director_string_tl{}~ :] \@@_display_people_by_role:n { graphicdesigner } - \item[\c_@@_printer_string_tl{}~:] \g_@@_printer_text_tl + \item[\c_@@_printer_string_tl{}~ :] \g_@@_printer_text_tl \end{description} \g_@@_font_designer_text_tl \end{_@@_inside_cover_tcb} @@ -3414,20 +3438,20 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Displaying the back cover} +% \subsection{Displaying the back cover} % % We create the variable that displays the back cover. % \begin{macrocode} -\tl_new:N \g_@@_display_backcover_tl% -\tl_gset:Nn \g_@@_display_backcover_tl {% +\tl_new:N \g_@@_display_backcover_tl +\tl_gset:Nn \g_@@_display_backcover_tl { \bool_gset_true:N \g_@@_backcover_bool - \pagestyle{@@_backcover_ps}% + \pagestyle{@@_backcover_ps} \pagecolor{\g_@@_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_backcover_geometry_tl}% + \exp_after:wN\newgeometry\exp_after:wN{\c_@@_backcover_geometry_tl} \bool_if:NTF {\g_@@_special_edition_bool} { \mbox{} \vfill - \clist_map_inline:Nn \c_@@__graphics_extensions_clist{ + \clist_map_inline:Nn \c_@@_graphics_extensions_clist{ \file_if_exist:nT {\c_@@_issue_images_path_string_tl/\g_@@_special_edition_backcover_image_tl.#1} { \begin{center} \includegraphics[width=.25\linewidth]{\g_@@_special_edition_backcover_image_tl} @@ -3440,7 +3464,7 @@ This work consists of the file gzt.dtx \leftskip.125\linewidth \rightskip\leftskip \file_if_exist_input:nF {\c_@@_special_edition_backcover_page_file_string_tl} - {% + { \c_empty_box } \par @@ -3458,31 +3482,25 @@ This work consists of the file gzt.dtx } }{ \file_if_exist_input:nF {\c_@@_backcover_page_file_string_tl} - {% + { \hbox{} } } } % \end{macrocode} % -% \section{User level commands} +% \subsection{User level commands} % % Here, we gather all the user level (public) commands. % -% \subsection{Populating the people involved in the journal} +% \subsubsection{Populating the people involved in the journal} % -% \begin{macro}{\editorinchief} -% \begin{macro}{\editor} -% \begin{macro}{\president} -% \begin{macro}{\classdesigner} -% \begin{macro}{\fontdesigner} -% \begin{macro}{\classmaintainer} -% \begin{macro}{\graphicdesigner} +% \begin{macro}{\editorinchief,\editor,\president,\classdesigner,\fontdesigner,\classmaintainer,\graphicdesigner} % We define some document-level commands that let the user specify % respectively the editor(s) in chief, the editors, the (\textsc{smf}) % president, the class designer and maintainer(s), and the graphic designer. % -% For the editor(s) in chief, we increment the "\g_@@_editors_in_chief_int" +% For the editor(s) in chief, we increment the ×\g_@@_editors_in_chief_int× % counter in order to use singular or plural form of the corresponding string % \enquote{Rédacteur(s) en chef}. % \begin{macrocode} @@ -3526,14 +3544,8 @@ This work consists of the file gzt.dtx % } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \subsection{Issue setup} +% \subsubsection{Issue setup} % % \begin{macro}{\issuesetup} % We define the command that lets the user specify the issue setup. @@ -3541,16 +3553,17 @@ This work consists of the file gzt.dtx \NewDocumentCommand \issuesetup { m } { % \end{macrocode} % -% Its keys are set (only "number", "month" and "year" are relevant here). +% Its keys are set (only ×number×, ×month× and ×year× are relevant here). +% \begin{macrocode} \keys_set:nn { gzt/issuesetup } {frontcoverimageoptions={width=\c_@@_frontcover_image_width_dim},#1} % \end{macrocode} % -% We use here the fact that, if the "number", "month" or "year" options are not -% used, their corresponding "\g_@@_issue_number_int", "\g_@@_issue_month_int" or -% "\g_@@_issue_year_int" variables are equal to $0$ ($<1$). +% We use here the fact that, if the ×number×, ×month× or ×year× options are not +% used, their corresponding ×\g_@@_issue_number_int×, ×\g_@@_issue_month_int× or +% ×\g_@@_issue_year_int× variables are equal to $0$ ($<1$). % -% First, if "number" is not used, its "\g_@@_issue_number_int" variable is set -% to "\c_@@_first_issue_number_int"\footnote{The number of the first Gazette's +% First, if ×number× is not used, its ×\g_@@_issue_number_int× variable is set +% to ×\c_@@_first_issue_number_int×\footnote{The number of the first Gazette's % issue using the present class.} and a warning is emitted. % \begin{macrocode} \int_compare:nNnT {\g_@@_issue_number_int}<{1} @@ -3560,18 +3573,17 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% If not specified as \refCom{issuesetup}'s key-value options, issue's month and +% If not specified as ×\issuesetup×'s key-value options, issue's month and % year are computed from issue number (which defaults to -% "\c_@@_first_issue_month_int"). +% ×\c_@@_first_issue_month_int×). % -% \begin{macro}{\c_@@_issue_age_in_months_int} -% First, if "month" or "year" option is not used (one of the previous +% First, if ×month× or ×year× option is not used (one of the previous % variables is $0$ hence their product is $0$ ($<1$)), we compute the issue % age in months, useful for both month and year computation. % \begin{macrocode} \int_compare:nNnT {\g_@@_issue_month_int * \g_@@_issue_year_int}<{1} { - \int_new:N \g_@@_issue_age_in_months_int% + \int_new:N \g_@@_issue_age_in_months_int \int_gset:Nn \g_@@_issue_age_in_months_int { \c_@@_first_issue_month_int @@ -3580,9 +3592,8 @@ This work consists of the file gzt.dtx } } % \end{macrocode} -% \end{macro} % -% If the "month" is not used, we replace "\g_@@_issue_month_int" ($=0$) by its +% If the ×month× is not used, we replace ×\g_@@_issue_month_int× ($=0$) by its % computed value from the issue number. % \begin{macrocode} \int_compare:nNnT {\g_@@_issue_month_int}<{1} @@ -3594,26 +3605,26 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% If the "year" is not used, we replace "\g_@@_issue_year_int" ($=0$) by its +% If the ×year× is not used, we replace ×\g_@@_issue_year_int× ($=0$) by its % computed value from the issue number. % \begin{macrocode} \int_compare:nNnT {\g_@@_issue_year_int}<{1} { - \int_new:N \g_@@_issue_age_in_years_int% + \int_new:N \g_@@_issue_age_in_years_int \int_gset:Nn \g_@@_issue_age_in_years_int - {% + { \int_div_truncate:nn { \g_@@_issue_age_in_months_int } { 12 } - }% + } \int_gset:Nn \g_@@_issue_year_int { \g_@@_issue_age_in_years_int + \c_@@_first_issue_year_int } - }% + } } % \end{macrocode} % \end{macro} % -% \subsection{Special edition setup} +% \subsubsection{Special edition setup} % % \begin{macro}{\specialeditionsetup} % We define the command that lets the user specify the special edition setup. @@ -3624,8 +3635,9 @@ This work consists of the file gzt.dtx \keys_set:nn { gzt/specialedition } {#1} } % \end{macrocode} +% \end{macro} % -% \subsection{Moral report setup} +% \subsubsection{Moral report setup} % % \begin{macro}{\moralreportsetup} % We define the command that lets the user specify the moral report setup. @@ -3636,8 +3648,9 @@ This work consists of the file gzt.dtx \keys_set:nn { gzt/moralreport } {#1} } % \end{macrocode} +% \end{macro} % -% \subsection{Journal setup} +% \subsubsection{Journal setup} % % \begin{macro}{\journalsetup} % We define the command that lets the user specify the @@ -3646,27 +3659,27 @@ This work consists of the file gzt.dtx \NewDocumentCommand \journalsetup { m } { % \end{macrocode} % -% Its keys are set (only "publisher", "address", "phone", "fax", "email", "url" -% and "issn" are relevant here). +% Its keys are set (only ×publisher×, ×address×, ×phone×, ×fax×, ×email×, ×url× +% and ×issn× are relevant here). % \begin{macrocode} \keys_set:nn { gzt/journalsetup } { #1 } } % \end{macrocode} % \end{macro} % -% \subsection{Date of the president's message} +% \subsubsection{Date of the president's message} % % \begin{macro}{\date} -% We redefine the "\date" for the date of the president's message. It takes +% We redefine the ×\date× for the date of the president's message. It takes % 3 arguments, each of them being a number: the day, the month and the year. % \begin{macrocode} \RenewDocumentCommand \date { mmm } { - \newdate{@@_president_message_date}{#1}{#2}{#3}% + \newdate{@@_president_message_date}{#1}{#2}{#3} } % \end{macrocode} % \end{macro} % -% \subsection{Interviews} +% \subsubsection{Interviews} % % \begin{macro}{\interviewee} % \begin{macrocode} @@ -3699,7 +3712,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{macro} % -% \subsection{Miscellaneous} +% \subsubsection{Miscellaneous} % % \begin{macro}{\academicsignature} % \begin{macrocode} @@ -3709,11 +3722,10 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{macro} % -% \section{Definition of the footer of the pages} +% \subsection{Definition of the footer of the pages} % -% \begin{macro}{@@_date} -% \begin{macro}{\l_@@_uppercased_date_format} -% Thanks to \Pkg{datetime}, we create the new date "@@_date" and define the +% \begin{macro}{@@_date,\l_@@_uppercased_date_format} +% Thanks to \Pkg{datetime}, we create the new date ×@@_date× and define the % date format to be used in the journal. As this date has to be displayed % uppercased, we first define a function that displays uppercased months. % \begin{macrocode} @@ -3721,23 +3733,23 @@ This work consists of the file gzt.dtx { \@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% + \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)}% + \PackageError{datetime}{Invalid~ month~ number~ \the\@orgargctr}{ + Month~ numbers~ should~ go~ from~ 1~ (janvier)~ to~ 12~ (decembre)} \fi } \newdate{@@_date} @@ -3745,24 +3757,23 @@ This work consists of the file gzt.dtx {\int_use:N \g_@@_issue_month_int} {\int_use:N \g_@@_issue_year_int} \newdateformat{l_@@_uppercased_date_format}{ - \_@@_uppercased_monthname_french:n {\THEMONTH}~\THEYEAR + \_@@_uppercased_monthname_french:n {\THEMONTH}~ \THEYEAR } % \end{macrocode} % \end{macro} -% \end{macro} % -% \section{(Re)Definition of document commands that identify the article} +% \subsection{(Re)Definition of document commands that identify the article} % % The names of the authors of the different articles will appear at several % places, and notably in the table of contents where first and middle names have to % be rendered as initials. Because automatically rendering initials is a complex task % already provided by \Pkg{biblatex}, we will create a \file{.bib} file -% containing "article" entries for each article of the \gzt{} journal. +% containing ×article× entries for each article of the \gzt{} journal. % % This can be done only at the beginning of the document, in order to know the % characteristics of the current issue. % \begin{macrocode} -\AddToHook{begindocument}{% +\AddToHook{begindocument}{ % \end{macrocode} % % We first create a token list containing the date of the current issue formated @@ -3781,9 +3792,9 @@ This work consists of the file gzt.dtx % \end{macrocode} % % We will populate the bibiliographic file of the current issue with the current -% issue (as "@periodical" entry type). +% issue (as ×@periodical× entry type). % \begin{macrocode} - \iow_now:Nx \g_@@_bib_out_iow {% + \iow_now:Nx \g_@@_bib_out_iow { @periodical{\c_@@_issue_bib_key_tl,\iow_newline: issuetitle = {\exp_not:f\c_@@_journal_title_string_tl},\iow_newline: date = {\g_@@_bib_issue_date_tl},\iow_newline: @@ -3792,26 +3803,24 @@ This work consists of the file gzt.dtx options = {skipbib}\iow_newline: } \iow_newline: - }% + } } % \end{macrocode} % -% \begin{macro}{\title} -% \begin{macro}{\g_@@_title_tl} +% \begin{macro}{\title,\g_@@_title_tl} % The command for article's title is redefined: the full \enquote{article's -% title} is store in "\g_@@_title_tl" for later use. +% title} is store in ×\g_@@_title_tl× for later use. % \begin{macrocode} \tl_new:N \g_@@_title_tl \RenewDocumentCommand \title { o m } { % \end{macrocode} -% We increment the "\g_@@_articles_int" integer that counts the number of +% We increment the ×\g_@@_articles_int× integer that counts the number of % articles in order to provide for each of them a unique bibliographic key. % \begin{macrocode} \int_gincr:N \g_@@_articles_int \tl_gclear:N \g_@@_short_title_tl \tl_gclear:N \g_@@_short_subtitle_tl \bool_gset_false:N \g_@@_title_not_in_toc_bool - % \IfNoValueF {#1} { \keys_set:nn { gzt/title } { #1 } @@ -3821,36 +3830,32 @@ This work consists of the file gzt.dtx { \tl_put_left:Nx \g_@@_title_tl {\c_@@_tellme_extra_title_string_tl} } - \tl_if_empty:NT \g_@@_short_title_tl {% + \tl_if_empty:NT \g_@@_short_title_tl { \tl_gset_eq:NN \g_@@_short_title_tl \g_@@_title_tl } } % \end{macrocode} % \end{macro} -% \end{macro} % -% \begin{macro}{\subtitle} -% \begin{macro}{\g_@@_subtitle_tl} +% \begin{macro}{\subtitle,\g_@@_subtitle_tl} % The command for article's subtitle is redefined: the full and short -% \enquote{article's subtitles} are store in "\g_@@_subtitle_tl" and -% "\g_@@_short_subtitle_tl" for later use. +% \enquote{article's subtitles} are store in ×\g_@@_subtitle_tl× and +% ×\g_@@_short_subtitle_tl× for later use. % \begin{macrocode} \tl_new:N \g_@@_subtitle_tl \NewDocumentCommand \subtitle { o m } { \bool_gset_false:N \g_@@_subtitle_not_in_toc_bool - % \IfNoValueF {#1} { \keys_set:nn { gzt/subtitle } { #1 } } \tl_gset:Nn \g_@@_subtitle_tl {#2} - \tl_if_empty:NT \g_@@_short_subtitle_tl {% + \tl_if_empty:NT \g_@@_short_subtitle_tl { \tl_gset_eq:NN \g_@@_short_subtitle_tl \g_@@_subtitle_tl } } % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macro}{\author} % The command for article's author (including its affiliation) is redefined. @@ -3906,22 +3911,22 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{environment} % -% \section{Definition of a private main matter switch} +% \subsection{Definition of a private main matter switch} % -% A private "\_@@_mainmatter_switch_tl" switch is defined in order to automatically insert +% A private ×\_@@_mainmatter_switch_tl× switch is defined in order to automatically insert % some settings. % \begin{macrocode} -\tl_new:N \g_@@_mainmatter_switch_tl% +\tl_new:N \g_@@_mainmatter_switch_tl \tl_gset:Nn \g_@@_mainmatter_switch_tl { \bool_gset_false:N \g_@@_frontmatter_bool \bool_gset_true:N \g_@@_mainmatter_bool \SetParskip{\c_@@_mainmatter_parskip_skip} - \pagestyle{@@_mainmatter_ps}% + \pagestyle{@@_mainmatter_ps} } % \end{macrocode} % % \begin{macrocode} -\tl_new:N \l_@@_article_acknowledgements_tl% +\tl_new:N \l_@@_article_acknowledgements_tl \cs_new_protected:Nn \@@_article_acknowledgements:n { \tl_set:Nn \l_@@_article_acknowledgements_tl { #1 } @@ -3936,16 +3941,16 @@ This work consists of the file gzt.dtx %<*class> % \end{macrocode} % -% \begin{macro}{\_@@_about_frontcover} +% \begin{macro}{\g_@@_about_frontcover} % We define the internal function than let us tell a few words about the front % cover. % \begin{macrocode} -\tl_new:N \g_@@_about_frontcover_tl% -\bool_new:N \g_@@_credit_frontcover_bool% -\tl_new:N \g_@@_about_frontcover_string_tl% +\tl_new:N \g_@@_about_frontcover_tl +\bool_new:N \g_@@_credit_frontcover_bool +\tl_new:N \g_@@_about_frontcover_string_tl \cs_new_protected:Nn \_@@_about_frontcover:nnn { - \tl_if_empty:nF {#1}{% + \tl_if_empty:nF {#1}{ \bool_gset_true:N \g_@@_credit_frontcover_bool \_@@_people:nnnnnnnn {#1}{}{}{}{}{}{frontcovercredit}{} } @@ -3958,18 +3963,18 @@ This work consists of the file gzt.dtx % \begin{macro}{\_@@_rubric} % We define the internal function than defines and sets the layouts of rubrics. % \begin{macrocode} -% \tl_new:N \g_@@_rubric_title_tl% -% \tl_new:N \g_@@_rubric_pictofile_tl% -% \tl_new:N \g_@@_rubric_abstract_tl% -\tl_new:N \g_@@_rubric_abstract_box_tl% -\tl_new:N \l_@@_rubric_head_text_box_tl% +% \tl_new:N \g_@@_rubric_title_tl +% \tl_new:N \g_@@_rubric_pictofile_tl +% \tl_new:N \g_@@_rubric_abstract_tl +\tl_new:N \g_@@_rubric_abstract_box_tl +\tl_new:N \l_@@_rubric_head_text_box_tl % \cs_new_protected:Nn \_@@_rubric:nnn { - \newpage% + \newpage \tl_gclear:N \g_@@_rubric_abstract_tl \tl_gset:Nn \g_@@_rubric_title_tl {#2} - \file_if_exist:nTF { #3.pdf }{% + \file_if_exist:nTF { #3.pdf }{ \tl_gset:Nn \g_@@_rubric_pictofile_tl {#3} }{ \tl_gset:Nn \g_@@_rubric_pictofile_tl {example-image} @@ -3985,7 +3990,7 @@ This work consists of the file gzt.dtx % % We reinitialize the items counter in this new rubric. % \begin{macrocode} - \bool_gset_true:N \g_@@_rubric_bool% + \bool_gset_true:N \g_@@_rubric_bool \bool_gset_false:N \g_@@_interview_rubric_bool \bool_gset_false:N \g_@@_tellme_rubric_bool \bool_gset_false:N \g_@@_rearviewmirror_rubric_bool @@ -3999,7 +4004,7 @@ This work consists of the file gzt.dtx \addcontentsline{toc}{part}{\g_@@_rubric_title_tl} } \thispagestyle{@@_rubric_ps} - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_main_geometry_tl}% + \exp_after:wN\newgeometry\exp_after:wN{\c_@@_main_geometry_tl} \tl_if_empty:NTF \g_@@_rubric_abstract_tl { \dim_set:Nn \l_@@_rubrics_head_text_width_dim { \c_@@_rubrics_head_text_no_abstract_width_dim } @@ -4008,60 +4013,60 @@ This work consists of the file gzt.dtx \dim_set:Nn \l_@@_rubrics_head_text_width_dim { \c_@@_rubrics_head_text_abstract_width_dim } \tl_gset:Nn \g_@@_rubric_abstract_box_tl { \begin{adjustbox}{valign=t,minipage=\c_@@_rubrics_abstract_width_dim} - \raggedright% - \large% - \color{@@_rubric_abstract_color}% - \g_@@_rubric_abstract_tl% + \raggedright + \large + \color{@@_rubric_abstract_color} + \g_@@_rubric_abstract_tl \end{adjustbox} } } \tl_set:Nn \l_@@_rubric_head_text_box_tl { \begin{adjustbox}{valign=t,minipage=\l_@@_rubrics_head_text_width_dim} - \mbox{}% - \checkoddpage% - \ifoddpage% - \raggedleft% + \mbox{} + \checkoddpage + \ifoddpage + \raggedleft \else - \raggedright% - \fi% - \color{@@_rubric_title_color}% - \fontsize{20}{20}\fontseries{bx}\fontshape{sc}\selectfont% - \g_@@_rubric_title_tl% + \raggedright + \fi + \color{@@_rubric_title_color} + \fontsize{20}{20}\fontseries{bx}\fontshape{sc}\selectfont + \g_@@_rubric_title_tl \end{adjustbox} } - \noindent% - \mbox{}% - \checkoddpage% - \ifoddpage% + \noindent + \mbox{} + \checkoddpage + \ifoddpage \hspace*{\c_@@_rubric_extra_xoffset_dim} \tl_if_empty:NF \g_@@_rubric_abstract_tl { \g_@@_rubric_abstract_box_tl } - \hfill% + \hfill \l_@@_rubric_head_text_box_tl - \hspace*{\c_@@_rubric_xoffset_dim}% - \else% - \hspace*{\c_@@_rubric_xoffset_dim}% + \hspace*{\c_@@_rubric_xoffset_dim} + \else + \hspace*{\c_@@_rubric_xoffset_dim} \l_@@_rubric_head_text_box_tl \tl_if_empty:NF \g_@@_rubric_abstract_tl { - \hfill% + \hfill \g_@@_rubric_abstract_box_tl \hspace*{\c_@@_rubric_extra_xoffset_dim} } - \fi% + \fi } - \afterpage{% - \bool_gset_false:N \g_@@_rubric_bool% + \afterpage{ + \bool_gset_false:N \g_@@_rubric_bool } % \end{macrocode} -% We suppress any spurious space in case of lack of "%" at the end of the -% public macros built on "\_@@_rubric": +% We suppress any spurious space in case of lack of ×%× at the end of the +% public macros built on ×\_@@_rubric×: % \begin{macrocode} \ignorespaces % \end{macrocode} -% End of the definition of the private command "\_@@_rubric": +% End of the definition of the private command ×\_@@_rubric×: % \begin{macrocode} } % \end{macrocode} @@ -4079,16 +4084,16 @@ This work consists of the file gzt.dtx % \begin{macrocode} \cs_new_protected:Nn \_@@_display_localtoc: { - \etocsettocstyle{\section*{\contentsname}}{}% + \etocsettocstyle{\section*{\contentsname}}{} \etocsetstyle {section} {} {\leavevmode\leftskip 0cm\relax} - {\bfseries\normalsize\makebox[.6cm][l]{\etocnumber}% - \etocname\nobreak\hfill\nobreak% - \makebox[.5cm][r]{% - \etocpage% - }% - \par% + {\bfseries\normalsize\makebox[.6cm][l]{\etocnumber} + \etocname\nobreak\hfill\nobreak + \makebox[.5cm][r]{ + \etocpage + } + \par } {\medskip} \localtableofcontentswithrelativedepth{+1} @@ -4102,72 +4107,71 @@ This work consists of the file gzt.dtx % We create two token lists that will contain: % \begin{enumerate} % \item the unique bibliographic key, -% \item the "author" value of the bibliographic entry, +% \item the ×author× value of the bibliographic entry, % \end{enumerate} % of the current article. % \begin{macrocode} -\tl_new:N \g_@@_article_bib_key_tl% +\tl_new:N \g_@@_article_bib_key_tl \tl_new:N \l_@@_people_first_last_names_tl -\tl_new:N \g_@@_authors_first_last_names_tl% -\tl_new:N \l_@@_interviewees_first_last_names_tl% -\tl_new:N \g__@@_citeauthor_no_firstinits% -\tl_new:N \g_@@_citeauthor_tl% -\tl_new:N \g_@@_citeinterviewee_tl% -% -\tl_new:N \g_@@_blx_given_first_inits_tl% -\@ifpackagelater{biblatex}{2016/01/01}{% +\tl_new:N \g_@@_authors_first_last_names_tl +\tl_new:N \l_@@_interviewees_first_last_names_tl +\tl_new:N \g_@@_citeauthor_tl +\tl_new:N \g_@@_citeinterviewee_tl +% +\tl_new:N \g_@@_blx_given_first_inits_tl +\@ifpackagelater{biblatex}{2016/01/01}{ \tl_gset:Nn \g_@@_blx_given_first_inits_false_tl - {% - \togglefalse{abx@bool@giveninits}% + { + \togglefalse{abx@bool@giveninits} } }{ \tl_set:Nn \g_@@_blx_given_first_inits_false_tl - {% - \togglefalse{blx@firstinits}% + { + \togglefalse{blx@firstinits} } } % -\cs_new_protected:Nn \_@@_citeauthor_no_firstinits:n {% - \tl_gset:Nn \g_@@_citeauthor_tl {% - \DeclareNameAlias{labelname}{default}% +\cs_new_protected:Nn \_@@_citeauthor_no_firstinits:n { + \tl_gset:Nn \g_@@_citeauthor_tl { + \DeclareNameAlias{labelname}{default} \group_begin: \g_@@_blx_given_first_inits_false_tl \citeauthor{#1} \group_end: - }% + } \cs_if_exist:cTF {texorpdfstring} { \texorpdfstring{\g_@@_citeauthor_tl}{} - }{% + }{ \g_@@_citeauthor_tl - }% + } } -% \@ifpackageloaded{hyperref}{% -% \tl_gset:No \g_@@_citeauthor_tl {% +% \@ifpackageloaded{hyperref}{ +% \tl_gset:No \g_@@_citeauthor_tl { % \texorpdfstring{\citeauthor{\g_@@_article_bib_key_tl}}{} % } -% }{% -% \tl_gset:Nn \g_@@_citeauthor_tl {% +% }{ +% \tl_gset:Nn \g_@@_citeauthor_tl { % \citeauthor{\g_@@_article_bib_key_tl} -% }% -% }% -% \@ifpackageloaded{hyperref}{% -% \tl_gset:No \g_@@_citeinterviewee_tl {% +% } +% } +% \@ifpackageloaded{hyperref}{ +% \tl_gset:No \g_@@_citeinterviewee_tl { % \texorpdfstring{\citeauthor{\g_@@_article_bib_key_tl}}{} % } -% }{% -% \tl_gset:Nn \g_@@_citeinterviewee_tl {% +% }{ +% \tl_gset:Nn \g_@@_citeinterviewee_tl { % \citeinterviewee{\g_@@_article_bib_key_tl} -% }% -% }% +% } +% } % \end{macrocode} % -% In the following "\maketitle" document level macro, we will need to display +% In the following ×\maketitle× document level macro, we will need to display % the list the authors of the current article, not as a comma separated list -% (default "\citeauthor" \pkg{biblatex}'s macro behavior), but as an itemized -% list. For this, we create the "\_@@_itemized_citeauthor" internal function -% that will make use of "\citeauthor" where "\multinamedelim" and -% "\finalnamedelim" will be patched into "\item". As we don't want to globally +% (default ×\citeauthor× \pkg{biblatex}'s macro behavior), but as an itemized +% list. For this, we create the ×\_@@_itemized_citeauthor× internal function +% that will make use of ×\citeauthor× where ×\multinamedelim× and +% ×\finalnamedelim× will be patched into ×\item×. As we don't want to globally % alter the behavior of these macros, we first store their original meanings in % some private control sequence: % \begin{macrocode} @@ -4197,18 +4201,18 @@ This work consists of the file gzt.dtx % % \end{macrocode} % -% \begin{macro}{\_@@_maketitle} +% \begin{macro}{\maketitle} % The command that \enquote{makes} the title is redefined. % \begin{macrocode} \RenewDocumentCommand \maketitle { s } { % \end{macrocode} % % We force all the previous floats to be processed before a new article starts -% (this is already done in "bibliography_minibiographies_acknowledgements" +% (this is already done in ×bibliography_minibiographies_acknowledgements× % environment but is repeated here if what is before provides floats but neither % bibliography, \textsc{cv} nor acknowledgements). % \begin{macrocode} - \FloatBarrier% + \FloatBarrier % \end{macrocode} % % We increment the item number in the current rubric. @@ -4216,7 +4220,7 @@ This work consists of the file gzt.dtx \int_gincr:N \g_@@_item_in_rubric_int % \end{macrocode} % -% We restore the original length for "\parindent" that has been set to zero in +% We restore the original length for ×\parindent× that has been set to zero in % a possible previous \enquote{Interview} rubric. % \begin{macrocode} \dim_set_eq:NN \parindent \c_@@_original_parindent_dim @@ -4256,9 +4260,9 @@ This work consists of the file gzt.dtx % \end{macrocode} % % We store the unique bibliographic key of the current article in the -% "\g_@@_article_bib_key_tl" token list. +% ×\g_@@_article_bib_key_tl× token list. % \begin{macrocode} -\tl_gset:Nn \g_@@_article_bib_key_tl {% +\tl_gset:Nn \g_@@_article_bib_key_tl { \c_@@_issue_bib_key_tl -art- \int_use:N \g_@@_articles_int @@ -4274,35 +4278,35 @@ This work consists of the file gzt.dtx % formated as required by \pkg{biblatex} (\enquote{Last1, First1 [and Last2, % First2 [and ...]]}). % \begin{macrocode} -\DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{author-art-\int_use:N \g_@@_articles_int}]{people}{% - \l_@@_people_first_last_name_tl=first-last-name% - ,\l_@@_people_role_tl=role% -}{% +\DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{author-art-\int_use:N \g_@@_articles_int}]{people}{ + \l_@@_people_first_last_name_tl=first-last-name + ,\l_@@_people_role_tl=role +}{ \tl_if_in:NnT \l_@@_people_role_tl { author } { - \DTLiffirstrow{% + \DTLiffirstrow{ \tl_put_right:Nx \l_@@_people_first_last_names_tl {\exp_not:V\l_@@_people_first_last_name_tl} }{ \tl_put_right:Nx \l_@@_people_first_last_names_tl - {~and~\exp_not:V\l_@@_people_first_last_name_tl} + {~ and~ \exp_not:V\l_@@_people_first_last_name_tl} } } } -\DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{interviewee-art-\int_use:N \g_@@_articles_int}]{people}{% - \l_@@_people_first_last_name_tl=first-last-name% - ,\l_@@_people_role_tl=role% -}{% +\DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{interviewee-art-\int_use:N \g_@@_articles_int}]{people}{ + \l_@@_people_first_last_name_tl=first-last-name + ,\l_@@_people_role_tl=role +}{ \tl_if_in:NnT \l_@@_people_role_tl { interviewee } { - \DTLiffirstrow{% + \DTLiffirstrow{ \tl_put_right:Nx \l_@@_people_first_last_names_tl {\exp_not:V\l_@@_people_first_last_name_tl} }{ \tl_put_right:Nx \l_@@_people_first_last_names_tl - {~and~\exp_not:V\l_@@_people_first_last_name_tl} + {~ and~ \exp_not:V\l_@@_people_first_last_name_tl} } } } @@ -4310,21 +4314,21 @@ This work consists of the file gzt.dtx % % We now populate the bibiliographic file. % \begin{macrocode} -\tl_if_empty:NF \g_@@_title_tl {% - \iow_now:Nx \g_@@_bib_out_iow {% +\tl_if_empty:NF \g_@@_title_tl { + \iow_now:Nx \g_@@_bib_out_iow { @article{ \g_@@_article_bib_key_tl, \iow_newline: title={\exp_not:V\g_@@_title_tl}, \iow_newline: - \tl_if_empty:NF \g_@@_subtitle_tl {% + \tl_if_empty:NF \g_@@_subtitle_tl { subtitle={\exp_not:V\g_@@_subtitle_tl}, \iow_newline: } - \tl_if_eq:NNF { \g_@@_short_title_tl } { \g_@@_title_tl } {% + \tl_if_eq:NNF { \g_@@_short_title_tl } { \g_@@_title_tl } { shorttitle={\exp_not:V\g_@@_short_title_tl}, \iow_newline: - }% + } \tl_if_empty:NF \l_@@_people_first_last_names_tl { author={\exp_not:V\l_@@_people_first_last_names_tl}, @@ -4335,67 +4339,77 @@ This work consists of the file gzt.dtx crossref = {\c_@@_issue_bib_key_tl} } \iow_newline: - }% -}% + } +} % \tl_set:Nn \l_@@_bullet_and_rule_odd_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=@@_circlerule_color,draw=@@_circlerule_color,line~width=0.7mm] - ([xshift=-\c_@@_innermargin_dim-\c_@@_potential_layoutoffset_dim]0,0 -| current~page.west) -- (\linewidth,0);% +{ + \begin{tikzpicture}[remember~ picture,overlay] + \draw[fill=@@_circlerule_color,draw=@@_circlerule_color,line~ width=0.7mm] + ( + [xshift=-\c_@@_innermargin_dim-\c_@@_potential_layoutoffset_dim]0,0 -| + current~ page.west + ) + -- (\linewidth,0); \fill[@@_circlerule_color] (\linewidth-2\pgflinewidth,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% + \end{tikzpicture} +} \tl_set:Nn \l_@@_bullet_and_rule_even_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=@@_circlerule_color,draw=@@_circlerule_color,line~width=0.7mm] - (0,0 -| current~page.east) -- (0,0);% +{ + \begin{tikzpicture}[remember~ picture,overlay] + \draw[fill=@@_circlerule_color,draw=@@_circlerule_color,line~ width=0.7mm] + (0,0 -| current~ page.east) -- (0,0); \fill[@@_circlerule_color] (0,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% + \end{tikzpicture} +} \tl_set:Nn \l_@@_title_box_tl -{% - \noindent% - \hspace*{18mm}% +{ + \noindent + \hspace*{18mm} \begin{adjustbox}{minipage=\linewidth-18mm,valign=t} - \raggedright% - \color{@@_article_title_color}% - \fontsize{20}{25}\selectfont% - \bfseries% + \raggedright + \color{@@_article_title_color} + \fontsize{20}{25}\selectfont + \bfseries \g_@@_title_tl - \tl_if_empty:NF \g_@@_subtitle_tl {% - \par% + \tl_if_empty:NF \g_@@_subtitle_tl { + \par \g_@@_subtitle_tl } \phantomsection - \par% + \par \bool_if:NTF {\g_@@_title_not_in_toc_bool} { \bookmark[page=\thepage,level=chapter]{\g_@@_short_title_tl} }{ - \addcontentsline{toc}{chapter}{% - \tl_if_empty:NTF \g_@@_short_title_tl {% - \g_@@_title_tl% + \addcontentsline{toc}{chapter}{ + \tl_if_empty:NTF \g_@@_short_title_tl { + \g_@@_title_tl }{ - \g_@@_short_title_tl% + \g_@@_short_title_tl } \bool_if:NF {\g_@@_subtitle_not_in_toc_bool} { - \bool_if:nF { \tl_if_empty_p:N \g_@@_short_subtitle_tl || \g_@@_interview_rubric_bool || \g_@@_rearviewmirror_rubric_bool } - { + \bool_if:nF { + \tl_if_empty_p:N \g_@@_short_subtitle_tl || + \g_@@_interview_rubric_bool || + \g_@@_rearviewmirror_rubric_bool + }{ \c_space_tl\textendash{}\c_space_tl\g_@@_short_subtitle_tl } } - \bool_if:nF { \tl_if_empty_p:N \l_@@_people_first_last_names_tl || \g_@@_interview_rubric_bool || \g_@@_rearviewmirror_rubric_bool } - { + \bool_if:nF { + \tl_if_empty_p:N \l_@@_people_first_last_names_tl || + \g_@@_interview_rubric_bool || + \g_@@_rearviewmirror_rubric_bool + }{ \textsl{ \cs_if_exist:cTF {texorpdfstring} { - \texorpdfstring{% + \texorpdfstring{ \c_space_tl\textendash{}\c_space_tl\citeauthor{\g_@@_article_bib_key_tl} }{} - }{% + }{ \c_space_tl\textendash{}\c_space_tl\citeauthor{\g_@@_article_bib_key_tl} - }% + } } } } @@ -4408,27 +4422,27 @@ This work consists of the file gzt.dtx % \dim_gset:Nn \g_@@_abstract_box_width_dim {\linewidth} % } \tl_set:Nn \l_@@_abstract_box_tl - {% - \begin{adjustbox}{minipage=\g_@@_abstract_box_width_dim,max~width=\g_@@_abstract_box_width_dim,valign=t} + { + \begin{adjustbox}{minipage=\g_@@_abstract_box_width_dim,max~ width=\g_@@_abstract_box_width_dim,valign=t} \mbox{} \tl_if_exist:NT \g_@@_abstract_body_tl - {% - \raggedright% - \bfseries% - \color{@@_article_abstract_color}% + { + \raggedright + \bfseries + \color{@@_article_abstract_color} \g_@@_abstract_body_tl - }% + } \end{adjustbox} - }% + } \tl_set:Nn \l_@@_authors_box_tl - {% - \begin{adjustbox}{minipage=0.3\linewidth,min~width=0.3\linewidth,valign=t} + { + \begin{adjustbox}{minipage=0.3\linewidth,min~ width=0.3\linewidth,valign=t} \bool_if:nTF { \tl_if_empty_p:N \l_@@_people_first_last_names_tl || \g_@@_interview_rubric_bool } { \mbox{} } { - \color{@@_people_color}% + \color{@@_people_color} \_@@_itemized_citeauthor:n {\g_@@_article_bib_key_tl} } \end{adjustbox} @@ -4443,14 +4457,14 @@ This work consists of the file gzt.dtx \tl_if_empty_p:N \g_@@_rubric_abstract_tl }{ \xleaders\vbox { - \bigskip% - }% - \vskip\bigskipamount% + \bigskip + } + \vskip\bigskipamount }{ \xleaders\vbox { - \smallskip% - }% - \vskip\smallskipamount% + \smallskip + } + \vskip\smallskipamount } } { @@ -4459,17 +4473,17 @@ This work consists of the file gzt.dtx \xleaders\vbox { \mbox{} \par - \medskip% - }% - \vskip\medskipamount% + \medskip + } + \vskip\medskipamount } { \xleaders\vbox { \mbox{} \par - \smallskip% - }% - \vskip\smallskipamount% + \smallskip + } + \vskip\smallskipamount } } \bool_gset_false:N \g_@@_previous_article_with_bibliography_or_minibio_bool @@ -4490,7 +4504,7 @@ This work consists of the file gzt.dtx % We fix some of the PDF's metadata . % \begin{macrocode} \bool_if:NT {\g_@@_for_authors_bool} { - \hypersetup{% + \hypersetup{ pdftitle=\g_@@_short_title_tl, pdfauthor=\l_@@_people_first_last_names_tl } @@ -4498,24 +4512,24 @@ This work consists of the file gzt.dtx % \end{macrocode} % % Here, we put the \pkg{TikZ}'s picture of the \enquote{bullet and rule} -% (contained in the "\l_@@_bullet_and_rule_tl" token list) in a "\vbox" that -% follows a "\cleaders" that makes the whole vanishes at pages boundaries -% (cf. \url{http://tex.stackexchange.com/a/31615/18401}). +% (contained in the ×\l_@@_bullet_and_rule_tl× token list) in a ×\vbox× that +% follows a ×\cleaders× that makes the whole vanishes at pages boundaries +% (cf. \url{https://tex.stackexchange.com/a/31615/18401}). % \begin{macrocode} \bool_if:nF { \g_@@_for_authors_bool } { % \xleaders\vbox { - % \bigskip% - % }% - % \vskip\bigskipamount% - \noindent% - \checkoddpage% - \ifoddpage% + % \bigskip + % } + % \vskip\bigskipamount + \noindent + \checkoddpage + \ifoddpage \l_@@_bullet_and_rule_odd_tl - \else% + \else \l_@@_bullet_and_rule_even_tl - \fi% - \bigskip% - }% + \fi + \bigskip + } \par \nopagebreak[4] % \end{macrocode} @@ -4530,36 +4544,43 @@ This work consists of the file gzt.dtx % % \begin{macrocode} \l_@@_title_box_tl - \normalsize% + \normalsize \nopagebreak[3] - \bool_if:nF { \tl_if_empty_p:N \g_@@_abstract_body_tl && (\tl_if_empty_p:N \l_@@_people_first_last_names_tl || \g_@@_interview_rubric_bool || \g_@@_rearviewmirror_rubric_bool)} - {% - \par% + \bool_if:nF { + \tl_if_empty_p:N \g_@@_abstract_body_tl + && + ( + \tl_if_empty_p:N \l_@@_people_first_last_names_tl || + \g_@@_interview_rubric_bool || + \g_@@_rearviewmirror_rubric_bool + ) + }{ + \par \bigskip \bigskip - \large% - \mbox{}% - \checkoddpage% - \ifoddpage% + \large + \mbox{} + \checkoddpage + \ifoddpage \l_@@_abstract_box_tl - \hspace*{11mm}% + \hspace*{11mm} \l_@@_authors_box_tl - \else% - \hspace*{-.85\c_@@_outermargin_dim}% + \else + \hspace*{-.85\c_@@_outermargin_dim} \l_@@_authors_box_tl - \hspace*{11mm}% + \hspace*{11mm} \l_@@_abstract_box_tl - \fi% + \fi } \tl_gclear:N \g_@@_title_tl \tl_gclear:N \g_@@_subtitle_tl \tl_gclear:N \g_@@_abstract_body_tl - \normalsize% + \normalsize \bigskip \tl_if_empty:NF \g_@@_abstract_body_tl - % {% + % { % \tl_if_empty:NF \l_@@_people_first_last_names_tl - % {% + % { % \bigskip % } % } @@ -4570,7 +4591,7 @@ This work consists of the file gzt.dtx { % \end{macrocode} % -% We set "\parindent" to zero in \enquote{Interview} rubric. +% We set ×\parindent× to zero in \enquote{Interview} rubric. % \begin{macrocode} \dim_zero:N \parindent % \tl_if_empty:NF \l_@@_people_photo_tl @@ -4580,12 +4601,12 @@ This work consists of the file gzt.dtx % \end{adjustbox} % } } - \color{@@_default_text_color}% - \IfBooleanF {#1}% + \color{@@_default_text_color} + \IfBooleanF {#1} { \bool_if:nF { \g_@@_multicols_bool || \g_@@_rearviewmirror_rubric_bool } { - \begin{multicols}{2}% + \begin{multicols}{2} } } } @@ -4594,7 +4615,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 } {% +\file_if_exist:nT { \c_@@_acronyms_file_string_tl } { \AddToHook{begindocument/before}{\loadglsentries{\c_@@_acronyms_file_string_tl}} } % \end{macrocode} @@ -4607,16 +4628,16 @@ This work consists of the file gzt.dtx %<*class> % \end{macrocode} % -% In case of "forauthors" option, we close the "multicols" environment in case -% it isn't closed (which happens if neither "\printbibliography" nor -% "\printauthorsdetails" is used). This should fix issue +% In case of ×forauthors× option, we close the ×multicols× environment in case +% it isn't (which happens if neither ×\printbibliography× nor +% ×\printauthorsdetails× is used). This should fix issue % \url{https://github.com/dbitouze/gzt/issues/36}. % \begin{macrocode} \bool_if:nT { \g_@@_for_authors_bool } { - \AddToHook{enddocument}{% + \AddToHook{enddocument}{ \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% + \end{multicols} } } } @@ -4641,34 +4662,34 @@ This work consists of the file gzt.dtx % \Pkg{longtable}) and the following code mainly comes from the \pkg{etoc}'s % documentation. % \begin{macrocode} -\@ifpackageloaded{etoc}{% +\@ifpackageloaded{etoc}{ \newif\ifShowPartPageInToc % used before \part{Livres} % cf etoc manual section Typesetting the TOC as a table -% we use "\unexpanded" rather than more cumbersome but Knuthian "\toks" registers +% we use ×\unexpanded× rather than more cumbersome but Knuthian ×\toks× registers \newtoks\toctabletok \newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands only once #2 #1\expandafter\expandafter\expandafter {\expandafter\the\expandafter #1#2}} - \newcommand*\PreparePart{% - \edef\toctablepiece {% - \ExceptFirstPart {\noexpand\\[-1.5mm]}% - \unexpanded{% - \color{@@_rubric_in_toc_color}\scshape\fontseries{bx}\selectfont% - }% + \newcommand*\PreparePart{ + \edef\toctablepiece { + \ExceptFirstPart {\noexpand\\[-1.5mm]} + \unexpanded{ + \color{@@_rubric_in_toc_color}\scshape\fontseries{bx}\selectfont + } \unexpanded\expandafter{\etocthelinkedname}& % \ifShowPartPageInToc - \unexpanded{\bfseries\color{@@_rubric_in_toc_color}}% - \unexpanded\expandafter{\etocthelinkedpage}% + \unexpanded{\bfseries\color{@@_rubric_in_toc_color}} + \unexpanded\expandafter{\etocthelinkedpage} % \fi - \noexpand\\}% - \gdef\ExceptFirstPart ##1{##1}% + \noexpand\\} + \gdef\ExceptFirstPart ##1{##1} } - \newcommand*\PrepareChapter{% - \edef\toctablepiece {% - \unexpanded{\color{@@_article_in_toc_color}\small}% + \newcommand*\PrepareChapter{ + \edef\toctablepiece { + \unexpanded{\color{@@_article_in_toc_color}\small} \unexpanded\expandafter{\etocthelinkedname}& \unexpanded{\color{@@_article_in_toc_color}\small} - \unexpanded\expandafter{\etocthelinkedpage}% - \noexpand\\[1mm]}% + \unexpanded\expandafter{\etocthelinkedpage} + \noexpand\\[1mm]} } \etocsetstyle{part}{}{} {\PreparePart \appendtotok\toctabletok\toctablepiece} @@ -4677,14 +4698,17 @@ This work consists of the file gzt.dtx {\PrepareChapter \appendtotok\toctabletok\toctablepiece} {} \etocsettocstyle - {% + { \setlength\LTleft{\c_zero_dim} \setlength\LTright{\c_zero_dim} - \gdef\ExceptFirstPart ##1{}% - \toctabletok {%\hypersetup{hidelinks}% - \begin{longtable}{@{\extracolsep{\fill}}p{115mm}@{\quad}!{\color{@@_rule_in_toc_color}\vrule width 0.2mm}@{}r@{}}}% + \gdef\ExceptFirstPart ##1{} + \toctabletok {\hypersetup{hidelinks} + \begin{longtable}{ + @{\extracolsep{\fill}}p{115mm}@{\quad}!{\color{@@_rule_in_toc_color}\vrule + width 0.2mm}@{}r@{}} + } } - {\global\toctabletok\expandafter{% + {\global\toctabletok\expandafter{ \the\toctabletok\end{longtable} } } @@ -4699,78 +4723,79 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% \section{Special tools common to the editorial, the table of contents and the +% \subsection{Special tools common to the editorial, the table of contents and the % president message} % % We create an internal function that displays the box containing the issue % number, with possible image on its left, followed below by an arbitrary text % with a reflection effect. % \begin{macrocode} -\tl_new:N \g_@@_boxed_issue_number_tl% -\tl_gset:Nn \g_@@_boxed_issue_number_tl {% +\tl_new:N \g_@@_boxed_issue_number_tl +\tl_gset:Nn \g_@@_boxed_issue_number_tl { \tcbox{\Large\No\g_@@_issue_number_int} } \cs_new_protected:Nn \@@_boxed_issue_number:nn { - \noindent% - \raisebox{\baselineskip}{% - \tl_if_empty:nF {#1} {% - \makebox[\c_zero_dim][r]{% - % \hspace*{\l_@@_thumbnail_width_dim}% + \noindent + \raisebox{\baselineskip}{ + \tl_if_empty:nF {#1} { + \makebox[\c_zero_dim][r]{ + % \hspace*{\l_@@_thumbnail_width_dim} \begin{adjustbox}{valign=t} - \includegraphics[width=\l_@@_thumbnail_width_dim]{#1}% - \end{adjustbox}% - }% - }% + \includegraphics[width=\l_@@_thumbnail_width_dim]{#1} + \end{adjustbox} + } + } \bool_if:NTF {\g_@@_special_edition_bool} { \tl_set:Nn \l_tmpa_tl {\c_@@_short_special_edition_string_tl} }{ \tl_set:Nn \l_tmpa_tl {\No\int_use:N\g_@@_issue_number_int} } \begin{adjustbox}{valign=t} - \begin{tcolorbox}[% - enhanced,% - title=\l_tmpa_tl,%\int_use:N \g_@@_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_@@_boxed_issue_number_width_dim},% - boxed~title~style={% - size=minimal,% - height=\c_@@_boxed_issue_number_height_dim,% - center~upper,% - before={},% - colback=@@_boxed_issue_number_bg_color,% - sharp~corners=all,% - frame~hidden,% - valign=center,% - }% + \begin{tcolorbox}[ + enhanced, + title=\l_tmpa_tl,%\int_use:N \g_@@_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_@@_boxed_issue_number_width_dim}, + boxed~ title~ style={ + size=minimal, + height=\c_@@_boxed_issue_number_height_dim, + center~ upper, + before={}, + colback=@@_boxed_issue_number_bg_color, + sharp~ corners=all, + frame~ hidden, + valign=center, + } ] - \@@_reflected_text:n { #2 }% + \@@_reflected_text:n { #2 } \end{tcolorbox} - \end{adjustbox}% - }% - \par% + \end{adjustbox} + } + \par } % \end{macrocode} % % \begin{macrocode} \cs_new_protected:Nn \_@@_before_frontmatter_stuff: { - \bool_gset_true:N \g_@@_frontmatter_bool% - \pagestyle{@@_frontmatter_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_front_matter_geometry_tl}% + \bool_gset_true:N \g_@@_frontmatter_bool + \cleardoublepage + \pagestyle{@@_frontmatter_ps} + \exp_after:wN\newgeometry\exp_after:wN{\c_@@_front_matter_geometry_tl} } \cs_new_protected:Nn \_@@_after_frontmatter_stuff: { \color{@@_default_text_color} - \normalsize% - \clearpage% - \bool_gset_false:N \g_@@_frontmatter_bool% + \normalsize + \clearpage + \bool_gset_false:N \g_@@_frontmatter_bool } % \end{macrocode} % @@ -4779,7 +4804,7 @@ This work consists of the file gzt.dtx { \_@@_before_frontmatter_stuff: {} \@@_boxed_issue_number:nn {#1}{#2} - \color{@@_frontmatter_text_color}% + \color{@@_frontmatter_text_color} \fontsize{11}{13.6}\selectfont \RaggedRight } @@ -4791,7 +4816,7 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Displaying the editorial} +% \subsection{Displaying the editorial} % % We create an internal function that displays the editorial. % \begin{macrocode} @@ -4802,34 +4827,33 @@ This work consists of the file gzt.dtx \cs_new_protected:Nn \_@@_after_display_editorial: { \_@@_after_editorial_presidentmessage: {} - \hspace*{\fill}% + \hspace*{\fill} \bool_if:NTF {\g_@@_special_edition_bool} { \AtNextCitekey{\defcounter{maxnames}{100}} \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -editorinchief- 1} }{ - \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{editorinchief}]{people}{% - \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}% + \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{editorinchief}]{people}{ + \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} } } - % \_@@_after_frontmatter_stuff: {} } \cs_new_protected:Nn \_@@_display_editorial:n { \_@@_before_display_editorial:n {#1} \file_if_exist_input:nF {\c_@@_editorial_file_string_tl} - {% + { \msg_error:nn { gzt } { editorial-file-missing } } \_@@_after_display_editorial: {} } -\AddToHook{begindocument/before}{% +\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 {% + \tl_if_empty:NF \g_@@_special_edition_editorial_heading_tl { \tl_set_eq:NN \g_@@_editorial_heading_tl \g_@@_special_edition_editorial_heading_tl } } @@ -4850,7 +4874,7 @@ This work consists of the file gzt.dtx %<*class> % \end{macrocode} % -% \section{Displaying the table of contents} +% \subsection{Displaying the table of contents} % % We create an internal function that displays the table of contents. % \begin{macrocode} @@ -4865,7 +4889,7 @@ This work consists of the file gzt.dtx }{ \bookmark[dest=@@_toc,level=part]{\c_@@_toc_string_tl} } - \etocsettocdepth.toc{chapter}% + \etocsettocdepth.toc{chapter} \tableofcontents \the\toctabletok \_@@_after_frontmatter_stuff: {} @@ -4878,12 +4902,12 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Displaying the mini table of contents of the front cover} +% \subsection{Displaying the mini table of contents of the front cover} % % We create an internal function that displays the president's message. % \begin{macrocode} -\tl_new:N \g_@@_frontcover_minitoc_tl% -\tl_new:N \l_@@_minitoc_label_tl% +\tl_new:N \g_@@_frontcover_minitoc_tl +\tl_new:N \l_@@_minitoc_label_tl \cs_new_protected:Nn \_@@_frontcover_minitoc:n { \tl_gset:Nn \g_@@_frontcover_minitoc_tl {#1} @@ -4898,9 +4922,9 @@ This work consists of the file gzt.dtx \setlist[@@_minitoc_list]{itemsep=2ex,label=\textcolor{@@_cover_itemize_label_color}\textbullet} % \NewDocumentEnvironment{minitoclist}{} -{% +{ \cs_set_eq:NN \_@@_orig_item \item - \RenewDocumentCommand \item { s O{} }{% + \RenewDocumentCommand \item { s O{} }{ \tl_set:Nn \l_@@_minitoc_label_tl {##2} \_@@_orig_item\textbf{##2} \IfBooleanT {##1} @@ -4923,7 +4947,7 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% \section{Displaying the president's message} +% \subsection{Displaying the president's message} % % We create an internal function that displays the president's message. % \begin{macrocode} @@ -4931,23 +4955,21 @@ This work consists of the file gzt.dtx { \_@@_before_editorial_presidentmessage:nn {\c_@@_smf_logo_file_string_tl}{\c_@@_president_message_string_tl} \phantomsection - \par% - \addcontentsline{toc}{part}{\g_@@_smf_short_string_tl}% - \addcontentsline{toc}{chapter}{\c_@@_president_message_string_tl}% + \par + \addcontentsline{toc}{part}{\g_@@_smf_short_string_tl} + \addcontentsline{toc}{chapter}{\c_@@_president_message_string_tl} } \cs_new_protected:Nn \_@@_after_display_presidentmessage: { \_@@_after_editorial_presidentmessage: {} - % - \hspace*{\fill}% - \c_@@_president_message_date_string_tl% - \displaydate{@@_president_message_date}% + \hspace*{\fill} + \c_@@_president_message_date_string_tl + \displaydate{@@_president_message_date} \\[1.5mm] - \hspace*{\fill}% - \@@_display_people_by_role:n { president }% + \hspace*{\fill} + \@@_display_people_by_role:n { president } ,\c_space_tl \c_@@_president_signatory_string_tl - % \_@@_after_frontmatter_stuff: {} } \cs_new_protected:Nn \_@@_display_president_message: @@ -4964,7 +4986,7 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \section{Chapter, sections, etc. customization} +% \subsection{Chapter, sections, etc. customization} % % Thanks to \Pkg{titlesec}, the chapter, section, subsection and subsubsection % formats are customized. @@ -4974,12 +4996,12 @@ This work consists of the file gzt.dtx % without any number, with a null distance between the (missing) number and % the title, with a title in enforced lower case but small caps. % \begin{macrocode} -\titleformat{\chapter}% +\titleformat{\chapter} [block] {\Huge\bfseries} {} {\c_zero_dim} -{\scshape}% +{\scshape} % \end{macrocode} % % \item[Section] has a \enquote{frame} shape, is typeset in bold face, left @@ -4987,9 +5009,9 @@ This work consists of the file gzt.dtx % distance between the number and the title, with a title in 12.5pt. % \begin{macrocode} \titleformat{\section} -{% - \raggedright% - \bfseries% +{ + \raggedright + \bfseries \color{@@_section_color} } {\fontsize{20}{15}\selectfont\thesection.\enspace} @@ -5001,10 +5023,10 @@ This work consists of the file gzt.dtx % \begin{macrocode} \titleformat{\subsection} % [frame] -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{@@_subsection_color}% +{ + \fontsize{11}{16}\selectfont + \bfseries + \color{@@_subsection_color} } {\thesubsection\ \textendash{}\ } {\c_zero_dim} @@ -5015,10 +5037,10 @@ This work consists of the file gzt.dtx % \begin{macrocode} \titleformat{\subsubsection} % [frame] -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{@@_subsubsection_color}% +{ + \fontsize{11}{16}\selectfont + \bfseries + \color{@@_subsubsection_color} } {} {\c_zero_dim} @@ -5026,7 +5048,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{description} % -% \section{First pages} +% \subsection{First pages} % % At begin of the document, we automatically : % \begin{itemize} @@ -5036,15 +5058,15 @@ This work consists of the file gzt.dtx % \end{itemize} % % \begin{macrocode} -\AddToHook{begindocument}{% +\AddToHook{begindocument}{ \graphicspath{{\c_@@_issue_images_path_string_tl//}{../\c_@@_issue_images_path_string_tl//}} % \glsdisablehyper \g_@@_mainmatter_switch_tl % \bool_gset_false:N \g_@@_frontmatter_bool % \bool_gset_true:N \g_@@_mainmatter_bool % \SetParskip{\c_@@_mainmatter_parskip_skip} - % \pagestyle{@@_mainmatter_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_main_geometry_tl}% + % \pagestyle{@@_mainmatter_ps} + \exp_after:wN\newgeometry\exp_after:wN{\c_@@_main_geometry_tl} } % \end{macrocode} % @@ -5057,27 +5079,27 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\AddToHook{begindocument}{% - \dim_if_exist:NTF \g_@@_pagegrid_dim {% - \pagegridsetup{% - enable,% - step=\g_@@_pagegrid_dim% +\AddToHook{begindocument}{ + \dim_if_exist:NTF \g_@@_pagegrid_dim { + \pagegridsetup{ + enable, + step=\g_@@_pagegrid_dim } - }{% - \pagegridsetup{% - disable% + }{ + \pagegridsetup{ + disable } } % \bool_if:NTF {\g_@@_for_authors_bool} { % \thispagestyle{empty} % \includegraphics{gzt-logo} % \hfill - % \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% + % \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl} % \par % \vfill % \begin{adjustbox}{valign=c,minipage=\linewidth} - % \Large% - % \c_@@_preliminary_version_string_tl% + % \Large + % \c_@@_preliminary_version_string_tl % \end{adjustbox} % \vfill % \newpage @@ -5108,22 +5130,22 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% \section{Page styles} +% \subsection{Page styles} % -% Thanks to \Pkg{titleps} loaded by \pkg{titlesec}'s "pagestyles" option, we define +% Thanks to \Pkg{titleps} loaded by \pkg{titlesec}'s ×pagestyles× option, we define % some page styles. % -% \subsection{Common tools} +% \subsubsection{Common tools} % % Here, we define some tools shared by sevral pages styles. % % The background footer: % \begin{macrocode} \tl_new:N \g_@@_background_footer_tl -\tl_gset:Nn \g_@@_background_footer_tl {% +\tl_gset:Nn \g_@@_background_footer_tl { \draw [@@_footer_bg_color,fill] - (current~page.south~west) - rectangle ([yshift=\c_@@_footer_background_height_dim]current~page.south~east) + (current~ page.south~ west) + rectangle ([yshift=\c_@@_footer_background_height_dim]current~ page.south~ east) ; } % \end{macrocode} @@ -5131,11 +5153,11 @@ This work consists of the file gzt.dtx % The frontmatter head text: % \begin{macrocode} \tl_new:N \l_@@_frontmatter_head_text_tl -\tl_set:Nn \l_@@_frontmatter_head_text_tl {% +\tl_set:Nn \l_@@_frontmatter_head_text_tl { \bool_if:NTF {\g_@@_special_edition_bool} { \g_@@_special_edition_title_tl }{ - \includegraphics{gzt-logo} + \includegraphics[scale=1]{gzt-logo} } } % \end{macrocode} @@ -5143,83 +5165,83 @@ This work consists of the file gzt.dtx % The rubric head text: % \begin{macrocode} % \tl_new:N \l_@@_rubric_head_text_tl -% \tl_set:Nn \l_@@_rubric_head_text_tl {% -% \color{@@_rubric_head_text_color}% -% \fontsize{20}{20}\fontseries{bx}\fontshape{sc}\selectfont% -% \g_@@_rubric_title_tl% +% \tl_set:Nn \l_@@_rubric_head_text_tl { +% \color{@@_rubric_head_text_color} +% \fontsize{20}{20}\fontseries{bx}\fontshape{sc}\selectfont +% \g_@@_rubric_title_tl % } % \end{macrocode} % % The frontmatter page head rule: % \begin{macrocode} \tl_new:N \g_@@_frontmatter_page_headrule_tl -\tl_gset:Nn \g_@@_frontmatter_page_headrule_tl {% - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) +\tl_gset:Nn \g_@@_frontmatter_page_headrule_tl { + \draw [@@_headrule_color,line~ width=\c_@@_header_line_width_dim] + ([yshift=\c_@@_header_line_yshift_dim]current~ page~ header~ area.south~ west -| current~ page.north~ west) -- - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) - ;% + ([yshift=\c_@@_header_line_yshift_dim]current~ page~ header~ area.south~ east -| current~ page.north~ east) + ; } % \end{macrocode} % % The frontmatter page head text: % \begin{macrocode} \tl_new:N \g_@@_frontmatter_headtext_tl -\tl_gset:Nn \g_@@_frontmatter_headtext_tl {% - \mbox{}% - \checkoddpage% - \ifoddpage% +\tl_gset:Nn \g_@@_frontmatter_headtext_tl { + \mbox{} + \checkoddpage + \ifoddpage \node[ - anchor=north~east,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% + anchor=north~ east, + align=center, + fill=white, + inner~ xsep=3.5mm, + outer~ sep=\c_zero_dim, ] at - ([% - xshift=\c_@@_frontmatter_headtext_o_xshift_dim,% - yshift=\c_@@_frontmatter_headtext_yshift_dim% - ]current~page.north~east) {% + ([ + xshift=\c_@@_frontmatter_headtext_o_xshift_dim, + yshift=\c_@@_frontmatter_headtext_yshift_dim + ]current~ page.north~ east) { \Large \bool_if:NT {\g_@@_special_edition_bool} { \c_@@_short_special_edition_string_tl \c_space_tl } \l_@@_frontmatter_head_text_tl - }% + } ; - \else% - \node[% - anchor=north~west,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% + \else + \node[ + anchor=north~ west, + align=center, + fill=white, + inner~ xsep=3.5mm, + outer~ sep=\c_zero_dim, ] at - ([% - xshift=\c_@@_frontmatter_headtext_e_xshift_dim,% - yshift=\c_@@_frontmatter_headtext_yshift_dim% - ]current~page.north~west) {% + ([ + xshift=\c_@@_frontmatter_headtext_e_xshift_dim, + yshift=\c_@@_frontmatter_headtext_yshift_dim + ]current~ page.north~ west) { \Large \bool_if:NT {\g_@@_special_edition_bool} { \c_@@_short_special_edition_string_tl \c_space_tl } \l_@@_frontmatter_head_text_tl - }% + } ; - \fi% + \fi } % \end{macrocode} % % The mainmatter odd page head rule: % \begin{macrocode} \tl_new:N \g_@@_mainmatter_oddpage_headrule_tl -\tl_gset:Nn \g_@@_mainmatter_oddpage_headrule_tl {% - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~east) +\tl_gset:Nn \g_@@_mainmatter_oddpage_headrule_tl { + \draw [@@_headrule_color,line~ width=\c_@@_header_line_width_dim] + ([yshift=\c_@@_header_line_yshift_dim]current~ page~ header~ area.south~ east) -- - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) + ([yshift=\c_@@_header_line_yshift_dim]current~ page~ header~ area.south~ west -| current~ page.north~ west) ; } % \end{macrocode} @@ -5227,11 +5249,11 @@ This work consists of the file gzt.dtx % The mainmatter even page head rule: % \begin{macrocode} \tl_new:N \g_@@_mainmatter_evenpage_headrule_tl -\tl_gset:Nn \g_@@_mainmatter_evenpage_headrule_tl {% - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~west) +\tl_gset:Nn \g_@@_mainmatter_evenpage_headrule_tl { + \draw [@@_headrule_color,line~ width=\c_@@_header_line_width_dim] + ([yshift=\c_@@_header_line_yshift_dim]current~ page~ header~ area.south~ west) -- - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) + ([yshift=\c_@@_header_line_yshift_dim]current~ page~ header~ area.south~ east -| current~ page.north~ east) ; } % \end{macrocode} @@ -5249,13 +5271,13 @@ This work consists of the file gzt.dtx % with number (and keywords) but without any caption: in such cases, the number % should not be followed by any separator. % \begin{macrocode} -\tcbset{% - new/blend into/tables-/.style={% - use counter*=table,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@table}}}},% - new/blend into/figures-/.style={% - use counter*=figure,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@figure}}}},% +\tcbset{ + new/blend into/tables-/.style={ + use counter*=table, + /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@table}}}}, + new/blend into/figures-/.style={ + use counter*=figure, + /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@figure}}}}, } % \end{macrocode} % @@ -5268,9 +5290,8 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\newcommand\gzt@arcthroughthreepoints[4][]% +\newcommand\gzt@arcthroughthreepoints[4][] { - % \NoAutoSpacing% \coordinate (middle1) at ($(#2)!.5!(#3)$); \coordinate (middle2) at ($(#3)!.5!(#4)$); \coordinate (aux1) at ($(middle1)!1!90:(#3)$); @@ -5279,8 +5300,8 @@ This work consists of the file gzt.dtx \filldraw[fill=white,draw=@@_headrule_color,line width=0.25mm,#1] let \p1=($(#2)-(center)$), \p2=($(#4)-(center)$), - \n0={veclen(\p1)}, % Radius - \n1={atan2(\y1,\x1)}, % angles + \n0={veclen(\p1)}, + \n1={atan2(\y1,\x1)}, \n2={atan2(\y2,\x2)}, \n3={\n2>\n1?\n2:\n2+360} in (#2) arc(\n1:\n3:\n0); @@ -5312,43 +5333,79 @@ This work consists of the file gzt.dtx % The rubric page head rule: % \begin{macrocode} \tl_new:N \g_@@_rubric_page_head_tl -\tl_gset:Nn \g_@@_rubric_page_head_tl {% +\tl_gset:Nn \g_@@_rubric_page_head_tl { \bool_if:nF { \g_@@_for_authors_bool } { - \tikz[remember~picture,overlay] { - \path (current~page.north~west |- current~page~header~area.south~west) coordinate (_@@_pwest); - \path (current~page.north~east |- current~page~header~area.south~east) coordinate (_@@_peast); - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] + \tikz[remember~ picture,overlay] { + \path (current~ page.north~ west |- current~ page~ header~ area.south~ west) coordinate (_@@_pwest); + \path (current~ page.north~ east |- current~ page~ header~ area.south~ east) coordinate (_@@_peast); + \draw [@@_headrule_color,line~ width=\c_@@_header_line_width_dim] ([yshift=\c_@@_header_line_yshift_dim]_@@_pwest) -- ([yshift=\c_@@_header_line_yshift_dim]_@@_peast) - ;% - \tl_if_empty:NF \g_@@_rubric_abstract_tl {% - \mbox{}% - \checkoddpage% - \ifoddpage% - \coordinate (@@_A) at ([xshift=\c_@@_xshift_arccircle_A_dim,yshift=\c_@@_yshift_arccircle_A_dim]current~page.north~west); - \coordinate (@@_B) at ([xshift=\c_@@_xshift_arccircle_B_dim,yshift=\c_@@_yshift_arccircle_B_dim]current~page.north~west) ; - \coordinate (@@_C) at ([xshift=\c_@@_xshift_arccircle_C_dim,yshift=\c_@@_yshift_arccircle_C_dim]current~page.north~west) ; + ; + \tl_if_empty:NF \g_@@_rubric_abstract_tl { + \mbox{} + \checkoddpage + \ifoddpage + \coordinate (@@_A) at ( + [ + xshift=\c_@@_xshift_arccircle_A_dim, + yshift=\c_@@_yshift_arccircle_A_dim + ] + current~ page.north~ west + ); + \coordinate (@@_B) at ( + [ + xshift=\c_@@_xshift_arccircle_B_dim, + yshift=\c_@@_yshift_arccircle_B_dim + ] + current~ page.north~ west + ); + \coordinate (@@_C) at ( + [ + xshift=\c_@@_xshift_arccircle_C_dim, + yshift=\c_@@_yshift_arccircle_C_dim + ] + current~ page.north~ west + ); \gzt@arcthroughthreepoints{@@_A}{@@_B}{@@_C}; - \else% - \coordinate (@@_A) at ([xshift=-\c_@@_xshift_arccircle_A_dim,yshift=\c_@@_yshift_arccircle_A_dim]current~page.north~east); - \coordinate (@@_B) at ([xshift=-\c_@@_xshift_arccircle_B_dim,yshift=\c_@@_yshift_arccircle_B_dim]current~page.north~east) ; - \coordinate (@@_C) at ([xshift=-\c_@@_xshift_arccircle_C_dim,yshift=\c_@@_yshift_arccircle_C_dim]current~page.north~east) ; + \else + \coordinate (@@_A) at ( + [ + xshift=-\c_@@_xshift_arccircle_A_dim, + yshift=\c_@@_yshift_arccircle_A_dim + ] + current~ page.north~ east + ); + \coordinate (@@_B) at ( + [ + xshift=-\c_@@_xshift_arccircle_B_dim, + yshift=\c_@@_yshift_arccircle_B_dim + ] + current~ page.north~ east + ); + \coordinate (@@_C) at ( + [ + xshift=-\c_@@_xshift_arccircle_C_dim, + yshift=\c_@@_yshift_arccircle_C_dim + ] + current~ page.north~ east + ); \gzt@arcthroughthreepoints{@@_C}{@@_B}{@@_A}; - \fi% + \fi } } } } % \end{macrocode} % -% \subsection{Front cover page style} +% \subsubsection{Front cover page style} % % \begin{macrocode} -\newpagestyle{@@_frontcover_ps}[]{% +\newpagestyle{@@_frontcover_ps}[]{ \sethead - {}% - {% + {} + { \adjustbox{stack=c}{ {\Large \c_@@_frontcover_header_string_tl @@ -5359,52 +5416,50 @@ This work consists of the file gzt.dtx \color{@@_generic_dark_color} } \l_@@_frontmatter_head_text_tl - }% - }% - }% - {}% - % - \setfoot% - {}% - {}% - {}% -}% + } + } + } + {} + \setfoot + {} + {} + {} +} % \end{macrocode} % -% \subsection{Inside front cover page style} +% \subsubsection{Inside front cover page style} % % \begin{macrocode} -\newpagestyle{@@_inside_frontcover_ps}[]{% - \sethead% +\newpagestyle{@@_inside_frontcover_ps}[]{ + \sethead [ - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% + \tikz[remember~ picture,overlay] { + \g_@@_frontmatter_page_headrule_tl + \g_@@_frontmatter_headtext_tl + } + ] + [] + [] + {} { - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - []% - [% + \tikz[remember~ picture,overlay] { + \g_@@_frontmatter_page_headrule_tl + \g_@@_frontmatter_headtext_tl + } + } + {} + \setfoot + [] + [ \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {}% -}% + ] + [] + {} + { + \c_@@_footer_string_tl + } + {} +} % \end{macrocode} % % \begin{macrocode} @@ -5415,45 +5470,44 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% \subsection{Front matter page style} +% \subsubsection{Front matter page style} % % \begin{macrocode} -\newpagestyle{@@_frontmatter_ps}[]{% +\newpagestyle{@@_frontmatter_ps}[]{ \widenhead*{\c_@@_front_matter_extra_innermargin_dim}{\c_@@_front_matter_extra_outermargin_dim} - \sethead% + \sethead [ - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% + \tikz[remember~ picture,overlay] { + \g_@@_frontmatter_page_headrule_tl + \g_@@_frontmatter_headtext_tl + } + ] + [] + [] + {} { - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% + \tikz[remember~ picture,overlay] { + \g_@@_frontmatter_page_headrule_tl + \g_@@_frontmatter_headtext_tl + } + } + {} + \setfoot + [\c_@@_footer_size_font_tl\thepage] + [ \c_@@_footer_string_tl - ]% + ] [ %<class-article>\c_@@_compiled_string_tl - ]% + ] { %<class-article>\c_@@_compiled_string_tl - }% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% -}% + } + { + \c_@@_footer_string_tl + } + {\c_@@_footer_size_font_tl\thepage} +} % \end{macrocode} % % \begin{macrocode} @@ -5464,183 +5518,186 @@ This work consists of the file gzt.dtx %<*class> % \end{macrocode} % -% \subsection{Rubric first page style} +% \subsubsection{Rubric first page style} % % \begin{macrocode} -\newpagestyle{@@_rubric_ps}[]{% +\newpagestyle{@@_rubric_ps}[]{ \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% + \sethead [ - ]% + ] [ - ]% + ] [ - \g_@@_rubric_page_head_tl% + \g_@@_rubric_page_head_tl \bool_if:nF { \g_@@_for_authors_bool } { - \adjustbox{raise={\c_@@_header_yshift_dim}{\height},lap=-\c_@@_header_xshift_dim-\linewidth}{% - \includegraphics[width=\c_@@_pictogram_width_dim]{\g_@@_rubric_pictofile_tl}% - }% - }% - ]% + \adjustbox{raise={\c_@@_header_yshift_dim}{\height},lap=-\c_@@_header_xshift_dim-\linewidth}{ + \includegraphics[width=\c_@@_pictogram_width_dim]{\g_@@_rubric_pictofile_tl} + } + } + ] + { + \g_@@_rubric_page_head_tl + } + {} { - \g_@@_rubric_page_head_tl% - }% - {}% - {% \bool_if:nF { \g_@@_for_authors_bool } { - \adjustbox{raise={\c_@@_header_yshift_dim}{\height},lap=\c_@@_header_xshift_dim}{% - \includegraphics[width=\c_@@_pictogram_width_dim]{\g_@@_rubric_pictofile_tl}% - }% - }% - }% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% + \adjustbox{raise={\c_@@_header_yshift_dim}{\height},lap=\c_@@_header_xshift_dim}{ + \includegraphics[width=\c_@@_pictogram_width_dim]{\g_@@_rubric_pictofile_tl} + } + } + } + \setfoot + [\c_@@_footer_size_font_tl\thepage] + [ \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% -}% + ] + [] + {} + { + \c_@@_footer_string_tl + } + {\c_@@_footer_size_font_tl\thepage} +} % \end{macrocode} % -% \subsection{Advertisement page style} +% \subsubsection{Advertisement page style} % % \begin{macrocode} -\newpagestyle{@@_advertisement_ps}[]{% +\newpagestyle{@@_advertisement_ps}[]{ \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% + \sethead [ - \tikz[remember~picture,overlay] {\g_@@_mainmatter_evenpage_headrule_tl} - ]% - [% - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl% - }% - ]% - []% - {}% - {% - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl% + \tikz[remember~ picture,overlay] {\g_@@_mainmatter_evenpage_headrule_tl} + ] + [ + \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{ + \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl } - }% + ] + [] + {} { - \tikz[remember~picture,overlay] {\g_@@_mainmatter_oddpage_headrule_tl} - }% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% + \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{ + \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl + } + } + { + \tikz[remember~ picture,overlay] {\g_@@_mainmatter_oddpage_headrule_tl} + } + \setfoot + [\c_@@_footer_size_font_tl\thepage] + [ \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% + ] + [] + {} + { + \c_@@_footer_string_tl + } + {\c_@@_footer_size_font_tl\thepage} } % \end{macrocode} % -% \subsection{For blank pages added in order to ensure document total page +% \subsubsection{For blank pages added in order to ensure document total page % numbers is a multiple of four} % % \begin{macrocode} -\newpagestyle{@@_blank_pages_ps}[]{% +\newpagestyle{@@_blank_pages_ps}[]{ \sethead - {}% - {}% - {}% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% + {} + {} + {} + \setfoot + [\c_@@_footer_size_font_tl\thepage] + [ \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% -}% + ] + [] + {} + { + \c_@@_footer_string_tl + } + {\c_@@_footer_size_font_tl\thepage} +} % \end{macrocode} % -% \subsection{Inside back cover page style} +% \subsubsection{Inside back cover page style} % % \begin{macrocode} -\newpagestyle{@@_inside_backcover_ps}[]{% - \sethead% +\newpagestyle{@@_inside_backcover_ps}[]{ + \sethead [ - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% + \tikz[remember~ picture,overlay] { + \g_@@_frontmatter_page_headrule_tl + \g_@@_frontmatter_headtext_tl + } + ] + [] + [] + {} { - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - []% - [% + \tikz[remember~ picture,overlay] { + \g_@@_frontmatter_page_headrule_tl + \g_@@_frontmatter_headtext_tl + } + } + {} + \setfoot + [] + [ \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {}% -}% + ] + [] + {} + { + \c_@@_footer_string_tl + } + {} +} % \end{macrocode} % -% \subsection{Back cover page style} +% \subsubsection{Back cover page style} % % \begin{macrocode} -\newpagestyle{@@_backcover_ps}[]{% +\newpagestyle{@@_backcover_ps}[]{ \sethead - {}% - {}% - {}% - % - \setfoot% - {}% - {}% - {}% -}% + {} + {} + {} + \setfoot + {} + {} + {} +} % \end{macrocode} % % We define crop marks. % \begin{macrocode} -% \bool_if:NT {\g_@@_for_printer_bool} {% -% \AddEverypageHook{% -% \tikz[remember~picture,overlay] {% -% \draw ([yshift=\c_@@_potential_layoutoffset_dim]current~page.south~west) -- +(0.25,0); -% \draw ([xshift=\c_@@_potential_layoutoffset_dim]current~page.south~west) -- +(0,0.25); +% \bool_if:NT {\g_@@_for_printer_bool} { +% \AddEverypageHook{ +% \tikz[remember~ picture,overlay] { +% \draw ([yshift=\c_@@_potential_layoutoffset_dim]current~ page.south~ west) -- +(0.25,0); +% \draw ([xshift=\c_@@_potential_layoutoffset_dim]current~ page.south~ west) -- +(0,0.25); % %% lower right -% \draw ([yshift=\c_@@_potential_layoutoffset_dim]current~page.south~east) -- +(-0.25,0); -% \draw ([xshift=-\c_@@_potential_layoutoffset_dim-\c_@@_potential_bindingoffset_dim]current~page.south~east) -- +(0,0.25); +% \draw ([yshift=\c_@@_potential_layoutoffset_dim]current~ page.south~ east) -- +(-0.25,0); +% \draw +% ( +% [xshift=-\c_@@_potential_layoutoffset_dim-\c_@@_potential_bindingoffset_dim] +% current~ page.south~ east +% ) -- +(0,0.25); % %% upper left -% \draw ([yshift=-\c_@@_potential_layoutoffset_dim]current~page.north~west) -- +(0.25,0); -% \draw ([xshift=\c_@@_potential_layoutoffset_dim]current~page.north~west) -- +(0,-0.25); +% \draw ([yshift=-\c_@@_potential_layoutoffset_dim]current~ page.north~ west) -- +(0.25,0); +% \draw ([xshift=\c_@@_potential_layoutoffset_dim]current~ page.north~ west) -- +(0,-0.25); % %% upper right -% \draw ([yshift=-\c_@@_potential_layoutoffset_dim]current~page.north~east) -- +(-0.25,0); -% \draw ([xshift=-\c_@@_potential_layoutoffset_dim-\c_@@_potential_bindingoffset_dim]current~page.north~east) -- +(0,-0.25); -% }% -% }% +% \draw ([yshift=-\c_@@_potential_layoutoffset_dim]current~ page.north~ east) -- +(-0.25,0); +% \draw +% ( +% [xshift=-\c_@@_potential_layoutoffset_dim-\c_@@_potential_bindingoffset_dim] +% current~ page.north~ east) -- +(0,-0.25 +% ); +% } +% } % } % \end{macrocode} % @@ -5657,65 +5714,64 @@ This work consists of the file gzt.dtx \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 }% - }% -%<class> }% + \tikz[remember~ picture,overlay] { \g_@@_background_footer_tl } + } +%<class> } } % \end{macrocode} % -% \subsection{Main matter page style} +% \subsubsection{Main matter page style} % % \begin{macrocode} -\newpagestyle{@@_mainmatter_ps}[]{% +\newpagestyle{@@_mainmatter_ps}[]{ \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% + \sethead [ - \tikz[remember~picture,overlay] {\g_@@_mainmatter_evenpage_headrule_tl} - ]% - [% - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{@@_head_text_color}\g_@@_rubric_title_tl% - }% - ]% - []% - {}% - {% + \tikz[remember~ picture,overlay] {\g_@@_mainmatter_evenpage_headrule_tl} + ] + [ + \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{ + \large\bfseries\scshape\color{@@_head_text_color}\g_@@_rubric_title_tl + } + ] + [] + {} + { \bool_if:nF { \g_@@_rearviewmirror_rubric_bool || \g_@@_books_rubric_bool }{ - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \bfseries\color{@@_head_text_color}\g_@@_short_title_tl% + \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{ + \bfseries\color{@@_head_text_color}\g_@@_short_title_tl } } - }% + } { - \tikz[remember~picture,overlay] {\g_@@_mainmatter_oddpage_headrule_tl} - }% - % + \tikz[remember~ picture,overlay] {\g_@@_mainmatter_oddpage_headrule_tl} + } \bool_if:nTF { \g_@@_for_authors_bool } { - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% + \setfoot + [\c_@@_footer_size_font_tl\thepage] + [ \c_@@_footer_string_tl - ]% - [\c_@@_compiled_string_tl]% - {\c_@@_compiled_string_tl}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% + ] + [\c_@@_compiled_string_tl] + {\c_@@_compiled_string_tl} + { + \c_@@_footer_string_tl + } + {\c_@@_footer_size_font_tl\thepage} }{ - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% + \setfoot + [\c_@@_footer_size_font_tl\thepage] + [ \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% + ] + [] + {} + { + \c_@@_footer_string_tl + } + {\c_@@_footer_size_font_tl\thepage} } } % \end{macrocode} @@ -5724,41 +5780,44 @@ This work consists of the file gzt.dtx % of articles. % \begin{macrocode} \NewDocumentCommand \acknowledgements { +m } { - \@@_article_acknowledgements:n {#1}% + \@@_article_acknowledgements:n {#1} } % \end{macrocode} % % \begin{macro}{\printminibios} -% \begin{macro}{\printauthorsdetails} % We define the public command which displays % \begin{itemize} % \item the affiliation(s), email(s) and minibiographie(s) of the authors, % \item the acknowledgements if not empty. % \end{itemize} % \begin{macrocode} -\NewDocumentCommand \printminibios {} { +\NewDocumentCommand \printminibios { s } { \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% + \end{multicols} } % \end{macrocode} % We force all the previous floats to be processed no later on the page % following the beginning of the bibliography, \textsc{cv} or % acknowledgements. % \begin{macrocode} - \FloatBarrier% + \FloatBarrier \begin{_@@_minibiographies_acknowledgements_tcbox} - \@@_display_people_by_role:n { author-art-\int_use:N \g_@@_articles_int } + \nopagebreak[0] + \IfBooleanF {#1} + { + \@@_display_people_by_role:n { author-art-\int_use:N \g_@@_articles_int } + } \DTLsavelastrowcount{\_@@_authors_number} \tl_if_empty:NF \l_@@_article_acknowledgements_tl - {% + { \footnotesize \int_compare:nNnT {\_@@_authors_number}>{0} { - \par% - \bigskip% + \par + \bigskip } \begin{adjustbox}{valign=t,minipage=\linewidth} - \color{@@_acknowledgements_color}% + \color{@@_acknowledgements_color} \setlength{\parskip}{\c_@@_mainmatter_parskip_skip} \l_@@_article_acknowledgements_tl \end{adjustbox} @@ -5768,87 +5827,83 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% We define "\printauthorsdetails" as an alias of "\printminibios". -% \begin{macrocode} -\let\printauthorsdetails\printminibios -% \end{macrocode} -% \end{macro} % % \begin{macro}{\printbibliography} % The command for bibliography printing production is redefined in order to let % it silently: % \begin{itemize} % \item beforehand quit the multicolumn environment and enter in the -% "_@@_bibliography_tcbox" environment (which gives a special layout to +% ×_@@_bibliography_tcbox× environment (which gives a special layout to % bibliographies, \textsc{cv} and acknowledgements), -% \item afterwards quit the "bibliography_minibiographies_acknowledgements" environment and enter in +% \item afterwards quit the ×bibliography_minibiographies_acknowledgements× environment and enter in % the multicolumn environment. % \end{itemize} % \begin{macrocode} \cs_set_eq:NN \_@@_printbibliography \printbibliography \RenewDocumentCommand \printbibliography { s O{} } { \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% + \end{multicols} } % \end{macrocode} % We force all the previous floats to be processed no later on the page % following the beginning of the bibliography, \textsc{cv} or % acknowledgements. % \begin{macrocode} -% \afterpage{% - \FloatBarrier% -% }% +% \afterpage{ + \FloatBarrier +% } \begin{_@@_bibliography_tcbox} \_@@_printbibliography[heading=subbibliography,resetnumbers,#2] \end{_@@_bibliography_tcbox} - % - \IfBooleanF {#1} + \nopagebreak[0] + \IfBooleanTF {#1} { - \nopagebreak[0] - \printauthorsdetails + \printminibios* + }{ + \printminibios } } % \end{macrocode} % \end{macro} % -% \section{Miscellaneous private commands specific to the journal} +% \subsection{Miscellaneous private commands specific to the journal} % % We create miscellaneous private commands specific to the journal. % % Command for centuries. % \begin{macrocode} -\deftranslation[to=French]{_@@_century}{si\`ecle}% -\deftranslation[to=English]{_@@_century}{century}% -\deftranslation[to=French]{_@@_first}{\ier}% -\deftranslation[to=English]{_@@_first}{\up{st}\xspace}% -\deftranslation[to=French]{_@@_nth}{\ieme}% -\deftranslation[to=English]{_@@_nth}{\up{th}\xspace}% -\deftranslation[to=French]{_@@_bc}{avant~J.-C}% -\deftranslation[to=English]{_@@_bc}{BC}% +\deftranslation[to=French]{_@@_century}{si\`ecle} +\deftranslation[to=English]{_@@_century}{century} +\deftranslation[to=French]{_@@_first}{\ier} +\deftranslation[to=English]{_@@_first}{\up{st}\xspace} +\deftranslation[to=French]{_@@_nth}{\ieme} +\deftranslation[to=English]{_@@_nth}{\up{th}\xspace} +\deftranslation[to=French]{_@@_bc}{avant~ J.-C} +\deftranslation[to=English]{_@@_bc}{BC} \cs_new_protected:Nn \_@@_century:n { \textsc{ \int_to_roman:n {\int_abs:n {#1}} - }% + } \int_compare:nNnTF { \int_abs:n {#1} } > { 1 }{\translate{_@@_nth}}{\translate{_@@_first}} } \cs_new_protected:Nn \_@@_century_suffix:n { - \translate{_@@_century}% + \translate{_@@_century} \int_compare:nNnT { #1 } < { 0 }{ \c_space_tl \translate{_@@_bc} % \end{macrocode} -% In case of French language, we add a period just after \enquote{avant~J.-C}, -% but only if the character following the "\century" macro is not a period +% In case of French language, we add a period just after \enquote{avant~ J.-C}, +% but only if the character following the ×\century× macro is not a period % itself. % \begin{macrocode} \IfLanguageName {french}{ - \@ifnextchar.% + \@ifnextchar. { }{ .\xspace - }% + } } }{ } @@ -5863,7 +5918,7 @@ This work consists of the file gzt.dtx %<*class> % \end{macrocode} % -% \section{Miscellaneous public commands specific to the journal} +% \subsection{Miscellaneous public commands specific to the journal} % % We create miscellaneous public commands specific to the journal. % @@ -5875,8 +5930,8 @@ This work consists of the file gzt.dtx \vfill \begin{center} \dim_set:Nn \fboxsep {\c_zero_dim} - \fbox{% - \includegraphics[max~size={\linewidth}{\textheight},#1]{#2} + \fbox{ + \includegraphics[max~ size={\linewidth}{\textheight},#1]{#2} } \end{center} \vfill @@ -5894,9 +5949,9 @@ This work consists of the file gzt.dtx { \newpage \thispagestyle{@@_advertisement_ps} - \begin{minipage}[c][\textheight][c]{\textwidth}% - \centering\includegraphics[max~size={\linewidth}{\textheight},#1]{#2}% - \end{minipage}% + \begin{minipage}[c][\textheight][c]{\textwidth} + \centering\includegraphics[max~ size={\linewidth}{\textheight},#1]{#2} + \end{minipage} } \NewDocumentCommand \fullpageadvertisement { O{} m } { @@ -5909,14 +5964,14 @@ This work consists of the file gzt.dtx % \begin{macrocode} \NewDocumentCommand \aboutfrontcover { O{} O{\c_@@_about_frontcover_string_tl} m } { - \_@@_about_frontcover:nnn {#1}{#2}{#3}% + \_@@_about_frontcover:nnn {#1}{#2}{#3} } % \end{macrocode} % \end{macro} % % \begin{macrocode} -\cs_new_protected:Nn \_@@_prepare_rubric:nnn {% - \newpage% +\cs_new_protected:Nn \_@@_prepare_rubric:nnn { + \newpage \tl_gclear:N \g_@@_rubric_abstract_tl \tl_gset:Nn \g_@@_rubric_title_tl {#2} \tl_gset:Nn \g_@@_rubric_pictofile_tl {#3} @@ -5925,7 +5980,7 @@ This work consists of the file gzt.dtx \keys_set:nn { gzt/rubric } { #1 } } \_@@_rubric:nnn - {\g_@@_rubric_abstract_tl}{\g_@@_rubric_title_tl}{\g_@@_rubric_pictofile_tl}% + {\g_@@_rubric_abstract_tl}{\g_@@_rubric_title_tl}{\g_@@_rubric_pictofile_tl} } % \end{macrocode} % @@ -5937,19 +5992,20 @@ This work consists of the file gzt.dtx \NewDocumentCommand \rubric {O{}mm} { \bool_if:NTF {\g_@@_special_edition_bool} { - \_@@_rubric:nnn {#1}{#2}{#3}% - \tl_gset:Nn \g_@@_rubric_title_tl {% + \_@@_rubric:nnn {#1}{#2}{#3} + \tl_gset:Nn \g_@@_rubric_title_tl { \c_@@_short_special_edition_string_tl \c_space_tl \g_@@_special_edition_title_tl } }{ - \_@@_rubric:nnn {#1}{#2}{#3}% + \_@@_rubric:nnn {#1}{#2}{#3} } } % \end{macrocode} % \end{macro} % +% \begin{macro}{\mathematics,\dossier,\community,\interview,\teaching,\parity,\tellme,\information,\rearviewmirror,\tribute,\books,\latextips,\forum,\moralreport} % \begin{macrocode} \NewDocumentCommand \mathematics {O{}} { @@ -6025,37 +6081,37 @@ This work consists of the file gzt.dtx % % \begin{macro}{\email} % \begin{macrocode} -\DeclareCiteCommand{\citeinterviewee}{}{% - \printnames{interviewee}% +\DeclareCiteCommand{\citeinterviewee}{}{ + \printnames{interviewee} } {}{} -\DeclareCiteCommand{\citereviewer}{}{% +\DeclareCiteCommand{\citereviewer}{}{ \g_@@_blx_given_first_inits_false_tl - \printnames{reviewer}% + \printnames{reviewer} } {}{} -\DeclareCiteCommand{\citereviewerinstitution}{}{% - \printlist{reviewerinstitution}% +\DeclareCiteCommand{\citereviewerinstitution}{}{ + \printlist{reviewerinstitution} } {}{} -\DeclareCiteCommand{\_@@_cite_public_price}{}{% - \printfield{publicprice}% +\DeclareCiteCommand{\_@@_cite_public_price}{}{ + \printfield{publicprice} } {}{} -\DeclareCiteCommand{\_@@_cite_smf_price}{}{% - \printfield{smfprice}% +\DeclareCiteCommand{\_@@_cite_smf_price}{}{ + \printfield{smfprice} } {}{} -\DeclareCiteCommand{\citecopublisher}{}{% - \printlist{copublisher}% +\DeclareCiteCommand{\citecopublisher}{}{ + \printlist{copublisher} } {}{} -\DeclareCiteCommand{\citefrenchabstract}{}{% - \printfield{frenchabstract}% +\DeclareCiteCommand{\citefrenchabstract}{}{ + \printfield{frenchabstract} } {}{} -\DeclareCiteCommand{\_@@_cite_englishabstract}{}{% - \printfield{englishabstract}% +\DeclareCiteCommand{\_@@_cite_englishabstract}{}{ + \printfield{englishabstract} } {}{} % \end{macrocode} @@ -6066,7 +6122,7 @@ This work consists of the file gzt.dtx % \begin{macrocode} \NewDocumentCommand \email {m} { - \_@@_email:n {#1}% + \_@@_email:n {#1} } % \end{macro} % @@ -6076,17 +6132,17 @@ This work consists of the file gzt.dtx \cs_new_protected:Nn \_@@_question:n { \int_incr:N \g_@@_question_int - {% - \par% - \bigskip% + { + \par + \bigskip \color{@@_question_color} - #1% - \par% - }% + #1 + \par + } } \NewDocumentCommand \question {m} { - \_@@_question:n {#1}% + \_@@_question:n {#1} } % \end{macrocode} % \end{macro} @@ -6114,8 +6170,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{macro} % -% \begin{macro}{\cad} -% \begin{macro}{\Cad} +% \begin{macro}{\cad,\Cad} % \begin{macrocode} \NewDocumentCommand \cad { s } { \IfBooleanTF {#1} @@ -6139,7 +6194,6 @@ This work consists of the file gzt.dtx } % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macro}{\gzt} % \begin{macrocode} @@ -6156,35 +6210,33 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{macro} % -% \begin{macro}{\gztcl} -% \begin{macro}{\gztarticle} +% \begin{macro}{\gztcl,\gztarticle} % \begin{macrocode} \NewDocumentCommand \gztcl {} -{% +{ \textsl{\texttt{\c_@@_class_name_tl}} \xspace } \NewDocumentCommand \gztarticlecl {} -{% +{ \textsl{\texttt{\c_@@_article_class_name_tl}} \xspace } % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macro}{\century} % \begin{macrocode} -\NewDocumentCommand \century { s m } {% - \_@@_century:n {#2}% +\NewDocumentCommand \century { s m } { + \_@@_century:n {#2} \IfBooleanTF {#1} { \int_compare:nNnT { #2 } < { 0 }{ - \_@@_century_suffix:n {#2}% + \_@@_century_suffix:n {#2} } } { - \_@@_century_suffix:n {#2}% + \_@@_century_suffix:n {#2} } } % \end{macrocode} @@ -6192,39 +6244,39 @@ This work consists of the file gzt.dtx % % \begin{macro}{\aside} % \begin{macrocode} -\NewDocumentCommand \aside { s m } {% +\NewDocumentCommand \aside { s m } { \IfBooleanTF {#1} { - \c_@@_aside_string_tl{}~#2 + \c_@@_aside_string_tl{}~ #2 } { - \c_@@_aside_string_tl{}~#2~\c_@@_aside_string_tl + \c_@@_aside_string_tl{}~ #2~ \c_@@_aside_string_tl } } % \end{macrocode} % \end{macro} % % \begin{macrocode} -\tl_new:N \g_@@_font_designer_text_tl% +\tl_new:N \g_@@_font_designer_text_tl \cs_new_protected:Nn \@@_font_designer_text:n { \tl_gset:Nn \g_@@_font_designer_text_tl { #1 } } \NewDocumentCommand \fontdesignertext {m} { - \_@@_font_designer_text:n {#1}% + \_@@_font_designer_text:n {#1} } % \end{macrocode} % % \begin{macrocode} -\tl_new:N \g_@@_printer_text_tl% +\tl_new:N \g_@@_printer_text_tl \cs_new_protected:Nn \@@_printer_text:n { \tl_gset:Nn \g_@@_printer_text_tl { #1 } } \NewDocumentCommand \printertext {m} { - \_@@_printer_text:n {#1}% + \_@@_printer_text:n {#1} } % \end{macrocode} % @@ -6241,29 +6293,29 @@ This work consists of the file gzt.dtx { \setlength{\epigraphrule}{.4\p@} } - \_@@_orig_epigraph{% - \emph{% - \enquote{% - #1% - }% - }% - }% - {% + \_@@_orig_epigraph{ + \emph{ + \enquote{ + #1 + } + } + } + { #2 } } \RenewDocumentCommand \epigraph { m m } { - \_@@_epigraph:nn {#1}{#2}% + \_@@_epigraph:nn {#1}{#2} } % \end{macrocode} % % \begin{macrocode} \NewDocumentEnvironment{authorsinstructions}{} -{% +{ \begingroup \tcbverbatimwrite{\c_@@_authors_instructions_file_tl} -}% +} { \endtcbverbatimwrite \endgroup @@ -6273,7 +6325,7 @@ This work consists of the file gzt.dtx % We provide some public commands and environments to be used for displaying % (mainly \LaTeX{}) code. % \begin{macrocode} -\lstdefinestyle{@@_lst_style}{% +\lstdefinestyle{@@_lst_style}{ escapechar=+, language=[LaTeX]TeX, texcsstyle=*\bfseries, @@ -6281,89 +6333,89 @@ This work consists of the file gzt.dtx basicstyle=\normalfont\ttfamily, columns=flexible, inputencoding=utf8/latin1 -}% -\DeclareTotalTCBox{\gztverb}{ v }{verbatim,blank,fuzzy~halo=0pt~with~@@_light_generic_dark_color!8}{#1} +} +\DeclareTotalTCBox{\gztverb}{ v }{verbatim,blank,fuzzy~ halo=0pt~ with~ @@_light_generic_dark_color!8}{#1} % \end{macrocode} % -% The optional argument declaration must be prefixed with an "!" (see +% 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, +\NewTCBListing{gztcode}{ !O{} }{ + listing~ style=@@_lst_style, + listing~ only, + enlarge~ top~ by=\medskipamount, breakable, - #1% + #1 } % \end{macrocode} % -% We provide public environments "gztfigure" and "gzttable" (and friends) for +% We provide public environments ×gztfigure× and ×gzttable× (and friends) for % the usual floats. Their layout is based upon \pkg{tcolorbox} features. % \begin{macrocode} -\DeclareTColorBox[blend~into=figures]{gztfigure}{ O{} } +\DeclareTColorBox[blend~ into=figures]{gztfigure}{ O{} } { - ,width=\linewidth% - ,blend~before~title=dash% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% + ,width=\linewidth + ,blend~ before~ title=dash + ,_@@_tcb_floats_style + ,#1 + ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}} } -\DeclareTColorBox[blend~into=figures]{gztfigure*}{ O{} } +\DeclareTColorBox[blend~ into=figures]{gztfigure*}{ O{} } { ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% + ,blend~ before~ title=dash + ,width=\textwidth + ,_@@_tcb_floats_style + ,#1 + ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}} } -\DeclareTColorBox[blend~into=tables]{gzttable}{ O{} } +\DeclareTColorBox[blend~ into=tables]{gzttable}{ O{} } { - ,width=\linewidth% - ,blend~before~title=dash% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% + ,width=\linewidth + ,blend~ before~ title=dash + ,_@@_tcb_floats_style + ,#1 + ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}} } -\DeclareTColorBox[blend~into=tables]{gzttable*}{ O{} } +\DeclareTColorBox[blend~ into=tables]{gzttable*}{ O{} } { ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% + ,blend~ before~ title=dash + ,width=\textwidth + ,_@@_tcb_floats_style + ,#1 + ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}} } \DeclareTColorBox{gztframe}{ O{} } { - ,width=\linewidth% - ,_@@_tcb_floats_style% - ,#1% + ,width=\linewidth + ,_@@_tcb_floats_style + ,#1 } \DeclareTColorBox{gztframe*}{ O{} } { ,float* - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,#1% + ,width=\textwidth + ,_@@_tcb_floats_style + ,#1 } % \DeclareTColorBox{gztscan}{ O{} } { - #1% - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,size=tight% + #1 + ,width=\textwidth + ,_@@_tcb_floats_style + ,size=tight } \DeclareTColorBox{_@@_book_review}{ O{} } { - overlay~unbroken~and~first={% - \node at (frame.north~west) { + overlay~ unbroken~ and~ first={ + \node at (frame.north~ west) { { - \makebox[\c_zero_dim][l]{% - \adjustbox{raise={-2\height+\c_@@_book_review_frontcover_extend_dim}{\c_zero_dim}}{% - \includegraphics[width=20mm]{\g_@@_bookreview_frontcover_tl}% - }% + \makebox[\c_zero_dim][l]{ + \adjustbox{raise={-2\height+\c_@@_book_review_frontcover_extend_dim}{\c_zero_dim}}{ + \includegraphics[width=20mm]{\g_@@_bookreview_frontcover_tl} + } } } }; @@ -6383,7 +6435,7 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% We provide a public environment "inset" for insets that has the same layout as +% We provide a public environment ×inset× for insets that has the same layout as % minibiographies and acknowledgements. Its layout is based upon \pkg{tcolorbox} % features. % \begin{macrocode} @@ -6394,16 +6446,16 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% We create a "bookreview" environment for the book reviews. +% We create a ×bookreview× environment for the book reviews. % \begin{macrocode} \NewDocumentEnvironment{bookreview}{ O{} m } { \keys_set:nn { gzt/bookreview } { #2 } \begin{_@@_book_review}[#1] - \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% - \xpretonameformat{author}{\color{@@_people_color}}{}{}% + \xpatchfieldformat{title}{mkbibemph}{textbf}{}{} + \xpretonameformat{author}{\color{@@_people_color}}{}{} \g_@@_blx_given_first_inits_false_tl - \noindent% + \noindent \parbox[][21.5mm][l]{\linewidth}{\fullcite{\g_@@_bookreview_bibkey_tl}} \tcblower }{ @@ -6431,7 +6483,7 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% We create a "bookadvertisement" environment for the book advertisements. +% We create a ×bookadvertisement× environment for the book advertisements. % \begin{macrocode} \NewDocumentCommand \bookadvertisement {O{} m} { @@ -6443,9 +6495,9 @@ This work consists of the file gzt.dtx \par \bigskip \tcblower - \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% + \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl} \par{} - \smallskip% + \smallskip \url{\l_@@_journal_url_tl} \end{_@@_book_advertisement} \vfill @@ -6463,67 +6515,67 @@ This work consists of the file gzt.dtx %<*class> % \end{macrocode} % -% We create a variant of the "\input" macro which cleans the local -% customizations if any and, if necessary open and close the "refsection" and -% "multicols" environments. +% We create a variant of the ×\input× macro which cleans the local +% customizations if any and, if necessary open and close the ×refsection× and +% ×multicols× environments. % \begin{macrocode} -\NewDocumentCommand \gztinput { m m } {% +\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% + \startcustomization \bool_if:NF {\g_@@_refsection_bool} { \begin{refsection} } \bool_if:NF { \g_@@_backcover_bool } { \tl_if_in:NnT - { \c_@@_advertisement_directory_string_tl } { #1 } {% + { \c_@@_advertisement_directory_string_tl } { #1 } { \newpage \thispagestyle{@@_advertisement_ps} } } \inputfrom{#1}{#2} \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% + \end{multicols} } \bool_if:NT {\g_@@_refsection_bool} { \end{refsection} } - \cleancustomization% + \cleancustomization } % \end{macrocode} % % 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 "\AddToHook{enddocument}" and "\preto\@enddocumenthook" should be used instead -% (see \url{http://tex.stackexchange.com/q/240318/18401}). (Update (2021-02-14): +% within ×\AddToHook{enddocument}× and ×\preto\@enddocumenthook× should be used instead +% (see \url{https://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} { - \AddToHook{enddocument/end}{ + \AddToHook{enddocument}{ \bool_gset_true:N \g_@@_backmatter_bool \g_@@_display_inside_backcover_tl \newpage \g_@@_display_backcover_tl - }% - }% -}% + } + } +} % \end{macrocode} % % If we don't ask the cover page (only), the document total page numbers should % be a multiple of four and we add the necessary and sufficient number of blank % pages if it isn't the case (code borrowed from -% \url{http://tex.stackexchange.com/a/83498/18401}). +% \url{https://tex.stackexchange.com/a/83498/18401}). % \begin{macrocode} \bool_if:NF {\g_@@_coverpage_bool} { \bool_if:nF { \g_@@_for_authors_bool } { \bool_if:nT { \g_@@_inside_pages_bool } { - \AddToHook{enddocument}{% + \AddToHook{enddocument}{ \prg_replicate:nn { \int_mod:nn { 4 - \int_mod:nn { \getpagerefnumber{LastPage} } { 4 } } { 4 } } { \thispagestyle{@@_blank_pages_ps}\null\clearpage } @@ -6546,9 +6598,9 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\AddToHook{enddocument}{% +\AddToHook{enddocument}{ \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% + \end{multicols} } \bool_if:NT {\g_@@_refsection_bool} { \end{refsection} @@ -6564,26 +6616,26 @@ This work consists of the file gzt.dtx %<*class|class-article> % \end{macrocode} % -% \section{Miscellaneous settings} +% \subsection{Miscellaneous settings} % % We gather here miscellaneous settings. % -% \subsection{Related to \Pkg{pgfplots}} +% \subsubsection{Related to \texorpdfstring{\Pkg{pgfplots}}{pgfplots}} % % (French) Numbers format: % \begin{macrocode} -\pgfplotsset{% - /pgf/number~format/.cd, - use~comma, - 1000~sep={\,}, - min~exponent~for~1000~sep=4 -}% +\pgfplotsset{ + /pgf/number~ format/.cd, + use~ comma, + 1000~ sep={\,}, + min~ exponent~ for~ 1000~ sep=4 +} % \end{macrocode} % -% \subsection{Related to \Pkg{biblatex}} +% \subsubsection{Related to \texorpdfstring{\Pkg{biblatex}}{biblatex}} % % \begin{macrocode} -\defbibheading{bibassection}[\bibname]{\section*{#1}}% +\defbibheading{bibassection}[\bibname]{\section*{#1}} \renewcommand{\bibfont}{\normalfont\footnotesize} % \end{macrocode} % @@ -6595,20 +6647,20 @@ This work consists of the file gzt.dtx % We create a name format that prints the initial(s) of the first name(s) before % last name of a cited author. % \begin{macrocode} -\@ifpackagelater{biblatex}{2016/01/01}{% - \DeclareNameFormat{giveninits-last}{% +\@ifpackagelater{biblatex}{2016/01/01}{ + \DeclareNameFormat{giveninits-last}{ \nameparts{#1} \usebibmacro{name:given-family} {\namepartfamily} {\namepartgiveni} {\namepartprefix} - {\namepartsuffix}% - \usebibmacro{name:andothers}% + {\namepartsuffix} + \usebibmacro{name:andothers} } }{ - \DeclareNameFormat{giveninits-last}{% - \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% - \usebibmacro{name:andothers}% + \DeclareNameFormat{giveninits-last}{ + \usebibmacro{name:first-last}{#1}{#4}{#5}{#7} + \usebibmacro{name:andothers} } } \DeclareNameAlias{labelname}{giveninits-last} @@ -6621,48 +6673,37 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\renewbibmacro{in:}{% +\renewbibmacro{in:}{ \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}} -\renewbibmacro*{journal}{% - \iffieldundef{shortjournal}% - {% +\renewbibmacro*{journal}{ + \iffieldundef{shortjournal} + { \iffieldundef{journaltitle} {} - {% - \printtext[journaltitle]% - {% - \printfield[titlecase]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{journalsubtitle}% - }% - }% - }% - {\printtext[journaltitle]{\printfield[titlecase]{shortjournal}}}% + { + \printtext[journaltitle] + { + \printfield[titlecase]{journaltitle} + \setunit{\subtitlepunct} + \printfield[titlecase]{journalsubtitle} + } + } + } + {\printtext[journaltitle]{\printfield[titlecase]{shortjournal}}} } -\renewbibmacro*{volume+number+eid}{% - \printfield{volume}% - \setunit{\addcomma\c_space_tl}% - \printfield{number}% - \setunit{\addcomma\c_space_tl}% +\renewbibmacro*{volume+number+eid}{ + \printfield{volume} + \setunit{\addcomma\c_space_tl} + \printfield{number} + \setunit{\addcomma\c_space_tl} \printfield{eid}} \DeclareFieldFormat[article]{volume}{\mkbibbold{#1}} \DeclareFieldFormat[book]{volume}{\mkbibbold{#1}} \DeclareFieldFormat[article]{number}{\bibstring{number}#1} -\DeclareLanguageMapping{french}{gzt}% use the new abbreviations +\DeclareLanguageMapping{french}{gzt} % \end{macrocode} % -% \subsection{Related to \Pkg{kpfonts}} -% -% We robustify the "\itshape" redefinition (in case of "easyscsl" option), that -% is not robust in \pkg{kpfonts} code -% (cf. \url{https://groups.google.com/d/msg/fr.comp.text.tex/hIi97ipK5qA/WJoPwvH-p1UJ}). -% \begin{macrocode} -\ifkp@easyscsl -\DeclareRobustCommand{\itshape}{\not@math@alphabet\itshape\mathit% - \ifthenelse{\equal{\f@shape}{\scdefault}}{\fontshape{scsl}}{% - \fontshape\itdefault}\selectfont} -\fi -% \end{macrocode} +% \subsubsection{Related to \texorpdfstring{\Pkg{kpfonts}}{kpfonts}} % % We replace the \pkg{kpfonts}' \enquote{mathfrak} by the one from % \enquote{eufrak}, as the former doesn't provide Euler Fraktur digits. @@ -6671,40 +6712,40 @@ This work consists of the file gzt.dtx \SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n} % \end{macrocode} % -% \subsection{Related to \Pkg{draftwatermark}} +% \subsubsection{Related to \texorpdfstring{\Pkg{draftwatermark}}{draftwatermark}} % % \begin{macrocode} -\@ifpackageloaded{draftwatermark}{% - \SetWatermarkColor{gray!10}% - \SetWatermarkFontSize{30mm}% - \SetWatermarkText{\text_uppercase:n{\c_@@_draftwatermark_string_tl}}% -}{% +\@ifpackageloaded{draftwatermark}{ + \SetWatermarkColor{gray!10} + \SetWatermarkFontSize{30mm} + \SetWatermarkText{\text_uppercase:n{\c_@@_draftwatermark_string_tl}} +}{ } % \end{macrocode} % -% \subsection{Related to \Pkg{TikZ}} +% \subsubsection{Related to \texorpdfstring{\Pkg{TikZ}}{TikZ}} % % \begin{macrocode} \tikzset{ _@@_dots/.style={ - line~width=\c_@@_tikz_dot_diameter_dim, - line~cap=round, - dash~pattern=on~0pt~off~\c_@@_tikz_dot_spacing_dim + line~ width=\c_@@_tikz_dot_diameter_dim, + line~ cap=round, + dash~ pattern=on~ 0pt~ off~ \c_@@_tikz_dot_spacing_dim }, _@@_tcb_segmentation_style/.style={ _@@_dots, draw=@@_dotfill_color, - shorten~>=~\c_@@_tcb_left_dim+\c_@@_tcb_boxsep_dim, - shorten~<=~\c_@@_tcb_left_dim+\c_@@_tcb_boxsep_dim, + shorten~ >=~ \c_@@_tcb_left_dim+\c_@@_tcb_boxsep_dim, + shorten~ <=~ \c_@@_tcb_left_dim+\c_@@_tcb_boxsep_dim, } } % \end{macrocode} % -% \subsection{Related to \Pkg{tcolorbox}} +% \subsubsection{Related to \texorpdfstring{\Pkg{tcolorbox}}{tcolorbox}} % % We set some styles for % \begin{itemize} -% \item the two public environments "gztfigure(*)" and "gzttable(*)" for the +% \item the two public environments ×gztfigure(*)× and ×gzttable(*)× for the % usual floats, % \item the book reviews, % \item the book advertisements, @@ -6713,155 +6754,155 @@ This work consists of the file gzt.dtx % whom layout is based upon \pkg{tcolorbox} features. % \begin{macrocode} \tcbset{ - copyright/.style={% - overlay={% - \node[rotate=90,anchor=south~west,font=\tiny] at (frame.south~east) {% + copyright/.style={ + overlay={ + \node[rotate=90,anchor=south~ west,font=\tiny] at (frame.south~ east) { \begin{minipage}[t]{\tcbtextheight} - \copyright{}~#1% + \copyright{}~ #1 \end{minipage} - };% - }% - }% + }; + } + } } -\tcbset{% - _@@_tcb_floats_style/.style={% - enhanced% - ,every~float=\centering% - ,coltitle=@@_generic_dark_color% - ,colbacktitle=@@_float_title_bg_color% - ,colback=white% - ,colframe=@@_float_frame_color% - ,center~upper% - ,sharp~corners=all% - ,boxrule=0.3mm% - }% +\tcbset{ + _@@_tcb_floats_style/.style={ + enhanced + ,every~ float=\centering + ,coltitle=@@_generic_dark_color + ,colbacktitle=@@_float_title_bg_color + ,colback=white + ,colframe=@@_float_frame_color + ,center~ upper + ,sharp~ corners=all + ,boxrule=0.3mm + } } -\tcbset{% - _@@_tcb_notitle/.style={% - blend~before~title~code={##1} - ,title={\c_space_tl}% - }% +\tcbset{ + _@@_tcb_notitle/.style={ + blend~ before~ title~ code={##1} + ,title={\c_space_tl} + } } -\tcbset{% - _@@_tcb_book_review_box_style/.style={% - enhanced,% - colback=@@_book_review_frame_bg_color,% - breakable,% - % height=50mm,% +\tcbset{ + _@@_tcb_book_review_box_style/.style={ + enhanced, + colback=@@_book_review_frame_bg_color, + breakable, + % height=50mm, boxrule=\c_zero_dim, - sharp~corners=all,% + sharp~ corners=all, skin=enhancedlast, leftupper=25mm, - enlarge~bottom~finally~by=-1mm, + enlarge~ bottom~ finally~ by=-1mm, middle=4mm, - segmentation~style={_@@_tcb_segmentation_style}% + segmentation~ style={_@@_tcb_segmentation_style} } } -\tcbset{% - _@@_tcb_book_advertisement_box_style/.style={% - enhanced,% - colframe=@@_book_advertisement_frame_color,% - colback=@@_book_advertisement_bg_color,% - center~lower, - sharp~corners=all,% +\tcbset{ + _@@_tcb_book_advertisement_box_style/.style={ + enhanced, + colframe=@@_book_advertisement_frame_color, + colback=@@_book_advertisement_bg_color, + center~ lower, + sharp~ corners=all, % skin=enhancedlast, % middle=4mm, - lower~separated=false, - % segmentation~style={_@@_tcb_segmentation_style}% - } -} -\tcbset{% - _@@_tcb_inside_cover_style/.style={% - % split=0.6,% - colback=@@_inside_frontcover_frame_bg_color,% - colbacktitle=@@_inside_frontcover_frame_bg_color,% - sharp~corners=all,% - center~title,% - coltitle=@@_inside_frontcover_frame_title_color,% - fonttitle=\bfseries\large,% - boxrule=\c_zero_dim,% - toptitle=3mm,% - bottomtitle=4mm,% - frame~hidden,% - enhanced,% + lower~ separated=false, + % segmentation~ style={_@@_tcb_segmentation_style} + } +} +\tcbset{ + _@@_tcb_inside_cover_style/.style={ + % split=0.6, + colback=@@_inside_frontcover_frame_bg_color, + colbacktitle=@@_inside_frontcover_frame_bg_color, + sharp~ corners=all, + center~ title, + coltitle=@@_inside_frontcover_frame_title_color, + fonttitle=\bfseries\large, + boxrule=\c_zero_dim, + toptitle=3mm, + bottomtitle=4mm, + frame~ hidden, + enhanced, height=\c_@@_layoutheight_dim-\c_@@_topmargin_inside_cover_dim-\c_@@_botmargin_dim, width=\c_@@_inside_cover_box_width_dim, middle=4mm, - segmentation~style={_@@_tcb_segmentation_style}% + segmentation~ style={_@@_tcb_segmentation_style} }, - _@@_tcb_inside_frontcover_style/.style={% + _@@_tcb_inside_frontcover_style/.style={ _@@_tcb_inside_cover_style, - enlarge~left~by=-\c_@@_inside_cover_offset_dim, + enlarge~ left~ by=-\c_@@_inside_cover_offset_dim, }, - _@@_tcb_inside_backcover_style/.style={% + _@@_tcb_inside_backcover_style/.style={ _@@_tcb_inside_cover_style, - enlarge~left~by=\c_@@_inside_cover_offset_dim, + enlarge~ left~ by=\c_@@_inside_cover_offset_dim, } } -\AddToHook{begindocument/before}{% +\AddToHook{begindocument/before}{ \bool_if:NTF {\g_@@_special_edition_bool} { \tcbset{ - _@@_tcb_inside_frontcover_style/.append~style={% + _@@_tcb_inside_frontcover_style/.append~ style={ title=\c_@@_special_edition_editorial_board_string_tl }, - _@@_tcb_inside_backcover_style/.append~style={% + _@@_tcb_inside_backcover_style/.append~ style={ notitle }, } }{ \tcbset{ - _@@_tcb_inside_frontcover_style/.append~style={% + _@@_tcb_inside_frontcover_style/.append~ style={ title=\c_@@_editorial_board_string_tl }, - _@@_tcb_inside_backcover_style/.append~style={% - title=\file_if_exist:nT { \c_@@_authors_instructions_file_tl } {% + _@@_tcb_inside_backcover_style/.append~ style={ + title=\file_if_exist:nT { \c_@@_authors_instructions_file_tl } { \c_@@_authors_instructions_string_tl } }, } } } -\tcbset{% - _@@_tcb_bibliography_style/.style={% +\tcbset{ + _@@_tcb_bibliography_style/.style={ colback=@@_bibliography_minibios_acknowledgements_bg_color, breakable, boxrule=\c_zero_dim, - sharp~corners=all,% + sharp~ corners=all, enhanced } } -\tcbset{% - _@@_tcb_minibiographies_acknowledgements_style/.style={% +\tcbset{ + _@@_tcb_minibiographies_acknowledgements_style/.style={ colback=@@_bibliography_minibios_acknowledgements_bg_color, breakable, boxrule=\c_zero_dim, - extras~unbroken~and~last={drop~lifted~shadow}, - sharp~corners=all,% + extras~ unbroken~ and~ last={drop~ lifted~ shadow}, + sharp~ corners=all, skin=enhancedlast, - height~fixed~for=middle, + height~ fixed~ for=middle, } } -\tcbset{% - enlargepage~flexible=\baselineskip, +\tcbset{ + enlargepage~ flexible=\baselineskip, left=\c_@@_tcb_left_dim, boxsep=\c_@@_tcb_boxsep_dim, } % \end{macrocode} % -% \subsection{Lists} +% \subsubsection{Lists} % % We now set the lists layout in order to benefit from \Pkg{enumitem}'s features % and preserve the layout from \pkg{frenchb}. % \begin{macrocode} \setlist[1]{labelindent=\parindent} \setlist[itemize]{label=\textendash{}, nosep} -\setlist{% +\setlist{ labelwidth=\widthof{\textendash}, itemsep=0.4ex plus 0.2ex minus 0.2ex, parsep=0.4ex plus 0.2ex minus 0.2ex, topsep=0.8ex plus 0.4ex minus 0.4ex, partopsep=0.4ex plus 0.2ex minus 0.2ex, - leftmargin=!% + leftmargin=! } % \end{macrocode} % @@ -6878,11 +6919,11 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \subsection{Miscellaneous} +% \subsubsection{Miscellaneous} % % We fix the \pkg{csquotes}' quotes for PDF strings. % \begin{macrocode} -\DeclarePlainStyle{«~}{~»}{`}{'} +\DeclarePlainStyle{«~ }{~ »}{`}{'} % \end{macrocode} % % We change the default settings of the floats placement. @@ -6898,39 +6939,39 @@ This work consists of the file gzt.dtx % % We change the default horizontal space between columns in multicolumn mode. % \begin{macrocode} -\setlength{\columnsep}{7mm}% +\setlength{\columnsep}{7mm} % \end{macrocode} % % We change the way the section counter is displayed (the chapter should not appear). % \begin{macrocode} -\renewcommand{\thesection}{\arabic{section}}% +\renewcommand{\thesection}{\arabic{section}} % \end{macrocode} % % In case \Pkg{siunitx} is loaded, we make it follow the French rules. % \begin{macrocode} -\@ifpackageloaded{siunitx}{% +\@ifpackageloaded{siunitx}{ \sisetup{locale=FR} } % \end{macrocode} % % We change the color of the table rules. % \begin{macrocode} -\arrayrulecolor{@@_arrayrule_color}% +\arrayrulecolor{@@_arrayrule_color} % \end{macrocode} % -% We change the floating table name (as translated by the \pkg{frenchb} +% We change the floating table name (as translated by the \pkg{french-babel} % module from \Pkg{babel}) from \enquote{Table} to \enquote{Tableau}. % \begin{macrocode} -\addto\captionsfrench{\def\tablename{{\scshape Tableau}}}% +\addto\captionsfrench{\def\tablename{{\scshape Tableau}}} % \end{macrocode} % -% \section{Miscellaneous (re)definitions} +% \subsection{Miscellaneous (re)definitions} % % We gather here miscellaneous redefinitions. % -% \subsection{Vectors} +% \subsubsection{Vectors} % -% Vectors, even written with "\vec", are typeset with \pkg{esvect}'s "\vv": +% Vectors, even written with ×\vec×, are typeset with \pkg{esvect}'s ×\vv×: % \begin{macrocode} \RenewDocumentCommand \vec { m } { \vv{#1} @@ -6938,14 +6979,14 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macro}{\usetikzlibrary} -% The "\usetikzlibrary" switch is redefined in order to get rid of the bug +% The ×\usetikzlibrary× switch is redefined in order to get rid of the bug % reported here: \url{https://sourceforge.net/p/pgf/bugs/353/}. % \begin{macrocode} \cs_set_eq:NN \_@@_orig_usetikzlibrary \usetikzlibrary \RenewDocumentCommand \usetikzlibrary { m } { - \shorthandoff{:}% + \shorthandoff{:} \_@@_orig_usetikzlibrary{#1} - \shorthandon{:}% + \shorthandon{:} % \begingroup % \NoAutoSpacing % \_@@_orig_usetikzlibrary{#1} @@ -6954,14 +6995,14 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{macro} % -% \subsection{Usual theorems and the like} +% \subsubsection{Usual theorems and the like} % % Some usual theorems and the like are defined, thanks to \Pkg{thmtools}. First, -% we define a private function "\_@@_new_theorem" that defines: +% we define a private function ×\_@@_new_theorem× that defines: % \begin{enumerate} % \item a new (private, \pkg{thmtools}) theorem with 4 arguments: % \begin{enumerate} -% \item possible additional options to the style "_@@_tcb_alltheorems_style" +% \item possible additional options to the style ×_@@_tcb_alltheorems_style× % defined earlier for all \enquote{theorems}, % \item name of the (private) \pkg{thmtools} theorem, % \item French title for this theorem, @@ -6969,16 +7010,16 @@ This work consists of the file gzt.dtx % \end{enumerate} % \item a public environment based on this private theorem with a the usual % syntax of \pkg{amsthm} theorems, except it has an optional argument for -% possible additional options to the default styles ("theorem" or -% "definition"). +% possible additional options to the default styles (×theorem× or +% ×definition×). % \end{enumerate} % -% \begin{macro}{\bilingual} +% \begin{macro}{\_@@_bilingual} % \begin{macrocode} \cs_new_protected:Nn \_@@_bilingual:nnn { - \deftranslation[to=French]{#1}{#2}% - \deftranslation[to=English]{#1}{#3}% + \deftranslation[to=French]{#1}{#2} + \deftranslation[to=English]{#1}{#3} } % \end{macrocode} % \end{macro} @@ -6987,14 +7028,14 @@ This work consists of the file gzt.dtx \cs_new_protected:Nn \_@@_new_theorem:nnnn { % \_@@_bilingual:nnn {#2}{#3}{#4} - \deftranslation[to=French]{#2}{#3}% - \deftranslation[to=English]{#2}{#4}% - \declaretheorem[% - #1,% + \deftranslation[to=French]{#2}{#3} + \deftranslation[to=English]{#2}{#4} + \declaretheorem[ + #1, name=\translate{#2} ]{#2} - \declaretheorem[% - #1,% + \declaretheorem[ + #1, name=\translate{#2}, numbered=no ]{#2*} @@ -7002,11 +7043,12 @@ This work consists of the file gzt.dtx \cs_generate_variant:Nn \_@@_new_theorem:nnnn { nnVV } \declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\itshape]{theorem} \declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\normalfont]{definition} -\declaretheoremstyle[spaceabove=3pt,bodyfont=\normalfont,qed=\ensuremath{\qedsymbol},headfont=\normalfont\itshape,numbered=no]{proof} +\declaretheoremstyle[spaceabove=3pt,bodyfont=\normalfont, + qed=\ensuremath{\qedsymbol},headfont=\normalfont\itshape,numbered=no]{proof} % \end{macrocode} % -% Then, we define a public command, similar to "\newtheorem", based on -% "\_@@_new_theorem", that lets the user define his own theorems: +% Then, we define a public command, similar to ×\newtheorem×, based on +% ×\_@@_new_theorem×, that lets the user define his own theorems: % \begin{macrocode} \RenewDocumentCommand \newtheorem { O{} m } { @@ -7027,15 +7069,19 @@ This work consists of the file gzt.dtx \keys_set:nn { gzt/newtheorem } { #1 } } % \tl_if_eq:VVF { \l_@@_newtheorem_englishtitle_tl } { \MakeUppercase #2 } - % {% + % { % \tl_if_eq:NNF { \l_@@_newtheorem_frenchtitle_tl } { \l_@@_newtheorem_englishtitle_tl } - % {% + % { % \tl_set:Nf \l_@@_newtheorem_frenchtitle_tl { % \l_@@_newtheorem_englishtitle_tl % } % } % } - \_@@_new_theorem:nnVV {style=\l_@@_newtheorem_style_tl}{#2}{\l_@@_newtheorem_frenchtitle_tl}{\l_@@_newtheorem_englishtitle_tl} + \_@@_new_theorem:nnVV + {style=\l_@@_newtheorem_style_tl} + {#2} + {\l_@@_newtheorem_frenchtitle_tl} + {\l_@@_newtheorem_englishtitle_tl} } % \end{macrocode} % @@ -7086,10 +7132,10 @@ This work consists of the file gzt.dtx \_@@_clone_theorem:nn {preuve}{proof} % \end{macrocode} % -% \subsection{(Reciprocal) Trigonometric and hyperbolic functions} +% \subsubsection{(Reciprocal) Trigonometric and hyperbolic functions} % -% Reciprocal trigonometric functions, even written with usual "\arccos", -% "\arcsin", "\arctan", etc. are typeset with an uppercase \enquote{A}: +% Reciprocal trigonometric functions, even written with usual ×\arccos×, +% ×\arcsin×, ×\arctan×, etc. are typeset with an uppercase \enquote{A}: % \begin{macrocode} \DeclareMathOperator{\cotan}{cotan} \DeclareMathOperator{\Arccos}{Arccos} @@ -7102,19 +7148,19 @@ This work consists of the file gzt.dtx \cs_set_eq:NN \_@@_orig_arcsin \arcsin \cs_set_eq:NN \_@@_orig_arctan \arctan \RenewDocumentCommand \arccos {} { - \IfLanguageName {french}{\Arccos}{\_@@_orig_arccos}% + \IfLanguageName {french}{\Arccos}{\_@@_orig_arccos} } \RenewDocumentCommand \arcsin {} { - \IfLanguageName {french}{\Arcsin}{\_@@_orig_arcsin}% + \IfLanguageName {french}{\Arcsin}{\_@@_orig_arcsin} } \RenewDocumentCommand \arctan {} { - \IfLanguageName {french}{\Arctan}{\_@@_orig_arctan}% + \IfLanguageName {french}{\Arctan}{\_@@_orig_arctan} } \DeclareMathOperator{\ch}{ch} \DeclareMathOperator{\sh}{sh} \cs_set_eq:NN \_@@_orig_tanh \tanh \RenewDocumentCommand \tanh {} { - \IfLanguageName {french}{\operatorname{th}}{\_@@_orig_tanh}% + \IfLanguageName {french}{\operatorname{th}}{\_@@_orig_tanh} } \cs_set_eq:NN \_@@_orig_log \log \cs_set_eq:NN \_@@_orig_lg \lg @@ -7138,17 +7184,17 @@ This work consists of the file gzt.dtx } \cs_set_eq:NN \_@@_orig_leq \leq \cs_set_eq:NN \_@@_orig_geq \geq -\RenewDocumentCommand \le {} {% - \IfLanguageName {french}{\leqslant}{\_@@_orig_leq}% +\RenewDocumentCommand \le {} { + \IfLanguageName {french}{\leqslant}{\_@@_orig_leq} } -\RenewDocumentCommand \leq {} {% - \IfLanguageName {french}{\leqslant}{\_@@_orig_leq}% +\RenewDocumentCommand \leq {} { + \IfLanguageName {french}{\leqslant}{\_@@_orig_leq} } -\RenewDocumentCommand \ge {} {% - \IfLanguageName {french}{\geqslant}{\_@@_orig_geq}% +\RenewDocumentCommand \ge {} { + \IfLanguageName {french}{\geqslant}{\_@@_orig_geq} } -\RenewDocumentCommand \geq {} {% - \IfLanguageName {french}{\geqslant}{\_@@_orig_geq}% +\RenewDocumentCommand \geq {} { + \IfLanguageName {french}{\geqslant}{\_@@_orig_geq} } \NewDocumentCommand \N {} {\mathbb{N}} \NewDocumentCommand \Z {} {\mathbb{Z}} @@ -7167,15 +7213,15 @@ This work consists of the file gzt.dtx % % We now leave the \LaTeX3{} programming environment. % \begin{macrocode} -\ExplSyntaxOff +% \ExplSyntaxOff % \end{macrocode} % % \begin{macrocode} %</class|class-article> % \end{macrocode} % -% \section{Initial configuration file} -% Before the code of the \gztcl{} by itself, we give the initial configuration +% \subsection{Initial configuration file} +% Before the code of the \Class{gzt} by itself, we give the initial configuration % file. % % \begin{macrocode} @@ -7186,7 +7232,7 @@ This work consists of the file gzt.dtx %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Journal data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\journalsetup{% +\journalsetup{ publisher = \smf, address = Institut Henri Poincar\'e\newline 11 rue Pierre et Marie Curie\newline @@ -7194,7 +7240,7 @@ This work consists of the file gzt.dtx phone = 01 44 27 67 96, fax = 01 40 46 90 96, email = gazette@dma.ens.fr, - url = http://smf.emath.fr, + url = https://smf.emath.fr, issn = 0224-8999 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -7232,7 +7278,10 @@ This work consists of the file gzt.dtx %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Font designer text %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\fontdesignertext{Nous utilisons la police \href{http://ctan.org/pkg/kpfonts}{Kp-Fonts} créée par Christophe \textsc{Caignaert}.} +\fontdesignertext{% + Nous utilisons la police \href{https://ctan.org/pkg/kpfonts}{Kp-Fonts} créée + par Christophe \textsc{Caignaert}.% +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Printer text %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -7260,7 +7309,7 @@ This work consists of the file gzt.dtx Elle est envoyée gratuitement à chaque adhérent. Les numéros actuel et anciens sont disponibles en ligne - (\url{http://smf4.emath.fr/Publications/Gazette/}). + (\url{https://smf4.emath.fr/Publications/Gazette/}). \item[Soumission d'article.] Les articles doivent être envoyés au secrétariat, de préférence par courrier électronique (\email{gazette@dma.ens.fr}), pour @@ -7289,39 +7338,39 @@ This work consists of the file gzt.dtx propose la classe \LaTeX{} \gztarticlecl{} fournie par les distributions \TeX{} courantes (\TeX{} Live et Mac\TeX{} \aside{à partir de leur version 2015} ainsi que MiK\TeX{}), et sinon téléchargeable depuis la page - \url{http://ctan.org/pkg/gzt}. Sa documentation détaillée se trouve à la - page \url{http://mirrors.ctan.org/macros/latex/contrib/gzt/doc/gzt-fr.pdf}. + \url{https://ctan.org/pkg/gzt}. Sa documentation détaillée se trouve à la + page \url{https://mirrors.ctan.org/macros/latex/contrib/gzt/doc/gzt-fr.pdf}. On prendra garde au fait que l'usage de cette classe nécessite une distribution \TeX{} à jour. Pour plus de détails, consulter la page - \url{http://smf.emath.fr/content/la-gazette-des-mathematiciens}. + \url{https://smf.emath.fr/les-publications/la-gazette}. % % \item[Rubrique \enquote{Mathématiques}] La \gzt{} publie des articles de % mathématiques et d'interactions ou applications des mathématiques, % chargés % de présenter un résultat, exposer une notion ou de commenter une % actualité. - % + % % Ils s'adressent à un public étendu. Les textes privilégiés sont courts, % pédagogiques et illustrés par des exemples. - % + % % La bibliographie ne vise pas à l'exhaustivité et se concentre sur les % textes % introductifs et de référence. - % + % % Les articles d'histoire des mathématiques ou contenant des vues % historiques % ou épistémologiques sont également bienvenus et doivent être conçus dans % le % même esprit. - % + % % \item[Rubrique \enquote{Livres}] La rubrique \enquote{Livres} publie des % recensions s'attachant à présenter des ouvrages de mathématiques et des % ouvrages sur les mathématiques (leur histoire, leur philosophie, et plus % généralement tout ce qui a trait aux mathématiques et aux % mathématiciens). - % + % % Quelques recommendations : % \begin{itemize} % \item Commencez la recension en donnant quelques informations sur le @@ -7359,7 +7408,7 @@ This work consists of the file gzt.dtx %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Réglages divers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pgfplotsset{compat=1.12}% +\pgfplotsset{compat=1.12} % \end{macrocode} % % \begin{macrocode} @@ -7373,7 +7422,6 @@ This work consists of the file gzt.dtx % % \begin{macrocode} \ExplSyntaxOff -% \begin{document} \frontmatterheadtext \end{document} @@ -7383,129 +7431,13 @@ This work consists of the file gzt.dtx %</class-logo> % \end{macrocode} % -% \begin{macrocode} -%<*readme-pictograms> -% \end{macrocode} +% \end{implementation} % -% \begin{macrocode} -# Pictograms possibly missing - -The current directory is supposed to contain the (files of the) logos and -pictograms that illustrate the Gazette whole issues compiled by the SMF. As non -free materials, they are likely to miss here and, in such a case, the `gzt` -class will be replace them by a dummy image (borrowed from the `mwe` package). -% \end{macrocode} -% -% \begin{macrocode} -%</readme-pictograms> -% \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} -% -% \begin{macrocode} -$pdf_mode = 1; - -$bibtex_use = 1; -$bibtex = 'biber %O %B'; - -add_cus_dep('glo', 'gls', 0, 'makeglossaries'); -add_cus_dep('acn', 'acr', 0, 'makeglossaries'); -add_cus_dep('slo', 'sls', 0, 'makeglossaries'); -sub makeglossaries{ - system( "makeglossaries \"$_[0]\"" ); -} - -$makeindex = 'texindy -L french -C utf8'; - -push @generated_exts, 'acn', 'acr', 'alg', 'bcf', 'fls', 'gl*', 'sbl*', 'sl*', 'sym*' ; - -$clean_ext .= 'synctex.gz* run.xml tex.bak ind idx out bbl bcf fdb_latexmk run - tdo listing *~ lo* unq mw tcbtemp ins drv atfi db* ain' ; - -$quote_filenames = 0; -% \end{macrocode} -% -% \begin{macrocode} -%</latexmkrc> -% \end{macrocode} -% -% \begin{macrocode} +% \PrintIndex \endinput -% \end{macrocode} % -% \Finale - %%% Local Variables: %%% mode: doctex -%%% ispell-local-dictionary: "english" %%% TeX-command-default: "TeX" %%% TeX-master: t %%% End: diff --git a/macros/latex/contrib/gzt/source/latex/gzt/gzt.dtx b/macros/latex/contrib/gzt/source/latex/gzt/gzt.dtx deleted file mode 100644 index e490957478..0000000000 --- a/macros/latex/contrib/gzt/source/latex/gzt/gzt.dtx +++ /dev/null @@ -1,7511 +0,0 @@ -% \iffalse meta-comment -% -% 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 -% LaTeX Project Public License (LPPL), either version 1.3c of this -% license or (at your option) any later version. The latest version -% of this license is in the file -% -% http://www.latex-project.org/lppl.txt -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Denis Bitouz'e. -% -% This work consists of the files gzt.dtx and gzt.ins -% and the derived filebase gzt.cls. -% -%<*internal> -\iffalse -%</internal> -%<*readme> -This bundle provides two classes and BibLaTeX styles for the French journal [“La -Gazette des Mathématiciens”](https://smf.emath.fr/les-publications/la-gazette): - -- `gzt` for the complete issues of the journal, aimed at the Gazette’s team, -- `gztarticle`, intended for authors who wish to publish an article in the - Gazette. This class’s goals are to - - faithfully reproduce the layout of the Gazette, thus enabling the authors to - be able to work their document in actual conditions, and - - provide a number of tools (commands and environments) to facilitate the - drafting of documents, in particular those containing mathematical formulas. -%</readme> -%<*internal> -\fi -\def\nameofplainTeX{plain} -\ifx\fmtname\nameofplainTeX\else - \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{* Installation} -\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" - -E-mail: denis.bitouze@univ-littoral.fr -Released under the LaTeX Project Public License v1.3c or later -See http://www.latex-project.org/lppl.txt ------------------------------------------------------------------------------ -\endpreamble -\postamble -% 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 -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.3c or later is part of all distributions of LaTeX -version 2005/12/01 or later. - -This work has the LPPL maintenance status `maintained'. - -The Current Maintainer of this work is Denis Bitouz'e. - -This work consists of the file gzt.dtx - and the derived files gzt.cls, - gztarticle.cls, - gzt.ins, - gzt.pdf, - and a number of configuration files. -\endpostamble -% -\def\GZT@classname{\jobname} -\def\GZT@logo{\GZT@classname-logo} -\def\GZT@addons{addons} -\usedir{tex/latex/\GZT@classname} -\generate{% - \file{\GZT@classname.cls}{\from{\jobname.dtx}{class}} - \file{\GZT@classname article.cls}{\from{\jobname.dtx}{class-article}} - \file{\GZT@classname.dbx}{\from{\jobname.dtx}{datamodel}} - \file{\GZT@classname.lbx}{\from{\jobname.dtx}{languagemodel}} - \nopreamble\nopostamble - \file{\GZT@classname.cfg}{\from{\jobname.dtx}{configuration}} -}% -\usedir{tex/latex/\GZT@classname/images} -\generate{% - \nopreamble\nopostamble - \file{README-PICTOGRAMS.md}{\from{\jobname.dtx}{readme-pictograms}} -}% -%</install> -%<install>\endbatchfile -%<*internal> -\usedir{source/latex/\GZT@classname} -\generate{ - \file{\GZT@classname.ins}{\from{\jobname.dtx}{install}} - \file{\GZT@classname.drv}{\from{\jobname.dtx}{driver}}% - \nopreamble\nopostamble - \file{\GZT@logo.tex}{\from{\jobname.dtx}{class-logo}}% -}% -\usedir{doc/latex/\GZT@classname} -\generate{ - \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 - \file{latexmkrc}{\from{\jobname.dtx}{latexmkrc}} -}% -% \usedir{doc/latex/\GZT@classname/\GZT@addons/completion} -% \generate{% -% \nopreamble\nopostamble -% \file{\GZT@classname.cwl}{\from{\jobname.dtx}{class-cwl}} -% }% -\ifx\fmtname\nameofplainTeX - \expandafter\endbatchfile -\else - \expandafter\endgroup -\fi -%</internal> -% -% \changes{v0.9}{2015/05/02}{First CTAN version}% -% \changes{v0.95}{2016/04/03}{Second CTAN version}% -% \changes{v0.95a}{2016/10/24}{Third CTAN version}% -% \changes{v0.95b}{2016/10/24}{Fourth CTAN version}% -% \changes{v0.96}{2017/01/01}{Fifth CTAN version}% -% \changes{v0.97}{2017/02/15}{Sixth CTAN version}% -% \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} -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \StopEventually{} -% -% \selectlanguage{english} -% \chapter{Auxiliary files} -% -% \section{Gazette's logo} -% \label{sec:gzts-logo} -% Before the code of the \gztcl{} by itself, we give the begining of the -% code of the source file of the Gazette's logo (to be compiled with "xelatex"). -% \begin{macrocode} -%<*class-logo> -% \end{macrocode} -% -% \begin{macrocode} -\documentclass{standalone} -\usepackage{fontspec} -\usepackage[export]{adjustbox} -\usepackage[cmyk]{xcolor} -\usepackage{xparse} -% -\setmainfont{HelveticaNeueLTStd-ThEx} -\newfontfamily\des{HelveticaNeueLTStd-Th} -\newfontfamily\mathematiciens{HelveticaNeueLTStd-Lt} -% -\ExplSyntaxOn -\tl_new:N \l__gzt_frontmatter_head_text_tl -\tl_set:Nn \l__gzt_frontmatter_head_text_tl {% - \adjustbox{stack=r} - {% - \addfontfeature{LetterSpace=10} - \textcolor{__gzt_generic_light_color}{% - \fontsize{21}{0}\selectfont% - la\hspace{5mm}% - \fontsize{45}{0}\selectfont% - Gazette% - }% - \\[1.7mm]% - \fontsize{15}{0}\selectfont% - \textcolor{__gzt_generic_light_color}{% - \des% - \addfontfeature{LetterSpace=6}% - des% - }% - \hspace{2.5mm}% - \textcolor{__gzt_generic_dark_color}{% - \mathematiciens% - \addfontfeature{LetterSpace=6}% - Math\'ematiciens% - }% - }% -} -% -\NewDocumentCommand \frontmatterheadtext {} { - \l__gzt_frontmatter_head_text_tl -} -% \end{macrocode} -% -% \begin{macrocode} -%</class-logo> -% \end{macrocode} -% -% \section{(\Pkg{biblatex}) Data model} -% Before the code of the \gztcl{} by itself, we give the (\pkg{biblatex}) -% data model that enriches the default one for several purposes: -% \begin{itemize} -% \item the interviews, -% \item the books reviews, -% \item the books advertisements, -% \item the tributes. -% \end{itemize} -% -% \begin{macrocode} -%<*languagemodel> -% \end{macrocode} -% -% \begin{macrocode} -\ProvidesFile{gzt.lbx} -\InheritBibliographyExtras{french}% extras are inherited from French... -\DeclareBibliographyStrings{% - inherit = {french},% .... as well as all the keys - number = {{\no}{\no}}, - volume = {{volume}{vol\adddot}}, - volumes = {{volumes}{vol\adddot}}, -} -% \end{macrocode} -% -% \begin{macrocode} -%</languagemodel> -% \end{macrocode} -% -% \begin{macrocode} -%<*datamodel> -% \end{macrocode} -% -% \subsection{For the interviews} -% -% First, we create the new entry type "interview" and the new field -% "interviewee". -% \begin{macrocode} -% \DeclareDatamodelEntrytypes{interview} -\DeclareDatamodelFields[type=list,datatype=name]{interviewee} -% \end{macrocode} -% -% Then, we declare the fields known by the entry type "interview": our new field -% "interviewee" and the existing one "author". -% \begin{macrocode} -\DeclareDatamodelEntryfields[interview]{ - interviewee, - author -} -% \end{macrocode} -% -% An finally, we create the bibliography driver for the "interview" (that seems to -% create the corresponding new entry). -% \begin{macrocode} -\DeclareBibliographyDriver{interview}{% - \printnames{author}~interviewent~\printnames{interviewee}% - \usebibmacro{finentry}% -} -% \end{macrocode} -% % -% % \subsection{For the tributes} -% % -% % First, we create the new entry type "tribute" and the new field -% % "honouree". -% % \begin{macrocode} -% % \DeclareDatamodelEntrytypes{tribute} -% % \DeclareDatamodelFields[type=list,datatype=name]{honouree} -% % \end{macrocode} -% % -% % Then, we declare the fields known by the entry type "tribute": our new field -% % "honouree" and the existing one "author". -% % \begin{macrocode} -% \DeclareDatamodelEntryfields[tribute]{ -% honouree, -% author -% } -% % \end{macrocode} -% % -% % An finally, we create the bibliography driver for the "tribute" (that seems to -% % create the corresponding new entry). -% % \begin{macrocode} -% \DeclareBibliographyDriver{tribute}{% -% \printnames{author}~rendent~hommage~\`a~\printnames{honouree}% -% \usebibmacro{finentry}% -% } -% % \end{macrocode} -% -% \subsection{For the books reviews} -% -% First, we create the new bibliography driver "bookreview" (that seems to -% create the corresponding new entry). -% \begin{macrocode} -\DeclareBibliographyDriver{bookreview}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{maintitle+title}% - \newline\nopunct\newblock - \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct} - \newline\nopunct\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \printlist{language}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} -% \end{macrocode} -% -% Then, we create the new fields "reviewer" and "reviewerinstitution" and make -% them known by the entry type "bookreview". -% \begin{macrocode} -\DeclareDatamodelFields[type=list,datatype=name]{reviewer} -\DeclareDatamodelFields[type=list,datatype=literal]{reviewerinstitution} -\DeclareDatamodelEntryfields[bookreview]{ - reviewer, - reviewerinstitution -} -% \end{macrocode} -% -% \subsection{For the books advertisements} -% -% We create some new fields make them known by the entry type -% "bookadvertisement". -% \begin{macrocode} -\DeclareDatamodelFields[type=field,datatype=literal]{publicprice} -\DeclareDatamodelFields[type=field,datatype=literal]{smfprice} -\DeclareDatamodelFields[type=field,datatype=literal]{frenchabstract} -\DeclareDatamodelFields[type=field,datatype=literal]{englishabstract} -\DeclareDatamodelFields[type=list,datatype=literal]{copublisher} -\DeclareDatamodelFields[type=field, datatype=verbatim]{thumbnail} -\DeclareDatamodelEntryfields[bookadvertisement]{ - publicprice, - smfprice, - frenchabstract, - englishabstract, - copublisher, - thumbnail -} -% \end{macrocode} -% -% Then, we create the new bibliography driver "bookadvertisement" (that seems to -% create the corresponding new entry). -% \begin{macrocode} -\newcommand*{\insertbibimage}[1]{\includegraphics[width=45mm]{#1}} -\DeclareBibliographyDriver{bookadvertisement}{% - \begin{tcolorbox}[ - lefthand width=47.5mm - ,sidebyside - ,colback=white - ,fontlower=\large - ,flushleft lower - ,boxrule=0mm - ,frame hidden% - ,leftright skip=0mm - ,before skip=0mm - ,lower separated=false - ] - \iffieldundef{thumbnail} - {} - { - \usefield{\insertbibimage}{thumbnail} - } - \tcblower - \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% - \def\abx@str{abx@lstr}% - \noindent - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \textbf{\printfield{series}}% - % \usebibmacro{series+number}% - \bigskip\newline\nopunct\newblock - {% - \Large% - \printfield{title}% - \newunit\newblock - }% - \iffieldundef{volume} - {}% - {\textbf{\printfield{volume}}} - \iffieldundef{titleaddon} - {}% - {% - \newline\nopunct\newblock - \textbf{\printfield{titleaddon}}% - } - \iffieldundef{subtitle} - {}% - {% - \newline\nopunct\newblock - \printfield{subtitle}% - } - \newline\nopunct\newblock - \newline\nopunct\newblock - \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct} - \newline\nopunct\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \printlist{language}% - \iftoggle{bbx:isbn} - {% - \newline\nopunct\newblock - \printfield{isbn} - } - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \def\abx@str{abx@sstr}% - \end{tcolorbox} - \iflistundef{copublisher} - {}% - {% - \bigskip - % \newline\nopunct\newblock% - \normalsize - Publi\'e avec le concours de : \printlist{copublisher}% - \par - } - \iffieldundef{frenchabstract} - {}% - {% - \bigskip - \printfield{frenchabstract}% - \par - \medskip - % - \begin{center} - Prix~public~:\c_space_tl - \EUR{\printfield{publicprice}} - \c_space_tl\textendash\c_space_tl Prix~membre~\smf{}~:\c_space_tl - \EUR{\printfield{smfprice}} - \c_space_tl\textendash\c_space_tl Frais~de~port~non~compris - \end{center} - } - \iffieldundef{englishabstract} - {}% - {% - \par - \bigskip - \begin{otherlanguage}{english} - \itshape - \printfield{englishabstract}% - % - \par - \medskip - % - \begin{center} - Public~price:\c_space_tl - \EUR{\printfield{publicprice}} - \c_space_tl\textendash\c_space_tl \smf{}~member~price:\c_space_tl - \EUR{\printfield{smfprice}} - \c_space_tl\textendash\c_space_tl Shipping~costs~not~included - \end{center} - \end{otherlanguage} - } - \usebibmacro{finentry} -} -% \end{macrocode} -% -% \begin{macrocode} -%</datamodel> -% \end{macrocode} -% -% \chapter{Implementation of the \gztcl{}} -% -% Here comes the code of the \gztcl{}. -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \section{Removability of local customizations} -% -% We define two... -% \begin{macrocode} -\def\sectioncommandslist{}% -\let\saved@ifdefinable\@ifdefinable% -\let\saved@@ifdefinable\@@ifdefinable% -\newcommand{\startcustomization}{% - % Redefine \@ifdefinable - \renewcommand{\@ifdefinable}[2]{% - \listadd\sectioncommandslist##1% - \saved@ifdefinable{##1}{##2}% - }% - \renewcommand{\@@ifdefinable}[2]{% - \listadd\sectioncommandslist##1% - \saved@@ifdefinable{##1}{##2}% - }% -}% -\newcommand{\cleancustomization}{% - \forlistloop{\undef}{\sectioncommandslist}% - \def\sectioncommandslist{}% - \let\@ifdefinable\saved@ifdefinable% - \let\@@ifdefinable\saved@@ifdefinable% -}% -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% Selective filtering of error messages and warnings: -% \begin{macrocode} -\RequirePackage{silence}% -\WarningFilter{kpfonts}{With 'easyscsl' option} -% \end{macrocode} -% -% Extending \pkg{etoolbox}'s patching commands: -% \begin{macrocode} -\RequirePackage{xpatch}% -% \end{macrocode} -% -% We alter the behaviour of the internals of "\usetikzlibrary" so that the -% \LaTeXe{} push/pop filename system is used (see -% \url{http://tex.stackexchange.com/a/57428/18401}). -% \begin{macrocode} -\patchcmd% - {\use@@tikzlibrary}% - {% - \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ - \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% - \expandafter\usepgflibrary\expandafter{\pgf@temp}% - }{% - \tikzerror{I did not find the tikz library - '\pgf@temp'. I looked for files named - tikzlibrary\pgf@temp.code.tex and - pgflibrary\pgf@temp.code.tex, but neither - could be found in the current texmf trees.} - }}% - }% - {% - \@pushfilename - \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ - \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% - \expandafter\usepgflibrary\expandafter{\pgf@temp}% - }{% - \tikzerror{I did not find the tikz library - '\pgf@temp'. I looked for files named - tikzlibrary\pgf@temp.code.tex and - pgflibrary\pgf@temp.code.tex, but neither - could be found in the current texmf trees.} - }}% - \@popfilename - }% - {}{}% -\patchcmd - {\tcb@input@library@in} - {% - \input\tcbpkgprefix#1\relax% - } - {% - \@pushfilename - \input\tcbpkgprefix#1\relax% - \@popfilename - } - {}{} -% \end{macrocode} -% -% In order to avoid "__gzt" in the name of each internal (i.e. private) function -% and variable, we make use of the "@@" place holder provided by the -% \Pkg{l3docstrip}. -% \begin{macrocode} -%<@@=gzt> -% \end{macrocode} -% -% \section{\LaTeX3 loading} -% -% For debugging purpose, \Pkg{expl3} could be loaded with its -% \docAuxKey*{check-declarations} option. -% \begin{macrocode} -% \PassOptionsToPackage{check-declarations}{expl3} -% \end{macrocode} -% -% ^^AIn order to define class options, in key-value form, \Pkg{l3keys2e} is -% ^^Aloaded. This have to be done at an early stage because options have to be -% ^^Adefined before the (here `book') class loading. -% \begin{macrocode} -\RequirePackage{l3keys2e} -% \end{macrocode} -% -% This \gztcl{} will make use of the \pkg{expl3} programming interface -% (\LaTeX3). In order to load this package, it is enough to load the -% \Pkg{xparse} which is anyway needed to produce document-level commands. -% \begin{macrocode} -\RequirePackage{xparse} -\ExplSyntaxOn -% \end{macrocode} -% -% The \gztcl{} is declared in the \LaTeX3{}'s way. -% \begin{macrocode} -\ProvidesExplClass -%<class> {gzt} -%<class-article> {gztarticle} - {\gztfiledate} - {\gztfileversion} - { - SMF~class~for~the~French~journal^^J - "La~Gazette~des~Math'ematiciens". -%<class-article>~(Author~version.) - } -% \end{macrocode} -% -% The needed \TeX{} format is specified. -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -% \end{macrocode} -% -% \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 -\bool_new:N \g_@@_cover_bool -\bool_new:N \g_@@_coverpage_bool -\bool_new:N \g_@@_inside_pages_bool -% -\bool_new:N \g_@@_no_inside_backcover_bool -%<class-article>\bool_gset_true:N \g_@@_for_authors_bool% -%<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} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \begin{macro}{\c_@@_pagegrid_dim} -% We declare the constant dimension of the pagegrid, when enabled. -% \begin{macrocode} -\dim_const:Nn \c_@@_pagegrid_dim { 1mm} -% \end{macrocode} -% \end{macro} -% -% We define some class options: -% \begin{itemize} -% \item "pagegrid" in order to draw a grid on each page, in order to check the -% layout (mostly for debugging purpose), -% \item ... -% \end{itemize} -% -% \begin{macrocode} -\tl_gset:Nn \g_@@_frontcover_image_file_tl {\c_@@_issue_frontcover_default_image_file_tl} -\tl_gset:Nn \g_@@_special_edition_color_tl {@@_default_cover_color} -\clist_new:N \g_@@_special_edition_logos_clist -% -\keys_define:nn { gzt } -{ - pagegrid .dim_gset:N = \g_@@_pagegrid_dim, - pagegrid .default:n = {\c_@@_pagegrid_dim}, - forauthors .code:n = {% - \bool_gset_true:N \g_@@_for_authors_bool% - \bool_gset_true:N \g_@@_inside_pages_bool% - },% - forprinter .bool_gset:N = \g_@@_for_printer_bool, - frontcoverimagefile .tl_gset:N = \g_@@_frontcover_image_file_tl, - frontcoverimagefile .default:n = {frontcover}, - output .choice:, - output / frontcover .code:n = {% - \bool_gset_true:N \g_@@_for_printer_bool% - \bool_gset_true:N \g_@@_cover_bool% - },% - output / coverpage .code:n = {% - \bool_gset_true:N \g_@@_coverpage_bool% - },% - output / insidepages .code:n = {% - \bool_gset_true:N \g_@@_for_printer_bool% - \bool_gset_true:N \g_@@_inside_pages_bool% - },% - output / backcover .code:n = {% - \bool_gset_true:N \g_@@_for_printer_bool% - },% - output / web .code:n = {% - },% - specialedition .code:n = { - \bool_gset_true:N \g_@@_special_edition_bool - \bool_gset_true:N \g_@@_frontcover_without_minitoc_bool - \keys_set:nn { gzt / specialedition } {#1} - }, - specialedition / color .code:n = {% - \tl_gset:Nn \g_@@_special_edition_color_tl {#1} - },% - specialedition / minitoc .code:n = {% - \bool_gset_false:N \g_@@_frontcover_without_minitoc_bool - },% - specialedition / logos .code:n = {% - \clist_gset:Nn \g_@@_special_edition_logos_clist {#1} - },% - specialedition / backcover~image .code:n = {% - \tl_gset:Nn \g_@@_special_edition_backcover_image_tl {#1} - },% - specialedition / title .code:n = {% - \tl_gset:Nn \g_@@_special_edition_title_tl {#1} - },% - specialedition / short~title .code:n = {% - \tl_gset:Nn \g_@@_special_edition_short_title_tl {#1} - },% - specialedition / editorial~heading .code:n = {% - \tl_gset:Nn \g_@@_special_edition_editorial_heading_tl {#1} - },% - 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 -% \end{macrocode} -% -% \begin{macrocode} -\ProcessKeysOptions { gzt } -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% As subsequent class, the \Cls{book} is loaded, with "openany", "english" and -% "french" options. -% \begin{macrocode} -\PassOptionsToClass{openany,english,french}{book} -\LoadClass { book } -\PassOptionsToPackage{table,cmyk}{xcolor}% -\PassOptionsToPackage{export}{adjustbox}% -\PassOptionsToPackage{english,french}{translator} -\PassOptionsToPackage{english,french}{babel} -\PassOptionsToPackage{english,french}{varioref} -\PassOptionsToPackage{english,french}{cleveref} -% \end{macrocode} -% -% \section{Packages loading} -% -% Many of the \gztcl{} features are provided by third party packages. In this -% section, we load them and outline their features interesting from the \gztcl{} -% point of view.\todo{When possible, the list of loaded packages should be split -% into two lists: one of the packages needed just by \gzt{} (for both its logic -% and its layout) and one of packages useful for the end user.} -% -% \begin{enumerate} -% \item Compile \TeX{} pictures stand-alone or as part of a document: -% \begin{macrocode} -\RequirePackage[group=false]{standalone}% -% \end{macrocode} -% -% \item Tools to load and manipulate data: -% \begin{macrocode} -\RequirePackage{datatool}% -% \end{macrocode} -% -% \item In case of \hologo{pdfTeX} engine, we enforce \pkg{fontenc} to be loaded -% with its \docAuxKey*{T1} option (usual for French and English documents) and -% \pkg{inputenc} to be loaded with its \docAuxKey*{utf8} option. Otherwise -% \pkg{fontspec}, convenient for both \hologo{XeLaTeX} and \hologo{LuaLaTeX}, -% is loaded, with ligatures à la \TeX{} by default enabled. -% \begin{macrocode} -\sys_if_engine_pdftex:TF - { - \RequirePackage[T1]{fontenc} - \RequirePackage[utf8]{inputenc} - }{ - \RequirePackage{fontspec} - } -% \end{macrocode} -% -% Load of main font to be used: -% \begin{macrocode} -\RequirePackage[sfmath,easyscsl,noDcommand]{kpfonts} -% \end{macrocode} -% -% \item Formatting both header and footers (pagestyle), and sections headers: -% \begin{macrocode} -\RequirePackage[pagestyles]{titlesec}% -% \end{macrocode} -% -% \item Multicolumn output: -% \begin{macrocode} -\RequirePackage{multicol}% -% \end{macrocode} -% -% \item Graphics inclusion: -% \begin{macrocode} -\RequirePackage{graphicx}% -% \end{macrocode} -% -% \item Establish input relative to a directory: -% \begin{macrocode} -%<class>\RequirePackage{import}% -% \end{macrocode} -% -% \item Allow tables to flow over page boundaries: -% \begin{macrocode} -\RequirePackage{longtable}% -% \end{macrocode} -% -% \item Put a grey textual watermark on document pages (loaded only if -% "forauthors" \gzt{}'s option is on): -% \begin{macrocode} -%<class>\bool_if:nT { \g_@@_for_authors_bool } { -%<class> \RequirePackage{draftwatermark}[2006/06/30]% -%<class>} -% \end{macrocode} -% -% \item Graphics package-alike macros for \enquote{general} boxes: -% \begin{macrocode} -\RequirePackage{adjustbox}% -% \end{macrocode} -% -% \item Packages and image files for MWEs (used in case of missing pictograms): -% \begin{macrocode} -\RequirePackage{mwe} -% \end{macrocode} -% -% \item A new reference scheme for \LaTeX{}, giving the total number of pages in -% the document: -% \begin{macrocode} -\RequirePackage{zref-totpages} -% \end{macrocode} -% -% \item Reference last page number (which is generally different from the total -% number of pages in the document): -% \begin{macrocode} -%<class>\RequirePackage{lastpage} -% \end{macrocode} -% -% \item A new reference scheme for \LaTeX{}, providing the facilities of the -% \package{xr} and \package{xr-hyper} packages: -% \begin{macrocode} -\RequirePackage{zref-xr}% -% \end{macrocode} -% -% \item Alternative versions of "ragged"-type commands: -% \begin{macrocode} -\RequirePackage{ragged2e}% -% \end{macrocode} -% -% \item Define commands that appear not to eat spaces: -% \begin{macrocode} -\RequirePackage{xspace}% -% \end{macrocode} -% -% \item ...: -% \begin{macrocode} -\RequirePackage{textcase}% -% \end{macrocode} -% -% \item For typesetting epigraphs: -% \begin{macrocode} -\RequirePackage{epigraph}% -% \end{macrocode} -% -% \item Context sensitive quotation facilities: -% \begin{macrocode} -\RequirePackage[autostyle]{csquotes}% -% \end{macrocode} -% -% \item Programmable bibliographies and citations: -% \begin{macrocode} -\RequirePackage[backend=biber,datamodel=gzt,defernumbers=true,autolang=other]{biblatex}% -\@ifpackagelater{biblatex}{2016/01/01}{% - \ExecuteBibliographyOptions{giveninits} -}{ - \ExecuteBibliographyOptions{firstinits} -} -% \end{macrocode} -% -% \item Extended implementation of the \LaTeX{} array and -% tabular-environments: -% \begin{macrocode} -\RequirePackage{array} -% \end{macrocode} -% -% \item Publication quality tables in \LaTeX{}: -% \begin{macrocode} -\RequirePackage{booktabs} -% \end{macrocode} -% -% \item Tabulars with adjustable-width columns: -% \begin{macrocode} -\RequirePackage{tabularx} -% \end{macrocode} -% -% % \item Set of tools for authors to typeset quantities in a consistent way -% % (automated processing of numbers and units, and control of tabular alignment -% % of numbers): -% % \begin{macrocode} -% \RequirePackage{siunitx} -% % \end{macrocode} -% -% \item Modify skips between paragraphs: -% \begin{macrocode} -\RequirePackage{nccparskip} -% \end{macrocode} -% -% \item Construction for table cells that span more than one row of the table: -% \begin{macrocode} -\RequirePackage{multirow} -% \end{macrocode} -% -% \item Intelligent page references: -% \begin{macrocode} -\RequirePackage{varioref} -% \end{macrocode} -% -% \item Extension to \Pkg{amsmath}: correct various bugs/defeciencies in amsmath -% and useful tools for mathematical typesetting\footnote{The \Pkg{mathtools} -% loads \pkg{amsmath}, hence it's not necessary to load the latter.}: -% \begin{macrocode} -\RequirePackage{mathtools} -% \end{macrocode} -% -% \item Support for using RSFS fonts in maths: -% \begin{macrocode} -\RequirePackage{rsfso} -% \end{macrocode} -% -% \item Vector arrows: -% \begin{macrocode} -\RequirePackage{esvect} -% \end{macrocode} -% -% \item Hooks to do actions on every page or on the current page: -% \begin{macrocode} -% \RequirePackage{everypage} -% \end{macrocode} -% -% \item For translating words in \LaTeX{}. -% \begin{macrocode} -\RequirePackage{translator}% -% \end{macrocode} -% -% \item Flexible and easy interface to page dimensions: -% \begin{macrocode} -\RequirePackage{geometry} -% \end{macrocode} -% -% \item Bilingual (French and English) documents, with French as default -% language: -% \begin{macrocode} -\RequirePackage{babel}% -% \end{macrocode} -% -% \item METAFONT and macros for Euro sign: -% \begin{macrocode} -\RequirePackage{eurosym}% -% \end{macrocode} -% -% Expandable checks for the current language: -% \begin{macrocode} -\RequirePackage{iflang}[2007/11/11]% -% \end{macrocode} -% -% \item Tagging tables of contents: -% \begin{macrocode} -%<class>\RequirePackage{tableof}% -% \end{macrocode} -% -% \item Completely customisable TOCs: -% \begin{macrocode} -\RequirePackage{etoc}% -% \end{macrocode} -% -% \item Subliminal refinements towards typographical perfection: -% \begin{macrocode} -\RequirePackage[babel=true]{microtype}% -% \end{macrocode} -% -% \item Current date and time formatting: -% \begin{macrocode} -\RequirePackage[nodayofweek]{datetime}% -% \end{macrocode} -% -% \item Customization of lists: -% \begin{macrocode} -\RequirePackage[inline]{enumitem}% -% \end{macrocode} -% -% \item Execute command after the next page break: -% \begin{macrocode} -\RequirePackage{afterpage} -% \end{macrocode} -% -% \item Extension of \LaTeX{}'s color facilities: -% \begin{macrocode} -\RequirePackage{xcolor}% -% \end{macrocode} -% -% \item We need to avoid some macros from few of the following packages to be -% added to "\@preamblecmds": -% \begin{macrocode} -%<class|class-article>\cs_set_eq:NN \_@@_orig_preamblecmds \@preamblecmds -% \end{macrocode} -% -% Create PostScript and PDF graphics in \TeX: -% \begin{macrocode} -\RequirePackage{tikz} -% \end{macrocode} -% -% Create normal/logarithmic plots in two and three dimensions: -% \begin{macrocode} -\RequirePackage{pgfplots} -% \end{macrocode} -% -% \item Environments for colored and framed text boxes, e.g. theorems: -% \begin{macrocode} -\RequirePackage{tcolorbox} -% \end{macrocode} -% -% \item A single TikZ node for the whole page: -% \begin{macrocode} -\RequirePackage{tikzpagenodes} -% \end{macrocode} -% -% \item Print page grid in background: -% \begin{macrocode} -%<class>\RequirePackage[foreground]{pagegrid}% -% \end{macrocode} -% -% \item Typesetting theorems (AMS style): -% \begin{macrocode} -\RequirePackage{amsthm} -% \end{macrocode} -% -% \item Extensions to theorem environments: -% \begin{macrocode} -\RequirePackage{thmtools} -% \end{macrocode} -% -% We restore "\@preamblecmds" as it was before: -% \begin{macrocode} -%<class|class-article>\cs_set_eq:NN \@preamblecmds \_@@_orig_preamblecmds -% \end{macrocode} -% -% \item Control float placement: -% \begin{macrocode} -\RequirePackage{placeins}% -% \end{macrocode} -% -% \item Hypertext marks: -% \begin{macrocode} -\RequirePackage[hidelinks,hypertexnames=false]{hyperref}% -% \end{macrocode} -% -% \item A new bookmark (outline) organization for \Pkg{hyperref}: -% \begin{macrocode} -\RequirePackage[numbered]{bookmark}% -% \end{macrocode} -% -% \item Create glossaries and lists of acronyms: -% \begin{macrocode} -\RequirePackage[nowarn]{glossaries}% -% \end{macrocode} -% -% \item Intelligent cross-referencing: -% \begin{macrocode} -\RequirePackage{cleveref}% -% \end{macrocode} -% \end{enumerate} -% -% Setings of the glossaries and acronyms. -% \begin{macrocode} -\makeglossaries -\setglossarystyle{indexhypergroup} -\setacronymstyle{long-sc-short} -% \end{macrocode} -% -% In case of \hologo{pdfTeX} engine, the document is by default in sans serif -% and makes use of the \pkg{lmodern} for the \enquote{ttfamily} font. -% -% \begin{macrocode} -\sys_if_engine_pdftex:T - { - \renewcommand\familydefault{\sfdefault} - \renewcommand{\ttdefault}{lmtt} - } -% \end{macrocode} -% -% \section{Miscellaneous patches} -% -% We pop some commands from the "\@preamblecmds" list in order to allow -% "\DeclareMathOperator" to be used after the preamble (see -% \url{http://tex.stackexchange.com/q/223421/18401}). -% \begin{macrocode} -\tl_remove_all:Nn \@preamblecmds { \do \DeclareMathOperator } -\tl_remove_all:Nn \@preamblecmds { \do \newacronym } -\tl_remove_all:Nn \@preamblecmds { \do \@declmathop } -\tl_remove_all:Nn \@preamblecmds { \do \usetikzlibrary } -% \end{macrocode} -% -% \section{Messages} -% -% In this section, some messages are declared for future use. -% \begin{macrocode} -\msg_new:nnnn{gzt}{issue-number-needed}{Option~`#1'~needed!} - {Please~specify~`#1=<number>', - ~otherwise~`<number>'~will~be~set~to - ~`\int_use:N\c_@@_first_issue_number_int'.} -\msg_new:nnnn{gzt}{unknown-choice}{Choice~`#3'~invalid!} - {Please~specify~#1=#2.} -%<class>\msg_new:nnnn{gzt}{configuration-file-missing}{File~`\c_@@_configuration_file_string_tl'~missing!} -%<class> {The~ whole~ issue~ may~ not~ be~ conform~ if~ `\c_@@_configuration_file_string_tl'~ is~ missing.} -%<class>\msg_new:nnnn{gzt}{editorial-file-missing}{File~`\c_@@_editorial_file_string_tl'~missing!} -%<class> {The~ whole~ issue~ requires~ the~ `\c_@@_editorial_file_string_tl'~ file.} -% \end{macrocode} -% -% \section{Counters} -% -% In this section, we define some counters for future use. -% -% \begin{macro}{\g_@@_editors_in_chief_int} -% \begin{macro}{\g_@@_articles_int} -% \begin{macro}{\g_@@_questions_answers_int} -% -% The integer "\g_@@_editors_in_chief_int" will count the number of editors in -% chief in order to use singular or plural form of the corresponding string -% \enquote{Rédacteur(s) en chef}. -% \begin{macrocode} -\int_new:N \g_@@_editors_in_chief_int -% \end{macrocode} -% -% The integer "\g_@@_item_in_rubric_int" will count the number of item in -% a rubric in order to give a specific behavior of the first of them. -% \begin{macrocode} -\int_new:N \g_@@_item_in_rubric_int -% \end{macrocode} -% -% The integer "\g_@@_articles_int" will count the number of articles in order to -% provide for each of them a unique bibliographic key. -% \begin{macrocode} -\int_new:N \g_@@_articles_int -% \end{macrocode} -% -% The integer "\g_@@_question_int" will count the number of questions -% (and hence of answers) in order to provide distinguish between the first and -% the subsequent questions/answers of an interview, the former being likely to -% be typeset differently (e.g. the names of the interviewer and the interviewee -% may appear only in the first question/answer). -% \begin{macrocode} -\int_new:N \g_@@_question_int -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \section{Constants} -% -% In this section, we declared some constants for future use. -% -% \subsection{Integers} -% -% \subsubsection{Issue numbers} -% -% \begin{macro}{\c_@@_first_issue_number_int} -% \begin{macro}{\c_@@_first_issue_year_int} -% \begin{macro}{\c_@@_first_issue_month_int} -% \begin{macro}{\c_@@_interval_in_months_int} -% The first issue number, month and year, and the interval (in months) between -% two consecutive issues, are declared. -% \begin{macrocode} -\int_const:Nn \c_@@_first_issue_number_int { 143 } -\int_const:Nn \c_@@_first_issue_year_int { 2015 } -\int_const:Nn \c_@@_first_issue_month_int { 1 } -\int_const:Nn \c_@@_interval_in_months_int { 3 } -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Strings and keywords} -% -% We now declare some private string constants. -% -% \begin{macro}{\c_@@_journal_short_title_string_tl} -% \begin{macro}{\c_@@_journal_title_string_tl} -% \begin{macro}{\c_@@_editors_in_chief_string_tl} -% \begin{macro}{\c_@@_editors_string_tl} -% \begin{macro}{\c_@@_editorial_board_string_tl} -% \begin{macro}{\c_@@_editorial_secretariat_string_tl} -% \begin{macro}{\c_@@_phone_string_tl} -% \begin{macro}{\c_@@_fax_string_tl} -% \begin{macro}{\c_@@_informations_string_tl} -% \begin{macro}{\c_@@_publishingdirector_string_tl} -% \begin{macro}{\c_@@_issn_string_tl} -% \begin{macro}{\c_@@_isbn_string_tl} -% \begin{macro}{\c_@@_latexclass_string_tl} -% \begin{macro}{\c_@@_font_string_tl} -% \begin{macro}{\c_@@_configuration_file_string_tl} -% \begin{macro}{\c_@@_cover_string_tl} -% \begin{macro}{\c_@@_artistic_director_string_tl} -% \begin{macro}{\c_@@_editorial_heading_string_tl} -% \begin{macro}{\c_@@_toc_string_tl} -% \begin{macro}{\c_@@_message_string_tl} -% \begin{macro}{\c_@@_president_signatory_string_tl} -% \begin{macro}{\c_@@_editorinchief_signatory_string_tl} -% \begin{macro}{\c_@@_issue_bib_file_tl} -% \begin{macro}{\c_@@_about_frontcover_string_tl} -% \begin{macro}{\c_@@_credit_frontcover_string_tl} -% \begin{macro}{\c_@@_authors_instructions_string_tl} -% For the journal's short and long titles. -% \begin{macrocode} -\tl_const:Nn \c_@@_journal_short_title_string_tl {Gazette} -\tl_const:Nn \c_@@_journal_title_string_tl { - \c_@@_journal_short_title_string_tl{}~des~Math\'ematiciens% -} -% \end{macrocode} -% -% For the names of the underlying classes. -% \begin{macrocode} -\tl_const:Nn \c_@@_class_name_tl {gzt} -\tl_const:Nn \c_@@_article_class_name_tl {gztarticle} -% \end{macrocode} -% -% For the editor(s) in chief. -% \begin{macrocode} -\tl_const:Nn \c_@@_editors_in_chief_string_tl -{ - \int_compare:nNnTF { \g_@@_editors_in_chief_int } > { 1 } - { \c_@@_editorsinchief_string_tl } - { \c_@@_editorinchief_string_tl } -} -% \end{macrocode} -% For the editor in chief. -% \begin{macrocode} -\tl_const:Nn \c_@@_editorinchief_string_tl {R\'edacteur~en~chef } -% \end{macrocode} -% For the editors in chief (plural form of the previous one). -% \begin{macrocode} -\tl_const:Nn \c_@@_editorsinchief_string_tl {R\'edacteurs~en~chef } -% \end{macrocode} -% For the editors. -% \begin{macrocode} -\tl_const:Nn \c_@@_editors_string_tl {R\'edacteurs } -% \end{macrocode} -% For the editorial board. -% \begin{macrocode} -\tl_const:Nn \c_@@_editorial_board_string_tl {Comit\'e~de~r\'edaction} -% \end{macrocode} -% For the editorial board of special_edition. -% \begin{macrocode} -\tl_const:Nn \c_@@_special_edition_editorial_board_string_tl {Num\'ero~sp\'ecial~de~la~Gazette~des~Math\'ematiciens~sous~la~direction~de~:} -% \end{macrocode} -% For the editorial_secretariat. -% \begin{macrocode} -\tl_const:Nn \c_@@_editorial_secretariat_string_tl {Secr\'etariat~de~r\'edaction} -% \end{macrocode} -% For the phone. -% \begin{macrocode} -\tl_const:Nn \c_@@_phone_string_tl {T\'el.} -% \end{macrocode} -% For the fax. -% \begin{macrocode} -\tl_const:Nn \c_@@_fax_string_tl {Fax} -% \end{macrocode} -% For the informations. -% \begin{macrocode} -\tl_const:Nn \c_@@_informations_string_tl {Renseignements} -% \end{macrocode} -% For the publishing director. -% \begin{macrocode} -\tl_const:Nn \c_@@_publishingdirector_string_tl {Directeur~de~la~publication} -% \end{macrocode} -% For the \textsc{issn}. -% \begin{macrocode} -\tl_const:Nn \c_@@_issn_string_tl {\textsc{issn}} -% \end{macrocode} -% For the \textsc{isbn}. -% \begin{macrocode} -\tl_const:Nn \c_@@_isbn_string_tl {\textsc{isbn}} -% \end{macrocode} -% For "\LaTeX Class". -% \begin{macrocode} -\tl_const:Nn \c_@@_latexclass_string_tl {Classe~\LaTeX{}} -% \end{macrocode} -% For "Impression". -% \begin{macrocode} -\tl_const:Nn \c_@@_printer_string_tl {Impression} -% \end{macrocode} -% For configuration file. -% \begin{macrocode} -\tl_const:Nn \c_@@_configuration_file_string_tl {gzt.cfg} -% \end{macrocode} -% For the artistic director. -% \begin{macrocode} -\tl_const:Nn \c_@@_artistic_director_string_tl {Conception~graphique} -% \end{macrocode} -% For the editorial. -% \begin{macrocode} -\AddToHook{begindocument/before}{ - \bool_if:NTF {\g_@@_special_edition_bool} { - \tl_const:Nn \c_@@_editorial_heading_string_tl {Avant-propos} - }{ - \tl_const:Nn \c_@@_editorial_heading_string_tl {\'Editorial} - } -} -% \end{macrocode} -% For the editor in chief. -% \begin{macrocode} -\tl_const:Nn \c_@@_editorinchief_signatory_string_tl {\c_@@_editorinchief_string_tl~de~la~\c_@@_journal_title_string_tl} -% \end{macrocode} -% For the table of contents. -% \begin{macrocode} -\tl_const:Nn \c_@@_toc_string_tl {Sommaire} -% \end{macrocode} -% For the president message. -% \begin{macrocode} -\tl_const:Nn \c_@@_president_message_string_tl {Mot~du~pr\'esident} -% \end{macrocode} -% For the president. -% \begin{macrocode} -\tl_const:Nn \c_@@_president_signatory_string_tl {pr\'esident~de~la~\g_@@_smf_short_string_tl} -% \end{macrocode} -% For the date of the editor in chief's message. -% \begin{macrocode} -\tl_const:Nn \c_@@_editorinchief_message_date_string_tl {Le~\displaydate{@@_editorinchief_message_date}} -% \end{macrocode} -% For the date of the president's message. -% \begin{macrocode} -\tl_const:Nn \c_@@_president_message_date_string_tl {Le~} -% \end{macrocode} -% For the special editions. -% \begin{macrocode} -\tl_const:Nn \c_@@_special_edition_string_tl {\c_space_tl{}sp{\'e}cial} -\tl_const:Nn \c_@@_long_special_edition_string_tl {Numéro\c_@@_special_edition_string_tl}% -\tl_const:Nn \c_@@_short_special_edition_string_tl {\No{}\c_@@_special_edition_string_tl}% -% \end{macrocode} -% For the front cover header text. -% \begin{macrocode} -\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} - \medskip - \par - \normalsize - } - \l_@@_uppercased_date_format\displaydate{@@_date} - \bool_if:NF {\g_@@_special_edition_bool} { - \c_space_tl - \textendash{} - \c_space_tl - \No - \int_use:N\g_@@_issue_number_int% - } - } -} -% \end{macrocode} -% For the graphics extensions. -% \begin{macrocode} -\clist_const:Nn \c_@@__graphics_extensions_clist {png,PNG,jpg,JPG,jpeg,JPEG,pdf,PDF} -% \end{macrocode} -% For the pdftitle text. -% \begin{macrocode} -\tl_const:Nn \c_@@_pdftitle_string_tl { - \bool_if:NTF {\g_@@_moral_report_bool} { - \c_@@_moralreport_rubric_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 - }{ - \int_use:N\g_@@_issue_number_int - } - } -} -% \end{macrocode} -% For the name of the directory containing the editorial and the president message. -% \begin{macrocode} -\tl_const:Nn \c_@@_frontmatter_directory_string_tl {frontmatter} -% \end{macrocode} -% For the name of the directory containing the 3rd and 4th cover pages. -% \begin{macrocode} -\tl_const:Nn \c_@@_backmatter_directory_string_tl {backmatter} -% \end{macrocode} -% For the name of the file containing the editorial. -% \begin{macrocode} -\tl_const:Nn \c_@@_editorial_file_string_tl {\c_@@_frontmatter_directory_string_tl/editorial} -% \end{macrocode} -% For the name of the file containing the president message. -% \begin{macrocode} -\tl_const:Nn \c_@@_president_message_file_string_tl {\c_@@_frontmatter_directory_string_tl/presidentmessage} -% \end{macrocode} -% For the path to the current issue's directory. -% \begin{macrocode} -\tl_const:Nn \c_@@_issue_path_string_tl {\int_use:N \g_@@_issue_number_int} -% \end{macrocode} -% For the name and path of the images directory. -% \begin{macrocode} -\tl_const:Nn \c_@@_images_directory_string_tl {images} -\tl_const:Nn \c_@@_issue_images_path_string_tl {% \c_@@_issue_path_string_tl/ - \c_@@_images_directory_string_tl} -% \end{macrocode} -% For the name of the file containing the image of the current issue's front cover. -% \begin{macrocode} -\tl_const:Nn \c_@@_issue_frontcover_default_image_file_tl {frontcover} -% \end{macrocode} -% For the name of the file containing the text of the current issue's back cover. -% \begin{macrocode} -\tl_const:Nn \c_@@_issue_backcover_text_file_string_tl {backcover} -\tl_const:Nn \c_@@_backcover_page_file_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_issue_backcover_text_file_string_tl} -% \end{macrocode} -% For the name of the file containing the text of the special issue's abstract back cover. -% \begin{macrocode} -\tl_const:Nn \c_@@_special_edition_backcover_text_file_string_tl {abstract_backcover} -\tl_const:Nn \c_@@_special_edition_backcover_page_file_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_text_file_string_tl} -% \end{macrocode} -% For the name of the file of the special issue's picture back cover. -% \begin{macrocode} -\tl_const:Nn \c_@@_special_edition_backcover_picture_string_tl {picture_backcover} -\tl_const:Nn \c_@@_special_edition_backcover_page_picture_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_picture_string_tl} -% \end{macrocode} -% For the name of the file containing the acronyms. -% \begin{macrocode} -\tl_const:Nn \c_@@_acronyms_file_string_tl {\c_@@_class_name_tl acronyms} -% \end{macrocode} -% For authors' instructions file. -% \begin{macrocode} -\tl_const:Nn \c_@@_authors_instructions_file_extension_tl {ain} -\tl_const:Nn \c_@@_authors_instructions_file_tl {\c_sys_jobname_str.\c_@@_authors_instructions_file_extension_tl} -% \end{macrocode} -% For the few words about the front cover. -% \begin{macrocode} -\tl_const:Nn \c_@@_about_frontcover_string_tl {\`A~propos~de~la~couverture.} -% \end{macrocode} -% For the credit of the front cover. -% \begin{macrocode} -\tl_const:Nn \c_@@_credit_frontcover_string_tl {cr\'edit} -% \end{macrocode} -% For the authors instructions. -% \begin{macrocode} -\tl_const:Nn \c_@@_authors_instructions_string_tl {Instructions~aux~auteurs} -% \end{macrocode} -% For the preliminary versions sent to authors for checking. -% \begin{macrocode} -\tl_const:Nn \c_@@_preliminary_version_string_tl {% - Ce~document~est~une~{\'e}preuve~vous~permettant~de~contr{\^o}ler~l'int{\'e}grit{\'e}~du~ - texte~d'origine~(et~de~la~bibliographie~s'il~y~en~a~une)~de~votre~article~ - {\`a}~para{\^\i}tre~dans~le~prochain~num{\'e}ro~de~la~\gzt*{}.~La~mise~en~page~ - actuelle~n'est~pas~d{\'e}finitive\,:~votre~article~pourra~en~particulier~ne~pas~ - d{\'e}buter~en~haut~d'une~page.% -} -% \end{macrocode} -% For the string that preceeds the title in the \enquote{Tell me} rubric. -% \begin{macrocode} -\tl_const:Nn \c_@@_tellme_extra_title_string_tl {...\c_space_tl} -% \end{macrocode} -% For the separator between a rubric and an article's title in the minitoc. -% \begin{macrocode} -\tl_const:Nn \c_@@_minitoc_rubric_title_separator_string_tl {\c_space_tl\textendash} -% \end{macrocode} -% Names of the pictogram files. -% \begin{macrocode} -\tl_const:Nn \c_@@_mathematics_pictogram_file_name_tl {picto-mathematics} -\tl_const:Nn \c_@@_dossier_pictogram_file_name_tl {picto-dossier} -\tl_const:Nn \c_@@_community_pictogram_file_name_tl {picto-hands} -\tl_const:Nn \c_@@_interview_pictogram_file_name_tl {picto-interview} -\tl_const:Nn \c_@@_teaching_pictogram_file_name_tl {picto-teaching} -\tl_const:Nn \c_@@_parity_pictogram_file_name_tl {picto-parity} -\tl_const:Nn \c_@@_tellme_pictogram_file_name_tl {picto-tellme} -\tl_const:Nn \c_@@_information_pictogram_file_name_tl {picto-information} -\tl_const:Nn \c_@@_rearviewmirror_pictogram_file_name_tl {picto-rearviewmirror} -\tl_const:Nn \c_@@_tribute_pictogram_file_name_tl {picto-tribute} -\tl_const:Nn \c_@@_books_pictogram_file_name_tl {picto-books} -\tl_const:Nn \c_@@_forum_pictogram_file_name_tl {picto-forum} -% \end{macrocode} -% For the miscellaneous rubrics. -% \begin{macrocode} -\tl_const:Nn \c_@@_mathematics_rubric_string_tl {Math\'ematiques} -\tl_const:Nn \c_@@_dossier_rubric_string_tl {Dossier} -\tl_const:Nn \c_@@_community_rubric_string_tl {Vie~de~la~communaut\'e} -\tl_const:Nn \c_@@_interview_rubric_string_tl {Entretien} -\tl_const:Nn \c_@@_teaching_rubric_string_tl {Diffusion~des~savoirs} -\tl_const:Nn \c_@@_parity_rubric_string_tl {Parit\'e} -\tl_const:Nn \c_@@_tellme_rubric_string_tl {Raconte-moi} -\tl_const:Nn \c_@@_information_rubric_string_tl {Information} -\tl_const:Nn \c_@@_rearviewmirror_rubric_string_tl {R\'etroviseur} -\tl_const:Nn \c_@@_tribute_rubric_string_tl {Carnet} -% \tl_const:Nn \c_@@_books_rubric_string_tl {Recension} -\tl_const:Nn \c_@@_books_rubric_string_tl {Livres} -\tl_const:Nn \c_@@_latex_rubric_string_tl {Astuces~\LaTeX{}} -\tl_const:Nn \c_@@_forum_rubric_string_tl {Tribune~libre} -\tl_const:Nn \c_@@_published_with_help_of_string_tl {Publi\'e~avec~le~concours~de~:} -\tl_const:Nn \c_@@_advertisement_directory_string_tl {advertisement/} -\tl_const:Nn \c_@@_advertisement_string_tl {Publicit\'e} -\tl_const:Nn \c_@@_moralreport_rubric_string_tl {Rapport~moral} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% For the long and short forms of \textsc{smf}. -% \begin{macrocode} -\tl_const:Nn \c_@@_smf_short_string_tl {\textsc{smf}} -\tl_const:Nn \c_@@_smf_short_pdf_string_tl {SMF} -\tl_const:Nn \c_@@_smf_string_tl {Soci\'et\'e~Math\'ematique~de~France} -% \end{macrocode} -% For the long and short forms of \enquote{c'est-à-dire} and -% \enquote{C'est-à-dire} (\enquote{that is} and \enquote{That is}). -% \begin{macrocode} -\tl_const:Nn \c_@@_cad_short_string_tl {c.-\`a-d.} -\tl_const:Nn \c_@@_cad_string_tl {c'est-\`a-dire} -\tl_const:Nn \c_@@_Cad_short_string_tl {C.-\`a-d.} -\tl_const:Nn \c_@@_Cad_string_tl {C'est-\`a-dire} -% \end{macrocode} -% For the footer text. -% \begin{macrocode} -\tl_const:Nn \c_@@_footer_string_tl { - \c_@@_footer_size_font_tl - \textcolor{@@_smf_number_color}{\text_uppercase:n {\c_@@_smf_short_string_tl}} - \c_space_tl - \textcolor{@@_date_color}{ - \textendash{}\c_space_tl - \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} - } - } - } - } -} -% \end{macrocode} -% For the name of the file containing the \textsc{smf} logo. -% \begin{macrocode} - \file_if_exist:nTF { logo_SMF.pdf }{% - \tl_const:Nn \c_@@_smf_logo_file_string_tl {logo_SMF} - }{ - \tl_const:Nn \c_@@_smf_logo_file_string_tl {example-image} - } -% \end{macrocode} -% For the name of the file containing the bibliography of the current issue. -% \begin{macrocode} -% \tl_const:Nn \c_@@_issue_bib_file_string_tl {issue-\c_sys_jobname_str.bib} -\tl_const:Nn \c_@@_issue_bib_file_suffix_string_tl {@@} -\tl_const:Nn \c_@@_issue_bib_file_string_tl {\c_sys_jobname_str\c_@@_issue_bib_file_suffix_string_tl.bib} -\tl_const:Nn \c_@@_issue_bib_path_string_tl {\c_@@_issue_bib_file_string_tl} -% \end{macrocode} -% 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 {special-edition} -}{ - \tl_const:Nn \c_@@_issue_bib_key_tl {\int_use:N \g_@@_issue_number_int} -} -% \end{macrocode} -% For the interview title. -% \begin{macrocode} -\tl_const:Nn \c_@@_interview_title_string_tl {En~apart\'e~avec~} -% \end{macrocode} -% For the asides opening and eventuelly closing punctuation marks. -% \begin{macrocode} -\tl_const:Nn \c_@@_aside_string_tl {--} -% \end{macrocode} -% For the draft watermark. -% \begin{macrocode} -\tl_const:Nn \c_@@_draftwatermark_string_tl {draft} -% \end{macrocode} -% For the text accompagnying the date displayed in the footer of the authors' versions. -% \begin{macrocode} -\tl_const:Nn \c_@@_compiled_string_tl { - \int_compare:nNnT {\g_@@_issue_number_int}={0} { - \c_@@_footer_size_font_tl - \IfLanguageName{french}{ - Compil\'e~le~ - }{ - Compiled~on~ - } - \today - } -} -% \end{macrocode} -% -% % \begin{macro}{smf} -% % \begin{macro}{issn} -% % \begin{macro}{isbn} -% % \begin{macro}{cv} -% % \begin{macrocode} -% \newacronym{smf}{smf}{\c_@@_smf_string_tl}% -% \newacronym{issn}{issn}{International Standard Serial Number}% -% \newacronym{isbn}{isbn}{International Standard Book Number}% -% \newacronym{cv}{cv}{curriculum vit\ae}% -% \end{macrocode} -% % \end{macro} -% % \end{macro} -% % \end{macro} -% % \end{macro} -% -% \subsection{Booleans} -% -% We now declare the booleans that will be used. -% -% \begin{macro}{\g_@@_frontcover_bool} -% \begin{macro}{\g_@@_inside_frontcover_bool} -% \begin{macro}{\g_@@_inside_backcover_bool} -% \begin{macro}{\g_@@_frontmatter_bool} -% \begin{macro}{\g_@@_rubric_bool} -% \begin{macro}{\g_@@_interview_rubric_bool} -% \begin{macro}{\g_@@_mainmatter_bool} -% \begin{macro}{\g_@@_backmatter_bool} -% \begin{macro}{\g_@@_backcover_bool} -% The following booleans will be used to test wheter we are respectively in the -% front cover, in the inside front cover, in the frontmatter, in (first page -% of) a rubric, in the mainmatter. -% \begin{macrocode} -\bool_new:N \g_@@_frontcover_bool -\bool_new:N \g_@@_inside_frontcover_bool -\bool_new:N \g_@@_inside_backcover_bool -\bool_new:N \g_@@_frontmatter_bool -\bool_new:N \g_@@_rubric_bool -\bool_new:N \g_@@_interview_rubric_bool -\bool_new:N \g_@@_tellme_rubric_bool -\bool_new:N \g_@@_rearviewmirror_rubric_bool -\bool_new:N \g_@@_books_rubric_bool -\bool_new:N \g_@@_mainmatter_bool -\bool_new:N \g_@@_backmatter_bool -\bool_new:N \g_@@_backcover_bool -\bool_new:N \g_@@_frontcover_without_minitoc_bool -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\g_@@_previous_article_with_bibliography_or_minibio_bool} -% The following boolean will be used to test, for a given (not first) article -% of a rubric, whether the previous article ends with a bibliography or -% a minibio, in order to adjust the vertical space before its \enquote{bullet -% and rule}. -% \begin{macrocode} -\bool_new:N \g_@@_previous_article_with_bibliography_or_minibio_bool -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\g_@@_advertisement_bool} -% The following boolean will be used to test wheter we are inside -% an advertisement page. -% \begin{macrocode} -\bool_new:N \g_@@_advertisement_bool -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\g_@@_multicols_bool} -% The following boolean will be used to test wheter we are inside -% a \pkg{multicol}'s "multicols" environment. -% \begin{macrocode} -\bool_new:N \g_@@_multicols_bool -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\g_@@_refsection_bool} -% The following boolean will be used to test wheter we are inside -% a \pkg{biblatex}'s "refsection" environment. -% \begin{macrocode} -\bool_new:N \g_@@_refsection_bool -% \end{macrocode} -% \end{macro} -% -% \subsection{Dimensions} -% -% \subsubsection{Geometry of the page} -% -% \begin{macro}{\c_@@_rubrics_abstract_width_dim} -% \begin{macro}{\c_@@_rubrics_head_text_abstract_width_dim} -% \begin{macro}{\c_@@_rubrics_head_text_no_abstract_width_dim} -% \begin{macro}{\l_@@_rubrics_head_text_width_dim} -% We declare the constant (default) dimensions of the boxes containing the -% abstract and head text rubrics. -% \begin{macrocode} -\dim_const:Nn \c_@@_rubrics_abstract_width_dim { 85mm} -\dim_const:Nn \c_@@_rubrics_head_text_abstract_width_dim { 50mm} -\dim_const:Nn \c_@@_rubrics_head_text_no_abstract_width_dim -{ \c_@@_rubrics_abstract_width_dim + \c_@@_rubrics_head_text_abstract_width_dim} -\dim_new:N \l_@@_rubrics_head_text_width_dim -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\c_@@_offset_dim} -% \begin{macro}{\c_@@_paperheight_dim} -% \begin{macro}{\c_@@_paperwidth_dim} -% \begin{macro}{\c_@@_topmargin_dim} -% \begin{macro}{\c_@@_headsep_dim} -% \begin{macro}{\c_@@_botmargin_dim} -% \begin{macro}{\c_@@_innermargin_dim} -% \begin{macro}{\c_@@_outermargin_dim} -% \begin{macro}{\c_@@_footskip_dim} -% \begin{macro}{\c_@@_header_line_width_dim} -% \begin{macro}{\c_@@_header_line_yshift_dim} -% We first declare the default page layout constant dimensions. -% \begin{macrocode} -\dim_const:Nn \c_@@_layoutheight_dim { 270mm} -\dim_const:Nn \c_@@_layoutwidth_dim { 210mm} -% \end{macrocode} -% -% We define a \enquote{printer} layout offset dimension -% "\c_@@_printer_layoutoffset_dim", fixed by the printer to be \SI{5}{\mm}. -% \begin{macrocode} -\dim_const:Nn \c_@@_printer_layoutoffset_dim { 5mm} -% \end{macrocode} -% -% We define a \enquote{potential} layout offset dimension which is non-zero (and -% the equal to \enquote{printer} layout offset dimension) iff the output is -% prepared for the printer ("\g_@@_for_printer_bool" flag equals true). -% \begin{macrocode} -\bool_if:NTF {\g_@@_for_printer_bool} { - \dim_const:Nn \c_@@_potential_layoutoffset_dim { \c_@@_printer_layoutoffset_dim} -}{ - \dim_const:Nn \c_@@_potential_layoutoffset_dim {\c_zero_dim} -} -% \end{macrocode} -% -% We define a \enquote{printer} binding dimension -% "\c_@@_printer_bindingoffset_dim", fixed by the printer to have different -% values depending on some total pages thresholds. If the binding dimension is -% denoted by $b$ (and expressed in millimeters) and the total page number of the -% document\footnote{Except cover pages, that is the \enquote{real} total page -% number minus $4$.} is denoted by $N$, the thresholds are as follows: -% \begin{equation}\label{binding} -% b= -% \begin{cases} -% 0 & \text{ si } N < 68 \\ -% 3 & \text{ si } 68\leq N<80 \\ -% 3.5 & \text{ si } 80\leq N<88 \\ -% 3.9 & \text{ si } 88\leq N<96 \\ -% 4.1 & \text{ si } 96\leq N<104 \\ -% 4.5 & \text{ si } 104\leq N<120 \\ -% 5 & \text{ si } N\geq 120 -% \end{cases} -% \end{equation} -% -% We define the thresholds: -% \begin{macrocode} -\int_const:Nn \c_@@_thresold_a_int {68} -\int_const:Nn \c_@@_thresold_b_int {80} -\int_const:Nn \c_@@_thresold_c_int {88} -\int_const:Nn \c_@@_thresold_d_int {96} -\int_const:Nn \c_@@_thresold_e_int {104} -\int_const:Nn \c_@@_thresold_f_int {120} -% \end{macrocode} -% and the corresponding binding dimensions: -% \begin{macrocode} -\dim_const:Nn \c_@@_bindingoffset_a_dim {3mm} -\dim_const:Nn \c_@@_bindingoffset_b_dim {3.5mm} -\dim_const:Nn \c_@@_bindingoffset_c_dim {3.9mm} -\dim_const:Nn \c_@@_bindingoffset_d_dim {4.1mm} -\dim_const:Nn \c_@@_bindingoffset_e_dim {4.5mm} -\dim_const:Nn \c_@@_bindingoffset_f_dim {5mm} -% \end{macrocode} -% -% In order to know the total pages number of the document (store in -% "\g_@@_total_page_number_int"), we need first to specify the -% \enquote{external} document whom \File{.aux} will be read. -% \begin{macrocode} -\int_new:N \g_@@_total_pages_number_int% -\int_new:N \g_@@_total_inside_pages_number_int% -\zexternaldocument[self]{\jobname}% -% \end{macrocode} -% -% We extract the total pages number thanks to "\zref@extractdefault" from -% \Package{zref-totpages}. -% \begin{macrocode} -\int_gset:Nn \g_@@_total_pages_number_int { \zref@extractdefault{selfLastPage}{abspage}{0} } -\int_gset:Nn \g_@@_total_inside_pages_number_int { \g_@@_total_pages_number_int - 4 } -% \end{macrocode} -% -% The \enquote{printer} binding dimension is now store in -% "\c_@@_printer_bindingoffset_dim" following \vref{binding}. -% -% \begin{macrocode} -\int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_a_int} -{ - \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_zero_dim } -}{ - \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_b_int} - { - \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_a_dim } - }{ - \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_c_int} - { - \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_b_dim } - }{ - \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_d_int} - { - \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_c_dim } - }{ - \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_e_int} - { - \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_d_dim } - }{ - \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_f_int} - { - \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_e_dim } - }{ - \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_f_dim } - } - } - } - } - } -} -% \end{macrocode} -% -% The binding offset is applied iff the front cover is required ("frontcover" -% option), which implies the output is prepared for the printer, with non-zero -% offset ("\g_@@_for_printer_bool" flag equals true). -% \begin{macrocode} -\bool_if:NTF {\g_@@_cover_bool} { - \dim_const:Nn \c_@@_potential_bindingoffset_dim { \c_@@_printer_bindingoffset_dim } -}{ - \dim_const:Nn \c_@@_potential_bindingoffset_dim {\c_zero_dim} -} -% \end{macrocode} -% -% The paper height is rather simple: it is always the layout height dimension -% plus 2 times (top and bottom) the layout offset dimension (which turns to be -% non-zero iff the output is prepared for the printer). -% \begin{macrocode} -\dim_const:Nn \c_@@_paperheight_dim { \c_@@_layoutheight_dim+2\c_@@_potential_layoutoffset_dim} -% \end{macrocode} -% -% The paper width is more complicated: it is the layout width dimension plus: -% \begin{itemize} -% \item the \enquote{potential} binding offset (which turns to be non-zero iff -% only the cover page is output), -% \item the layout offset dimension (which turns to be non-zero iff the output -% is prepared for the printer): -% \begin{description} -% \item[if for the cover pages] just 1 time, -% \item[if for the other pages] 2 times. -% \end{description} -% \end{itemize} -% \begin{macrocode} -\bool_if:NTF {\g_@@_cover_bool} { - \dim_const:Nn \c_@@_paperwidth_dim { - \c_@@_layoutwidth_dim - + - \c_@@_potential_layoutoffset_dim - +\c_@@_potential_bindingoffset_dim - } -}{ - \dim_const:Nn \c_@@_paperwidth_dim { - \c_@@_layoutwidth_dim - + - 2 - \c_@@_potential_layoutoffset_dim - +\c_@@_potential_bindingoffset_dim - } -} -% \end{macrocode} -% -% The image width is the layout width plus the (non-zero) printer layout offset -% dimension: -% \begin{macrocode} -\dim_const:Nn \c_@@_frontcover_image_width_dim { - \c_@@_layoutwidth_dim - + - \c_@@_printer_layoutoffset_dim -} -\dim_const:Nn \c_@@_topmargin_dim { 31mm} -\dim_const:Nn \c_@@_topmargin_frontcover_dim { - \c_@@_topmargin_dim - + 30mm -} -\dim_const:Nn \c_@@_topmargin_inside_cover_dim { - \c_@@_topmargin_dim - +10mm -} -\dim_const:Nn \c_@@_topmargin_front_matter_dim { - \c_@@_topmargin_inside_cover_dim -} -% \dim_const:Nn \c_@@_topmargin_backcover_dim { -% \c_@@_topmargin_frontcover_dim -% } -\dim_const:Nn \c_@@_headsep_dim { 24mm} -\dim_const:Nn \c_@@_headsep_frontcover_dim { - \c_@@_headsep_dim - +31mm - % -\c_@@_potential_layoutoffset_dim -} -\dim_const:Nn \c_@@_headsep_inside_frontcover_dim { - \c_@@_headsep_dim - +7mm -} -\dim_const:Nn \c_@@_headsep_front_matter_dim { - \c_@@_headsep_inside_frontcover_dim -} -\dim_const:Nn \c_@@_headheight_dim { \c_zero_dim } -\dim_const:Nn \c_@@_botmargin_dim { 30mm} -\dim_const:Nn \c_@@_footskip_dim { 26mm} -% \end{macrocode} -% -% Inner margins of the initial issue (\#~143) were too small. We make them -% definitively bigger as of \SI{5}{\milli\meter} ("\c_@@_extra_margin_dim") and -% make the outer margins smaller of the same dimension. -% \begin{macrocode} -\dim_const:Nn \c_@@_extra_margin_dim { 5mm } -\dim_const:Nn \c_@@_innermargin_dim { 15mm - \c_@@_potential_bindingoffset_dim + \c_@@_extra_margin_dim} -\dim_const:Nn \c_@@_outermargin_dim { 30mm - \c_@@_extra_margin_dim } -\dim_const:Nn \c_@@_inside_cover_box_width_dim { 165mm }% -\dim_const:Nn \c_@@_innermargin_inside_cover_dim { - (\c_@@_layoutwidth_dim - \c_@@_inside_cover_box_width_dim)/2 - - \c_@@_potential_bindingoffset_dim - % + \c_@@_adjustmargin_dim -} -\dim_const:Nn \c_@@_outermargin_inside_cover_dim { - (\c_@@_layoutwidth_dim - \c_@@_inside_cover_box_width_dim)/2 - % - \c_@@_adjustmargin_dim -} -\dim_const:Nn \c_@@_innermargin_backcover_dim { 10mm } -\dim_const:Nn \c_@@_outermargin_backcover_dim { \c_@@_innermargin_backcover_dim } -\dim_const:Nn \c_@@_topmargin_backcover_dim { \c_@@_innermargin_backcover_dim } -\dim_const:Nn \c_@@_bottommargin_backcover_dim { \c_@@_innermargin_backcover_dim } -\dim_const:Nn \c_@@_frontcover_image_height_dim { 160mm} -\dim_const:Nn \c_@@_radius_arc_dim { 85mm }% -\dim_const:Nn \c_@@_frontmatter_headtext_xshift_dim { 19mm }% -\dim_const:Nn \c_@@_frontmatter_headtext_o_xshift_dim { - -\c_@@_frontmatter_headtext_xshift_dim -\c_@@_potential_layoutoffset_dim% -}% -\dim_const:Nn \c_@@_frontmatter_headtext_e_xshift_dim { - \c_@@_frontmatter_headtext_xshift_dim +\c_@@_potential_layoutoffset_dim% -}% -\dim_const:Nn \c_@@_frontmatter_headtext_yshift_dim { -6.5mm-\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_header_line_width_dim { 0.25mm} -\dim_const:Nn \c_@@_header_line_yshift_dim { -1mm-\c_@@_header_line_width_dim}% -\dim_const:Nn \c_@@_footer_background_height_dim { 10mm + \c_@@_potential_layoutoffset_dim } -\dim_const:Nn \c_@@_front_matter_extra_innermargin_dim { 28mm } -\dim_const:Nn \c_@@_front_matter_extra_outermargin_dim { 7mm } -\dim_const:Nn \c_@@_inside_cover_offset_dim { \c_zero_dim }% -% \dim_const:Nn \c_@@_inside_cover_offset_dim { 7.5mm }% -\dim_const:Nn \c_@@_pictogram_width_dim { 23mm }% -\dim_const:Nn \c_@@_header_xshift_dim { \c_@@_pictogram_width_dim-6mm }% -\dim_const:Nn \c_@@_header_yshift_dim { 5mm }% -\dim_const:Nn \c_@@_xshift_arccircle_A_dim { \c_@@_rubrics_abstract_width_dim+\c_@@_innermargin_dim+10mm+\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_yshift_arccircle_A_dim { -22mm-\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_xshift_arccircle_B_dim {% - (\c_@@_rubrics_abstract_width_dim+\c_@@_innermargin_dim)/2% - % \c_@@_innermargin_dim+(\c_@@_rubrics_abstract_width_dim/2)% - % \c_@@_xshift_arccircle_A_dim/2 -}% -\dim_const:Nn \c_@@_yshift_arccircle_B_dim { -\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_xshift_arccircle_C_dim { \c_@@_potential_layoutoffset_dim-5mm }% -\dim_const:Nn \c_@@_yshift_arccircle_C_dim { -19.75mm-\c_@@_potential_layoutoffset_dim }% -\dim_const:Nn \c_@@_book_review_frontcover_extend_dim { 12mm }% -\dim_const:Nn \c_@@_tcb_left_dim { 4mm }% -\dim_const:Nn \c_@@_tcb_boxsep_dim { 1mm }% -\dim_const:Nn \c_@@_tikz_dot_diameter_dim { 0.33mm }% -\dim_const:Nn \c_@@_tikz_dot_spacing_dim { 1.05mm }% -\dim_const:Nn \c_@@_rubric_extra_xoffset_dim { -\c_@@_innermargin_dim/2 }% -\dim_const:Nn \c_@@_rubric_xoffset_dim { 14.5mm }% -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\c_@@_boxed_issue_number_width_dim} -% \begin{macro}{\c_@@_boxed_issue_number_height_dim} -% We declare the constant dimensions of the box containing the issue number. -% \begin{macrocode} -\dim_const:Nn \c_@@_boxed_issue_number_width_dim { 30mm} -\dim_const:Nn \c_@@_boxed_issue_number_height_dim { 8mm} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\l_thumbnail_width_dim} -% We declare the width of the possible thumbnail glued to the box containing -% the issue number. -% \begin{macrocode} -\dim_new:N \l_@@_thumbnail_width_dim -\dim_set:Nn \l_@@_thumbnail_width_dim {30mm} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\g_@@_abstract_box_width_dim} -% \begin{macrocode} -\dim_new:N \g_@@_abstract_box_width_dim -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\c_@@_original_parindent_dim} -% \begin{macrocode} -\dim_new:N \c_@@_original_parindent_dim -\dim_gset_eq:NN \c_@@_original_parindent_dim \parindent -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\l_@@_between_rubric_head_text_and_abstract_dim} -% \begin{macrocode} -\dim_new:N \l_@@_between_rubric_head_text_and_abstract_dim -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\g_@@_minitoc_circle_diameter_dim} -% \begin{macro}{\g_@@_minitoc_textwidth_dim} -% \begin{macro}{\g_@@_minitoc_xshift_dim} -% \begin{macro}{\g_@@_minitoc_yshift_dim} -% \begin{macro}{\c_@@_minitoc_from_circle_xshift_dim} -% \begin{macro}{\c_@@_minitoc_from_circle_yshift_dim} -% \begin{macrocode} -\dim_new:N \g_@@_minitoc_circle_diameter_dim -\dim_new:N \g_@@_minitoc_textwidth_dim -\dim_new:N \g_@@_minitoc_xshift_dim -\dim_new:N \g_@@_minitoc_yshift_dim -\dim_gset:Nn \g_@@_minitoc_circle_diameter_dim {142mm} -\dim_gset:Nn \g_@@_minitoc_textwidth_dim {65mm} -\dim_gset:Nn \g_@@_minitoc_xshift_dim {-22mm} -\dim_gset:Nn \g_@@_minitoc_yshift_dim {30mm} -\dim_const:Nn \c_@@_minitoc_from_circle_xshift_dim {-15mm} -\dim_const:Nn \c_@@_minitoc_from_circle_yshift_dim {-\c_@@_minitoc_from_circle_xshift_dim} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\c_@@_footer_height_font_dim} -% We declare the height of the font displayed in the footer. -% \begin{macrocode} -\dim_const:Nn \c_@@_footer_height_font_dim {3mm} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\c_@@_minitoc_list_labelsep_dim} -% \begin{macrocode} -\dim_const:Nn \c_@@_minitoc_list_labelsep_dim {1em} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\c_@@_authors_photos_width_dim} -% \begin{macrocode} -\dim_const:Nn \c_@@_authors_photos_width_dim {16mm} -\dim_const:Nn \c_@@_authors_photos_box_width_dim {\c_@@_authors_photos_width_dim - + 2mm} -\dim_new:N \l_@@_minibio_width_dim -% \end{macrocode} -% \end{macro} -% -% We set the default geometry of the page. -% \begin{macrocode} -\geometry{% - papersize={\c_@@_paperwidth_dim,\c_@@_paperheight_dim} -} -% \end{macrocode} -% -% We create a constant token list that contains the geometry of the front cover. -% \begin{macrocode} -\bool_if:NTF {\g_@@_cover_bool} { - \tl_const:Nn \c_@@_frontcover_geometry_tl {% - ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutvoffset=\c_@@_potential_layoutoffset_dim - ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_frontcover_dim - ,headsep=\c_@@_headsep_frontcover_dim - ,headheight=\c_@@_headheight_dim - % ,bottom=\c_zero_dim - ,bottom=11mm - ,footskip=\c_zero_dim - ,outer=\c_zero_dim - ,inner=\c_@@_potential_layoutoffset_dim - ,nomarginpar% - }% -}{ - \tl_const:Nn \c_@@_frontcover_geometry_tl {% - ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_potential_layoutoffset_dim - ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_frontcover_dim - ,headsep=\c_@@_headsep_frontcover_dim - ,headheight=\c_@@_headheight_dim - % ,bottom=\c_zero_dim - ,bottom=11mm - ,footskip=\c_zero_dim - ,hmargin=\c_@@_potential_layoutoffset_dim - ,nomarginpar% - }% -} -% \end{macrocode} -% -% We create a constant token list that contains the geometry of the inside front -% and back covers. -% \begin{macrocode} -\bool_if:NTF {\g_@@_cover_bool} { - \tl_const:Nn \c_@@_inside_cover_geometry_tl {% - ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutvoffset=\c_@@_potential_layoutoffset_dim - ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_inside_cover_dim - ,headheight=\c_@@_headheight_dim - ,headsep=\c_@@_headsep_inside_frontcover_dim - ,bottom=\c_@@_botmargin_dim - ,footskip=\c_@@_footskip_dim - ,inner=\c_@@_innermargin_inside_cover_dim-\c_@@_potential_layoutoffset_dim - ,outer=\c_@@_outermargin_inside_cover_dim+\c_@@_potential_layoutoffset_dim - ,nomarginpar% - }% -}{ - \tl_const:Nn \c_@@_inside_cover_geometry_tl {% - ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_potential_layoutoffset_dim - ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_inside_cover_dim - ,headheight=\c_@@_headheight_dim - ,headsep=\c_@@_headsep_inside_frontcover_dim - ,bottom=\c_@@_botmargin_dim - ,footskip=\c_@@_footskip_dim - ,inner=\c_@@_innermargin_inside_cover_dim - ,outer=\c_@@_outermargin_inside_cover_dim - ,nomarginpar% - }% -} -% \end{macrocode} -% -% We create a constant token list that contains the geometry of the front matter. -% \begin{macrocode} -\tl_const:Nn \c_@@_front_matter_geometry_tl {% - ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_potential_layoutoffset_dim - % ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_front_matter_dim% - ,headheight=\c_@@_headheight_dim - ,headsep=\c_@@_headsep_front_matter_dim - ,bottom=\c_@@_botmargin_dim - ,footskip=\c_@@_footskip_dim% - ,inner=\c_@@_innermargin_dim+\c_@@_front_matter_extra_innermargin_dim% - ,outer=\c_@@_outermargin_dim+\c_@@_front_matter_extra_outermargin_dim% - ,nomarginpar% -}% -% \end{macrocode} -% -% We create a constant token list that contains the geometry of the main pages. -% \begin{macrocode} -\tl_const:Nn \c_@@_main_geometry_tl {% - ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_potential_layoutoffset_dim - % ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_dim-15mm% - ,headheight=\c_@@_headheight_dim - ,headsep=\c_@@_headsep_dim-18mm - ,bottom=\c_@@_botmargin_dim - ,footskip=\c_@@_footskip_dim - ,inner=\c_@@_innermargin_dim - ,outer=\c_@@_outermargin_dim -}% -% \end{macrocode} -% -% We create a constant token list that contains the geometry of the back cover. -% \begin{macrocode} -\tl_const:Nn \c_@@_backcover_geometry_tl {% - ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_potential_layoutoffset_dim - % ,bindingoffset=\c_@@_potential_bindingoffset_dim - ,top=\c_@@_topmargin_backcover_dim% - % ,top=\c_@@_topmargin_dim-15mm% - % ,headheight=\c_@@_headheight_dim - % ,headsep=\c_@@_headsep_dim-18mm - ,bottom=\c_@@_bottommargin_backcover_dim - % ,footskip=\c_@@_footskip_dim - ,inner=\c_@@_innermargin_backcover_dim - ,outer=\c_@@_outermargin_backcover_dim - ,nomarginpar - ,hcentering - ,twoside=false -} -% \end{macrocode} -% -% \subsection{Skips} -% -% \begin{macrocode} -\skip_const:Nn \c_@@_editorial_presidentmessage_parskip_skip { 12pt plus 2pt minus .8pt }% -\skip_const:Nn \c_@@_mainmatter_parskip_skip { 2pt plus .5pt minus .2pt }% -% \end{macrocode} -% -% \section{Options} -% -% In this section, options used by some of the document commands defined by the -% class are treated. -% -% \subsection{Issues options} -% -% \begin{macro}{\g_@@_issue_number_int} -% \begin{macro}{\g_@@_issue_month_int} -% \begin{macro}{\g_@@_issue_year_int} -% Some variables which are involved in options are created. -% \begin{macrocode} -\int_new:N \g_@@_issue_number_int -\int_new:N \g_@@_issue_month_int -\int_new:N \g_@@_issue_year_int -\tl_new:N \g_@@_frontcover_image_options_tl -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{number} -% \begin{macro}{month} -% \begin{macro}{year} -% The keys options are created. -% \begin{macrocode} -\keys_define:nn { gzt/issuesetup } -{ - number .int_gset:N = \g_@@_issue_number_int, - month .int_gset:N = \g_@@_issue_month_int, - year .int_gset:N = \g_@@_issue_year_int, -% \end{macrocode} -% -% All these options, when used, must receive a value. -% \begin{macrocode} - number .value_required:n = true, - month .value_required:n = true, - year .value_required:n = true, -% \end{macrocode} -% -% If "number" option is not used, its initial value is set to $0$. -% number. -% \begin{macrocode} - number .initial:n = 0, -% \end{macrocode} -% -% The options of the front cover image could be set within "\issuesetup"'s -% argument. -% \begin{macrocode} - frontcoverimageoptions .tl_gset:N = \g_@@_frontcover_image_options_tl -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Journal options} -% -% \begin{macro}{\l_@@_journal_publisher_tl} -% \begin{macro}{\l_@@_journal_address_tl} -% \begin{macro}{\l_@@_journal_phone_tl} -% \begin{macro}{\l_@@_journal_fax_tl} -% \begin{macro}{\l_@@_journal_email_tl} -% \begin{macro}{\l_@@_journal_url_tl} -% \begin{macro}{\l_@@_journal_issn_tl} -% \begin{macro}{\l_@@_journal_isbn_tl} -% Some variables which are involved in options are created. -% \begin{macrocode} -\tl_new:N \l_@@_journal_publisher_tl -\tl_new:N \l_@@_journal_address_tl -\tl_new:N \l_@@_journal_phone_tl -\tl_new:N \l_@@_journal_fax_tl -\tl_new:N \l_@@_journal_email_tl -\tl_new:N \l_@@_journal_url_tl -\tl_new:N \l_@@_journal_issn_tl -\tl_new:N \l_@@_journal_isbn_tl -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{publisher} -% \begin{macro}{address} -% \begin{macro}{phone} -% \begin{macro}{fax} -% \begin{macro}{email} -% \begin{macro}{url} -% \begin{macro}{issn} -% \begin{macro}{isbn} -% The keys options are created. -% \begin{macrocode} -\keys_define:nn { gzt/journalsetup } -{ - publisher .tl_set:N = \l_@@_journal_publisher_tl, - address .tl_set:N = \l_@@_journal_address_tl, - phone .tl_set:N = \l_@@_journal_phone_tl, - fax .tl_set:N = \l_@@_journal_fax_tl, - email .tl_set:N = \l_@@_journal_email_tl, - url .tl_set:N = \l_@@_journal_url_tl, - issn .tl_set:N = \l_@@_journal_issn_tl, - isbn .tl_set:N = \l_@@_journal_isbn_tl, -% \end{macrocode} -% -% All these options, when used, must receive a value. -% \begin{macrocode} - publisher .value_required:n = true, - address .value_required:n = true, - phone .value_required:n = true, - fax .value_required:n = true, - email .value_required:n = true, - url .value_required:n = true, - issn .value_required:n = true, - isbn .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Titles options} -% -% \begin{macro}{shorttitle} -% \begin{macro}{minishorttitle} -% \begin{macro}{notintoc} -% Some keys options for article's title are created: -% \begin{itemize} -% \item "shorttitle" for the possible alternative title to appear in the table -% of contents and in the headers, -% \item "minishorttitle" for the possible alternative title to appear in the -% mini table of contents of the front cover, -% \item "notintoc", a flag that, if true, prevents the title to appear in the -% table of contents. -% \end{itemize} -% -% \begin{macrocode} -\keys_define:nn { gzt/title } -{ - short .tl_gset:N = \g_@@_short_title_tl, - minishort .tl_gset:N = \g_@@_mini_short_title_tl, - notintoc .bool_gset:N = \g_@@_title_not_in_toc_bool, -% \end{macrocode} -% -% The following options, when used, must receive a value. -% \begin{macrocode} - short .value_required:n = true, - minishort .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Subtitles options} -% -% \begin{macro}{shortsubtitle} -% \begin{macro}{minishortsubtitle} -% \begin{macro}{notintoc} -% Some keys options for article's title are created: -% \begin{itemize} -% \item "shorttitle" for the possible alternative title to appear in the table -% of contents and in the headers, -% \item "minishorttitle" for the possible alternative title to appear in the -% mini table of contents of the front cover, -% \item "notintoc", a flag that, if true, prevents the title to appear in the -% table of contents. -% \end{itemize} -% -% \begin{macrocode} -\keys_define:nn { gzt/subtitle } -{ - short .tl_gset:N = \g_@@_short_subtitle_tl, - minishort .tl_gset:N = \g_@@_mini_short_subtitle_tl, - notintoc .bool_gset:N = \g_@@_subtitle_not_in_toc_bool, -% \end{macrocode} -% -% The following options, when used, must receive a value. -% \begin{macrocode} - short .value_required:n = true, - minishort .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Rubrics options} -% -% \begin{macrocode} -\keys_define:nn { gzt/rubric } -{ - abstract .tl_gset:N = \g_@@_rubric_abstract_tl, - title .tl_gset:N = \g_@@_rubric_title_tl, - pictogram .tl_gset:N = \g_@@_rubric_pictofile_tl, -% \end{macrocode} -% -% The following options, when used, must receive a value. -% \begin{macrocode} - abstract .value_required:n = true, - title .value_required:n = true, - pictogram .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Minitoc options} -% -% \begin{macro}{list} -% A "list" (boolean) key option for "minitoc" environment is created: if true, -% "minitoc" should contains "\item" just as a list and the resulting list will be -% typeset in a special way. -% -% \begin{macrocode} -\keys_define:nn { gzt/minitoc } -{ - list .bool_gset:N = \g_@@_minitoc_list_bool, - help .bool_gset:N = \g_@@_minitoc_help_bool, - diameter .dim_gset:N = \g_@@_minitoc_circle_diameter_dim, - textwidth .dim_gset:N = \g_@@_minitoc_textwidth_dim, - xshift .dim_gset:N = \g_@@_minitoc_xshift_dim, - yshift .dim_gset:N = \g_@@_minitoc_yshift_dim, -% \end{macrocode} -% -% The following options, when used, must receive a value. -% \begin{macrocode} - diameter .value_required:n = true, - textwidth .value_required:n = true, - xshift .value_required:n = true, - yshift .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Authors options} -% -% \begin{macro}{affiliation} -% \begin{macro}{email} -% \begin{macro}{minibio} -% \begin{macro}{photo} -% \begin{macro}{webpage} -% The keys options are created. -% \begin{macrocode} -\keys_define:nn { gzt/authors } -{ - affiliation .tl_gset:N = \g_@@_people_affiliation_tl, - email .tl_gset:N = \g_@@_people_email_tl, - minibio .tl_gset:N = \g_@@_people_minibio_tl, - photo .tl_gset:N = \g_@@_people_photo_tl, - webpage .tl_gset:N = \g_@@_people_webpage_tl, -% \end{macrocode} -% -% All these options, when used, must receive a value. -% \begin{macrocode} - affiliation .value_required:n = true, - email .value_required:n = true, - minibio .value_required:n = true, - photo .value_required:n = true, - webpage .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Interviewee options} -% -% \begin{macro}{\g_@@_interviewee_minibio_tl} -% \begin{macro}{\g_@@_interviewee_photo_tl} -% \begin{macro}{\g_@@_interviewee_first_last_name_tl} -% Some variables which are involved in options are created. -% \begin{macrocode} -\tl_new:N \g_@@_interviewee_minibio_tl -\tl_new:N \g_@@_interviewee_photo_tl -\tl_new:N \g_@@_interviewee_first_last_name_tl -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{minibio} -% \begin{macro}{photo} -% The keys options are created. -% \begin{macrocode} -\keys_define:nn { gzt/interviewees } -{ - minibio .tl_gset:N = \g_@@_interviewee_minibio_tl, - photo .tl_gset:N = \g_@@_interviewee_photo_tl, -% \end{macrocode} -% -% All these options, when used, must receive a value. -% \begin{macrocode} - minibio .value_required:n = true, - photo .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \subsection{Book review options} -% -% \begin{macro}{\g_@@_bookreview_frontcover_tl} -% \begin{macro}{\g_@@_bookreview_bibkey_tl} -% Some variables which are involved in books reviews are created. -% \begin{macrocode} -\tl_new:N \g_@@_bookreview_frontcover_tl -\tl_new:N \g_@@_bookreview_bibkey_tl -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{frontcover} -% \begin{macro}{bibkey} -% The keys options are created. -% \begin{macrocode} -\keys_define:nn { gzt/bookreview } -{ - frontcover .tl_gset:N = \g_@@_bookreview_frontcover_tl, - bibkey .tl_gset:N = \g_@@_bookreview_bibkey_tl, -% \end{macrocode} -% -% All these options, when used, must receive a value. -% \begin{macrocode} - frontcover .value_required:n = true, - bibkey .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \subsection{Book advertisement options} -% -% \begin{macro}{\g_@@_bookadvertisement_frontcover_tl} -% \begin{macro}{\g_@@_bookadvertisement_bibkey_tl} -% Some variables which are involved in books advertisements are created. -% \begin{macrocode} -\tl_new:N \g_@@_bookadvertisement_frontcover_tl -\tl_new:N \g_@@_bookadvertisement_bibkey_tl -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{frontcover} -% \begin{macro}{bibkey} -% The keys options are created. -% \begin{macrocode} -\keys_define:nn { gzt/bookadvertisement } -{ - frontcover .tl_gset:N = \g_@@_bookadvertisement_frontcover_tl, - bibkey .tl_gset:N = \g_@@_bookadvertisement_bibkey_tl, -% \end{macrocode} -% -% All these options, when used, must receive a value. -% \begin{macrocode} - frontcover .value_required:n = true, - bibkey .value_required:n = true, -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \subsection{New theorem options} -% -% \begin{macrocode} -\tl_new:N \l_@@_newtheorem_style_tl -\keys_define:nn { gzt/newtheorem } -{ - frenchtitle .tl_set:N = \l_@@_newtheorem_frenchtitle_tl, - englishtitle .tl_set:N = \l_@@_newtheorem_englishtitle_tl, - frenchtitle .value_required:n = true, - englishtitle .value_required:n = true, - % - style .choice:, - style / theorem .code:n = {\tl_set:Nn \l_@@_newtheorem_style_tl {theorem}}, - style / definition .code:n = {\tl_set:Nn \l_@@_newtheorem_style_tl {definition}}, - style / proof .code:n = {\tl_set:Nn \l_@@_newtheorem_style_tl {proof}}, - style / unknown .code:n = - \msg_error:nnxxx { gzt } { unknown-choice } - { style } % Name of choice key - { theorem~or~definition~or~proof } % Valid choices - { \exp_not:n {#1} } % Invalid choice given -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \section{Colors} -% -% In this section, we define the colors that will be used by the class and by -% the source file of the logo. -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article|class-logo> -% \end{macrocode} -% -% \begin{macrocode} -\definecolorset{cmyk}{@@_}{_color}{ - generic_dark,1,.60,.10,0; % kind of blue (!) - light_generic_dark,1,.35,0,0 % kind of blue (!), light -} -\colorlet{@@_generic_light_color}{black!50} -\colorlet{@@_dark_generic_light_color}{black!60} -\colorlet{@@_description_label_light_color}{@@_dark_generic_light_color} -\colorlet{@@_minitoc_color}{@@_generic_light_color} -\colorlet{@@_cover_itemize_label_color}{@@_light_generic_dark_color} -\colorlet{@@_default_text_color}{black} -\colorlet{@@_head_text_color}{black!65} -\colorlet{@@_rubric_head_text_color}{@@_head_text_color} -\colorlet{@@_bibliography_minibios_acknowledgements_bg_color}{black!10} -\colorlet{@@_headrule_color}{@@_generic_light_color!65} -\colorlet{@@_circlerule_color}{@@_generic_dark_color!65} -\colorlet{@@_frontmatter_text_color}{black!75} -\colorlet{@@_people_color}{@@_generic_dark_color} -\colorlet{@@_arrayrule_color}{@@_generic_dark_color} -\colorlet{@@_acknowledgements_color}{@@_generic_dark_color} -\colorlet{@@_question_color}{@@_generic_dark_color} -\colorlet{@@_boxed_issue_number_bg_color}{@@_generic_dark_color} -\colorlet{@@_rule_in_toc_color}{@@_generic_dark_color} -\colorlet{@@_rubric_in_toc_color}{@@_generic_dark_color} -\colorlet{@@_article_in_toc_color}{@@_frontmatter_text_color} -\colorlet{@@_rubric_title_color}{@@_generic_light_color} -\colorlet{@@_article_title_color}{@@_generic_dark_color} -\colorlet{@@_section_color}{@@_generic_dark_color} -\colorlet{@@_subsection_color}{@@_generic_dark_color!90} -\colorlet{@@_subsubsection_color}{@@_generic_dark_color!80} -\colorlet{@@_rubric_abstract_color}{@@_generic_dark_color} -\colorlet{@@_article_abstract_color}{@@_generic_light_color} -\colorlet{@@_dotfill_color}{@@_generic_dark_color} -\colorlet{@@_about_frontcover_title_color}{@@_generic_dark_color} -\colorlet{@@_reflected_text_color}{@@_generic_dark_color} -\colorlet{@@_inside_frontcover_frame_bg_color}{@@_generic_dark_color!8} -\colorlet{@@_inside_frontcover_frame_title_color}{@@_generic_dark_color} -\colorlet{@@_footer_bg_color}{black!10} -\colorlet{@@_float_title_color}{@@_generic_dark_color} -\colorlet{@@_float_title_bg_color}{@@_generic_dark_color!10} -\colorlet{@@_float_frame_color}{@@_generic_dark_color!20} -\colorlet{@@_chapter_color}{@@_generic_dark_color} -\colorlet{@@_smf_number_color}{@@_generic_dark_color} -\colorlet{@@_date_color}{@@_generic_light_color} -\colorlet{@@_table_head_color}{@@_generic_dark_color!25} -\colorlet{@@_book_review_frame_bg_color}{@@_generic_dark_color!8} -\colorlet{@@_book_advertisement_bg_color}{white} -\colorlet{@@_book_advertisement_frame_color}{@@_generic_dark_color} -\colorlet{@@_default_cover_color}{white} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article|class-logo> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \section{Miscellaneous patches} -% -% We patch the \pkg{biblatex}'s "refsection" environment definition by adding -% a flag that will be used to test wheter we are inside such an environment or -% not. -% \begin{macrocode} -\AddToHook{env/multicols/begin}{ - \bool_gset_true:N \g_@@_multicols_bool -} -\AddToHook{env/multicols/end}{ - \bool_gset_false:N \g_@@_multicols_bool -} -\AddToHook{env/refsection/begin}{ - \bool_gset_true:N \g_@@_refsection_bool -} -\AddToHook{env/refsection/end}{ - \bool_gset_false:N \g_@@_refsection_bool -} -% \end{macrocode} -% -% \section{Miscellaneous token lists} -% -% We define a token list that will display the font of footer at the right size. -% \begin{macrocode} -\tl_const:Nn \c_@@_footer_size_font_tl { - \fontsize{\c_@@_footer_height_font_dim}{\c_zero_dim}\selectfont% -} -% \end{macrocode} -% -% We define some token lists for the long and short forms of \textsc{smf}. -% \begin{macrocode} -\tl_new:N \g_@@_smf_short_string_tl -\tl_new:N \g_@@_smf_string_tl -\tl_gset:Nn \g_@@_smf_short_string_tl { - % \cs_if_exist:cTF {texorpdfstring} - % { - \texorpdfstring{\c_@@_smf_short_string_tl}{\c_@@_smf_short_pdf_string_tl} - % }{% - % \c_@@_smf_short_pdf_string_tl - % }% -} -\tl_gset:Nn \g_@@_smf_string_tl { - % \cs_if_exist:cTF {texorpdfstring} - % { - % \texorpdfstring{Soci\'et\'e~Math\'ematique~de~France}{\c_@@_smf_string_tl} - \c_@@_smf_string_tl - % }{% - % \acrlong*{smf} - % }% -} -% \end{macrocode} -% -% We define some token lists for the long and short forms of \gzt. -% \begin{macrocode} -\tl_new:N \l_@@_gzt_short_string_tl -\tl_new:N \l_@@_gzt_string_tl -\tl_set:Nn \l_@@_gzt_short_string_tl { - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\emph{\c_@@_journal_short_title_string_tl}}{\c_@@_journal_short_title_string_tl} - }{% - \emph{\c_@@_journal_short_title_string_tl} - }% -} -\tl_set:Nn \l_@@_gzt_string_tl { - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\emph{\c_@@_journal_title_string_tl}}{\c_@@_journal_title_string_tl} - }{% - \emph{\c_@@_journal_title_string_tl} - }% -} -% \end{macrocode} -% -% We fix some strings for the PDF's metadata. -% \begin{macrocode} -\tl_new:N \g_@@_pdftitle_string_tl -\tl_new:N \g_@@_pdfauthor_string_tl -\tl_gset:Nn \g_@@_pdftitle_string_tl { - \c_@@_pdftitle_string_tl -} -\tl_gset:Nn \g_@@_pdfauthor_string_tl { - \g_@@_smf_string_tl -} -\AddToHook{begindocument/before}{% - \hypersetup{% - pdftitle=\g_@@_pdftitle_string_tl, - pdfauthor=\g_@@_pdfauthor_string_tl% - } -} -% \end{macrocode} -% -% \begin{macrocode} -\cs_new_protected:Nn \_@@_email:n - { - \href{mailto:#1}{\nolinkurl{#1}}% - } -% \end{macrocode} -% -% We create a function that displays the author(s) of an article with -% a peticular layout. -% \begin{macrocode} -\cs_new_protected:Nn \@@_display_author:nnnnn -{ - \begin{tabular}[t]{p{\c_@@_authors_photos_box_width_dim}p{0.75\linewidth}} - \tl_if_empty:nF {#5} - {% - \begin{adjustbox}{valign=t} - \includegraphics[width=\c_@@_authors_photos_width_dim]{#5} - \end{adjustbox}% - } - & - \begin{description}[leftmargin=1em,style=nextline,nosep] - \item[\textcolor{@@_people_color}{\DeclareNameAlias{labelname}{default}\citeauthor{#1}}] - \tl_if_empty:nF {#2} - {% - #2% - \par% - \smallskip% - } - \tl_if_empty:nF {#3} - {% - \href{mailto:#3}{\nolinkurl{#3}}% - \par% - \smallskip% - } - \tl_if_empty:nF {#4} - {% - #4 - } - \end{description} - \end{tabular} -} -% \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 \@@_display_author:nnnnn { VVVVV } -% \end{macrocode} -% -% \section{Functions for specifiying the people involved in the journal} -% -% For this, and thanks to \Pkg{datatool}, we create a database of -% \enquote{people} involved in the journal. -% \begin{macrocode} -\DTLnewdb{people} -% \end{macrocode} -% -% Then we create the internal "\_@@_people" function that let us populate the -% "_@@_people" database. Each people will be identified by some identifiers: -% speciality (optional), firstname, lastname, affiliation, email, role. -% \begin{macrocode} -\tl_new:N \l_@@_crossref_tl -\cs_new_protected:Nn \_@@_people:nnnnnnnn -{ - \DTLnewrow{people}% - \DTLnewdbentry{people}{first-last-name}{#1}% - \DTLnewdbentry{people}{affiliation}{#2}% - \DTLnewdbentry{people}{email}{#3}% - \DTLnewdbentry{people}{minibio}{#4}% - \DTLnewdbentry{people}{photo}{#5}% - \DTLnewdbentry{people}{speciality}{#6}% - \DTLnewdbentry{people}{role}{#7}% - \DTLnewdbentry{people}{webpage}{#8}% -% \end{macrocode} -% -% \begin{macrocode} - \int_if_exist:cF {g_@@_#7_int} - { - \int_new:c {g_@@_#7_int} - } - \int_incr:c {g_@@_#7_int} - \tl_if_in:nnTF { #7 } { author } { - \tl_set:Nn \l_@@_crossref_tl {\c_@@_issue_bib_key_tl -art-\int_use:N \g_@@_articles_int} - } { - \tl_set:Nn \l_@@_crossref_tl {\c_@@_issue_bib_key_tl} - } - \tl_set:Nn \l_@@_people_first_last_name_tl {#1} - \iow_now:Nx \g_@@_bib_out_iow {% - @article{ - \c_@@_issue_bib_key_tl -#7- \int_use:c {g_@@_#7_int}, - \iow_newline: - author={\exp_not:V\l_@@_people_first_last_name_tl}, - \iow_newline: - options={skipbib}, - \iow_newline: - crossref = {\l_@@_crossref_tl} - \iow_newline: - } - \iow_newline: - }% -} -% \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 \_@@_people:nnnnnnnn { nVVVVnxV } -% \end{macrocode} -% -% \section{Functions for displaying \enquote{academic} signatures of articles -% without \enquote{real} author(s)} -% -% We create a function that displays an \enquote{academic} signature for articles -% without \enquote{real} author(s). -% \begin{macrocode} -\cs_new_protected:Nn \@@_display_academic_signature:n -{ - \bigskip - \begin{_@@_minibiographies_acknowledgements_tcbox} - #1 - \end{_@@_minibiographies_acknowledgements_tcbox} -} -% \end{macrocode} -% -% \section{Functions for displaying people involved in the journal by role} -% -% We create the function that displays firstname and lastname of people involved -% in the journal by role. -% \begin{macrocode} -\cs_new_protected:Nn \@@_display_people_by_role:n -{ - \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{#1}]{people}{% - \l_@@_firstlastname_tl=first-last-name% - ,\l_@@_people_affiliation_tl=affiliation% - ,\l_@@_people_email_tl=email% - ,\l_@@_people_minibio_tl=minibio% - ,\l_@@_people_photo_tl=photo% - ,\l_@@_people_speciality=speciality% - ,\l_@@_people_role_tl=role% - ,\l_@@_people_webpage_tl=webpage% - }{% - \tl_if_in:NnTF \l_@@_people_role_tl { editor } { - \item[ - \textcolor{@@_people_color}{% - \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex}% - } - \tl_if_in:NnF \l_@@_people_speciality { NoValue } { ~(\l_@@_people_speciality) } - ] - \leavevmode - \vbox_top:n {% - \l_@@_people_affiliation_tl% - \newline% - \href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}}% - } - \medskip% - }{ - \tl_if_in:NnTF \l_@@_people_role_tl { author } { - \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}% - }% - ] - \tl_if_empty:NF \l_@@_people_affiliation_tl - {% - \mbox{}% - \par% - \vspace{-2ex}% - \l_@@_people_affiliation_tl% - } - \tl_if_empty:NF \l_@@_people_email_tl - {% - \par% - \href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}}% - } - \tl_if_empty:NF \l_@@_people_webpage_tl - {% - \par% - \url{\l_@@_people_webpage_tl}% - } - \tl_if_empty:NF \l_@@_people_minibio_tl - {% - \par% - \smallskip% - \l_@@_people_minibio_tl - } - \end{description} - \end{adjustbox} - } - }{ - \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -#1- - \exp_not:V\DTLcurrentindex}% - \tl_if_empty:NF \l_@@_people_email_tl - { - \c_space_tl(\href{mailto:\l_@@_people_email_tl}{\nolinkurl{\l_@@_people_email_tl}}) - } - } - } - } -} -% \end{macrocode} -% -% \section{Function for displaying a reflected text} -% -% We create the function that displays a reflected text. -% \begin{macrocode} -\cs_new_protected:Nn \@@_reflected_text:n -{ - \begin{tikzpicture} - \tikzset{@@_reflect_node/.style={% - anchor=base,% - inner~sep=0,% - line~width=0,% - font=\Huge, - color=@@_reflected_text_color% - }% - }% - \node[@@_reflect_node]{#1}; - \node[scope~fading=south,opacity=0.2,yscale=-1,@@_reflect_node]{#1}; - \end{tikzpicture} -} -% \end{macrocode} -% -% \section{Displaying the front cover} -% -% We create the variable that displays the front cover. -% \begin{macrocode} -\tl_new:N \g_@@_display_frontcover_tl% -\tl_gset:Nn \g_@@_display_frontcover_tl {% - \bool_gset_true:N \g_@@_frontcover_bool - \pagenumbering{roman}% - \pagestyle{@@_frontcover_ps}% - \pagecolor{\g_@@_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_frontcover_geometry_tl}% - \noindent% - \bool_if:NTF {\g_@@_cover_bool} { - \hspace*{-\c_@@_potential_layoutoffset_dim} - }{ - \hspace*{-2\c_@@_potential_layoutoffset_dim} - } - \exp_after:wN\includegraphics\exp_after:wN[\g_@@_frontcover_image_options_tl]{\g_@@_frontcover_image_file_tl} - \begin{tikzpicture}[remember~picture, overlay] - \coordinate (@@_circle_minitoc_center) at - ([xshift=\g_@@_minitoc_xshift_dim-\c_@@_potential_layoutoffset_dim,yshift=\g_@@_minitoc_yshift_dim+\c_@@_potential_layoutoffset_dim]current~page.south~east) ; - \node[name=@@_circle_minitoc,shape=circle,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,text~width=\g_@@_minitoc_circle_diameter_dim] at - (@@_circle_minitoc_center) {}; - \node[text~width=\g_@@_minitoc_textwidth_dim,anchor=north~west] at - ([xshift=\c_@@_minitoc_from_circle_xshift_dim,yshift=\c_@@_minitoc_from_circle_yshift_dim]$ (@@_circle_minitoc.north)!.5!(@@_circle_minitoc.west) $) - { - \bool_if:NF {\g_@@_frontcover_without_minitoc_bool} { - \large - \color{@@_minitoc_color} - \g_@@_frontcover_minitoc_tl - } - }; - \bool_if:NT {\g_@@_minitoc_help_bool} { - \fill[red] (@@_circle_minitoc_center) circle (2pt); - } - \end{tikzpicture} - \bool_if:NT {\g_@@_cover_bool} { - \small - \begin{tikzpicture}[remember~picture, overlay] - \node[name=@@_binding_sw,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90,anchor=west] at - ([xshift=0.45\c_@@_potential_bindingoffset_dim,yshift=15mm+\c_@@_potential_layoutoffset_dim]current~page.south~west) { - \No - \bool_if:NTF {\g_@@_special_edition_bool} { - \c_@@_special_edition_string_tl - }{ - \int_use:N\g_@@_issue_number_int - } - }; - \node[name=@@_binding_w,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90] at - ([xshift=0.45\c_@@_potential_bindingoffset_dim]current~page.west) { - \bool_if:NTF {\g_@@_special_edition_bool} { - \tl_if_exist:NTF \g_@@_special_edition_short_title_tl {% - \g_@@_special_edition_short_title_tl - }{ - \g_@@_special_edition_title_tl - } - }{ - \text_uppercase:n {\c_@@_journal_title_string_tl} - } - }; - \node[name=@@_binding_nw,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90,anchor=east] at - ([xshift=0.45\c_@@_potential_bindingoffset_dim,yshift=-15mm-\c_@@_potential_layoutoffset_dim]current~page.north~west) { - \l_@@_uppercased_date_format\displaydate{@@_date} - }; - \end{tikzpicture} - } - \vfill% - \noindent% - \hspace*{10mm}% - \hspace*{-\c_@@_potential_layoutoffset_dim} - \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% - \bool_if:NT {\g_@@_special_edition_bool} { - \hfill - \includegraphics[scale=1.2]{gzt-logo} - \hspace*{10mm} - } - % \vfill% - \clearpage% - \bool_gset_false:N \g_@@_frontcover_bool - \nopagecolor -} -% \end{macrocode} -% -% \section{Displaying the inside front cover} -% -% We create the variable that displays the inside front cover. -% \begin{macrocode} -\tl_new:N \g_@@_display_inside_frontcover_tl% -\tl_gset:Nn \g_@@_display_inside_frontcover_tl {% - \bool_gset_true:N \g_@@_inside_frontcover_bool% - \pagestyle{@@_inside_frontcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_inside_cover_geometry_tl}% - \small% - \setlength{\columnseprule}{2pt} - \renewcommand{\columnseprulecolor}{\color{white}} - \begin{_@@_inside_cover_tcb}[_@@_tcb_inside_frontcover_style] - \begin{multicols}{2} - \setlength{\columnsep}{1mm} - \bool_if:NTF {\g_@@_special_edition_bool} { - \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim] - \@@_display_people_by_role:n {editor} - \end{description} - }{% - \begin{description}[leftmargin=1em] - \item[\c_@@_editors_in_chief_string_tl] \ - \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim] - \@@_display_people_by_role:n {editorinchief} - \end{description} - \bigskip - \par - \item[\c_@@_editors_string_tl] \ - \begin{description}[leftmargin=1em,style=nextline,labelindent=\c_zero_dim] - \@@_display_people_by_role:n {editor} - \end{description} - \end{description} - } - \end{multicols} - \setlength{\columnseprule}{1pt} - \tcblower - \begin{tabular}{@{}m{.75\c_@@_inside_cover_box_width_dim}@{}m{.2\c_@@_inside_cover_box_width_dim-2\tabcolsep}@{}} - \begin{description}[leftmargin=1em] - \item[\c_@@_editorial_secretariat_string_tl{}~:] \ \par% - \l_@@_journal_publisher_tl% - % \par% - \c_space_tl\textendash{}\c_space_tl% - \@@_display_people_by_role:n { secretary }\par - \l_@@_journal_address_tl\par% - \c_@@_phone_string_tl{}~:~\l_@@_journal_phone_tl{} \c_space_tl\textendash{}\c_space_tl - \c_@@_fax_string_tl{}~:~\l_@@_journal_fax_tl\par% - \href{mailto:\l_@@_journal_email_tl}{\nolinkurl{\l_@@_journal_email_tl}}% - % \newline% - \c_space_tl\textendash{}\c_space_tl - \url{\l_@@_journal_url_tl} - \item[\c_@@_publishingdirector_string_tl{}~:] - \@@_display_people_by_role:n { president } - \item[\c_@@_issn_string_tl{}~:] \l_@@_journal_issn_tl - \tl_if_empty:NF \l_@@_journal_isbn_tl - {% - \item[\c_@@_isbn_string_tl{}~:] \l_@@_journal_isbn_tl - } - \bool_if:NT {\g_@@_no_inside_backcover_bool} { - \item[\c_@@_latexclass_string_tl{}~:] - \@@_display_people_by_role:n { classdesigner } - \item[\c_@@_artistic_director_string_tl{}~:] - \@@_display_people_by_role:n { graphicdesigner } - \item[\c_@@_printer_string_tl{}~:] \g_@@_printer_text_tl - } - \end{description} - \bool_if:NT {\g_@@_no_inside_backcover_bool} { - \g_@@_font_designer_text_tl - } - & - \hspace*{\fill}% - \includegraphics[height=20mm]{\c_@@_smf_logo_file_string_tl}% - \end{tabular} - % \\ - % \c_@@_font_string_tl - \bigskip - \tl_if_empty:NF \g_@@_about_frontcover_tl - {% - \\ - \begin{adjustbox}{valign=t,minipage=.75\c_@@_inside_cover_box_width_dim+.2\c_@@_inside_cover_box_width_dim-2\tabcolsep} - \begin{description}[leftmargin=1em,font=\color{@@_about_frontcover_title_color}] - \item[\g_@@_about_frontcover_string_tl] \g_@@_about_frontcover_tl - \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_tl=first-last-name% - ,\l_@@_people_role_tl=role% - }{% - \_@@_citeauthor_no_firstinits:n - {\c_@@_issue_bib_key_tl -frontcovercredit- \exp_not:V\DTLcurrentindex}% - }% - ).% - } - \end{description} - \end{adjustbox} - } - \end{_@@_inside_cover_tcb} - \clearpage% - \pagenumbering{arabic}% - \bool_gset_false:N \g_@@_inside_frontcover_bool -} -% \end{macrocode} -% -% \section{Displaying the inside back cover} -% -% We create the variable that displays the inside back cover. -% \begin{macrocode} -\tl_new:N \g_@@_display_inside_backcover_tl% -\tl_gset:Nn \g_@@_display_inside_backcover_tl {% - \bool_gset_true:N \g_@@_inside_backcover_bool% - \cleardoublepage% - \pagestyle{@@_inside_backcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_inside_cover_geometry_tl}% - \bool_if:NTF {\g_@@_no_inside_backcover_bool} { - \hbox{} - }{% - \small% - \begin{_@@_inside_cover_tcb}[_@@_tcb_inside_backcover_style] - \bool_if:NF {\g_@@_special_edition_bool} { - % \begin{multicols}{2} - % \setlength{\columnsep}{1mm} - \file_if_exist_input:n {\c_@@_authors_instructions_file_tl} - % \end{multicols} - % \setlength{\columnseprule}{1pt} - \tcblower - } - \begin{description}[leftmargin=1em] - \item[\c_@@_latexclass_string_tl{}~:] - \@@_display_people_by_role:n { classdesigner } - \item[\c_@@_artistic_director_string_tl{}~:] - \@@_display_people_by_role:n { graphicdesigner } - \item[\c_@@_printer_string_tl{}~:] \g_@@_printer_text_tl - \end{description} - \g_@@_font_designer_text_tl - \end{_@@_inside_cover_tcb} - } - \bool_gset_false:N \g_@@_inside_backcover_bool -} -% \end{macrocode} -% -% \section{Displaying the back cover} -% -% We create the variable that displays the back cover. -% \begin{macrocode} -\tl_new:N \g_@@_display_backcover_tl% -\tl_gset:Nn \g_@@_display_backcover_tl {% - \bool_gset_true:N \g_@@_backcover_bool - \pagestyle{@@_backcover_ps}% - \pagecolor{\g_@@_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_backcover_geometry_tl}% - \bool_if:NTF {\g_@@_special_edition_bool} { - \mbox{} - \vfill - \clist_map_inline:Nn \c_@@__graphics_extensions_clist{ - \file_if_exist:nT {\c_@@_issue_images_path_string_tl/\g_@@_special_edition_backcover_image_tl.#1} { - \begin{center} - \includegraphics[width=.25\linewidth]{\g_@@_special_edition_backcover_image_tl} - \end{center} - \bigskip - \clist_map_break: - } - } - \group_begin: - \leftskip.125\linewidth - \rightskip\leftskip - \file_if_exist_input:nF {\c_@@_special_edition_backcover_page_file_string_tl} - {% - \c_empty_box - } - \par - \group_end: - \vfill - \clist_if_empty:NF \g_@@_special_edition_logos_clist { - \vfill - \noindent - \clist_map_inline:Nn \g_@@_special_edition_logos_clist { - \hfill - \includegraphics[height=2cm]{#1} - \hfill - } - \mbox{} - } - }{ - \file_if_exist_input:nF {\c_@@_backcover_page_file_string_tl} - {% - \hbox{} - } - } -} -% \end{macrocode} -% -% \section{User level commands} -% -% Here, we gather all the user level (public) commands. -% -% \subsection{Populating the people involved in the journal} -% -% \begin{macro}{\editorinchief} -% \begin{macro}{\editor} -% \begin{macro}{\president} -% \begin{macro}{\classdesigner} -% \begin{macro}{\fontdesigner} -% \begin{macro}{\classmaintainer} -% \begin{macro}{\graphicdesigner} -% We define some document-level commands that let the user specify -% respectively the editor(s) in chief, the editors, the (\textsc{smf}) -% president, the class designer and maintainer(s), and the graphic designer. -% -% For the editor(s) in chief, we increment the "\g_@@_editors_in_chief_int" -% counter in order to use singular or plural form of the corresponding string -% \enquote{Rédacteur(s) en chef}. -% \begin{macrocode} -\NewDocumentCommand \editorinchief {ommm} -{ - \int_incr:N \g_@@_editors_in_chief_int - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{editorinchief}{} -} -\NewDocumentCommand \editor {ommm} -{ - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{editor}{} -} - -\NewDocumentCommand \president {ommm} -{ - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{president}{} -} -\NewDocumentCommand \classdesigner {ommm} -{ - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{classdesigner}{} -} -\NewDocumentCommand \classmaintainer {ommm} -{ - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{classmaintainer}{} -} -\NewDocumentCommand \fontdesigner {ommm} -{ - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{fontdesigner}{} -} -\NewDocumentCommand \graphicdesigner {ommm} -{ - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{graphicdesigner}{} -} -\NewDocumentCommand \secretary {ommm} -{ - \_@@_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{secretary}{} -} -% \NewDocumentCommand \frontcovercredit {om} -% { -% \_@@_people:nnnnnnnn {#2}{}{}{}{}{#1}{frontcovercredit}{} -% } -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{Issue setup} -% -% \begin{macro}{\issuesetup} -% We define the command that lets the user specify the issue setup. -% \begin{macrocode} -\NewDocumentCommand \issuesetup { m } { -% \end{macrocode} -% -% Its keys are set (only "number", "month" and "year" are relevant here). - \keys_set:nn { gzt/issuesetup } {frontcoverimageoptions={width=\c_@@_frontcover_image_width_dim},#1} -% \end{macrocode} -% -% We use here the fact that, if the "number", "month" or "year" options are not -% used, their corresponding "\g_@@_issue_number_int", "\g_@@_issue_month_int" or -% "\g_@@_issue_year_int" variables are equal to $0$ ($<1$). -% -% First, if "number" is not used, its "\g_@@_issue_number_int" variable is set -% to "\c_@@_first_issue_number_int"\footnote{The number of the first Gazette's -% issue using the present class.} and a warning is emitted. -% \begin{macrocode} - \int_compare:nNnT {\g_@@_issue_number_int}<{1} - { - \int_set:Nn \g_@@_issue_number_int { \c_@@_first_issue_number_int } - \msg_warning:nnn{gzt}{issue-number-needed}{number} - } -% \end{macrocode} -% -% If not specified as \refCom{issuesetup}'s key-value options, issue's month and -% year are computed from issue number (which defaults to -% "\c_@@_first_issue_month_int"). -% -% \begin{macro}{\c_@@_issue_age_in_months_int} -% First, if "month" or "year" option is not used (one of the previous -% variables is $0$ hence their product is $0$ ($<1$)), we compute the issue -% age in months, useful for both month and year computation. -% \begin{macrocode} - \int_compare:nNnT {\g_@@_issue_month_int * \g_@@_issue_year_int}<{1} - { - \int_new:N \g_@@_issue_age_in_months_int% - \int_gset:Nn \g_@@_issue_age_in_months_int - { - \c_@@_first_issue_month_int - + \c_@@_interval_in_months_int - * ( \int_use:N \g_@@_issue_number_int - \c_@@_first_issue_number_int ) - } - } -% \end{macrocode} -% \end{macro} -% -% If the "month" is not used, we replace "\g_@@_issue_month_int" ($=0$) by its -% computed value from the issue number. -% \begin{macrocode} - \int_compare:nNnT {\g_@@_issue_month_int}<{1} - { - \int_gset:Nn \g_@@_issue_month_int - { - \int_mod:nn { \g_@@_issue_age_in_months_int } { 12 } - } - } -% \end{macrocode} -% -% If the "year" is not used, we replace "\g_@@_issue_year_int" ($=0$) by its -% computed value from the issue number. -% \begin{macrocode} - \int_compare:nNnT {\g_@@_issue_year_int}<{1} - { - \int_new:N \g_@@_issue_age_in_years_int% - \int_gset:Nn \g_@@_issue_age_in_years_int - {% - \int_div_truncate:nn { \g_@@_issue_age_in_months_int } { 12 } - }% - \int_gset:Nn \g_@@_issue_year_int - { - \g_@@_issue_age_in_years_int + \c_@@_first_issue_year_int - } - }% -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Special edition setup} -% -% \begin{macro}{\specialeditionsetup} -% We define the command that lets the user specify the special edition setup. -% \begin{macrocode} -\NewDocumentCommand \specialeditionsetup { m } { - \bool_gset_true:N \g_@@_special_edition_bool - \bool_gset_true:N \g_@@_frontcover_without_minitoc_bool - \keys_set:nn { gzt/specialedition } {#1} -} -% \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} -% We define the command that lets the user specify the -% journal setup. This setup is likely to be rarely changed. -% \begin{macrocode} -\NewDocumentCommand \journalsetup { m } { -% \end{macrocode} -% -% Its keys are set (only "publisher", "address", "phone", "fax", "email", "url" -% and "issn" are relevant here). -% \begin{macrocode} - \keys_set:nn { gzt/journalsetup } { #1 } -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Date of the president's message} -% -% \begin{macro}{\date} -% We redefine the "\date" for the date of the president's message. It takes -% 3 arguments, each of them being a number: the day, the month and the year. -% \begin{macrocode} -\RenewDocumentCommand \date { mmm } { - \newdate{@@_president_message_date}{#1}{#2}{#3}% -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Interviews} -% -% \begin{macro}{\interviewee} -% \begin{macrocode} -% \NewDocumentCommand\interviewer { o m } { -% } -\NewDocumentCommand \interviewee { om } { - \tl_if_empty:nT \g_@@_title_tl { - \tl_gset:Nn \g_@@_title_tl { - \c_@@_interview_title_string_tl - \DeclareNameAlias{labelname}{default}\citeauthor{\c_@@_issue_bib_key_tl -art-\int_use:N - \g_@@_articles_int} - } - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/interviewees } { #1 } - } - \tl_set:Nn \l_@@_people_first_last_name_tl {#2} - \_@@_people:nVVVVnxV - {#2} - {\g_@@_people_affiliation_tl} - {\g_@@_people_email_tl} - {\g_@@_people_minibio_tl} - {\g_@@_people_photo_tl} - {} - {interviewee-art-\int_use:N \g_@@_articles_int} - {} - % \maketitle -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Miscellaneous} -% -% \begin{macro}{\academicsignature} -% \begin{macrocode} -\NewDocumentCommand \academicsignature { m } { - \@@_display_academic_signature:n {#1} -} -% \end{macrocode} -% \end{macro} -% -% \section{Definition of the footer of the pages} -% -% \begin{macro}{@@_date} -% \begin{macro}{\l_@@_uppercased_date_format} -% Thanks to \Pkg{datetime}, we create the new date "@@_date" and define the -% date format to be used in the journal. As this date has to be displayed -% uppercased, we first define a function that displays uppercased months. -% \begin{macrocode} -\cs_new_protected:Nn \_@@_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{@@_date} - {1} - {\int_use:N \g_@@_issue_month_int} - {\int_use:N \g_@@_issue_year_int} -\newdateformat{l_@@_uppercased_date_format}{ - \_@@_uppercased_monthname_french:n {\THEMONTH}~\THEYEAR -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \section{(Re)Definition of document commands that identify the article} -% -% The names of the authors of the different articles will appear at several -% places, and notably in the table of contents where first and middle names have to -% be rendered as initials. Because automatically rendering initials is a complex task -% already provided by \Pkg{biblatex}, we will create a \file{.bib} file -% containing "article" entries for each article of the \gzt{} journal. -% -% This can be done only at the beginning of the document, in order to know the -% characteristics of the current issue. -% \begin{macrocode} -\AddToHook{begindocument}{% -% \end{macrocode} -% -% We first create a token list containing the date of the current issue formated -% as required by \pkg{biblatex} (the month issue needs a leading zero if it is -% $<10$). -% \begin{macrocode} -\tl_new:N \g_@@_bib_issue_date_tl -\tl_gset:Nn \g_@@_bib_issue_date_tl { - \int_use:N \g_@@_issue_year_int- - \int_compare:nNnT {\g_@@_issue_month_int}<{10} - { - 0 - } - \int_use:N \g_@@_issue_month_int -} -% \end{macrocode} -% -% We will populate the bibiliographic file of the current issue with the current -% issue (as "@periodical" entry type). -% \begin{macrocode} - \iow_now:Nx \g_@@_bib_out_iow {% - @periodical{\c_@@_issue_bib_key_tl,\iow_newline: - issuetitle = {\exp_not:f\c_@@_journal_title_string_tl},\iow_newline: - date = {\g_@@_bib_issue_date_tl},\iow_newline: - number = \int_use:N \g_@@_issue_number_int,\iow_newline: - % issn = {\l_@@_journal_issn_tl},\iow_newline: - options = {skipbib}\iow_newline: - } - \iow_newline: - }% -} -% \end{macrocode} -% -% \begin{macro}{\title} -% \begin{macro}{\g_@@_title_tl} -% The command for article's title is redefined: the full \enquote{article's -% title} is store in "\g_@@_title_tl" for later use. -% \begin{macrocode} -\tl_new:N \g_@@_title_tl -\RenewDocumentCommand \title { o m } { -% \end{macrocode} -% We increment the "\g_@@_articles_int" integer that counts the number of -% articles in order to provide for each of them a unique bibliographic key. -% \begin{macrocode} - \int_gincr:N \g_@@_articles_int - \tl_gclear:N \g_@@_short_title_tl - \tl_gclear:N \g_@@_short_subtitle_tl - \bool_gset_false:N \g_@@_title_not_in_toc_bool - % - \IfNoValueF {#1} - { - \keys_set:nn { gzt/title } { #1 } - } - \tl_gset:Nn \g_@@_title_tl {#2} - \bool_if:nT \g_@@_tellme_rubric_bool - { - \tl_put_left:Nx \g_@@_title_tl {\c_@@_tellme_extra_title_string_tl} - } - \tl_if_empty:NT \g_@@_short_title_tl {% - \tl_gset_eq:NN \g_@@_short_title_tl \g_@@_title_tl - } -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\subtitle} -% \begin{macro}{\g_@@_subtitle_tl} -% The command for article's subtitle is redefined: the full and short -% \enquote{article's subtitles} are store in "\g_@@_subtitle_tl" and -% "\g_@@_short_subtitle_tl" for later use. -% \begin{macrocode} -\tl_new:N \g_@@_subtitle_tl -\NewDocumentCommand \subtitle { o m } { - \bool_gset_false:N \g_@@_subtitle_not_in_toc_bool - % - \IfNoValueF {#1} - { - \keys_set:nn { gzt/subtitle } { #1 } - } - \tl_gset:Nn \g_@@_subtitle_tl {#2} - \tl_if_empty:NT \g_@@_short_subtitle_tl {% - \tl_gset_eq:NN \g_@@_short_subtitle_tl \g_@@_subtitle_tl - } -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\author} -% The command for article's author (including its affiliation) is redefined. -% \begin{macrocode} -\RenewDocumentCommand \author { o m } { - \IfNoValueF {#1} - { - \keys_set:nn { gzt/authors } { #1 } - } - \tl_gset:Nn \l_@@_people_first_last_name_tl {#2} - \_@@_people:nVVVVnxV - {#2} - {\g_@@_people_affiliation_tl} - {\g_@@_people_email_tl} - {\g_@@_people_minibio_tl} - {\g_@@_people_photo_tl} - {} - {author-art-\int_use:N \g_@@_articles_int} - {\g_@@_people_webpage_tl} -} -% \end{macrocode} -% \end{macro} -% -% We create a stream in order to write a bibliographic file -% \begin{macrocode} -\iow_new:N \g_@@_bib_out_iow -\ior_new:N \g_@@_bib_out_ior -\tl_new:N \g_@@_bib_out_tl -\file_if_exist:nTF { \c_@@_issue_bib_path_string_tl } -{ - \ior_open:Nn \g_@@_bib_out_ior { \c_@@_issue_bib_path_string_tl } - \ior_str_map_inline:Nn \g_@@_bib_out_ior - { \tl_gput_right:Nn \g_@@_bib_out_tl {#1 \par } } - \ior_close:N \g_@@_bib_out_ior -}{ - \typeout{no file! rerun} -} -\iow_open:Nn \g_@@_bib_out_iow { \c_@@_issue_bib_path_string_tl } -% \end{macrocode} -% -% \begin{environment}{abstract} -% The environment for article's abstract or, more precisely, for its lead -% paragraph (\enquote{chapô} in French typography) is (re)defined. -% \begin{macrocode} -\tl_new:N \g_@@_abstract_body_tl -\NewDocumentEnvironment{abstract}{} - {\CollectAbstract} - {\endCollectAbstract} -\NewEnviron{CollectAbstract} - { - \tl_gset_eq:NN \g_@@_abstract_body_tl \BODY - } -% \end{macrocode} -% \end{environment} -% -% \section{Definition of a private main matter switch} -% -% A private "\_@@_mainmatter_switch_tl" switch is defined in order to automatically insert -% some settings. -% \begin{macrocode} -\tl_new:N \g_@@_mainmatter_switch_tl% -\tl_gset:Nn \g_@@_mainmatter_switch_tl { - \bool_gset_false:N \g_@@_frontmatter_bool - \bool_gset_true:N \g_@@_mainmatter_bool - \SetParskip{\c_@@_mainmatter_parskip_skip} - \pagestyle{@@_mainmatter_ps}% -} -% \end{macrocode} -% -% \begin{macrocode} -\tl_new:N \l_@@_article_acknowledgements_tl% -\cs_new_protected:Nn \@@_article_acknowledgements:n -{ - \tl_set:Nn \l_@@_article_acknowledgements_tl { #1 } -} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \begin{macro}{\_@@_about_frontcover} -% We define the internal function than let us tell a few words about the front -% cover. -% \begin{macrocode} -\tl_new:N \g_@@_about_frontcover_tl% -\bool_new:N \g_@@_credit_frontcover_bool% -\tl_new:N \g_@@_about_frontcover_string_tl% -\cs_new_protected:Nn \_@@_about_frontcover:nnn -{ - \tl_if_empty:nF {#1}{% - \bool_gset_true:N \g_@@_credit_frontcover_bool - \_@@_people:nnnnnnnn {#1}{}{}{}{}{}{frontcovercredit}{} - } - \tl_gset:Nn \g_@@_about_frontcover_string_tl { #2 } - \tl_gset:Nn \g_@@_about_frontcover_tl { #3 } -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\_@@_rubric} -% We define the internal function than defines and sets the layouts of rubrics. -% \begin{macrocode} -% \tl_new:N \g_@@_rubric_title_tl% -% \tl_new:N \g_@@_rubric_pictofile_tl% -% \tl_new:N \g_@@_rubric_abstract_tl% -\tl_new:N \g_@@_rubric_abstract_box_tl% -\tl_new:N \l_@@_rubric_head_text_box_tl% -% -\cs_new_protected:Nn \_@@_rubric:nnn -{ - \newpage% - \tl_gclear:N \g_@@_rubric_abstract_tl - \tl_gset:Nn \g_@@_rubric_title_tl {#2} - \file_if_exist:nTF { #3.pdf }{% - \tl_gset:Nn \g_@@_rubric_pictofile_tl {#3} - }{ - \tl_gset:Nn \g_@@_rubric_pictofile_tl {example-image} - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/rubric } { #1 } - } - \g_@@_mainmatter_switch_tl - \bool_gset_true:N \g_@@_mainmatter_bool - \clearpage -% \end{macrocode} -% -% We reinitialize the items counter in this new rubric. -% \begin{macrocode} - \bool_gset_true:N \g_@@_rubric_bool% - \bool_gset_false:N \g_@@_interview_rubric_bool - \bool_gset_false:N \g_@@_tellme_rubric_bool - \bool_gset_false:N \g_@@_rearviewmirror_rubric_bool - \bool_gset_false:N \g_@@_books_rubric_bool - \bool_gset_false:N \g_@@_previous_article_with_bibliography_or_minibio_bool - \bool_if:nF { \g_@@_for_authors_bool } { - \int_zero:N \g_@@_item_in_rubric_int - \phantomsection - \par - \bool_if:NF {\g_@@_special_edition_bool} { - \addcontentsline{toc}{part}{\g_@@_rubric_title_tl} - } - \thispagestyle{@@_rubric_ps} - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_main_geometry_tl}% - \tl_if_empty:NTF \g_@@_rubric_abstract_tl - { - \dim_set:Nn \l_@@_rubrics_head_text_width_dim { \c_@@_rubrics_head_text_no_abstract_width_dim } - } - { - \dim_set:Nn \l_@@_rubrics_head_text_width_dim { \c_@@_rubrics_head_text_abstract_width_dim } - \tl_gset:Nn \g_@@_rubric_abstract_box_tl { - \begin{adjustbox}{valign=t,minipage=\c_@@_rubrics_abstract_width_dim} - \raggedright% - \large% - \color{@@_rubric_abstract_color}% - \g_@@_rubric_abstract_tl% - \end{adjustbox} - } - } - \tl_set:Nn \l_@@_rubric_head_text_box_tl { - \begin{adjustbox}{valign=t,minipage=\l_@@_rubrics_head_text_width_dim} - \mbox{}% - \checkoddpage% - \ifoddpage% - \raggedleft% - \else - \raggedright% - \fi% - \color{@@_rubric_title_color}% - \fontsize{20}{20}\fontseries{bx}\fontshape{sc}\selectfont% - \g_@@_rubric_title_tl% - \end{adjustbox} - } - \noindent% - \mbox{}% - \checkoddpage% - \ifoddpage% - \hspace*{\c_@@_rubric_extra_xoffset_dim} - \tl_if_empty:NF \g_@@_rubric_abstract_tl - { - \g_@@_rubric_abstract_box_tl - } - \hfill% - \l_@@_rubric_head_text_box_tl - \hspace*{\c_@@_rubric_xoffset_dim}% - \else% - \hspace*{\c_@@_rubric_xoffset_dim}% - \l_@@_rubric_head_text_box_tl - \tl_if_empty:NF \g_@@_rubric_abstract_tl - { - \hfill% - \g_@@_rubric_abstract_box_tl - \hspace*{\c_@@_rubric_extra_xoffset_dim} - } - \fi% - } - \afterpage{% - \bool_gset_false:N \g_@@_rubric_bool% - } -% \end{macrocode} -% We suppress any spurious space in case of lack of "%" at the end of the -% public macros built on "\_@@_rubric": -% \begin{macrocode} - \ignorespaces -% \end{macrocode} -% End of the definition of the private command "\_@@_rubric": -% \begin{macrocode} -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*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, -% \item the "author" value of the bibliographic entry, -% \end{enumerate} -% of the current article. -% \begin{macrocode} -\tl_new:N \g_@@_article_bib_key_tl% -\tl_new:N \l_@@_people_first_last_names_tl -\tl_new:N \g_@@_authors_first_last_names_tl% -\tl_new:N \l_@@_interviewees_first_last_names_tl% -\tl_new:N \g__@@_citeauthor_no_firstinits% -\tl_new:N \g_@@_citeauthor_tl% -\tl_new:N \g_@@_citeinterviewee_tl% -% -\tl_new:N \g_@@_blx_given_first_inits_tl% -\@ifpackagelater{biblatex}{2016/01/01}{% - \tl_gset:Nn \g_@@_blx_given_first_inits_false_tl - {% - \togglefalse{abx@bool@giveninits}% - } -}{ - \tl_set:Nn \g_@@_blx_given_first_inits_false_tl - {% - \togglefalse{blx@firstinits}% - } -} -% -\cs_new_protected:Nn \_@@_citeauthor_no_firstinits:n {% - \tl_gset:Nn \g_@@_citeauthor_tl {% - \DeclareNameAlias{labelname}{default}% - \group_begin: - \g_@@_blx_given_first_inits_false_tl - \citeauthor{#1} - \group_end: - }% - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\g_@@_citeauthor_tl}{} - }{% - \g_@@_citeauthor_tl - }% -} -% \@ifpackageloaded{hyperref}{% -% \tl_gset:No \g_@@_citeauthor_tl {% -% \texorpdfstring{\citeauthor{\g_@@_article_bib_key_tl}}{} -% } -% }{% -% \tl_gset:Nn \g_@@_citeauthor_tl {% -% \citeauthor{\g_@@_article_bib_key_tl} -% }% -% }% -% \@ifpackageloaded{hyperref}{% -% \tl_gset:No \g_@@_citeinterviewee_tl {% -% \texorpdfstring{\citeauthor{\g_@@_article_bib_key_tl}}{} -% } -% }{% -% \tl_gset:Nn \g_@@_citeinterviewee_tl {% -% \citeinterviewee{\g_@@_article_bib_key_tl} -% }% -% }% -% \end{macrocode} -% -% In the following "\maketitle" document level macro, we will need to display -% the list the authors of the current article, not as a comma separated list -% (default "\citeauthor" \pkg{biblatex}'s macro behavior), but as an itemized -% list. For this, we create the "\_@@_itemized_citeauthor" internal function -% that will make use of "\citeauthor" where "\multinamedelim" and -% "\finalnamedelim" will be patched into "\item". As we don't want to globally -% alter the behavior of these macros, we first store their original meanings in -% some private control sequence: -% \begin{macrocode} -\cs_set_eq:NN \_@@_orig_multinamedelim \multinamedelim -\cs_set_eq:NN \_@@_orig_finalnamedelim \finalnamedelim -\cs_new_protected:Nn \_@@_itemized_citeauthor:n -{ - \cs_set_eq:NN \multinamedelim \item - \cs_set_eq:NN \finalnamedelim \multinamedelim - \AtNextCitekey{\defcounter{maxnames}{100}} - \begin{itemize}[label=\textbullet,noitemsep] - \item \citeauthor{#1} - \end{itemize} - \cs_set_eq:NN \multinamedelim \_@@_orig_multinamedelim - \cs_set_eq:NN \finalnamedelim \_@@_orig_finalnamedelim -} -% \end{macrocode} -% -% We declare two token list which will used in the next (re)definition. -% \begin{macrocode} -\tl_new:N \l_@@_bullet_and_rule_tl -\tl_new:N \l_@@_authors_box_tl -\tl_new:N \l_@@_abstract_box_tl -\tl_new:N \l_@@_bullet_and_rule_odd_tl -\tl_new:N \l_@@_bullet_and_rule_even_tl -\tl_new:N \l_@@_title_box_tl -% -% \end{macrocode} -% -% \begin{macro}{\_@@_maketitle} -% The command that \enquote{makes} the title is redefined. -% \begin{macrocode} -\RenewDocumentCommand \maketitle { s } { -% \end{macrocode} -% -% We force all the previous floats to be processed before a new article starts -% (this is already done in "bibliography_minibiographies_acknowledgements" -% environment but is repeated here if what is before provides floats but neither -% bibliography, \textsc{cv} nor acknowledgements). -% \begin{macrocode} - \FloatBarrier% -% \end{macrocode} -% -% We increment the item number in the current rubric. -% \begin{macrocode} -\int_gincr:N \g_@@_item_in_rubric_int -% \end{macrocode} -% -% We restore the original length for "\parindent" that has been set to zero in -% a possible previous \enquote{Interview} rubric. -% \begin{macrocode} -\dim_set_eq:NN \parindent \c_@@_original_parindent_dim -% \end{macrocode} -% -% We reset all acronyms entries. -% \begin{macrocode} -\glsresetall -% \end{macrocode} -% -% We reset to zero some counters at each new article. -% \begin{macrocode} -\setcounter{section}{0} -\setcounter{figure}{0} -\setcounter{table}{0} -\setcounter{footnote}{0} -% -\setcounter{equation}{0} -% -\setcounter{theorem}{0} -% \setcounter{theoreme}{0} -\setcounter{corollary}{0} -% \setcounter{corollaire}{0} -\setcounter{conjecture}{0} -\setcounter{proposition}{0} -\setcounter{lemma}{0} -% \setcounter{lemme}{0} -\setcounter{axiom}{0} -% \setcounter{axiome}{0} -% -\setcounter{definition}{0} -\setcounter{remark}{0} -% \setcounter{remarque}{0} -\setcounter{example}{0} -% \setcounter{exemple}{0} -\setcounter{notation}{0} -% \end{macrocode} -% -% We store the unique bibliographic key of the current article in the -% "\g_@@_article_bib_key_tl" token list. -% \begin{macrocode} -\tl_gset:Nn \g_@@_article_bib_key_tl {% - \c_@@_issue_bib_key_tl - -art- - \int_use:N \g_@@_articles_int -} -% \end{macrocode} -% -% We will populate the bibiliographic file of the current issue with the current -% article (title, author(s) and a fixed part giving by the issue number, journal -% title and date). -% -% Then, we iterate through each row of the authors database in order to get -% a token list containing the (list of the) author(s) of the current article -% formated as required by \pkg{biblatex} (\enquote{Last1, First1 [and Last2, -% First2 [and ...]]}). -% \begin{macrocode} -\DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{author-art-\int_use:N \g_@@_articles_int}]{people}{% - \l_@@_people_first_last_name_tl=first-last-name% - ,\l_@@_people_role_tl=role% -}{% - \tl_if_in:NnT \l_@@_people_role_tl { author } { - \DTLiffirstrow{% - \tl_put_right:Nx - \l_@@_people_first_last_names_tl - {\exp_not:V\l_@@_people_first_last_name_tl} - }{ - \tl_put_right:Nx - \l_@@_people_first_last_names_tl - {~and~\exp_not:V\l_@@_people_first_last_name_tl} - } - } -} -\DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{interviewee-art-\int_use:N \g_@@_articles_int}]{people}{% - \l_@@_people_first_last_name_tl=first-last-name% - ,\l_@@_people_role_tl=role% -}{% - \tl_if_in:NnT \l_@@_people_role_tl { interviewee } { - \DTLiffirstrow{% - \tl_put_right:Nx - \l_@@_people_first_last_names_tl - {\exp_not:V\l_@@_people_first_last_name_tl} - }{ - \tl_put_right:Nx - \l_@@_people_first_last_names_tl - {~and~\exp_not:V\l_@@_people_first_last_name_tl} - } - } -} -% \end{macrocode} -% -% We now populate the bibiliographic file. -% \begin{macrocode} -\tl_if_empty:NF \g_@@_title_tl {% - \iow_now:Nx \g_@@_bib_out_iow {% - @article{ - \g_@@_article_bib_key_tl, - \iow_newline: - title={\exp_not:V\g_@@_title_tl}, - \iow_newline: - \tl_if_empty:NF \g_@@_subtitle_tl {% - subtitle={\exp_not:V\g_@@_subtitle_tl}, - \iow_newline: - } - \tl_if_eq:NNF { \g_@@_short_title_tl } { \g_@@_title_tl } {% - shorttitle={\exp_not:V\g_@@_short_title_tl}, - \iow_newline: - }% - \tl_if_empty:NF \l_@@_people_first_last_names_tl - { - author={\exp_not:V\l_@@_people_first_last_names_tl}, - \iow_newline: - } - options={skipbib}, - \iow_newline: - crossref = {\c_@@_issue_bib_key_tl} - } - \iow_newline: - }% -}% -% -\tl_set:Nn \l_@@_bullet_and_rule_odd_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=@@_circlerule_color,draw=@@_circlerule_color,line~width=0.7mm] - ([xshift=-\c_@@_innermargin_dim-\c_@@_potential_layoutoffset_dim]0,0 -| current~page.west) -- (\linewidth,0);% - \fill[@@_circlerule_color] (\linewidth-2\pgflinewidth,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% -\tl_set:Nn \l_@@_bullet_and_rule_even_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=@@_circlerule_color,draw=@@_circlerule_color,line~width=0.7mm] - (0,0 -| current~page.east) -- (0,0);% - \fill[@@_circlerule_color] (0,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% -\tl_set:Nn \l_@@_title_box_tl -{% - \noindent% - \hspace*{18mm}% - \begin{adjustbox}{minipage=\linewidth-18mm,valign=t} - \raggedright% - \color{@@_article_title_color}% - \fontsize{20}{25}\selectfont% - \bfseries% - \g_@@_title_tl - \tl_if_empty:NF \g_@@_subtitle_tl {% - \par% - \g_@@_subtitle_tl - } - \phantomsection - \par% - \bool_if:NTF {\g_@@_title_not_in_toc_bool} { - \bookmark[page=\thepage,level=chapter]{\g_@@_short_title_tl} - }{ - \addcontentsline{toc}{chapter}{% - \tl_if_empty:NTF \g_@@_short_title_tl {% - \g_@@_title_tl% - }{ - \g_@@_short_title_tl% - } - \bool_if:NF {\g_@@_subtitle_not_in_toc_bool} { - \bool_if:nF { \tl_if_empty_p:N \g_@@_short_subtitle_tl || \g_@@_interview_rubric_bool || \g_@@_rearviewmirror_rubric_bool } - { - \c_space_tl\textendash{}\c_space_tl\g_@@_short_subtitle_tl - } - } - \bool_if:nF { \tl_if_empty_p:N \l_@@_people_first_last_names_tl || \g_@@_interview_rubric_bool || \g_@@_rearviewmirror_rubric_bool } - { - \textsl{ - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{% - \c_space_tl\textendash{}\c_space_tl\citeauthor{\g_@@_article_bib_key_tl} - }{} - }{% - \c_space_tl\textendash{}\c_space_tl\citeauthor{\g_@@_article_bib_key_tl} - }% - } - } - } - } - \end{adjustbox} -} - \dim_gset:Nn \g_@@_abstract_box_width_dim {0.75\linewidth} - % \bool_if:nT { \tl_if_empty_p:N \l_@@_people_first_last_names_tl } - % { - % \dim_gset:Nn \g_@@_abstract_box_width_dim {\linewidth} - % } - \tl_set:Nn \l_@@_abstract_box_tl - {% - \begin{adjustbox}{minipage=\g_@@_abstract_box_width_dim,max~width=\g_@@_abstract_box_width_dim,valign=t} - \mbox{} - \tl_if_exist:NT \g_@@_abstract_body_tl - {% - \raggedright% - \bfseries% - \color{@@_article_abstract_color}% - \g_@@_abstract_body_tl - }% - \end{adjustbox} - }% - \tl_set:Nn \l_@@_authors_box_tl - {% - \begin{adjustbox}{minipage=0.3\linewidth,min~width=0.3\linewidth,valign=t} - \bool_if:nTF { \tl_if_empty_p:N \l_@@_people_first_last_names_tl || \g_@@_interview_rubric_bool } - { - \mbox{} - } - { - \color{@@_people_color}% - \_@@_itemized_citeauthor:n {\g_@@_article_bib_key_tl} - } - \end{adjustbox} - } - \bool_if:nTF { - \int_compare_p:nNn { \g_@@_item_in_rubric_int } = { 1 } - } - { - \mbox{} - \par - \bool_if:nTF { - \tl_if_empty_p:N \g_@@_rubric_abstract_tl - }{ - \xleaders\vbox { - \bigskip% - }% - \vskip\bigskipamount% - }{ - \xleaders\vbox { - \smallskip% - }% - \vskip\smallskipamount% - } - } - { - \bool_if:NTF {\g_@@_previous_article_with_bibliography_or_minibio_bool} - { - \xleaders\vbox { - \mbox{} - \par - \medskip% - }% - \vskip\medskipamount% - } - { - \xleaders\vbox { - \mbox{} - \par - \smallskip% - }% - \vskip\smallskipamount% - } - } - \bool_gset_false:N \g_@@_previous_article_with_bibliography_or_minibio_bool -% \end{macrocode} -% -% \begin{macrocode} -%<class-article>\hypersetup{pdftitle=\g_@@_short_title_tl,pdfauthor=\l_@@_people_first_last_names_tl} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% We fix some of the PDF's metadata . -% \begin{macrocode} -\bool_if:NT {\g_@@_for_authors_bool} { - \hypersetup{% - pdftitle=\g_@@_short_title_tl, - pdfauthor=\l_@@_people_first_last_names_tl - } -} -% \end{macrocode} -% -% Here, we put the \pkg{TikZ}'s picture of the \enquote{bullet and rule} -% (contained in the "\l_@@_bullet_and_rule_tl" token list) in a "\vbox" that -% follows a "\cleaders" that makes the whole vanishes at pages boundaries -% (cf. \url{http://tex.stackexchange.com/a/31615/18401}). -% \begin{macrocode} - \bool_if:nF { \g_@@_for_authors_bool } { - % \xleaders\vbox { - % \bigskip% - % }% - % \vskip\bigskipamount% - \noindent% - \checkoddpage% - \ifoddpage% - \l_@@_bullet_and_rule_odd_tl - \else% - \l_@@_bullet_and_rule_even_tl - \fi% - \bigskip% - }% - \par - \nopagebreak[4] -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \begin{macrocode} - \l_@@_title_box_tl - \normalsize% - \nopagebreak[3] - \bool_if:nF { \tl_if_empty_p:N \g_@@_abstract_body_tl && (\tl_if_empty_p:N \l_@@_people_first_last_names_tl || \g_@@_interview_rubric_bool || \g_@@_rearviewmirror_rubric_bool)} - {% - \par% - \bigskip - \bigskip - \large% - \mbox{}% - \checkoddpage% - \ifoddpage% - \l_@@_abstract_box_tl - \hspace*{11mm}% - \l_@@_authors_box_tl - \else% - \hspace*{-.85\c_@@_outermargin_dim}% - \l_@@_authors_box_tl - \hspace*{11mm}% - \l_@@_abstract_box_tl - \fi% - } - \tl_gclear:N \g_@@_title_tl - \tl_gclear:N \g_@@_subtitle_tl - \tl_gclear:N \g_@@_abstract_body_tl - \normalsize% - \bigskip - \tl_if_empty:NF \g_@@_abstract_body_tl - % {% - % \tl_if_empty:NF \l_@@_people_first_last_names_tl - % {% - % \bigskip - % } - % } - { - \bigskip - } - \bool_if:nT \g_@@_interview_rubric_bool - { -% \end{macrocode} -% -% We set "\parindent" to zero in \enquote{Interview} rubric. -% \begin{macrocode} - \dim_zero:N \parindent - % \tl_if_empty:NF \l_@@_people_photo_tl - % { - % \begin{adjustbox}{center} - % \includegraphics[height=50mm]{\l_@@_people_photo_tl} - % \end{adjustbox} - % } - } - \color{@@_default_text_color}% - \IfBooleanF {#1}% - { - \bool_if:nF { \g_@@_multicols_bool || \g_@@_rearviewmirror_rubric_bool } - { - \begin{multicols}{2}% - } - } - } -% \end{macrocode} -% \end{macro} -% -% We load the file where acronyms are defined. -% \begin{macrocode} -\file_if_exist:nT { \c_@@_acronyms_file_string_tl } {% - \AddToHook{begindocument/before}{\loadglsentries{\c_@@_acronyms_file_string_tl}} -} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% In case of "forauthors" option, we close the "multicols" environment in case -% it isn't closed (which happens if neither "\printbibliography" nor -% "\printauthorsdetails" is used). This should fix issue -% \url{https://github.com/dbitouze/gzt/issues/36}. -% \begin{macrocode} -\bool_if:nT { \g_@@_for_authors_bool } -{ - \AddToHook{enddocument}{% - \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% - } - } -} -% \end{macrocode} -% -% We load the configuration file (only for the issue's class), which has to be -% located in the \TeX{} search path: at least one such a file is provided by the -% class and located in the same directory as the class file. This file is loaded -% at the end of preamble instead of begin of the document in order some settings -% needed in preamble are taken in account. -% \begin{macrocode} -\AddToHook{begindocument/before}{ - \file_if_exist_input:nF {\c_@@_configuration_file_string_tl} - { - \msg_error:nn { gzt } { configuration-file-missing } - } -} -% \end{macrocode} -% -% We make use of \pkg{etoc} to perform the special layout of the table of -% contents. For convenience, it is included in a (long)table (from -% \Pkg{longtable}) and the following code mainly comes from the \pkg{etoc}'s -% documentation. -% \begin{macrocode} -\@ifpackageloaded{etoc}{% - \newif\ifShowPartPageInToc % used before \part{Livres} -% cf etoc manual section Typesetting the TOC as a table -% we use "\unexpanded" rather than more cumbersome but Knuthian "\toks" registers - \newtoks\toctabletok - \newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands only once #2 - #1\expandafter\expandafter\expandafter {\expandafter\the\expandafter #1#2}} - \newcommand*\PreparePart{% - \edef\toctablepiece {% - \ExceptFirstPart {\noexpand\\[-1.5mm]}% - \unexpanded{% - \color{@@_rubric_in_toc_color}\scshape\fontseries{bx}\selectfont% - }% - \unexpanded\expandafter{\etocthelinkedname}& - % \ifShowPartPageInToc - \unexpanded{\bfseries\color{@@_rubric_in_toc_color}}% - \unexpanded\expandafter{\etocthelinkedpage}% - % \fi - \noexpand\\}% - \gdef\ExceptFirstPart ##1{##1}% - } - \newcommand*\PrepareChapter{% - \edef\toctablepiece {% - \unexpanded{\color{@@_article_in_toc_color}\small}% - \unexpanded\expandafter{\etocthelinkedname}& - \unexpanded{\color{@@_article_in_toc_color}\small} - \unexpanded\expandafter{\etocthelinkedpage}% - \noexpand\\[1mm]}% - } - \etocsetstyle{part}{}{} - {\PreparePart \appendtotok\toctabletok\toctablepiece} - {} - \etocsetstyle{chapter}{}{} - {\PrepareChapter \appendtotok\toctabletok\toctablepiece} - {} - \etocsettocstyle - {% - \setlength\LTleft{\c_zero_dim} - \setlength\LTright{\c_zero_dim} - \gdef\ExceptFirstPart ##1{}% - \toctabletok {%\hypersetup{hidelinks}% - \begin{longtable}{@{\extracolsep{\fill}}p{115mm}@{\quad}!{\color{@@_rule_in_toc_color}\vrule width 0.2mm}@{}r@{}}}% - } - {\global\toctabletok\expandafter{% - \the\toctabletok\end{longtable} - } - } - }{} -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \section{Special tools common to the editorial, the table of contents and the -% president message} -% -% We create an internal function that displays the box containing the issue -% number, with possible image on its left, followed below by an arbitrary text -% with a reflection effect. -% \begin{macrocode} -\tl_new:N \g_@@_boxed_issue_number_tl% -\tl_gset:Nn \g_@@_boxed_issue_number_tl {% - \tcbox{\Large\No\g_@@_issue_number_int} -} -\cs_new_protected:Nn \@@_boxed_issue_number:nn -{ - \noindent% - \raisebox{\baselineskip}{% - \tl_if_empty:nF {#1} {% - \makebox[\c_zero_dim][r]{% - % \hspace*{\l_@@_thumbnail_width_dim}% - \begin{adjustbox}{valign=t} - \includegraphics[width=\l_@@_thumbnail_width_dim]{#1}% - \end{adjustbox}% - }% - }% - \bool_if:NTF {\g_@@_special_edition_bool} { - \tl_set:Nn \l_tmpa_tl {\c_@@_short_special_edition_string_tl} - }{ - \tl_set:Nn \l_tmpa_tl {\No\int_use:N\g_@@_issue_number_int} - } - \begin{adjustbox}{valign=t} - \begin{tcolorbox}[% - enhanced,% - title=\l_tmpa_tl,%\int_use:N \g_@@_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_@@_boxed_issue_number_width_dim},% - boxed~title~style={% - size=minimal,% - height=\c_@@_boxed_issue_number_height_dim,% - center~upper,% - before={},% - colback=@@_boxed_issue_number_bg_color,% - sharp~corners=all,% - frame~hidden,% - valign=center,% - }% - ] - \@@_reflected_text:n { #2 }% - \end{tcolorbox} - \end{adjustbox}% - }% - \par% -} -% \end{macrocode} -% -% \begin{macrocode} -\cs_new_protected:Nn \_@@_before_frontmatter_stuff: -{ - \bool_gset_true:N \g_@@_frontmatter_bool% - \pagestyle{@@_frontmatter_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_front_matter_geometry_tl}% -} -\cs_new_protected:Nn \_@@_after_frontmatter_stuff: -{ - \color{@@_default_text_color} - \normalsize% - \clearpage% - \bool_gset_false:N \g_@@_frontmatter_bool% -} -% \end{macrocode} -% -% \begin{macrocode} -\cs_new_protected:Nn \_@@_before_editorial_presidentmessage:nn -{ - \_@@_before_frontmatter_stuff: {} - \@@_boxed_issue_number:nn {#1}{#2} - \color{@@_frontmatter_text_color}% - \fontsize{11}{13.6}\selectfont - \RaggedRight -} -\cs_new_protected:Nn \_@@_after_editorial_presidentmessage: -{ - \justifying - \bigskip - \par -} -% \end{macrocode} -% -% \section{Displaying the editorial} -% -% We create an internal function that displays the editorial. -% \begin{macrocode} -\cs_new_protected:Nn \_@@_before_display_editorial:n -{ - \_@@_before_editorial_presidentmessage:nn {}{#1} -} -\cs_new_protected:Nn \_@@_after_display_editorial: -{ - \_@@_after_editorial_presidentmessage: {} - \hspace*{\fill}% - \bool_if:NTF {\g_@@_special_edition_bool} { - \AtNextCitekey{\defcounter{maxnames}{100}} - \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -editorinchief- 1} - }{ - \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{editorinchief}]{people}{% - \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}% - } - } - % - \_@@_after_frontmatter_stuff: {} -} -\cs_new_protected:Nn \_@@_display_editorial:n -{ - \_@@_before_display_editorial:n {#1} - \file_if_exist_input:nF {\c_@@_editorial_file_string_tl} - {% - \msg_error:nn { gzt } { editorial-file-missing } - } - \_@@_after_display_editorial: {} -} -\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 {% - \tl_set_eq:NN \g_@@_editorial_heading_tl \g_@@_special_edition_editorial_heading_tl - } - } - \NewDocumentCommand \editorial { O{\g_@@_editorial_heading_tl} } - { - \bool_if:NF {\g_@@_for_authors_bool} { - \_@@_display_editorial:n {#1} - } - } -} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \section{Displaying the table of contents} -% -% We create an internal function that displays the table of contents. -% \begin{macrocode} -\cs_new_protected:Nn \_@@_display_toc: -{ - \_@@_before_frontmatter_stuff: {} - \@@_boxed_issue_number:nn {\g_@@_frontcover_image_file_tl}{\c_@@_toc_string_tl} - \phantomsection - \hypertarget{@@_toc}{} - \bool_if:NTF {\g_@@_special_edition_bool} { - \bookmark[dest=@@_toc,level=chapter]{\c_@@_toc_string_tl} - }{ - \bookmark[dest=@@_toc,level=part]{\c_@@_toc_string_tl} - } - \etocsettocdepth.toc{chapter}% - \tableofcontents - \the\toctabletok - \_@@_after_frontmatter_stuff: {} -} -\NewDocumentCommand \gzttableofcontents {} -{ - \bool_if:NF {\g_@@_for_authors_bool} { - \_@@_display_toc: {} - } -} -% \end{macrocode} -% -% \section{Displaying the mini table of contents of the front cover} -% -% We create an internal function that displays the president's message. -% \begin{macrocode} -\tl_new:N \g_@@_frontcover_minitoc_tl% -\tl_new:N \l_@@_minitoc_label_tl% -\cs_new_protected:Nn \_@@_frontcover_minitoc:n -{ - \tl_gset:Nn \g_@@_frontcover_minitoc_tl {#1} -} -\NewDocumentCommand \minitoc { O{} m } -{ - \keys_set:nn { gzt/minitoc } { #1 } - \_@@_frontcover_minitoc:n {#2} -} -% -\newlist{@@_minitoc_list}{itemize}{1} -\setlist[@@_minitoc_list]{itemsep=2ex,label=\textcolor{@@_cover_itemize_label_color}\textbullet} -% -\NewDocumentEnvironment{minitoclist}{} -{% - \cs_set_eq:NN \_@@_orig_item \item - \RenewDocumentCommand \item { s O{} }{% - \tl_set:Nn \l_@@_minitoc_label_tl {##2} - \_@@_orig_item\textbf{##2} - \IfBooleanT {##1} - { - \c_@@_minitoc_rubric_title_separator_string_tl - } - } - \begin{@@_minitoc_list} -}{ - \end{@@_minitoc_list} - \cs_set_eq:NN \item \_@@_orig_item -} -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \section{Displaying the president's message} -% -% We create an internal function that displays the president's message. -% \begin{macrocode} -\cs_new_protected:Nn \_@@_before_display_presidentmessage: -{ - \_@@_before_editorial_presidentmessage:nn {\c_@@_smf_logo_file_string_tl}{\c_@@_president_message_string_tl} - \phantomsection - \par% - \addcontentsline{toc}{part}{\g_@@_smf_short_string_tl}% - \addcontentsline{toc}{chapter}{\c_@@_president_message_string_tl}% -} -\cs_new_protected:Nn \_@@_after_display_presidentmessage: -{ - \_@@_after_editorial_presidentmessage: {} - % - \hspace*{\fill}% - \c_@@_president_message_date_string_tl% - \displaydate{@@_president_message_date}% - \\[1.5mm] - \hspace*{\fill}% - \@@_display_people_by_role:n { president }% - ,\c_space_tl - \c_@@_president_signatory_string_tl - % - \_@@_after_frontmatter_stuff: {} -} -\cs_new_protected:Nn \_@@_display_president_message: -{ - \_@@_before_display_presidentmessage: {} - \file_input:n {\c_@@_president_message_file_string_tl} - \_@@_after_display_presidentmessage: {} -} -\NewDocumentCommand \presidentmessage {} -{ - \bool_if:NF {\g_@@_for_authors_bool} { - \_@@_display_president_message: {} - } -} -% \end{macrocode} -% -% \section{Chapter, sections, etc. customization} -% -% Thanks to \Pkg{titlesec}, the chapter, section, subsection and subsubsection -% formats are customized. -% -% \begin{description} -% \item[Chapter] has a \enquote{block} shape, is typeset in huge and bold face, -% without any number, with a null distance between the (missing) number and -% the title, with a title in enforced lower case but small caps. -% \begin{macrocode} -\titleformat{\chapter}% -[block] -{\Huge\bfseries} -{} -{\c_zero_dim} -{\scshape}% -% \end{macrocode} -% -% \item[Section] has a \enquote{frame} shape, is typeset in bold face, left -% justified and in color, with number typeset in huge, with a negative -% distance between the number and the title, with a title in 12.5pt. -% \begin{macrocode} -\titleformat{\section} -{% - \raggedright% - \bfseries% - \color{@@_section_color} -} -{\fontsize{20}{15}\selectfont\thesection.\enspace} -{-3pt} -{\fontsize{13}{15}\selectfont} -% \end{macrocode} -% -% \item[Subsection:] -% \begin{macrocode} -\titleformat{\subsection} -% [frame] -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{@@_subsection_color}% -} -{\thesubsection\ \textendash{}\ } -{\c_zero_dim} -{} -% \end{macrocode} -% -% \item[Subsubsection:] -% \begin{macrocode} -\titleformat{\subsubsection} -% [frame] -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{@@_subsubsection_color}% -} -{} -{\c_zero_dim} -{} -% \end{macrocode} -% \end{description} -% -% \section{First pages} -% -% At begin of the document, we automatically : -% \begin{itemize} -% \item set the graphic path, -% \item set the page grid if the corresponding option has been passed, -% \item display the front cover and the inside front cover. -% \end{itemize} -% -% \begin{macrocode} -\AddToHook{begindocument}{% - \graphicspath{{\c_@@_issue_images_path_string_tl//}{../\c_@@_issue_images_path_string_tl//}} - % \glsdisablehyper - \g_@@_mainmatter_switch_tl - % \bool_gset_false:N \g_@@_frontmatter_bool - % \bool_gset_true:N \g_@@_mainmatter_bool - % \SetParskip{\c_@@_mainmatter_parskip_skip} - % \pagestyle{@@_mainmatter_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c_@@_main_geometry_tl}% -} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \begin{macrocode} -\AddToHook{begindocument}{% - \dim_if_exist:NTF \g_@@_pagegrid_dim {% - \pagegridsetup{% - enable,% - step=\g_@@_pagegrid_dim% - } - }{% - \pagegridsetup{% - disable% - } - } - % \bool_if:NTF {\g_@@_for_authors_bool} { - % \thispagestyle{empty} - % \includegraphics{gzt-logo} - % \hfill - % \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% - % \par - % \vfill - % \begin{adjustbox}{valign=c,minipage=\linewidth} - % \Large% - % \c_@@_preliminary_version_string_tl% - % \end{adjustbox} - % \vfill - % \newpage - % }{ - % \bool_if:NF {\g_@@_inside_pages_bool} { - % \g_@@_display_frontcover_tl - % \g_@@_display_inside_frontcover_tl - % } - % } - \bool_if:NF {\g_@@_for_authors_bool} { - \bool_if:NF {\g_@@_inside_pages_bool} { - \g_@@_display_frontcover_tl - \bool_if:NTF {\g_@@_coverpage_bool} { - \AddToHook{begindocument/end}{\end{document}} - }{ - \g_@@_display_inside_frontcover_tl - } - } - } -} -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \section{Page styles} -% -% Thanks to \Pkg{titleps} loaded by \pkg{titlesec}'s "pagestyles" option, we define -% some page styles. -% -% \subsection{Common tools} -% -% Here, we define some tools shared by sevral pages styles. -% -% The background footer: -% \begin{macrocode} -\tl_new:N \g_@@_background_footer_tl -\tl_gset:Nn \g_@@_background_footer_tl {% - \draw [@@_footer_bg_color,fill] - (current~page.south~west) - rectangle ([yshift=\c_@@_footer_background_height_dim]current~page.south~east) - ; -} -% \end{macrocode} -% -% The frontmatter head text: -% \begin{macrocode} -\tl_new:N \l_@@_frontmatter_head_text_tl -\tl_set:Nn \l_@@_frontmatter_head_text_tl {% - \bool_if:NTF {\g_@@_special_edition_bool} { - \g_@@_special_edition_title_tl - }{ - \includegraphics{gzt-logo} - } -} -% \end{macrocode} -% -% The rubric head text: -% \begin{macrocode} -% \tl_new:N \l_@@_rubric_head_text_tl -% \tl_set:Nn \l_@@_rubric_head_text_tl {% -% \color{@@_rubric_head_text_color}% -% \fontsize{20}{20}\fontseries{bx}\fontshape{sc}\selectfont% -% \g_@@_rubric_title_tl% -% } -% \end{macrocode} -% -% The frontmatter page head rule: -% \begin{macrocode} -\tl_new:N \g_@@_frontmatter_page_headrule_tl -\tl_gset:Nn \g_@@_frontmatter_page_headrule_tl {% - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) - -- - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) - ;% -} -% \end{macrocode} -% -% The frontmatter page head text: -% \begin{macrocode} -\tl_new:N \g_@@_frontmatter_headtext_tl -\tl_gset:Nn \g_@@_frontmatter_headtext_tl {% - \mbox{}% - \checkoddpage% - \ifoddpage% - \node[ - anchor=north~east,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% - ] at - ([% - xshift=\c_@@_frontmatter_headtext_o_xshift_dim,% - yshift=\c_@@_frontmatter_headtext_yshift_dim% - ]current~page.north~east) {% - \Large - \bool_if:NT {\g_@@_special_edition_bool} { - \c_@@_short_special_edition_string_tl - \c_space_tl - } - \l_@@_frontmatter_head_text_tl - }% - ; - \else% - \node[% - anchor=north~west,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% - ] at - ([% - xshift=\c_@@_frontmatter_headtext_e_xshift_dim,% - yshift=\c_@@_frontmatter_headtext_yshift_dim% - ]current~page.north~west) {% - \Large - \bool_if:NT {\g_@@_special_edition_bool} { - \c_@@_short_special_edition_string_tl - \c_space_tl - } - \l_@@_frontmatter_head_text_tl - }% - ; - \fi% -} -% \end{macrocode} -% -% The mainmatter odd page head rule: -% \begin{macrocode} -\tl_new:N \g_@@_mainmatter_oddpage_headrule_tl -\tl_gset:Nn \g_@@_mainmatter_oddpage_headrule_tl {% - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~east) - -- - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) - ; -} -% \end{macrocode} -% -% The mainmatter even page head rule: -% \begin{macrocode} -\tl_new:N \g_@@_mainmatter_evenpage_headrule_tl -\tl_gset:Nn \g_@@_mainmatter_evenpage_headrule_tl {% - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~west) - -- - ([yshift=\c_@@_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) - ; -} -% \end{macrocode} -% -% We momentarily switch to a \enquote{normal} category code régime in which the -% colon (:) is treated as \enquote{letter}, which is necessary where (here -% \pkg{TikZ} and \pkg{tcolorbox}) code makes use of colon. -% \begin{macrocode} -\ExplSyntaxOff -\tcbuselibrary{breakable,skins,hooks,xparse,theorems,listingsutf8} -\usetikzlibrary{babel,fadings,positioning,calc} -% \end{macrocode} -% -% We create a \enquote{minus} version of each of the previous styles for floats -% with number (and keywords) but without any caption: in such cases, the number -% should not be followed by any separator. -% \begin{macrocode} -\tcbset{% - new/blend into/tables-/.style={% - use counter*=table,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@table}}}},% - new/blend into/figures-/.style={% - use counter*=figure,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@figure}}}},% -} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\gzt@arcthroughthreepoints[4][]% -{ - % \NoAutoSpacing% - \coordinate (middle1) at ($(#2)!.5!(#3)$); - \coordinate (middle2) at ($(#3)!.5!(#4)$); - \coordinate (aux1) at ($(middle1)!1!90:(#3)$); - \coordinate (aux2) at ($(middle2)!1!90:(#4)$); - \coordinate (center) at ($(intersection of middle1--aux1 and middle2--aux2)$); - \filldraw[fill=white,draw=@@_headrule_color,line width=0.25mm,#1] - let \p1=($(#2)-(center)$), - \p2=($(#4)-(center)$), - \n0={veclen(\p1)}, % Radius - \n1={atan2(\y1,\x1)}, % angles - \n2={atan2(\y2,\x2)}, - \n3={\n2>\n1?\n2:\n2+360} - in (#2) arc(\n1:\n3:\n0); - % \foreach \p in {#2,#3,#4,center} - % \fill[red] (\p) circle(2pt); -} -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -\ExplSyntaxOn -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% The rubric page head rule: -% \begin{macrocode} -\tl_new:N \g_@@_rubric_page_head_tl -\tl_gset:Nn \g_@@_rubric_page_head_tl {% - \bool_if:nF { \g_@@_for_authors_bool } { - \tikz[remember~picture,overlay] { - \path (current~page.north~west |- current~page~header~area.south~west) coordinate (_@@_pwest); - \path (current~page.north~east |- current~page~header~area.south~east) coordinate (_@@_peast); - \draw [@@_headrule_color,line~width=\c_@@_header_line_width_dim] - ([yshift=\c_@@_header_line_yshift_dim]_@@_pwest) - -- - ([yshift=\c_@@_header_line_yshift_dim]_@@_peast) - ;% - \tl_if_empty:NF \g_@@_rubric_abstract_tl {% - \mbox{}% - \checkoddpage% - \ifoddpage% - \coordinate (@@_A) at ([xshift=\c_@@_xshift_arccircle_A_dim,yshift=\c_@@_yshift_arccircle_A_dim]current~page.north~west); - \coordinate (@@_B) at ([xshift=\c_@@_xshift_arccircle_B_dim,yshift=\c_@@_yshift_arccircle_B_dim]current~page.north~west) ; - \coordinate (@@_C) at ([xshift=\c_@@_xshift_arccircle_C_dim,yshift=\c_@@_yshift_arccircle_C_dim]current~page.north~west) ; - \gzt@arcthroughthreepoints{@@_A}{@@_B}{@@_C}; - \else% - \coordinate (@@_A) at ([xshift=-\c_@@_xshift_arccircle_A_dim,yshift=\c_@@_yshift_arccircle_A_dim]current~page.north~east); - \coordinate (@@_B) at ([xshift=-\c_@@_xshift_arccircle_B_dim,yshift=\c_@@_yshift_arccircle_B_dim]current~page.north~east) ; - \coordinate (@@_C) at ([xshift=-\c_@@_xshift_arccircle_C_dim,yshift=\c_@@_yshift_arccircle_C_dim]current~page.north~east) ; - \gzt@arcthroughthreepoints{@@_C}{@@_B}{@@_A}; - \fi% - } - } - } -} -% \end{macrocode} -% -% \subsection{Front cover page style} -% -% \begin{macrocode} -\newpagestyle{@@_frontcover_ps}[]{% - \sethead - {}% - {% - \adjustbox{stack=c}{ - {\Large - \c_@@_frontcover_header_string_tl - }\\[7mm] - \adjustbox{scale=2.08}{ - \huge - \bool_if:NT {\g_@@_special_edition_bool} { - \color{@@_generic_dark_color} - } - \l_@@_frontmatter_head_text_tl - }% - }% - }% - {}% - % - \setfoot% - {}% - {}% - {}% -}% -% \end{macrocode} -% -% \subsection{Inside front cover page style} -% -% \begin{macrocode} -\newpagestyle{@@_inside_frontcover_ps}[]{% - \sethead% - [ - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% - { - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - []% - [% - \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {}% -}% -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \subsection{Front matter page style} -% -% \begin{macrocode} -\newpagestyle{@@_frontmatter_ps}[]{% - \widenhead*{\c_@@_front_matter_extra_innermargin_dim}{\c_@@_front_matter_extra_outermargin_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% - { - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% - \c_@@_footer_string_tl - ]% - [ -%<class-article>\c_@@_compiled_string_tl - ]% - { -%<class-article>\c_@@_compiled_string_tl - }% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% -}% -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \subsection{Rubric first page style} -% -% \begin{macrocode} -\newpagestyle{@@_rubric_ps}[]{% - \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% - [ - ]% - [ - ]% - [ - \g_@@_rubric_page_head_tl% - \bool_if:nF { \g_@@_for_authors_bool } { - \adjustbox{raise={\c_@@_header_yshift_dim}{\height},lap=-\c_@@_header_xshift_dim-\linewidth}{% - \includegraphics[width=\c_@@_pictogram_width_dim]{\g_@@_rubric_pictofile_tl}% - }% - }% - ]% - { - \g_@@_rubric_page_head_tl% - }% - {}% - {% - \bool_if:nF { \g_@@_for_authors_bool } { - \adjustbox{raise={\c_@@_header_yshift_dim}{\height},lap=\c_@@_header_xshift_dim}{% - \includegraphics[width=\c_@@_pictogram_width_dim]{\g_@@_rubric_pictofile_tl}% - }% - }% - }% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% - \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% -}% -% \end{macrocode} -% -% \subsection{Advertisement page style} -% -% \begin{macrocode} -\newpagestyle{@@_advertisement_ps}[]{% - \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {\g_@@_mainmatter_evenpage_headrule_tl} - ]% - [% - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl% - }% - ]% - []% - {}% - {% - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl% - } - }% - { - \tikz[remember~picture,overlay] {\g_@@_mainmatter_oddpage_headrule_tl} - }% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% - \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% -} -% \end{macrocode} -% -% \subsection{For blank pages added in order to ensure document total page -% numbers is a multiple of four} -% -% \begin{macrocode} -\newpagestyle{@@_blank_pages_ps}[]{% - \sethead - {}% - {}% - {}% - % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% - \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% -}% -% \end{macrocode} -% -% \subsection{Inside back cover page style} -% -% \begin{macrocode} -\newpagestyle{@@_inside_backcover_ps}[]{% - \sethead% - [ - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% - { - \tikz[remember~picture,overlay] {% - \g_@@_frontmatter_page_headrule_tl% - \g_@@_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - []% - [% - \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {}% -}% -% \end{macrocode} -% -% \subsection{Back cover page style} -% -% \begin{macrocode} -\newpagestyle{@@_backcover_ps}[]{% - \sethead - {}% - {}% - {}% - % - \setfoot% - {}% - {}% - {}% -}% -% \end{macrocode} -% -% We define crop marks. -% \begin{macrocode} -% \bool_if:NT {\g_@@_for_printer_bool} {% -% \AddEverypageHook{% -% \tikz[remember~picture,overlay] {% -% \draw ([yshift=\c_@@_potential_layoutoffset_dim]current~page.south~west) -- +(0.25,0); -% \draw ([xshift=\c_@@_potential_layoutoffset_dim]current~page.south~west) -- +(0,0.25); -% %% lower right -% \draw ([yshift=\c_@@_potential_layoutoffset_dim]current~page.south~east) -- +(-0.25,0); -% \draw ([xshift=-\c_@@_potential_layoutoffset_dim-\c_@@_potential_bindingoffset_dim]current~page.south~east) -- +(0,0.25); -% %% upper left -% \draw ([yshift=-\c_@@_potential_layoutoffset_dim]current~page.north~west) -- +(0.25,0); -% \draw ([xshift=\c_@@_potential_layoutoffset_dim]current~page.north~west) -- +(0,-0.25); -% %% upper right -% \draw ([yshift=-\c_@@_potential_layoutoffset_dim]current~page.north~east) -- +(-0.25,0); -% \draw ([xshift=-\c_@@_potential_layoutoffset_dim-\c_@@_potential_bindingoffset_dim]current~page.north~east) -- +(0,-0.25); -% }% -% }% -% } -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% We draw a gray background at the bottom of each page, but the first one. -% \begin{macrocode} -\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 }% - }% -%<class> }% -} -% \end{macrocode} -% -% \subsection{Main matter page style} -% -% \begin{macrocode} -\newpagestyle{@@_mainmatter_ps}[]{% - \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {\g_@@_mainmatter_evenpage_headrule_tl} - ]% - [% - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{@@_head_text_color}\g_@@_rubric_title_tl% - }% - ]% - []% - {}% - {% - \bool_if:nF { - \g_@@_rearviewmirror_rubric_bool || \g_@@_books_rubric_bool - }{ - \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \bfseries\color{@@_head_text_color}\g_@@_short_title_tl% - } - } - }% - { - \tikz[remember~picture,overlay] {\g_@@_mainmatter_oddpage_headrule_tl} - }% - % -\bool_if:nTF { \g_@@_for_authors_bool } { - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% - \c_@@_footer_string_tl - ]% - [\c_@@_compiled_string_tl]% - {\c_@@_compiled_string_tl}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% - }{ - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% - \c_@@_footer_string_tl - ]% - []% - {}% - {% - \c_@@_footer_string_tl% - }% - {\c_@@_footer_size_font_tl\thepage}% - } -} -% \end{macrocode} -% -% We define a public macro for possible acknowledgements to be used by author(s) -% of articles. -% \begin{macrocode} -\NewDocumentCommand \acknowledgements { +m } { - \@@_article_acknowledgements:n {#1}% -} -% \end{macrocode} -% -% \begin{macro}{\printminibios} -% \begin{macro}{\printauthorsdetails} -% We define the public command which displays -% \begin{itemize} -% \item the affiliation(s), email(s) and minibiographie(s) of the authors, -% \item the acknowledgements if not empty. -% \end{itemize} -% \begin{macrocode} -\NewDocumentCommand \printminibios {} { - \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% - } -% \end{macrocode} -% We force all the previous floats to be processed no later on the page -% following the beginning of the bibliography, \textsc{cv} or -% acknowledgements. -% \begin{macrocode} - \FloatBarrier% - \begin{_@@_minibiographies_acknowledgements_tcbox} - \@@_display_people_by_role:n { author-art-\int_use:N \g_@@_articles_int } - \DTLsavelastrowcount{\_@@_authors_number} - \tl_if_empty:NF \l_@@_article_acknowledgements_tl - {% - \footnotesize - \int_compare:nNnT {\_@@_authors_number}>{0} - { - \par% - \bigskip% - } - \begin{adjustbox}{valign=t,minipage=\linewidth} - \color{@@_acknowledgements_color}% - \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} -} -% \end{macrocode} -% \end{macro} -% We define "\printauthorsdetails" as an alias of "\printminibios". -% \begin{macrocode} -\let\printauthorsdetails\printminibios -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\printbibliography} -% The command for bibliography printing production is redefined in order to let -% it silently: -% \begin{itemize} -% \item beforehand quit the multicolumn environment and enter in the -% "_@@_bibliography_tcbox" environment (which gives a special layout to -% bibliographies, \textsc{cv} and acknowledgements), -% \item afterwards quit the "bibliography_minibiographies_acknowledgements" environment and enter in -% the multicolumn environment. -% \end{itemize} -% \begin{macrocode} -\cs_set_eq:NN \_@@_printbibliography \printbibliography -\RenewDocumentCommand \printbibliography { s O{} } { - \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% - } -% \end{macrocode} -% We force all the previous floats to be processed no later on the page -% following the beginning of the bibliography, \textsc{cv} or -% acknowledgements. -% \begin{macrocode} -% \afterpage{% - \FloatBarrier% -% }% - \begin{_@@_bibliography_tcbox} - \_@@_printbibliography[heading=subbibliography,resetnumbers,#2] - \end{_@@_bibliography_tcbox} - % - \IfBooleanF {#1} - { - \nopagebreak[0] - \printauthorsdetails - } -} -% \end{macrocode} -% \end{macro} -% -% \section{Miscellaneous private commands specific to the journal} -% -% We create miscellaneous private commands specific to the journal. -% -% Command for centuries. -% \begin{macrocode} -\deftranslation[to=French]{_@@_century}{si\`ecle}% -\deftranslation[to=English]{_@@_century}{century}% -\deftranslation[to=French]{_@@_first}{\ier}% -\deftranslation[to=English]{_@@_first}{\up{st}\xspace}% -\deftranslation[to=French]{_@@_nth}{\ieme}% -\deftranslation[to=English]{_@@_nth}{\up{th}\xspace}% -\deftranslation[to=French]{_@@_bc}{avant~J.-C}% -\deftranslation[to=English]{_@@_bc}{BC}% -\cs_new_protected:Nn \_@@_century:n -{ - \textsc{ - \int_to_roman:n {\int_abs:n {#1}} - }% - \int_compare:nNnTF { \int_abs:n {#1} } > { 1 }{\translate{_@@_nth}}{\translate{_@@_first}} -} -\cs_new_protected:Nn \_@@_century_suffix:n -{ - \translate{_@@_century}% - \int_compare:nNnT { #1 } < { 0 }{ - \c_space_tl - \translate{_@@_bc} -% \end{macrocode} -% In case of French language, we add a period just after \enquote{avant~J.-C}, -% but only if the character following the "\century" macro is not a period -% itself. -% \begin{macrocode} - \IfLanguageName {french}{ - \@ifnextchar.% - { - }{ - .\xspace - }% - } - }{ - } -} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% \section{Miscellaneous public commands specific to the journal} -% -% We create miscellaneous public commands specific to the journal. -% -% \begin{macro}{\advertisement} -% For a (not full page) advertisement. -% \begin{macrocode} -\cs_new_protected:Nn \_@@_advertisement:nn - { - \vfill - \begin{center} - \dim_set:Nn \fboxsep {\c_zero_dim} - \fbox{% - \includegraphics[max~size={\linewidth}{\textheight},#1]{#2} - } - \end{center} - \vfill - } -\NewDocumentCommand \advertisement { O{} m } - { - \_@@_advertisement:nn {#1}{#2} - } -% \end{macro} -% -% \begin{macro}{\fullpageadvertisement} -% For a full page advertisement. -% \begin{macrocode} -\cs_new_protected:Nn \_@@_fullpageadvertisement:nn - { - \newpage - \thispagestyle{@@_advertisement_ps} - \begin{minipage}[c][\textheight][c]{\textwidth}% - \centering\includegraphics[max~size={\linewidth}{\textheight},#1]{#2}% - \end{minipage}% - } -\NewDocumentCommand \fullpageadvertisement { O{} m } -{ - \_@@_fullpageadvertisement:nn {#1}{#2} -} -% \end{macro} -% -% \begin{macro}{\aboutfrontcover} -% For a few words about the front cover. -% \begin{macrocode} -\NewDocumentCommand \aboutfrontcover { O{} O{\c_@@_about_frontcover_string_tl} m } -{ - \_@@_about_frontcover:nnn {#1}{#2}{#3}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\cs_new_protected:Nn \_@@_prepare_rubric:nnn {% - \newpage% - \tl_gclear:N \g_@@_rubric_abstract_tl - \tl_gset:Nn \g_@@_rubric_title_tl {#2} - \tl_gset:Nn \g_@@_rubric_pictofile_tl {#3} - \IfNoValueF {#1} - { - \keys_set:nn { gzt/rubric } { #1 } - } - \_@@_rubric:nnn - {\g_@@_rubric_abstract_tl}{\g_@@_rubric_title_tl}{\g_@@_rubric_pictofile_tl}% -} -% \end{macrocode} -% -% \begin{macro}{\rubric} -% For a \enquote{free} rubric. In case of special edition, we set the rubric -% title first as empty and then as the special edition's title plus a constant -% string. Otherwise, this title is freely set. -% \begin{macrocode} -\NewDocumentCommand \rubric {O{}mm} -{ - \bool_if:NTF {\g_@@_special_edition_bool} { - \_@@_rubric:nnn {#1}{#2}{#3}% - \tl_gset:Nn \g_@@_rubric_title_tl {% - \c_@@_short_special_edition_string_tl - \c_space_tl - \g_@@_special_edition_title_tl - } - }{ - \_@@_rubric:nnn {#1}{#2}{#3}% - } -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\NewDocumentCommand \mathematics {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_mathematics_rubric_string_tl}{\c_@@_mathematics_pictogram_file_name_tl} -} -\NewDocumentCommand \dossier {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_dossier_rubric_string_tl}{\c_@@_dossier_pictogram_file_name_tl} -} -\NewDocumentCommand \community {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_community_rubric_string_tl}{\c_@@_hands_pictogram_file_name_tl} -} -\NewDocumentCommand \interview {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_interview_rubric_string_tl}{\c_@@_interview_pictogram_file_name_tl} - \bool_gset_true:N \g_@@_interview_rubric_bool -} -\NewDocumentCommand \teaching {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_teaching_rubric_string_tl}{\c_@@_teaching_pictogram_file_name_tl} -} -\NewDocumentCommand \parity {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_parity_rubric_string_tl}{\c_@@_parity_pictogram_file_name_tl} -} -\NewDocumentCommand \tellme {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_tellme_rubric_string_tl}{\c_@@_tellme_pictogram_file_name_tl} - \bool_gset_true:N \g_@@_tellme_rubric_bool -} -\NewDocumentCommand \information {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_information_rubric_string_tl}{\c_@@_information_pictogram_file_name_tl} -} -\NewDocumentCommand \rearviewmirror {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_rearviewmirror_rubric_string_tl}{\c_@@_rearviewmirror_pictogram_file_name_tl} - \bool_gset_true:N \g_@@_rearviewmirror_rubric_bool -} -\NewDocumentCommand \tribute {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_tribute_rubric_string_tl}{\c_@@_tribute_pictogram_file_name_tl} -} -\NewDocumentCommand \books {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_books_rubric_string_tl}{\c_@@_books_pictogram_file_name_tl} - \bool_gset_true:N \g_@@_books_rubric_bool - \vspace{1.5\c_@@_book_review_frontcover_extend_dim} -} -\NewDocumentCommand \latextips {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_latex_rubric_string_tl}{} -} -\NewDocumentCommand \forum {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_forum_rubric_string_tl}{\c_@@_forum_pictogram_file_name_tl} -} -\NewDocumentCommand \moralreport {O{}} -{ - \_@@_rubric:nnn {#1}{\c_@@_moralreport_rubric_string_tl}{\c_@@_smf_logo_file_string_tl} -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \begin{macro}{\email} -% \begin{macrocode} -\DeclareCiteCommand{\citeinterviewee}{}{% - \printnames{interviewee}% -} -{}{} -\DeclareCiteCommand{\citereviewer}{}{% - \g_@@_blx_given_first_inits_false_tl - \printnames{reviewer}% -} -{}{} -\DeclareCiteCommand{\citereviewerinstitution}{}{% - \printlist{reviewerinstitution}% -} -{}{} -\DeclareCiteCommand{\_@@_cite_public_price}{}{% - \printfield{publicprice}% -} -{}{} -\DeclareCiteCommand{\_@@_cite_smf_price}{}{% - \printfield{smfprice}% -} -{}{} -\DeclareCiteCommand{\citecopublisher}{}{% - \printlist{copublisher}% -} -{}{} -\DeclareCiteCommand{\citefrenchabstract}{}{% - \printfield{frenchabstract}% -} -{}{} -\DeclareCiteCommand{\_@@_cite_englishabstract}{}{% - \printfield{englishabstract}% -} -{}{} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\email} -% For typesetting an email. -% \begin{macrocode} -\NewDocumentCommand \email {m} -{ - \_@@_email:n {#1}% -} -% \end{macro} -% -% \begin{macro}{\question} -% We define a private function for the questions/answers of interviews. -% \begin{macrocode} -\cs_new_protected:Nn \_@@_question:n -{ - \int_incr:N \g_@@_question_int - {% - \par% - \bigskip% - \color{@@_question_color} - #1% - \par% - }% -} -\NewDocumentCommand \question {m} -{ - \_@@_question:n {#1}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\smf} -% \begin{macrocode} -\NewDocumentCommand \smf { s } { - \IfBooleanTF {#1} - { - \g_@@_smf_string_tl - } - { - \g_@@_smf_short_string_tl - } - \xspace -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\surname} -% \begin{macrocode} -\DeclareExpandableDocumentCommand \surname { m } { - \textsc{#1} -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\cad} -% \begin{macro}{\Cad} -% \begin{macrocode} -\NewDocumentCommand \cad { s } { - \IfBooleanTF {#1} - { - \c_@@_cad_string_tl - } - { - \c_@@_cad_short_string_tl - } - \xspace -} -\NewDocumentCommand \Cad { s } { - \IfBooleanTF {#1} - { - \c_@@_Cad_string_tl - } - { - \c_@@_Cad_short_string_tl - } - \xspace -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\gzt} -% \begin{macrocode} -\NewDocumentCommand \gzt { s } { - \IfBooleanTF {#1} - { - \l_@@_gzt_string_tl - } - { - \l_@@_gzt_short_string_tl - } - \xspace -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\gztcl} -% \begin{macro}{\gztarticle} -% \begin{macrocode} -\NewDocumentCommand \gztcl {} -{% - \textsl{\texttt{\c_@@_class_name_tl}} - \xspace -} -\NewDocumentCommand \gztarticlecl {} -{% - \textsl{\texttt{\c_@@_article_class_name_tl}} - \xspace -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\century} -% \begin{macrocode} -\NewDocumentCommand \century { s m } {% - \_@@_century:n {#2}% - \IfBooleanTF {#1} - { - \int_compare:nNnT { #2 } < { 0 }{ - \_@@_century_suffix:n {#2}% - } - } - { - \_@@_century_suffix:n {#2}% - } -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\aside} -% \begin{macrocode} -\NewDocumentCommand \aside { s m } {% - \IfBooleanTF {#1} - { - \c_@@_aside_string_tl{}~#2 - } - { - \c_@@_aside_string_tl{}~#2~\c_@@_aside_string_tl - } -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\tl_new:N \g_@@_font_designer_text_tl% -\cs_new_protected:Nn \@@_font_designer_text:n -{ - \tl_gset:Nn \g_@@_font_designer_text_tl { #1 } -} -\NewDocumentCommand \fontdesignertext {m} -{ - \_@@_font_designer_text:n {#1}% -} -% \end{macrocode} -% -% \begin{macrocode} -\tl_new:N \g_@@_printer_text_tl% -\cs_new_protected:Nn \@@_printer_text:n -{ - \tl_gset:Nn \g_@@_printer_text_tl { #1 } -} -\NewDocumentCommand \printertext {m} -{ - \_@@_printer_text:n {#1}% -} -% \end{macrocode} -% -% Command for epigraphs. -% \begin{macrocode} -\renewcommand{\textflush}{flushepinormal} -\cs_set_eq:NN \_@@_orig_epigraph \epigraph -\cs_new_protected:Nn \_@@_epigraph:nn -{ - \bool_if:nTF { \tl_if_empty_p:n {#2} } - { - \setlength{\epigraphrule}{\c_zero_dim} - } - { - \setlength{\epigraphrule}{.4\p@} - } - \_@@_orig_epigraph{% - \emph{% - \enquote{% - #1% - }% - }% - }% - {% - #2 - } -} -\RenewDocumentCommand \epigraph { m m } -{ - \_@@_epigraph:nn {#1}{#2}% -} -% \end{macrocode} -% -% \begin{macrocode} -\NewDocumentEnvironment{authorsinstructions}{} -{% - \begingroup - \tcbverbatimwrite{\c_@@_authors_instructions_file_tl} -}% -{ - \endtcbverbatimwrite - \endgroup -} -% \end{macrocode} -% -% We provide some public commands and environments to be used for displaying -% (mainly \LaTeX{}) code. -% \begin{macrocode} -\lstdefinestyle{@@_lst_style}{% - escapechar=+, - language=[LaTeX]TeX, - texcsstyle=*\bfseries, - breaklines=true, - basicstyle=\normalfont\ttfamily, - columns=flexible, - inputencoding=utf8/latin1 -}% -\DeclareTotalTCBox{\gztverb}{ v }{verbatim,blank,fuzzy~halo=0pt~with~@@_light_generic_dark_color!8}{#1} -% \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, - breakable, - #1% -} -% \end{macrocode} -% -% We provide public environments "gztfigure" and "gzttable" (and friends) for -% the usual floats. Their layout is based upon \pkg{tcolorbox} features. -% \begin{macrocode} -\DeclareTColorBox[blend~into=figures]{gztfigure}{ O{} } -{ - ,width=\linewidth% - ,blend~before~title=dash% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=figures]{gztfigure*}{ O{} } -{ - ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=tables]{gzttable}{ O{} } -{ - ,width=\linewidth% - ,blend~before~title=dash% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=tables]{gzttable*}{ O{} } -{ - ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{_@@_tcb_notitle}}{}}% -} -\DeclareTColorBox{gztframe}{ O{} } -{ - ,width=\linewidth% - ,_@@_tcb_floats_style% - ,#1% -} -\DeclareTColorBox{gztframe*}{ O{} } -{ - ,float* - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,#1% -} -% -\DeclareTColorBox{gztscan}{ O{} } -{ - #1% - ,width=\textwidth% - ,_@@_tcb_floats_style% - ,size=tight% -} -\DeclareTColorBox{_@@_book_review}{ O{} } -{ - overlay~unbroken~and~first={% - \node at (frame.north~west) { - { - \makebox[\c_zero_dim][l]{% - \adjustbox{raise={-2\height+\c_@@_book_review_frontcover_extend_dim}{\c_zero_dim}}{% - \includegraphics[width=20mm]{\g_@@_bookreview_frontcover_tl}% - }% - } - } - }; - }, - _@@_tcb_book_review_box_style, - #1 -} -\DeclareTColorBox{_@@_bibliography_tcbox}{ O{} } -{ - _@@_tcb_bibliography_style, - #1 -} -\DeclareTColorBox{_@@_minibiographies_acknowledgements_tcbox}{ O{} } -{ - _@@_tcb_minibiographies_acknowledgements_style, - #1 -} -% \end{macrocode} -% -% We provide a public environment "inset" for insets that has the same layout as -% minibiographies and acknowledgements. Its layout is based upon \pkg{tcolorbox} -% features. -% \begin{macrocode} -\DeclareTColorBox{inset}{ O{} } -{ - _@@_tcb_minibiographies_acknowledgements_style, - #1 -} -% \end{macrocode} -% -% We create a "bookreview" environment for the book reviews. -% \begin{macrocode} -\NewDocumentEnvironment{bookreview}{ O{} m } -{ - \keys_set:nn { gzt/bookreview } { #2 } - \begin{_@@_book_review}[#1] - \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% - \xpretonameformat{author}{\color{@@_people_color}}{}{}% - \g_@@_blx_given_first_inits_false_tl - \noindent% - \parbox[][21.5mm][l]{\linewidth}{\fullcite{\g_@@_bookreview_bibkey_tl}} - \tcblower -}{ - \begin{flushright} - % \g_@@_reviewer_tl - \bigskip - \citereviewer{\g_@@_bookreview_bibkey_tl}\\ - \citereviewerinstitution{\g_@@_bookreview_bibkey_tl} - \end{flushright} - % \vspace*{10mm} - \mbox{} - \end{_@@_book_review} -} -% \end{macrocode} -% -% \begin{macrocode} -\DeclareTColorBox{_@@_book_advertisement}{ O{} } -{ - _@@_tcb_book_advertisement_box_style, - #1 -} -\DeclareTColorBox{_@@_inside_cover_tcb}{ O{} } -{ - #1 -} -% \end{macrocode} -% -% We create a "bookadvertisement" environment for the book advertisements. -% \begin{macrocode} -\NewDocumentCommand \bookadvertisement {O{} m} -{ - \newpage{} - \mbox{} - \vfill - \begin{_@@_book_advertisement}[#1] - \fullcite{#2} - \par - \bigskip - \tcblower - \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% - \par{} - \smallskip% - \url{\l_@@_journal_url_tl} - \end{_@@_book_advertisement} - \vfill - \newpage - \bool_gset_false:N \g_@@_advertisement_bool - \bool_gset_true:N \g_@@_mainmatter_bool -} -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class> -% \end{macrocode} -% -% We create a variant of the "\input" macro which cleans the local -% customizations if any and, if necessary open and close the "refsection" and -% "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} - } - \bool_if:NF { \g_@@_backcover_bool } { - \tl_if_in:NnT - { \c_@@_advertisement_directory_string_tl } { #1 } {% - \newpage - \thispagestyle{@@_advertisement_ps} - } - } - \inputfrom{#1}{#2} - \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% - } - \bool_if:NT {\g_@@_refsection_bool} { - \end{refsection} - } - \cleancustomization% -} -% \end{macrocode} -% -% 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 "\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} { - \AddToHook{enddocument/end}{ - \bool_gset_true:N \g_@@_backmatter_bool - \g_@@_display_inside_backcover_tl - \newpage - \g_@@_display_backcover_tl - }% - }% -}% -% \end{macrocode} -% -% If we don't ask the cover page (only), the document total page numbers should -% be a multiple of four and we add the necessary and sufficient number of blank -% pages if it isn't the case (code borrowed from -% \url{http://tex.stackexchange.com/a/83498/18401}). -% \begin{macrocode} -\bool_if:NF {\g_@@_coverpage_bool} { - \bool_if:nF { \g_@@_for_authors_bool } { - \bool_if:nT { \g_@@_inside_pages_bool } { - \AddToHook{enddocument}{% - \prg_replicate:nn - { \int_mod:nn { 4 - \int_mod:nn { \getpagerefnumber{LastPage} } { 4 } } { 4 } } - { \thispagestyle{@@_blank_pages_ps}\null\clearpage } - } - } - } -} -% \end{macrocode} -% -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class-article> -% \end{macrocode} -% -% \begin{macrocode} -\ProcessKeysOptions { gztarticle } -% \end{macrocode} -% -% \begin{macrocode} -\AddToHook{enddocument}{% - \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% - } - \bool_if:NT {\g_@@_refsection_bool} { - \end{refsection} - } -} -% \end{macrocode} -% -% \begin{macrocode} -%</class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% -% \section{Miscellaneous settings} -% -% We gather here miscellaneous settings. -% -% \subsection{Related to \Pkg{pgfplots}} -% -% (French) Numbers format: -% \begin{macrocode} -\pgfplotsset{% - /pgf/number~format/.cd, - use~comma, - 1000~sep={\,}, - min~exponent~for~1000~sep=4 -}% -% \end{macrocode} -% -% \subsection{Related to \Pkg{biblatex}} -% -% \begin{macrocode} -\defbibheading{bibassection}[\bibname]{\section*{#1}}% -\renewcommand{\bibfont}{\normalfont\footnotesize} -% \end{macrocode} -% -% As bibiliographic resource, we add the file of the current issue. -% \begin{macrocode} -\exp_after:wN\addbibresource\exp_after:wN{\c_@@_issue_bib_path_string_tl} -% \end{macrocode} -% -% We create a name format that prints the initial(s) of the first name(s) before -% last name of a cited author. -% \begin{macrocode} -\@ifpackagelater{biblatex}{2016/01/01}{% - \DeclareNameFormat{giveninits-last}{% - \nameparts{#1} - \usebibmacro{name:given-family} - {\namepartfamily} - {\namepartgiveni} - {\namepartprefix} - {\namepartsuffix}% - \usebibmacro{name:andothers}% - } -}{ - \DeclareNameFormat{giveninits-last}{% - \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% - \usebibmacro{name:andothers}% - } -} -\DeclareNameAlias{labelname}{giveninits-last} -% \end{macrocode} -% -% We ensure the space between initial(s) and last name is unbreakable. -% \begin{macrocode} -\renewcommand*\bibnamedelimc{\addnbspace} -\renewcommand*\bibnamedelimd{\addnbspace} -% \end{macrocode} -% -% \begin{macrocode} -\renewbibmacro{in:}{% - \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}} -\renewbibmacro*{journal}{% - \iffieldundef{shortjournal}% - {% - \iffieldundef{journaltitle} - {} - {% - \printtext[journaltitle]% - {% - \printfield[titlecase]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{journalsubtitle}% - }% - }% - }% - {\printtext[journaltitle]{\printfield[titlecase]{shortjournal}}}% -} -\renewbibmacro*{volume+number+eid}{% - \printfield{volume}% - \setunit{\addcomma\c_space_tl}% - \printfield{number}% - \setunit{\addcomma\c_space_tl}% - \printfield{eid}} -\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}} -\DeclareFieldFormat[book]{volume}{\mkbibbold{#1}} -\DeclareFieldFormat[article]{number}{\bibstring{number}#1} -\DeclareLanguageMapping{french}{gzt}% use the new abbreviations -% \end{macrocode} -% -% \subsection{Related to \Pkg{kpfonts}} -% -% We robustify the "\itshape" redefinition (in case of "easyscsl" option), that -% is not robust in \pkg{kpfonts} code -% (cf. \url{https://groups.google.com/d/msg/fr.comp.text.tex/hIi97ipK5qA/WJoPwvH-p1UJ}). -% \begin{macrocode} -\ifkp@easyscsl -\DeclareRobustCommand{\itshape}{\not@math@alphabet\itshape\mathit% - \ifthenelse{\equal{\f@shape}{\scdefault}}{\fontshape{scsl}}{% - \fontshape\itdefault}\selectfont} -\fi -% \end{macrocode} -% -% We replace the \pkg{kpfonts}' \enquote{mathfrak} by the one from -% \enquote{eufrak}, as the former doesn't provide Euler Fraktur digits. -% \begin{macrocode} -\DeclareMathAlphabet\mathfrak{U}{euf}{m}{n} -\SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n} -% \end{macrocode} -% -% \subsection{Related to \Pkg{draftwatermark}} -% -% \begin{macrocode} -\@ifpackageloaded{draftwatermark}{% - \SetWatermarkColor{gray!10}% - \SetWatermarkFontSize{30mm}% - \SetWatermarkText{\text_uppercase:n{\c_@@_draftwatermark_string_tl}}% -}{% -} -% \end{macrocode} -% -% \subsection{Related to \Pkg{TikZ}} -% -% \begin{macrocode} -\tikzset{ - _@@_dots/.style={ - line~width=\c_@@_tikz_dot_diameter_dim, - line~cap=round, - dash~pattern=on~0pt~off~\c_@@_tikz_dot_spacing_dim - }, - _@@_tcb_segmentation_style/.style={ - _@@_dots, - draw=@@_dotfill_color, - shorten~>=~\c_@@_tcb_left_dim+\c_@@_tcb_boxsep_dim, - shorten~<=~\c_@@_tcb_left_dim+\c_@@_tcb_boxsep_dim, - } -} -% \end{macrocode} -% -% \subsection{Related to \Pkg{tcolorbox}} -% -% We set some styles for -% \begin{itemize} -% \item the two public environments "gztfigure(*)" and "gzttable(*)" for the -% usual floats, -% \item the book reviews, -% \item the book advertisements, -% \item the inside frontcover, -% \end{itemize} -% whom layout is based upon \pkg{tcolorbox} features. -% \begin{macrocode} -\tcbset{ - copyright/.style={% - overlay={% - \node[rotate=90,anchor=south~west,font=\tiny] at (frame.south~east) {% - \begin{minipage}[t]{\tcbtextheight} - \copyright{}~#1% - \end{minipage} - };% - }% - }% -} -\tcbset{% - _@@_tcb_floats_style/.style={% - enhanced% - ,every~float=\centering% - ,coltitle=@@_generic_dark_color% - ,colbacktitle=@@_float_title_bg_color% - ,colback=white% - ,colframe=@@_float_frame_color% - ,center~upper% - ,sharp~corners=all% - ,boxrule=0.3mm% - }% -} -\tcbset{% - _@@_tcb_notitle/.style={% - blend~before~title~code={##1} - ,title={\c_space_tl}% - }% -} -\tcbset{% - _@@_tcb_book_review_box_style/.style={% - enhanced,% - colback=@@_book_review_frame_bg_color,% - breakable,% - % height=50mm,% - boxrule=\c_zero_dim, - sharp~corners=all,% - skin=enhancedlast, - leftupper=25mm, - enlarge~bottom~finally~by=-1mm, - middle=4mm, - segmentation~style={_@@_tcb_segmentation_style}% - } -} -\tcbset{% - _@@_tcb_book_advertisement_box_style/.style={% - enhanced,% - colframe=@@_book_advertisement_frame_color,% - colback=@@_book_advertisement_bg_color,% - center~lower, - sharp~corners=all,% - % skin=enhancedlast, - % middle=4mm, - lower~separated=false, - % segmentation~style={_@@_tcb_segmentation_style}% - } -} -\tcbset{% - _@@_tcb_inside_cover_style/.style={% - % split=0.6,% - colback=@@_inside_frontcover_frame_bg_color,% - colbacktitle=@@_inside_frontcover_frame_bg_color,% - sharp~corners=all,% - center~title,% - coltitle=@@_inside_frontcover_frame_title_color,% - fonttitle=\bfseries\large,% - boxrule=\c_zero_dim,% - toptitle=3mm,% - bottomtitle=4mm,% - frame~hidden,% - enhanced,% - height=\c_@@_layoutheight_dim-\c_@@_topmargin_inside_cover_dim-\c_@@_botmargin_dim, - width=\c_@@_inside_cover_box_width_dim, - middle=4mm, - segmentation~style={_@@_tcb_segmentation_style}% - }, - _@@_tcb_inside_frontcover_style/.style={% - _@@_tcb_inside_cover_style, - enlarge~left~by=-\c_@@_inside_cover_offset_dim, - }, - _@@_tcb_inside_backcover_style/.style={% - _@@_tcb_inside_cover_style, - enlarge~left~by=\c_@@_inside_cover_offset_dim, - } -} -\AddToHook{begindocument/before}{% - \bool_if:NTF {\g_@@_special_edition_bool} { - \tcbset{ - _@@_tcb_inside_frontcover_style/.append~style={% - title=\c_@@_special_edition_editorial_board_string_tl - }, - _@@_tcb_inside_backcover_style/.append~style={% - notitle - }, - } - }{ - \tcbset{ - _@@_tcb_inside_frontcover_style/.append~style={% - title=\c_@@_editorial_board_string_tl - }, - _@@_tcb_inside_backcover_style/.append~style={% - title=\file_if_exist:nT { \c_@@_authors_instructions_file_tl } {% - \c_@@_authors_instructions_string_tl - } - }, - } - } -} -\tcbset{% - _@@_tcb_bibliography_style/.style={% - colback=@@_bibliography_minibios_acknowledgements_bg_color, - breakable, - boxrule=\c_zero_dim, - sharp~corners=all,% - enhanced - } -} -\tcbset{% - _@@_tcb_minibiographies_acknowledgements_style/.style={% - colback=@@_bibliography_minibios_acknowledgements_bg_color, - breakable, - boxrule=\c_zero_dim, - extras~unbroken~and~last={drop~lifted~shadow}, - sharp~corners=all,% - skin=enhancedlast, - height~fixed~for=middle, - } -} -\tcbset{% - enlargepage~flexible=\baselineskip, - left=\c_@@_tcb_left_dim, - boxsep=\c_@@_tcb_boxsep_dim, -} -% \end{macrocode} -% -% \subsection{Lists} -% -% We now set the lists layout in order to benefit from \Pkg{enumitem}'s features -% and preserve the layout from \pkg{frenchb}. -% \begin{macrocode} -\setlist[1]{labelindent=\parindent} -\setlist[itemize]{label=\textendash{}, nosep} -\setlist{% - labelwidth=\widthof{\textendash}, - itemsep=0.4ex plus 0.2ex minus 0.2ex, - parsep=0.4ex plus 0.2ex minus 0.2ex, - topsep=0.8ex plus 0.4ex minus 0.4ex, - partopsep=0.4ex plus 0.2ex minus 0.2ex, - leftmargin=!% -} -% \end{macrocode} -% -% \begin{macrocode} -\setlist[description]{ - font= - \bool_if:nTF { \g_@@_books_rubric_bool || \g_@@_inside_frontcover_bool || \g_@@_inside_backcover_bool } - { - \color{black} - }{ - \color{@@_description_label_light_color} - } - \bfseries -} -% \end{macrocode} -% -% \subsection{Miscellaneous} -% -% We fix the \pkg{csquotes}' quotes for PDF strings. -% \begin{macrocode} -\DeclarePlainStyle{«~}{~»}{`}{'} -% \end{macrocode} -% -% We change the default settings of the floats placement. -% \begin{macrocode} -\setcounter{topnumber}{3} -\renewcommand{\topfraction}{0.8} -% \end{macrocode} -% -% We change the default vertical space between text and footnotes. -% \begin{macrocode} -\addtolength{\skip\footins}{.25\baselineskip} -% \end{macrocode} -% -% We change the default horizontal space between columns in multicolumn mode. -% \begin{macrocode} -\setlength{\columnsep}{7mm}% -% \end{macrocode} -% -% We change the way the section counter is displayed (the chapter should not appear). -% \begin{macrocode} -\renewcommand{\thesection}{\arabic{section}}% -% \end{macrocode} -% -% In case \Pkg{siunitx} is loaded, we make it follow the French rules. -% \begin{macrocode} -\@ifpackageloaded{siunitx}{% - \sisetup{locale=FR} -} -% \end{macrocode} -% -% We change the color of the table rules. -% \begin{macrocode} -\arrayrulecolor{@@_arrayrule_color}% -% \end{macrocode} -% -% We change the floating table name (as translated by the \pkg{frenchb} -% module from \Pkg{babel}) from \enquote{Table} to \enquote{Tableau}. -% \begin{macrocode} -\addto\captionsfrench{\def\tablename{{\scshape Tableau}}}% -% \end{macrocode} -% -% \section{Miscellaneous (re)definitions} -% -% We gather here miscellaneous redefinitions. -% -% \subsection{Vectors} -% -% Vectors, even written with "\vec", are typeset with \pkg{esvect}'s "\vv": -% \begin{macrocode} -\RenewDocumentCommand \vec { m } { - \vv{#1} -} -% \end{macrocode} -% -% \begin{macro}{\usetikzlibrary} -% The "\usetikzlibrary" switch is redefined in order to get rid of the bug -% reported here: \url{https://sourceforge.net/p/pgf/bugs/353/}. -% \begin{macrocode} -\cs_set_eq:NN \_@@_orig_usetikzlibrary \usetikzlibrary -\RenewDocumentCommand \usetikzlibrary { m } { - \shorthandoff{:}% - \_@@_orig_usetikzlibrary{#1} - \shorthandon{:}% - % \begingroup - % \NoAutoSpacing - % \_@@_orig_usetikzlibrary{#1} - % \endgroup -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Usual theorems and the like} -% -% Some usual theorems and the like are defined, thanks to \Pkg{thmtools}. First, -% we define a private function "\_@@_new_theorem" that defines: -% \begin{enumerate} -% \item a new (private, \pkg{thmtools}) theorem with 4 arguments: -% \begin{enumerate} -% \item possible additional options to the style "_@@_tcb_alltheorems_style" -% defined earlier for all \enquote{theorems}, -% \item name of the (private) \pkg{thmtools} theorem, -% \item French title for this theorem, -% \item English title for this theorem. -% \end{enumerate} -% \item a public environment based on this private theorem with a the usual -% syntax of \pkg{amsthm} theorems, except it has an optional argument for -% possible additional options to the default styles ("theorem" or -% "definition"). -% \end{enumerate} -% -% \begin{macro}{\bilingual} -% \begin{macrocode} -\cs_new_protected:Nn \_@@_bilingual:nnn -{ - \deftranslation[to=French]{#1}{#2}% - \deftranslation[to=English]{#1}{#3}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\cs_new_protected:Nn \_@@_new_theorem:nnnn -{ - % \_@@_bilingual:nnn {#2}{#3}{#4} - \deftranslation[to=French]{#2}{#3}% - \deftranslation[to=English]{#2}{#4}% - \declaretheorem[% - #1,% - name=\translate{#2} - ]{#2} - \declaretheorem[% - #1,% - name=\translate{#2}, - numbered=no - ]{#2*} -} -\cs_generate_variant:Nn \_@@_new_theorem:nnnn { nnVV } -\declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\itshape]{theorem} -\declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\normalfont]{definition} -\declaretheoremstyle[spaceabove=3pt,bodyfont=\normalfont,qed=\ensuremath{\qedsymbol},headfont=\normalfont\itshape,numbered=no]{proof} -% \end{macrocode} -% -% Then, we define a public command, similar to "\newtheorem", based on -% "\_@@_new_theorem", that lets the user define his own theorems: -% \begin{macrocode} -\RenewDocumentCommand \newtheorem { O{} m } -{ - \tl_clear:N \l_@@_newtheorem_style_tl - \tl_clear:N \l_@@_newtheorem_frenchtitle_tl - \tl_clear:N \l_@@_newtheorem_englishtitle_tl - \tl_set:Nn \l_@@_newtheorem_englishtitle_tl { - \text_titlecase:n {#2} - } - \tl_set:Nf \l_@@_newtheorem_frenchtitle_tl { - \l_@@_newtheorem_englishtitle_tl - } - \tl_set:Nn \l_@@_newtheorem_style_tl { - theorem - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/newtheorem } { #1 } - } - % \tl_if_eq:VVF { \l_@@_newtheorem_englishtitle_tl } { \MakeUppercase #2 } - % {% - % \tl_if_eq:NNF { \l_@@_newtheorem_frenchtitle_tl } { \l_@@_newtheorem_englishtitle_tl } - % {% - % \tl_set:Nf \l_@@_newtheorem_frenchtitle_tl { - % \l_@@_newtheorem_englishtitle_tl - % } - % } - % } - \_@@_new_theorem:nnVV {style=\l_@@_newtheorem_style_tl}{#2}{\l_@@_newtheorem_frenchtitle_tl}{\l_@@_newtheorem_englishtitle_tl} -} -% \end{macrocode} -% -% Finally, we define some usual theorems: -% \begin{macrocode} -\newtheorem[frenchtitle=Th\'eor\`eme]{theorem} -% \newtheorem[frenchtitle=Th\'eor\`eme,englishtitle=Theorem]{theoreme} -\newtheorem[frenchtitle=Corollaire]{corollary} -% \newtheorem[englishtitle=corollary]{corollaire} -\newtheorem{conjecture} -\newtheorem{proposition} -\newtheorem[frenchtitle=Lemme]{lemma} -% \newtheorem[englishtitle=Lemma]{lemme} -\newtheorem[frenchtitle=Axiome]{axiom} -% \newtheorem[englishtitle=Axiom]{axiome} -% -\newtheorem[style=definition,frenchtitle=D\'efinition]{definition} -\newtheorem[style=definition,frenchtitle=Remarque]{remark} -\newtheorem[style=definition,frenchtitle=Exemple]{example} -\newtheorem[style=definition]{notation} -% -\let\proof\relax -\newtheorem[style=proof,frenchtitle=Preuve]{proof} -% -\cs_new_protected:Nn \_@@_clone_theorem:nn -{ - \NewDocumentEnvironment{#1}{} - { - \begin{#2} - } - { - \end{#2} - } - \NewDocumentEnvironment{#1*}{} - { - \begin{#2*} - } - { - \end{#2*} - } -} -\_@@_clone_theorem:nn {theoreme} {theorem} -\_@@_clone_theorem:nn {corollaire}{corollary} -\_@@_clone_theorem:nn {lemme}{lemma} -\_@@_clone_theorem:nn {axiome}{axiom} -\_@@_clone_theorem:nn {remarque}{remark} -\_@@_clone_theorem:nn {exemple}{example} -\_@@_clone_theorem:nn {preuve}{proof} -% \end{macrocode} -% -% \subsection{(Reciprocal) Trigonometric and hyperbolic functions} -% -% Reciprocal trigonometric functions, even written with usual "\arccos", -% "\arcsin", "\arctan", etc. are typeset with an uppercase \enquote{A}: -% \begin{macrocode} -\DeclareMathOperator{\cotan}{cotan} -\DeclareMathOperator{\Arccos}{Arccos} -\DeclareMathOperator{\Arcsin}{Arcsin} -\DeclareMathOperator{\Arctan}{Arctan} -\DeclareMathOperator{\Argch}{Argch} -\DeclareMathOperator{\Argsh}{Argsh} -\DeclareMathOperator{\Argth}{Argth} -\cs_set_eq:NN \_@@_orig_arccos \arccos -\cs_set_eq:NN \_@@_orig_arcsin \arcsin -\cs_set_eq:NN \_@@_orig_arctan \arctan -\RenewDocumentCommand \arccos {} { - \IfLanguageName {french}{\Arccos}{\_@@_orig_arccos}% -} -\RenewDocumentCommand \arcsin {} { - \IfLanguageName {french}{\Arcsin}{\_@@_orig_arcsin}% -} -\RenewDocumentCommand \arctan {} { - \IfLanguageName {french}{\Arctan}{\_@@_orig_arctan}% -} -\DeclareMathOperator{\ch}{ch} -\DeclareMathOperator{\sh}{sh} -\cs_set_eq:NN \_@@_orig_tanh \tanh -\RenewDocumentCommand \tanh {} { - \IfLanguageName {french}{\operatorname{th}}{\_@@_orig_tanh}% -} -\cs_set_eq:NN \_@@_orig_log \log -\cs_set_eq:NN \_@@_orig_lg \lg -\RenewDocumentCommand \log { s } { - \IfBooleanTF {#1} - { - \_@@_orig_log - } - { - \ln - } -} -\RenewDocumentCommand \lg { s } { - \IfBooleanTF {#1} - { - \_@@_orig_lg - } - { - \ln - } -} -\cs_set_eq:NN \_@@_orig_leq \leq -\cs_set_eq:NN \_@@_orig_geq \geq -\RenewDocumentCommand \le {} {% - \IfLanguageName {french}{\leqslant}{\_@@_orig_leq}% -} -\RenewDocumentCommand \leq {} {% - \IfLanguageName {french}{\leqslant}{\_@@_orig_leq}% -} -\RenewDocumentCommand \ge {} {% - \IfLanguageName {french}{\geqslant}{\_@@_orig_geq}% -} -\RenewDocumentCommand \geq {} {% - \IfLanguageName {french}{\geqslant}{\_@@_orig_geq}% -} -\NewDocumentCommand \N {} {\mathbb{N}} -\NewDocumentCommand \Z {} {\mathbb{Z}} -\NewDocumentCommand \D {} {\mathbb{D}} -\NewDocumentCommand \Q {} {\mathbb{Q}} -\NewDocumentCommand \R {} {\mathbb{R}} -\NewDocumentCommand \C {} {\mathbb{C}} -\NewDocumentCommand \K {} {\mathbb{K}} -% \end{macrocode} -% -% We define a token list variable that contains the color of the description -% labels because it won't be constant but will be: -% \begin{itemize} -% \item black in the front matter and in the books rubric -% \end{itemize} -% -% We now leave the \LaTeX3{} programming environment. -% \begin{macrocode} -\ExplSyntaxOff -% \end{macrocode} -% -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \section{Initial configuration file} -% Before the code of the \gztcl{} by itself, we give the initial configuration -% file. -% -% \begin{macrocode} -%<*configuration> -% \end{macrocode} -% -% \begin{macrocode} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Journal data -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\journalsetup{% - publisher = \smf, - address = Institut Henri Poincar\'e\newline - 11 rue Pierre et Marie Curie\newline - 75231 Paris cedex 05, - phone = 01 44 27 67 96, - fax = 01 40 46 90 96, - email = gazette@dma.ens.fr, - url = http://smf.emath.fr, - issn = 0224-8999 -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% SMF President -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\president{Seuret, Stéphane}{}{} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Editor in chief -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\editorinchief{Adamczewski, Boris}{Institut de Mathématiques de Marseille}{boris.adamczewski@math.cnrs.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Editors -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\editor{Colin, Vincent}{Université de Nantes}{vincent.colin@math.univ-nantes.fr} -\editor{Ehrhardt, Caroline}{Université Vincennes Saint-Denis}{caroline.ehrhardt@inrp.fr} -\editor{Gayet, Damien}{Institut Fourier, Grenoble}{damien.gayet@ujf-grenoble.fr} -\editor{Gouëzel, Sébastien}{Université Rennes 1}{sebastien.gouezel@univ-rennes1.fr} -\editor{Helffer, Bernard}{Université Paris-Sud}{bernard.helffer@math.u-psud.fr} -\editor{Loidreau, Pierre}{Université Rennes 1}{pierre.loidreau@univ-rennes1.fr} -\editor{Planchon, Fabrice}{Université de Nice}{fab@unice.fr} -\editor{Queffélec, Martine}{Université Lille 1}{Martine.Queffelec@univ-lille1.fr} -\editor{Seuret, Stéphane}{Université Paris Est Créteil}{seuret@u-pec.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Graphic designer -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\graphicdesigner{Lozanne, Nathalie}{}{n.lozanne@free.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Secretary -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\secretary{Ropartz, Claire}{}{} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LaTeX class designer (and maintainer(s)) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\classdesigner{Bitouzé, Denis}{Université du Littoral Côte d'Opale}{denis.bitouze@univ-littoral.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Font designer text -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\fontdesignertext{Nous utilisons la police \href{http://ctan.org/pkg/kpfonts}{Kp-Fonts} créée par Christophe \textsc{Caignaert}.} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Printer text -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\printertext{Jouve \aside*{1 rue du docteur Sauvé 53100 Mayenne}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Authors instructions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{authorsinstructions} - \begin{description} - \item[Objectifs de la \gzt*{}.] Bulletin interne de la \smf{}, la \gzt{} est - un support privilégié d'expression au sein de la communauté - mathématique. À ce titre, elle informe de l'actualité des mathématiques, de - leur enseignement, de leur histoire, de leur relations avec d'autres - sciences (physique, informatique, biologie, etc.). - - On y trouve donc des articles scientifiques de présentation, ainsi que des - récensions de parutions mathématiques récentes. Elle contient aussi des - informations sur tout ce qui concerne la vie professionnelle d'un - mathématicien (recrutements, conditions de travail, publications - scientifiques, etc.) et aussi des témoignages ou des tribunes libres. - - La \gzt{} paraît à raison de quatre numéros par an avec, optionnellement, un - numéro spécial consacré à un sujet particulier de mathématiques ou bien à un - grand mathématicien. - - Elle est envoyée gratuitement à chaque adhérent. Les numéros actuel et - anciens sont disponibles en ligne - (\url{http://smf4.emath.fr/Publications/Gazette/}). - - \item[Soumission d'article.] Les articles doivent être envoyés au secrétariat, - de préférence par courrier électronique (\email{gazette@dma.ens.fr}), pour - être examinés par le comité de rédaction. Si un article est accepté, son - fichier source doit alors être fourni, de préférence sous forme d'un fichier - \TeX{} ou, à l'extrême rigueur, LibreOffice, OpenOffice ou - Word\textregistered{} ; une saisie de manuscrits est cependant possible pour - des textes courts. - - Les fichiers \TeX{} doivent : - \begin{itemize} - \item de préférence recourir au format \LaTeXe{} : éviter les commandes des - autres formats (tels que plain \TeX{}) ; - \item être si possible \enquote{encodés} en \texttt{UTF-8} ; - \item être le plus \enquote{pur} possible : éviter les macros - \enquote{exotiques} ainsi que les insertions manuelles d'espacements - horizontaux ou verticaux (\gztverb{\hspace}, \gztverb{\hskip}, - \gztverb{\vspace}, \gztverb{\vskip}, \gztverb{\enlargethispage}, etc.). - \end{itemize} - Les illustrations qui ne sont pas directement codées en \TeX{} doivent être - fournies aux formats \texttt{.pdf} (à privilégier) ou, avec un bonne - définition (300~\textsc{dpi} minimum), \texttt{.png} ou \texttt{.jpg}. Le - format \texttt{.eps}, quoique indirectement supporté, est déconseillé. - - Pour faciliter la composition de textes destinés à la \gzt{}, la \smf{} - propose la classe \LaTeX{} \gztarticlecl{} fournie par les distributions - \TeX{} courantes (\TeX{} Live et Mac\TeX{} \aside{à partir de leur version - 2015} ainsi que MiK\TeX{}), et sinon téléchargeable depuis la page - \url{http://ctan.org/pkg/gzt}. Sa documentation détaillée se trouve à la - page \url{http://mirrors.ctan.org/macros/latex/contrib/gzt/doc/gzt-fr.pdf}. - On prendra garde au fait que l'usage de cette classe nécessite une - distribution \TeX{} à jour. - - Pour plus de détails, consulter la page - \url{http://smf.emath.fr/content/la-gazette-des-mathematiciens}. - % - % \item[Rubrique \enquote{Mathématiques}] La \gzt{} publie des articles de - % mathématiques et d'interactions ou applications des mathématiques, - % chargés - % de présenter un résultat, exposer une notion ou de commenter une - % actualité. - % - % Ils s'adressent à un public étendu. Les textes privilégiés sont courts, - % pédagogiques et illustrés par des exemples. - % - % La bibliographie ne vise pas à l'exhaustivité et se concentre sur les - % textes - % introductifs et de référence. - % - % Les articles d'histoire des mathématiques ou contenant des vues - % historiques - % ou épistémologiques sont également bienvenus et doivent être conçus dans - % le - % même esprit. - % - % \item[Rubrique \enquote{Livres}] La rubrique \enquote{Livres} publie des - % recensions s'attachant à présenter des ouvrages de mathématiques et des - % ouvrages sur les mathématiques (leur histoire, leur philosophie, et plus - % généralement tout ce qui a trait aux mathématiques et aux - % mathématiciens). - % - % Quelques recommendations : - % \begin{itemize} - % \item Commencez la recension en donnant quelques informations sur le - % livre - % (titre, nom l'auteur, collection à laquelle il appartient, nom de - % l'éditeur, ville de la maison d'édition, année de la publication, - % nombre - % de pages, \textsc{isbn} et prix en euros ou en dollars). - % \item Précisez à quel public (de quel niveau) s'adresse le livre. - % \item Vous êtes libre de dire ce que vous pensez (dans les limites de la - % politesse et de la correction). Le comité de rédaction se réserve la - % décision finale de publication après relecture de votre recension. - % \item Les recensions doivent être brèves (une ou deux pages, trois au - % maximum) et synthétiser l'apport original d'un ouvrage. Dans le cas - % des - % ouvrages de mathématiques, elles n'ont pas pour objectif de rendre - % compte - % d'une théorie et d'en donner un exposé ; la recension proprement dite - % peut - % toutefois être précédée, à titre d'introduction à l'analyse de - % l'ouvrage, - % d'un bref exposé panoramique et historique des idées générales du - % domaine. - % \item N'insérez pas de bibliographie. - % \item Signez de vos nom et prénom et indiquez les noms de - % l'établissement et - % de la ville où vous exercez. - % \end{itemize} - \end{description} -\end{authorsinstructions} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Font designer -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\fontdesigner{Caignaert, Christophe}{}{} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Réglages divers -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pgfplotsset{compat=1.12}% -% \end{macrocode} -% -% \begin{macrocode} -%</configuration> -% \end{macrocode} -% -% We now give the rest of the code of the source file of the Gazette's logo. -% \begin{macrocode} -%<*class-logo> -% \end{macrocode} -% -% \begin{macrocode} -\ExplSyntaxOff -% -\begin{document} -\frontmatterheadtext -\end{document} -% \end{macrocode} -% -% \begin{macrocode} -%</class-logo> -% \end{macrocode} -% -% \begin{macrocode} -%<*readme-pictograms> -% \end{macrocode} -% -% \begin{macrocode} -# Pictograms possibly missing - -The current directory is supposed to contain the (files of the) logos and -pictograms that illustrate the Gazette whole issues compiled by the SMF. As non -free materials, they are likely to miss here and, in such a case, the `gzt` -class will be replace them by a dummy image (borrowed from the `mwe` package). -% \end{macrocode} -% -% \begin{macrocode} -%</readme-pictograms> -% \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} -% -% \begin{macrocode} -$pdf_mode = 1; - -$bibtex_use = 1; -$bibtex = 'biber %O %B'; - -add_cus_dep('glo', 'gls', 0, 'makeglossaries'); -add_cus_dep('acn', 'acr', 0, 'makeglossaries'); -add_cus_dep('slo', 'sls', 0, 'makeglossaries'); -sub makeglossaries{ - system( "makeglossaries \"$_[0]\"" ); -} - -$makeindex = 'texindy -L french -C utf8'; - -push @generated_exts, 'acn', 'acr', 'alg', 'bcf', 'fls', 'gl*', 'sbl*', 'sl*', 'sym*' ; - -$clean_ext .= 'synctex.gz* run.xml tex.bak ind idx out bbl bcf fdb_latexmk run - tdo listing *~ lo* unq mw tcbtemp ins drv atfi db* ain' ; - -$quote_filenames = 0; -% \end{macrocode} -% -% \begin{macrocode} -%</latexmkrc> -% \end{macrocode} -% -% \begin{macrocode} -\endinput -% \end{macrocode} -% -% \Finale - -%%% Local Variables: -%%% mode: doctex -%%% ispell-local-dictionary: "english" -%%% TeX-command-default: "TeX" -%%% TeX-master: t -%%% End: diff --git a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.cfg b/macros/latex/contrib/gzt/tex/latex/gzt/gzt.cfg deleted file mode 100644 index 6b0acfd120..0000000000 --- a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.cfg +++ /dev/null @@ -1,177 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Journal data -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\journalsetup{% - publisher = \smf, - address = Institut Henri Poincar\'e\newline - 11 rue Pierre et Marie Curie\newline - 75231 Paris cedex 05, - phone = 01 44 27 67 96, - fax = 01 40 46 90 96, - email = gazette@dma.ens.fr, - url = http://smf.emath.fr, - issn = 0224-8999 -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% SMF President -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\president{Seuret, Stéphane}{}{} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Editor in chief -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\editorinchief{Adamczewski, Boris}{Institut de Mathématiques de Marseille}{boris.adamczewski@math.cnrs.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Editors -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\editor{Colin, Vincent}{Université de Nantes}{vincent.colin@math.univ-nantes.fr} -\editor{Ehrhardt, Caroline}{Université Vincennes Saint-Denis}{caroline.ehrhardt@inrp.fr} -\editor{Gayet, Damien}{Institut Fourier, Grenoble}{damien.gayet@ujf-grenoble.fr} -\editor{Gouëzel, Sébastien}{Université Rennes 1}{sebastien.gouezel@univ-rennes1.fr} -\editor{Helffer, Bernard}{Université Paris-Sud}{bernard.helffer@math.u-psud.fr} -\editor{Loidreau, Pierre}{Université Rennes 1}{pierre.loidreau@univ-rennes1.fr} -\editor{Planchon, Fabrice}{Université de Nice}{fab@unice.fr} -\editor{Queffélec, Martine}{Université Lille 1}{Martine.Queffelec@univ-lille1.fr} -\editor{Seuret, Stéphane}{Université Paris Est Créteil}{seuret@u-pec.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Graphic designer -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\graphicdesigner{Lozanne, Nathalie}{}{n.lozanne@free.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Secretary -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\secretary{Ropartz, Claire}{}{} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LaTeX class designer (and maintainer(s)) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\classdesigner{Bitouzé, Denis}{Université du Littoral Côte d'Opale}{denis.bitouze@univ-littoral.fr} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Font designer text -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\fontdesignertext{Nous utilisons la police \href{http://ctan.org/pkg/kpfonts}{Kp-Fonts} créée par Christophe \textsc{Caignaert}.} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Printer text -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\printertext{Jouve \aside*{1 rue du docteur Sauvé 53100 Mayenne}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Authors instructions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{authorsinstructions} - \begin{description} - \item[Objectifs de la \gzt*{}.] Bulletin interne de la \smf{}, la \gzt{} est - un support privilégié d'expression au sein de la communauté - mathématique. À ce titre, elle informe de l'actualité des mathématiques, de - leur enseignement, de leur histoire, de leur relations avec d'autres - sciences (physique, informatique, biologie, etc.). - - On y trouve donc des articles scientifiques de présentation, ainsi que des - récensions de parutions mathématiques récentes. Elle contient aussi des - informations sur tout ce qui concerne la vie professionnelle d'un - mathématicien (recrutements, conditions de travail, publications - scientifiques, etc.) et aussi des témoignages ou des tribunes libres. - - La \gzt{} paraît à raison de quatre numéros par an avec, optionnellement, un - numéro spécial consacré à un sujet particulier de mathématiques ou bien à un - grand mathématicien. - - Elle est envoyée gratuitement à chaque adhérent. Les numéros actuel et - anciens sont disponibles en ligne - (\url{http://smf4.emath.fr/Publications/Gazette/}). - - \item[Soumission d'article.] Les articles doivent être envoyés au secrétariat, - de préférence par courrier électronique (\email{gazette@dma.ens.fr}), pour - être examinés par le comité de rédaction. Si un article est accepté, son - fichier source doit alors être fourni, de préférence sous forme d'un fichier - \TeX{} ou, à l'extrême rigueur, LibreOffice, OpenOffice ou - Word\textregistered{} ; une saisie de manuscrits est cependant possible pour - des textes courts. - - Les fichiers \TeX{} doivent : - \begin{itemize} - \item de préférence recourir au format \LaTeXe{} : éviter les commandes des - autres formats (tels que plain \TeX{}) ; - \item être si possible \enquote{encodés} en \texttt{UTF-8} ; - \item être le plus \enquote{pur} possible : éviter les macros - \enquote{exotiques} ainsi que les insertions manuelles d'espacements - horizontaux ou verticaux (\gztverb{\hspace}, \gztverb{\hskip}, - \gztverb{\vspace}, \gztverb{\vskip}, \gztverb{\enlargethispage}, etc.). - \end{itemize} - Les illustrations qui ne sont pas directement codées en \TeX{} doivent être - fournies aux formats \texttt{.pdf} (à privilégier) ou, avec un bonne - définition (300~\textsc{dpi} minimum), \texttt{.png} ou \texttt{.jpg}. Le - format \texttt{.eps}, quoique indirectement supporté, est déconseillé. - - Pour faciliter la composition de textes destinés à la \gzt{}, la \smf{} - propose la classe \LaTeX{} \gztarticlecl{} fournie par les distributions - \TeX{} courantes (\TeX{} Live et Mac\TeX{} \aside{à partir de leur version - 2015} ainsi que MiK\TeX{}), et sinon téléchargeable depuis la page - \url{http://ctan.org/pkg/gzt}. Sa documentation détaillée se trouve à la - page \url{http://mirrors.ctan.org/macros/latex/contrib/gzt/doc/gzt-fr.pdf}. - On prendra garde au fait que l'usage de cette classe nécessite une - distribution \TeX{} à jour. - - Pour plus de détails, consulter la page - \url{http://smf.emath.fr/content/la-gazette-des-mathematiciens}. - % - % \item[Rubrique \enquote{Mathématiques}] La \gzt{} publie des articles de - % mathématiques et d'interactions ou applications des mathématiques, - % chargés - % de présenter un résultat, exposer une notion ou de commenter une - % actualité. - % - % Ils s'adressent à un public étendu. Les textes privilégiés sont courts, - % pédagogiques et illustrés par des exemples. - % - % La bibliographie ne vise pas à l'exhaustivité et se concentre sur les - % textes - % introductifs et de référence. - % - % Les articles d'histoire des mathématiques ou contenant des vues - % historiques - % ou épistémologiques sont également bienvenus et doivent être conçus dans - % le - % même esprit. - % - % \item[Rubrique \enquote{Livres}] La rubrique \enquote{Livres} publie des - % recensions s'attachant à présenter des ouvrages de mathématiques et des - % ouvrages sur les mathématiques (leur histoire, leur philosophie, et plus - % généralement tout ce qui a trait aux mathématiques et aux - % mathématiciens). - % - % Quelques recommendations : - % \begin{itemize} - % \item Commencez la recension en donnant quelques informations sur le - % livre - % (titre, nom l'auteur, collection à laquelle il appartient, nom de - % l'éditeur, ville de la maison d'édition, année de la publication, - % nombre - % de pages, \textsc{isbn} et prix en euros ou en dollars). - % \item Précisez à quel public (de quel niveau) s'adresse le livre. - % \item Vous êtes libre de dire ce que vous pensez (dans les limites de la - % politesse et de la correction). Le comité de rédaction se réserve la - % décision finale de publication après relecture de votre recension. - % \item Les recensions doivent être brèves (une ou deux pages, trois au - % maximum) et synthétiser l'apport original d'un ouvrage. Dans le cas - % des - % ouvrages de mathématiques, elles n'ont pas pour objectif de rendre - % compte - % d'une théorie et d'en donner un exposé ; la recension proprement dite - % peut - % toutefois être précédée, à titre d'introduction à l'analyse de - % l'ouvrage, - % d'un bref exposé panoramique et historique des idées générales du - % domaine. - % \item N'insérez pas de bibliographie. - % \item Signez de vos nom et prénom et indiquez les noms de - % l'établissement et - % de la ville où vous exercez. - % \end{itemize} - \end{description} -\end{authorsinstructions} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Font designer -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\fontdesigner{Caignaert, Christophe}{}{} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Réglages divers -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pgfplotsset{compat=1.12}% diff --git a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.cls b/macros/latex/contrib/gzt/tex/latex/gzt/gzt.cls deleted file mode 100644 index 7c43454ca0..0000000000 --- a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.cls +++ /dev/null @@ -1,3999 +0,0 @@ -%% -%% This is file `gzt.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gzt.dtx (with options: `class') -%% ----------------------------------------------------------------------------- -%% gzt --- SMF bundle of classes for the French journal "La Gazette des -%% Math'ematiciens" -%% -%% E-mail: denis.bitouze@univ-littoral.fr -%% Released under the LaTeX Project Public License v1.3c or later -%% See http://www.latex-project.org/lppl.txt -%% ----------------------------------------------------------------------------- -\def\gztfileversion{1.0.1} -\def\gztfiledate{2021-02-14} -\def\sectioncommandslist{}% -\let\saved@ifdefinable\@ifdefinable% -\let\saved@@ifdefinable\@@ifdefinable% -\newcommand{\startcustomization}{% - % Redefine \@ifdefinable - \renewcommand{\@ifdefinable}[2]{% - \listadd\sectioncommandslist##1% - \saved@ifdefinable{##1}{##2}% - }% - \renewcommand{\@@ifdefinable}[2]{% - \listadd\sectioncommandslist##1% - \saved@@ifdefinable{##1}{##2}% - }% -}% -\newcommand{\cleancustomization}{% - \forlistloop{\undef}{\sectioncommandslist}% - \def\sectioncommandslist{}% - \let\@ifdefinable\saved@ifdefinable% - \let\@@ifdefinable\saved@@ifdefinable% -}% -\RequirePackage{silence}% -\WarningFilter{kpfonts}{With 'easyscsl' option} -\RequirePackage{xpatch}% -\patchcmd% - {\use@@tikzlibrary}% - {% - \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ - \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% - \expandafter\usepgflibrary\expandafter{\pgf@temp}% - }{% - \tikzerror{I did not find the tikz library - '\pgf@temp'. I looked for files named - tikzlibrary\pgf@temp.code.tex and - pgflibrary\pgf@temp.code.tex, but neither - could be found in the current texmf trees.} - }}% - }% - {% - \@pushfilename - \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ - \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% - \expandafter\usepgflibrary\expandafter{\pgf@temp}% - }{% - \tikzerror{I did not find the tikz library - '\pgf@temp'. I looked for files named - tikzlibrary\pgf@temp.code.tex and - pgflibrary\pgf@temp.code.tex, but neither - could be found in the current texmf trees.} - }}% - \@popfilename - }% - {}{}% -\patchcmd - {\tcb@input@library@in} - {% - \input\tcbpkgprefix#1\relax% - } - {% - \@pushfilename - \input\tcbpkgprefix#1\relax% - \@popfilename - } - {}{} -\RequirePackage{l3keys2e} -\RequirePackage{xparse} -\ExplSyntaxOn -\ProvidesExplClass - {gzt} - {\gztfiledate} - {\gztfileversion} - { - SMF~class~for~the~French~journal^^J - "La~Gazette~des~Math'ematiciens". - } -\NeedsTeXFormat{LaTeX2e} -\bool_new:N \g__gzt_moral_report_bool -\bool_new:N \g__gzt_special_edition_bool -\bool_new:N \g__gzt_for_authors_bool -\bool_new:N \g__gzt_for_printer_bool -\bool_new:N \g__gzt_cover_bool -\bool_new:N \g__gzt_coverpage_bool -\bool_new:N \g__gzt_inside_pages_bool -\bool_new:N \g__gzt_no_inside_backcover_bool -\tl_gset:Nn \g__gzt_moral_report_common_option_tl {% - \AddToHook{begindocument/before} {% - \bool_gset_true:N \g__gzt_moral_report_bool - \bool_gset_true:N \g__gzt_frontcover_without_minitoc_bool - \title[short={\bfseries\c__gzt_moralreport_rubric_string_tl}]{} - \tl_gset:Nn \g__gzt_rubric_title_tl {\c__gzt_moralreport_rubric_string_tl} - } -} -\dim_const:Nn \c__gzt_pagegrid_dim { 1mm} -\tl_gset:Nn \g__gzt_frontcover_image_file_tl {\c__gzt_issue_frontcover_default_image_file_tl} -\tl_gset:Nn \g__gzt_special_edition_color_tl {__gzt_default_cover_color} -\clist_new:N \g__gzt_special_edition_logos_clist -\keys_define:nn { gzt } -{ - pagegrid .dim_gset:N = \g__gzt_pagegrid_dim, - pagegrid .default:n = {\c__gzt_pagegrid_dim}, - forauthors .code:n = {% - \bool_gset_true:N \g__gzt_for_authors_bool% - \bool_gset_true:N \g__gzt_inside_pages_bool% - },% - forprinter .bool_gset:N = \g__gzt_for_printer_bool, - frontcoverimagefile .tl_gset:N = \g__gzt_frontcover_image_file_tl, - frontcoverimagefile .default:n = {frontcover}, - output .choice:, - output / frontcover .code:n = {% - \bool_gset_true:N \g__gzt_for_printer_bool% - \bool_gset_true:N \g__gzt_cover_bool% - },% - output / coverpage .code:n = {% - \bool_gset_true:N \g__gzt_coverpage_bool% - },% - output / insidepages .code:n = {% - \bool_gset_true:N \g__gzt_for_printer_bool% - \bool_gset_true:N \g__gzt_inside_pages_bool% - },% - output / backcover .code:n = {% - \bool_gset_true:N \g__gzt_for_printer_bool% - },% - output / web .code:n = {% - },% - specialedition .code:n = { - \bool_gset_true:N \g__gzt_special_edition_bool - \bool_gset_true:N \g__gzt_frontcover_without_minitoc_bool - \keys_set:nn { gzt / specialedition } {#1} - }, - specialedition / color .code:n = {% - \tl_gset:Nn \g__gzt_special_edition_color_tl {#1} - },% - specialedition / minitoc .code:n = {% - \bool_gset_false:N \g__gzt_frontcover_without_minitoc_bool - },% - specialedition / logos .code:n = {% - \clist_gset:Nn \g__gzt_special_edition_logos_clist {#1} - },% - specialedition / backcover~image .code:n = {% - \tl_gset:Nn \g__gzt_special_edition_backcover_image_tl {#1} - },% - specialedition / title .code:n = {% - \tl_gset:Nn \g__gzt_special_edition_title_tl {#1} - },% - specialedition / short~title .code:n = {% - \tl_gset:Nn \g__gzt_special_edition_short_title_tl {#1} - },% - specialedition / editorial~heading .code:n = {% - \tl_gset:Nn \g__gzt_special_edition_editorial_heading_tl {#1} - },% - specialedition / editorial~author .code:n = {% - \__gzt_people:nnnnnnnn {#1}{}{}{}{}{}{editorinchief}{} - },% - moralreport .code:n = { - \g__gzt_moral_report_common_option_tl - \AddToHook{begindocument/before} {% - \tl_gset:Nn \g__gzt_pdftitle_string_tl {\c__gzt_moralreport_rubric_string_tl} - } - }, -}% -\ProcessKeysOptions { gzt } -\PassOptionsToClass{openany,english,french}{book} -\LoadClass { book } -\PassOptionsToPackage{table,cmyk}{xcolor}% -\PassOptionsToPackage{export}{adjustbox}% -\PassOptionsToPackage{english,french}{translator} -\PassOptionsToPackage{english,french}{babel} -\PassOptionsToPackage{english,french}{varioref} -\PassOptionsToPackage{english,french}{cleveref} -\RequirePackage[group=false]{standalone}% -\RequirePackage{datatool}% -\sys_if_engine_pdftex:TF - { - \RequirePackage[T1]{fontenc} - \RequirePackage[utf8]{inputenc} - }{ - \RequirePackage{fontspec} - } -\RequirePackage[sfmath,easyscsl,noDcommand]{kpfonts} -\RequirePackage[pagestyles]{titlesec}% -\RequirePackage{multicol}% -\RequirePackage{graphicx}% -\RequirePackage{import}% -\RequirePackage{longtable}% -\bool_if:nT { \g__gzt_for_authors_bool } { - \RequirePackage{draftwatermark}[2006/06/30]% -} -\RequirePackage{adjustbox}% -\RequirePackage{mwe} -\RequirePackage{zref-totpages} -\RequirePackage{lastpage} -\RequirePackage{zref-xr}% -\RequirePackage{ragged2e}% -\RequirePackage{xspace}% -\RequirePackage{textcase}% -\RequirePackage{epigraph}% -\RequirePackage[autostyle]{csquotes}% -\RequirePackage[backend=biber,datamodel=gzt,defernumbers=true,autolang=other]{biblatex}% -\@ifpackagelater{biblatex}{2016/01/01}{% - \ExecuteBibliographyOptions{giveninits} -}{ - \ExecuteBibliographyOptions{firstinits} -} -\RequirePackage{array} -\RequirePackage{booktabs} -\RequirePackage{tabularx} -\RequirePackage{nccparskip} -\RequirePackage{multirow} -\RequirePackage{varioref} -\RequirePackage{mathtools} -\RequirePackage{rsfso} -\RequirePackage{esvect} -\RequirePackage{translator}% -\RequirePackage{geometry} -\RequirePackage{babel}% -\RequirePackage{eurosym}% -\RequirePackage{iflang}[2007/11/11]% -\RequirePackage{tableof}% -\RequirePackage{etoc}% -\RequirePackage[babel=true]{microtype}% -\RequirePackage[nodayofweek]{datetime}% -\RequirePackage[inline]{enumitem}% -\RequirePackage{afterpage} -\RequirePackage{xcolor}% -\cs_set_eq:NN \__gzt_orig_preamblecmds \@preamblecmds -\RequirePackage{tikz} -\RequirePackage{pgfplots} -\RequirePackage{tcolorbox} -\RequirePackage{tikzpagenodes} -\RequirePackage[foreground]{pagegrid}% -\RequirePackage{amsthm} -\RequirePackage{thmtools} -\cs_set_eq:NN \@preamblecmds \__gzt_orig_preamblecmds -\RequirePackage{placeins}% -\RequirePackage[hidelinks,hypertexnames=false]{hyperref}% -\RequirePackage[numbered]{bookmark}% -\RequirePackage[nowarn]{glossaries}% -\RequirePackage{cleveref}% -\makeglossaries -\setglossarystyle{indexhypergroup} -\setacronymstyle{long-sc-short} -\sys_if_engine_pdftex:T - { - \renewcommand\familydefault{\sfdefault} - \renewcommand{\ttdefault}{lmtt} - } -\tl_remove_all:Nn \@preamblecmds { \do \DeclareMathOperator } -\tl_remove_all:Nn \@preamblecmds { \do \newacronym } -\tl_remove_all:Nn \@preamblecmds { \do \@declmathop } -\tl_remove_all:Nn \@preamblecmds { \do \usetikzlibrary } -\msg_new:nnnn{gzt}{issue-number-needed}{Option~`#1'~needed!} - {Please~specify~`#1=<number>', - ~otherwise~`<number>'~will~be~set~to - ~`\int_use:N\c__gzt_first_issue_number_int'.} -\msg_new:nnnn{gzt}{unknown-choice}{Choice~`#3'~invalid!} - {Please~specify~#1=#2.} -\msg_new:nnnn{gzt}{configuration-file-missing}{File~`\c__gzt_configuration_file_string_tl'~missing!} - {The~ whole~ issue~ may~ not~ be~ conform~ if~ `\c__gzt_configuration_file_string_tl'~ is~ missing.} -\msg_new:nnnn{gzt}{editorial-file-missing}{File~`\c__gzt_editorial_file_string_tl'~missing!} - {The~ whole~ issue~ requires~ the~ `\c__gzt_editorial_file_string_tl'~ file.} -\int_new:N \g__gzt_editors_in_chief_int -\int_new:N \g__gzt_item_in_rubric_int -\int_new:N \g__gzt_articles_int -\int_new:N \g__gzt_question_int -\int_const:Nn \c__gzt_first_issue_number_int { 143 } -\int_const:Nn \c__gzt_first_issue_year_int { 2015 } -\int_const:Nn \c__gzt_first_issue_month_int { 1 } -\int_const:Nn \c__gzt_interval_in_months_int { 3 } -\tl_const:Nn \c__gzt_journal_short_title_string_tl {Gazette} -\tl_const:Nn \c__gzt_journal_title_string_tl { - \c__gzt_journal_short_title_string_tl{}~des~Math\'ematiciens% -} -\tl_const:Nn \c__gzt_class_name_tl {gzt} -\tl_const:Nn \c__gzt_article_class_name_tl {gztarticle} -\tl_const:Nn \c__gzt_editors_in_chief_string_tl -{ - \int_compare:nNnTF { \g__gzt_editors_in_chief_int } > { 1 } - { \c__gzt_editorsinchief_string_tl } - { \c__gzt_editorinchief_string_tl } -} -\tl_const:Nn \c__gzt_editorinchief_string_tl {R\'edacteur~en~chef } -\tl_const:Nn \c__gzt_editorsinchief_string_tl {R\'edacteurs~en~chef } -\tl_const:Nn \c__gzt_editors_string_tl {R\'edacteurs } -\tl_const:Nn \c__gzt_editorial_board_string_tl {Comit\'e~de~r\'edaction} -\tl_const:Nn \c__gzt_special_edition_editorial_board_string_tl {Num\'ero~sp\'ecial~de~la~Gazette~des~Math\'ematiciens~sous~la~direction~de~:} -\tl_const:Nn \c__gzt_editorial_secretariat_string_tl {Secr\'etariat~de~r\'edaction} -\tl_const:Nn \c__gzt_phone_string_tl {T\'el.} -\tl_const:Nn \c__gzt_fax_string_tl {Fax} -\tl_const:Nn \c__gzt_informations_string_tl {Renseignements} -\tl_const:Nn \c__gzt_publishingdirector_string_tl {Directeur~de~la~publication} -\tl_const:Nn \c__gzt_issn_string_tl {\textsc{issn}} -\tl_const:Nn \c__gzt_isbn_string_tl {\textsc{isbn}} -\tl_const:Nn \c__gzt_latexclass_string_tl {Classe~\LaTeX{}} -\tl_const:Nn \c__gzt_printer_string_tl {Impression} -\tl_const:Nn \c__gzt_configuration_file_string_tl {gzt.cfg} -\tl_const:Nn \c__gzt_artistic_director_string_tl {Conception~graphique} -\AddToHook{begindocument/before}{ - \bool_if:NTF {\g__gzt_special_edition_bool} { - \tl_const:Nn \c__gzt_editorial_heading_string_tl {Avant-propos} - }{ - \tl_const:Nn \c__gzt_editorial_heading_string_tl {\'Editorial} - } -} -\tl_const:Nn \c__gzt_editorinchief_signatory_string_tl {\c__gzt_editorinchief_string_tl~de~la~\c__gzt_journal_title_string_tl} -\tl_const:Nn \c__gzt_toc_string_tl {Sommaire} -\tl_const:Nn \c__gzt_president_message_string_tl {Mot~du~pr\'esident} -\tl_const:Nn \c__gzt_president_signatory_string_tl {pr\'esident~de~la~\g__gzt_smf_short_string_tl} -\tl_const:Nn \c__gzt_editorinchief_message_date_string_tl {Le~\displaydate{__gzt_editorinchief_message_date}} -\tl_const:Nn \c__gzt_president_message_date_string_tl {Le~} -\tl_const:Nn \c__gzt_special_edition_string_tl {\c_space_tl{}sp{\'e}cial} -\tl_const:Nn \c__gzt_long_special_edition_string_tl {Numéro\c__gzt_special_edition_string_tl}% -\tl_const:Nn \c__gzt_short_special_edition_string_tl {\No{}\c__gzt_special_edition_string_tl}% -\AddToHook{begindocument/before}{ - \tl_const:Nn \c__gzt_frontcover_header_string_tl { - \bool_if:NT {\g__gzt_special_edition_bool} { - \text_uppercase:n {\c__gzt_long_special_edition_string_tl} - \medskip - \par - \normalsize - } - \l__gzt_uppercased_date_format\displaydate{__gzt_date} - \bool_if:NF {\g__gzt_special_edition_bool} { - \c_space_tl - \textendash{} - \c_space_tl - \No - \int_use:N\g__gzt_issue_number_int% - } - } -} -\clist_const:Nn \c__gzt__graphics_extensions_clist {png,PNG,jpg,JPG,jpeg,JPEG,pdf,PDF} -\tl_const:Nn \c__gzt_pdftitle_string_tl { - \bool_if:NTF {\g__gzt_moral_report_bool} { - \c__gzt_moralreport_rubric_string_tl - }{ - \c__gzt_journal_title_string_tl - % \c_space_tl - % \textendash{} - % \c_space_tl - % \l__gzt_uppercased_date_format{\displaydate{__gzt_date}} - \c_space_tl - \textendash{} - \c_space_tl - N° - \bool_if:NTF {\g__gzt_special_edition_bool} { - \c__gzt_special_edition_string_tl - \c_space_tl - \g__gzt_special_edition_title_tl - }{ - \int_use:N\g__gzt_issue_number_int - } - } -} -\tl_const:Nn \c__gzt_frontmatter_directory_string_tl {frontmatter} -\tl_const:Nn \c__gzt_backmatter_directory_string_tl {backmatter} -\tl_const:Nn \c__gzt_editorial_file_string_tl {\c__gzt_frontmatter_directory_string_tl/editorial} -\tl_const:Nn \c__gzt_president_message_file_string_tl {\c__gzt_frontmatter_directory_string_tl/presidentmessage} -\tl_const:Nn \c__gzt_issue_path_string_tl {\int_use:N \g__gzt_issue_number_int} -\tl_const:Nn \c__gzt_images_directory_string_tl {images} -\tl_const:Nn \c__gzt_issue_images_path_string_tl {% \c__gzt_issue_path_string_tl/ - \c__gzt_images_directory_string_tl} -\tl_const:Nn \c__gzt_issue_frontcover_default_image_file_tl {frontcover} -\tl_const:Nn \c__gzt_issue_backcover_text_file_string_tl {backcover} -\tl_const:Nn \c__gzt_backcover_page_file_string_tl {\c__gzt_backmatter_directory_string_tl/\c__gzt_issue_backcover_text_file_string_tl} -\tl_const:Nn \c__gzt_special_edition_backcover_text_file_string_tl {abstract_backcover} -\tl_const:Nn \c__gzt_special_edition_backcover_page_file_string_tl {\c__gzt_backmatter_directory_string_tl/\c__gzt_special_edition_backcover_text_file_string_tl} -\tl_const:Nn \c__gzt_special_edition_backcover_picture_string_tl {picture_backcover} -\tl_const:Nn \c__gzt_special_edition_backcover_page_picture_string_tl {\c__gzt_backmatter_directory_string_tl/\c__gzt_special_edition_backcover_picture_string_tl} -\tl_const:Nn \c__gzt_acronyms_file_string_tl {\c__gzt_class_name_tl acronyms} -\tl_const:Nn \c__gzt_authors_instructions_file_extension_tl {ain} -\tl_const:Nn \c__gzt_authors_instructions_file_tl {\c_sys_jobname_str.\c__gzt_authors_instructions_file_extension_tl} -\tl_const:Nn \c__gzt_about_frontcover_string_tl {\`A~propos~de~la~couverture.} -\tl_const:Nn \c__gzt_credit_frontcover_string_tl {cr\'edit} -\tl_const:Nn \c__gzt_authors_instructions_string_tl {Instructions~aux~auteurs} -\tl_const:Nn \c__gzt_preliminary_version_string_tl {% - Ce~document~est~une~{\'e}preuve~vous~permettant~de~contr{\^o}ler~l'int{\'e}grit{\'e}~du~ - texte~d'origine~(et~de~la~bibliographie~s'il~y~en~a~une)~de~votre~article~ - {\`a}~para{\^\i}tre~dans~le~prochain~num{\'e}ro~de~la~\gzt*{}.~La~mise~en~page~ - actuelle~n'est~pas~d{\'e}finitive\,:~votre~article~pourra~en~particulier~ne~pas~ - d{\'e}buter~en~haut~d'une~page.% -} -\tl_const:Nn \c__gzt_tellme_extra_title_string_tl {...\c_space_tl} -\tl_const:Nn \c__gzt_minitoc_rubric_title_separator_string_tl {\c_space_tl\textendash} -\tl_const:Nn \c__gzt_mathematics_pictogram_file_name_tl {picto-mathematics} -\tl_const:Nn \c__gzt_dossier_pictogram_file_name_tl {picto-dossier} -\tl_const:Nn \c__gzt_community_pictogram_file_name_tl {picto-hands} -\tl_const:Nn \c__gzt_interview_pictogram_file_name_tl {picto-interview} -\tl_const:Nn \c__gzt_teaching_pictogram_file_name_tl {picto-teaching} -\tl_const:Nn \c__gzt_parity_pictogram_file_name_tl {picto-parity} -\tl_const:Nn \c__gzt_tellme_pictogram_file_name_tl {picto-tellme} -\tl_const:Nn \c__gzt_information_pictogram_file_name_tl {picto-information} -\tl_const:Nn \c__gzt_rearviewmirror_pictogram_file_name_tl {picto-rearviewmirror} -\tl_const:Nn \c__gzt_tribute_pictogram_file_name_tl {picto-tribute} -\tl_const:Nn \c__gzt_books_pictogram_file_name_tl {picto-books} -\tl_const:Nn \c__gzt_forum_pictogram_file_name_tl {picto-forum} -\tl_const:Nn \c__gzt_mathematics_rubric_string_tl {Math\'ematiques} -\tl_const:Nn \c__gzt_dossier_rubric_string_tl {Dossier} -\tl_const:Nn \c__gzt_community_rubric_string_tl {Vie~de~la~communaut\'e} -\tl_const:Nn \c__gzt_interview_rubric_string_tl {Entretien} -\tl_const:Nn \c__gzt_teaching_rubric_string_tl {Diffusion~des~savoirs} -\tl_const:Nn \c__gzt_parity_rubric_string_tl {Parit\'e} -\tl_const:Nn \c__gzt_tellme_rubric_string_tl {Raconte-moi} -\tl_const:Nn \c__gzt_information_rubric_string_tl {Information} -\tl_const:Nn \c__gzt_rearviewmirror_rubric_string_tl {R\'etroviseur} -\tl_const:Nn \c__gzt_tribute_rubric_string_tl {Carnet} -\tl_const:Nn \c__gzt_books_rubric_string_tl {Livres} -\tl_const:Nn \c__gzt_latex_rubric_string_tl {Astuces~\LaTeX{}} -\tl_const:Nn \c__gzt_forum_rubric_string_tl {Tribune~libre} -\tl_const:Nn \c__gzt_published_with_help_of_string_tl {Publi\'e~avec~le~concours~de~:} -\tl_const:Nn \c__gzt_advertisement_directory_string_tl {advertisement/} -\tl_const:Nn \c__gzt_advertisement_string_tl {Publicit\'e} -\tl_const:Nn \c__gzt_moralreport_rubric_string_tl {Rapport~moral} -\tl_const:Nn \c__gzt_smf_short_string_tl {\textsc{smf}} -\tl_const:Nn \c__gzt_smf_short_pdf_string_tl {SMF} -\tl_const:Nn \c__gzt_smf_string_tl {Soci\'et\'e~Math\'ematique~de~France} -\tl_const:Nn \c__gzt_cad_short_string_tl {c.-\`a-d.} -\tl_const:Nn \c__gzt_cad_string_tl {c'est-\`a-dire} -\tl_const:Nn \c__gzt_Cad_short_string_tl {C.-\`a-d.} -\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}{\text_uppercase:n {\c__gzt_smf_short_string_tl}} - \c_space_tl - \textcolor{__gzt_date_color}{ - \textendash{}\c_space_tl - \bool_if:NTF {\g__gzt_moral_report_bool} { - \text_uppercase:n { \c__gzt_moralreport_rubric_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 }{% - \tl_const:Nn \c__gzt_smf_logo_file_string_tl {logo_SMF} - }{ - \tl_const:Nn \c__gzt_smf_logo_file_string_tl {example-image} - } -\tl_const:Nn \c__gzt_issue_bib_file_suffix_string_tl {__gzt} -\tl_const:Nn \c__gzt_issue_bib_file_string_tl {\c_sys_jobname_str\c__gzt_issue_bib_file_suffix_string_tl.bib} -\tl_const:Nn \c__gzt_issue_bib_path_string_tl {\c__gzt_issue_bib_file_string_tl} -\bool_if:NTF {\g__gzt_special_edition_bool} { - \tl_const:Nn \c__gzt_issue_bib_key_tl {special-edition} -}{ - \tl_const:Nn \c__gzt_issue_bib_key_tl {\int_use:N \g__gzt_issue_number_int} -} -\tl_const:Nn \c__gzt_interview_title_string_tl {En~apart\'e~avec~} -\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 { - \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 -\bool_new:N \g__gzt_inside_frontcover_bool -\bool_new:N \g__gzt_inside_backcover_bool -\bool_new:N \g__gzt_frontmatter_bool -\bool_new:N \g__gzt_rubric_bool -\bool_new:N \g__gzt_interview_rubric_bool -\bool_new:N \g__gzt_tellme_rubric_bool -\bool_new:N \g__gzt_rearviewmirror_rubric_bool -\bool_new:N \g__gzt_books_rubric_bool -\bool_new:N \g__gzt_mainmatter_bool -\bool_new:N \g__gzt_backmatter_bool -\bool_new:N \g__gzt_backcover_bool -\bool_new:N \g__gzt_frontcover_without_minitoc_bool -\bool_new:N \g__gzt_previous_article_with_bibliography_or_minibio_bool -\bool_new:N \g__gzt_advertisement_bool -\bool_new:N \g__gzt_multicols_bool -\bool_new:N \g__gzt_refsection_bool -\dim_const:Nn \c__gzt_rubrics_abstract_width_dim { 85mm} -\dim_const:Nn \c__gzt_rubrics_head_text_abstract_width_dim { 50mm} -\dim_const:Nn \c__gzt_rubrics_head_text_no_abstract_width_dim -{ \c__gzt_rubrics_abstract_width_dim + \c__gzt_rubrics_head_text_abstract_width_dim} -\dim_new:N \l__gzt_rubrics_head_text_width_dim -\dim_const:Nn \c__gzt_layoutheight_dim { 270mm} -\dim_const:Nn \c__gzt_layoutwidth_dim { 210mm} -\dim_const:Nn \c__gzt_printer_layoutoffset_dim { 5mm} -\bool_if:NTF {\g__gzt_for_printer_bool} { - \dim_const:Nn \c__gzt_potential_layoutoffset_dim { \c__gzt_printer_layoutoffset_dim} -}{ - \dim_const:Nn \c__gzt_potential_layoutoffset_dim {\c_zero_dim} -} -\int_const:Nn \c__gzt_thresold_a_int {68} -\int_const:Nn \c__gzt_thresold_b_int {80} -\int_const:Nn \c__gzt_thresold_c_int {88} -\int_const:Nn \c__gzt_thresold_d_int {96} -\int_const:Nn \c__gzt_thresold_e_int {104} -\int_const:Nn \c__gzt_thresold_f_int {120} -\dim_const:Nn \c__gzt_bindingoffset_a_dim {3mm} -\dim_const:Nn \c__gzt_bindingoffset_b_dim {3.5mm} -\dim_const:Nn \c__gzt_bindingoffset_c_dim {3.9mm} -\dim_const:Nn \c__gzt_bindingoffset_d_dim {4.1mm} -\dim_const:Nn \c__gzt_bindingoffset_e_dim {4.5mm} -\dim_const:Nn \c__gzt_bindingoffset_f_dim {5mm} -\int_new:N \g__gzt_total_pages_number_int% -\int_new:N \g__gzt_total_inside_pages_number_int% -\zexternaldocument[self]{\jobname}% -\int_gset:Nn \g__gzt_total_pages_number_int { \zref@extractdefault{selfLastPage}{abspage}{0} } -\int_gset:Nn \g__gzt_total_inside_pages_number_int { \g__gzt_total_pages_number_int - 4 } -\int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_a_int} -{ - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c_zero_dim } -}{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_b_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_a_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_c_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_b_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_d_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_c_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_e_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_d_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_f_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_e_dim } - }{ - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_f_dim } - } - } - } - } - } -} -\bool_if:NTF {\g__gzt_cover_bool} { - \dim_const:Nn \c__gzt_potential_bindingoffset_dim { \c__gzt_printer_bindingoffset_dim } -}{ - \dim_const:Nn \c__gzt_potential_bindingoffset_dim {\c_zero_dim} -} -\dim_const:Nn \c__gzt_paperheight_dim { \c__gzt_layoutheight_dim+2\c__gzt_potential_layoutoffset_dim} -\bool_if:NTF {\g__gzt_cover_bool} { - \dim_const:Nn \c__gzt_paperwidth_dim { - \c__gzt_layoutwidth_dim - + - \c__gzt_potential_layoutoffset_dim - +\c__gzt_potential_bindingoffset_dim - } -}{ - \dim_const:Nn \c__gzt_paperwidth_dim { - \c__gzt_layoutwidth_dim - + - 2 - \c__gzt_potential_layoutoffset_dim - +\c__gzt_potential_bindingoffset_dim - } -} -\dim_const:Nn \c__gzt_frontcover_image_width_dim { - \c__gzt_layoutwidth_dim - + - \c__gzt_printer_layoutoffset_dim -} -\dim_const:Nn \c__gzt_topmargin_dim { 31mm} -\dim_const:Nn \c__gzt_topmargin_frontcover_dim { - \c__gzt_topmargin_dim - + 30mm -} -\dim_const:Nn \c__gzt_topmargin_inside_cover_dim { - \c__gzt_topmargin_dim - +10mm -} -\dim_const:Nn \c__gzt_topmargin_front_matter_dim { - \c__gzt_topmargin_inside_cover_dim -} -\dim_const:Nn \c__gzt_headsep_dim { 24mm} -\dim_const:Nn \c__gzt_headsep_frontcover_dim { - \c__gzt_headsep_dim - +31mm - % -\c__gzt_potential_layoutoffset_dim -} -\dim_const:Nn \c__gzt_headsep_inside_frontcover_dim { - \c__gzt_headsep_dim - +7mm -} -\dim_const:Nn \c__gzt_headsep_front_matter_dim { - \c__gzt_headsep_inside_frontcover_dim -} -\dim_const:Nn \c__gzt_headheight_dim { \c_zero_dim } -\dim_const:Nn \c__gzt_botmargin_dim { 30mm} -\dim_const:Nn \c__gzt_footskip_dim { 26mm} -\dim_const:Nn \c__gzt_extra_margin_dim { 5mm } -\dim_const:Nn \c__gzt_innermargin_dim { 15mm - \c__gzt_potential_bindingoffset_dim + \c__gzt_extra_margin_dim} -\dim_const:Nn \c__gzt_outermargin_dim { 30mm - \c__gzt_extra_margin_dim } -\dim_const:Nn \c__gzt_inside_cover_box_width_dim { 165mm }% -\dim_const:Nn \c__gzt_innermargin_inside_cover_dim { - (\c__gzt_layoutwidth_dim - \c__gzt_inside_cover_box_width_dim)/2 - - \c__gzt_potential_bindingoffset_dim - % + \c__gzt_adjustmargin_dim -} -\dim_const:Nn \c__gzt_outermargin_inside_cover_dim { - (\c__gzt_layoutwidth_dim - \c__gzt_inside_cover_box_width_dim)/2 - % - \c__gzt_adjustmargin_dim -} -\dim_const:Nn \c__gzt_innermargin_backcover_dim { 10mm } -\dim_const:Nn \c__gzt_outermargin_backcover_dim { \c__gzt_innermargin_backcover_dim } -\dim_const:Nn \c__gzt_topmargin_backcover_dim { \c__gzt_innermargin_backcover_dim } -\dim_const:Nn \c__gzt_bottommargin_backcover_dim { \c__gzt_innermargin_backcover_dim } -\dim_const:Nn \c__gzt_frontcover_image_height_dim { 160mm} -\dim_const:Nn \c__gzt_radius_arc_dim { 85mm }% -\dim_const:Nn \c__gzt_frontmatter_headtext_xshift_dim { 19mm }% -\dim_const:Nn \c__gzt_frontmatter_headtext_o_xshift_dim { - -\c__gzt_frontmatter_headtext_xshift_dim -\c__gzt_potential_layoutoffset_dim% -}% -\dim_const:Nn \c__gzt_frontmatter_headtext_e_xshift_dim { - \c__gzt_frontmatter_headtext_xshift_dim +\c__gzt_potential_layoutoffset_dim% -}% -\dim_const:Nn \c__gzt_frontmatter_headtext_yshift_dim { -6.5mm-\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_header_line_width_dim { 0.25mm} -\dim_const:Nn \c__gzt_header_line_yshift_dim { -1mm-\c__gzt_header_line_width_dim}% -\dim_const:Nn \c__gzt_footer_background_height_dim { 10mm + \c__gzt_potential_layoutoffset_dim } -\dim_const:Nn \c__gzt_front_matter_extra_innermargin_dim { 28mm } -\dim_const:Nn \c__gzt_front_matter_extra_outermargin_dim { 7mm } -\dim_const:Nn \c__gzt_inside_cover_offset_dim { \c_zero_dim }% -\dim_const:Nn \c__gzt_pictogram_width_dim { 23mm }% -\dim_const:Nn \c__gzt_header_xshift_dim { \c__gzt_pictogram_width_dim-6mm }% -\dim_const:Nn \c__gzt_header_yshift_dim { 5mm }% -\dim_const:Nn \c__gzt_xshift_arccircle_A_dim { \c__gzt_rubrics_abstract_width_dim+\c__gzt_innermargin_dim+10mm+\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_yshift_arccircle_A_dim { -22mm-\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_xshift_arccircle_B_dim {% - (\c__gzt_rubrics_abstract_width_dim+\c__gzt_innermargin_dim)/2% - % \c__gzt_innermargin_dim+(\c__gzt_rubrics_abstract_width_dim/2)% - % \c__gzt_xshift_arccircle_A_dim/2 -}% -\dim_const:Nn \c__gzt_yshift_arccircle_B_dim { -\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_xshift_arccircle_C_dim { \c__gzt_potential_layoutoffset_dim-5mm }% -\dim_const:Nn \c__gzt_yshift_arccircle_C_dim { -19.75mm-\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_book_review_frontcover_extend_dim { 12mm }% -\dim_const:Nn \c__gzt_tcb_left_dim { 4mm }% -\dim_const:Nn \c__gzt_tcb_boxsep_dim { 1mm }% -\dim_const:Nn \c__gzt_tikz_dot_diameter_dim { 0.33mm }% -\dim_const:Nn \c__gzt_tikz_dot_spacing_dim { 1.05mm }% -\dim_const:Nn \c__gzt_rubric_extra_xoffset_dim { -\c__gzt_innermargin_dim/2 }% -\dim_const:Nn \c__gzt_rubric_xoffset_dim { 14.5mm }% -\dim_const:Nn \c__gzt_boxed_issue_number_width_dim { 30mm} -\dim_const:Nn \c__gzt_boxed_issue_number_height_dim { 8mm} -\dim_new:N \l__gzt_thumbnail_width_dim -\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_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_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} -\dim_const:Nn \c__gzt_minitoc_list_labelsep_dim {1em} -\dim_const:Nn \c__gzt_authors_photos_width_dim {16mm} -\dim_const:Nn \c__gzt_authors_photos_box_width_dim {\c__gzt_authors_photos_width_dim - + 2mm} -\dim_new:N \l__gzt_minibio_width_dim -\geometry{% - papersize={\c__gzt_paperwidth_dim,\c__gzt_paperheight_dim} -} -\bool_if:NTF {\g__gzt_cover_bool} { - \tl_const:Nn \c__gzt_frontcover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutvoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_frontcover_dim - ,headsep=\c__gzt_headsep_frontcover_dim - ,headheight=\c__gzt_headheight_dim - % ,bottom=\c_zero_dim - ,bottom=11mm - ,footskip=\c_zero_dim - ,outer=\c_zero_dim - ,inner=\c__gzt_potential_layoutoffset_dim - ,nomarginpar% - }% -}{ - \tl_const:Nn \c__gzt_frontcover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_frontcover_dim - ,headsep=\c__gzt_headsep_frontcover_dim - ,headheight=\c__gzt_headheight_dim - % ,bottom=\c_zero_dim - ,bottom=11mm - ,footskip=\c_zero_dim - ,hmargin=\c__gzt_potential_layoutoffset_dim - ,nomarginpar% - }% -} -\bool_if:NTF {\g__gzt_cover_bool} { - \tl_const:Nn \c__gzt_inside_cover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutvoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_inside_cover_dim - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_inside_frontcover_dim - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_inside_cover_dim-\c__gzt_potential_layoutoffset_dim - ,outer=\c__gzt_outermargin_inside_cover_dim+\c__gzt_potential_layoutoffset_dim - ,nomarginpar% - }% -}{ - \tl_const:Nn \c__gzt_inside_cover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_inside_cover_dim - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_inside_frontcover_dim - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_inside_cover_dim - ,outer=\c__gzt_outermargin_inside_cover_dim - ,nomarginpar% - }% -} -\tl_const:Nn \c__gzt_front_matter_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - % ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_front_matter_dim% - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_front_matter_dim - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim% - ,inner=\c__gzt_innermargin_dim+\c__gzt_front_matter_extra_innermargin_dim% - ,outer=\c__gzt_outermargin_dim+\c__gzt_front_matter_extra_outermargin_dim% - ,nomarginpar% -}% -\tl_const:Nn \c__gzt_main_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - % ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_dim-15mm% - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_dim-18mm - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_dim - ,outer=\c__gzt_outermargin_dim -}% -\tl_const:Nn \c__gzt_backcover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - % ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_backcover_dim% - % ,top=\c__gzt_topmargin_dim-15mm% - % ,headheight=\c__gzt_headheight_dim - % ,headsep=\c__gzt_headsep_dim-18mm - ,bottom=\c__gzt_bottommargin_backcover_dim - % ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_backcover_dim - ,outer=\c__gzt_outermargin_backcover_dim - ,nomarginpar - ,hcentering - ,twoside=false -} -\skip_const:Nn \c__gzt_editorial_presidentmessage_parskip_skip { 12pt plus 2pt minus .8pt }% -\skip_const:Nn \c__gzt_mainmatter_parskip_skip { 2pt plus .5pt minus .2pt }% -\int_new:N \g__gzt_issue_number_int -\int_new:N \g__gzt_issue_month_int -\int_new:N \g__gzt_issue_year_int -\tl_new:N \g__gzt_frontcover_image_options_tl -\keys_define:nn { gzt/issuesetup } -{ - number .int_gset:N = \g__gzt_issue_number_int, - month .int_gset:N = \g__gzt_issue_month_int, - year .int_gset:N = \g__gzt_issue_year_int, - number .value_required:n = true, - month .value_required:n = true, - year .value_required:n = true, - number .initial:n = 0, - frontcoverimageoptions .tl_gset:N = \g__gzt_frontcover_image_options_tl -} -\tl_new:N \l__gzt_journal_publisher_tl -\tl_new:N \l__gzt_journal_address_tl -\tl_new:N \l__gzt_journal_phone_tl -\tl_new:N \l__gzt_journal_fax_tl -\tl_new:N \l__gzt_journal_email_tl -\tl_new:N \l__gzt_journal_url_tl -\tl_new:N \l__gzt_journal_issn_tl -\tl_new:N \l__gzt_journal_isbn_tl -\keys_define:nn { gzt/journalsetup } -{ - publisher .tl_set:N = \l__gzt_journal_publisher_tl, - address .tl_set:N = \l__gzt_journal_address_tl, - phone .tl_set:N = \l__gzt_journal_phone_tl, - fax .tl_set:N = \l__gzt_journal_fax_tl, - email .tl_set:N = \l__gzt_journal_email_tl, - url .tl_set:N = \l__gzt_journal_url_tl, - issn .tl_set:N = \l__gzt_journal_issn_tl, - isbn .tl_set:N = \l__gzt_journal_isbn_tl, - publisher .value_required:n = true, - address .value_required:n = true, - phone .value_required:n = true, - fax .value_required:n = true, - email .value_required:n = true, - url .value_required:n = true, - issn .value_required:n = true, - isbn .value_required:n = true, -} -\keys_define:nn { gzt/title } -{ - short .tl_gset:N = \g__gzt_short_title_tl, - minishort .tl_gset:N = \g__gzt_mini_short_title_tl, - notintoc .bool_gset:N = \g__gzt_title_not_in_toc_bool, - short .value_required:n = true, - minishort .value_required:n = true, -} -\keys_define:nn { gzt/subtitle } -{ - short .tl_gset:N = \g__gzt_short_subtitle_tl, - minishort .tl_gset:N = \g__gzt_mini_short_subtitle_tl, - notintoc .bool_gset:N = \g__gzt_subtitle_not_in_toc_bool, - short .value_required:n = true, - minishort .value_required:n = true, -} -\keys_define:nn { gzt/rubric } -{ - abstract .tl_gset:N = \g__gzt_rubric_abstract_tl, - title .tl_gset:N = \g__gzt_rubric_title_tl, - pictogram .tl_gset:N = \g__gzt_rubric_pictofile_tl, - abstract .value_required:n = true, - title .value_required:n = true, - pictogram .value_required:n = true, -} -\keys_define:nn { gzt/minitoc } -{ - list .bool_gset:N = \g__gzt_minitoc_list_bool, - help .bool_gset:N = \g__gzt_minitoc_help_bool, - diameter .dim_gset:N = \g__gzt_minitoc_circle_diameter_dim, - textwidth .dim_gset:N = \g__gzt_minitoc_textwidth_dim, - xshift .dim_gset:N = \g__gzt_minitoc_xshift_dim, - yshift .dim_gset:N = \g__gzt_minitoc_yshift_dim, - diameter .value_required:n = true, - textwidth .value_required:n = true, - xshift .value_required:n = true, - yshift .value_required:n = true, -} -\keys_define:nn { gzt/authors } -{ - affiliation .tl_gset:N = \g__gzt_people_affiliation_tl, - email .tl_gset:N = \g__gzt_people_email_tl, - minibio .tl_gset:N = \g__gzt_people_minibio_tl, - photo .tl_gset:N = \g__gzt_people_photo_tl, - webpage .tl_gset:N = \g__gzt_people_webpage_tl, - affiliation .value_required:n = true, - email .value_required:n = true, - minibio .value_required:n = true, - photo .value_required:n = true, - webpage .value_required:n = true, -} -\tl_new:N \g__gzt_interviewee_minibio_tl -\tl_new:N \g__gzt_interviewee_photo_tl -\tl_new:N \g__gzt_interviewee_first_last_name_tl -\keys_define:nn { gzt/interviewees } -{ - minibio .tl_gset:N = \g__gzt_interviewee_minibio_tl, - photo .tl_gset:N = \g__gzt_interviewee_photo_tl, - minibio .value_required:n = true, - photo .value_required:n = true, -} -\tl_new:N \g__gzt_bookreview_frontcover_tl -\tl_new:N \g__gzt_bookreview_bibkey_tl -\keys_define:nn { gzt/bookreview } -{ - frontcover .tl_gset:N = \g__gzt_bookreview_frontcover_tl, - bibkey .tl_gset:N = \g__gzt_bookreview_bibkey_tl, - frontcover .value_required:n = true, - bibkey .value_required:n = true, -} -\tl_new:N \g__gzt_bookadvertisement_frontcover_tl -\tl_new:N \g__gzt_bookadvertisement_bibkey_tl -\keys_define:nn { gzt/bookadvertisement } -{ - frontcover .tl_gset:N = \g__gzt_bookadvertisement_frontcover_tl, - bibkey .tl_gset:N = \g__gzt_bookadvertisement_bibkey_tl, - frontcover .value_required:n = true, - bibkey .value_required:n = true, -} -\tl_new:N \l__gzt_newtheorem_style_tl -\keys_define:nn { gzt/newtheorem } -{ - frenchtitle .tl_set:N = \l__gzt_newtheorem_frenchtitle_tl, - englishtitle .tl_set:N = \l__gzt_newtheorem_englishtitle_tl, - frenchtitle .value_required:n = true, - englishtitle .value_required:n = true, - % - style .choice:, - style / theorem .code:n = {\tl_set:Nn \l__gzt_newtheorem_style_tl {theorem}}, - style / definition .code:n = {\tl_set:Nn \l__gzt_newtheorem_style_tl {definition}}, - style / proof .code:n = {\tl_set:Nn \l__gzt_newtheorem_style_tl {proof}}, - style / unknown .code:n = - \msg_error:nnxxx { gzt } { unknown-choice } - { style } % Name of choice key - { theorem~or~definition~or~proof } % Valid choices - { \exp_not:n {#1} } % Invalid choice given -} -\definecolorset{cmyk}{__gzt_}{_color}{ - generic_dark,1,.60,.10,0; % kind of blue (!) - light_generic_dark,1,.35,0,0 % kind of blue (!), light -} -\colorlet{__gzt_generic_light_color}{black!50} -\colorlet{__gzt_dark_generic_light_color}{black!60} -\colorlet{__gzt_description_label_light_color}{__gzt_dark_generic_light_color} -\colorlet{__gzt_minitoc_color}{__gzt_generic_light_color} -\colorlet{__gzt_cover_itemize_label_color}{__gzt_light_generic_dark_color} -\colorlet{__gzt_default_text_color}{black} -\colorlet{__gzt_head_text_color}{black!65} -\colorlet{__gzt_rubric_head_text_color}{__gzt_head_text_color} -\colorlet{__gzt_bibliography_minibios_acknowledgements_bg_color}{black!10} -\colorlet{__gzt_headrule_color}{__gzt_generic_light_color!65} -\colorlet{__gzt_circlerule_color}{__gzt_generic_dark_color!65} -\colorlet{__gzt_frontmatter_text_color}{black!75} -\colorlet{__gzt_people_color}{__gzt_generic_dark_color} -\colorlet{__gzt_arrayrule_color}{__gzt_generic_dark_color} -\colorlet{__gzt_acknowledgements_color}{__gzt_generic_dark_color} -\colorlet{__gzt_question_color}{__gzt_generic_dark_color} -\colorlet{__gzt_boxed_issue_number_bg_color}{__gzt_generic_dark_color} -\colorlet{__gzt_rule_in_toc_color}{__gzt_generic_dark_color} -\colorlet{__gzt_rubric_in_toc_color}{__gzt_generic_dark_color} -\colorlet{__gzt_article_in_toc_color}{__gzt_frontmatter_text_color} -\colorlet{__gzt_rubric_title_color}{__gzt_generic_light_color} -\colorlet{__gzt_article_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_section_color}{__gzt_generic_dark_color} -\colorlet{__gzt_subsection_color}{__gzt_generic_dark_color!90} -\colorlet{__gzt_subsubsection_color}{__gzt_generic_dark_color!80} -\colorlet{__gzt_rubric_abstract_color}{__gzt_generic_dark_color} -\colorlet{__gzt_article_abstract_color}{__gzt_generic_light_color} -\colorlet{__gzt_dotfill_color}{__gzt_generic_dark_color} -\colorlet{__gzt_about_frontcover_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_reflected_text_color}{__gzt_generic_dark_color} -\colorlet{__gzt_inside_frontcover_frame_bg_color}{__gzt_generic_dark_color!8} -\colorlet{__gzt_inside_frontcover_frame_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_footer_bg_color}{black!10} -\colorlet{__gzt_float_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_float_title_bg_color}{__gzt_generic_dark_color!10} -\colorlet{__gzt_float_frame_color}{__gzt_generic_dark_color!20} -\colorlet{__gzt_chapter_color}{__gzt_generic_dark_color} -\colorlet{__gzt_smf_number_color}{__gzt_generic_dark_color} -\colorlet{__gzt_date_color}{__gzt_generic_light_color} -\colorlet{__gzt_table_head_color}{__gzt_generic_dark_color!25} -\colorlet{__gzt_book_review_frame_bg_color}{__gzt_generic_dark_color!8} -\colorlet{__gzt_book_advertisement_bg_color}{white} -\colorlet{__gzt_book_advertisement_frame_color}{__gzt_generic_dark_color} -\colorlet{__gzt_default_cover_color}{white} -\AddToHook{env/multicols/begin}{ - \bool_gset_true:N \g__gzt_multicols_bool -} -\AddToHook{env/multicols/end}{ - \bool_gset_false:N \g__gzt_multicols_bool -} -\AddToHook{env/refsection/begin}{ - \bool_gset_true:N \g__gzt_refsection_bool -} -\AddToHook{env/refsection/end}{ - \bool_gset_false:N \g__gzt_refsection_bool -} -\tl_const:Nn \c__gzt_footer_size_font_tl { - \fontsize{\c__gzt_footer_height_font_dim}{\c_zero_dim}\selectfont% -} -\tl_new:N \g__gzt_smf_short_string_tl -\tl_new:N \g__gzt_smf_string_tl -\tl_gset:Nn \g__gzt_smf_short_string_tl { - % \cs_if_exist:cTF {texorpdfstring} - % { - \texorpdfstring{\c__gzt_smf_short_string_tl}{\c__gzt_smf_short_pdf_string_tl} - % }{% - % \c__gzt_smf_short_pdf_string_tl - % }% -} -\tl_gset:Nn \g__gzt_smf_string_tl { - % \cs_if_exist:cTF {texorpdfstring} - % { - % \texorpdfstring{Soci\'et\'e~Math\'ematique~de~France}{\c__gzt_smf_string_tl} - \c__gzt_smf_string_tl - % }{% - % \acrlong*{smf} - % }% -} -\tl_new:N \l__gzt_gzt_short_string_tl -\tl_new:N \l__gzt_gzt_string_tl -\tl_set:Nn \l__gzt_gzt_short_string_tl { - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\emph{\c__gzt_journal_short_title_string_tl}}{\c__gzt_journal_short_title_string_tl} - }{% - \emph{\c__gzt_journal_short_title_string_tl} - }% -} -\tl_set:Nn \l__gzt_gzt_string_tl { - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\emph{\c__gzt_journal_title_string_tl}}{\c__gzt_journal_title_string_tl} - }{% - \emph{\c__gzt_journal_title_string_tl} - }% -} -\tl_new:N \g__gzt_pdftitle_string_tl -\tl_new:N \g__gzt_pdfauthor_string_tl -\tl_gset:Nn \g__gzt_pdftitle_string_tl { - \c__gzt_pdftitle_string_tl -} -\tl_gset:Nn \g__gzt_pdfauthor_string_tl { - \g__gzt_smf_string_tl -} -\AddToHook{begindocument/before}{% - \hypersetup{% - pdftitle=\g__gzt_pdftitle_string_tl, - pdfauthor=\g__gzt_pdfauthor_string_tl% - } -} -\cs_new_protected:Nn \__gzt_email:n - { - \href{mailto:#1}{\nolinkurl{#1}}% - } -\cs_new_protected:Nn \__gzt_display_author:nnnnn -{ - \begin{tabular}[t]{p{\c__gzt_authors_photos_box_width_dim}p{0.75\linewidth}} - \tl_if_empty:nF {#5} - {% - \begin{adjustbox}{valign=t} - \includegraphics[width=\c__gzt_authors_photos_width_dim]{#5} - \end{adjustbox}% - } - & - \begin{description}[leftmargin=1em,style=nextline,nosep] - \item[\textcolor{__gzt_people_color}{\DeclareNameAlias{labelname}{default}\citeauthor{#1}}] - \tl_if_empty:nF {#2} - {% - #2% - \par% - \smallskip% - } - \tl_if_empty:nF {#3} - {% - \href{mailto:#3}{\nolinkurl{#3}}% - \par% - \smallskip% - } - \tl_if_empty:nF {#4} - {% - #4 - } - \end{description} - \end{tabular} -} -\cs_generate_variant:Nn \__gzt_display_author:nnnnn { VVVVV } -\DTLnewdb{people} -\tl_new:N \l__gzt_crossref_tl -\cs_new_protected:Nn \__gzt_people:nnnnnnnn -{ - \DTLnewrow{people}% - \DTLnewdbentry{people}{first-last-name}{#1}% - \DTLnewdbentry{people}{affiliation}{#2}% - \DTLnewdbentry{people}{email}{#3}% - \DTLnewdbentry{people}{minibio}{#4}% - \DTLnewdbentry{people}{photo}{#5}% - \DTLnewdbentry{people}{speciality}{#6}% - \DTLnewdbentry{people}{role}{#7}% - \DTLnewdbentry{people}{webpage}{#8}% - \int_if_exist:cF {g__gzt_#7_int} - { - \int_new:c {g__gzt_#7_int} - } - \int_incr:c {g__gzt_#7_int} - \tl_if_in:nnTF { #7 } { author } { - \tl_set:Nn \l__gzt_crossref_tl {\c__gzt_issue_bib_key_tl -art-\int_use:N \g__gzt_articles_int} - } { - \tl_set:Nn \l__gzt_crossref_tl {\c__gzt_issue_bib_key_tl} - } - \tl_set:Nn \l__gzt_people_first_last_name_tl {#1} - \iow_now:Nx \g__gzt_bib_out_iow {% - @article{ - \c__gzt_issue_bib_key_tl -#7- \int_use:c {g__gzt_#7_int}, - \iow_newline: - author={\exp_not:V\l__gzt_people_first_last_name_tl}, - \iow_newline: - options={skipbib}, - \iow_newline: - crossref = {\l__gzt_crossref_tl} - \iow_newline: - } - \iow_newline: - }% -} -\cs_generate_variant:Nn \__gzt_people:nnnnnnnn { nVVVVnxV } -\cs_new_protected:Nn \__gzt_display_academic_signature:n -{ - \bigskip - \begin{__gzt_minibiographies_acknowledgements_tcbox} - #1 - \end{__gzt_minibiographies_acknowledgements_tcbox} -} -\cs_new_protected:Nn \__gzt_display_people_by_role:n -{ - \DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{#1}]{people}{% - \l__gzt_firstlastname_tl=first-last-name% - ,\l__gzt_people_affiliation_tl=affiliation% - ,\l__gzt_people_email_tl=email% - ,\l__gzt_people_minibio_tl=minibio% - ,\l__gzt_people_photo_tl=photo% - ,\l__gzt_people_speciality=speciality% - ,\l__gzt_people_role_tl=role% - ,\l__gzt_people_webpage_tl=webpage% - }{% - \tl_if_in:NnTF \l__gzt_people_role_tl { editor } { - \item[ - \textcolor{__gzt_people_color}{% - \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex}% - } - \tl_if_in:NnF \l__gzt_people_speciality { NoValue } { ~(\l__gzt_people_speciality) } - ] - \leavevmode - \vbox_top:n {% - \l__gzt_people_affiliation_tl% - \newline% - \href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}% - } - \medskip% - }{ - \tl_if_in:NnTF \l__gzt_people_role_tl { author } { - \tl_if_empty:NF \l__gzt_firstlastname_tl { - \footnotesize% - % \noindent% - \DTLiffirstrow{% - }{ - \DTLpar% - \medskip% - } - \dim_set:Nn \l__gzt_minibio_width_dim {\linewidth-1em - \c__gzt_authors_photos_box_width_dim} - \tl_if_empty:NTF \l__gzt_people_photo_tl - {% - \dim_add:Nn \l__gzt_minibio_width_dim {\c__gzt_authors_photos_box_width_dim} - }{% - \begin{adjustbox}{valign=t,minipage=\c__gzt_authors_photos_box_width_dim} - \includegraphics[width=\c__gzt_authors_photos_width_dim]{\l__gzt_people_photo_tl} - \end{adjustbox}% - \quad% - } - \begin{adjustbox}{valign=t,minipage=\l__gzt_minibio_width_dim} - \begin{description}[leftmargin=1em,style=nextline] - \item[% - \textcolor{__gzt_people_color}{% - \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex}% - }% - ] - \tl_if_empty:NF \l__gzt_people_affiliation_tl - {% - \mbox{}% - \par% - \vspace{-2ex}% - \l__gzt_people_affiliation_tl% - } - \tl_if_empty:NF \l__gzt_people_email_tl - {% - \par% - \href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}% - } - \tl_if_empty:NF \l__gzt_people_webpage_tl - {% - \par% - \url{\l__gzt_people_webpage_tl}% - } - \tl_if_empty:NF \l__gzt_people_minibio_tl - {% - \par% - \smallskip% - \l__gzt_people_minibio_tl - } - \end{description} - \end{adjustbox} - } - }{ - \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -#1- - \exp_not:V\DTLcurrentindex}% - \tl_if_empty:NF \l__gzt_people_email_tl - { - \c_space_tl(\href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}) - } - } - } - } -} -\cs_new_protected:Nn \__gzt_reflected_text:n -{ - \begin{tikzpicture} - \tikzset{__gzt_reflect_node/.style={% - anchor=base,% - inner~sep=0,% - line~width=0,% - font=\Huge, - color=__gzt_reflected_text_color% - }% - }% - \node[__gzt_reflect_node]{#1}; - \node[scope~fading=south,opacity=0.2,yscale=-1,__gzt_reflect_node]{#1}; - \end{tikzpicture} -} -\tl_new:N \g__gzt_display_frontcover_tl% -\tl_gset:Nn \g__gzt_display_frontcover_tl {% - \bool_gset_true:N \g__gzt_frontcover_bool - \pagenumbering{roman}% - \pagestyle{__gzt_frontcover_ps}% - \pagecolor{\g__gzt_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_frontcover_geometry_tl}% - \noindent% - \bool_if:NTF {\g__gzt_cover_bool} { - \hspace*{-\c__gzt_potential_layoutoffset_dim} - }{ - \hspace*{-2\c__gzt_potential_layoutoffset_dim} - } - \exp_after:wN\includegraphics\exp_after:wN[\g__gzt_frontcover_image_options_tl]{\g__gzt_frontcover_image_file_tl} - \begin{tikzpicture}[remember~picture, overlay] - \coordinate (__gzt_circle_minitoc_center) at - ([xshift=\g__gzt_minitoc_xshift_dim-\c__gzt_potential_layoutoffset_dim,yshift=\g__gzt_minitoc_yshift_dim+\c__gzt_potential_layoutoffset_dim]current~page.south~east) ; - \node[name=__gzt_circle_minitoc,shape=circle,inner~sep=\c_zero_dim,fill=\g__gzt_special_edition_color_tl,text~width=\g__gzt_minitoc_circle_diameter_dim] at - (__gzt_circle_minitoc_center) {}; - \node[text~width=\g__gzt_minitoc_textwidth_dim,anchor=north~west] at - ([xshift=\c__gzt_minitoc_from_circle_xshift_dim,yshift=\c__gzt_minitoc_from_circle_yshift_dim]$ (__gzt_circle_minitoc.north)!.5!(__gzt_circle_minitoc.west) $) - { - \bool_if:NF {\g__gzt_frontcover_without_minitoc_bool} { - \large - \color{__gzt_minitoc_color} - \g__gzt_frontcover_minitoc_tl - } - }; - \bool_if:NT {\g__gzt_minitoc_help_bool} { - \fill[red] (__gzt_circle_minitoc_center) circle (2pt); - } - \end{tikzpicture} - \bool_if:NT {\g__gzt_cover_bool} { - \small - \begin{tikzpicture}[remember~picture, overlay] - \node[name=__gzt_binding_sw,inner~sep=\c_zero_dim,fill=\g__gzt_special_edition_color_tl,rotate=90,anchor=west] at - ([xshift=0.45\c__gzt_potential_bindingoffset_dim,yshift=15mm+\c__gzt_potential_layoutoffset_dim]current~page.south~west) { - \No - \bool_if:NTF {\g__gzt_special_edition_bool} { - \c__gzt_special_edition_string_tl - }{ - \int_use:N\g__gzt_issue_number_int - } - }; - \node[name=__gzt_binding_w,inner~sep=\c_zero_dim,fill=\g__gzt_special_edition_color_tl,rotate=90] at - ([xshift=0.45\c__gzt_potential_bindingoffset_dim]current~page.west) { - \bool_if:NTF {\g__gzt_special_edition_bool} { - \tl_if_exist:NTF \g__gzt_special_edition_short_title_tl {% - \g__gzt_special_edition_short_title_tl - }{ - \g__gzt_special_edition_title_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 - ([xshift=0.45\c__gzt_potential_bindingoffset_dim,yshift=-15mm-\c__gzt_potential_layoutoffset_dim]current~page.north~west) { - \l__gzt_uppercased_date_format\displaydate{__gzt_date} - }; - \end{tikzpicture} - } - \vfill% - \noindent% - \hspace*{10mm}% - \hspace*{-\c__gzt_potential_layoutoffset_dim} - \includegraphics[height=22.5mm]{\c__gzt_smf_logo_file_string_tl}% - \bool_if:NT {\g__gzt_special_edition_bool} { - \hfill - \includegraphics[scale=1.2]{gzt-logo} - \hspace*{10mm} - } - % \vfill% - \clearpage% - \bool_gset_false:N \g__gzt_frontcover_bool - \nopagecolor -} -\tl_new:N \g__gzt_display_inside_frontcover_tl% -\tl_gset:Nn \g__gzt_display_inside_frontcover_tl {% - \bool_gset_true:N \g__gzt_inside_frontcover_bool% - \pagestyle{__gzt_inside_frontcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_inside_cover_geometry_tl}% - \small% - \setlength{\columnseprule}{2pt} - \renewcommand{\columnseprulecolor}{\color{white}} - \begin{__gzt_inside_cover_tcb}[__gzt_tcb_inside_frontcover_style] - \begin{multicols}{2} - \setlength{\columnsep}{1mm} - \bool_if:NTF {\g__gzt_special_edition_bool} { - \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,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,labelindent=\c_zero_dim] - \__gzt_display_people_by_role:n {editor} - \end{description} - \end{description} - } - \end{multicols} - \setlength{\columnseprule}{1pt} - \tcblower - \begin{tabular}{@{}m{.75\c__gzt_inside_cover_box_width_dim}@{}m{.2\c__gzt_inside_cover_box_width_dim-2\tabcolsep}@{}} - \begin{description}[leftmargin=1em] - \item[\c__gzt_editorial_secretariat_string_tl{}~:] \ \par% - \l__gzt_journal_publisher_tl% - % \par% - \c_space_tl\textendash{}\c_space_tl% - \__gzt_display_people_by_role:n { secretary }\par - \l__gzt_journal_address_tl\par% - \c__gzt_phone_string_tl{}~:~\l__gzt_journal_phone_tl{} \c_space_tl\textendash{}\c_space_tl - \c__gzt_fax_string_tl{}~:~\l__gzt_journal_fax_tl\par% - \href{mailto:\l__gzt_journal_email_tl}{\nolinkurl{\l__gzt_journal_email_tl}}% - % \newline% - \c_space_tl\textendash{}\c_space_tl - \url{\l__gzt_journal_url_tl} - \item[\c__gzt_publishingdirector_string_tl{}~:] - \__gzt_display_people_by_role:n { president } - \item[\c__gzt_issn_string_tl{}~:] \l__gzt_journal_issn_tl - \tl_if_empty:NF \l__gzt_journal_isbn_tl - {% - \item[\c__gzt_isbn_string_tl{}~:] \l__gzt_journal_isbn_tl - } - \bool_if:NT {\g__gzt_no_inside_backcover_bool} { - \item[\c__gzt_latexclass_string_tl{}~:] - \__gzt_display_people_by_role:n { classdesigner } - \item[\c__gzt_artistic_director_string_tl{}~:] - \__gzt_display_people_by_role:n { graphicdesigner } - \item[\c__gzt_printer_string_tl{}~:] \g__gzt_printer_text_tl - } - \end{description} - \bool_if:NT {\g__gzt_no_inside_backcover_bool} { - \g__gzt_font_designer_text_tl - } - & - \hspace*{\fill}% - \includegraphics[height=20mm]{\c__gzt_smf_logo_file_string_tl}% - \end{tabular} - % \\ - % \c__gzt_font_string_tl - \bigskip - \tl_if_empty:NF \g__gzt_about_frontcover_tl - {% - \\ - \begin{adjustbox}{valign=t,minipage=.75\c__gzt_inside_cover_box_width_dim+.2\c__gzt_inside_cover_box_width_dim-2\tabcolsep} - \begin{description}[leftmargin=1em,font=\color{__gzt_about_frontcover_title_color}] - \item[\g__gzt_about_frontcover_string_tl] \g__gzt_about_frontcover_tl - \bool_if:NT {\g__gzt_credit_frontcover_bool} { - \c_space_tl(\c__gzt_credit_frontcover_string_tl{}~:~% - \DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{frontcovercredit}]{people}{% - \l__gzt_firstlastname_tl=first-last-name% - ,\l__gzt_people_role_tl=role% - }{% - \__gzt_citeauthor_no_firstinits:n - {\c__gzt_issue_bib_key_tl -frontcovercredit- \exp_not:V\DTLcurrentindex}% - }% - ).% - } - \end{description} - \end{adjustbox} - } - \end{__gzt_inside_cover_tcb} - \clearpage% - \pagenumbering{arabic}% - \bool_gset_false:N \g__gzt_inside_frontcover_bool -} -\tl_new:N \g__gzt_display_inside_backcover_tl% -\tl_gset:Nn \g__gzt_display_inside_backcover_tl {% - \bool_gset_true:N \g__gzt_inside_backcover_bool% - \cleardoublepage% - \pagestyle{__gzt_inside_backcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_inside_cover_geometry_tl}% - \bool_if:NTF {\g__gzt_no_inside_backcover_bool} { - \hbox{} - }{% - \small% - \begin{__gzt_inside_cover_tcb}[__gzt_tcb_inside_backcover_style] - \bool_if:NF {\g__gzt_special_edition_bool} { - % \begin{multicols}{2} - % \setlength{\columnsep}{1mm} - \file_if_exist_input:n {\c__gzt_authors_instructions_file_tl} - % \end{multicols} - % \setlength{\columnseprule}{1pt} - \tcblower - } - \begin{description}[leftmargin=1em] - \item[\c__gzt_latexclass_string_tl{}~:] - \__gzt_display_people_by_role:n { classdesigner } - \item[\c__gzt_artistic_director_string_tl{}~:] - \__gzt_display_people_by_role:n { graphicdesigner } - \item[\c__gzt_printer_string_tl{}~:] \g__gzt_printer_text_tl - \end{description} - \g__gzt_font_designer_text_tl - \end{__gzt_inside_cover_tcb} - } - \bool_gset_false:N \g__gzt_inside_backcover_bool -} -\tl_new:N \g__gzt_display_backcover_tl% -\tl_gset:Nn \g__gzt_display_backcover_tl {% - \bool_gset_true:N \g__gzt_backcover_bool - \pagestyle{__gzt_backcover_ps}% - \pagecolor{\g__gzt_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_backcover_geometry_tl}% - \bool_if:NTF {\g__gzt_special_edition_bool} { - \mbox{} - \vfill - \clist_map_inline:Nn \c__gzt__graphics_extensions_clist{ - \file_if_exist:nT {\c__gzt_issue_images_path_string_tl/\g__gzt_special_edition_backcover_image_tl.#1} { - \begin{center} - \includegraphics[width=.25\linewidth]{\g__gzt_special_edition_backcover_image_tl} - \end{center} - \bigskip - \clist_map_break: - } - } - \group_begin: - \leftskip.125\linewidth - \rightskip\leftskip - \file_if_exist_input:nF {\c__gzt_special_edition_backcover_page_file_string_tl} - {% - \c_empty_box - } - \par - \group_end: - \vfill - \clist_if_empty:NF \g__gzt_special_edition_logos_clist { - \vfill - \noindent - \clist_map_inline:Nn \g__gzt_special_edition_logos_clist { - \hfill - \includegraphics[height=2cm]{#1} - \hfill - } - \mbox{} - } - }{ - \file_if_exist_input:nF {\c__gzt_backcover_page_file_string_tl} - {% - \hbox{} - } - } -} -\NewDocumentCommand \editorinchief {ommm} -{ - \int_incr:N \g__gzt_editors_in_chief_int - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{editorinchief}{} -} -\NewDocumentCommand \editor {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{editor}{} -} - -\NewDocumentCommand \president {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{president}{} -} -\NewDocumentCommand \classdesigner {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{classdesigner}{} -} -\NewDocumentCommand \classmaintainer {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{classmaintainer}{} -} -\NewDocumentCommand \fontdesigner {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{fontdesigner}{} -} -\NewDocumentCommand \graphicdesigner {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{graphicdesigner}{} -} -\NewDocumentCommand \secretary {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{secretary}{} -} -\NewDocumentCommand \issuesetup { m } { - \keys_set:nn { gzt/issuesetup } {frontcoverimageoptions={width=\c__gzt_frontcover_image_width_dim},#1} - \int_compare:nNnT {\g__gzt_issue_number_int}<{1} - { - \int_set:Nn \g__gzt_issue_number_int { \c__gzt_first_issue_number_int } - \msg_warning:nnn{gzt}{issue-number-needed}{number} - } - \int_compare:nNnT {\g__gzt_issue_month_int * \g__gzt_issue_year_int}<{1} - { - \int_new:N \g__gzt_issue_age_in_months_int% - \int_gset:Nn \g__gzt_issue_age_in_months_int - { - \c__gzt_first_issue_month_int - + \c__gzt_interval_in_months_int - * ( \int_use:N \g__gzt_issue_number_int - \c__gzt_first_issue_number_int ) - } - } - \int_compare:nNnT {\g__gzt_issue_month_int}<{1} - { - \int_gset:Nn \g__gzt_issue_month_int - { - \int_mod:nn { \g__gzt_issue_age_in_months_int } { 12 } - } - } - \int_compare:nNnT {\g__gzt_issue_year_int}<{1} - { - \int_new:N \g__gzt_issue_age_in_years_int% - \int_gset:Nn \g__gzt_issue_age_in_years_int - {% - \int_div_truncate:nn { \g__gzt_issue_age_in_months_int } { 12 } - }% - \int_gset:Nn \g__gzt_issue_year_int - { - \g__gzt_issue_age_in_years_int + \c__gzt_first_issue_year_int - } - }% -} -\NewDocumentCommand \specialeditionsetup { m } { - \bool_gset_true:N \g__gzt_special_edition_bool - \bool_gset_true:N \g__gzt_frontcover_without_minitoc_bool - \keys_set:nn { gzt/specialedition } {#1} -} -\NewDocumentCommand \moralreportsetup { m } { - \bool_gset_true:N \g__gzt_moral_report_bool - \bool_gset_true:N \g__gzt_frontcover_without_minitoc_bool - \keys_set:nn { gzt/moralreport } {#1} -} -\NewDocumentCommand \journalsetup { m } { - \keys_set:nn { gzt/journalsetup } { #1 } -} -\RenewDocumentCommand \date { mmm } { - \newdate{__gzt_president_message_date}{#1}{#2}{#3}% -} -\NewDocumentCommand \interviewee { om } { - \tl_if_empty:nT \g__gzt_title_tl { - \tl_gset:Nn \g__gzt_title_tl { - \c__gzt_interview_title_string_tl - \DeclareNameAlias{labelname}{default}\citeauthor{\c__gzt_issue_bib_key_tl -art-\int_use:N - \g__gzt_articles_int} - } - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/interviewees } { #1 } - } - \tl_set:Nn \l__gzt_people_first_last_name_tl {#2} - \__gzt_people:nVVVVnxV - {#2} - {\g__gzt_people_affiliation_tl} - {\g__gzt_people_email_tl} - {\g__gzt_people_minibio_tl} - {\g__gzt_people_photo_tl} - {} - {interviewee-art-\int_use:N \g__gzt_articles_int} - {} - % \maketitle -} -\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 -} -\AddToHook{begindocument}{% -\tl_new:N \g__gzt_bib_issue_date_tl -\tl_gset:Nn \g__gzt_bib_issue_date_tl { - \int_use:N \g__gzt_issue_year_int- - \int_compare:nNnT {\g__gzt_issue_month_int}<{10} - { - 0 - } - \int_use:N \g__gzt_issue_month_int -} - \iow_now:Nx \g__gzt_bib_out_iow {% - @periodical{\c__gzt_issue_bib_key_tl,\iow_newline: - issuetitle = {\exp_not:f\c__gzt_journal_title_string_tl},\iow_newline: - date = {\g__gzt_bib_issue_date_tl},\iow_newline: - number = \int_use:N \g__gzt_issue_number_int,\iow_newline: - % issn = {\l__gzt_journal_issn_tl},\iow_newline: - options = {skipbib}\iow_newline: - } - \iow_newline: - }% -} -\tl_new:N \g__gzt_title_tl -\RenewDocumentCommand \title { o m } { - \int_gincr:N \g__gzt_articles_int - \tl_gclear:N \g__gzt_short_title_tl - \tl_gclear:N \g__gzt_short_subtitle_tl - \bool_gset_false:N \g__gzt_title_not_in_toc_bool - % - \IfNoValueF {#1} - { - \keys_set:nn { gzt/title } { #1 } - } - \tl_gset:Nn \g__gzt_title_tl {#2} - \bool_if:nT \g__gzt_tellme_rubric_bool - { - \tl_put_left:Nx \g__gzt_title_tl {\c__gzt_tellme_extra_title_string_tl} - } - \tl_if_empty:NT \g__gzt_short_title_tl {% - \tl_gset_eq:NN \g__gzt_short_title_tl \g__gzt_title_tl - } -} -\tl_new:N \g__gzt_subtitle_tl -\NewDocumentCommand \subtitle { o m } { - \bool_gset_false:N \g__gzt_subtitle_not_in_toc_bool - % - \IfNoValueF {#1} - { - \keys_set:nn { gzt/subtitle } { #1 } - } - \tl_gset:Nn \g__gzt_subtitle_tl {#2} - \tl_if_empty:NT \g__gzt_short_subtitle_tl {% - \tl_gset_eq:NN \g__gzt_short_subtitle_tl \g__gzt_subtitle_tl - } -} -\RenewDocumentCommand \author { o m } { - \IfNoValueF {#1} - { - \keys_set:nn { gzt/authors } { #1 } - } - \tl_gset:Nn \l__gzt_people_first_last_name_tl {#2} - \__gzt_people:nVVVVnxV - {#2} - {\g__gzt_people_affiliation_tl} - {\g__gzt_people_email_tl} - {\g__gzt_people_minibio_tl} - {\g__gzt_people_photo_tl} - {} - {author-art-\int_use:N \g__gzt_articles_int} - {\g__gzt_people_webpage_tl} -} -\iow_new:N \g__gzt_bib_out_iow -\ior_new:N \g__gzt_bib_out_ior -\tl_new:N \g__gzt_bib_out_tl -\file_if_exist:nTF { \c__gzt_issue_bib_path_string_tl } -{ - \ior_open:Nn \g__gzt_bib_out_ior { \c__gzt_issue_bib_path_string_tl } - \ior_str_map_inline:Nn \g__gzt_bib_out_ior - { \tl_gput_right:Nn \g__gzt_bib_out_tl {#1 \par } } - \ior_close:N \g__gzt_bib_out_ior -}{ - \typeout{no file! rerun} -} -\iow_open:Nn \g__gzt_bib_out_iow { \c__gzt_issue_bib_path_string_tl } -\tl_new:N \g__gzt_abstract_body_tl -\NewDocumentEnvironment{abstract}{} - {\CollectAbstract} - {\endCollectAbstract} -\NewEnviron{CollectAbstract} - { - \tl_gset_eq:NN \g__gzt_abstract_body_tl \BODY - } -\tl_new:N \g__gzt_mainmatter_switch_tl% -\tl_gset:Nn \g__gzt_mainmatter_switch_tl { - \bool_gset_false:N \g__gzt_frontmatter_bool - \bool_gset_true:N \g__gzt_mainmatter_bool - \SetParskip{\c__gzt_mainmatter_parskip_skip} - \pagestyle{__gzt_mainmatter_ps}% -} -\tl_new:N \l__gzt_article_acknowledgements_tl% -\cs_new_protected:Nn \__gzt_article_acknowledgements:n -{ - \tl_set:Nn \l__gzt_article_acknowledgements_tl { #1 } -} -\tl_new:N \g__gzt_about_frontcover_tl% -\bool_new:N \g__gzt_credit_frontcover_bool% -\tl_new:N \g__gzt_about_frontcover_string_tl% -\cs_new_protected:Nn \__gzt_about_frontcover:nnn -{ - \tl_if_empty:nF {#1}{% - \bool_gset_true:N \g__gzt_credit_frontcover_bool - \__gzt_people:nnnnnnnn {#1}{}{}{}{}{}{frontcovercredit}{} - } - \tl_gset:Nn \g__gzt_about_frontcover_string_tl { #2 } - \tl_gset:Nn \g__gzt_about_frontcover_tl { #3 } -} -\tl_new:N \g__gzt_rubric_abstract_box_tl% -\tl_new:N \l__gzt_rubric_head_text_box_tl% -\cs_new_protected:Nn \__gzt_rubric:nnn -{ - \newpage% - \tl_gclear:N \g__gzt_rubric_abstract_tl - \tl_gset:Nn \g__gzt_rubric_title_tl {#2} - \file_if_exist:nTF { #3.pdf }{% - \tl_gset:Nn \g__gzt_rubric_pictofile_tl {#3} - }{ - \tl_gset:Nn \g__gzt_rubric_pictofile_tl {example-image} - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/rubric } { #1 } - } - \g__gzt_mainmatter_switch_tl - \bool_gset_true:N \g__gzt_mainmatter_bool - \clearpage - \bool_gset_true:N \g__gzt_rubric_bool% - \bool_gset_false:N \g__gzt_interview_rubric_bool - \bool_gset_false:N \g__gzt_tellme_rubric_bool - \bool_gset_false:N \g__gzt_rearviewmirror_rubric_bool - \bool_gset_false:N \g__gzt_books_rubric_bool - \bool_gset_false:N \g__gzt_previous_article_with_bibliography_or_minibio_bool - \bool_if:nF { \g__gzt_for_authors_bool } { - \int_zero:N \g__gzt_item_in_rubric_int - \phantomsection - \par - \bool_if:NF {\g__gzt_special_edition_bool} { - \addcontentsline{toc}{part}{\g__gzt_rubric_title_tl} - } - \thispagestyle{__gzt_rubric_ps} - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_main_geometry_tl}% - \tl_if_empty:NTF \g__gzt_rubric_abstract_tl - { - \dim_set:Nn \l__gzt_rubrics_head_text_width_dim { \c__gzt_rubrics_head_text_no_abstract_width_dim } - } - { - \dim_set:Nn \l__gzt_rubrics_head_text_width_dim { \c__gzt_rubrics_head_text_abstract_width_dim } - \tl_gset:Nn \g__gzt_rubric_abstract_box_tl { - \begin{adjustbox}{valign=t,minipage=\c__gzt_rubrics_abstract_width_dim} - \raggedright% - \large% - \color{__gzt_rubric_abstract_color}% - \g__gzt_rubric_abstract_tl% - \end{adjustbox} - } - } - \tl_set:Nn \l__gzt_rubric_head_text_box_tl { - \begin{adjustbox}{valign=t,minipage=\l__gzt_rubrics_head_text_width_dim} - \mbox{}% - \checkoddpage% - \ifoddpage% - \raggedleft% - \else - \raggedright% - \fi% - \color{__gzt_rubric_title_color}% - \fontsize{20}{20}\fontseries{bx}\fontshape{sc}\selectfont% - \g__gzt_rubric_title_tl% - \end{adjustbox} - } - \noindent% - \mbox{}% - \checkoddpage% - \ifoddpage% - \hspace*{\c__gzt_rubric_extra_xoffset_dim} - \tl_if_empty:NF \g__gzt_rubric_abstract_tl - { - \g__gzt_rubric_abstract_box_tl - } - \hfill% - \l__gzt_rubric_head_text_box_tl - \hspace*{\c__gzt_rubric_xoffset_dim}% - \else% - \hspace*{\c__gzt_rubric_xoffset_dim}% - \l__gzt_rubric_head_text_box_tl - \tl_if_empty:NF \g__gzt_rubric_abstract_tl - { - \hfill% - \g__gzt_rubric_abstract_box_tl - \hspace*{\c__gzt_rubric_extra_xoffset_dim} - } - \fi% - } - \afterpage{% - \bool_gset_false:N \g__gzt_rubric_bool% - } - \ignorespaces -} -\cs_new_protected:Nn \__gzt_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 {} -{ - \__gzt_display_localtoc: {} -} -\tl_new:N \g__gzt_article_bib_key_tl% -\tl_new:N \l__gzt_people_first_last_names_tl -\tl_new:N \g__gzt_authors_first_last_names_tl% -\tl_new:N \l__gzt_interviewees_first_last_names_tl% -\tl_new:N \g__gzt_citeauthor_no_firstinits% -\tl_new:N \g__gzt_citeauthor_tl% -\tl_new:N \g__gzt_citeinterviewee_tl% -\tl_new:N \g__gzt_blx_given_first_inits_tl% -\@ifpackagelater{biblatex}{2016/01/01}{% - \tl_gset:Nn \g__gzt_blx_given_first_inits_false_tl - {% - \togglefalse{abx@bool@giveninits}% - } -}{ - \tl_set:Nn \g__gzt_blx_given_first_inits_false_tl - {% - \togglefalse{blx@firstinits}% - } -} -\cs_new_protected:Nn \__gzt_citeauthor_no_firstinits:n {% - \tl_gset:Nn \g__gzt_citeauthor_tl {% - \DeclareNameAlias{labelname}{default}% - \group_begin: - \g__gzt_blx_given_first_inits_false_tl - \citeauthor{#1} - \group_end: - }% - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\g__gzt_citeauthor_tl}{} - }{% - \g__gzt_citeauthor_tl - }% -} -\cs_set_eq:NN \__gzt_orig_multinamedelim \multinamedelim -\cs_set_eq:NN \__gzt_orig_finalnamedelim \finalnamedelim -\cs_new_protected:Nn \__gzt_itemized_citeauthor:n -{ - \cs_set_eq:NN \multinamedelim \item - \cs_set_eq:NN \finalnamedelim \multinamedelim - \AtNextCitekey{\defcounter{maxnames}{100}} - \begin{itemize}[label=\textbullet,noitemsep] - \item \citeauthor{#1} - \end{itemize} - \cs_set_eq:NN \multinamedelim \__gzt_orig_multinamedelim - \cs_set_eq:NN \finalnamedelim \__gzt_orig_finalnamedelim -} -\tl_new:N \l__gzt_bullet_and_rule_tl -\tl_new:N \l__gzt_authors_box_tl -\tl_new:N \l__gzt_abstract_box_tl -\tl_new:N \l__gzt_bullet_and_rule_odd_tl -\tl_new:N \l__gzt_bullet_and_rule_even_tl -\tl_new:N \l__gzt_title_box_tl -\RenewDocumentCommand \maketitle { s } { - \FloatBarrier% -\int_gincr:N \g__gzt_item_in_rubric_int -\dim_set_eq:NN \parindent \c__gzt_original_parindent_dim -\glsresetall -\setcounter{section}{0} -\setcounter{figure}{0} -\setcounter{table}{0} -\setcounter{footnote}{0} -\setcounter{equation}{0} -\setcounter{theorem}{0} -\setcounter{corollary}{0} -\setcounter{conjecture}{0} -\setcounter{proposition}{0} -\setcounter{lemma}{0} -\setcounter{axiom}{0} -\setcounter{definition}{0} -\setcounter{remark}{0} -\setcounter{example}{0} -\setcounter{notation}{0} -\tl_gset:Nn \g__gzt_article_bib_key_tl {% - \c__gzt_issue_bib_key_tl - -art- - \int_use:N \g__gzt_articles_int -} -\DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{author-art-\int_use:N \g__gzt_articles_int}]{people}{% - \l__gzt_people_first_last_name_tl=first-last-name% - ,\l__gzt_people_role_tl=role% -}{% - \tl_if_in:NnT \l__gzt_people_role_tl { author } { - \DTLiffirstrow{% - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {\exp_not:V\l__gzt_people_first_last_name_tl} - }{ - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {~and~\exp_not:V\l__gzt_people_first_last_name_tl} - } - } -} -\DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{interviewee-art-\int_use:N \g__gzt_articles_int}]{people}{% - \l__gzt_people_first_last_name_tl=first-last-name% - ,\l__gzt_people_role_tl=role% -}{% - \tl_if_in:NnT \l__gzt_people_role_tl { interviewee } { - \DTLiffirstrow{% - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {\exp_not:V\l__gzt_people_first_last_name_tl} - }{ - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {~and~\exp_not:V\l__gzt_people_first_last_name_tl} - } - } -} -\tl_if_empty:NF \g__gzt_title_tl {% - \iow_now:Nx \g__gzt_bib_out_iow {% - @article{ - \g__gzt_article_bib_key_tl, - \iow_newline: - title={\exp_not:V\g__gzt_title_tl}, - \iow_newline: - \tl_if_empty:NF \g__gzt_subtitle_tl {% - subtitle={\exp_not:V\g__gzt_subtitle_tl}, - \iow_newline: - } - \tl_if_eq:NNF { \g__gzt_short_title_tl } { \g__gzt_title_tl } {% - shorttitle={\exp_not:V\g__gzt_short_title_tl}, - \iow_newline: - }% - \tl_if_empty:NF \l__gzt_people_first_last_names_tl - { - author={\exp_not:V\l__gzt_people_first_last_names_tl}, - \iow_newline: - } - options={skipbib}, - \iow_newline: - crossref = {\c__gzt_issue_bib_key_tl} - } - \iow_newline: - }% -}% -\tl_set:Nn \l__gzt_bullet_and_rule_odd_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=__gzt_circlerule_color,draw=__gzt_circlerule_color,line~width=0.7mm] - ([xshift=-\c__gzt_innermargin_dim-\c__gzt_potential_layoutoffset_dim]0,0 -| current~page.west) -- (\linewidth,0);% - \fill[__gzt_circlerule_color] (\linewidth-2\pgflinewidth,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% -\tl_set:Nn \l__gzt_bullet_and_rule_even_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=__gzt_circlerule_color,draw=__gzt_circlerule_color,line~width=0.7mm] - (0,0 -| current~page.east) -- (0,0);% - \fill[__gzt_circlerule_color] (0,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% -\tl_set:Nn \l__gzt_title_box_tl -{% - \noindent% - \hspace*{18mm}% - \begin{adjustbox}{minipage=\linewidth-18mm,valign=t} - \raggedright% - \color{__gzt_article_title_color}% - \fontsize{20}{25}\selectfont% - \bfseries% - \g__gzt_title_tl - \tl_if_empty:NF \g__gzt_subtitle_tl {% - \par% - \g__gzt_subtitle_tl - } - \phantomsection - \par% - \bool_if:NTF {\g__gzt_title_not_in_toc_bool} { - \bookmark[page=\thepage,level=chapter]{\g__gzt_short_title_tl} - }{ - \addcontentsline{toc}{chapter}{% - \tl_if_empty:NTF \g__gzt_short_title_tl {% - \g__gzt_title_tl% - }{ - \g__gzt_short_title_tl% - } - \bool_if:NF {\g__gzt_subtitle_not_in_toc_bool} { - \bool_if:nF { \tl_if_empty_p:N \g__gzt_short_subtitle_tl || \g__gzt_interview_rubric_bool || \g__gzt_rearviewmirror_rubric_bool } - { - \c_space_tl\textendash{}\c_space_tl\g__gzt_short_subtitle_tl - } - } - \bool_if:nF { \tl_if_empty_p:N \l__gzt_people_first_last_names_tl || \g__gzt_interview_rubric_bool || \g__gzt_rearviewmirror_rubric_bool } - { - \textsl{ - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{% - \c_space_tl\textendash{}\c_space_tl\citeauthor{\g__gzt_article_bib_key_tl} - }{} - }{% - \c_space_tl\textendash{}\c_space_tl\citeauthor{\g__gzt_article_bib_key_tl} - }% - } - } - } - } - \end{adjustbox} -} - \dim_gset:Nn \g__gzt_abstract_box_width_dim {0.75\linewidth} - % \bool_if:nT { \tl_if_empty_p:N \l__gzt_people_first_last_names_tl } - % { - % \dim_gset:Nn \g__gzt_abstract_box_width_dim {\linewidth} - % } - \tl_set:Nn \l__gzt_abstract_box_tl - {% - \begin{adjustbox}{minipage=\g__gzt_abstract_box_width_dim,max~width=\g__gzt_abstract_box_width_dim,valign=t} - \mbox{} - \tl_if_exist:NT \g__gzt_abstract_body_tl - {% - \raggedright% - \bfseries% - \color{__gzt_article_abstract_color}% - \g__gzt_abstract_body_tl - }% - \end{adjustbox} - }% - \tl_set:Nn \l__gzt_authors_box_tl - {% - \begin{adjustbox}{minipage=0.3\linewidth,min~width=0.3\linewidth,valign=t} - \bool_if:nTF { \tl_if_empty_p:N \l__gzt_people_first_last_names_tl || \g__gzt_interview_rubric_bool } - { - \mbox{} - } - { - \color{__gzt_people_color}% - \__gzt_itemized_citeauthor:n {\g__gzt_article_bib_key_tl} - } - \end{adjustbox} - } - \bool_if:nTF { - \int_compare_p:nNn { \g__gzt_item_in_rubric_int } = { 1 } - } - { - \mbox{} - \par - \bool_if:nTF { - \tl_if_empty_p:N \g__gzt_rubric_abstract_tl - }{ - \xleaders\vbox { - \bigskip% - }% - \vskip\bigskipamount% - }{ - \xleaders\vbox { - \smallskip% - }% - \vskip\smallskipamount% - } - } - { - \bool_if:NTF {\g__gzt_previous_article_with_bibliography_or_minibio_bool} - { - \xleaders\vbox { - \mbox{} - \par - \medskip% - }% - \vskip\medskipamount% - } - { - \xleaders\vbox { - \mbox{} - \par - \smallskip% - }% - \vskip\smallskipamount% - } - } - \bool_gset_false:N \g__gzt_previous_article_with_bibliography_or_minibio_bool -\bool_if:NT {\g__gzt_for_authors_bool} { - \hypersetup{% - pdftitle=\g__gzt_short_title_tl, - pdfauthor=\l__gzt_people_first_last_names_tl - } -} - \bool_if:nF { \g__gzt_for_authors_bool } { - % \xleaders\vbox { - % \bigskip% - % }% - % \vskip\bigskipamount% - \noindent% - \checkoddpage% - \ifoddpage% - \l__gzt_bullet_and_rule_odd_tl - \else% - \l__gzt_bullet_and_rule_even_tl - \fi% - \bigskip% - }% - \par - \nopagebreak[4] - \l__gzt_title_box_tl - \normalsize% - \nopagebreak[3] - \bool_if:nF { \tl_if_empty_p:N \g__gzt_abstract_body_tl && (\tl_if_empty_p:N \l__gzt_people_first_last_names_tl || \g__gzt_interview_rubric_bool || \g__gzt_rearviewmirror_rubric_bool)} - {% - \par% - \bigskip - \bigskip - \large% - \mbox{}% - \checkoddpage% - \ifoddpage% - \l__gzt_abstract_box_tl - \hspace*{11mm}% - \l__gzt_authors_box_tl - \else% - \hspace*{-.85\c__gzt_outermargin_dim}% - \l__gzt_authors_box_tl - \hspace*{11mm}% - \l__gzt_abstract_box_tl - \fi% - } - \tl_gclear:N \g__gzt_title_tl - \tl_gclear:N \g__gzt_subtitle_tl - \tl_gclear:N \g__gzt_abstract_body_tl - \normalsize% - \bigskip - \tl_if_empty:NF \g__gzt_abstract_body_tl - % {% - % \tl_if_empty:NF \l__gzt_people_first_last_names_tl - % {% - % \bigskip - % } - % } - { - \bigskip - } - \bool_if:nT \g__gzt_interview_rubric_bool - { - \dim_zero:N \parindent - % \tl_if_empty:NF \l__gzt_people_photo_tl - % { - % \begin{adjustbox}{center} - % \includegraphics[height=50mm]{\l__gzt_people_photo_tl} - % \end{adjustbox} - % } - } - \color{__gzt_default_text_color}% - \IfBooleanF {#1}% - { - \bool_if:nF { \g__gzt_multicols_bool || \g__gzt_rearviewmirror_rubric_bool } - { - \begin{multicols}{2}% - } - } - } -\file_if_exist:nT { \c__gzt_acronyms_file_string_tl } {% - \AddToHook{begindocument/before}{\loadglsentries{\c__gzt_acronyms_file_string_tl}} -} -\bool_if:nT { \g__gzt_for_authors_bool } -{ - \AddToHook{enddocument}{% - \bool_if:NT {\g__gzt_multicols_bool} { - \end{multicols}% - } - } -} -\AddToHook{begindocument/before}{ - \file_if_exist_input:nF {\c__gzt_configuration_file_string_tl} - { - \msg_error:nn { gzt } { configuration-file-missing } - } -} -\@ifpackageloaded{etoc}{% - \newif\ifShowPartPageInToc % used before \part{Livres} - \newtoks\toctabletok - \newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands only once #2 - #1\expandafter\expandafter\expandafter {\expandafter\the\expandafter #1#2}} - \newcommand*\PreparePart{% - \edef\toctablepiece {% - \ExceptFirstPart {\noexpand\\[-1.5mm]}% - \unexpanded{% - \color{__gzt_rubric_in_toc_color}\scshape\fontseries{bx}\selectfont% - }% - \unexpanded\expandafter{\etocthelinkedname}& - % \ifShowPartPageInToc - \unexpanded{\bfseries\color{__gzt_rubric_in_toc_color}}% - \unexpanded\expandafter{\etocthelinkedpage}% - % \fi - \noexpand\\}% - \gdef\ExceptFirstPart ##1{##1}% - } - \newcommand*\PrepareChapter{% - \edef\toctablepiece {% - \unexpanded{\color{__gzt_article_in_toc_color}\small}% - \unexpanded\expandafter{\etocthelinkedname}& - \unexpanded{\color{__gzt_article_in_toc_color}\small} - \unexpanded\expandafter{\etocthelinkedpage}% - \noexpand\\[1mm]}% - } - \etocsetstyle{part}{}{} - {\PreparePart \appendtotok\toctabletok\toctablepiece} - {} - \etocsetstyle{chapter}{}{} - {\PrepareChapter \appendtotok\toctabletok\toctablepiece} - {} - \etocsettocstyle - {% - \setlength\LTleft{\c_zero_dim} - \setlength\LTright{\c_zero_dim} - \gdef\ExceptFirstPart ##1{}% - \toctabletok {%\hypersetup{hidelinks}% - \begin{longtable}{@{\extracolsep{\fill}}p{115mm}@{\quad}!{\color{__gzt_rule_in_toc_color}\vrule width 0.2mm}@{}r@{}}}% - } - {\global\toctabletok\expandafter{% - \the\toctabletok\end{longtable} - } - } - }{} -\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_tl=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: {} -} -\AddToHook{begindocument/before}{% - \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_display_toc: -{ - \__gzt_before_frontmatter_stuff: {} - \__gzt_boxed_issue_number:nn {\g__gzt_frontcover_image_file_tl}{\c__gzt_toc_string_tl} - \phantomsection - \hypertarget{__gzt_toc}{} - \bool_if:NTF {\g__gzt_special_edition_bool} { - \bookmark[dest=__gzt_toc,level=chapter]{\c__gzt_toc_string_tl} - }{ - \bookmark[dest=__gzt_toc,level=part]{\c__gzt_toc_string_tl} - } - \etocsettocdepth.toc{chapter}% - \tableofcontents - \the\toctabletok - \__gzt_after_frontmatter_stuff: {} -} -\NewDocumentCommand \gzttableofcontents {} -{ - \bool_if:NF {\g__gzt_for_authors_bool} { - \__gzt_display_toc: {} - } -} -\tl_new:N \g__gzt_frontcover_minitoc_tl% -\tl_new:N \l__gzt_minitoc_label_tl% -\cs_new_protected:Nn \__gzt_frontcover_minitoc:n -{ - \tl_gset:Nn \g__gzt_frontcover_minitoc_tl {#1} -} -\NewDocumentCommand \minitoc { O{} m } -{ - \keys_set:nn { gzt/minitoc } { #1 } - \__gzt_frontcover_minitoc:n {#2} -} -\newlist{__gzt_minitoc_list}{itemize}{1} -\setlist[__gzt_minitoc_list]{itemsep=2ex,label=\textcolor{__gzt_cover_itemize_label_color}\textbullet} -\NewDocumentEnvironment{minitoclist}{} -{% - \cs_set_eq:NN \__gzt_orig_item \item - \RenewDocumentCommand \item { s O{} }{% - \tl_set:Nn \l__gzt_minitoc_label_tl {##2} - \__gzt_orig_item\textbf{##2} - \IfBooleanT {##1} - { - \c__gzt_minitoc_rubric_title_separator_string_tl - } - } - \begin{__gzt_minitoc_list} -}{ - \end{__gzt_minitoc_list} - \cs_set_eq:NN \item \__gzt_orig_item -} -\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} -{} -{\c_zero_dim} -{\scshape}% -\titleformat{\section} -{% - \raggedright% - \bfseries% - \color{__gzt_section_color} -} -{\fontsize{20}{15}\selectfont\thesection.\enspace} -{-3pt} -{\fontsize{13}{15}\selectfont} -\titleformat{\subsection} -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{__gzt_subsection_color}% -} -{\thesubsection\ \textendash{}\ } -{\c_zero_dim} -{} -\titleformat{\subsubsection} -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{__gzt_subsubsection_color}% -} -{} -{\c_zero_dim} -{} -\AddToHook{begindocument}{% - \graphicspath{{\c__gzt_issue_images_path_string_tl//}{../\c__gzt_issue_images_path_string_tl//}} - % \glsdisablehyper - \g__gzt_mainmatter_switch_tl - % \bool_gset_false:N \g__gzt_frontmatter_bool - % \bool_gset_true:N \g__gzt_mainmatter_bool - % \SetParskip{\c__gzt_mainmatter_parskip_skip} - % \pagestyle{__gzt_mainmatter_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_main_geometry_tl}% -} -\AddToHook{begindocument}{% - \dim_if_exist:NTF \g__gzt_pagegrid_dim {% - \pagegridsetup{% - enable,% - step=\g__gzt_pagegrid_dim% - } - }{% - \pagegridsetup{% - disable% - } - } - % \bool_if:NTF {\g__gzt_for_authors_bool} { - % \thispagestyle{empty} - % \includegraphics{gzt-logo} - % \hfill - % \includegraphics[height=22.5mm]{\c__gzt_smf_logo_file_string_tl}% - % \par - % \vfill - % \begin{adjustbox}{valign=c,minipage=\linewidth} - % \Large% - % \c__gzt_preliminary_version_string_tl% - % \end{adjustbox} - % \vfill - % \newpage - % }{ - % \bool_if:NF {\g__gzt_inside_pages_bool} { - % \g__gzt_display_frontcover_tl - % \g__gzt_display_inside_frontcover_tl - % } - % } - \bool_if:NF {\g__gzt_for_authors_bool} { - \bool_if:NF {\g__gzt_inside_pages_bool} { - \g__gzt_display_frontcover_tl - \bool_if:NTF {\g__gzt_coverpage_bool} { - \AddToHook{begindocument/end}{\end{document}} - }{ - \g__gzt_display_inside_frontcover_tl - } - } - } -} -\tl_new:N \g__gzt_background_footer_tl -\tl_gset:Nn \g__gzt_background_footer_tl {% - \draw [__gzt_footer_bg_color,fill] - (current~page.south~west) - rectangle ([yshift=\c__gzt_footer_background_height_dim]current~page.south~east) - ; -} -\tl_new:N \l__gzt_frontmatter_head_text_tl -\tl_set:Nn \l__gzt_frontmatter_head_text_tl {% - \bool_if:NTF {\g__gzt_special_edition_bool} { - \g__gzt_special_edition_title_tl - }{ - \includegraphics{gzt-logo} - } -} -\tl_new:N \g__gzt_frontmatter_page_headrule_tl -\tl_gset:Nn \g__gzt_frontmatter_page_headrule_tl {% - \draw [__gzt_headrule_color,line~width=\c__gzt_header_line_width_dim] - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) - -- - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) - ;% -} -\tl_new:N \g__gzt_frontmatter_headtext_tl -\tl_gset:Nn \g__gzt_frontmatter_headtext_tl {% - \mbox{}% - \checkoddpage% - \ifoddpage% - \node[ - anchor=north~east,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% - ] at - ([% - xshift=\c__gzt_frontmatter_headtext_o_xshift_dim,% - yshift=\c__gzt_frontmatter_headtext_yshift_dim% - ]current~page.north~east) {% - \Large - \bool_if:NT {\g__gzt_special_edition_bool} { - \c__gzt_short_special_edition_string_tl - \c_space_tl - } - \l__gzt_frontmatter_head_text_tl - }% - ; - \else% - \node[% - anchor=north~west,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% - ] at - ([% - xshift=\c__gzt_frontmatter_headtext_e_xshift_dim,% - yshift=\c__gzt_frontmatter_headtext_yshift_dim% - ]current~page.north~west) {% - \Large - \bool_if:NT {\g__gzt_special_edition_bool} { - \c__gzt_short_special_edition_string_tl - \c_space_tl - } - \l__gzt_frontmatter_head_text_tl - }% - ; - \fi% -} -\tl_new:N \g__gzt_mainmatter_oddpage_headrule_tl -\tl_gset:Nn \g__gzt_mainmatter_oddpage_headrule_tl {% - \draw [__gzt_headrule_color,line~width=\c__gzt_header_line_width_dim] - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~east) - -- - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) - ; -} -\tl_new:N \g__gzt_mainmatter_evenpage_headrule_tl -\tl_gset:Nn \g__gzt_mainmatter_evenpage_headrule_tl {% - \draw [__gzt_headrule_color,line~width=\c__gzt_header_line_width_dim] - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~west) - -- - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) - ; -} -\ExplSyntaxOff -\tcbuselibrary{breakable,skins,hooks,xparse,theorems,listingsutf8} -\usetikzlibrary{babel,fadings,positioning,calc} -\tcbset{% - new/blend into/tables-/.style={% - use counter*=table,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@table}}}},% - new/blend into/figures-/.style={% - use counter*=figure,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@figure}}}},% -} -\newcommand\gzt@arcthroughthreepoints[4][]% -{ - % \NoAutoSpacing% - \coordinate (middle1) at ($(#2)!.5!(#3)$); - \coordinate (middle2) at ($(#3)!.5!(#4)$); - \coordinate (aux1) at ($(middle1)!1!90:(#3)$); - \coordinate (aux2) at ($(middle2)!1!90:(#4)$); - \coordinate (center) at ($(intersection of middle1--aux1 and middle2--aux2)$); - \filldraw[fill=white,draw=__gzt_headrule_color,line width=0.25mm,#1] - let \p1=($(#2)-(center)$), - \p2=($(#4)-(center)$), - \n0={veclen(\p1)}, % Radius - \n1={atan2(\y1,\x1)}, % angles - \n2={atan2(\y2,\x2)}, - \n3={\n2>\n1?\n2:\n2+360} - in (#2) arc(\n1:\n3:\n0); - % \foreach \p in {#2,#3,#4,center} - % \fill[red] (\p) circle(2pt); -} -\ExplSyntaxOn -\tl_new:N \g__gzt_rubric_page_head_tl -\tl_gset:Nn \g__gzt_rubric_page_head_tl {% - \bool_if:nF { \g__gzt_for_authors_bool } { - \tikz[remember~picture,overlay] { - \path (current~page.north~west |- current~page~header~area.south~west) coordinate (__gzt_pwest); - \path (current~page.north~east |- current~page~header~area.south~east) coordinate (__gzt_peast); - \draw [__gzt_headrule_color,line~width=\c__gzt_header_line_width_dim] - ([yshift=\c__gzt_header_line_yshift_dim]__gzt_pwest) - -- - ([yshift=\c__gzt_header_line_yshift_dim]__gzt_peast) - ;% - \tl_if_empty:NF \g__gzt_rubric_abstract_tl {% - \mbox{}% - \checkoddpage% - \ifoddpage% - \coordinate (__gzt_A) at ([xshift=\c__gzt_xshift_arccircle_A_dim,yshift=\c__gzt_yshift_arccircle_A_dim]current~page.north~west); - \coordinate (__gzt_B) at ([xshift=\c__gzt_xshift_arccircle_B_dim,yshift=\c__gzt_yshift_arccircle_B_dim]current~page.north~west) ; - \coordinate (__gzt_C) at ([xshift=\c__gzt_xshift_arccircle_C_dim,yshift=\c__gzt_yshift_arccircle_C_dim]current~page.north~west) ; - \gzt@arcthroughthreepoints{__gzt_A}{__gzt_B}{__gzt_C}; - \else% - \coordinate (__gzt_A) at ([xshift=-\c__gzt_xshift_arccircle_A_dim,yshift=\c__gzt_yshift_arccircle_A_dim]current~page.north~east); - \coordinate (__gzt_B) at ([xshift=-\c__gzt_xshift_arccircle_B_dim,yshift=\c__gzt_yshift_arccircle_B_dim]current~page.north~east) ; - \coordinate (__gzt_C) at ([xshift=-\c__gzt_xshift_arccircle_C_dim,yshift=\c__gzt_yshift_arccircle_C_dim]current~page.north~east) ; - \gzt@arcthroughthreepoints{__gzt_C}{__gzt_B}{__gzt_A}; - \fi% - } - } - } -} -\newpagestyle{__gzt_frontcover_ps}[]{% - \sethead - {}% - {% - \adjustbox{stack=c}{ - {\Large - \c__gzt_frontcover_header_string_tl - }\\[7mm] - \adjustbox{scale=2.08}{ - \huge - \bool_if:NT {\g__gzt_special_edition_bool} { - \color{__gzt_generic_dark_color} - } - \l__gzt_frontmatter_head_text_tl - }% - }% - }% - {}% - % - \setfoot% - {}% - {}% - {}% -}% -\newpagestyle{__gzt_inside_frontcover_ps}[]{% - \sethead% - [ - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% - { - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - []% - [% - \c__gzt_footer_string_tl - ]% - []% - {}% - {% - \c__gzt_footer_string_tl% - }% - {}% -}% -\newpagestyle{__gzt_frontmatter_ps}[]{% - \widenhead*{\c__gzt_front_matter_extra_innermargin_dim}{\c__gzt_front_matter_extra_outermargin_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% - { - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - [ - ]% - { - }% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% -}% -\newpagestyle{__gzt_rubric_ps}[]{% - \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% - [ - ]% - [ - ]% - [ - \g__gzt_rubric_page_head_tl% - \bool_if:nF { \g__gzt_for_authors_bool } { - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height},lap=-\c__gzt_header_xshift_dim-\linewidth}{% - \includegraphics[width=\c__gzt_pictogram_width_dim]{\g__gzt_rubric_pictofile_tl}% - }% - }% - ]% - { - \g__gzt_rubric_page_head_tl% - }% - {}% - {% - \bool_if:nF { \g__gzt_for_authors_bool } { - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height},lap=\c__gzt_header_xshift_dim}{% - \includegraphics[width=\c__gzt_pictogram_width_dim]{\g__gzt_rubric_pictofile_tl}% - }% - }% - }% - % - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - []% - {}% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% -}% -\newpagestyle{__gzt_advertisement_ps}[]{% - \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {\g__gzt_mainmatter_evenpage_headrule_tl} - ]% - [% - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{__gzt_head_text_color}\c__gzt_advertisement_string_tl% - }% - ]% - []% - {}% - {% - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{__gzt_head_text_color}\c__gzt_advertisement_string_tl% - } - }% - { - \tikz[remember~picture,overlay] {\g__gzt_mainmatter_oddpage_headrule_tl} - }% - % - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - []% - {}% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% -} -\newpagestyle{__gzt_blank_pages_ps}[]{% - \sethead - {}% - {}% - {}% - % - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - []% - {}% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% -}% -\newpagestyle{__gzt_inside_backcover_ps}[]{% - \sethead% - [ - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% - { - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - []% - [% - \c__gzt_footer_string_tl - ]% - []% - {}% - {% - \c__gzt_footer_string_tl% - }% - {}% -}% -\newpagestyle{__gzt_backcover_ps}[]{% - \sethead - {}% - {}% - {}% - % - \setfoot% - {}% - {}% - {}% -}% -\AddToHook{shipout/background}{ - \bool_if:nF { \g__gzt_frontcover_bool || \g__gzt_backcover_bool }{ - \bool_if:NF {\g__gzt_advertisement_bool} { - \tikz[remember~picture,overlay] { \g__gzt_background_footer_tl }% - }% - }% -} -\newpagestyle{__gzt_mainmatter_ps}[]{% - \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {\g__gzt_mainmatter_evenpage_headrule_tl} - ]% - [% - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{__gzt_head_text_color}\g__gzt_rubric_title_tl% - }% - ]% - []% - {}% - {% - \bool_if:nF { - \g__gzt_rearviewmirror_rubric_bool || \g__gzt_books_rubric_bool - }{ - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height}}{% - \bfseries\color{__gzt_head_text_color}\g__gzt_short_title_tl% - } - } - }% - { - \tikz[remember~picture,overlay] {\g__gzt_mainmatter_oddpage_headrule_tl} - }% - % -\bool_if:nTF { \g__gzt_for_authors_bool } { - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - [\c__gzt_compiled_string_tl]% - {\c__gzt_compiled_string_tl}% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% - }{ - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - []% - {}% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% - } -} -\NewDocumentCommand \acknowledgements { +m } { - \__gzt_article_acknowledgements:n {#1}% -} -\NewDocumentCommand \printminibios {} { - \bool_if:NT {\g__gzt_multicols_bool} { - \end{multicols}% - } - \FloatBarrier% - \begin{__gzt_minibiographies_acknowledgements_tcbox} - \__gzt_display_people_by_role:n { author-art-\int_use:N \g__gzt_articles_int } - \DTLsavelastrowcount{\__gzt_authors_number} - \tl_if_empty:NF \l__gzt_article_acknowledgements_tl - {% - \footnotesize - \int_compare:nNnT {\__gzt_authors_number}>{0} - { - \par% - \bigskip% - } - \begin{adjustbox}{valign=t,minipage=\linewidth} - \color{__gzt_acknowledgements_color}% - \setlength{\parskip}{\c__gzt_mainmatter_parskip_skip} - \l__gzt_article_acknowledgements_tl - \end{adjustbox} - } - \bool_gset_true:N \g__gzt_previous_article_with_bibliography_or_minibio_bool - \end{__gzt_minibiographies_acknowledgements_tcbox} -} -\let\printauthorsdetails\printminibios -\cs_set_eq:NN \__gzt_printbibliography \printbibliography -\RenewDocumentCommand \printbibliography { s O{} } { - \bool_if:NT {\g__gzt_multicols_bool} { - \end{multicols}% - } - \FloatBarrier% - \begin{__gzt_bibliography_tcbox} - \__gzt_printbibliography[heading=subbibliography,resetnumbers,#2] - \end{__gzt_bibliography_tcbox} - % - \IfBooleanF {#1} - { - \nopagebreak[0] - \printauthorsdetails - } -} -\deftranslation[to=French]{__gzt_century}{si\`ecle}% -\deftranslation[to=English]{__gzt_century}{century}% -\deftranslation[to=French]{__gzt_first}{\ier}% -\deftranslation[to=English]{__gzt_first}{\up{st}\xspace}% -\deftranslation[to=French]{__gzt_nth}{\ieme}% -\deftranslation[to=English]{__gzt_nth}{\up{th}\xspace}% -\deftranslation[to=French]{__gzt_bc}{avant~J.-C}% -\deftranslation[to=English]{__gzt_bc}{BC}% -\cs_new_protected:Nn \__gzt_century:n -{ - \textsc{ - \int_to_roman:n {\int_abs:n {#1}} - }% - \int_compare:nNnTF { \int_abs:n {#1} } > { 1 }{\translate{__gzt_nth}}{\translate{__gzt_first}} -} -\cs_new_protected:Nn \__gzt_century_suffix:n -{ - \translate{__gzt_century}% - \int_compare:nNnT { #1 } < { 0 }{ - \c_space_tl - \translate{__gzt_bc} - \IfLanguageName {french}{ - \@ifnextchar.% - { - }{ - .\xspace - }% - } - }{ - } -} -\cs_new_protected:Nn \__gzt_advertisement:nn - { - \vfill - \begin{center} - \dim_set:Nn \fboxsep {\c_zero_dim} - \fbox{% - \includegraphics[max~size={\linewidth}{\textheight},#1]{#2} - } - \end{center} - \vfill - } -\NewDocumentCommand \advertisement { O{} m } - { - \__gzt_advertisement:nn {#1}{#2} - } -\cs_new_protected:Nn \__gzt_fullpageadvertisement:nn - { - \newpage - \thispagestyle{__gzt_advertisement_ps} - \begin{minipage}[c][\textheight][c]{\textwidth}% - \centering\includegraphics[max~size={\linewidth}{\textheight},#1]{#2}% - \end{minipage}% - } -\NewDocumentCommand \fullpageadvertisement { O{} m } -{ - \__gzt_fullpageadvertisement:nn {#1}{#2} -} -\NewDocumentCommand \aboutfrontcover { O{} O{\c__gzt_about_frontcover_string_tl} m } -{ - \__gzt_about_frontcover:nnn {#1}{#2}{#3}% -} -\cs_new_protected:Nn \__gzt_prepare_rubric:nnn {% - \newpage% - \tl_gclear:N \g__gzt_rubric_abstract_tl - \tl_gset:Nn \g__gzt_rubric_title_tl {#2} - \tl_gset:Nn \g__gzt_rubric_pictofile_tl {#3} - \IfNoValueF {#1} - { - \keys_set:nn { gzt/rubric } { #1 } - } - \__gzt_rubric:nnn - {\g__gzt_rubric_abstract_tl}{\g__gzt_rubric_title_tl}{\g__gzt_rubric_pictofile_tl}% -} -\NewDocumentCommand \rubric {O{}mm} -{ - \bool_if:NTF {\g__gzt_special_edition_bool} { - \__gzt_rubric:nnn {#1}{#2}{#3}% - \tl_gset:Nn \g__gzt_rubric_title_tl {% - \c__gzt_short_special_edition_string_tl - \c_space_tl - \g__gzt_special_edition_title_tl - } - }{ - \__gzt_rubric:nnn {#1}{#2}{#3}% - } -} -\NewDocumentCommand \mathematics {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_mathematics_rubric_string_tl}{\c__gzt_mathematics_pictogram_file_name_tl} -} -\NewDocumentCommand \dossier {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_dossier_rubric_string_tl}{\c__gzt_dossier_pictogram_file_name_tl} -} -\NewDocumentCommand \community {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_community_rubric_string_tl}{\c__gzt_hands_pictogram_file_name_tl} -} -\NewDocumentCommand \interview {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_interview_rubric_string_tl}{\c__gzt_interview_pictogram_file_name_tl} - \bool_gset_true:N \g__gzt_interview_rubric_bool -} -\NewDocumentCommand \teaching {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_teaching_rubric_string_tl}{\c__gzt_teaching_pictogram_file_name_tl} -} -\NewDocumentCommand \parity {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_parity_rubric_string_tl}{\c__gzt_parity_pictogram_file_name_tl} -} -\NewDocumentCommand \tellme {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_tellme_rubric_string_tl}{\c__gzt_tellme_pictogram_file_name_tl} - \bool_gset_true:N \g__gzt_tellme_rubric_bool -} -\NewDocumentCommand \information {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_information_rubric_string_tl}{\c__gzt_information_pictogram_file_name_tl} -} -\NewDocumentCommand \rearviewmirror {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_rearviewmirror_rubric_string_tl}{\c__gzt_rearviewmirror_pictogram_file_name_tl} - \bool_gset_true:N \g__gzt_rearviewmirror_rubric_bool -} -\NewDocumentCommand \tribute {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_tribute_rubric_string_tl}{\c__gzt_tribute_pictogram_file_name_tl} -} -\NewDocumentCommand \books {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_books_rubric_string_tl}{\c__gzt_books_pictogram_file_name_tl} - \bool_gset_true:N \g__gzt_books_rubric_bool - \vspace{1.5\c__gzt_book_review_frontcover_extend_dim} -} -\NewDocumentCommand \latextips {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_latex_rubric_string_tl}{} -} -\NewDocumentCommand \forum {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_forum_rubric_string_tl}{\c__gzt_forum_pictogram_file_name_tl} -} -\NewDocumentCommand \moralreport {O{}} -{ - \__gzt_rubric:nnn {#1}{\c__gzt_moralreport_rubric_string_tl}{\c__gzt_smf_logo_file_string_tl} -} -\DeclareCiteCommand{\citeinterviewee}{}{% - \printnames{interviewee}% -} -{}{} -\DeclareCiteCommand{\citereviewer}{}{% - \g__gzt_blx_given_first_inits_false_tl - \printnames{reviewer}% -} -{}{} -\DeclareCiteCommand{\citereviewerinstitution}{}{% - \printlist{reviewerinstitution}% -} -{}{} -\DeclareCiteCommand{\__gzt_cite_public_price}{}{% - \printfield{publicprice}% -} -{}{} -\DeclareCiteCommand{\__gzt_cite_smf_price}{}{% - \printfield{smfprice}% -} -{}{} -\DeclareCiteCommand{\citecopublisher}{}{% - \printlist{copublisher}% -} -{}{} -\DeclareCiteCommand{\citefrenchabstract}{}{% - \printfield{frenchabstract}% -} -{}{} -\DeclareCiteCommand{\__gzt_cite_englishabstract}{}{% - \printfield{englishabstract}% -} -{}{} -\NewDocumentCommand \email {m} -{ - \__gzt_email:n {#1}% -} -\cs_new_protected:Nn \__gzt_question:n -{ - \int_incr:N \g__gzt_question_int - {% - \par% - \bigskip% - \color{__gzt_question_color} - #1% - \par% - }% -} -\NewDocumentCommand \question {m} -{ - \__gzt_question:n {#1}% -} -\NewDocumentCommand \smf { s } { - \IfBooleanTF {#1} - { - \g__gzt_smf_string_tl - } - { - \g__gzt_smf_short_string_tl - } - \xspace -} -\DeclareExpandableDocumentCommand \surname { m } { - \textsc{#1} -} -\NewDocumentCommand \cad { s } { - \IfBooleanTF {#1} - { - \c__gzt_cad_string_tl - } - { - \c__gzt_cad_short_string_tl - } - \xspace -} -\NewDocumentCommand \Cad { s } { - \IfBooleanTF {#1} - { - \c__gzt_Cad_string_tl - } - { - \c__gzt_Cad_short_string_tl - } - \xspace -} -\NewDocumentCommand \gzt { s } { - \IfBooleanTF {#1} - { - \l__gzt_gzt_string_tl - } - { - \l__gzt_gzt_short_string_tl - } - \xspace -} -\NewDocumentCommand \gztcl {} -{% - \textsl{\texttt{\c__gzt_class_name_tl}} - \xspace -} -\NewDocumentCommand \gztarticlecl {} -{% - \textsl{\texttt{\c__gzt_article_class_name_tl}} - \xspace -} -\NewDocumentCommand \century { s m } {% - \__gzt_century:n {#2}% - \IfBooleanTF {#1} - { - \int_compare:nNnT { #2 } < { 0 }{ - \__gzt_century_suffix:n {#2}% - } - } - { - \__gzt_century_suffix:n {#2}% - } -} -\NewDocumentCommand \aside { s m } {% - \IfBooleanTF {#1} - { - \c__gzt_aside_string_tl{}~#2 - } - { - \c__gzt_aside_string_tl{}~#2~\c__gzt_aside_string_tl - } -} -\tl_new:N \g__gzt_font_designer_text_tl% -\cs_new_protected:Nn \__gzt_font_designer_text:n -{ - \tl_gset:Nn \g__gzt_font_designer_text_tl { #1 } -} -\NewDocumentCommand \fontdesignertext {m} -{ - \__gzt_font_designer_text:n {#1}% -} -\tl_new:N \g__gzt_printer_text_tl% -\cs_new_protected:Nn \__gzt_printer_text:n -{ - \tl_gset:Nn \g__gzt_printer_text_tl { #1 } -} -\NewDocumentCommand \printertext {m} -{ - \__gzt_printer_text:n {#1}% -} -\renewcommand{\textflush}{flushepinormal} -\cs_set_eq:NN \__gzt_orig_epigraph \epigraph -\cs_new_protected:Nn \__gzt_epigraph:nn -{ - \bool_if:nTF { \tl_if_empty_p:n {#2} } - { - \setlength{\epigraphrule}{\c_zero_dim} - } - { - \setlength{\epigraphrule}{.4\p@} - } - \__gzt_orig_epigraph{% - \emph{% - \enquote{% - #1% - }% - }% - }% - {% - #2 - } -} -\RenewDocumentCommand \epigraph { m m } -{ - \__gzt_epigraph:nn {#1}{#2}% -} -\NewDocumentEnvironment{authorsinstructions}{} -{% - \begingroup - \tcbverbatimwrite{\c__gzt_authors_instructions_file_tl} -}% -{ - \endtcbverbatimwrite - \endgroup -} -\lstdefinestyle{__gzt_lst_style}{% - escapechar=+, - language=[LaTeX]TeX, - texcsstyle=*\bfseries, - breaklines=true, - basicstyle=\normalfont\ttfamily, - columns=flexible, - inputencoding=utf8/latin1 -}% -\DeclareTotalTCBox{\gztverb}{ v }{verbatim,blank,fuzzy~halo=0pt~with~__gzt_light_generic_dark_color!8}{#1} -\NewTCBListing{gztcode}{ !O{} }{% - listing~style=__gzt_lst_style, - listing~only, - enlarge~top~by=\medskipamount, - breakable, - #1% -} -\DeclareTColorBox[blend~into=figures]{gztfigure}{ O{} } -{ - ,width=\linewidth% - ,blend~before~title=dash% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=figures]{gztfigure*}{ O{} } -{ - ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=tables]{gzttable}{ O{} } -{ - ,width=\linewidth% - ,blend~before~title=dash% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=tables]{gzttable*}{ O{} } -{ - ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox{gztframe}{ O{} } -{ - ,width=\linewidth% - ,__gzt_tcb_floats_style% - ,#1% -} -\DeclareTColorBox{gztframe*}{ O{} } -{ - ,float* - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,#1% -} -\DeclareTColorBox{gztscan}{ O{} } -{ - #1% - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,size=tight% -} -\DeclareTColorBox{__gzt_book_review}{ O{} } -{ - overlay~unbroken~and~first={% - \node at (frame.north~west) { - { - \makebox[\c_zero_dim][l]{% - \adjustbox{raise={-2\height+\c__gzt_book_review_frontcover_extend_dim}{\c_zero_dim}}{% - \includegraphics[width=20mm]{\g__gzt_bookreview_frontcover_tl}% - }% - } - } - }; - }, - __gzt_tcb_book_review_box_style, - #1 -} -\DeclareTColorBox{__gzt_bibliography_tcbox}{ O{} } -{ - __gzt_tcb_bibliography_style, - #1 -} -\DeclareTColorBox{__gzt_minibiographies_acknowledgements_tcbox}{ O{} } -{ - __gzt_tcb_minibiographies_acknowledgements_style, - #1 -} -\DeclareTColorBox{inset}{ O{} } -{ - __gzt_tcb_minibiographies_acknowledgements_style, - #1 -} -\NewDocumentEnvironment{bookreview}{ O{} m } -{ - \keys_set:nn { gzt/bookreview } { #2 } - \begin{__gzt_book_review}[#1] - \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% - \xpretonameformat{author}{\color{__gzt_people_color}}{}{}% - \g__gzt_blx_given_first_inits_false_tl - \noindent% - \parbox[][21.5mm][l]{\linewidth}{\fullcite{\g__gzt_bookreview_bibkey_tl}} - \tcblower -}{ - \begin{flushright} - % \g__gzt_reviewer_tl - \bigskip - \citereviewer{\g__gzt_bookreview_bibkey_tl}\\ - \citereviewerinstitution{\g__gzt_bookreview_bibkey_tl} - \end{flushright} - % \vspace*{10mm} - \mbox{} - \end{__gzt_book_review} -} -\DeclareTColorBox{__gzt_book_advertisement}{ O{} } -{ - __gzt_tcb_book_advertisement_box_style, - #1 -} -\DeclareTColorBox{__gzt_inside_cover_tcb}{ O{} } -{ - #1 -} -\NewDocumentCommand \bookadvertisement {O{} m} -{ - \newpage{} - \mbox{} - \vfill - \begin{__gzt_book_advertisement}[#1] - \fullcite{#2} - \par - \bigskip - \tcblower - \includegraphics[height=22.5mm]{\c__gzt_smf_logo_file_string_tl}% - \par{} - \smallskip% - \url{\l__gzt_journal_url_tl} - \end{__gzt_book_advertisement} - \vfill - \newpage - \bool_gset_false:N \g__gzt_advertisement_bool - \bool_gset_true:N \g__gzt_mainmatter_bool -} -\NewDocumentCommand \gztinput { m m } {% - \tl_gclear:N \g__gzt_people_affiliation_tl - \tl_gclear:N \g__gzt_people_email_tl - \tl_gclear:N \g__gzt_people_minibio_tl - \tl_gclear:N \g__gzt_people_photo_tl - \tl_gclear:N \g__gzt_people_webpage_tl - \tl_clear:N \l__gzt_article_acknowledgements_tl - \startcustomization% - \bool_if:NF {\g__gzt_refsection_bool} { - \begin{refsection} - } - \bool_if:NF { \g__gzt_backcover_bool } { - \tl_if_in:NnT - { \c__gzt_advertisement_directory_string_tl } { #1 } {% - \newpage - \thispagestyle{__gzt_advertisement_ps} - } - } - \inputfrom{#1}{#2} - \bool_if:NT {\g__gzt_multicols_bool} { - \end{multicols}% - } - \bool_if:NT {\g__gzt_refsection_bool} { - \end{refsection} - } - \cleancustomization% -} -\bool_if:NF {\g__gzt_coverpage_bool} { - \bool_if:NF {\g__gzt_inside_pages_bool} { - \AddToHook{enddocument/end}{ - \bool_gset_true:N \g__gzt_backmatter_bool - \g__gzt_display_inside_backcover_tl - \newpage - \g__gzt_display_backcover_tl - }% - }% -}% -\bool_if:NF {\g__gzt_coverpage_bool} { - \bool_if:nF { \g__gzt_for_authors_bool } { - \bool_if:nT { \g__gzt_inside_pages_bool } { - \AddToHook{enddocument}{% - \prg_replicate:nn - { \int_mod:nn { 4 - \int_mod:nn { \getpagerefnumber{LastPage} } { 4 } } { 4 } } - { \thispagestyle{__gzt_blank_pages_ps}\null\clearpage } - } - } - } -} -\pgfplotsset{% - /pgf/number~format/.cd, - use~comma, - 1000~sep={\,}, - min~exponent~for~1000~sep=4 -}% -\defbibheading{bibassection}[\bibname]{\section*{#1}}% -\renewcommand{\bibfont}{\normalfont\footnotesize} -\exp_after:wN\addbibresource\exp_after:wN{\c__gzt_issue_bib_path_string_tl} -\@ifpackagelater{biblatex}{2016/01/01}{% - \DeclareNameFormat{giveninits-last}{% - \nameparts{#1} - \usebibmacro{name:given-family} - {\namepartfamily} - {\namepartgiveni} - {\namepartprefix} - {\namepartsuffix}% - \usebibmacro{name:andothers}% - } -}{ - \DeclareNameFormat{giveninits-last}{% - \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% - \usebibmacro{name:andothers}% - } -} -\DeclareNameAlias{labelname}{giveninits-last} -\renewcommand*\bibnamedelimc{\addnbspace} -\renewcommand*\bibnamedelimd{\addnbspace} -\renewbibmacro{in:}{% - \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}} -\renewbibmacro*{journal}{% - \iffieldundef{shortjournal}% - {% - \iffieldundef{journaltitle} - {} - {% - \printtext[journaltitle]% - {% - \printfield[titlecase]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{journalsubtitle}% - }% - }% - }% - {\printtext[journaltitle]{\printfield[titlecase]{shortjournal}}}% -} -\renewbibmacro*{volume+number+eid}{% - \printfield{volume}% - \setunit{\addcomma\c_space_tl}% - \printfield{number}% - \setunit{\addcomma\c_space_tl}% - \printfield{eid}} -\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}} -\DeclareFieldFormat[book]{volume}{\mkbibbold{#1}} -\DeclareFieldFormat[article]{number}{\bibstring{number}#1} -\DeclareLanguageMapping{french}{gzt}% use the new abbreviations -\ifkp@easyscsl -\DeclareRobustCommand{\itshape}{\not@math@alphabet\itshape\mathit% - \ifthenelse{\equal{\f@shape}{\scdefault}}{\fontshape{scsl}}{% - \fontshape\itdefault}\selectfont} -\fi -\DeclareMathAlphabet\mathfrak{U}{euf}{m}{n} -\SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n} -\@ifpackageloaded{draftwatermark}{% - \SetWatermarkColor{gray!10}% - \SetWatermarkFontSize{30mm}% - \SetWatermarkText{\text_uppercase:n{\c__gzt_draftwatermark_string_tl}}% -}{% -} -\tikzset{ - __gzt_dots/.style={ - line~width=\c__gzt_tikz_dot_diameter_dim, - line~cap=round, - dash~pattern=on~0pt~off~\c__gzt_tikz_dot_spacing_dim - }, - __gzt_tcb_segmentation_style/.style={ - __gzt_dots, - draw=__gzt_dotfill_color, - shorten~>=~\c__gzt_tcb_left_dim+\c__gzt_tcb_boxsep_dim, - shorten~<=~\c__gzt_tcb_left_dim+\c__gzt_tcb_boxsep_dim, - } -} -\tcbset{ - copyright/.style={% - overlay={% - \node[rotate=90,anchor=south~west,font=\tiny] at (frame.south~east) {% - \begin{minipage}[t]{\tcbtextheight} - \copyright{}~#1% - \end{minipage} - };% - }% - }% -} -\tcbset{% - __gzt_tcb_floats_style/.style={% - enhanced% - ,every~float=\centering% - ,coltitle=__gzt_generic_dark_color% - ,colbacktitle=__gzt_float_title_bg_color% - ,colback=white% - ,colframe=__gzt_float_frame_color% - ,center~upper% - ,sharp~corners=all% - ,boxrule=0.3mm% - }% -} -\tcbset{% - __gzt_tcb_notitle/.style={% - blend~before~title~code={##1} - ,title={\c_space_tl}% - }% -} -\tcbset{% - __gzt_tcb_book_review_box_style/.style={% - enhanced,% - colback=__gzt_book_review_frame_bg_color,% - breakable,% - % height=50mm,% - boxrule=\c_zero_dim, - sharp~corners=all,% - skin=enhancedlast, - leftupper=25mm, - enlarge~bottom~finally~by=-1mm, - middle=4mm, - segmentation~style={__gzt_tcb_segmentation_style}% - } -} -\tcbset{% - __gzt_tcb_book_advertisement_box_style/.style={% - enhanced,% - colframe=__gzt_book_advertisement_frame_color,% - colback=__gzt_book_advertisement_bg_color,% - center~lower, - sharp~corners=all,% - % skin=enhancedlast, - % middle=4mm, - lower~separated=false, - % segmentation~style={__gzt_tcb_segmentation_style}% - } -} -\tcbset{% - __gzt_tcb_inside_cover_style/.style={% - % split=0.6,% - colback=__gzt_inside_frontcover_frame_bg_color,% - colbacktitle=__gzt_inside_frontcover_frame_bg_color,% - sharp~corners=all,% - center~title,% - coltitle=__gzt_inside_frontcover_frame_title_color,% - fonttitle=\bfseries\large,% - boxrule=\c_zero_dim,% - toptitle=3mm,% - bottomtitle=4mm,% - frame~hidden,% - enhanced,% - height=\c__gzt_layoutheight_dim-\c__gzt_topmargin_inside_cover_dim-\c__gzt_botmargin_dim, - width=\c__gzt_inside_cover_box_width_dim, - middle=4mm, - segmentation~style={__gzt_tcb_segmentation_style}% - }, - __gzt_tcb_inside_frontcover_style/.style={% - __gzt_tcb_inside_cover_style, - enlarge~left~by=-\c__gzt_inside_cover_offset_dim, - }, - __gzt_tcb_inside_backcover_style/.style={% - __gzt_tcb_inside_cover_style, - enlarge~left~by=\c__gzt_inside_cover_offset_dim, - } -} -\AddToHook{begindocument/before}{% - \bool_if:NTF {\g__gzt_special_edition_bool} { - \tcbset{ - __gzt_tcb_inside_frontcover_style/.append~style={% - title=\c__gzt_special_edition_editorial_board_string_tl - }, - __gzt_tcb_inside_backcover_style/.append~style={% - notitle - }, - } - }{ - \tcbset{ - __gzt_tcb_inside_frontcover_style/.append~style={% - title=\c__gzt_editorial_board_string_tl - }, - __gzt_tcb_inside_backcover_style/.append~style={% - title=\file_if_exist:nT { \c__gzt_authors_instructions_file_tl } {% - \c__gzt_authors_instructions_string_tl - } - }, - } - } -} -\tcbset{% - __gzt_tcb_bibliography_style/.style={% - colback=__gzt_bibliography_minibios_acknowledgements_bg_color, - breakable, - boxrule=\c_zero_dim, - sharp~corners=all,% - enhanced - } -} -\tcbset{% - __gzt_tcb_minibiographies_acknowledgements_style/.style={% - colback=__gzt_bibliography_minibios_acknowledgements_bg_color, - breakable, - boxrule=\c_zero_dim, - extras~unbroken~and~last={drop~lifted~shadow}, - sharp~corners=all,% - skin=enhancedlast, - height~fixed~for=middle, - } -} -\tcbset{% - enlargepage~flexible=\baselineskip, - left=\c__gzt_tcb_left_dim, - boxsep=\c__gzt_tcb_boxsep_dim, -} -\setlist[1]{labelindent=\parindent} -\setlist[itemize]{label=\textendash{}, nosep} -\setlist{% - labelwidth=\widthof{\textendash}, - itemsep=0.4ex plus 0.2ex minus 0.2ex, - parsep=0.4ex plus 0.2ex minus 0.2ex, - topsep=0.8ex plus 0.4ex minus 0.4ex, - partopsep=0.4ex plus 0.2ex minus 0.2ex, - leftmargin=!% -} -\setlist[description]{ - font= - \bool_if:nTF { \g__gzt_books_rubric_bool || \g__gzt_inside_frontcover_bool || \g__gzt_inside_backcover_bool } - { - \color{black} - }{ - \color{__gzt_description_label_light_color} - } - \bfseries -} -\DeclarePlainStyle{«~}{~»}{`}{'} -\setcounter{topnumber}{3} -\renewcommand{\topfraction}{0.8} -\addtolength{\skip\footins}{.25\baselineskip} -\setlength{\columnsep}{7mm}% -\renewcommand{\thesection}{\arabic{section}}% -\@ifpackageloaded{siunitx}{% - \sisetup{locale=FR} -} -\arrayrulecolor{__gzt_arrayrule_color}% -\addto\captionsfrench{\def\tablename{{\scshape Tableau}}}% -\RenewDocumentCommand \vec { m } { - \vv{#1} -} -\cs_set_eq:NN \__gzt_orig_usetikzlibrary \usetikzlibrary -\RenewDocumentCommand \usetikzlibrary { m } { - \shorthandoff{:}% - \__gzt_orig_usetikzlibrary{#1} - \shorthandon{:}% - % \begingroup - % \NoAutoSpacing - % \__gzt_orig_usetikzlibrary{#1} - % \endgroup -} -\cs_new_protected:Nn \__gzt_bilingual:nnn -{ - \deftranslation[to=French]{#1}{#2}% - \deftranslation[to=English]{#1}{#3}% -} -\cs_new_protected:Nn \__gzt_new_theorem:nnnn -{ - % \__gzt_bilingual:nnn {#2}{#3}{#4} - \deftranslation[to=French]{#2}{#3}% - \deftranslation[to=English]{#2}{#4}% - \declaretheorem[% - #1,% - name=\translate{#2} - ]{#2} - \declaretheorem[% - #1,% - name=\translate{#2}, - numbered=no - ]{#2*} -} -\cs_generate_variant:Nn \__gzt_new_theorem:nnnn { nnVV } -\declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\itshape]{theorem} -\declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\normalfont]{definition} -\declaretheoremstyle[spaceabove=3pt,bodyfont=\normalfont,qed=\ensuremath{\qedsymbol},headfont=\normalfont\itshape,numbered=no]{proof} -\RenewDocumentCommand \newtheorem { O{} m } -{ - \tl_clear:N \l__gzt_newtheorem_style_tl - \tl_clear:N \l__gzt_newtheorem_frenchtitle_tl - \tl_clear:N \l__gzt_newtheorem_englishtitle_tl - \tl_set:Nn \l__gzt_newtheorem_englishtitle_tl { - \text_titlecase:n {#2} - } - \tl_set:Nf \l__gzt_newtheorem_frenchtitle_tl { - \l__gzt_newtheorem_englishtitle_tl - } - \tl_set:Nn \l__gzt_newtheorem_style_tl { - theorem - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/newtheorem } { #1 } - } - % \tl_if_eq:VVF { \l__gzt_newtheorem_englishtitle_tl } { \MakeUppercase #2 } - % {% - % \tl_if_eq:NNF { \l__gzt_newtheorem_frenchtitle_tl } { \l__gzt_newtheorem_englishtitle_tl } - % {% - % \tl_set:Nf \l__gzt_newtheorem_frenchtitle_tl { - % \l__gzt_newtheorem_englishtitle_tl - % } - % } - % } - \__gzt_new_theorem:nnVV {style=\l__gzt_newtheorem_style_tl}{#2}{\l__gzt_newtheorem_frenchtitle_tl}{\l__gzt_newtheorem_englishtitle_tl} -} -\newtheorem[frenchtitle=Th\'eor\`eme]{theorem} -\newtheorem[frenchtitle=Corollaire]{corollary} -\newtheorem{conjecture} -\newtheorem{proposition} -\newtheorem[frenchtitle=Lemme]{lemma} -\newtheorem[frenchtitle=Axiome]{axiom} -\newtheorem[style=definition,frenchtitle=D\'efinition]{definition} -\newtheorem[style=definition,frenchtitle=Remarque]{remark} -\newtheorem[style=definition,frenchtitle=Exemple]{example} -\newtheorem[style=definition]{notation} -\let\proof\relax -\newtheorem[style=proof,frenchtitle=Preuve]{proof} -\cs_new_protected:Nn \__gzt_clone_theorem:nn -{ - \NewDocumentEnvironment{#1}{} - { - \begin{#2} - } - { - \end{#2} - } - \NewDocumentEnvironment{#1*}{} - { - \begin{#2*} - } - { - \end{#2*} - } -} -\__gzt_clone_theorem:nn {theoreme} {theorem} -\__gzt_clone_theorem:nn {corollaire}{corollary} -\__gzt_clone_theorem:nn {lemme}{lemma} -\__gzt_clone_theorem:nn {axiome}{axiom} -\__gzt_clone_theorem:nn {remarque}{remark} -\__gzt_clone_theorem:nn {exemple}{example} -\__gzt_clone_theorem:nn {preuve}{proof} -\DeclareMathOperator{\cotan}{cotan} -\DeclareMathOperator{\Arccos}{Arccos} -\DeclareMathOperator{\Arcsin}{Arcsin} -\DeclareMathOperator{\Arctan}{Arctan} -\DeclareMathOperator{\Argch}{Argch} -\DeclareMathOperator{\Argsh}{Argsh} -\DeclareMathOperator{\Argth}{Argth} -\cs_set_eq:NN \__gzt_orig_arccos \arccos -\cs_set_eq:NN \__gzt_orig_arcsin \arcsin -\cs_set_eq:NN \__gzt_orig_arctan \arctan -\RenewDocumentCommand \arccos {} { - \IfLanguageName {french}{\Arccos}{\__gzt_orig_arccos}% -} -\RenewDocumentCommand \arcsin {} { - \IfLanguageName {french}{\Arcsin}{\__gzt_orig_arcsin}% -} -\RenewDocumentCommand \arctan {} { - \IfLanguageName {french}{\Arctan}{\__gzt_orig_arctan}% -} -\DeclareMathOperator{\ch}{ch} -\DeclareMathOperator{\sh}{sh} -\cs_set_eq:NN \__gzt_orig_tanh \tanh -\RenewDocumentCommand \tanh {} { - \IfLanguageName {french}{\operatorname{th}}{\__gzt_orig_tanh}% -} -\cs_set_eq:NN \__gzt_orig_log \log -\cs_set_eq:NN \__gzt_orig_lg \lg -\RenewDocumentCommand \log { s } { - \IfBooleanTF {#1} - { - \__gzt_orig_log - } - { - \ln - } -} -\RenewDocumentCommand \lg { s } { - \IfBooleanTF {#1} - { - \__gzt_orig_lg - } - { - \ln - } -} -\cs_set_eq:NN \__gzt_orig_leq \leq -\cs_set_eq:NN \__gzt_orig_geq \geq -\RenewDocumentCommand \le {} {% - \IfLanguageName {french}{\leqslant}{\__gzt_orig_leq}% -} -\RenewDocumentCommand \leq {} {% - \IfLanguageName {french}{\leqslant}{\__gzt_orig_leq}% -} -\RenewDocumentCommand \ge {} {% - \IfLanguageName {french}{\geqslant}{\__gzt_orig_geq}% -} -\RenewDocumentCommand \geq {} {% - \IfLanguageName {french}{\geqslant}{\__gzt_orig_geq}% -} -\NewDocumentCommand \N {} {\mathbb{N}} -\NewDocumentCommand \Z {} {\mathbb{Z}} -\NewDocumentCommand \D {} {\mathbb{D}} -\NewDocumentCommand \Q {} {\mathbb{Q}} -\NewDocumentCommand \R {} {\mathbb{R}} -\NewDocumentCommand \C {} {\mathbb{C}} -\NewDocumentCommand \K {} {\mathbb{K}} -\ExplSyntaxOff -%% ---------------------------------------------------------------------------- -%% This work may be distributed and/or modified under the -%% 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.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Denis Bitouz'e. -%% -%% This work consists of the file gzt.dtx -%% and the derived files gzt.cls, -%% gztarticle.cls, -%% gzt.ins, -%% gzt.pdf, -%% and a number of configuration files. -%% -%% End of file `gzt.cls'. diff --git a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.dbx b/macros/latex/contrib/gzt/tex/latex/gzt/gzt.dbx deleted file mode 100644 index 3850451c9e..0000000000 --- a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.dbx +++ /dev/null @@ -1,243 +0,0 @@ -%% -%% This is file `gzt.dbx', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gzt.dtx (with options: `datamodel') -%% ----------------------------------------------------------------------------- -%% gzt --- SMF bundle of classes for the French journal "La Gazette des -%% Math'ematiciens" -%% -%% E-mail: denis.bitouze@univ-littoral.fr -%% Released under the LaTeX Project Public License v1.3c or later -%% See http://www.latex-project.org/lppl.txt -%% ----------------------------------------------------------------------------- -\DeclareDatamodelFields[type=list,datatype=name]{interviewee} -\DeclareDatamodelEntryfields[interview]{ - interviewee, - author -} -\DeclareBibliographyDriver{interview}{% - \printnames{author}~interviewent~\printnames{interviewee}% - \usebibmacro{finentry}% -} -\DeclareBibliographyDriver{bookreview}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{maintitle+title}% - \newline\nopunct\newblock - \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct} - \newline\nopunct\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \printlist{language}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} -\DeclareDatamodelFields[type=list,datatype=name]{reviewer} -\DeclareDatamodelFields[type=list,datatype=literal]{reviewerinstitution} -\DeclareDatamodelEntryfields[bookreview]{ - reviewer, - reviewerinstitution -} -\DeclareDatamodelFields[type=field,datatype=literal]{publicprice} -\DeclareDatamodelFields[type=field,datatype=literal]{smfprice} -\DeclareDatamodelFields[type=field,datatype=literal]{frenchabstract} -\DeclareDatamodelFields[type=field,datatype=literal]{englishabstract} -\DeclareDatamodelFields[type=list,datatype=literal]{copublisher} -\DeclareDatamodelFields[type=field, datatype=verbatim]{thumbnail} -\DeclareDatamodelEntryfields[bookadvertisement]{ - publicprice, - smfprice, - frenchabstract, - englishabstract, - copublisher, - thumbnail -} -\newcommand*{\insertbibimage}[1]{\includegraphics[width=45mm]{#1}} -\DeclareBibliographyDriver{bookadvertisement}{% - \begin{tcolorbox}[ - lefthand width=47.5mm - ,sidebyside - ,colback=white - ,fontlower=\large - ,flushleft lower - ,boxrule=0mm - ,frame hidden% - ,leftright skip=0mm - ,before skip=0mm - ,lower separated=false - ] - \iffieldundef{thumbnail} - {} - { - \usefield{\insertbibimage}{thumbnail} - } - \tcblower - \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% - \def\abx@str{abx@lstr}% - \noindent - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \textbf{\printfield{series}}% - % \usebibmacro{series+number}% - \bigskip\newline\nopunct\newblock - {% - \Large% - \printfield{title}% - \newunit\newblock - }% - \iffieldundef{volume} - {}% - {\textbf{\printfield{volume}}} - \iffieldundef{titleaddon} - {}% - {% - \newline\nopunct\newblock - \textbf{\printfield{titleaddon}}% - } - \iffieldundef{subtitle} - {}% - {% - \newline\nopunct\newblock - \printfield{subtitle}% - } - \newline\nopunct\newblock - \newline\nopunct\newblock - \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct} - \newline\nopunct\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \printlist{language}% - \iftoggle{bbx:isbn} - {% - \newline\nopunct\newblock - \printfield{isbn} - } - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \def\abx@str{abx@sstr}% - \end{tcolorbox} - \iflistundef{copublisher} - {}% - {% - \bigskip - % \newline\nopunct\newblock% - \normalsize - Publi\'e avec le concours de : \printlist{copublisher}% - \par - } - \iffieldundef{frenchabstract} - {}% - {% - \bigskip - \printfield{frenchabstract}% - \par - \medskip - % - \begin{center} - Prix~public~:\c_space_tl - \EUR{\printfield{publicprice}} - \c_space_tl\textendash\c_space_tl Prix~membre~\smf{}~:\c_space_tl - \EUR{\printfield{smfprice}} - \c_space_tl\textendash\c_space_tl Frais~de~port~non~compris - \end{center} - } - \iffieldundef{englishabstract} - {}% - {% - \par - \bigskip - \begin{otherlanguage}{english} - \itshape - \printfield{englishabstract}% - % - \par - \medskip - % - \begin{center} - Public~price:\c_space_tl - \EUR{\printfield{publicprice}} - \c_space_tl\textendash\c_space_tl \smf{}~member~price:\c_space_tl - \EUR{\printfield{smfprice}} - \c_space_tl\textendash\c_space_tl Shipping~costs~not~included - \end{center} - \end{otherlanguage} - } - \usebibmacro{finentry} -} -%% ---------------------------------------------------------------------------- -%% This work may be distributed and/or modified under the -%% 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.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Denis Bitouz'e. -%% -%% This work consists of the file gzt.dtx -%% and the derived files gzt.cls, -%% gztarticle.cls, -%% gzt.ins, -%% gzt.pdf, -%% and a number of configuration files. -%% -%% End of file `gzt.dbx'. diff --git a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.lbx b/macros/latex/contrib/gzt/tex/latex/gzt/gzt.lbx deleted file mode 100644 index 4ad100fa06..0000000000 --- a/macros/latex/contrib/gzt/tex/latex/gzt/gzt.lbx +++ /dev/null @@ -1,44 +0,0 @@ -%% -%% This is file `gzt.lbx', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gzt.dtx (with options: `languagemodel') -%% ----------------------------------------------------------------------------- -%% gzt --- SMF bundle of classes for the French journal "La Gazette des -%% Math'ematiciens" -%% -%% E-mail: denis.bitouze@univ-littoral.fr -%% Released under the LaTeX Project Public License v1.3c or later -%% See http://www.latex-project.org/lppl.txt -%% ----------------------------------------------------------------------------- -\ProvidesFile{gzt.lbx} -\InheritBibliographyExtras{french}% extras are inherited from French... -\DeclareBibliographyStrings{% - inherit = {french},% .... as well as all the keys - number = {{\no}{\no}}, - volume = {{volume}{vol\adddot}}, - volumes = {{volumes}{vol\adddot}}, -} -%% ---------------------------------------------------------------------------- -%% This work may be distributed and/or modified under the -%% 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.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Denis Bitouz'e. -%% -%% This work consists of the file gzt.dtx -%% and the derived files gzt.cls, -%% gztarticle.cls, -%% gzt.ins, -%% gzt.pdf, -%% and a number of configuration files. -%% -%% End of file `gzt.lbx'. diff --git a/macros/latex/contrib/gzt/tex/latex/gzt/gztarticle.cls b/macros/latex/contrib/gzt/tex/latex/gzt/gztarticle.cls deleted file mode 100644 index 78173f28dd..0000000000 --- a/macros/latex/contrib/gzt/tex/latex/gzt/gztarticle.cls +++ /dev/null @@ -1,3263 +0,0 @@ -%% -%% This is file `gztarticle.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gzt.dtx (with options: `class-article') -%% ----------------------------------------------------------------------------- -%% gzt --- SMF bundle of classes for the French journal "La Gazette des -%% Math'ematiciens" -%% -%% E-mail: denis.bitouze@univ-littoral.fr -%% Released under the LaTeX Project Public License v1.3c or later -%% See http://www.latex-project.org/lppl.txt -%% ----------------------------------------------------------------------------- -\def\gztfileversion{1.0.1} -\def\gztfiledate{2021-02-14} -\RequirePackage{silence}% -\WarningFilter{kpfonts}{With 'easyscsl' option} -\RequirePackage{xpatch}% -\patchcmd% - {\use@@tikzlibrary}% - {% - \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ - \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% - \expandafter\usepgflibrary\expandafter{\pgf@temp}% - }{% - \tikzerror{I did not find the tikz library - '\pgf@temp'. I looked for files named - tikzlibrary\pgf@temp.code.tex and - pgflibrary\pgf@temp.code.tex, but neither - could be found in the current texmf trees.} - }}% - }% - {% - \@pushfilename - \pgfutil@InputIfFileExists{tikzlibrary\pgf@temp.code.tex}{}{ - \pgfutil@IfFileExists{pgflibrary\pgf@temp.code.tex}{% - \expandafter\usepgflibrary\expandafter{\pgf@temp}% - }{% - \tikzerror{I did not find the tikz library - '\pgf@temp'. I looked for files named - tikzlibrary\pgf@temp.code.tex and - pgflibrary\pgf@temp.code.tex, but neither - could be found in the current texmf trees.} - }}% - \@popfilename - }% - {}{}% -\patchcmd - {\tcb@input@library@in} - {% - \input\tcbpkgprefix#1\relax% - } - {% - \@pushfilename - \input\tcbpkgprefix#1\relax% - \@popfilename - } - {}{} -\RequirePackage{l3keys2e} -\RequirePackage{xparse} -\ExplSyntaxOn -\ProvidesExplClass - {gztarticle} - {\gztfiledate} - {\gztfileversion} - { - SMF~class~for~the~French~journal^^J - "La~Gazette~des~Math'ematiciens". -~(Author~version.) - } -\NeedsTeXFormat{LaTeX2e} -\bool_new:N \g__gzt_moral_report_bool -\bool_new:N \g__gzt_special_edition_bool -\bool_new:N \g__gzt_for_authors_bool -\bool_new:N \g__gzt_for_printer_bool -\bool_new:N \g__gzt_cover_bool -\bool_new:N \g__gzt_coverpage_bool -\bool_new:N \g__gzt_inside_pages_bool -\bool_new:N \g__gzt_no_inside_backcover_bool -\bool_gset_true:N \g__gzt_for_authors_bool% -\bool_gset_true:N \g__gzt_inside_pages_bool% -\tl_gset:Nn \g__gzt_moral_report_common_option_tl {% - \AddToHook{begindocument/before} {% - \bool_gset_true:N \g__gzt_moral_report_bool - \bool_gset_true:N \g__gzt_frontcover_without_minitoc_bool - \title[short={\bfseries\c__gzt_moralreport_rubric_string_tl}]{} - \tl_gset:Nn \g__gzt_rubric_title_tl {\c__gzt_moralreport_rubric_string_tl} - } -} -\keys_define:nn { gztarticle } -{ - editorial .code:n = {% - \AddToHook{begindocument}{% - \__gzt_before_display_editorial:n {}% - } - \AddToHook{enddocument}{% - \__gzt_after_display_editorial: {}% - } - },% - presidentmessage .code:n = {% - \AddToHook{begindocument}{% - \__gzt_before_display_presidentmessage: {}% - } - \AddToHook{enddocument}{% - \__gzt_after_display_presidentmessage: {}% - } - },% - moralreport .code:n = { - \g__gzt_moral_report_common_option_tl - \keys_set:nn { gztarticle / moralreport } {#1} - }, - moralreport / title .code:n = {% - \tl_gset:Nn \g__gzt_moral_report_title_tl {#1} - },% - moralreport / short~title .code:n = {% - \tl_gset:Nn \g__gzt_moral_report_short_title_tl {#1} - },% -}% -\PassOptionsToClass{openany,english,french}{book} -\LoadClass { book } -\PassOptionsToPackage{table,cmyk}{xcolor}% -\PassOptionsToPackage{export}{adjustbox}% -\PassOptionsToPackage{english,french}{translator} -\PassOptionsToPackage{english,french}{babel} -\PassOptionsToPackage{english,french}{varioref} -\PassOptionsToPackage{english,french}{cleveref} -\RequirePackage[group=false]{standalone}% -\RequirePackage{datatool}% -\sys_if_engine_pdftex:TF - { - \RequirePackage[T1]{fontenc} - \RequirePackage[utf8]{inputenc} - }{ - \RequirePackage{fontspec} - } -\RequirePackage[sfmath,easyscsl,noDcommand]{kpfonts} -\RequirePackage[pagestyles]{titlesec}% -\RequirePackage{multicol}% -\RequirePackage{graphicx}% -\RequirePackage{longtable}% -\RequirePackage{adjustbox}% -\RequirePackage{mwe} -\RequirePackage{zref-totpages} -\RequirePackage{zref-xr}% -\RequirePackage{ragged2e}% -\RequirePackage{xspace}% -\RequirePackage{textcase}% -\RequirePackage{epigraph}% -\RequirePackage[autostyle]{csquotes}% -\RequirePackage[backend=biber,datamodel=gzt,defernumbers=true,autolang=other]{biblatex}% -\@ifpackagelater{biblatex}{2016/01/01}{% - \ExecuteBibliographyOptions{giveninits} -}{ - \ExecuteBibliographyOptions{firstinits} -} -\RequirePackage{array} -\RequirePackage{booktabs} -\RequirePackage{tabularx} -\RequirePackage{nccparskip} -\RequirePackage{multirow} -\RequirePackage{varioref} -\RequirePackage{mathtools} -\RequirePackage{rsfso} -\RequirePackage{esvect} -\RequirePackage{translator}% -\RequirePackage{geometry} -\RequirePackage{babel}% -\RequirePackage{eurosym}% -\RequirePackage{iflang}[2007/11/11]% -\RequirePackage{etoc}% -\RequirePackage[babel=true]{microtype}% -\RequirePackage[nodayofweek]{datetime}% -\RequirePackage[inline]{enumitem}% -\RequirePackage{afterpage} -\RequirePackage{xcolor}% -\cs_set_eq:NN \__gzt_orig_preamblecmds \@preamblecmds -\RequirePackage{tikz} -\RequirePackage{pgfplots} -\RequirePackage{tcolorbox} -\RequirePackage{tikzpagenodes} -\RequirePackage{amsthm} -\RequirePackage{thmtools} -\cs_set_eq:NN \@preamblecmds \__gzt_orig_preamblecmds -\RequirePackage{placeins}% -\RequirePackage[hidelinks,hypertexnames=false]{hyperref}% -\RequirePackage[numbered]{bookmark}% -\RequirePackage[nowarn]{glossaries}% -\RequirePackage{cleveref}% -\makeglossaries -\setglossarystyle{indexhypergroup} -\setacronymstyle{long-sc-short} -\sys_if_engine_pdftex:T - { - \renewcommand\familydefault{\sfdefault} - \renewcommand{\ttdefault}{lmtt} - } -\tl_remove_all:Nn \@preamblecmds { \do \DeclareMathOperator } -\tl_remove_all:Nn \@preamblecmds { \do \newacronym } -\tl_remove_all:Nn \@preamblecmds { \do \@declmathop } -\tl_remove_all:Nn \@preamblecmds { \do \usetikzlibrary } -\msg_new:nnnn{gzt}{issue-number-needed}{Option~`#1'~needed!} - {Please~specify~`#1=<number>', - ~otherwise~`<number>'~will~be~set~to - ~`\int_use:N\c__gzt_first_issue_number_int'.} -\msg_new:nnnn{gzt}{unknown-choice}{Choice~`#3'~invalid!} - {Please~specify~#1=#2.} -\int_new:N \g__gzt_editors_in_chief_int -\int_new:N \g__gzt_item_in_rubric_int -\int_new:N \g__gzt_articles_int -\int_new:N \g__gzt_question_int -\int_const:Nn \c__gzt_first_issue_number_int { 143 } -\int_const:Nn \c__gzt_first_issue_year_int { 2015 } -\int_const:Nn \c__gzt_first_issue_month_int { 1 } -\int_const:Nn \c__gzt_interval_in_months_int { 3 } -\tl_const:Nn \c__gzt_journal_short_title_string_tl {Gazette} -\tl_const:Nn \c__gzt_journal_title_string_tl { - \c__gzt_journal_short_title_string_tl{}~des~Math\'ematiciens% -} -\tl_const:Nn \c__gzt_class_name_tl {gzt} -\tl_const:Nn \c__gzt_article_class_name_tl {gztarticle} -\tl_const:Nn \c__gzt_editors_in_chief_string_tl -{ - \int_compare:nNnTF { \g__gzt_editors_in_chief_int } > { 1 } - { \c__gzt_editorsinchief_string_tl } - { \c__gzt_editorinchief_string_tl } -} -\tl_const:Nn \c__gzt_editorinchief_string_tl {R\'edacteur~en~chef } -\tl_const:Nn \c__gzt_editorsinchief_string_tl {R\'edacteurs~en~chef } -\tl_const:Nn \c__gzt_editors_string_tl {R\'edacteurs } -\tl_const:Nn \c__gzt_editorial_board_string_tl {Comit\'e~de~r\'edaction} -\tl_const:Nn \c__gzt_special_edition_editorial_board_string_tl {Num\'ero~sp\'ecial~de~la~Gazette~des~Math\'ematiciens~sous~la~direction~de~:} -\tl_const:Nn \c__gzt_editorial_secretariat_string_tl {Secr\'etariat~de~r\'edaction} -\tl_const:Nn \c__gzt_phone_string_tl {T\'el.} -\tl_const:Nn \c__gzt_fax_string_tl {Fax} -\tl_const:Nn \c__gzt_informations_string_tl {Renseignements} -\tl_const:Nn \c__gzt_publishingdirector_string_tl {Directeur~de~la~publication} -\tl_const:Nn \c__gzt_issn_string_tl {\textsc{issn}} -\tl_const:Nn \c__gzt_isbn_string_tl {\textsc{isbn}} -\tl_const:Nn \c__gzt_latexclass_string_tl {Classe~\LaTeX{}} -\tl_const:Nn \c__gzt_printer_string_tl {Impression} -\tl_const:Nn \c__gzt_configuration_file_string_tl {gzt.cfg} -\tl_const:Nn \c__gzt_artistic_director_string_tl {Conception~graphique} -\AddToHook{begindocument/before}{ - \bool_if:NTF {\g__gzt_special_edition_bool} { - \tl_const:Nn \c__gzt_editorial_heading_string_tl {Avant-propos} - }{ - \tl_const:Nn \c__gzt_editorial_heading_string_tl {\'Editorial} - } -} -\tl_const:Nn \c__gzt_editorinchief_signatory_string_tl {\c__gzt_editorinchief_string_tl~de~la~\c__gzt_journal_title_string_tl} -\tl_const:Nn \c__gzt_toc_string_tl {Sommaire} -\tl_const:Nn \c__gzt_president_message_string_tl {Mot~du~pr\'esident} -\tl_const:Nn \c__gzt_president_signatory_string_tl {pr\'esident~de~la~\g__gzt_smf_short_string_tl} -\tl_const:Nn \c__gzt_editorinchief_message_date_string_tl {Le~\displaydate{__gzt_editorinchief_message_date}} -\tl_const:Nn \c__gzt_president_message_date_string_tl {Le~} -\tl_const:Nn \c__gzt_special_edition_string_tl {\c_space_tl{}sp{\'e}cial} -\tl_const:Nn \c__gzt_long_special_edition_string_tl {Numéro\c__gzt_special_edition_string_tl}% -\tl_const:Nn \c__gzt_short_special_edition_string_tl {\No{}\c__gzt_special_edition_string_tl}% -\AddToHook{begindocument/before}{ - \tl_const:Nn \c__gzt_frontcover_header_string_tl { - \bool_if:NT {\g__gzt_special_edition_bool} { - \text_uppercase:n {\c__gzt_long_special_edition_string_tl} - \medskip - \par - \normalsize - } - \l__gzt_uppercased_date_format\displaydate{__gzt_date} - \bool_if:NF {\g__gzt_special_edition_bool} { - \c_space_tl - \textendash{} - \c_space_tl - \No - \int_use:N\g__gzt_issue_number_int% - } - } -} -\clist_const:Nn \c__gzt__graphics_extensions_clist {png,PNG,jpg,JPG,jpeg,JPEG,pdf,PDF} -\tl_const:Nn \c__gzt_pdftitle_string_tl { - \bool_if:NTF {\g__gzt_moral_report_bool} { - \c__gzt_moralreport_rubric_string_tl - }{ - \c__gzt_journal_title_string_tl - % \c_space_tl - % \textendash{} - % \c_space_tl - % \l__gzt_uppercased_date_format{\displaydate{__gzt_date}} - \c_space_tl - \textendash{} - \c_space_tl - N° - \bool_if:NTF {\g__gzt_special_edition_bool} { - \c__gzt_special_edition_string_tl - \c_space_tl - \g__gzt_special_edition_title_tl - }{ - \int_use:N\g__gzt_issue_number_int - } - } -} -\tl_const:Nn \c__gzt_frontmatter_directory_string_tl {frontmatter} -\tl_const:Nn \c__gzt_backmatter_directory_string_tl {backmatter} -\tl_const:Nn \c__gzt_editorial_file_string_tl {\c__gzt_frontmatter_directory_string_tl/editorial} -\tl_const:Nn \c__gzt_president_message_file_string_tl {\c__gzt_frontmatter_directory_string_tl/presidentmessage} -\tl_const:Nn \c__gzt_issue_path_string_tl {\int_use:N \g__gzt_issue_number_int} -\tl_const:Nn \c__gzt_images_directory_string_tl {images} -\tl_const:Nn \c__gzt_issue_images_path_string_tl {% \c__gzt_issue_path_string_tl/ - \c__gzt_images_directory_string_tl} -\tl_const:Nn \c__gzt_issue_frontcover_default_image_file_tl {frontcover} -\tl_const:Nn \c__gzt_issue_backcover_text_file_string_tl {backcover} -\tl_const:Nn \c__gzt_backcover_page_file_string_tl {\c__gzt_backmatter_directory_string_tl/\c__gzt_issue_backcover_text_file_string_tl} -\tl_const:Nn \c__gzt_special_edition_backcover_text_file_string_tl {abstract_backcover} -\tl_const:Nn \c__gzt_special_edition_backcover_page_file_string_tl {\c__gzt_backmatter_directory_string_tl/\c__gzt_special_edition_backcover_text_file_string_tl} -\tl_const:Nn \c__gzt_special_edition_backcover_picture_string_tl {picture_backcover} -\tl_const:Nn \c__gzt_special_edition_backcover_page_picture_string_tl {\c__gzt_backmatter_directory_string_tl/\c__gzt_special_edition_backcover_picture_string_tl} -\tl_const:Nn \c__gzt_acronyms_file_string_tl {\c__gzt_class_name_tl acronyms} -\tl_const:Nn \c__gzt_authors_instructions_file_extension_tl {ain} -\tl_const:Nn \c__gzt_authors_instructions_file_tl {\c_sys_jobname_str.\c__gzt_authors_instructions_file_extension_tl} -\tl_const:Nn \c__gzt_about_frontcover_string_tl {\`A~propos~de~la~couverture.} -\tl_const:Nn \c__gzt_credit_frontcover_string_tl {cr\'edit} -\tl_const:Nn \c__gzt_authors_instructions_string_tl {Instructions~aux~auteurs} -\tl_const:Nn \c__gzt_preliminary_version_string_tl {% - Ce~document~est~une~{\'e}preuve~vous~permettant~de~contr{\^o}ler~l'int{\'e}grit{\'e}~du~ - texte~d'origine~(et~de~la~bibliographie~s'il~y~en~a~une)~de~votre~article~ - {\`a}~para{\^\i}tre~dans~le~prochain~num{\'e}ro~de~la~\gzt*{}.~La~mise~en~page~ - actuelle~n'est~pas~d{\'e}finitive\,:~votre~article~pourra~en~particulier~ne~pas~ - d{\'e}buter~en~haut~d'une~page.% -} -\tl_const:Nn \c__gzt_tellme_extra_title_string_tl {...\c_space_tl} -\tl_const:Nn \c__gzt_minitoc_rubric_title_separator_string_tl {\c_space_tl\textendash} -\tl_const:Nn \c__gzt_mathematics_pictogram_file_name_tl {picto-mathematics} -\tl_const:Nn \c__gzt_dossier_pictogram_file_name_tl {picto-dossier} -\tl_const:Nn \c__gzt_community_pictogram_file_name_tl {picto-hands} -\tl_const:Nn \c__gzt_interview_pictogram_file_name_tl {picto-interview} -\tl_const:Nn \c__gzt_teaching_pictogram_file_name_tl {picto-teaching} -\tl_const:Nn \c__gzt_parity_pictogram_file_name_tl {picto-parity} -\tl_const:Nn \c__gzt_tellme_pictogram_file_name_tl {picto-tellme} -\tl_const:Nn \c__gzt_information_pictogram_file_name_tl {picto-information} -\tl_const:Nn \c__gzt_rearviewmirror_pictogram_file_name_tl {picto-rearviewmirror} -\tl_const:Nn \c__gzt_tribute_pictogram_file_name_tl {picto-tribute} -\tl_const:Nn \c__gzt_books_pictogram_file_name_tl {picto-books} -\tl_const:Nn \c__gzt_forum_pictogram_file_name_tl {picto-forum} -\tl_const:Nn \c__gzt_mathematics_rubric_string_tl {Math\'ematiques} -\tl_const:Nn \c__gzt_dossier_rubric_string_tl {Dossier} -\tl_const:Nn \c__gzt_community_rubric_string_tl {Vie~de~la~communaut\'e} -\tl_const:Nn \c__gzt_interview_rubric_string_tl {Entretien} -\tl_const:Nn \c__gzt_teaching_rubric_string_tl {Diffusion~des~savoirs} -\tl_const:Nn \c__gzt_parity_rubric_string_tl {Parit\'e} -\tl_const:Nn \c__gzt_tellme_rubric_string_tl {Raconte-moi} -\tl_const:Nn \c__gzt_information_rubric_string_tl {Information} -\tl_const:Nn \c__gzt_rearviewmirror_rubric_string_tl {R\'etroviseur} -\tl_const:Nn \c__gzt_tribute_rubric_string_tl {Carnet} -\tl_const:Nn \c__gzt_books_rubric_string_tl {Livres} -\tl_const:Nn \c__gzt_latex_rubric_string_tl {Astuces~\LaTeX{}} -\tl_const:Nn \c__gzt_forum_rubric_string_tl {Tribune~libre} -\tl_const:Nn \c__gzt_published_with_help_of_string_tl {Publi\'e~avec~le~concours~de~:} -\tl_const:Nn \c__gzt_advertisement_directory_string_tl {advertisement/} -\tl_const:Nn \c__gzt_advertisement_string_tl {Publicit\'e} -\tl_const:Nn \c__gzt_moralreport_rubric_string_tl {Rapport~moral} -\tl_const:Nn \c__gzt_smf_short_string_tl {\textsc{smf}} -\tl_const:Nn \c__gzt_smf_short_pdf_string_tl {SMF} -\tl_const:Nn \c__gzt_smf_string_tl {Soci\'et\'e~Math\'ematique~de~France} -\tl_const:Nn \c__gzt_cad_short_string_tl {c.-\`a-d.} -\tl_const:Nn \c__gzt_cad_string_tl {c'est-\`a-dire} -\tl_const:Nn \c__gzt_Cad_short_string_tl {C.-\`a-d.} -\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}{\text_uppercase:n {\c__gzt_smf_short_string_tl}} - \c_space_tl - \textcolor{__gzt_date_color}{ - \textendash{}\c_space_tl - \bool_if:NTF {\g__gzt_moral_report_bool} { - \text_uppercase:n { \c__gzt_moralreport_rubric_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 }{% - \tl_const:Nn \c__gzt_smf_logo_file_string_tl {logo_SMF} - }{ - \tl_const:Nn \c__gzt_smf_logo_file_string_tl {example-image} - } -\tl_const:Nn \c__gzt_issue_bib_file_suffix_string_tl {__gzt} -\tl_const:Nn \c__gzt_issue_bib_file_string_tl {\c_sys_jobname_str\c__gzt_issue_bib_file_suffix_string_tl.bib} -\tl_const:Nn \c__gzt_issue_bib_path_string_tl {\c__gzt_issue_bib_file_string_tl} -\bool_if:NTF {\g__gzt_special_edition_bool} { - \tl_const:Nn \c__gzt_issue_bib_key_tl {special-edition} -}{ - \tl_const:Nn \c__gzt_issue_bib_key_tl {\int_use:N \g__gzt_issue_number_int} -} -\tl_const:Nn \c__gzt_interview_title_string_tl {En~apart\'e~avec~} -\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 { - \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 -\bool_new:N \g__gzt_inside_frontcover_bool -\bool_new:N \g__gzt_inside_backcover_bool -\bool_new:N \g__gzt_frontmatter_bool -\bool_new:N \g__gzt_rubric_bool -\bool_new:N \g__gzt_interview_rubric_bool -\bool_new:N \g__gzt_tellme_rubric_bool -\bool_new:N \g__gzt_rearviewmirror_rubric_bool -\bool_new:N \g__gzt_books_rubric_bool -\bool_new:N \g__gzt_mainmatter_bool -\bool_new:N \g__gzt_backmatter_bool -\bool_new:N \g__gzt_backcover_bool -\bool_new:N \g__gzt_frontcover_without_minitoc_bool -\bool_new:N \g__gzt_previous_article_with_bibliography_or_minibio_bool -\bool_new:N \g__gzt_advertisement_bool -\bool_new:N \g__gzt_multicols_bool -\bool_new:N \g__gzt_refsection_bool -\dim_const:Nn \c__gzt_rubrics_abstract_width_dim { 85mm} -\dim_const:Nn \c__gzt_rubrics_head_text_abstract_width_dim { 50mm} -\dim_const:Nn \c__gzt_rubrics_head_text_no_abstract_width_dim -{ \c__gzt_rubrics_abstract_width_dim + \c__gzt_rubrics_head_text_abstract_width_dim} -\dim_new:N \l__gzt_rubrics_head_text_width_dim -\dim_const:Nn \c__gzt_layoutheight_dim { 270mm} -\dim_const:Nn \c__gzt_layoutwidth_dim { 210mm} -\dim_const:Nn \c__gzt_printer_layoutoffset_dim { 5mm} -\bool_if:NTF {\g__gzt_for_printer_bool} { - \dim_const:Nn \c__gzt_potential_layoutoffset_dim { \c__gzt_printer_layoutoffset_dim} -}{ - \dim_const:Nn \c__gzt_potential_layoutoffset_dim {\c_zero_dim} -} -\int_const:Nn \c__gzt_thresold_a_int {68} -\int_const:Nn \c__gzt_thresold_b_int {80} -\int_const:Nn \c__gzt_thresold_c_int {88} -\int_const:Nn \c__gzt_thresold_d_int {96} -\int_const:Nn \c__gzt_thresold_e_int {104} -\int_const:Nn \c__gzt_thresold_f_int {120} -\dim_const:Nn \c__gzt_bindingoffset_a_dim {3mm} -\dim_const:Nn \c__gzt_bindingoffset_b_dim {3.5mm} -\dim_const:Nn \c__gzt_bindingoffset_c_dim {3.9mm} -\dim_const:Nn \c__gzt_bindingoffset_d_dim {4.1mm} -\dim_const:Nn \c__gzt_bindingoffset_e_dim {4.5mm} -\dim_const:Nn \c__gzt_bindingoffset_f_dim {5mm} -\int_new:N \g__gzt_total_pages_number_int% -\int_new:N \g__gzt_total_inside_pages_number_int% -\zexternaldocument[self]{\jobname}% -\int_gset:Nn \g__gzt_total_pages_number_int { \zref@extractdefault{selfLastPage}{abspage}{0} } -\int_gset:Nn \g__gzt_total_inside_pages_number_int { \g__gzt_total_pages_number_int - 4 } -\int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_a_int} -{ - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c_zero_dim } -}{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_b_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_a_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_c_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_b_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_d_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_c_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_e_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_d_dim } - }{ - \int_compare:nNnTF {\g__gzt_total_inside_pages_number_int}<{\c__gzt_thresold_f_int} - { - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_e_dim } - }{ - \dim_const:Nn \c__gzt_printer_bindingoffset_dim { \c__gzt_bindingoffset_f_dim } - } - } - } - } - } -} -\bool_if:NTF {\g__gzt_cover_bool} { - \dim_const:Nn \c__gzt_potential_bindingoffset_dim { \c__gzt_printer_bindingoffset_dim } -}{ - \dim_const:Nn \c__gzt_potential_bindingoffset_dim {\c_zero_dim} -} -\dim_const:Nn \c__gzt_paperheight_dim { \c__gzt_layoutheight_dim+2\c__gzt_potential_layoutoffset_dim} -\bool_if:NTF {\g__gzt_cover_bool} { - \dim_const:Nn \c__gzt_paperwidth_dim { - \c__gzt_layoutwidth_dim - + - \c__gzt_potential_layoutoffset_dim - +\c__gzt_potential_bindingoffset_dim - } -}{ - \dim_const:Nn \c__gzt_paperwidth_dim { - \c__gzt_layoutwidth_dim - + - 2 - \c__gzt_potential_layoutoffset_dim - +\c__gzt_potential_bindingoffset_dim - } -} -\dim_const:Nn \c__gzt_frontcover_image_width_dim { - \c__gzt_layoutwidth_dim - + - \c__gzt_printer_layoutoffset_dim -} -\dim_const:Nn \c__gzt_topmargin_dim { 31mm} -\dim_const:Nn \c__gzt_topmargin_frontcover_dim { - \c__gzt_topmargin_dim - + 30mm -} -\dim_const:Nn \c__gzt_topmargin_inside_cover_dim { - \c__gzt_topmargin_dim - +10mm -} -\dim_const:Nn \c__gzt_topmargin_front_matter_dim { - \c__gzt_topmargin_inside_cover_dim -} -\dim_const:Nn \c__gzt_headsep_dim { 24mm} -\dim_const:Nn \c__gzt_headsep_frontcover_dim { - \c__gzt_headsep_dim - +31mm - % -\c__gzt_potential_layoutoffset_dim -} -\dim_const:Nn \c__gzt_headsep_inside_frontcover_dim { - \c__gzt_headsep_dim - +7mm -} -\dim_const:Nn \c__gzt_headsep_front_matter_dim { - \c__gzt_headsep_inside_frontcover_dim -} -\dim_const:Nn \c__gzt_headheight_dim { \c_zero_dim } -\dim_const:Nn \c__gzt_botmargin_dim { 30mm} -\dim_const:Nn \c__gzt_footskip_dim { 26mm} -\dim_const:Nn \c__gzt_extra_margin_dim { 5mm } -\dim_const:Nn \c__gzt_innermargin_dim { 15mm - \c__gzt_potential_bindingoffset_dim + \c__gzt_extra_margin_dim} -\dim_const:Nn \c__gzt_outermargin_dim { 30mm - \c__gzt_extra_margin_dim } -\dim_const:Nn \c__gzt_inside_cover_box_width_dim { 165mm }% -\dim_const:Nn \c__gzt_innermargin_inside_cover_dim { - (\c__gzt_layoutwidth_dim - \c__gzt_inside_cover_box_width_dim)/2 - - \c__gzt_potential_bindingoffset_dim - % + \c__gzt_adjustmargin_dim -} -\dim_const:Nn \c__gzt_outermargin_inside_cover_dim { - (\c__gzt_layoutwidth_dim - \c__gzt_inside_cover_box_width_dim)/2 - % - \c__gzt_adjustmargin_dim -} -\dim_const:Nn \c__gzt_innermargin_backcover_dim { 10mm } -\dim_const:Nn \c__gzt_outermargin_backcover_dim { \c__gzt_innermargin_backcover_dim } -\dim_const:Nn \c__gzt_topmargin_backcover_dim { \c__gzt_innermargin_backcover_dim } -\dim_const:Nn \c__gzt_bottommargin_backcover_dim { \c__gzt_innermargin_backcover_dim } -\dim_const:Nn \c__gzt_frontcover_image_height_dim { 160mm} -\dim_const:Nn \c__gzt_radius_arc_dim { 85mm }% -\dim_const:Nn \c__gzt_frontmatter_headtext_xshift_dim { 19mm }% -\dim_const:Nn \c__gzt_frontmatter_headtext_o_xshift_dim { - -\c__gzt_frontmatter_headtext_xshift_dim -\c__gzt_potential_layoutoffset_dim% -}% -\dim_const:Nn \c__gzt_frontmatter_headtext_e_xshift_dim { - \c__gzt_frontmatter_headtext_xshift_dim +\c__gzt_potential_layoutoffset_dim% -}% -\dim_const:Nn \c__gzt_frontmatter_headtext_yshift_dim { -6.5mm-\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_header_line_width_dim { 0.25mm} -\dim_const:Nn \c__gzt_header_line_yshift_dim { -1mm-\c__gzt_header_line_width_dim}% -\dim_const:Nn \c__gzt_footer_background_height_dim { 10mm + \c__gzt_potential_layoutoffset_dim } -\dim_const:Nn \c__gzt_front_matter_extra_innermargin_dim { 28mm } -\dim_const:Nn \c__gzt_front_matter_extra_outermargin_dim { 7mm } -\dim_const:Nn \c__gzt_inside_cover_offset_dim { \c_zero_dim }% -\dim_const:Nn \c__gzt_pictogram_width_dim { 23mm }% -\dim_const:Nn \c__gzt_header_xshift_dim { \c__gzt_pictogram_width_dim-6mm }% -\dim_const:Nn \c__gzt_header_yshift_dim { 5mm }% -\dim_const:Nn \c__gzt_xshift_arccircle_A_dim { \c__gzt_rubrics_abstract_width_dim+\c__gzt_innermargin_dim+10mm+\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_yshift_arccircle_A_dim { -22mm-\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_xshift_arccircle_B_dim {% - (\c__gzt_rubrics_abstract_width_dim+\c__gzt_innermargin_dim)/2% - % \c__gzt_innermargin_dim+(\c__gzt_rubrics_abstract_width_dim/2)% - % \c__gzt_xshift_arccircle_A_dim/2 -}% -\dim_const:Nn \c__gzt_yshift_arccircle_B_dim { -\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_xshift_arccircle_C_dim { \c__gzt_potential_layoutoffset_dim-5mm }% -\dim_const:Nn \c__gzt_yshift_arccircle_C_dim { -19.75mm-\c__gzt_potential_layoutoffset_dim }% -\dim_const:Nn \c__gzt_book_review_frontcover_extend_dim { 12mm }% -\dim_const:Nn \c__gzt_tcb_left_dim { 4mm }% -\dim_const:Nn \c__gzt_tcb_boxsep_dim { 1mm }% -\dim_const:Nn \c__gzt_tikz_dot_diameter_dim { 0.33mm }% -\dim_const:Nn \c__gzt_tikz_dot_spacing_dim { 1.05mm }% -\dim_const:Nn \c__gzt_rubric_extra_xoffset_dim { -\c__gzt_innermargin_dim/2 }% -\dim_const:Nn \c__gzt_rubric_xoffset_dim { 14.5mm }% -\dim_const:Nn \c__gzt_boxed_issue_number_width_dim { 30mm} -\dim_const:Nn \c__gzt_boxed_issue_number_height_dim { 8mm} -\dim_new:N \l__gzt_thumbnail_width_dim -\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_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_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} -\dim_const:Nn \c__gzt_minitoc_list_labelsep_dim {1em} -\dim_const:Nn \c__gzt_authors_photos_width_dim {16mm} -\dim_const:Nn \c__gzt_authors_photos_box_width_dim {\c__gzt_authors_photos_width_dim - + 2mm} -\dim_new:N \l__gzt_minibio_width_dim -\geometry{% - papersize={\c__gzt_paperwidth_dim,\c__gzt_paperheight_dim} -} -\bool_if:NTF {\g__gzt_cover_bool} { - \tl_const:Nn \c__gzt_frontcover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutvoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_frontcover_dim - ,headsep=\c__gzt_headsep_frontcover_dim - ,headheight=\c__gzt_headheight_dim - % ,bottom=\c_zero_dim - ,bottom=11mm - ,footskip=\c_zero_dim - ,outer=\c_zero_dim - ,inner=\c__gzt_potential_layoutoffset_dim - ,nomarginpar% - }% -}{ - \tl_const:Nn \c__gzt_frontcover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_frontcover_dim - ,headsep=\c__gzt_headsep_frontcover_dim - ,headheight=\c__gzt_headheight_dim - % ,bottom=\c_zero_dim - ,bottom=11mm - ,footskip=\c_zero_dim - ,hmargin=\c__gzt_potential_layoutoffset_dim - ,nomarginpar% - }% -} -\bool_if:NTF {\g__gzt_cover_bool} { - \tl_const:Nn \c__gzt_inside_cover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutvoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_inside_cover_dim - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_inside_frontcover_dim - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_inside_cover_dim-\c__gzt_potential_layoutoffset_dim - ,outer=\c__gzt_outermargin_inside_cover_dim+\c__gzt_potential_layoutoffset_dim - ,nomarginpar% - }% -}{ - \tl_const:Nn \c__gzt_inside_cover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_inside_cover_dim - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_inside_frontcover_dim - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_inside_cover_dim - ,outer=\c__gzt_outermargin_inside_cover_dim - ,nomarginpar% - }% -} -\tl_const:Nn \c__gzt_front_matter_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - % ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_front_matter_dim% - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_front_matter_dim - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim% - ,inner=\c__gzt_innermargin_dim+\c__gzt_front_matter_extra_innermargin_dim% - ,outer=\c__gzt_outermargin_dim+\c__gzt_front_matter_extra_outermargin_dim% - ,nomarginpar% -}% -\tl_const:Nn \c__gzt_main_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - % ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_dim-15mm% - ,headheight=\c__gzt_headheight_dim - ,headsep=\c__gzt_headsep_dim-18mm - ,bottom=\c__gzt_botmargin_dim - ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_dim - ,outer=\c__gzt_outermargin_dim -}% -\tl_const:Nn \c__gzt_backcover_geometry_tl {% - ,layoutsize={\c__gzt_layoutwidth_dim,\c__gzt_layoutheight_dim} - ,layoutoffset=\c__gzt_potential_layoutoffset_dim - % ,bindingoffset=\c__gzt_potential_bindingoffset_dim - ,top=\c__gzt_topmargin_backcover_dim% - % ,top=\c__gzt_topmargin_dim-15mm% - % ,headheight=\c__gzt_headheight_dim - % ,headsep=\c__gzt_headsep_dim-18mm - ,bottom=\c__gzt_bottommargin_backcover_dim - % ,footskip=\c__gzt_footskip_dim - ,inner=\c__gzt_innermargin_backcover_dim - ,outer=\c__gzt_outermargin_backcover_dim - ,nomarginpar - ,hcentering - ,twoside=false -} -\skip_const:Nn \c__gzt_editorial_presidentmessage_parskip_skip { 12pt plus 2pt minus .8pt }% -\skip_const:Nn \c__gzt_mainmatter_parskip_skip { 2pt plus .5pt minus .2pt }% -\int_new:N \g__gzt_issue_number_int -\int_new:N \g__gzt_issue_month_int -\int_new:N \g__gzt_issue_year_int -\tl_new:N \g__gzt_frontcover_image_options_tl -\keys_define:nn { gzt/issuesetup } -{ - number .int_gset:N = \g__gzt_issue_number_int, - month .int_gset:N = \g__gzt_issue_month_int, - year .int_gset:N = \g__gzt_issue_year_int, - number .value_required:n = true, - month .value_required:n = true, - year .value_required:n = true, - number .initial:n = 0, - frontcoverimageoptions .tl_gset:N = \g__gzt_frontcover_image_options_tl -} -\tl_new:N \l__gzt_journal_publisher_tl -\tl_new:N \l__gzt_journal_address_tl -\tl_new:N \l__gzt_journal_phone_tl -\tl_new:N \l__gzt_journal_fax_tl -\tl_new:N \l__gzt_journal_email_tl -\tl_new:N \l__gzt_journal_url_tl -\tl_new:N \l__gzt_journal_issn_tl -\tl_new:N \l__gzt_journal_isbn_tl -\keys_define:nn { gzt/journalsetup } -{ - publisher .tl_set:N = \l__gzt_journal_publisher_tl, - address .tl_set:N = \l__gzt_journal_address_tl, - phone .tl_set:N = \l__gzt_journal_phone_tl, - fax .tl_set:N = \l__gzt_journal_fax_tl, - email .tl_set:N = \l__gzt_journal_email_tl, - url .tl_set:N = \l__gzt_journal_url_tl, - issn .tl_set:N = \l__gzt_journal_issn_tl, - isbn .tl_set:N = \l__gzt_journal_isbn_tl, - publisher .value_required:n = true, - address .value_required:n = true, - phone .value_required:n = true, - fax .value_required:n = true, - email .value_required:n = true, - url .value_required:n = true, - issn .value_required:n = true, - isbn .value_required:n = true, -} -\keys_define:nn { gzt/title } -{ - short .tl_gset:N = \g__gzt_short_title_tl, - minishort .tl_gset:N = \g__gzt_mini_short_title_tl, - notintoc .bool_gset:N = \g__gzt_title_not_in_toc_bool, - short .value_required:n = true, - minishort .value_required:n = true, -} -\keys_define:nn { gzt/subtitle } -{ - short .tl_gset:N = \g__gzt_short_subtitle_tl, - minishort .tl_gset:N = \g__gzt_mini_short_subtitle_tl, - notintoc .bool_gset:N = \g__gzt_subtitle_not_in_toc_bool, - short .value_required:n = true, - minishort .value_required:n = true, -} -\keys_define:nn { gzt/rubric } -{ - abstract .tl_gset:N = \g__gzt_rubric_abstract_tl, - title .tl_gset:N = \g__gzt_rubric_title_tl, - pictogram .tl_gset:N = \g__gzt_rubric_pictofile_tl, - abstract .value_required:n = true, - title .value_required:n = true, - pictogram .value_required:n = true, -} -\keys_define:nn { gzt/minitoc } -{ - list .bool_gset:N = \g__gzt_minitoc_list_bool, - help .bool_gset:N = \g__gzt_minitoc_help_bool, - diameter .dim_gset:N = \g__gzt_minitoc_circle_diameter_dim, - textwidth .dim_gset:N = \g__gzt_minitoc_textwidth_dim, - xshift .dim_gset:N = \g__gzt_minitoc_xshift_dim, - yshift .dim_gset:N = \g__gzt_minitoc_yshift_dim, - diameter .value_required:n = true, - textwidth .value_required:n = true, - xshift .value_required:n = true, - yshift .value_required:n = true, -} -\keys_define:nn { gzt/authors } -{ - affiliation .tl_gset:N = \g__gzt_people_affiliation_tl, - email .tl_gset:N = \g__gzt_people_email_tl, - minibio .tl_gset:N = \g__gzt_people_minibio_tl, - photo .tl_gset:N = \g__gzt_people_photo_tl, - webpage .tl_gset:N = \g__gzt_people_webpage_tl, - affiliation .value_required:n = true, - email .value_required:n = true, - minibio .value_required:n = true, - photo .value_required:n = true, - webpage .value_required:n = true, -} -\tl_new:N \g__gzt_interviewee_minibio_tl -\tl_new:N \g__gzt_interviewee_photo_tl -\tl_new:N \g__gzt_interviewee_first_last_name_tl -\keys_define:nn { gzt/interviewees } -{ - minibio .tl_gset:N = \g__gzt_interviewee_minibio_tl, - photo .tl_gset:N = \g__gzt_interviewee_photo_tl, - minibio .value_required:n = true, - photo .value_required:n = true, -} -\tl_new:N \g__gzt_bookreview_frontcover_tl -\tl_new:N \g__gzt_bookreview_bibkey_tl -\keys_define:nn { gzt/bookreview } -{ - frontcover .tl_gset:N = \g__gzt_bookreview_frontcover_tl, - bibkey .tl_gset:N = \g__gzt_bookreview_bibkey_tl, - frontcover .value_required:n = true, - bibkey .value_required:n = true, -} -\tl_new:N \g__gzt_bookadvertisement_frontcover_tl -\tl_new:N \g__gzt_bookadvertisement_bibkey_tl -\keys_define:nn { gzt/bookadvertisement } -{ - frontcover .tl_gset:N = \g__gzt_bookadvertisement_frontcover_tl, - bibkey .tl_gset:N = \g__gzt_bookadvertisement_bibkey_tl, - frontcover .value_required:n = true, - bibkey .value_required:n = true, -} -\tl_new:N \l__gzt_newtheorem_style_tl -\keys_define:nn { gzt/newtheorem } -{ - frenchtitle .tl_set:N = \l__gzt_newtheorem_frenchtitle_tl, - englishtitle .tl_set:N = \l__gzt_newtheorem_englishtitle_tl, - frenchtitle .value_required:n = true, - englishtitle .value_required:n = true, - % - style .choice:, - style / theorem .code:n = {\tl_set:Nn \l__gzt_newtheorem_style_tl {theorem}}, - style / definition .code:n = {\tl_set:Nn \l__gzt_newtheorem_style_tl {definition}}, - style / proof .code:n = {\tl_set:Nn \l__gzt_newtheorem_style_tl {proof}}, - style / unknown .code:n = - \msg_error:nnxxx { gzt } { unknown-choice } - { style } % Name of choice key - { theorem~or~definition~or~proof } % Valid choices - { \exp_not:n {#1} } % Invalid choice given -} -\definecolorset{cmyk}{__gzt_}{_color}{ - generic_dark,1,.60,.10,0; % kind of blue (!) - light_generic_dark,1,.35,0,0 % kind of blue (!), light -} -\colorlet{__gzt_generic_light_color}{black!50} -\colorlet{__gzt_dark_generic_light_color}{black!60} -\colorlet{__gzt_description_label_light_color}{__gzt_dark_generic_light_color} -\colorlet{__gzt_minitoc_color}{__gzt_generic_light_color} -\colorlet{__gzt_cover_itemize_label_color}{__gzt_light_generic_dark_color} -\colorlet{__gzt_default_text_color}{black} -\colorlet{__gzt_head_text_color}{black!65} -\colorlet{__gzt_rubric_head_text_color}{__gzt_head_text_color} -\colorlet{__gzt_bibliography_minibios_acknowledgements_bg_color}{black!10} -\colorlet{__gzt_headrule_color}{__gzt_generic_light_color!65} -\colorlet{__gzt_circlerule_color}{__gzt_generic_dark_color!65} -\colorlet{__gzt_frontmatter_text_color}{black!75} -\colorlet{__gzt_people_color}{__gzt_generic_dark_color} -\colorlet{__gzt_arrayrule_color}{__gzt_generic_dark_color} -\colorlet{__gzt_acknowledgements_color}{__gzt_generic_dark_color} -\colorlet{__gzt_question_color}{__gzt_generic_dark_color} -\colorlet{__gzt_boxed_issue_number_bg_color}{__gzt_generic_dark_color} -\colorlet{__gzt_rule_in_toc_color}{__gzt_generic_dark_color} -\colorlet{__gzt_rubric_in_toc_color}{__gzt_generic_dark_color} -\colorlet{__gzt_article_in_toc_color}{__gzt_frontmatter_text_color} -\colorlet{__gzt_rubric_title_color}{__gzt_generic_light_color} -\colorlet{__gzt_article_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_section_color}{__gzt_generic_dark_color} -\colorlet{__gzt_subsection_color}{__gzt_generic_dark_color!90} -\colorlet{__gzt_subsubsection_color}{__gzt_generic_dark_color!80} -\colorlet{__gzt_rubric_abstract_color}{__gzt_generic_dark_color} -\colorlet{__gzt_article_abstract_color}{__gzt_generic_light_color} -\colorlet{__gzt_dotfill_color}{__gzt_generic_dark_color} -\colorlet{__gzt_about_frontcover_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_reflected_text_color}{__gzt_generic_dark_color} -\colorlet{__gzt_inside_frontcover_frame_bg_color}{__gzt_generic_dark_color!8} -\colorlet{__gzt_inside_frontcover_frame_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_footer_bg_color}{black!10} -\colorlet{__gzt_float_title_color}{__gzt_generic_dark_color} -\colorlet{__gzt_float_title_bg_color}{__gzt_generic_dark_color!10} -\colorlet{__gzt_float_frame_color}{__gzt_generic_dark_color!20} -\colorlet{__gzt_chapter_color}{__gzt_generic_dark_color} -\colorlet{__gzt_smf_number_color}{__gzt_generic_dark_color} -\colorlet{__gzt_date_color}{__gzt_generic_light_color} -\colorlet{__gzt_table_head_color}{__gzt_generic_dark_color!25} -\colorlet{__gzt_book_review_frame_bg_color}{__gzt_generic_dark_color!8} -\colorlet{__gzt_book_advertisement_bg_color}{white} -\colorlet{__gzt_book_advertisement_frame_color}{__gzt_generic_dark_color} -\colorlet{__gzt_default_cover_color}{white} -\AddToHook{env/multicols/begin}{ - \bool_gset_true:N \g__gzt_multicols_bool -} -\AddToHook{env/multicols/end}{ - \bool_gset_false:N \g__gzt_multicols_bool -} -\AddToHook{env/refsection/begin}{ - \bool_gset_true:N \g__gzt_refsection_bool -} -\AddToHook{env/refsection/end}{ - \bool_gset_false:N \g__gzt_refsection_bool -} -\tl_const:Nn \c__gzt_footer_size_font_tl { - \fontsize{\c__gzt_footer_height_font_dim}{\c_zero_dim}\selectfont% -} -\tl_new:N \g__gzt_smf_short_string_tl -\tl_new:N \g__gzt_smf_string_tl -\tl_gset:Nn \g__gzt_smf_short_string_tl { - % \cs_if_exist:cTF {texorpdfstring} - % { - \texorpdfstring{\c__gzt_smf_short_string_tl}{\c__gzt_smf_short_pdf_string_tl} - % }{% - % \c__gzt_smf_short_pdf_string_tl - % }% -} -\tl_gset:Nn \g__gzt_smf_string_tl { - % \cs_if_exist:cTF {texorpdfstring} - % { - % \texorpdfstring{Soci\'et\'e~Math\'ematique~de~France}{\c__gzt_smf_string_tl} - \c__gzt_smf_string_tl - % }{% - % \acrlong*{smf} - % }% -} -\tl_new:N \l__gzt_gzt_short_string_tl -\tl_new:N \l__gzt_gzt_string_tl -\tl_set:Nn \l__gzt_gzt_short_string_tl { - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\emph{\c__gzt_journal_short_title_string_tl}}{\c__gzt_journal_short_title_string_tl} - }{% - \emph{\c__gzt_journal_short_title_string_tl} - }% -} -\tl_set:Nn \l__gzt_gzt_string_tl { - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\emph{\c__gzt_journal_title_string_tl}}{\c__gzt_journal_title_string_tl} - }{% - \emph{\c__gzt_journal_title_string_tl} - }% -} -\tl_new:N \g__gzt_pdftitle_string_tl -\tl_new:N \g__gzt_pdfauthor_string_tl -\tl_gset:Nn \g__gzt_pdftitle_string_tl { - \c__gzt_pdftitle_string_tl -} -\tl_gset:Nn \g__gzt_pdfauthor_string_tl { - \g__gzt_smf_string_tl -} -\AddToHook{begindocument/before}{% - \hypersetup{% - pdftitle=\g__gzt_pdftitle_string_tl, - pdfauthor=\g__gzt_pdfauthor_string_tl% - } -} -\cs_new_protected:Nn \__gzt_email:n - { - \href{mailto:#1}{\nolinkurl{#1}}% - } -\cs_new_protected:Nn \__gzt_display_author:nnnnn -{ - \begin{tabular}[t]{p{\c__gzt_authors_photos_box_width_dim}p{0.75\linewidth}} - \tl_if_empty:nF {#5} - {% - \begin{adjustbox}{valign=t} - \includegraphics[width=\c__gzt_authors_photos_width_dim]{#5} - \end{adjustbox}% - } - & - \begin{description}[leftmargin=1em,style=nextline,nosep] - \item[\textcolor{__gzt_people_color}{\DeclareNameAlias{labelname}{default}\citeauthor{#1}}] - \tl_if_empty:nF {#2} - {% - #2% - \par% - \smallskip% - } - \tl_if_empty:nF {#3} - {% - \href{mailto:#3}{\nolinkurl{#3}}% - \par% - \smallskip% - } - \tl_if_empty:nF {#4} - {% - #4 - } - \end{description} - \end{tabular} -} -\cs_generate_variant:Nn \__gzt_display_author:nnnnn { VVVVV } -\DTLnewdb{people} -\tl_new:N \l__gzt_crossref_tl -\cs_new_protected:Nn \__gzt_people:nnnnnnnn -{ - \DTLnewrow{people}% - \DTLnewdbentry{people}{first-last-name}{#1}% - \DTLnewdbentry{people}{affiliation}{#2}% - \DTLnewdbentry{people}{email}{#3}% - \DTLnewdbentry{people}{minibio}{#4}% - \DTLnewdbentry{people}{photo}{#5}% - \DTLnewdbentry{people}{speciality}{#6}% - \DTLnewdbentry{people}{role}{#7}% - \DTLnewdbentry{people}{webpage}{#8}% - \int_if_exist:cF {g__gzt_#7_int} - { - \int_new:c {g__gzt_#7_int} - } - \int_incr:c {g__gzt_#7_int} - \tl_if_in:nnTF { #7 } { author } { - \tl_set:Nn \l__gzt_crossref_tl {\c__gzt_issue_bib_key_tl -art-\int_use:N \g__gzt_articles_int} - } { - \tl_set:Nn \l__gzt_crossref_tl {\c__gzt_issue_bib_key_tl} - } - \tl_set:Nn \l__gzt_people_first_last_name_tl {#1} - \iow_now:Nx \g__gzt_bib_out_iow {% - @article{ - \c__gzt_issue_bib_key_tl -#7- \int_use:c {g__gzt_#7_int}, - \iow_newline: - author={\exp_not:V\l__gzt_people_first_last_name_tl}, - \iow_newline: - options={skipbib}, - \iow_newline: - crossref = {\l__gzt_crossref_tl} - \iow_newline: - } - \iow_newline: - }% -} -\cs_generate_variant:Nn \__gzt_people:nnnnnnnn { nVVVVnxV } -\cs_new_protected:Nn \__gzt_display_academic_signature:n -{ - \bigskip - \begin{__gzt_minibiographies_acknowledgements_tcbox} - #1 - \end{__gzt_minibiographies_acknowledgements_tcbox} -} -\cs_new_protected:Nn \__gzt_display_people_by_role:n -{ - \DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{#1}]{people}{% - \l__gzt_firstlastname_tl=first-last-name% - ,\l__gzt_people_affiliation_tl=affiliation% - ,\l__gzt_people_email_tl=email% - ,\l__gzt_people_minibio_tl=minibio% - ,\l__gzt_people_photo_tl=photo% - ,\l__gzt_people_speciality=speciality% - ,\l__gzt_people_role_tl=role% - ,\l__gzt_people_webpage_tl=webpage% - }{% - \tl_if_in:NnTF \l__gzt_people_role_tl { editor } { - \item[ - \textcolor{__gzt_people_color}{% - \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex}% - } - \tl_if_in:NnF \l__gzt_people_speciality { NoValue } { ~(\l__gzt_people_speciality) } - ] - \leavevmode - \vbox_top:n {% - \l__gzt_people_affiliation_tl% - \newline% - \href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}% - } - \medskip% - }{ - \tl_if_in:NnTF \l__gzt_people_role_tl { author } { - \tl_if_empty:NF \l__gzt_firstlastname_tl { - \footnotesize% - % \noindent% - \DTLiffirstrow{% - }{ - \DTLpar% - \medskip% - } - \dim_set:Nn \l__gzt_minibio_width_dim {\linewidth-1em - \c__gzt_authors_photos_box_width_dim} - \tl_if_empty:NTF \l__gzt_people_photo_tl - {% - \dim_add:Nn \l__gzt_minibio_width_dim {\c__gzt_authors_photos_box_width_dim} - }{% - \begin{adjustbox}{valign=t,minipage=\c__gzt_authors_photos_box_width_dim} - \includegraphics[width=\c__gzt_authors_photos_width_dim]{\l__gzt_people_photo_tl} - \end{adjustbox}% - \quad% - } - \begin{adjustbox}{valign=t,minipage=\l__gzt_minibio_width_dim} - \begin{description}[leftmargin=1em,style=nextline] - \item[% - \textcolor{__gzt_people_color}{% - \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -#1- \exp_not:V\DTLcurrentindex}% - }% - ] - \tl_if_empty:NF \l__gzt_people_affiliation_tl - {% - \mbox{}% - \par% - \vspace{-2ex}% - \l__gzt_people_affiliation_tl% - } - \tl_if_empty:NF \l__gzt_people_email_tl - {% - \par% - \href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}% - } - \tl_if_empty:NF \l__gzt_people_webpage_tl - {% - \par% - \url{\l__gzt_people_webpage_tl}% - } - \tl_if_empty:NF \l__gzt_people_minibio_tl - {% - \par% - \smallskip% - \l__gzt_people_minibio_tl - } - \end{description} - \end{adjustbox} - } - }{ - \__gzt_citeauthor_no_firstinits:n {\c__gzt_issue_bib_key_tl -#1- - \exp_not:V\DTLcurrentindex}% - \tl_if_empty:NF \l__gzt_people_email_tl - { - \c_space_tl(\href{mailto:\l__gzt_people_email_tl}{\nolinkurl{\l__gzt_people_email_tl}}) - } - } - } - } -} -\cs_new_protected:Nn \__gzt_reflected_text:n -{ - \begin{tikzpicture} - \tikzset{__gzt_reflect_node/.style={% - anchor=base,% - inner~sep=0,% - line~width=0,% - font=\Huge, - color=__gzt_reflected_text_color% - }% - }% - \node[__gzt_reflect_node]{#1}; - \node[scope~fading=south,opacity=0.2,yscale=-1,__gzt_reflect_node]{#1}; - \end{tikzpicture} -} -\tl_new:N \g__gzt_display_frontcover_tl% -\tl_gset:Nn \g__gzt_display_frontcover_tl {% - \bool_gset_true:N \g__gzt_frontcover_bool - \pagenumbering{roman}% - \pagestyle{__gzt_frontcover_ps}% - \pagecolor{\g__gzt_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_frontcover_geometry_tl}% - \noindent% - \bool_if:NTF {\g__gzt_cover_bool} { - \hspace*{-\c__gzt_potential_layoutoffset_dim} - }{ - \hspace*{-2\c__gzt_potential_layoutoffset_dim} - } - \exp_after:wN\includegraphics\exp_after:wN[\g__gzt_frontcover_image_options_tl]{\g__gzt_frontcover_image_file_tl} - \begin{tikzpicture}[remember~picture, overlay] - \coordinate (__gzt_circle_minitoc_center) at - ([xshift=\g__gzt_minitoc_xshift_dim-\c__gzt_potential_layoutoffset_dim,yshift=\g__gzt_minitoc_yshift_dim+\c__gzt_potential_layoutoffset_dim]current~page.south~east) ; - \node[name=__gzt_circle_minitoc,shape=circle,inner~sep=\c_zero_dim,fill=\g__gzt_special_edition_color_tl,text~width=\g__gzt_minitoc_circle_diameter_dim] at - (__gzt_circle_minitoc_center) {}; - \node[text~width=\g__gzt_minitoc_textwidth_dim,anchor=north~west] at - ([xshift=\c__gzt_minitoc_from_circle_xshift_dim,yshift=\c__gzt_minitoc_from_circle_yshift_dim]$ (__gzt_circle_minitoc.north)!.5!(__gzt_circle_minitoc.west) $) - { - \bool_if:NF {\g__gzt_frontcover_without_minitoc_bool} { - \large - \color{__gzt_minitoc_color} - \g__gzt_frontcover_minitoc_tl - } - }; - \bool_if:NT {\g__gzt_minitoc_help_bool} { - \fill[red] (__gzt_circle_minitoc_center) circle (2pt); - } - \end{tikzpicture} - \bool_if:NT {\g__gzt_cover_bool} { - \small - \begin{tikzpicture}[remember~picture, overlay] - \node[name=__gzt_binding_sw,inner~sep=\c_zero_dim,fill=\g__gzt_special_edition_color_tl,rotate=90,anchor=west] at - ([xshift=0.45\c__gzt_potential_bindingoffset_dim,yshift=15mm+\c__gzt_potential_layoutoffset_dim]current~page.south~west) { - \No - \bool_if:NTF {\g__gzt_special_edition_bool} { - \c__gzt_special_edition_string_tl - }{ - \int_use:N\g__gzt_issue_number_int - } - }; - \node[name=__gzt_binding_w,inner~sep=\c_zero_dim,fill=\g__gzt_special_edition_color_tl,rotate=90] at - ([xshift=0.45\c__gzt_potential_bindingoffset_dim]current~page.west) { - \bool_if:NTF {\g__gzt_special_edition_bool} { - \tl_if_exist:NTF \g__gzt_special_edition_short_title_tl {% - \g__gzt_special_edition_short_title_tl - }{ - \g__gzt_special_edition_title_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 - ([xshift=0.45\c__gzt_potential_bindingoffset_dim,yshift=-15mm-\c__gzt_potential_layoutoffset_dim]current~page.north~west) { - \l__gzt_uppercased_date_format\displaydate{__gzt_date} - }; - \end{tikzpicture} - } - \vfill% - \noindent% - \hspace*{10mm}% - \hspace*{-\c__gzt_potential_layoutoffset_dim} - \includegraphics[height=22.5mm]{\c__gzt_smf_logo_file_string_tl}% - \bool_if:NT {\g__gzt_special_edition_bool} { - \hfill - \includegraphics[scale=1.2]{gzt-logo} - \hspace*{10mm} - } - % \vfill% - \clearpage% - \bool_gset_false:N \g__gzt_frontcover_bool - \nopagecolor -} -\tl_new:N \g__gzt_display_inside_frontcover_tl% -\tl_gset:Nn \g__gzt_display_inside_frontcover_tl {% - \bool_gset_true:N \g__gzt_inside_frontcover_bool% - \pagestyle{__gzt_inside_frontcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_inside_cover_geometry_tl}% - \small% - \setlength{\columnseprule}{2pt} - \renewcommand{\columnseprulecolor}{\color{white}} - \begin{__gzt_inside_cover_tcb}[__gzt_tcb_inside_frontcover_style] - \begin{multicols}{2} - \setlength{\columnsep}{1mm} - \bool_if:NTF {\g__gzt_special_edition_bool} { - \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,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,labelindent=\c_zero_dim] - \__gzt_display_people_by_role:n {editor} - \end{description} - \end{description} - } - \end{multicols} - \setlength{\columnseprule}{1pt} - \tcblower - \begin{tabular}{@{}m{.75\c__gzt_inside_cover_box_width_dim}@{}m{.2\c__gzt_inside_cover_box_width_dim-2\tabcolsep}@{}} - \begin{description}[leftmargin=1em] - \item[\c__gzt_editorial_secretariat_string_tl{}~:] \ \par% - \l__gzt_journal_publisher_tl% - % \par% - \c_space_tl\textendash{}\c_space_tl% - \__gzt_display_people_by_role:n { secretary }\par - \l__gzt_journal_address_tl\par% - \c__gzt_phone_string_tl{}~:~\l__gzt_journal_phone_tl{} \c_space_tl\textendash{}\c_space_tl - \c__gzt_fax_string_tl{}~:~\l__gzt_journal_fax_tl\par% - \href{mailto:\l__gzt_journal_email_tl}{\nolinkurl{\l__gzt_journal_email_tl}}% - % \newline% - \c_space_tl\textendash{}\c_space_tl - \url{\l__gzt_journal_url_tl} - \item[\c__gzt_publishingdirector_string_tl{}~:] - \__gzt_display_people_by_role:n { president } - \item[\c__gzt_issn_string_tl{}~:] \l__gzt_journal_issn_tl - \tl_if_empty:NF \l__gzt_journal_isbn_tl - {% - \item[\c__gzt_isbn_string_tl{}~:] \l__gzt_journal_isbn_tl - } - \bool_if:NT {\g__gzt_no_inside_backcover_bool} { - \item[\c__gzt_latexclass_string_tl{}~:] - \__gzt_display_people_by_role:n { classdesigner } - \item[\c__gzt_artistic_director_string_tl{}~:] - \__gzt_display_people_by_role:n { graphicdesigner } - \item[\c__gzt_printer_string_tl{}~:] \g__gzt_printer_text_tl - } - \end{description} - \bool_if:NT {\g__gzt_no_inside_backcover_bool} { - \g__gzt_font_designer_text_tl - } - & - \hspace*{\fill}% - \includegraphics[height=20mm]{\c__gzt_smf_logo_file_string_tl}% - \end{tabular} - % \\ - % \c__gzt_font_string_tl - \bigskip - \tl_if_empty:NF \g__gzt_about_frontcover_tl - {% - \\ - \begin{adjustbox}{valign=t,minipage=.75\c__gzt_inside_cover_box_width_dim+.2\c__gzt_inside_cover_box_width_dim-2\tabcolsep} - \begin{description}[leftmargin=1em,font=\color{__gzt_about_frontcover_title_color}] - \item[\g__gzt_about_frontcover_string_tl] \g__gzt_about_frontcover_tl - \bool_if:NT {\g__gzt_credit_frontcover_bool} { - \c_space_tl(\c__gzt_credit_frontcover_string_tl{}~:~% - \DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{frontcovercredit}]{people}{% - \l__gzt_firstlastname_tl=first-last-name% - ,\l__gzt_people_role_tl=role% - }{% - \__gzt_citeauthor_no_firstinits:n - {\c__gzt_issue_bib_key_tl -frontcovercredit- \exp_not:V\DTLcurrentindex}% - }% - ).% - } - \end{description} - \end{adjustbox} - } - \end{__gzt_inside_cover_tcb} - \clearpage% - \pagenumbering{arabic}% - \bool_gset_false:N \g__gzt_inside_frontcover_bool -} -\tl_new:N \g__gzt_display_inside_backcover_tl% -\tl_gset:Nn \g__gzt_display_inside_backcover_tl {% - \bool_gset_true:N \g__gzt_inside_backcover_bool% - \cleardoublepage% - \pagestyle{__gzt_inside_backcover_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_inside_cover_geometry_tl}% - \bool_if:NTF {\g__gzt_no_inside_backcover_bool} { - \hbox{} - }{% - \small% - \begin{__gzt_inside_cover_tcb}[__gzt_tcb_inside_backcover_style] - \bool_if:NF {\g__gzt_special_edition_bool} { - % \begin{multicols}{2} - % \setlength{\columnsep}{1mm} - \file_if_exist_input:n {\c__gzt_authors_instructions_file_tl} - % \end{multicols} - % \setlength{\columnseprule}{1pt} - \tcblower - } - \begin{description}[leftmargin=1em] - \item[\c__gzt_latexclass_string_tl{}~:] - \__gzt_display_people_by_role:n { classdesigner } - \item[\c__gzt_artistic_director_string_tl{}~:] - \__gzt_display_people_by_role:n { graphicdesigner } - \item[\c__gzt_printer_string_tl{}~:] \g__gzt_printer_text_tl - \end{description} - \g__gzt_font_designer_text_tl - \end{__gzt_inside_cover_tcb} - } - \bool_gset_false:N \g__gzt_inside_backcover_bool -} -\tl_new:N \g__gzt_display_backcover_tl% -\tl_gset:Nn \g__gzt_display_backcover_tl {% - \bool_gset_true:N \g__gzt_backcover_bool - \pagestyle{__gzt_backcover_ps}% - \pagecolor{\g__gzt_special_edition_color_tl} - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_backcover_geometry_tl}% - \bool_if:NTF {\g__gzt_special_edition_bool} { - \mbox{} - \vfill - \clist_map_inline:Nn \c__gzt__graphics_extensions_clist{ - \file_if_exist:nT {\c__gzt_issue_images_path_string_tl/\g__gzt_special_edition_backcover_image_tl.#1} { - \begin{center} - \includegraphics[width=.25\linewidth]{\g__gzt_special_edition_backcover_image_tl} - \end{center} - \bigskip - \clist_map_break: - } - } - \group_begin: - \leftskip.125\linewidth - \rightskip\leftskip - \file_if_exist_input:nF {\c__gzt_special_edition_backcover_page_file_string_tl} - {% - \c_empty_box - } - \par - \group_end: - \vfill - \clist_if_empty:NF \g__gzt_special_edition_logos_clist { - \vfill - \noindent - \clist_map_inline:Nn \g__gzt_special_edition_logos_clist { - \hfill - \includegraphics[height=2cm]{#1} - \hfill - } - \mbox{} - } - }{ - \file_if_exist_input:nF {\c__gzt_backcover_page_file_string_tl} - {% - \hbox{} - } - } -} -\NewDocumentCommand \editorinchief {ommm} -{ - \int_incr:N \g__gzt_editors_in_chief_int - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{editorinchief}{} -} -\NewDocumentCommand \editor {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{editor}{} -} - -\NewDocumentCommand \president {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{president}{} -} -\NewDocumentCommand \classdesigner {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{classdesigner}{} -} -\NewDocumentCommand \classmaintainer {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{classmaintainer}{} -} -\NewDocumentCommand \fontdesigner {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{fontdesigner}{} -} -\NewDocumentCommand \graphicdesigner {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{graphicdesigner}{} -} -\NewDocumentCommand \secretary {ommm} -{ - \__gzt_people:nnnnnnnn {#2}{#3}{#4}{}{}{#1}{secretary}{} -} -\NewDocumentCommand \issuesetup { m } { - \keys_set:nn { gzt/issuesetup } {frontcoverimageoptions={width=\c__gzt_frontcover_image_width_dim},#1} - \int_compare:nNnT {\g__gzt_issue_number_int}<{1} - { - \int_set:Nn \g__gzt_issue_number_int { \c__gzt_first_issue_number_int } - \msg_warning:nnn{gzt}{issue-number-needed}{number} - } - \int_compare:nNnT {\g__gzt_issue_month_int * \g__gzt_issue_year_int}<{1} - { - \int_new:N \g__gzt_issue_age_in_months_int% - \int_gset:Nn \g__gzt_issue_age_in_months_int - { - \c__gzt_first_issue_month_int - + \c__gzt_interval_in_months_int - * ( \int_use:N \g__gzt_issue_number_int - \c__gzt_first_issue_number_int ) - } - } - \int_compare:nNnT {\g__gzt_issue_month_int}<{1} - { - \int_gset:Nn \g__gzt_issue_month_int - { - \int_mod:nn { \g__gzt_issue_age_in_months_int } { 12 } - } - } - \int_compare:nNnT {\g__gzt_issue_year_int}<{1} - { - \int_new:N \g__gzt_issue_age_in_years_int% - \int_gset:Nn \g__gzt_issue_age_in_years_int - {% - \int_div_truncate:nn { \g__gzt_issue_age_in_months_int } { 12 } - }% - \int_gset:Nn \g__gzt_issue_year_int - { - \g__gzt_issue_age_in_years_int + \c__gzt_first_issue_year_int - } - }% -} -\NewDocumentCommand \specialeditionsetup { m } { - \bool_gset_true:N \g__gzt_special_edition_bool - \bool_gset_true:N \g__gzt_frontcover_without_minitoc_bool - \keys_set:nn { gzt/specialedition } {#1} -} -\NewDocumentCommand \moralreportsetup { m } { - \bool_gset_true:N \g__gzt_moral_report_bool - \bool_gset_true:N \g__gzt_frontcover_without_minitoc_bool - \keys_set:nn { gzt/moralreport } {#1} -} -\NewDocumentCommand \journalsetup { m } { - \keys_set:nn { gzt/journalsetup } { #1 } -} -\RenewDocumentCommand \date { mmm } { - \newdate{__gzt_president_message_date}{#1}{#2}{#3}% -} -\NewDocumentCommand \interviewee { om } { - \tl_if_empty:nT \g__gzt_title_tl { - \tl_gset:Nn \g__gzt_title_tl { - \c__gzt_interview_title_string_tl - \DeclareNameAlias{labelname}{default}\citeauthor{\c__gzt_issue_bib_key_tl -art-\int_use:N - \g__gzt_articles_int} - } - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/interviewees } { #1 } - } - \tl_set:Nn \l__gzt_people_first_last_name_tl {#2} - \__gzt_people:nVVVVnxV - {#2} - {\g__gzt_people_affiliation_tl} - {\g__gzt_people_email_tl} - {\g__gzt_people_minibio_tl} - {\g__gzt_people_photo_tl} - {} - {interviewee-art-\int_use:N \g__gzt_articles_int} - {} - % \maketitle -} -\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 -} -\AddToHook{begindocument}{% -\tl_new:N \g__gzt_bib_issue_date_tl -\tl_gset:Nn \g__gzt_bib_issue_date_tl { - \int_use:N \g__gzt_issue_year_int- - \int_compare:nNnT {\g__gzt_issue_month_int}<{10} - { - 0 - } - \int_use:N \g__gzt_issue_month_int -} - \iow_now:Nx \g__gzt_bib_out_iow {% - @periodical{\c__gzt_issue_bib_key_tl,\iow_newline: - issuetitle = {\exp_not:f\c__gzt_journal_title_string_tl},\iow_newline: - date = {\g__gzt_bib_issue_date_tl},\iow_newline: - number = \int_use:N \g__gzt_issue_number_int,\iow_newline: - % issn = {\l__gzt_journal_issn_tl},\iow_newline: - options = {skipbib}\iow_newline: - } - \iow_newline: - }% -} -\tl_new:N \g__gzt_title_tl -\RenewDocumentCommand \title { o m } { - \int_gincr:N \g__gzt_articles_int - \tl_gclear:N \g__gzt_short_title_tl - \tl_gclear:N \g__gzt_short_subtitle_tl - \bool_gset_false:N \g__gzt_title_not_in_toc_bool - % - \IfNoValueF {#1} - { - \keys_set:nn { gzt/title } { #1 } - } - \tl_gset:Nn \g__gzt_title_tl {#2} - \bool_if:nT \g__gzt_tellme_rubric_bool - { - \tl_put_left:Nx \g__gzt_title_tl {\c__gzt_tellme_extra_title_string_tl} - } - \tl_if_empty:NT \g__gzt_short_title_tl {% - \tl_gset_eq:NN \g__gzt_short_title_tl \g__gzt_title_tl - } -} -\tl_new:N \g__gzt_subtitle_tl -\NewDocumentCommand \subtitle { o m } { - \bool_gset_false:N \g__gzt_subtitle_not_in_toc_bool - % - \IfNoValueF {#1} - { - \keys_set:nn { gzt/subtitle } { #1 } - } - \tl_gset:Nn \g__gzt_subtitle_tl {#2} - \tl_if_empty:NT \g__gzt_short_subtitle_tl {% - \tl_gset_eq:NN \g__gzt_short_subtitle_tl \g__gzt_subtitle_tl - } -} -\RenewDocumentCommand \author { o m } { - \IfNoValueF {#1} - { - \keys_set:nn { gzt/authors } { #1 } - } - \tl_gset:Nn \l__gzt_people_first_last_name_tl {#2} - \__gzt_people:nVVVVnxV - {#2} - {\g__gzt_people_affiliation_tl} - {\g__gzt_people_email_tl} - {\g__gzt_people_minibio_tl} - {\g__gzt_people_photo_tl} - {} - {author-art-\int_use:N \g__gzt_articles_int} - {\g__gzt_people_webpage_tl} -} -\iow_new:N \g__gzt_bib_out_iow -\ior_new:N \g__gzt_bib_out_ior -\tl_new:N \g__gzt_bib_out_tl -\file_if_exist:nTF { \c__gzt_issue_bib_path_string_tl } -{ - \ior_open:Nn \g__gzt_bib_out_ior { \c__gzt_issue_bib_path_string_tl } - \ior_str_map_inline:Nn \g__gzt_bib_out_ior - { \tl_gput_right:Nn \g__gzt_bib_out_tl {#1 \par } } - \ior_close:N \g__gzt_bib_out_ior -}{ - \typeout{no file! rerun} -} -\iow_open:Nn \g__gzt_bib_out_iow { \c__gzt_issue_bib_path_string_tl } -\tl_new:N \g__gzt_abstract_body_tl -\NewDocumentEnvironment{abstract}{} - {\CollectAbstract} - {\endCollectAbstract} -\NewEnviron{CollectAbstract} - { - \tl_gset_eq:NN \g__gzt_abstract_body_tl \BODY - } -\tl_new:N \g__gzt_mainmatter_switch_tl% -\tl_gset:Nn \g__gzt_mainmatter_switch_tl { - \bool_gset_false:N \g__gzt_frontmatter_bool - \bool_gset_true:N \g__gzt_mainmatter_bool - \SetParskip{\c__gzt_mainmatter_parskip_skip} - \pagestyle{__gzt_mainmatter_ps}% -} -\tl_new:N \l__gzt_article_acknowledgements_tl% -\cs_new_protected:Nn \__gzt_article_acknowledgements:n -{ - \tl_set:Nn \l__gzt_article_acknowledgements_tl { #1 } -} -\cs_new_protected:Nn \__gzt_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 {} -{ - \__gzt_display_localtoc: {} -} -\tl_new:N \g__gzt_article_bib_key_tl% -\tl_new:N \l__gzt_people_first_last_names_tl -\tl_new:N \g__gzt_authors_first_last_names_tl% -\tl_new:N \l__gzt_interviewees_first_last_names_tl% -\tl_new:N \g__gzt_citeauthor_no_firstinits% -\tl_new:N \g__gzt_citeauthor_tl% -\tl_new:N \g__gzt_citeinterviewee_tl% -\tl_new:N \g__gzt_blx_given_first_inits_tl% -\@ifpackagelater{biblatex}{2016/01/01}{% - \tl_gset:Nn \g__gzt_blx_given_first_inits_false_tl - {% - \togglefalse{abx@bool@giveninits}% - } -}{ - \tl_set:Nn \g__gzt_blx_given_first_inits_false_tl - {% - \togglefalse{blx@firstinits}% - } -} -\cs_new_protected:Nn \__gzt_citeauthor_no_firstinits:n {% - \tl_gset:Nn \g__gzt_citeauthor_tl {% - \DeclareNameAlias{labelname}{default}% - \group_begin: - \g__gzt_blx_given_first_inits_false_tl - \citeauthor{#1} - \group_end: - }% - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{\g__gzt_citeauthor_tl}{} - }{% - \g__gzt_citeauthor_tl - }% -} -\cs_set_eq:NN \__gzt_orig_multinamedelim \multinamedelim -\cs_set_eq:NN \__gzt_orig_finalnamedelim \finalnamedelim -\cs_new_protected:Nn \__gzt_itemized_citeauthor:n -{ - \cs_set_eq:NN \multinamedelim \item - \cs_set_eq:NN \finalnamedelim \multinamedelim - \AtNextCitekey{\defcounter{maxnames}{100}} - \begin{itemize}[label=\textbullet,noitemsep] - \item \citeauthor{#1} - \end{itemize} - \cs_set_eq:NN \multinamedelim \__gzt_orig_multinamedelim - \cs_set_eq:NN \finalnamedelim \__gzt_orig_finalnamedelim -} -\tl_new:N \l__gzt_bullet_and_rule_tl -\tl_new:N \l__gzt_authors_box_tl -\tl_new:N \l__gzt_abstract_box_tl -\tl_new:N \l__gzt_bullet_and_rule_odd_tl -\tl_new:N \l__gzt_bullet_and_rule_even_tl -\tl_new:N \l__gzt_title_box_tl -\RenewDocumentCommand \maketitle { s } { - \FloatBarrier% -\int_gincr:N \g__gzt_item_in_rubric_int -\dim_set_eq:NN \parindent \c__gzt_original_parindent_dim -\glsresetall -\setcounter{section}{0} -\setcounter{figure}{0} -\setcounter{table}{0} -\setcounter{footnote}{0} -\setcounter{equation}{0} -\setcounter{theorem}{0} -\setcounter{corollary}{0} -\setcounter{conjecture}{0} -\setcounter{proposition}{0} -\setcounter{lemma}{0} -\setcounter{axiom}{0} -\setcounter{definition}{0} -\setcounter{remark}{0} -\setcounter{example}{0} -\setcounter{notation}{0} -\tl_gset:Nn \g__gzt_article_bib_key_tl {% - \c__gzt_issue_bib_key_tl - -art- - \int_use:N \g__gzt_articles_int -} -\DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{author-art-\int_use:N \g__gzt_articles_int}]{people}{% - \l__gzt_people_first_last_name_tl=first-last-name% - ,\l__gzt_people_role_tl=role% -}{% - \tl_if_in:NnT \l__gzt_people_role_tl { author } { - \DTLiffirstrow{% - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {\exp_not:V\l__gzt_people_first_last_name_tl} - }{ - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {~and~\exp_not:V\l__gzt_people_first_last_name_tl} - } - } -} -\DTLforeach*[\DTLiseq{\l__gzt_people_role_tl}{interviewee-art-\int_use:N \g__gzt_articles_int}]{people}{% - \l__gzt_people_first_last_name_tl=first-last-name% - ,\l__gzt_people_role_tl=role% -}{% - \tl_if_in:NnT \l__gzt_people_role_tl { interviewee } { - \DTLiffirstrow{% - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {\exp_not:V\l__gzt_people_first_last_name_tl} - }{ - \tl_put_right:Nx - \l__gzt_people_first_last_names_tl - {~and~\exp_not:V\l__gzt_people_first_last_name_tl} - } - } -} -\tl_if_empty:NF \g__gzt_title_tl {% - \iow_now:Nx \g__gzt_bib_out_iow {% - @article{ - \g__gzt_article_bib_key_tl, - \iow_newline: - title={\exp_not:V\g__gzt_title_tl}, - \iow_newline: - \tl_if_empty:NF \g__gzt_subtitle_tl {% - subtitle={\exp_not:V\g__gzt_subtitle_tl}, - \iow_newline: - } - \tl_if_eq:NNF { \g__gzt_short_title_tl } { \g__gzt_title_tl } {% - shorttitle={\exp_not:V\g__gzt_short_title_tl}, - \iow_newline: - }% - \tl_if_empty:NF \l__gzt_people_first_last_names_tl - { - author={\exp_not:V\l__gzt_people_first_last_names_tl}, - \iow_newline: - } - options={skipbib}, - \iow_newline: - crossref = {\c__gzt_issue_bib_key_tl} - } - \iow_newline: - }% -}% -\tl_set:Nn \l__gzt_bullet_and_rule_odd_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=__gzt_circlerule_color,draw=__gzt_circlerule_color,line~width=0.7mm] - ([xshift=-\c__gzt_innermargin_dim-\c__gzt_potential_layoutoffset_dim]0,0 -| current~page.west) -- (\linewidth,0);% - \fill[__gzt_circlerule_color] (\linewidth-2\pgflinewidth,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% -\tl_set:Nn \l__gzt_bullet_and_rule_even_tl -{% - \begin{tikzpicture}[remember~picture,overlay] - \draw[fill=__gzt_circlerule_color,draw=__gzt_circlerule_color,line~width=0.7mm] - (0,0 -| current~page.east) -- (0,0);% - \fill[__gzt_circlerule_color] (0,0) circle [radius=2.75mm]; - \end{tikzpicture}% -}% -\tl_set:Nn \l__gzt_title_box_tl -{% - \noindent% - \hspace*{18mm}% - \begin{adjustbox}{minipage=\linewidth-18mm,valign=t} - \raggedright% - \color{__gzt_article_title_color}% - \fontsize{20}{25}\selectfont% - \bfseries% - \g__gzt_title_tl - \tl_if_empty:NF \g__gzt_subtitle_tl {% - \par% - \g__gzt_subtitle_tl - } - \phantomsection - \par% - \bool_if:NTF {\g__gzt_title_not_in_toc_bool} { - \bookmark[page=\thepage,level=chapter]{\g__gzt_short_title_tl} - }{ - \addcontentsline{toc}{chapter}{% - \tl_if_empty:NTF \g__gzt_short_title_tl {% - \g__gzt_title_tl% - }{ - \g__gzt_short_title_tl% - } - \bool_if:NF {\g__gzt_subtitle_not_in_toc_bool} { - \bool_if:nF { \tl_if_empty_p:N \g__gzt_short_subtitle_tl || \g__gzt_interview_rubric_bool || \g__gzt_rearviewmirror_rubric_bool } - { - \c_space_tl\textendash{}\c_space_tl\g__gzt_short_subtitle_tl - } - } - \bool_if:nF { \tl_if_empty_p:N \l__gzt_people_first_last_names_tl || \g__gzt_interview_rubric_bool || \g__gzt_rearviewmirror_rubric_bool } - { - \textsl{ - \cs_if_exist:cTF {texorpdfstring} - { - \texorpdfstring{% - \c_space_tl\textendash{}\c_space_tl\citeauthor{\g__gzt_article_bib_key_tl} - }{} - }{% - \c_space_tl\textendash{}\c_space_tl\citeauthor{\g__gzt_article_bib_key_tl} - }% - } - } - } - } - \end{adjustbox} -} - \dim_gset:Nn \g__gzt_abstract_box_width_dim {0.75\linewidth} - % \bool_if:nT { \tl_if_empty_p:N \l__gzt_people_first_last_names_tl } - % { - % \dim_gset:Nn \g__gzt_abstract_box_width_dim {\linewidth} - % } - \tl_set:Nn \l__gzt_abstract_box_tl - {% - \begin{adjustbox}{minipage=\g__gzt_abstract_box_width_dim,max~width=\g__gzt_abstract_box_width_dim,valign=t} - \mbox{} - \tl_if_exist:NT \g__gzt_abstract_body_tl - {% - \raggedright% - \bfseries% - \color{__gzt_article_abstract_color}% - \g__gzt_abstract_body_tl - }% - \end{adjustbox} - }% - \tl_set:Nn \l__gzt_authors_box_tl - {% - \begin{adjustbox}{minipage=0.3\linewidth,min~width=0.3\linewidth,valign=t} - \bool_if:nTF { \tl_if_empty_p:N \l__gzt_people_first_last_names_tl || \g__gzt_interview_rubric_bool } - { - \mbox{} - } - { - \color{__gzt_people_color}% - \__gzt_itemized_citeauthor:n {\g__gzt_article_bib_key_tl} - } - \end{adjustbox} - } - \bool_if:nTF { - \int_compare_p:nNn { \g__gzt_item_in_rubric_int } = { 1 } - } - { - \mbox{} - \par - \bool_if:nTF { - \tl_if_empty_p:N \g__gzt_rubric_abstract_tl - }{ - \xleaders\vbox { - \bigskip% - }% - \vskip\bigskipamount% - }{ - \xleaders\vbox { - \smallskip% - }% - \vskip\smallskipamount% - } - } - { - \bool_if:NTF {\g__gzt_previous_article_with_bibliography_or_minibio_bool} - { - \xleaders\vbox { - \mbox{} - \par - \medskip% - }% - \vskip\medskipamount% - } - { - \xleaders\vbox { - \mbox{} - \par - \smallskip% - }% - \vskip\smallskipamount% - } - } - \bool_gset_false:N \g__gzt_previous_article_with_bibliography_or_minibio_bool -\hypersetup{pdftitle=\g__gzt_short_title_tl,pdfauthor=\l__gzt_people_first_last_names_tl} - \l__gzt_title_box_tl - \normalsize% - \nopagebreak[3] - \bool_if:nF { \tl_if_empty_p:N \g__gzt_abstract_body_tl && (\tl_if_empty_p:N \l__gzt_people_first_last_names_tl || \g__gzt_interview_rubric_bool || \g__gzt_rearviewmirror_rubric_bool)} - {% - \par% - \bigskip - \bigskip - \large% - \mbox{}% - \checkoddpage% - \ifoddpage% - \l__gzt_abstract_box_tl - \hspace*{11mm}% - \l__gzt_authors_box_tl - \else% - \hspace*{-.85\c__gzt_outermargin_dim}% - \l__gzt_authors_box_tl - \hspace*{11mm}% - \l__gzt_abstract_box_tl - \fi% - } - \tl_gclear:N \g__gzt_title_tl - \tl_gclear:N \g__gzt_subtitle_tl - \tl_gclear:N \g__gzt_abstract_body_tl - \normalsize% - \bigskip - \tl_if_empty:NF \g__gzt_abstract_body_tl - % {% - % \tl_if_empty:NF \l__gzt_people_first_last_names_tl - % {% - % \bigskip - % } - % } - { - \bigskip - } - \bool_if:nT \g__gzt_interview_rubric_bool - { - \dim_zero:N \parindent - % \tl_if_empty:NF \l__gzt_people_photo_tl - % { - % \begin{adjustbox}{center} - % \includegraphics[height=50mm]{\l__gzt_people_photo_tl} - % \end{adjustbox} - % } - } - \color{__gzt_default_text_color}% - \IfBooleanF {#1}% - { - \bool_if:nF { \g__gzt_multicols_bool || \g__gzt_rearviewmirror_rubric_bool } - { - \begin{multicols}{2}% - } - } - } -\file_if_exist:nT { \c__gzt_acronyms_file_string_tl } {% - \AddToHook{begindocument/before}{\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_tl=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: {} -} -\AddToHook{begindocument/before}{% - \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} -{} -{\c_zero_dim} -{\scshape}% -\titleformat{\section} -{% - \raggedright% - \bfseries% - \color{__gzt_section_color} -} -{\fontsize{20}{15}\selectfont\thesection.\enspace} -{-3pt} -{\fontsize{13}{15}\selectfont} -\titleformat{\subsection} -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{__gzt_subsection_color}% -} -{\thesubsection\ \textendash{}\ } -{\c_zero_dim} -{} -\titleformat{\subsubsection} -{% - \fontsize{11}{16}\selectfont% - \bfseries% - \color{__gzt_subsubsection_color}% -} -{} -{\c_zero_dim} -{} -\AddToHook{begindocument}{% - \graphicspath{{\c__gzt_issue_images_path_string_tl//}{../\c__gzt_issue_images_path_string_tl//}} - % \glsdisablehyper - \g__gzt_mainmatter_switch_tl - % \bool_gset_false:N \g__gzt_frontmatter_bool - % \bool_gset_true:N \g__gzt_mainmatter_bool - % \SetParskip{\c__gzt_mainmatter_parskip_skip} - % \pagestyle{__gzt_mainmatter_ps}% - \exp_after:wN\newgeometry\exp_after:wN{\c__gzt_main_geometry_tl}% -} -\tl_new:N \g__gzt_background_footer_tl -\tl_gset:Nn \g__gzt_background_footer_tl {% - \draw [__gzt_footer_bg_color,fill] - (current~page.south~west) - rectangle ([yshift=\c__gzt_footer_background_height_dim]current~page.south~east) - ; -} -\tl_new:N \l__gzt_frontmatter_head_text_tl -\tl_set:Nn \l__gzt_frontmatter_head_text_tl {% - \bool_if:NTF {\g__gzt_special_edition_bool} { - \g__gzt_special_edition_title_tl - }{ - \includegraphics{gzt-logo} - } -} -\tl_new:N \g__gzt_frontmatter_page_headrule_tl -\tl_gset:Nn \g__gzt_frontmatter_page_headrule_tl {% - \draw [__gzt_headrule_color,line~width=\c__gzt_header_line_width_dim] - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) - -- - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) - ;% -} -\tl_new:N \g__gzt_frontmatter_headtext_tl -\tl_gset:Nn \g__gzt_frontmatter_headtext_tl {% - \mbox{}% - \checkoddpage% - \ifoddpage% - \node[ - anchor=north~east,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% - ] at - ([% - xshift=\c__gzt_frontmatter_headtext_o_xshift_dim,% - yshift=\c__gzt_frontmatter_headtext_yshift_dim% - ]current~page.north~east) {% - \Large - \bool_if:NT {\g__gzt_special_edition_bool} { - \c__gzt_short_special_edition_string_tl - \c_space_tl - } - \l__gzt_frontmatter_head_text_tl - }% - ; - \else% - \node[% - anchor=north~west,% - align=center,% - fill=white,% - inner~xsep=3.5mm,% - outer~sep=\c_zero_dim,% - ] at - ([% - xshift=\c__gzt_frontmatter_headtext_e_xshift_dim,% - yshift=\c__gzt_frontmatter_headtext_yshift_dim% - ]current~page.north~west) {% - \Large - \bool_if:NT {\g__gzt_special_edition_bool} { - \c__gzt_short_special_edition_string_tl - \c_space_tl - } - \l__gzt_frontmatter_head_text_tl - }% - ; - \fi% -} -\tl_new:N \g__gzt_mainmatter_oddpage_headrule_tl -\tl_gset:Nn \g__gzt_mainmatter_oddpage_headrule_tl {% - \draw [__gzt_headrule_color,line~width=\c__gzt_header_line_width_dim] - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~east) - -- - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~west -| current~page.north~west) - ; -} -\tl_new:N \g__gzt_mainmatter_evenpage_headrule_tl -\tl_gset:Nn \g__gzt_mainmatter_evenpage_headrule_tl {% - \draw [__gzt_headrule_color,line~width=\c__gzt_header_line_width_dim] - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~west) - -- - ([yshift=\c__gzt_header_line_yshift_dim]current~page~header~area.south~east -| current~page.north~east) - ; -} -\ExplSyntaxOff -\tcbuselibrary{breakable,skins,hooks,xparse,theorems,listingsutf8} -\usetikzlibrary{babel,fadings,positioning,calc} -\tcbset{% - new/blend into/tables-/.style={% - use counter*=table,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@table}}}},% - new/blend into/figures-/.style={% - use counter*=figure,% - /tcb/code={\appto\tcb@new@colopt{,before title={\fnum@figure}}}},% -} -\ExplSyntaxOn -\newpagestyle{__gzt_frontmatter_ps}[]{% - \widenhead*{\c__gzt_front_matter_extra_innermargin_dim}{\c__gzt_front_matter_extra_outermargin_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - ]% - []% - []% - {}% - { - \tikz[remember~picture,overlay] {% - \g__gzt_frontmatter_page_headrule_tl% - \g__gzt_frontmatter_headtext_tl% - }% - }% - {}% - % - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - [ -\c__gzt_compiled_string_tl - ]% - { -\c__gzt_compiled_string_tl - }% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% -}% -\AddToHook{shipout/background}{ - \bool_if:NF {\g__gzt_advertisement_bool} { - \tikz[remember~picture,overlay] { \g__gzt_background_footer_tl }% - }% -} -\newpagestyle{__gzt_mainmatter_ps}[]{% - \widenhead{\c_zero_dim}{\c_zero_dim} - \sethead% - [ - \tikz[remember~picture,overlay] {\g__gzt_mainmatter_evenpage_headrule_tl} - ]% - [% - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{__gzt_head_text_color}\g__gzt_rubric_title_tl% - }% - ]% - []% - {}% - {% - \bool_if:nF { - \g__gzt_rearviewmirror_rubric_bool || \g__gzt_books_rubric_bool - }{ - \adjustbox{raise={\c__gzt_header_yshift_dim}{\height}}{% - \bfseries\color{__gzt_head_text_color}\g__gzt_short_title_tl% - } - } - }% - { - \tikz[remember~picture,overlay] {\g__gzt_mainmatter_oddpage_headrule_tl} - }% - % -\bool_if:nTF { \g__gzt_for_authors_bool } { - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - [\c__gzt_compiled_string_tl]% - {\c__gzt_compiled_string_tl}% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% - }{ - \setfoot% - [\c__gzt_footer_size_font_tl\thepage]% - [% - \c__gzt_footer_string_tl - ]% - []% - {}% - {% - \c__gzt_footer_string_tl% - }% - {\c__gzt_footer_size_font_tl\thepage}% - } -} -\NewDocumentCommand \acknowledgements { +m } { - \__gzt_article_acknowledgements:n {#1}% -} -\NewDocumentCommand \printminibios {} { - \bool_if:NT {\g__gzt_multicols_bool} { - \end{multicols}% - } - \FloatBarrier% - \begin{__gzt_minibiographies_acknowledgements_tcbox} - \__gzt_display_people_by_role:n { author-art-\int_use:N \g__gzt_articles_int } - \DTLsavelastrowcount{\__gzt_authors_number} - \tl_if_empty:NF \l__gzt_article_acknowledgements_tl - {% - \footnotesize - \int_compare:nNnT {\__gzt_authors_number}>{0} - { - \par% - \bigskip% - } - \begin{adjustbox}{valign=t,minipage=\linewidth} - \color{__gzt_acknowledgements_color}% - \setlength{\parskip}{\c__gzt_mainmatter_parskip_skip} - \l__gzt_article_acknowledgements_tl - \end{adjustbox} - } - \bool_gset_true:N \g__gzt_previous_article_with_bibliography_or_minibio_bool - \end{__gzt_minibiographies_acknowledgements_tcbox} -} -\let\printauthorsdetails\printminibios -\cs_set_eq:NN \__gzt_printbibliography \printbibliography -\RenewDocumentCommand \printbibliography { s O{} } { - \bool_if:NT {\g__gzt_multicols_bool} { - \end{multicols}% - } - \FloatBarrier% - \begin{__gzt_bibliography_tcbox} - \__gzt_printbibliography[heading=subbibliography,resetnumbers,#2] - \end{__gzt_bibliography_tcbox} - % - \IfBooleanF {#1} - { - \nopagebreak[0] - \printauthorsdetails - } -} -\deftranslation[to=French]{__gzt_century}{si\`ecle}% -\deftranslation[to=English]{__gzt_century}{century}% -\deftranslation[to=French]{__gzt_first}{\ier}% -\deftranslation[to=English]{__gzt_first}{\up{st}\xspace}% -\deftranslation[to=French]{__gzt_nth}{\ieme}% -\deftranslation[to=English]{__gzt_nth}{\up{th}\xspace}% -\deftranslation[to=French]{__gzt_bc}{avant~J.-C}% -\deftranslation[to=English]{__gzt_bc}{BC}% -\cs_new_protected:Nn \__gzt_century:n -{ - \textsc{ - \int_to_roman:n {\int_abs:n {#1}} - }% - \int_compare:nNnTF { \int_abs:n {#1} } > { 1 }{\translate{__gzt_nth}}{\translate{__gzt_first}} -} -\cs_new_protected:Nn \__gzt_century_suffix:n -{ - \translate{__gzt_century}% - \int_compare:nNnT { #1 } < { 0 }{ - \c_space_tl - \translate{__gzt_bc} - \IfLanguageName {french}{ - \@ifnextchar.% - { - }{ - .\xspace - }% - } - }{ - } -} -\DeclareCiteCommand{\citeinterviewee}{}{% - \printnames{interviewee}% -} -{}{} -\DeclareCiteCommand{\citereviewer}{}{% - \g__gzt_blx_given_first_inits_false_tl - \printnames{reviewer}% -} -{}{} -\DeclareCiteCommand{\citereviewerinstitution}{}{% - \printlist{reviewerinstitution}% -} -{}{} -\DeclareCiteCommand{\__gzt_cite_public_price}{}{% - \printfield{publicprice}% -} -{}{} -\DeclareCiteCommand{\__gzt_cite_smf_price}{}{% - \printfield{smfprice}% -} -{}{} -\DeclareCiteCommand{\citecopublisher}{}{% - \printlist{copublisher}% -} -{}{} -\DeclareCiteCommand{\citefrenchabstract}{}{% - \printfield{frenchabstract}% -} -{}{} -\DeclareCiteCommand{\__gzt_cite_englishabstract}{}{% - \printfield{englishabstract}% -} -{}{} -\NewDocumentCommand \email {m} -{ - \__gzt_email:n {#1}% -} -\cs_new_protected:Nn \__gzt_question:n -{ - \int_incr:N \g__gzt_question_int - {% - \par% - \bigskip% - \color{__gzt_question_color} - #1% - \par% - }% -} -\NewDocumentCommand \question {m} -{ - \__gzt_question:n {#1}% -} -\NewDocumentCommand \smf { s } { - \IfBooleanTF {#1} - { - \g__gzt_smf_string_tl - } - { - \g__gzt_smf_short_string_tl - } - \xspace -} -\DeclareExpandableDocumentCommand \surname { m } { - \textsc{#1} -} -\NewDocumentCommand \cad { s } { - \IfBooleanTF {#1} - { - \c__gzt_cad_string_tl - } - { - \c__gzt_cad_short_string_tl - } - \xspace -} -\NewDocumentCommand \Cad { s } { - \IfBooleanTF {#1} - { - \c__gzt_Cad_string_tl - } - { - \c__gzt_Cad_short_string_tl - } - \xspace -} -\NewDocumentCommand \gzt { s } { - \IfBooleanTF {#1} - { - \l__gzt_gzt_string_tl - } - { - \l__gzt_gzt_short_string_tl - } - \xspace -} -\NewDocumentCommand \gztcl {} -{% - \textsl{\texttt{\c__gzt_class_name_tl}} - \xspace -} -\NewDocumentCommand \gztarticlecl {} -{% - \textsl{\texttt{\c__gzt_article_class_name_tl}} - \xspace -} -\NewDocumentCommand \century { s m } {% - \__gzt_century:n {#2}% - \IfBooleanTF {#1} - { - \int_compare:nNnT { #2 } < { 0 }{ - \__gzt_century_suffix:n {#2}% - } - } - { - \__gzt_century_suffix:n {#2}% - } -} -\NewDocumentCommand \aside { s m } {% - \IfBooleanTF {#1} - { - \c__gzt_aside_string_tl{}~#2 - } - { - \c__gzt_aside_string_tl{}~#2~\c__gzt_aside_string_tl - } -} -\tl_new:N \g__gzt_font_designer_text_tl% -\cs_new_protected:Nn \__gzt_font_designer_text:n -{ - \tl_gset:Nn \g__gzt_font_designer_text_tl { #1 } -} -\NewDocumentCommand \fontdesignertext {m} -{ - \__gzt_font_designer_text:n {#1}% -} -\tl_new:N \g__gzt_printer_text_tl% -\cs_new_protected:Nn \__gzt_printer_text:n -{ - \tl_gset:Nn \g__gzt_printer_text_tl { #1 } -} -\NewDocumentCommand \printertext {m} -{ - \__gzt_printer_text:n {#1}% -} -\renewcommand{\textflush}{flushepinormal} -\cs_set_eq:NN \__gzt_orig_epigraph \epigraph -\cs_new_protected:Nn \__gzt_epigraph:nn -{ - \bool_if:nTF { \tl_if_empty_p:n {#2} } - { - \setlength{\epigraphrule}{\c_zero_dim} - } - { - \setlength{\epigraphrule}{.4\p@} - } - \__gzt_orig_epigraph{% - \emph{% - \enquote{% - #1% - }% - }% - }% - {% - #2 - } -} -\RenewDocumentCommand \epigraph { m m } -{ - \__gzt_epigraph:nn {#1}{#2}% -} -\NewDocumentEnvironment{authorsinstructions}{} -{% - \begingroup - \tcbverbatimwrite{\c__gzt_authors_instructions_file_tl} -}% -{ - \endtcbverbatimwrite - \endgroup -} -\lstdefinestyle{__gzt_lst_style}{% - escapechar=+, - language=[LaTeX]TeX, - texcsstyle=*\bfseries, - breaklines=true, - basicstyle=\normalfont\ttfamily, - columns=flexible, - inputencoding=utf8/latin1 -}% -\DeclareTotalTCBox{\gztverb}{ v }{verbatim,blank,fuzzy~halo=0pt~with~__gzt_light_generic_dark_color!8}{#1} -\NewTCBListing{gztcode}{ !O{} }{% - listing~style=__gzt_lst_style, - listing~only, - enlarge~top~by=\medskipamount, - breakable, - #1% -} -\DeclareTColorBox[blend~into=figures]{gztfigure}{ O{} } -{ - ,width=\linewidth% - ,blend~before~title=dash% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=figures]{gztfigure*}{ O{} } -{ - ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=tables]{gzttable}{ O{} } -{ - ,width=\linewidth% - ,blend~before~title=dash% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox[blend~into=tables]{gzttable*}{ O{} } -{ - ,float* - ,blend~before~title=dash% - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,#1% - ,code={\ifdefempty{\kvtcb@title}{\tcbset{__gzt_tcb_notitle}}{}}% -} -\DeclareTColorBox{gztframe}{ O{} } -{ - ,width=\linewidth% - ,__gzt_tcb_floats_style% - ,#1% -} -\DeclareTColorBox{gztframe*}{ O{} } -{ - ,float* - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,#1% -} -\DeclareTColorBox{gztscan}{ O{} } -{ - #1% - ,width=\textwidth% - ,__gzt_tcb_floats_style% - ,size=tight% -} -\DeclareTColorBox{__gzt_book_review}{ O{} } -{ - overlay~unbroken~and~first={% - \node at (frame.north~west) { - { - \makebox[\c_zero_dim][l]{% - \adjustbox{raise={-2\height+\c__gzt_book_review_frontcover_extend_dim}{\c_zero_dim}}{% - \includegraphics[width=20mm]{\g__gzt_bookreview_frontcover_tl}% - }% - } - } - }; - }, - __gzt_tcb_book_review_box_style, - #1 -} -\DeclareTColorBox{__gzt_bibliography_tcbox}{ O{} } -{ - __gzt_tcb_bibliography_style, - #1 -} -\DeclareTColorBox{__gzt_minibiographies_acknowledgements_tcbox}{ O{} } -{ - __gzt_tcb_minibiographies_acknowledgements_style, - #1 -} -\DeclareTColorBox{inset}{ O{} } -{ - __gzt_tcb_minibiographies_acknowledgements_style, - #1 -} -\NewDocumentEnvironment{bookreview}{ O{} m } -{ - \keys_set:nn { gzt/bookreview } { #2 } - \begin{__gzt_book_review}[#1] - \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% - \xpretonameformat{author}{\color{__gzt_people_color}}{}{}% - \g__gzt_blx_given_first_inits_false_tl - \noindent% - \parbox[][21.5mm][l]{\linewidth}{\fullcite{\g__gzt_bookreview_bibkey_tl}} - \tcblower -}{ - \begin{flushright} - % \g__gzt_reviewer_tl - \bigskip - \citereviewer{\g__gzt_bookreview_bibkey_tl}\\ - \citereviewerinstitution{\g__gzt_bookreview_bibkey_tl} - \end{flushright} - % \vspace*{10mm} - \mbox{} - \end{__gzt_book_review} -} -\DeclareTColorBox{__gzt_book_advertisement}{ O{} } -{ - __gzt_tcb_book_advertisement_box_style, - #1 -} -\DeclareTColorBox{__gzt_inside_cover_tcb}{ O{} } -{ - #1 -} -\NewDocumentCommand \bookadvertisement {O{} m} -{ - \newpage{} - \mbox{} - \vfill - \begin{__gzt_book_advertisement}[#1] - \fullcite{#2} - \par - \bigskip - \tcblower - \includegraphics[height=22.5mm]{\c__gzt_smf_logo_file_string_tl}% - \par{} - \smallskip% - \url{\l__gzt_journal_url_tl} - \end{__gzt_book_advertisement} - \vfill - \newpage - \bool_gset_false:N \g__gzt_advertisement_bool - \bool_gset_true:N \g__gzt_mainmatter_bool -} -\ProcessKeysOptions { gztarticle } -\AddToHook{enddocument}{% - \bool_if:NT {\g__gzt_multicols_bool} { - \end{multicols}% - } - \bool_if:NT {\g__gzt_refsection_bool} { - \end{refsection} - } -} -\pgfplotsset{% - /pgf/number~format/.cd, - use~comma, - 1000~sep={\,}, - min~exponent~for~1000~sep=4 -}% -\defbibheading{bibassection}[\bibname]{\section*{#1}}% -\renewcommand{\bibfont}{\normalfont\footnotesize} -\exp_after:wN\addbibresource\exp_after:wN{\c__gzt_issue_bib_path_string_tl} -\@ifpackagelater{biblatex}{2016/01/01}{% - \DeclareNameFormat{giveninits-last}{% - \nameparts{#1} - \usebibmacro{name:given-family} - {\namepartfamily} - {\namepartgiveni} - {\namepartprefix} - {\namepartsuffix}% - \usebibmacro{name:andothers}% - } -}{ - \DeclareNameFormat{giveninits-last}{% - \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% - \usebibmacro{name:andothers}% - } -} -\DeclareNameAlias{labelname}{giveninits-last} -\renewcommand*\bibnamedelimc{\addnbspace} -\renewcommand*\bibnamedelimd{\addnbspace} -\renewbibmacro{in:}{% - \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}} -\renewbibmacro*{journal}{% - \iffieldundef{shortjournal}% - {% - \iffieldundef{journaltitle} - {} - {% - \printtext[journaltitle]% - {% - \printfield[titlecase]{journaltitle}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{journalsubtitle}% - }% - }% - }% - {\printtext[journaltitle]{\printfield[titlecase]{shortjournal}}}% -} -\renewbibmacro*{volume+number+eid}{% - \printfield{volume}% - \setunit{\addcomma\c_space_tl}% - \printfield{number}% - \setunit{\addcomma\c_space_tl}% - \printfield{eid}} -\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}} -\DeclareFieldFormat[book]{volume}{\mkbibbold{#1}} -\DeclareFieldFormat[article]{number}{\bibstring{number}#1} -\DeclareLanguageMapping{french}{gzt}% use the new abbreviations -\ifkp@easyscsl -\DeclareRobustCommand{\itshape}{\not@math@alphabet\itshape\mathit% - \ifthenelse{\equal{\f@shape}{\scdefault}}{\fontshape{scsl}}{% - \fontshape\itdefault}\selectfont} -\fi -\DeclareMathAlphabet\mathfrak{U}{euf}{m}{n} -\SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n} -\@ifpackageloaded{draftwatermark}{% - \SetWatermarkColor{gray!10}% - \SetWatermarkFontSize{30mm}% - \SetWatermarkText{\text_uppercase:n{\c__gzt_draftwatermark_string_tl}}% -}{% -} -\tikzset{ - __gzt_dots/.style={ - line~width=\c__gzt_tikz_dot_diameter_dim, - line~cap=round, - dash~pattern=on~0pt~off~\c__gzt_tikz_dot_spacing_dim - }, - __gzt_tcb_segmentation_style/.style={ - __gzt_dots, - draw=__gzt_dotfill_color, - shorten~>=~\c__gzt_tcb_left_dim+\c__gzt_tcb_boxsep_dim, - shorten~<=~\c__gzt_tcb_left_dim+\c__gzt_tcb_boxsep_dim, - } -} -\tcbset{ - copyright/.style={% - overlay={% - \node[rotate=90,anchor=south~west,font=\tiny] at (frame.south~east) {% - \begin{minipage}[t]{\tcbtextheight} - \copyright{}~#1% - \end{minipage} - };% - }% - }% -} -\tcbset{% - __gzt_tcb_floats_style/.style={% - enhanced% - ,every~float=\centering% - ,coltitle=__gzt_generic_dark_color% - ,colbacktitle=__gzt_float_title_bg_color% - ,colback=white% - ,colframe=__gzt_float_frame_color% - ,center~upper% - ,sharp~corners=all% - ,boxrule=0.3mm% - }% -} -\tcbset{% - __gzt_tcb_notitle/.style={% - blend~before~title~code={##1} - ,title={\c_space_tl}% - }% -} -\tcbset{% - __gzt_tcb_book_review_box_style/.style={% - enhanced,% - colback=__gzt_book_review_frame_bg_color,% - breakable,% - % height=50mm,% - boxrule=\c_zero_dim, - sharp~corners=all,% - skin=enhancedlast, - leftupper=25mm, - enlarge~bottom~finally~by=-1mm, - middle=4mm, - segmentation~style={__gzt_tcb_segmentation_style}% - } -} -\tcbset{% - __gzt_tcb_book_advertisement_box_style/.style={% - enhanced,% - colframe=__gzt_book_advertisement_frame_color,% - colback=__gzt_book_advertisement_bg_color,% - center~lower, - sharp~corners=all,% - % skin=enhancedlast, - % middle=4mm, - lower~separated=false, - % segmentation~style={__gzt_tcb_segmentation_style}% - } -} -\tcbset{% - __gzt_tcb_inside_cover_style/.style={% - % split=0.6,% - colback=__gzt_inside_frontcover_frame_bg_color,% - colbacktitle=__gzt_inside_frontcover_frame_bg_color,% - sharp~corners=all,% - center~title,% - coltitle=__gzt_inside_frontcover_frame_title_color,% - fonttitle=\bfseries\large,% - boxrule=\c_zero_dim,% - toptitle=3mm,% - bottomtitle=4mm,% - frame~hidden,% - enhanced,% - height=\c__gzt_layoutheight_dim-\c__gzt_topmargin_inside_cover_dim-\c__gzt_botmargin_dim, - width=\c__gzt_inside_cover_box_width_dim, - middle=4mm, - segmentation~style={__gzt_tcb_segmentation_style}% - }, - __gzt_tcb_inside_frontcover_style/.style={% - __gzt_tcb_inside_cover_style, - enlarge~left~by=-\c__gzt_inside_cover_offset_dim, - }, - __gzt_tcb_inside_backcover_style/.style={% - __gzt_tcb_inside_cover_style, - enlarge~left~by=\c__gzt_inside_cover_offset_dim, - } -} -\AddToHook{begindocument/before}{% - \bool_if:NTF {\g__gzt_special_edition_bool} { - \tcbset{ - __gzt_tcb_inside_frontcover_style/.append~style={% - title=\c__gzt_special_edition_editorial_board_string_tl - }, - __gzt_tcb_inside_backcover_style/.append~style={% - notitle - }, - } - }{ - \tcbset{ - __gzt_tcb_inside_frontcover_style/.append~style={% - title=\c__gzt_editorial_board_string_tl - }, - __gzt_tcb_inside_backcover_style/.append~style={% - title=\file_if_exist:nT { \c__gzt_authors_instructions_file_tl } {% - \c__gzt_authors_instructions_string_tl - } - }, - } - } -} -\tcbset{% - __gzt_tcb_bibliography_style/.style={% - colback=__gzt_bibliography_minibios_acknowledgements_bg_color, - breakable, - boxrule=\c_zero_dim, - sharp~corners=all,% - enhanced - } -} -\tcbset{% - __gzt_tcb_minibiographies_acknowledgements_style/.style={% - colback=__gzt_bibliography_minibios_acknowledgements_bg_color, - breakable, - boxrule=\c_zero_dim, - extras~unbroken~and~last={drop~lifted~shadow}, - sharp~corners=all,% - skin=enhancedlast, - height~fixed~for=middle, - } -} -\tcbset{% - enlargepage~flexible=\baselineskip, - left=\c__gzt_tcb_left_dim, - boxsep=\c__gzt_tcb_boxsep_dim, -} -\setlist[1]{labelindent=\parindent} -\setlist[itemize]{label=\textendash{}, nosep} -\setlist{% - labelwidth=\widthof{\textendash}, - itemsep=0.4ex plus 0.2ex minus 0.2ex, - parsep=0.4ex plus 0.2ex minus 0.2ex, - topsep=0.8ex plus 0.4ex minus 0.4ex, - partopsep=0.4ex plus 0.2ex minus 0.2ex, - leftmargin=!% -} -\setlist[description]{ - font= - \bool_if:nTF { \g__gzt_books_rubric_bool || \g__gzt_inside_frontcover_bool || \g__gzt_inside_backcover_bool } - { - \color{black} - }{ - \color{__gzt_description_label_light_color} - } - \bfseries -} -\DeclarePlainStyle{«~}{~»}{`}{'} -\setcounter{topnumber}{3} -\renewcommand{\topfraction}{0.8} -\addtolength{\skip\footins}{.25\baselineskip} -\setlength{\columnsep}{7mm}% -\renewcommand{\thesection}{\arabic{section}}% -\@ifpackageloaded{siunitx}{% - \sisetup{locale=FR} -} -\arrayrulecolor{__gzt_arrayrule_color}% -\addto\captionsfrench{\def\tablename{{\scshape Tableau}}}% -\RenewDocumentCommand \vec { m } { - \vv{#1} -} -\cs_set_eq:NN \__gzt_orig_usetikzlibrary \usetikzlibrary -\RenewDocumentCommand \usetikzlibrary { m } { - \shorthandoff{:}% - \__gzt_orig_usetikzlibrary{#1} - \shorthandon{:}% - % \begingroup - % \NoAutoSpacing - % \__gzt_orig_usetikzlibrary{#1} - % \endgroup -} -\cs_new_protected:Nn \__gzt_bilingual:nnn -{ - \deftranslation[to=French]{#1}{#2}% - \deftranslation[to=English]{#1}{#3}% -} -\cs_new_protected:Nn \__gzt_new_theorem:nnnn -{ - % \__gzt_bilingual:nnn {#2}{#3}{#4} - \deftranslation[to=French]{#2}{#3}% - \deftranslation[to=English]{#2}{#4}% - \declaretheorem[% - #1,% - name=\translate{#2} - ]{#2} - \declaretheorem[% - #1,% - name=\translate{#2}, - numbered=no - ]{#2*} -} -\cs_generate_variant:Nn \__gzt_new_theorem:nnnn { nnVV } -\declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\itshape]{theorem} -\declaretheoremstyle[spaceabove=3pt,notefont=\bfseries,bodyfont=\normalfont]{definition} -\declaretheoremstyle[spaceabove=3pt,bodyfont=\normalfont,qed=\ensuremath{\qedsymbol},headfont=\normalfont\itshape,numbered=no]{proof} -\RenewDocumentCommand \newtheorem { O{} m } -{ - \tl_clear:N \l__gzt_newtheorem_style_tl - \tl_clear:N \l__gzt_newtheorem_frenchtitle_tl - \tl_clear:N \l__gzt_newtheorem_englishtitle_tl - \tl_set:Nn \l__gzt_newtheorem_englishtitle_tl { - \text_titlecase:n {#2} - } - \tl_set:Nf \l__gzt_newtheorem_frenchtitle_tl { - \l__gzt_newtheorem_englishtitle_tl - } - \tl_set:Nn \l__gzt_newtheorem_style_tl { - theorem - } - \IfNoValueF {#1} - { - \keys_set:nn { gzt/newtheorem } { #1 } - } - % \tl_if_eq:VVF { \l__gzt_newtheorem_englishtitle_tl } { \MakeUppercase #2 } - % {% - % \tl_if_eq:NNF { \l__gzt_newtheorem_frenchtitle_tl } { \l__gzt_newtheorem_englishtitle_tl } - % {% - % \tl_set:Nf \l__gzt_newtheorem_frenchtitle_tl { - % \l__gzt_newtheorem_englishtitle_tl - % } - % } - % } - \__gzt_new_theorem:nnVV {style=\l__gzt_newtheorem_style_tl}{#2}{\l__gzt_newtheorem_frenchtitle_tl}{\l__gzt_newtheorem_englishtitle_tl} -} -\newtheorem[frenchtitle=Th\'eor\`eme]{theorem} -\newtheorem[frenchtitle=Corollaire]{corollary} -\newtheorem{conjecture} -\newtheorem{proposition} -\newtheorem[frenchtitle=Lemme]{lemma} -\newtheorem[frenchtitle=Axiome]{axiom} -\newtheorem[style=definition,frenchtitle=D\'efinition]{definition} -\newtheorem[style=definition,frenchtitle=Remarque]{remark} -\newtheorem[style=definition,frenchtitle=Exemple]{example} -\newtheorem[style=definition]{notation} -\let\proof\relax -\newtheorem[style=proof,frenchtitle=Preuve]{proof} -\cs_new_protected:Nn \__gzt_clone_theorem:nn -{ - \NewDocumentEnvironment{#1}{} - { - \begin{#2} - } - { - \end{#2} - } - \NewDocumentEnvironment{#1*}{} - { - \begin{#2*} - } - { - \end{#2*} - } -} -\__gzt_clone_theorem:nn {theoreme} {theorem} -\__gzt_clone_theorem:nn {corollaire}{corollary} -\__gzt_clone_theorem:nn {lemme}{lemma} -\__gzt_clone_theorem:nn {axiome}{axiom} -\__gzt_clone_theorem:nn {remarque}{remark} -\__gzt_clone_theorem:nn {exemple}{example} -\__gzt_clone_theorem:nn {preuve}{proof} -\DeclareMathOperator{\cotan}{cotan} -\DeclareMathOperator{\Arccos}{Arccos} -\DeclareMathOperator{\Arcsin}{Arcsin} -\DeclareMathOperator{\Arctan}{Arctan} -\DeclareMathOperator{\Argch}{Argch} -\DeclareMathOperator{\Argsh}{Argsh} -\DeclareMathOperator{\Argth}{Argth} -\cs_set_eq:NN \__gzt_orig_arccos \arccos -\cs_set_eq:NN \__gzt_orig_arcsin \arcsin -\cs_set_eq:NN \__gzt_orig_arctan \arctan -\RenewDocumentCommand \arccos {} { - \IfLanguageName {french}{\Arccos}{\__gzt_orig_arccos}% -} -\RenewDocumentCommand \arcsin {} { - \IfLanguageName {french}{\Arcsin}{\__gzt_orig_arcsin}% -} -\RenewDocumentCommand \arctan {} { - \IfLanguageName {french}{\Arctan}{\__gzt_orig_arctan}% -} -\DeclareMathOperator{\ch}{ch} -\DeclareMathOperator{\sh}{sh} -\cs_set_eq:NN \__gzt_orig_tanh \tanh -\RenewDocumentCommand \tanh {} { - \IfLanguageName {french}{\operatorname{th}}{\__gzt_orig_tanh}% -} -\cs_set_eq:NN \__gzt_orig_log \log -\cs_set_eq:NN \__gzt_orig_lg \lg -\RenewDocumentCommand \log { s } { - \IfBooleanTF {#1} - { - \__gzt_orig_log - } - { - \ln - } -} -\RenewDocumentCommand \lg { s } { - \IfBooleanTF {#1} - { - \__gzt_orig_lg - } - { - \ln - } -} -\cs_set_eq:NN \__gzt_orig_leq \leq -\cs_set_eq:NN \__gzt_orig_geq \geq -\RenewDocumentCommand \le {} {% - \IfLanguageName {french}{\leqslant}{\__gzt_orig_leq}% -} -\RenewDocumentCommand \leq {} {% - \IfLanguageName {french}{\leqslant}{\__gzt_orig_leq}% -} -\RenewDocumentCommand \ge {} {% - \IfLanguageName {french}{\geqslant}{\__gzt_orig_geq}% -} -\RenewDocumentCommand \geq {} {% - \IfLanguageName {french}{\geqslant}{\__gzt_orig_geq}% -} -\NewDocumentCommand \N {} {\mathbb{N}} -\NewDocumentCommand \Z {} {\mathbb{Z}} -\NewDocumentCommand \D {} {\mathbb{D}} -\NewDocumentCommand \Q {} {\mathbb{Q}} -\NewDocumentCommand \R {} {\mathbb{R}} -\NewDocumentCommand \C {} {\mathbb{C}} -\NewDocumentCommand \K {} {\mathbb{K}} -\ExplSyntaxOff -%% ---------------------------------------------------------------------------- -%% This work may be distributed and/or modified under the -%% 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.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Denis Bitouz'e. -%% -%% This work consists of the file gzt.dtx -%% and the derived files gzt.cls, -%% gztarticle.cls, -%% gzt.ins, -%% gzt.pdf, -%% and a number of configuration files. -%% -%% End of file `gztarticle.cls'. diff --git a/macros/latex/contrib/gzt/tex/latex/gzt/images/README-PICTOGRAMS.md b/macros/latex/contrib/gzt/tex/latex/gzt/images/README-PICTOGRAMS.md deleted file mode 100644 index 138d2a4e89..0000000000 --- a/macros/latex/contrib/gzt/tex/latex/gzt/images/README-PICTOGRAMS.md +++ /dev/null @@ -1,6 +0,0 @@ -# Pictograms possibly missing - -The current directory is supposed to contain the (files of the) logos and -pictograms that illustrate the Gazette whole issues compiled by the SMF. As non -free materials, they are likely to miss here and, in such a case, the `gzt` -class will be replace them by a dummy image (borrowed from the `mwe` package). diff --git a/macros/latex/contrib/gzt/tex/latex/gzt/images/gzt-logo.pdf b/macros/latex/contrib/gzt/tex/latex/gzt/images/gzt-logo.pdf Binary files differdeleted file mode 100644 index edde3a5f3f..0000000000 --- a/macros/latex/contrib/gzt/tex/latex/gzt/images/gzt-logo.pdf +++ /dev/null |