diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-04 21:20:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-04 21:20:32 +0000 |
commit | 2973164cd6b8a0c3ce5fbabdeafb5cbe231e6827 (patch) | |
tree | 53fbdd5c6e0d9509bdc12c29c750829a0e0b18d5 /Master/texmf-dist/source/latex | |
parent | 9426e9b293fe6ebaddfc5b5238a27684ca6040e2 (diff) |
gzt (4apr16)
git-svn-id: svn://tug.org/texlive/trunk@40240 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/gzt/gzt.drv | 37 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/gzt/gzt.dtx | 1494 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/gzt/gzt.ins | 9 |
3 files changed, 926 insertions, 614 deletions
diff --git a/Master/texmf-dist/source/latex/gzt/gzt.drv b/Master/texmf-dist/source/latex/gzt/gzt.drv deleted file mode 100644 index 4a7d1eb5a37..00000000000 --- a/Master/texmf-dist/source/latex/gzt/gzt.drv +++ /dev/null @@ -1,37 +0,0 @@ -%% -%% This is file `gzt.drv', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gzt.dtx (with options: `driver') -%% ----------------------------------------------------------------------------- -%% gzt --- SMF bundle of classes for the French journal "La Gazette des -%% Math'ematiciens", version 0.9 -%% -%% E-mail: denis.bitouze@lmpa.univ-littoral.fr -%% Released under the LaTeX Project Public License v1.3c or later -%% See http://www.latex-project.org/lppl.txt -%% ----------------------------------------------------------------------------- - -%% ---------------------------------------------------------------------------- -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of LaTeX -%% 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.drv'. diff --git a/Master/texmf-dist/source/latex/gzt/gzt.dtx b/Master/texmf-dist/source/latex/gzt/gzt.dtx index c5641633879..27f8a398003 100644 --- a/Master/texmf-dist/source/latex/gzt/gzt.dtx +++ b/Master/texmf-dist/source/latex/gzt/gzt.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% File: gzt.dtx Copyright (C) 2014, 2015 by +% File: gzt.dtx Copyright (C) 2014, 2015, 2016 by % Denis Bitouz'e <denis.bitouze@lmpa.univ-littoral.fr> % % It may be distributed and/or modified under the conditions of the @@ -21,29 +21,25 @@ \iffalse %</internal> %<*readme> ------------------------------------------------------------------------------ -gzt --- SMF bundle of classes for the French journal "La Gazette des - Math'ematiciens", version 0.9 - -E-mail: denis.bitouze@lmpa.univ-littoral.fr -Released under the LaTeX Project Public License v1.3c or later -See http://www.latex-project.org/lppl.txt ------------------------------------------------------------------------------ +gzt - Support for the French journal "La Gazette des Mathématiciens" +===================================================================== -`gzt' is a new SMF bundle of classes for the French journal "La gazette des -math'ematiciens". +The `gzt` bundle provides LaTeX classes for the French journal "La Gazette des +mathématiciens". Installation ------------ -The classes are supplied in dtx format. If you want to unpack the dtx yourself, -running 'xetex gzt.dtx' will extract the two classes gzt.cls and gztarticle.cls -whereas 'pdflatex gzt.tex' will typeset the gztarticle.cls' documentation. +The classes are supplied in `.dtx` format. If you want to unpack the `.dtx` +yourself, running `tex gzt.dtx` will extract the package whereas +% +`pdflatex gzt` will typeset the documentation of the `gztarticle` class +(currently only in French). Typesetting the documentation also requires a number of packages in addition to -those needed to use the gzt class. To compile the documentation without error, -you will need, among others, my personal package denisbdoc.sty for documenting -packages which can be found on CTAN. +those needed to use the `gzt` classes. To compile the documentation without +error, you will need, among others, my personal (dirty) package `denisbdoc` for +documenting the classes I've written. %</readme> %<*internal> \fi @@ -57,7 +53,7 @@ packages which can be found on CTAN. % \input docstrip.tex \Msg{********************************************************} \Msg{* Installation} -\Msg{* Class: gzt 2015/05/02 v0.9} +\Msg{* Class: gzt 2016/04/03 v0.95} \Msg{* for the French journal} \Msg{* "La Gazette des Math'ematiciens" (DB)} \Msg{********************************************************} @@ -66,7 +62,7 @@ packages which can be found on CTAN. \preamble ----------------------------------------------------------------------------- gzt --- SMF bundle of classes for the French journal "La Gazette des - Math'ematiciens", version 0.9 + Math'ematiciens", version 0.95 E-mail: denis.bitouze@lmpa.univ-littoral.fr Released under the LaTeX Project Public License v1.3c or later @@ -74,7 +70,7 @@ See http://www.latex-project.org/lppl.txt ----------------------------------------------------------------------------- \endpreamble \postamble -% Copyright (C) 2014, 2015 by Denis Bitouz'e <denis.bitouze@lmpa.univ-littoral.fr> +% Copyright (C) 2014, 2015, 2016 by Denis Bitouz'e <denis.bitouze@lmpa.univ-littoral.fr> ---------------------------------------------------------------------------- This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -99,10 +95,11 @@ This work consists of the file gzt.dtx \def\GZT@classname{\jobname} \def\GZT@logo{\GZT@classname-logo} \def\GZT@addons{addons} +\def\GZT@documentation{documentation} \usedir{/} \generate{ \nopreamble\nopostamble - \file{README}{\from{\jobname.dtx}{readme}} + \file{README.md}{\from{\jobname.dtx}{readme}} }% \usedir{tex/latex/\GZT@classname} \generate{% @@ -122,19 +119,23 @@ This work consists of the file gzt.dtx \file{\GZT@classname.drv}{\from{\jobname.dtx}{driver}}% \nopreamble\nopostamble \file{\GZT@logo.tex}{\from{\jobname.dtx}{class-logo}}% - \file{lstlang0.sty}{\from{\jobname.dtx}{class-lstlang0}} - \file{latexmkrc}{\from{\jobname.dtx}{class-latexmkrc}} }% \usedir{doc/latex/\GZT@classname} \generate{ \nopreamble\nopostamble - \file{README}{\from{\jobname.dtx}{readme}} + % \file{README.md}{\from{\jobname.dtx}{readme}} }% -\usedir{doc/latex/\GZT@classname/\GZT@addons/completion} -\generate{% +\usedir{doc/latex/\GZT@classname/\GZT@documentation} +\generate{ \nopreamble\nopostamble - \file{\GZT@classname.cwl}{\from{\jobname.dtx}{class-cwl}} + \file{latexmkrc}{\from{\jobname.dtx}{latexmkrc}} + \file{lstlang0.sty}{\from{\jobname.dtx}{class-lstlang0}} }% +% \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 @@ -142,7 +143,8 @@ This work consists of the file gzt.dtx \fi %</internal> % -% \changes{v0.9}{2015/05/02}{First CTAN version}% +% \changes{v0.9}{2016/04/03}{First CTAN version}% +% \changes{v0.95}{2016/04/03}{Second CTAN version}% % % \CheckSum{4413} % @@ -214,7 +216,7 @@ This work consists of the file gzt.dtx }% } % -\NewDocumentCommand \frontmatterheadtext { } { +\NewDocumentCommand \frontmatterheadtext {} { \l__gzt_frontmatter_head_text_tl } % \end{macrocode} @@ -378,78 +380,157 @@ This work consists of the file gzt.dtx % % \subsection{For the books advertisements} % -% First, we create the new bibliography driver "bookadvertisement" (that seems to -% create the corresponding new entry). -% \begin{macrocode} -\DeclareBibliographyDriver{bookadvertisement}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \textbf{\printfield{series}}% - % \usebibmacro{series+number}% - \bigskip\newline\nopunct\newblock - {% - \Large% - \printfield{title}% - \newunit\newblock - }% - \iffieldundef{volume} - {}% - {\textbf{\printfield{volume}}} - \newline\nopunct\newblock - \textbf{\printfield{titleaddon}}% - \newline\nopunct\newblock - \printfield{subtitle}% - \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}% - \newline\nopunct\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 "publicprice" and "smfprice" and make -% them known by the entry type "bookadvertisement". +% 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 + 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~:\space + \EUR{\printfield{publicprice}} + \space\textendash\space Prix~membre~\smf{}~:\space + \EUR{\printfield{smfprice}} + \space\textendash\space Frais~de~port~non~compris + \end{center} + } + \iffieldundef{englishabstract} + {}% + {% + \par + \bigskip + \begin{otherlanguage}{english} + \itshape + \printfield{englishabstract}% + % + \par + \medskip + % + \begin{center} + Public~price:\space + \EUR{\printfield{publicprice}} + \space\textendash\space \smf{}~member~price:\space + \EUR{\printfield{smfprice}} + \space\textendash\space Shipping~costs~not~included + \end{center} + \end{otherlanguage} + } + \usebibmacro{finentry} } % \end{macrocode} % @@ -509,14 +590,6 @@ This work consists of the file gzt.dtx \RequirePackage{xpatch}% % \end{macrocode} % -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \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}). @@ -563,14 +636,6 @@ This work consists of the file gzt.dtx {}{} % \end{macrocode} % -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \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}. @@ -606,12 +671,12 @@ This work consists of the file gzt.dtx \ProvidesExplClass %<class> {gzt} %<class-article> {gztarticle} - {2015/05/02} - {0.9} + {2016/04/03} + {0.95} { - SMF class for the French journal^^J - "La Gazette des Math'ematiciens". -%<class-article>^^J (Author version.) + SMF~class~for~the~French~journal^^J + "La~Gazette~des~Math'ematiciens". +%<class-article>~(Author~version.) } % \end{macrocode} % @@ -623,6 +688,15 @@ This work consists of the file gzt.dtx % \section{Class loading} % % \begin{macrocode} +\bool_new:N \g_@@_for_authors_bool +\bool_new:N \g_@@_cover_bool +\bool_new:N \g_@@_coverpage_bool +\bool_new: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} +% +% \begin{macrocode} %</class|class-article> % \end{macrocode} % @@ -645,20 +719,44 @@ This work consists of the file gzt.dtx % \end{itemize} % % \begin{macrocode} +\tl_gset:Nn \g_@@_frontcover_image_file_tl {\c_@@_issue_frontcover_default_image_file_tl} \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, - insidepages .bool_gset:N = \g_@@_inside_pages_bool, - noinsidebackcover .bool_gset:N = \g_@@_no_inside_backcover_bool, - cover .code:n = {% + 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% },% - forauthors .bool_gset:N = \g_@@_for_authors_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 = {% + },% }% +% \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} % @@ -673,8 +771,8 @@ This work consists of the file gzt.dtx % As subsequent class, the \Cls{book} is loaded, with "openany", "english" and % "french" options. % \begin{macrocode} -%<class|class-article>\PassOptionsToClass{openany,english,french}{book} -%<class|class-article>\LoadClassWithOptions { book } +\PassOptionsToClass{openany,english,french}{book} +\LoadClass { book } \PassOptionsToPackage{table,cmyk}{xcolor}% \PassOptionsToPackage{export}{adjustbox}% \PassOptionsToPackage{english,french}{translator} @@ -697,11 +795,6 @@ This work consists of the file gzt.dtx \RequirePackage[group=false]{standalone}% % \end{macrocode} % -% \item Extending \pkg{etoolbox}'s patching commands: -% \begin{macrocode} -\RequirePackage{xpatch}% -% \end{macrocode} -% % \item Tools to load and manipulate data: % \begin{macrocode} \RequirePackage{datatool}% @@ -771,6 +864,12 @@ This work consists of the file gzt.dtx \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} @@ -804,11 +903,16 @@ This work consists of the file gzt.dtx % % \item Programmable bibliographies and citations: % \begin{macrocode} -\RequirePackage[datamodel=gzt,backend=biber,defernumbers=true,firstinits,autolang=other]{biblatex}% +\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: +% tabular-environments: % \begin{macrocode} \RequirePackage{array} % \end{macrocode} @@ -999,10 +1103,10 @@ This work consists of the file gzt.dtx \RequirePackage[numbered]{bookmark}% % \end{macrocode} % -% % \item Create glossaries and lists of acronyms: -% % \begin{macrocode} -% \RequirePackage[nowarn]{glossaries}% -% % \end{macrocode} +% \item Create glossaries and lists of acronyms: +% \begin{macrocode} +\RequirePackage[nowarn]{glossaries}% +% \end{macrocode} % % \item Intelligent cross-referencing: % \begin{macrocode} @@ -1010,23 +1114,12 @@ This work consists of the file gzt.dtx % \end{macrocode} % \end{enumerate} % -% % Setings of the glossaries and acronyms. -% % \begin{macrocode} -% \makeglossaries -% % \loadglsentries{../glossaries/glossary} -% % \loadglsentries{../glossaries/acronyms} -% % -% \setglossarystyle{indexhypergroup} -% \setacronymstyle{long-sc-short} -% \glsaddall -% % \end{macrocode} -% +% Setings of the glossaries and acronyms. % \begin{macrocode} -%</class|class-article> -% \end{macrocode} +\makeglossaries % -% \begin{macrocode} -%<*class|class-article> +\setglossarystyle{indexhypergroup} +\setacronymstyle{long-sc-short} % \end{macrocode} % % In case of \hologo{pdfTeX} engine, the document is by default in sans serif @@ -1128,14 +1221,6 @@ This work consists of the file gzt.dtx % \end{macro} % \end{macro} % -% \begin{macrocode} -%</class|class-article> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% % \subsection{Strings and keywords} % % We now declare some private string constants. @@ -1176,8 +1261,8 @@ This work consists of the file gzt.dtx % % For the names of the underlying classes. % \begin{macrocode} -\tl_const:Nn \c_@@_gzt_class_name_tl {gzt} -\tl_const:Nn \c_@@_gztarticle_class_name_tl {gztarticle} +\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. @@ -1267,7 +1352,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % For the president. % \begin{macrocode} -\tl_const:Nn \c_@@_president_signatory_string_tl {pr\'esident~de~la~\l_@@_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} @@ -1287,6 +1372,20 @@ This work consists of the file gzt.dtx \No\int_use:N\g_@@_issue_number_int% } % \end{macrocode} +% For the pdftitle text. +% \begin{macrocode} +\tl_const:Nn \c_@@_pdftitle_string_tl { + \c_@@_journal_title_string_tl + % \space + % \textendash{} + % \space + % \l_@@_uppercased_date_format{\displaydate{@@_date}} + \space + \textendash{} + \space + N°\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} @@ -1315,14 +1414,17 @@ This work consists of the file gzt.dtx % \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_image_file_string_tl {frontcover} -\tl_const:Nn \c_@@_issue_frontcover_image_path_string_tl {\c_@@_issue_images_path_string_tl/\c_@@_issue_frontcover_image_file_string_tl} +\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 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} @@ -1373,9 +1475,11 @@ This work consists of the file gzt.dtx % \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} @@ -1419,12 +1523,12 @@ This work consists of the file gzt.dtx % \begin{macrocode} \tl_const:Nn \c_@@_footer_string_tl { \c_@@_footer_size_font_tl - \textcolor{@@_smf_number_color}{\c_@@_smf_short_string_tl} + \textcolor{@@_smf_number_color}{\MakeTextUppercase{\c_@@_smf_short_string_tl}} \space \textcolor{@@_date_color}{ \textendash{}\space \MakeTextUppercase{\c_@@_journal_short_title_string_tl} -%<class> \bool_if:nF { \g_@@_inside_frontcover_bool || \g_@@_backmatter_bool } +%<class> \bool_if:nF { \g_@@_inside_frontcover_bool || \g_@@_backmatter_bool || \g_@@_for_authors_bool } %<class> { %<class> \space\textendash{}\space %<class> \l_@@_uppercased_date_format\displaydate{@@_date} @@ -1462,6 +1566,16 @@ This work consists of the file gzt.dtx % \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 { + \IfLanguageName{french}{ + Compil\'e~le~ + }{ + Compiled~on~ + } +} +% \end{macrocode} % % % \begin{macro}{smf} % % \begin{macro}{issn} @@ -1585,93 +1699,177 @@ This work consists of the file gzt.dtx % \begin{macro}{\c_@@_footskip_dim} % \begin{macro}{\c_@@_header_line_width_dim} % \begin{macro}{\c_@@_header_line_yshift_dim} -% We declare the default page layout constant dimensions. +% 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} -\dim_const:Nn \c_@@_future_layoutoffset_dim { 5mm} +% \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_@@_layoutoffset_dim { \c_@@_future_layoutoffset_dim} + \dim_const:Nn \c_@@_potential_layoutoffset_dim { \c_@@_printer_layoutoffset_dim} }{ - \dim_const:Nn \c_@@_layoutoffset_dim {\c_zero_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} +\zexternaldocument[self]{\jobname}% +\int_new:N \g_@@_total_pages_number_int% +\int_new:N \g_@@_total_inside_pages_number_int% % \end{macrocode} % -% The binding's thickness, that depends on the total pages number, is store in -% "\c_@@_bindingoffset_dim". +% 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} % -% Moreover, the inner and outer margins are repectively increase and decrease by -% a dimension "\c_@@_adjustmargin_dim" which is non-zero if (and only if) the -% total pages number is greater or equal than 72 (thresold for an adhesive -% square-back binding). +% The \enquote{printer} binding dimension is now store in +% "\c_@@_printer_bindingoffset_dim" following \vref{binding}. % -% In order to know the total pages number (store in -% "\g_@@_total_page_number_int"), we need first to specify the external document -% whom \File{.aux} will be read. % \begin{macrocode} -\zexternaldocument[self]{\jobname}% -% -\int_new:N \g_@@_total_page_number_int% -\int_gset:Nn \g_@@_total_page_number_int { \zref@extractdefault{selfLastPage}{abspage}{0} } -\int_compare:nNnTF {\g_@@_total_page_number_int-4}<{68} +\int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_a_int} { - \dim_const:Nn \c_@@_future_bindingoffset_dim { \c_zero_dim } + \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_zero_dim } }{ - \int_compare:nNnTF {\g_@@_total_page_number_int-4}<{80} + \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_b_int} { - \dim_const:Nn \c_@@_future_bindingoffset_dim { 3mm } + \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_a_dim } }{ - \int_compare:nNnTF {\g_@@_total_page_number_int-4}<{88} + \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_c_int} { - \dim_const:Nn \c_@@_future_bindingoffset_dim { 3.5mm } + \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_b_dim } }{ - \int_compare:nNnTF {\g_@@_total_page_number_int-4}<{96} + \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_d_int} { - \dim_const:Nn \c_@@_future_bindingoffset_dim { 3.9mm } + \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_c_dim } }{ - \int_compare:nNnTF {\g_@@_total_page_number_int-4}<{104} + \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_e_int} { - \dim_const:Nn \c_@@_future_bindingoffset_dim { 4.1mm } + \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_d_dim } }{ - \int_compare:nNnTF {\g_@@_total_page_number_int-4}<{120} + \int_compare:nNnTF {\g_@@_total_inside_pages_number_int}<{\c_@@_thresold_f_int} { - \dim_const:Nn \c_@@_future_bindingoffset_dim { 4.5mm } + \dim_const:Nn \c_@@_printer_bindingoffset_dim { \c_@@_bindingoffset_e_dim } }{ - \dim_const:Nn \c_@@_future_bindingoffset_dim { 5mm } + \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_@@_bindingoffset_dim { \c_@@_future_bindingoffset_dim } + \dim_const:Nn \c_@@_potential_bindingoffset_dim { \c_@@_printer_bindingoffset_dim } }{ - \dim_const:Nn \c_@@_bindingoffset_dim {\c_zero_dim} + \dim_const:Nn \c_@@_potential_bindingoffset_dim {\c_zero_dim} } -\dim_const:Nn \c_@@_paperheight_dim { \c_@@_layoutheight_dim+2\c_@@_layoutoffset_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_@@_layoutoffset_dim - +\c_@@_bindingoffset_dim + \c_@@_potential_layoutoffset_dim + +\c_@@_potential_bindingoffset_dim } }{ \dim_const:Nn \c_@@_paperwidth_dim { \c_@@_layoutwidth_dim + 2 - \c_@@_layoutoffset_dim - +\c_@@_bindingoffset_dim + \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_@@_future_layoutoffset_dim + \c_@@_printer_layoutoffset_dim } -\dim_const:Nn \c_@@_topmargin_dim { 31mm} +\dim_const:Nn \c_@@_topmargin_dim { 31mm} \dim_const:Nn \c_@@_topmargin_frontcover_dim { \c_@@_topmargin_dim + 30mm @@ -1686,11 +1884,11 @@ This work consists of the file gzt.dtx % \dim_const:Nn \c_@@_topmargin_backcover_dim { % \c_@@_topmargin_frontcover_dim % } -\dim_const:Nn \c_@@_headsep_dim { 24mm} +\dim_const:Nn \c_@@_headsep_dim { 24mm} \dim_const:Nn \c_@@_headsep_frontcover_dim { \c_@@_headsep_dim +31mm - -\c_@@_layoutoffset_dim + % -\c_@@_potential_layoutoffset_dim } \dim_const:Nn \c_@@_headsep_inside_frontcover_dim { \c_@@_headsep_dim @@ -1700,21 +1898,21 @@ This work consists of the file gzt.dtx \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} +\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} (and make the outer margins -% smaller of the same dimension). +% 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_@@_shift_margin_dim { 5mm } -\dim_const:Nn \c_@@_innermargin_dim { 15mm - \c_@@_bindingoffset_dim + \c_@@_shift_margin_dim} -\dim_const:Nn \c_@@_outermargin_dim { 30mm - \c_@@_shift_margin_dim } +\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_@@_bindingoffset_dim + - \c_@@_potential_bindingoffset_dim % + \c_@@_adjustmargin_dim } \dim_const:Nn \c_@@_outermargin_inside_cover_dim { @@ -1725,36 +1923,36 @@ This work consists of the file gzt.dtx \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_@@_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_@@_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_@@_layoutoffset_dim% + \c_@@_frontmatter_headtext_xshift_dim +\c_@@_potential_layoutoffset_dim% }% -\dim_const:Nn \c_@@_frontmatter_headtext_yshift_dim { -6.5mm-\c_@@_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_@@_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_@@_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_@@_layoutoffset_dim }% -\dim_const:Nn \c_@@_yshift_arccircle_A_dim { -22mm-\c_@@_layoutoffset_dim }% +\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_@@_layoutoffset_dim }% -\dim_const:Nn \c_@@_xshift_arccircle_C_dim { \c_@@_layoutoffset_dim-5mm }% -\dim_const:Nn \c_@@_yshift_arccircle_C_dim { -19.75mm-\c_@@_layoutoffset_dim }% +\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 }% @@ -1851,6 +2049,15 @@ This work consists of the file gzt.dtx % \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{% @@ -1863,28 +2070,28 @@ This work consists of the file gzt.dtx \bool_if:NTF {\g_@@_cover_bool} { \tl_const:Nn \c_@@_frontcover_geometry_tl {% ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutvoffset=\c_@@_layoutoffset_dim - ,bindingoffset=\c_@@_bindingoffset_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 ,footskip=\c_zero_dim ,outer=\c_zero_dim - ,inner=\c_@@_layoutoffset_dim + ,inner=\c_@@_potential_layoutoffset_dim ,nomarginpar% }% }{ \tl_const:Nn \c_@@_frontcover_geometry_tl {% ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_layoutoffset_dim - ,bindingoffset=\c_@@_bindingoffset_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 ,footskip=\c_zero_dim - ,hmargin=\c_@@_layoutoffset_dim + ,hmargin=\c_@@_potential_layoutoffset_dim ,nomarginpar% }% } @@ -1896,22 +2103,22 @@ This work consists of the file gzt.dtx \bool_if:NTF {\g_@@_cover_bool} { \tl_const:Nn \c_@@_inside_cover_geometry_tl {% ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutvoffset=\c_@@_layoutoffset_dim - ,bindingoffset=\c_@@_bindingoffset_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_@@_layoutoffset_dim - ,outer=\c_@@_outermargin_inside_cover_dim+\c_@@_layoutoffset_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_@@_layoutoffset_dim - ,bindingoffset=\c_@@_bindingoffset_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 @@ -1928,8 +2135,8 @@ This work consists of the file gzt.dtx % \begin{macrocode} \tl_const:Nn \c_@@_front_matter_geometry_tl {% ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_layoutoffset_dim - % ,bindingoffset=\c_@@_bindingoffset_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 @@ -1945,8 +2152,8 @@ This work consists of the file gzt.dtx % \begin{macrocode} \tl_const:Nn \c_@@_main_geometry_tl {% ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_layoutoffset_dim - % ,bindingoffset=\c_@@_bindingoffset_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 @@ -1961,8 +2168,8 @@ This work consists of the file gzt.dtx % \begin{macrocode} \tl_const:Nn \c_@@_backcover_geometry_tl {% ,layoutsize={\c_@@_layoutwidth_dim,\c_@@_layoutheight_dim} - ,layoutoffset=\c_@@_layoutoffset_dim - % ,bindingoffset=\c_@@_bindingoffset_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 @@ -1996,6 +2203,7 @@ This work consists of the file gzt.dtx \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} @@ -2023,7 +2231,13 @@ This work consists of the file gzt.dtx % If "number" option is not used, its initial value is set to $0$. % number. % \begin{macrocode} - number .initial:n = 0 + 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} @@ -2394,9 +2608,11 @@ This work consists of the file gzt.dtx \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{@@_rubric_head_text_color}{black!65} +\colorlet{@@_head_text_color}{black!65} +\colorlet{@@_rubric_head_text_color}{@@_head_text_color} \colorlet{@@_bibliography_minibios_acknowledgments_bg_color}{black!10} \colorlet{@@_headrule_color}{@@_generic_light_color!65} \colorlet{@@_circlerule_color}{@@_generic_dark_color!65} @@ -2408,7 +2624,7 @@ This work consists of the file gzt.dtx \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}{@@_generic_light_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} @@ -2473,9 +2689,9 @@ This work consists of the file gzt.dtx % % We define some token lists for the long and short forms of \textsc{smf}. % \begin{macrocode} -\tl_new:N \l_@@_smf_short_string_tl -\tl_new:N \l_@@_smf_string_tl -\tl_set:Nn \l_@@_smf_short_string_tl { +\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} @@ -2483,7 +2699,7 @@ This work consists of the file gzt.dtx % \c_@@_smf_short_pdf_string_tl % }% } -\tl_set:Nn \l_@@_smf_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} @@ -2516,15 +2732,21 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% We fix some strings for the PDF's metadata . +% We fix some strings for the PDF's metadata. % \begin{macrocode} -\tl_new:N \l_@@_pdftitle_string_tl -\tl_new:N \l_@@_pdfauthor_string_tl -\tl_set:Nn \l_@@_pdftile_string_tl { - \c_@@_journal_title_string_tl\space--\space{}N°\int_use:N\g_@@_issue_number_int +\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_set:Nn \l_@@_pdfauthor_string_tl { - \l_@@_smf_string_tl +\tl_gset:Nn \g_@@_pdfauthor_string_tl { + \g_@@_smf_string_tl +} +\AtEndPreamble{% + \hypersetup{% + pdftitle=\g_@@_pdftitle_string_tl, + pdfauthor=\g_@@_pdfauthor_string_tl% + } } % \end{macrocode} % @@ -2578,11 +2800,11 @@ This work consists of the file gzt.dtx % \begin{macrocode} \cs_new_protected:Nn \@@_display_author:nnnnn { - \begin{tabular}[t]{p{18mm}p{0.75\linewidth}} + \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=16mm]{#5} + \includegraphics[width=\c_@@_authors_photos_width_dim]{#5} \end{adjustbox}% } & @@ -2756,16 +2978,19 @@ This work consists of the file gzt.dtx }{ \tl_if_in:NnTF \l_@@_people_role_tl { author } { \footnotesize% - \noindent% - \tl_if_empty:NF \l_@@_people_photo_tl - {% - \begin{adjustbox}{valign=t,minipage=18mm} - \includegraphics[width=16mm]{\l_@@_people_photo_tl} + % \noindent% + \dim_set:Nn \l_@@_minibio_width_dim {\linewidth-1em - \c_@@_authors_photos_box_width_dim} + \tl_if_empty:NTF \l_@@_people_photo_tl + {% + \dim_add:Nn \l_@@_minibio_width_dim {\c_@@_authors_photos_box_width_dim} + }{% + \begin{adjustbox}{valign=t,minipage=\c_@@_authors_photos_box_width_dim} + \includegraphics[width=\c_@@_authors_photos_width_dim]{\l_@@_people_photo_tl} \end{adjustbox}% - } \quad% - \begin{adjustbox}{valign=t,minipage=\linewidth-18mm-1em} - \begin{description}[leftmargin=1em,style=nextline] + } + \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}% @@ -2847,29 +3072,21 @@ This work consists of the file gzt.dtx \exp_after:wN\newgeometry\exp_after:wN{\c_@@_frontcover_geometry_tl}% \noindent% \bool_if:NTF {\g_@@_cover_bool} { - \hspace*{-\c_@@_layoutoffset_dim} + \hspace*{-\c_@@_potential_layoutoffset_dim} }{ - \hspace*{-2\c_@@_layoutoffset_dim} + \hspace*{-2\c_@@_potential_layoutoffset_dim} } - \includegraphics[ - width=\c_@@_frontcover_image_width_dim - % min~width=\paperwidth - % width=\c_@@_layoutwidth_dim + 2\c_@@_layoutoffset_dim - % min~size={\paperwidth}{\c_@@_frontcover_image_height_dim+\c_@@_layoutoffset_dim}, - % max~size={\paperwidth}{\c_@@_frontcover_image_height_dim+\c_@@_layoutoffset_dim}, - % Clip*=0mm~40mm~211mm~160mm - % Clip*=0mm~{\height-\c_@@_frontcover_image_height_dim}~{\paperwidth}~{\height} - ]{\c_@@_issue_frontcover_image_path_string_tl} + \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_@@_layoutoffset_dim,yshift=\g_@@_minitoc_yshift_dim+\c_@@_layoutoffset_dim]current~page.south~east) ; + ([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=white,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) $) { \large - \color{@@_dark_generic_light_color} + \color{@@_minitoc_color} \bool_if:NF {\g_@@_frontcover_minitoc_tl} { \g_@@_frontcover_minitoc_tl } @@ -2882,15 +3099,15 @@ This work consists of the file gzt.dtx \small \begin{tikzpicture}[remember~picture, overlay] \node[name=@@_binding_sw,inner~sep=\c_zero_dim,fill=white,rotate=90,anchor=west] at - ([xshift=0.45\c_@@_bindingoffset_dim,yshift=15mm+\c_@@_layoutoffset_dim]current~page.south~west) { + ([xshift=0.45\c_@@_potential_bindingoffset_dim,yshift=15mm+\c_@@_potential_layoutoffset_dim]current~page.south~west) { \No\int_use:N\g_@@_issue_number_int }; \node[name=@@_binding_w,inner~sep=\c_zero_dim,fill=white,rotate=90] at - ([xshift=0.45\c_@@_bindingoffset_dim]current~page.west) { + ([xshift=0.45\c_@@_potential_bindingoffset_dim]current~page.west) { \MakeUppercase{\c_@@_journal_title_string_tl} }; \node[name=@@_binding_nw,inner~sep=\c_zero_dim,fill=white,rotate=90,anchor=east] at - ([xshift=0.45\c_@@_bindingoffset_dim,yshift=-15mm-\c_@@_layoutoffset_dim]current~page.north~west) { + ([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} @@ -2898,7 +3115,7 @@ This work consists of the file gzt.dtx \vfill% \noindent% \hspace*{10mm}% - \hspace*{-\c_@@_layoutoffset_dim} + \hspace*{-\c_@@_potential_layoutoffset_dim} \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% \vfill% \clearpage% @@ -3009,41 +3226,32 @@ This work consists of the file gzt.dtx \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}% - % \file_if_exist:nT { \c_@@_authors_instructions_file_tl } {% - \bool_if:NTF {\g_@@_no_inside_backcover_bool} { - \hbox{} - }{% - \small% - \begin{_@@_inside_cover_tcb}[_@@_tcb_inside_backcover_style] - % \small% - % Page~ - % \ifoddpage% - % im - % \fi - % paire.\par{} - \file_if_exist:nT { \c_@@_authors_instructions_file_tl } {% - % \begin{multicols}{2} - % \setlength{\columnsep}{1mm} - \file_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} - } - % }{% - % \hbox{} - % } + \bool_if:NTF {\g_@@_no_inside_backcover_bool} { + \hbox{} + }{% + \small% + \begin{_@@_inside_cover_tcb}[_@@_tcb_inside_backcover_style] + \file_if_exist:nT { \c_@@_authors_instructions_file_tl } {% + % \begin{multicols}{2} + % \setlength{\columnsep}{1mm} + \file_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} @@ -3143,13 +3351,7 @@ This work consists of the file gzt.dtx % % Its keys are set (only "number", "month" and "year" are relevant here). % \begin{macrocode} - \keys_set:nn { gzt/issuesetup } { #1 } -% \end{macrocode} -% -% We fix some of the PDF's metadata . -% \begin{macrocode} -\hypersetup{pdftitle=\l_@@_pdftitle_string_tl} -\hypersetup{pdfauthor=\l_@@_pdfauthor_string_tl} + \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 @@ -3265,7 +3467,7 @@ This work consists of the file gzt.dtx } \IfNoValueF {#1} { - \keys_set:nn { gzt/authors } { #1 } + \keys_set:nn { gzt/interviewees } { #1 } } \tl_set:Nn \l_@@_people_first_last_name_tl {#2} \_@@_people:nVVVVnxV @@ -3277,7 +3479,7 @@ This work consists of the file gzt.dtx {} {interviewee-art-\int_use:N \g_@@_articles_int} {} - \maketitle + % \maketitle } % \end{macrocode} % \end{macro} @@ -3423,7 +3625,6 @@ This work consists of the file gzt.dtx \tl_if_empty:NT \g_@@_short_title_tl {% \tl_gset_eq:NN \g_@@_short_title_tl \g_@@_title_tl } -%<class-article> \hypersetup{pdftitle=\g_@@_short_title_tl} } % \end{macrocode} % \end{macro} @@ -3496,7 +3697,7 @@ This work consists of the file gzt.dtx % paragraph (\enquote{chapô} in French typography) is (re)defined. % \begin{macrocode} \tl_new:N \g_@@_abstract_body_tl -\NewDocumentEnvironment{abstract}{ } +\NewDocumentEnvironment{abstract}{} {\CollectAbstract} {\endCollectAbstract} \NewEnviron{CollectAbstract} @@ -3684,11 +3885,24 @@ This work consists of the file gzt.dtx \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_set:Nn \g_@@_blx_given_first_inits_false_tl + {% + \togglefalse{blx@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: - \togglefalse{blx@firstinits}% + \g_@@_blx_given_first_inits_false_tl \citeauthor{#1} \group_end: }% @@ -3779,6 +3993,11 @@ This work consists of the file gzt.dtx \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} @@ -3842,6 +4061,22 @@ This work consists of the file gzt.dtx } } } +\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. @@ -3878,7 +4113,7 @@ This work consists of the file gzt.dtx {% \begin{tikzpicture}[remember~picture,overlay] \draw[fill=@@_circlerule_color,draw=@@_circlerule_color,line~width=0.7mm] - ([xshift=-\c_@@_innermargin_dim-\c_@@_layoutoffset_dim]0,0 -| current~page.west) -- (\linewidth,0);% + ([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}% }% @@ -3915,9 +4150,11 @@ This work consists of the file gzt.dtx }{ \g_@@_short_title_tl% } - \bool_if:nF { \tl_if_empty_p:N \g_@@_short_subtitle_tl || \g_@@_interview_rubric_bool || \g_@@_rearviewmirror_rubric_bool } - { - \space\textendash{}\space\g_@@_short_subtitle_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 } + { + \space\textendash{}\space\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 } { @@ -3933,7 +4170,6 @@ This work consists of the file gzt.dtx } } } -%<class-article> \hypersetup{pdfauthor=\l_@@_people_first_last_names_tl} } \end{adjustbox} } @@ -3946,14 +4182,12 @@ This work consists of the file gzt.dtx {% \begin{adjustbox}{minipage=\g_@@_abstract_box_width_dim,max~width=\g_@@_abstract_box_width_dim,valign=t} \mbox{} - \tl_if_exist:NTF \g_@@_abstract_body_tl + \tl_if_exist:NT \g_@@_abstract_body_tl {% \raggedright% \bfseries% \color{@@_article_abstract_color}% \g_@@_abstract_body_tl - } - {% }% \end{adjustbox} }% @@ -4013,6 +4247,10 @@ This work consists of the file gzt.dtx % \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} % @@ -4020,6 +4258,16 @@ This work consists of the file gzt.dtx %<*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 @@ -4096,25 +4344,40 @@ This work consists of the file gzt.dtx % We set "\parindent" to zero in \enquote{Interview} rubric. % \begin{macrocode} \dim_zero:N \parindent - \tl_if_empty:NF \g_@@_people_photo_tl - { - \begin{adjustbox}{center} - \includegraphics[height=50mm]{\g_@@_people_photo_tl} - \end{adjustbox} - } + % \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} + \bool_if:nF { \g_@@_multicols_bool || \g_@@_rearviewmirror_rubric_bool } { \begin{multicols}{2}% + } } } -} % \end{macrocode} % \end{macro} % +% 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} +%<class>\bool_if:nT { \g_@@_for_authors_bool } +%<class>{ +%<class> \AtEndDocument{% +%<class> \bool_if:NT {\g_@@_multicols_bool} { +%<class> \end{multicols}% +%<class> } +%<class>} +%<class>} +% \end{macrocode} +% % We load the configuration file, 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 @@ -4124,6 +4387,13 @@ This work consists of the file gzt.dtx \AtEndPreamble{\file_input:n {\c_@@_configuration_file_string_tl}} % \end{macrocode} % +% We load the file where acronyms are defined. +% \begin{macrocode} +\file_if_exist:nT { \c_@@_acronyms_file_string_tl } {% + \AtEndPreamble{\loadglsentries{\c_@@_acronyms_file_string_tl}} +} +% \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 @@ -4308,7 +4578,7 @@ This work consists of the file gzt.dtx \cs_new_protected:Nn \_@@_display_toc: { \_@@_before_frontmatter_stuff: {} - \@@_boxed_issue_number:nn {\c_@@_issue_frontcover_image_path_string_tl}{\c_@@_toc_string_tl} + \@@_boxed_issue_number:nn {\g_@@_frontcover_image_file_tl}{\c_@@_toc_string_tl} \phantomsection \hypertarget{@@_toc}{} \bookmark[dest=@@_toc,level=part]{\c_@@_toc_string_tl} @@ -4344,7 +4614,7 @@ This work consists of the file gzt.dtx \newlist{@@_minitoc_list}{itemize}{1} \setlist[@@_minitoc_list]{itemsep=2ex,label=\textcolor{@@_cover_itemize_label_color}\textbullet} % -\NewDocumentEnvironment{minitoclist}{ } +\NewDocumentEnvironment{minitoclist}{} {% \cs_set_eq:NN \_@@_orig_item \item \RenewDocumentCommand \item { s O{} }{% @@ -4371,7 +4641,7 @@ 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}{\l_@@_smf_short_string_tl}% + \addcontentsline{toc}{part}{\g_@@_smf_short_string_tl}% \addcontentsline{toc}{chapter}{\c_@@_president_message_string_tl}% } \cs_new_protected:Nn \_@@_after_display_presidentmessage: @@ -4476,7 +4746,7 @@ This work consists of the file gzt.dtx % % \begin{macrocode} \AtBeginDocument{% - % \graphicspath{{\c_@@_issue_images_path_string_tl//}} + \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 @@ -4507,26 +4777,33 @@ This work consists of the file gzt.dtx 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: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 - \g_@@_display_inside_frontcover_tl - } - \bool_if:NT {\g_@@_cover_bool} { - % \end{document} + \bool_if:NTF {\g_@@_coverpage_bool} { + \AfterEndPreamble{\end{document}} + }{ + \g_@@_display_inside_frontcover_tl + } } } } @@ -4764,14 +5041,6 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% \begin{macrocode} -%</class> -% \end{macrocode} -% -% \begin{macrocode} -%<*class|class-article> -% \end{macrocode} -% % \subsection{Front cover page style} % % \begin{macrocode} @@ -4925,14 +5194,14 @@ This work consists of the file gzt.dtx ]% [% \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\c_@@_advertisement_string_tl% + \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl% }% ]% []% {}% {% \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\c_@@_advertisement_string_tl% + \large\bfseries\scshape\color{@@_head_text_color}\c_@@_advertisement_string_tl% } }% { @@ -4953,6 +5222,30 @@ This work consists of the file gzt.dtx } % \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]% + [% + \uppercase{\c_@@_footer_string_tl} + ]% + []% + {}% + {% + \uppercase{\c_@@_footer_string_tl}% + }% + {\c_@@_footer_size_font_tl\thepage}% +}% +% \end{macrocode} +% % \subsection{Inside back cover page style} % % \begin{macrocode} @@ -5010,22 +5303,30 @@ This work consists of the file gzt.dtx % \bool_if:NT {\g_@@_for_printer_bool} {% % \AddEverypageHook{% % \tikz[remember~picture,overlay] {% -% \draw ([yshift=\c_@@_layoutoffset_dim]current~page.south~west) -- +(0.25,0); -% \draw ([xshift=\c_@@_layoutoffset_dim]current~page.south~west) -- +(0,0.25); +% \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_@@_layoutoffset_dim]current~page.south~east) -- +(-0.25,0); -% \draw ([xshift=-\c_@@_layoutoffset_dim-\c_@@_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_@@_layoutoffset_dim]current~page.north~west) -- +(0.25,0); -% \draw ([xshift=\c_@@_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_@@_layoutoffset_dim]current~page.north~east) -- +(-0.25,0); -% \draw ([xshift=-\c_@@_layoutoffset_dim-\c_@@_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} % +% \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} \AddEverypageHook{% @@ -5048,7 +5349,7 @@ This work consists of the file gzt.dtx ]% [% \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \large\bfseries\scshape\color{@@_rubric_head_text_color}\g_@@_rubric_title_tl% + \large\bfseries\scshape\color{@@_head_text_color}\g_@@_rubric_title_tl% }% ]% []% @@ -5058,7 +5359,7 @@ This work consists of the file gzt.dtx \g_@@_rearviewmirror_rubric_bool || \g_@@_books_rubric_bool }{ \adjustbox{raise={\c_@@_header_yshift_dim}{\height}}{% - \bfseries\color{@@_rubric_head_text_color}\g_@@_short_title_tl% + \bfseries\color{@@_head_text_color}\g_@@_short_title_tl% } } }% @@ -5066,24 +5367,38 @@ This work consists of the file gzt.dtx \tikz[remember~picture,overlay] {\g_@@_mainmatter_oddpage_headrule_tl} }% % - \setfoot% - [\c_@@_footer_size_font_tl\thepage]% - [% +\bool_if:nTF { \g_@@_for_authors_bool } { + \setfoot% + [\c_@@_footer_size_font_tl\thepage]% + [% \uppercase{\c_@@_footer_string_tl} - ]% - []% - {}% - {% - \uppercase{\c_@@_footer_string_tl}% - }% - {\c_@@_footer_size_font_tl\thepage}% + ]% + [\c_@@_footer_size_font_tl \c_@@_compiled_string_tl\today]% + {\c_@@_footer_size_font_tl \c_@@_compiled_string_tl\today}% + {% + \uppercase{\c_@@_footer_string_tl}% + }% + {\c_@@_footer_size_font_tl\thepage}% + }{ + \setfoot% + [\c_@@_footer_size_font_tl\thepage]% + [% + \uppercase{\c_@@_footer_string_tl} + ]% + []% + {}% + {% + \uppercase{\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 } { +\NewDocumentCommand \acknowledgements { +m } { \@@_article_acknowledgements:n {#1}% } % \end{macrocode} @@ -5096,7 +5411,7 @@ This work consists of the file gzt.dtx % \item the acknowledgements if not empty. % \end{itemize} % \begin{macrocode} -\NewDocumentCommand \printminibios { } { +\NewDocumentCommand \printminibios {} { \bool_if:NT {\g_@@_multicols_bool} { \end{multicols}% } @@ -5154,7 +5469,7 @@ This work consists of the file gzt.dtx % \end{itemize} % \begin{macrocode} \cs_set_eq:NN \_@@_printbibliography \printbibliography -\RenewDocumentCommand \printbibliography { O{} } { +\RenewDocumentCommand \printbibliography { s O{} } { \bool_if:NT {\g_@@_multicols_bool} { \end{multicols}% } @@ -5167,11 +5482,14 @@ This work consists of the file gzt.dtx \FloatBarrier% % }% \begin{_@@_bibliography_tcbox} - \_@@_printbibliography[heading=subbibliography,resetnumbers,#1] + \_@@_printbibliography[heading=subbibliography,resetnumbers,#2] \end{_@@_bibliography_tcbox} % - \nopagebreak[0] - \printauthorsdetails + \IfBooleanF {#1} + { + \nopagebreak[0] + \printauthorsdetails + } } % \end{macrocode} % \end{macro} @@ -5188,7 +5506,7 @@ This work consists of the file gzt.dtx \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=French]{_@@_bc}{avant~J.-C}% \deftranslation[to=English]{_@@_bc}{BC}% \cs_new_protected:Nn \_@@_century:n { @@ -5196,9 +5514,27 @@ This work consists of the file gzt.dtx \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}% - \space - \int_compare:nNnT { #1 } < { 0 }{\translate{_@@_bc}} + \int_compare:nNnT { #1 } < { 0 }{ + \space + \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} % @@ -5213,6 +5549,44 @@ This work consists of the file gzt.dtx % \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} @@ -5302,6 +5676,14 @@ This work consists of the file gzt.dtx { \_@@_rubric:nnn {#1}{\c_@@_latex_rubric_string_tl}{} } +\NewDocumentCommand \forum {O{}} +{ + \_@@_rubric:nnn {#1}{\c_@@_forum_rubric_string_tl}{picto-forum} +} +\NewDocumentCommand \moralreport {O{}} +{ + \_@@_rubric:nnn {#1}{\c_@@_moralreport_rubric_string_tl}{\c_@@_smf_logo_file_string_tl} +} % \end{macrocode} % \end{macro} % @@ -5320,7 +5702,7 @@ This work consists of the file gzt.dtx } {}{} \DeclareCiteCommand{\citereviewer}{}{% - \togglefalse{blx@firstinits}% + \g_@@_blx_given_first_inits_false_tl \printnames{reviewer}% } {}{} @@ -5386,10 +5768,10 @@ This work consists of the file gzt.dtx \NewDocumentCommand \smf { s } { \IfBooleanTF {#1} { - \l_@@_smf_string_tl + \g_@@_smf_string_tl } { - \l_@@_smf_short_string_tl + \g_@@_smf_short_string_tl } \xspace } @@ -5449,14 +5831,14 @@ This work consists of the file gzt.dtx % \begin{macro}{\gztcl} % \begin{macro}{\gztarticle} % \begin{macrocode} -\NewDocumentCommand \gztcl { } +\NewDocumentCommand \gztcl {} {% - \textsl{\texttt{\c_@@_gzt_class_name_tl}} + \textsl{\texttt{\c_@@_class_name_tl}} \xspace } -\NewDocumentCommand \gztarticlecl { } +\NewDocumentCommand \gztarticlecl {} {% - \textsl{\texttt{\c_@@_gztarticle_class_name_tl}} + \textsl{\texttt{\c_@@_article_class_name_tl}} \xspace } % \end{macrocode} @@ -5465,8 +5847,17 @@ This work consists of the file gzt.dtx % % \begin{macro}{\century} % \begin{macrocode} -\NewDocumentCommand \century { m } {% - \_@@_century:n {#1}% +\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} @@ -5540,7 +5931,7 @@ This work consists of the file gzt.dtx % \end{macrocode} % % \begin{macrocode} -\NewDocumentEnvironment{authorsinstructions}{ } +\NewDocumentEnvironment{authorsinstructions}{} {% \begingroup \tcbverbatimwrite{\c_@@_authors_instructions_file_tl} @@ -5642,6 +6033,17 @@ This work consists of the file gzt.dtx } % \end{macrocode} % +% We provide a public environment "inset" for insets that has the same layout as +% minibiographies and acknowledgments. Its layout is based upon \pkg{tcolorbox} +% features. +% \begin{macrocode} +\DeclareTColorBox{inset}{ O{} } +{ + _@@_tcb_minibiographies_acknowledgments_style, + #1 +} +% \end{macrocode} +% % We create a "bookreview" environment for the book reviews. % \begin{macrocode} \NewDocumentEnvironment{bookreview}{ O{} m } @@ -5650,7 +6052,7 @@ This work consists of the file gzt.dtx \begin{_@@_book_review}[#1] \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% \xpretonameformat{author}{\color{@@_people_color}}{}{}% - \togglefalse{blx@firstinits}% + \g_@@_blx_given_first_inits_false_tl \noindent\fullcite{\g_@@_bookreview_bibkey_tl} \vspace{10mm} \tcblower @@ -5681,77 +6083,17 @@ This work consists of the file gzt.dtx % % We create a "bookadvertisement" environment for the book advertisements. % \begin{macrocode} -\NewDocumentEnvironment{bookadvertisement}{ O{} m } -{% - \keys_set:nn { gzt/bookadvertisement } { #2 }% +\NewDocumentCommand \bookadvertisement {O{} m} +{ \newpage{} \mbox{} \vfill \begin{_@@_book_advertisement}[#1] - \begin{tcolorbox}[ - lefthand~width=47.5mm - ,sidebyside - ,colback=@@_book_advertisement_bg_color - % ,sharp~corners=all - ,fontlower=\large - ,flushleft~lower - ,boxrule=\c_zero_dim - ,frame~hidden% - ,leftright~skip=\c_zero_dim - ,before~skip=\c_zero_dim - ,lower~separated=false - ] - \adjustbox{frame}{\includegraphics[width=45mm]{\g_@@_bookadvertisement_frontcover_tl}}% - \tcblower - \xpatchfieldformat{title}{mkbibemph}{textbf}{}{}% - \def\abx@str{abx@lstr}% - \noindent\fullcite{\g_@@_bookadvertisement_bibkey_tl} - \def\abx@str{abx@sstr}% - \end{tcolorbox} - \bigskip - \c_@@_published_with_help_of_string_tl~\citecopublisher{\g_@@_bookadvertisement_bibkey_tl}. - \par - \bigskip - \citefrenchabstract{\g_@@_bookadvertisement_bibkey_tl} - \par - \medskip - % - \begin{center} - Prix~public~:\space - \EUR{\_@@_cite_public_price{\g_@@_bookadvertisement_bibkey_tl}} - \space\textendash\space Prix~membre~\smf{}~:\space - \EUR{\_@@_cite_smf_price{\g_@@_bookadvertisement_bibkey_tl}} - \space\textendash\space Frais~de~port~non~compris - \end{center} - % - \par - \bigskip - \begin{otherlanguage}{english} - \itshape - \_@@_cite_englishabstract{\g_@@_bookadvertisement_bibkey_tl} - % - \par - \medskip - % - \begin{center} - Public~price:\space - \EUR{\_@@_cite_public_price{\g_@@_bookadvertisement_bibkey_tl}} - \space\textendash\space \smf{}~member~price:\space - \EUR{\_@@_cite_smf_price{\g_@@_bookadvertisement_bibkey_tl}} - \space\textendash\space Shipping~costs~not~included - \end{center} - \end{otherlanguage} + \fullcite{#2} \par \bigskip - }{ \tcblower \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% - % \newline - % \smallskip - % % \begin{adjustbox}{valign=t,minipage=60mm} - % \l_@@_journal_address_tl - % % \end{adjustbox} - % \newline \par{} \smallskip% \url{\l_@@_journal_url_tl} @@ -5781,10 +6123,12 @@ This work consists of the file gzt.dtx \bool_if:NF {\g_@@_refsection_bool} { \begin{refsection} } - \tl_if_in:NnT - { \c_@@_advertisement_directory_string_tl } { #1 } {% - \newpage - \thispagestyle{@@_advertisement_ps} + \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} { @@ -5797,33 +6141,40 @@ This work consists of the file gzt.dtx } % \end{macrocode} % -% We automatically include the inside back cover and back cover pages at the end -% of the document, the former containing some condensed instructions to -% authors. But, this cannot be done within "\AtEndDocument" and -% "\preto\@enddocumenthook" should be used instead (see -% \url{http://tex.stackexchange.com/q/240318/18401}). +% If we don't ask the cover page (only), the inside back cover and back cover +% pages are automatically included at the end of the document, the former +% containing some condensed instructions to authors. But, this cannot be done +% within "\AtEndDocument" and "\preto\@enddocumenthook" should be used instead +% (see \url{http://tex.stackexchange.com/q/240318/18401}). % \begin{macrocode} -\bool_if:NF {\g_@@_inside_pages_bool} { - \preto\@enddocumenthook{ - \clearpage +\bool_if:NF {\g_@@_coverpage_bool} { + \bool_if:NF {\g_@@_inside_pages_bool} { + \preto\@enddocumenthook{ + \bool_gset_true:N \g_@@_backmatter_bool + \g_@@_display_inside_backcover_tl + \newpage + \g_@@_display_backcover_tl + }% + }% +}% % \end{macrocode} % -% The inside front cover and front cover pages are numbered \enquote{i} and -% \enquote{ii} hence the inside back cover and back cover pages are numbered -% \enquote{iii} and \enquote{iv}. +% 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} - \pagenumbering{roman}% - \addtocounter{page}{2} - \ifoddpage% - \hbox{} - \fi - \newpage - \bool_gset_true:N \g_@@_backmatter_bool - \g_@@_display_inside_backcover_tl - \newpage - \g_@@_display_backcover_tl - }% -}% +\bool_if:NF {\g_@@_coverpage_bool} { + \bool_if:nF { \g_@@_for_authors_bool } { + \bool_if:nT { \g_@@_inside_pages_bool } { + \AtEndDocument{% + \prg_replicate:nn + { \int_mod:nn { 4 - \int_mod:nn { \getpagerefnumber{LastPage} } { 4 } } { 4 } } + { \thispagestyle{@@_blank_pages_ps}\null\clearpage } + } + } + } +} % \end{macrocode} % % \begin{macrocode} @@ -5854,14 +6205,16 @@ This work consists of the file gzt.dtx } },% }% +% \end{macrocode} % +% \begin{macrocode} \ProcessKeysOptions { gztarticle } % \end{macrocode} % % \begin{macrocode} \AtEndDocument{% \bool_if:NT {\g_@@_multicols_bool} { - \end{multicols}% + \end{multicols}% } \bool_if:NT {\g_@@_refsection_bool} { \end{refsection} @@ -5908,11 +6261,22 @@ 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} -\DeclareNameFormat{firstinits-last}{% - \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% - \usebibmacro{name:andothers}% +\@ifpackagelater{biblatex}{2016/01/01}{% + \DeclareNameFormat{giveninits-last}{% + \nameparts{#1} + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix}% + } +}{ + \DeclareNameFormat{giveninits-last}{% + \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% + \usebibmacro{name:andothers}% + } } -\DeclareNameAlias{labelname}{firstinits-last} +\DeclareNameAlias{labelname}{giveninits-last} % \end{macrocode} % % We ensure the space between initial(s) and last name is unbreakable. @@ -6111,12 +6475,10 @@ This work consists of the file gzt.dtx colback=@@_bibliography_minibios_acknowledgments_bg_color, breakable, boxrule=\c_zero_dim, - drop~lifted~shadow=black, + extras~unbroken~and~last={drop~lifted~shadow}, sharp~corners=all,% skin=enhancedlast, - skin~first~is~subskin~of={enhancedmiddle}{no~shadow}, - skin~middle~is~subskin~of={enhancedmiddle}{no~shadow}, - skin~last~is~subskin~of={enhancedlast}{drop~lifted~shadow} + height~fixed~for=middle, } } \tcbset{% @@ -6174,7 +6536,7 @@ This work consists of the file gzt.dtx \addtolength{\skip\footins}{.25\baselineskip} % \end{macrocode} % -% We change the default horizontal space between coloumns in multicolumn mode. +% We change the default horizontal space between columns in multicolumn mode. % \begin{macrocode} \setlength{\columnsep}{7mm}% % \end{macrocode} @@ -6345,14 +6707,14 @@ This work consists of the file gzt.dtx % \cs_new_protected:Nn \_@@_clone_theorem:nn { - \NewDocumentEnvironment{#1}{ } + \NewDocumentEnvironment{#1}{} { \begin{#2} } { \end{#2} } - \NewDocumentEnvironment{#1*}{ } + \NewDocumentEnvironment{#1*}{} { \begin{#2*} } @@ -6384,19 +6746,19 @@ This work consists of the file gzt.dtx \cs_set_eq:NN \_@@_orig_arccos \arccos \cs_set_eq:NN \_@@_orig_arcsin \arcsin \cs_set_eq:NN \_@@_orig_arctan \arctan -\RenewDocumentCommand \arccos { } { +\RenewDocumentCommand \arccos {} { \IfLanguageName {french}{\Arccos}{\_@@_orig_arccos}% } -\RenewDocumentCommand \arcsin { } { +\RenewDocumentCommand \arcsin {} { \IfLanguageName {french}{\Arcsin}{\_@@_orig_arcsin}% } -\RenewDocumentCommand \arctan { } { +\RenewDocumentCommand \arctan {} { \IfLanguageName {french}{\Arctan}{\_@@_orig_arctan}% } \DeclareMathOperator{\ch}{ch} \DeclareMathOperator{\sh}{sh} \cs_set_eq:NN \_@@_orig_tanh \tanh -\RenewDocumentCommand \tanh { } { +\RenewDocumentCommand \tanh {} { \IfLanguageName {french}{\operatorname{th}}{\_@@_orig_tanh}% } \cs_set_eq:NN \_@@_orig_log \log @@ -6421,25 +6783,25 @@ This work consists of the file gzt.dtx } \cs_set_eq:NN \_@@_orig_leq \leq \cs_set_eq:NN \_@@_orig_geq \geq -\RenewDocumentCommand \le { } {% +\RenewDocumentCommand \le {} {% \IfLanguageName {french}{\leqslant}{\_@@_orig_leq}% } -\RenewDocumentCommand \leq { } {% +\RenewDocumentCommand \leq {} {% \IfLanguageName {french}{\leqslant}{\_@@_orig_leq}% } -\RenewDocumentCommand \ge { } {% +\RenewDocumentCommand \ge {} {% \IfLanguageName {french}{\geqslant}{\_@@_orig_geq}% } -\RenewDocumentCommand \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}} +\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 @@ -6668,6 +7030,34 @@ This work consists of the file gzt.dtx %</class-logo> % \end{macrocode} % +% \begin{macrocode} +%<*latexmkrc> +% \end{macrocode} +% +% \begin{macrocode} +$pdf_mode = 1; + +$bibtex_use = 1; +$bibtex = 'biber %O %B'; + +$makeindex = 'texindy -L french'; + +add_cus_dep('idx', 'ind', 0, 'texindy'); +sub texindy{ + system("texindy -L french \"$_[0].idx\""); +} + +push @generated_exts, "aux", "idx", "ind", "lo*", "out", "toc", "acn", "acr", +"alg", "bbl", "bcf", "fls", "gl*", "ist", "run.xml", "sbl*", "sl*", "sym*", +"xdy", "unq", "mw", "*~" ; + +$clean_ext = "synctex.gz* run.xml tex.bak bbl bcf fdb_latexmk run tdo listing" +% \end{macrocode} +% +% \begin{macrocode} +%</latexmkrc> +% \end{macrocode} +% % \subsection{Local language definitions for \Package{listings}} % % Now, we create some \file{lstlang0.sty} files where are extended @@ -6807,48 +7197,6 @@ This work consists of the file gzt.dtx %</class-lstlang0> % \end{macrocode} % -% \begin{macrocode} -%<*class-latexmkrc> -% \end{macrocode} -% -% \begin{macrocode} -$pdf_mode = 1; - -$bibtex_use = 1; -$bibtex = 'biber %O %B'; - -add_cus_dep('glo', 'gls', 0, 'makeindex'); -add_cus_dep('glo2', 'gls2', 0, 'makeglossaries'); -add_cus_dep('acn', 'acr', 0, 'makeglossaries'); -add_cus_dep('slo', 'sls', 0, 'makeglossaries'); -sub makeglossaries{ - system( "makeglossaries \"$_[0]\"" ); -} -sub makeindex{ - system( "makeindex -s gglo.ist -o \"$_[0].gls\" \"$_[0].glo\"" ); -} - -$makeindex = 'texindy -L french'; - -add_cus_dep('idx', 'ind', 0, 'texindy'); -sub texindy{ - system("texindy -L french \"$_[0].idx\""); -} - -@generated_exts = qw(aux idx ind lo* out toc acn acr alg bbl bcf fls gl* ist -run.xml sbl* sl* sym* xdy unq synctex.gz mw *~ - -$clean_ext = 'synctex.gz synctex.gz(busy) run.xml tex.bak bbl bcf fdb_latexmk run tdo listing' -db* listing tcbtemp ins drv -); -$postscript_mode = $dvi_mode = 0; -$quote_filenames = 0; -% \end{macrocode} -% -% \begin{macrocode} -%</class-latexmkrc> -% \end{macrocode} -% % \endinput % Local Variables: diff --git a/Master/texmf-dist/source/latex/gzt/gzt.ins b/Master/texmf-dist/source/latex/gzt/gzt.ins index 8105aa983b4..ca6d4b52d94 100644 --- a/Master/texmf-dist/source/latex/gzt/gzt.ins +++ b/Master/texmf-dist/source/latex/gzt/gzt.ins @@ -7,7 +7,7 @@ %% gzt.dtx (with options: `install') %% ----------------------------------------------------------------------------- %% gzt --- SMF bundle of classes for the French journal "La Gazette des -%% Math'ematiciens", version 0.9 +%% Math'ematiciens", version 0.95 %% %% E-mail: denis.bitouze@lmpa.univ-littoral.fr %% Released under the LaTeX Project Public License v1.3c or later @@ -16,7 +16,7 @@ \input l3docstrip.tex \Msg{********************************************************} \Msg{* Installation} -\Msg{* Class: gzt 2015/05/02 v0.9} +\Msg{* Class: gzt 2016/04/03 v0.95} \Msg{* for the French journal} \Msg{* "La Gazette des Math'ematiciens" (DB)} \Msg{********************************************************} @@ -25,7 +25,7 @@ \preamble ----------------------------------------------------------------------------- gzt --- SMF bundle of classes for the French journal "La Gazette des - Math'ematiciens", version 0.9 + Math'ematiciens", version 0.95 E-mail: denis.bitouze@lmpa.univ-littoral.fr Released under the LaTeX Project Public License v1.3c or later @@ -56,10 +56,11 @@ This work consists of the file gzt.dtx \def\GZT@classname{\jobname} \def\GZT@logo{\GZT@classname-logo} \def\GZT@addons{addons} +\def\GZT@documentation{documentation} \usedir{/} \generate{ \nopreamble\nopostamble - \file{README}{\from{\jobname.dtx}{readme}} + \file{README.md}{\from{\jobname.dtx}{readme}} }% \usedir{tex/latex/\GZT@classname} \generate{% |