summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/gzt
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-04-04 21:20:32 +0000
committerKarl Berry <karl@freefriends.org>2016-04-04 21:20:32 +0000
commit2973164cd6b8a0c3ce5fbabdeafb5cbe231e6827 (patch)
tree53fbdd5c6e0d9509bdc12c29c750829a0e0b18d5 /Master/texmf-dist/source/latex/gzt
parent9426e9b293fe6ebaddfc5b5238a27684ca6040e2 (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/gzt')
-rw-r--r--Master/texmf-dist/source/latex/gzt/gzt.drv37
-rw-r--r--Master/texmf-dist/source/latex/gzt/gzt.dtx1494
-rw-r--r--Master/texmf-dist/source/latex/gzt/gzt.ins9
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{%