summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/gzt/gzt.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/gzt/gzt.dtx')
-rw-r--r--Master/texmf-dist/source/latex/gzt/gzt.dtx526
1 files changed, 390 insertions, 136 deletions
diff --git a/Master/texmf-dist/source/latex/gzt/gzt.dtx b/Master/texmf-dist/source/latex/gzt/gzt.dtx
index 237977e4f98..45df0e4da48 100644
--- a/Master/texmf-dist/source/latex/gzt/gzt.dtx
+++ b/Master/texmf-dist/source/latex/gzt/gzt.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
-% File: gzt.dtx Copyright (C) 2014, 2015, 2016, 2017 by
-% Denis Bitouz'e <denis.bitouze@univ-littoral.fr>
+% File: gzt.dtx Copyright (C) 2014-2018 by
+% Denis Bitouz'e <denis.bitouze@univ-littoral.fr>
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -31,11 +31,11 @@ the French journal
- `gzt` for the complete issues of the journal, aimed for the Gazette's team,
- `gztarticle`, intended for the authors who wish to publish an article in the
Gazette. This class goal is to:
- - faithfully reproduce the layout of the Gazette, thus enabling the authors
- to be able to work their document in actual conditions,
- - provide a number of tools (commands and environments) to facilitate the
- drafting of documents, in particular those containing mathematical
- formulas.
+ - faithfully reproduce the layout of the Gazette, thus enabling the authors
+ to be able to work their document in actual conditions,
+ - provide a number of tools (commands and environments) to facilitate the
+ drafting of documents, in particular those containing mathematical
+ formulas.
# Copyright and Licence
@@ -45,11 +45,11 @@ Denis Bitouzé
## Release
-2017/02/15 v0.97
+2018/04/07 v0.98
## Copyright
-Copyright 2014-2017 Denis Bitouzé
+Copyright 2014-2018 Denis Bitouzé
## Licence
@@ -84,7 +84,7 @@ available
## Templates and samples
-`gzt` comes with a template attached to the the documentation above.
+`gzt` comes with a template attached to the documentation above.
## Questions and answers
@@ -115,7 +115,7 @@ Suggestions and bug reports are welcome.
% \input docstrip.tex
\Msg{********************************************************}
\Msg{* Installation}
-\Msg{* Class: gzt 2017/02/15 v0.97}
+\Msg{* Class: gzt 2018/04/07 v0.98}
\Msg{* for the French journal}
\Msg{* "La Gazette des Math'ematiciens" (DB)}
\Msg{********************************************************}
@@ -124,7 +124,7 @@ Suggestions and bug reports are welcome.
\preamble
-----------------------------------------------------------------------------
gzt --- SMF bundle of classes for the French journal "La Gazette des
- Math'ematiciens", version 0.97
+ Math'ematiciens", version 0.98
E-mail: denis.bitouze@univ-littoral.fr
Released under the LaTeX Project Public License v1.3c or later
@@ -157,11 +157,6 @@ This work consists of the file gzt.dtx
\def\GZT@classname{\jobname}
\def\GZT@logo{\GZT@classname-logo}
\def\GZT@addons{addons}
-\usedir{.}
-\generate{
- \nopreamble\nopostamble
- \file{README.md}{\from{\jobname.dtx}{readme}}
-}%
\usedir{tex/latex/\GZT@classname}
\generate{%
\file{\GZT@classname.cls}{\from{\jobname.dtx}{class}}
@@ -214,6 +209,8 @@ This work consists of the file gzt.dtx
% \changes{v0.95b}{2016/10/24}{Fourth CTAN version}%
% \changes{v0.96}{2017/01/01}{Fifth CTAN version}%
% \changes{v0.97}{2017/02/15}{Sixth CTAN version}%
+% \changes{v0.98}{2018/04/07}{Seventh CTAN version. Implementation of special
+% editions.}%
%
% \CheckSum{4413}
%
@@ -740,8 +737,8 @@ This work consists of the file gzt.dtx
\ProvidesExplClass
%<class> {gzt}
%<class-article> {gztarticle}
- {2017/02/15}
- {0.97}
+ {2018/04/07}
+ {0.98}
{
SMF~class~for~the~French~journal^^J
"La~Gazette~des~Math'ematiciens".
@@ -757,10 +754,14 @@ This work consists of the file gzt.dtx
% \section{Class loading}
%
% \begin{macrocode}
+\bool_new:N \g_@@_special_edition_bool
\bool_new:N \g_@@_for_authors_bool
+\bool_new:N \g_@@_for_printer_bool
\bool_new:N \g_@@_cover_bool
\bool_new:N \g_@@_coverpage_bool
\bool_new:N \g_@@_inside_pages_bool
+%
+\bool_new:N \g_@@_no_inside_backcover_bool
%<class-article>\bool_gset_true:N \g_@@_for_authors_bool%
%<class-article>\bool_gset_true:N \g_@@_inside_pages_bool%
% \end{macrocode}
@@ -783,12 +784,15 @@ This work consists of the file gzt.dtx
% We define some class options:
% \begin{itemize}
% \item "pagegrid" in order to draw a grid on each page, in order to check the
-% layout (most debugging purpose),
+% layout (mostly for debugging purpose),
% \item ...
% \end{itemize}
%
% \begin{macrocode}
\tl_gset:Nn \g_@@_frontcover_image_file_tl {\c_@@_issue_frontcover_default_image_file_tl}
+\tl_gset:Nn \g_@@_special_edition_color_tl {@@_default_cover_color}
+\clist_new:N \g_@@_special_edition_logos_clist
+%
\keys_define:nn { gzt }
{
pagegrid .dim_gset:N = \g_@@_pagegrid_dim,
@@ -817,6 +821,35 @@ This work consists of the file gzt.dtx
},%
output / web .code:n = {%
},%
+ specialedition .code:n = {
+ \bool_gset_true:N \g_@@_special_edition_bool
+ \bool_gset_true:N \g_@@_frontcover_without_minitoc_bool
+ \keys_set:nn { gzt / specialedition } {#1}
+ },
+ specialedition / color .code:n = {%
+ \tl_gset:Nn \g_@@_special_edition_color_tl {#1}
+ },%
+ specialedition / minitoc .code:n = {%
+ \bool_gset_false:N \g_@@_frontcover_without_minitoc_bool
+ },%
+ specialedition / logos .code:n = {%
+ \clist_gset:Nn \g_@@_special_edition_logos_clist {#1}
+ },%
+ specialedition / backcover~image .code:n = {%
+ \tl_gset:Nn \g_@@_special_edition_backcover_image_tl {#1}
+ },%
+ specialedition / title .code:n = {%
+ \tl_gset:Nn \g_@@_special_edition_title_tl {#1}
+ },%
+ specialedition / short~title .code:n = {%
+ \tl_gset:Nn \g_@@_special_edition_short_title_tl {#1}
+ },%
+ specialedition / editorial~heading .code:n = {%
+ \tl_gset:Nn \g_@@_special_edition_editorial_heading_tl {#1}
+ },%
+ specialedition / editorial~author .code:n = {%
+ \_@@_people:nnnnnnnn {#1}{}{}{}{}{}{editorinchief}{}
+ },%
}%
% \end{macrocode}
%
@@ -1032,7 +1065,7 @@ This work consists of the file gzt.dtx
%
% \item Support for using RSFS fonts in maths:
% \begin{macrocode}
-\RequirePackage{mathrsfs}
+\RequirePackage{rsfso}
% \end{macrocode}
%
% \item Vector arrows:
@@ -1132,11 +1165,6 @@ This work consists of the file gzt.dtx
\RequirePackage{tikzpagenodes}
% \end{macrocode}
%
-% \item Tools for drawing Euclidean geometry:
-% \begin{macrocode}
-%<class>\RequirePackage{tkz-euclide}
-% \end{macrocode}
-%
% \item Print page grid in background:
% \begin{macrocode}
%<class>\RequirePackage[foreground]{pagegrid}%
@@ -1223,6 +1251,10 @@ This work consists of the file gzt.dtx
~`\int_use:N\c_@@_first_issue_number_int'.}
\msg_new:nnnn{gzt}{unknown-choice}{Choice~`#3'~invalid!}
{Please~specify~#1=#2.}
+%<class>\msg_new:nnnn{gzt}{configuration-file-missing}{File~`\c_@@_configuration_file_string_tl'~missing!}
+%<class> {The~ whole~ issue~ may~ not~ be~ conform~ if~ `\c_@@_configuration_file_string_tl'~ is~ missing.}
+%<class>\msg_new:nnnn{gzt}{editorial-file-missing}{File~`\c_@@_editorial_file_string_tl'~missing!}
+%<class> {The~ whole~ issue~ requires~ the~ `\c_@@_editorial_file_string_tl'~ file.}
% \end{macrocode}
%
% \section{Counters}
@@ -1310,7 +1342,7 @@ This work consists of the file gzt.dtx
% \begin{macro}{\c_@@_configuration_file_string_tl}
% \begin{macro}{\c_@@_cover_string_tl}
% \begin{macro}{\c_@@_artistic_director_string_tl}
-% \begin{macro}{\c_@@_editorial_string_tl}
+% \begin{macro}{\c_@@_editorial_heading_string_tl}
% \begin{macro}{\c_@@_toc_string_tl}
% \begin{macro}{\c_@@_message_string_tl}
% \begin{macro}{\c_@@_president_signatory_string_tl}
@@ -1358,6 +1390,10 @@ This work consists of the file gzt.dtx
% \begin{macrocode}
\tl_const:Nn \c_@@_editorial_board_string_tl {Comit\'e~de~r\'edaction}
% \end{macrocode}
+% For the editorial board of special_edition.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_special_edition_editorial_board_string_tl {Num\'ero~sp\'ecial~de~la~Gazette~des~Math\'ematiciens~sous~la~direction~de~:}
+% \end{macrocode}
% For the editorial_secretariat.
% \begin{macrocode}
\tl_const:Nn \c_@@_editorial_secretariat_string_tl {Secr\'etariat~de~r\'edaction}
@@ -1404,7 +1440,13 @@ This work consists of the file gzt.dtx
% \end{macrocode}
% For the editorial.
% \begin{macrocode}
-\tl_const:Nn \c_@@_editorial_string_tl {\'Editorial}
+\AtEndPreamble{
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \tl_const:Nn \c_@@_editorial_heading_string_tl {Avant-propos}
+ }{
+ \tl_const:Nn \c_@@_editorial_heading_string_tl {\'Editorial}
+ }
+}
% \end{macrocode}
% For the editor in chief.
% \begin{macrocode}
@@ -1430,16 +1472,37 @@ This work consists of the file gzt.dtx
% \begin{macrocode}
\tl_const:Nn \c_@@_president_message_date_string_tl {Le~}
% \end{macrocode}
+% For the special editions.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_special_edition_string_tl {\c_space_tl{}sp{\'e}cial}
+\tl_const:Nn \c_@@_long_special_edition_string_tl {Numéro\c_@@_special_edition_string_tl}%
+\tl_const:Nn \c_@@_short_special_edition_string_tl {\No{}\c_@@_special_edition_string_tl}%
+% \end{macrocode}
% For the front cover header text.
% \begin{macrocode}
-\tl_const:Nn \c_@@_frontcover_header_string_tl {
- \l_@@_uppercased_date_format\displaydate{@@_date}
- \c_space_tl
- \textendash{}
- \c_space_tl
- \No\int_use:N\g_@@_issue_number_int%
+\AtEndPreamble{
+ \tl_const:Nn \c_@@_frontcover_header_string_tl {
+ \bool_if:NT {\g_@@_special_edition_bool} {
+ \tl_upper_case:n {\c_@@_long_special_edition_string_tl}
+ \medskip
+ \par
+ \normalsize
+ }
+ \l_@@_uppercased_date_format\displaydate{@@_date}
+ \bool_if:NF {\g_@@_special_edition_bool} {
+ \c_space_tl
+ \textendash{}
+ \c_space_tl
+ \No
+ \int_use:N\g_@@_issue_number_int%
+ }
+ }
}
% \end{macrocode}
+% For the graphics extensions.
+% \begin{macrocode}
+\clist_const:Nn \c_@@__graphics_extensions_clist {png,PNG,jpg,JPG,jpeg,JPEG,pdf,PDF}
+% \end{macrocode}
% For the pdftitle text.
% \begin{macrocode}
\tl_const:Nn \c_@@_pdftitle_string_tl {
@@ -1451,7 +1514,14 @@ This work consists of the file gzt.dtx
\c_space_tl
\textendash{}
\c_space_tl
- N°\int_use:N\g_@@_issue_number_int
+ N°
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \c_@@_special_edition_string_tl
+ \c_space_tl
+ \g_@@_special_edition_title_tl
+ }{
+ \int_use:N\g_@@_issue_number_int
+ }
}
% \end{macrocode}
% For the name of the directory containing the editorial and the president message.
@@ -1489,6 +1559,16 @@ This work consists of the file gzt.dtx
\tl_const:Nn \c_@@_issue_backcover_text_file_string_tl {backcover}
\tl_const:Nn \c_@@_backcover_page_file_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_issue_backcover_text_file_string_tl}
% \end{macrocode}
+% For the name of the file containing the text of the special issue's abstract back cover.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_special_edition_backcover_text_file_string_tl {abstract_backcover}
+\tl_const:Nn \c_@@_special_edition_backcover_page_file_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_text_file_string_tl}
+% \end{macrocode}
+% For the name of the file of the special issue's picture back cover.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_special_edition_backcover_picture_string_tl {picture_backcover}
+\tl_const:Nn \c_@@_special_edition_backcover_page_picture_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_special_edition_backcover_picture_string_tl}
+% \end{macrocode}
% For the name of the file containing the acronyms.
% \begin{macrocode}
\tl_const:Nn \c_@@_acronyms_file_string_tl {\c_@@_class_name_tl acronyms}
@@ -1615,9 +1695,11 @@ This work consists of the file gzt.dtx
%<class> {
%<class> \c_space_tl\textendash{}\c_space_tl
%<class> \l_@@_uppercased_date_format\displaydate{@@_date}
-%<class> \c_space_tl
-%<class> \textendash{}\c_space_tl
-%<class> \textcolor{@@_smf_number_color}{\No\int_use:N\g_@@_issue_number_int}
+%<class> \bool_if:NF {\g_@@_special_edition_bool} {
+%<class> \c_space_tl
+%<class> \textendash{}\c_space_tl
+%<class> \textcolor{@@_smf_number_color}{\No\int_use:N\g_@@_issue_number_int}
+%<class> }
%<class> }
}
}
@@ -1639,7 +1721,11 @@ This work consists of the file gzt.dtx
% \end{macrocode}
% For the prefix of the bibliographic key of each article.
% \begin{macrocode}
-\tl_const:Nn \c_@@_issue_bib_key_tl {\int_use:N \g_@@_issue_number_int}
+\bool_if:NTF {\g_@@_special_edition_bool} {
+ \tl_const:Nn \c_@@_issue_bib_key_tl {\int_use:N \g_@@_issue_number_int}
+}{
+ \tl_const:Nn \c_@@_issue_bib_key_tl {special-edition}
+}
% \end{macrocode}
% For the interview title.
% \begin{macrocode}
@@ -1708,6 +1794,7 @@ This work consists of the file gzt.dtx
\bool_new:N \g_@@_mainmatter_bool
\bool_new:N \g_@@_backmatter_bool
\bool_new:N \g_@@_backcover_bool
+\bool_new:N \g_@@_frontcover_without_minitoc_bool
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2162,7 +2249,8 @@ This work consists of the file gzt.dtx
,top=\c_@@_topmargin_frontcover_dim
,headsep=\c_@@_headsep_frontcover_dim
,headheight=\c_@@_headheight_dim
- ,bottom=\c_zero_dim
+ % ,bottom=\c_zero_dim
+ ,bottom=11mm
,footskip=\c_zero_dim
,outer=\c_zero_dim
,inner=\c_@@_potential_layoutoffset_dim
@@ -2176,7 +2264,8 @@ This work consists of the file gzt.dtx
,top=\c_@@_topmargin_frontcover_dim
,headsep=\c_@@_headsep_frontcover_dim
,headheight=\c_@@_headheight_dim
- ,bottom=\c_zero_dim
+ % ,bottom=\c_zero_dim
+ ,bottom=11mm
,footskip=\c_zero_dim
,hmargin=\c_@@_potential_layoutoffset_dim
,nomarginpar%
@@ -2265,6 +2354,9 @@ This work consists of the file gzt.dtx
% ,footskip=\c_@@_footskip_dim
,inner=\c_@@_innermargin_backcover_dim
,outer=\c_@@_outermargin_backcover_dim
+ ,nomarginpar
+ ,hcentering
+ ,twoside=false
}
% \end{macrocode}
%
@@ -2700,7 +2792,7 @@ This work consists of the file gzt.dtx
\colorlet{@@_default_text_color}{black}
\colorlet{@@_head_text_color}{black!65}
\colorlet{@@_rubric_head_text_color}{@@_head_text_color}
-\colorlet{@@_bibliography_minibios_acknowledgments_bg_color}{black!10}
+\colorlet{@@_bibliography_minibios_acknowledgements_bg_color}{black!10}
\colorlet{@@_headrule_color}{@@_generic_light_color!65}
\colorlet{@@_circlerule_color}{@@_generic_dark_color!65}
\colorlet{@@_frontmatter_text_color}{black!75}
@@ -2735,6 +2827,7 @@ This work consists of the file gzt.dtx
\colorlet{@@_book_review_frame_bg_color}{@@_generic_dark_color!8}
\colorlet{@@_book_advertisement_bg_color}{white}
\colorlet{@@_book_advertisement_frame_color}{@@_generic_dark_color}
+\colorlet{@@_default_cover_color}{white}
% \end{macrocode}
%
% \begin{macrocode}
@@ -2748,7 +2841,7 @@ This work consists of the file gzt.dtx
% \section{Miscellaneous patches}
%
% We patch the \pkg{biblatex}'s "refsection" environment definition by adding
-% a flag hat will be used to test wheter we are inside such an environment or
+% a flag that will be used to test wheter we are inside such an environment or
% not.
% \begin{macrocode}
\AtBeginEnvironment{multicols}{
@@ -3156,6 +3249,7 @@ This work consists of the file gzt.dtx
\bool_gset_true:N \g_@@_frontcover_bool
\pagenumbering{roman}%
\pagestyle{@@_frontcover_ps}%
+ \pagecolor{\g_@@_special_edition_color_tl}
\exp_after:wN\newgeometry\exp_after:wN{\c_@@_frontcover_geometry_tl}%
\noindent%
\bool_if:NTF {\g_@@_cover_bool} {
@@ -3167,14 +3261,14 @@ This work consists of the file gzt.dtx
\begin{tikzpicture}[remember~picture, overlay]
\coordinate (@@_circle_minitoc_center) at
([xshift=\g_@@_minitoc_xshift_dim-\c_@@_potential_layoutoffset_dim,yshift=\g_@@_minitoc_yshift_dim+\c_@@_potential_layoutoffset_dim]current~page.south~east) ;
- \node[name=@@_circle_minitoc,shape=circle,inner~sep=\c_zero_dim,fill=white,text~width=\g_@@_minitoc_circle_diameter_dim] at
+ \node[name=@@_circle_minitoc,shape=circle,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,text~width=\g_@@_minitoc_circle_diameter_dim] at
(@@_circle_minitoc_center) {};
\node[text~width=\g_@@_minitoc_textwidth_dim,anchor=north~west] at
([xshift=\c_@@_minitoc_from_circle_xshift_dim,yshift=\c_@@_minitoc_from_circle_yshift_dim]$ (@@_circle_minitoc.north)!.5!(@@_circle_minitoc.west) $)
{
- \large
- \color{@@_minitoc_color}
- \bool_if:NF {\g_@@_frontcover_minitoc_tl} {
+ \bool_if:NF {\g_@@_frontcover_without_minitoc_bool} {
+ \large
+ \color{@@_minitoc_color}
\g_@@_frontcover_minitoc_tl
}
};
@@ -3185,15 +3279,28 @@ This work consists of the file gzt.dtx
\bool_if:NT {\g_@@_cover_bool} {
\small
\begin{tikzpicture}[remember~picture, overlay]
- \node[name=@@_binding_sw,inner~sep=\c_zero_dim,fill=white,rotate=90,anchor=west] at
+ \node[name=@@_binding_sw,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90,anchor=west] at
([xshift=0.45\c_@@_potential_bindingoffset_dim,yshift=15mm+\c_@@_potential_layoutoffset_dim]current~page.south~west) {
- \No\int_use:N\g_@@_issue_number_int
+ \No
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \c_@@_special_edition_string_tl
+ }{
+ \int_use:N\g_@@_issue_number_int
+ }
};
- \node[name=@@_binding_w,inner~sep=\c_zero_dim,fill=white,rotate=90] at
+ \node[name=@@_binding_w,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90] at
([xshift=0.45\c_@@_potential_bindingoffset_dim]current~page.west) {
- \MakeUppercase{\c_@@_journal_title_string_tl}
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \tl_if_exist:NTF \g_@@_special_edition_short_title_tl {%
+ \g_@@_special_edition_short_title_tl
+ }{
+ \g_@@_special_edition_title_tl
+ }
+ }{
+ \MakeUppercase {\c_@@_journal_title_string_tl}
+ }
};
- \node[name=@@_binding_nw,inner~sep=\c_zero_dim,fill=white,rotate=90,anchor=east] at
+ \node[name=@@_binding_nw,inner~sep=\c_zero_dim,fill=\g_@@_special_edition_color_tl,rotate=90,anchor=east] at
([xshift=0.45\c_@@_potential_bindingoffset_dim,yshift=-15mm-\c_@@_potential_layoutoffset_dim]current~page.north~west) {
\l_@@_uppercased_date_format\displaydate{@@_date}
};
@@ -3204,9 +3311,15 @@ This work consists of the file gzt.dtx
\hspace*{10mm}%
\hspace*{-\c_@@_potential_layoutoffset_dim}
\includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}%
- \vfill%
+ \bool_if:NT {\g_@@_special_edition_bool} {
+ \hfill
+ \includegraphics[scale=1.2]{gzt-logo}
+ \hspace*{10mm}
+ }
+ % \vfill%
\clearpage%
\bool_gset_false:N \g_@@_frontcover_bool
+ \nopagecolor
}
% \end{macrocode}
%
@@ -3225,18 +3338,24 @@ This work consists of the file gzt.dtx
\begin{_@@_inside_cover_tcb}[_@@_tcb_inside_frontcover_style]
\begin{multicols}{2}
\setlength{\columnsep}{1mm}
- \begin{description}[leftmargin=1em]
- \item[\c_@@_editors_in_chief_string_tl] \
- \begin{description}[leftmargin=1em,style=nextline]
- \@@_display_people_by_role:n {editorinchief}
- \end{description}
- \bigskip
- \par
- \item[\c_@@_editors_string_tl] \
+ \bool_if:NTF {\g_@@_special_edition_bool} {
\begin{description}[leftmargin=1em,style=nextline]
\@@_display_people_by_role:n {editor}
\end{description}
- \end{description}
+ }{%
+ \begin{description}[leftmargin=1em]
+ \item[\c_@@_editors_in_chief_string_tl] \
+ \begin{description}[leftmargin=1em,style=nextline]
+ \@@_display_people_by_role:n {editorinchief}
+ \end{description}
+ \bigskip
+ \par
+ \item[\c_@@_editors_string_tl] \
+ \begin{description}[leftmargin=1em,style=nextline]
+ \@@_display_people_by_role:n {editor}
+ \end{description}
+ \end{description}
+ }
\end{multicols}
\setlength{\columnseprule}{1pt}
\tcblower
@@ -3321,10 +3440,10 @@ This work consists of the file gzt.dtx
}{%
\small%
\begin{_@@_inside_cover_tcb}[_@@_tcb_inside_backcover_style]
- \file_if_exist:nT { \c_@@_authors_instructions_file_tl } {%
+ \bool_if:NF {\g_@@_special_edition_bool} {
% \begin{multicols}{2}
% \setlength{\columnsep}{1mm}
- \file_input:n {\c_@@_authors_instructions_file_tl}
+ \file_if_exist_input:n {\c_@@_authors_instructions_file_tl}
% \end{multicols}
% \setlength{\columnseprule}{1pt}
\tcblower
@@ -3351,11 +3470,45 @@ This work consists of the file gzt.dtx
\tl_gset:Nn \g_@@_display_backcover_tl {%
\bool_gset_true:N \g_@@_backcover_bool
\pagestyle{@@_backcover_ps}%
+ \pagecolor{\g_@@_special_edition_color_tl}
\exp_after:wN\newgeometry\exp_after:wN{\c_@@_backcover_geometry_tl}%
- \file_if_exist:nTF { \c_@@_backcover_page_file_string_tl } {%
- \file_input:n {\c_@@_backcover_page_file_string_tl}
- }{%
- \hbox{}
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \mbox{}
+ \vfill
+ \clist_map_inline:Nn \c_@@__graphics_extensions_clist{
+ \file_if_exist:nT {\c_@@_issue_images_path_string_tl/\g_@@_special_edition_backcover_image_tl.#1} {
+ \begin{center}
+ \includegraphics[width=.25\linewidth]{\g_@@_special_edition_backcover_image_tl}
+ \end{center}
+ \bigskip
+ \clist_map_break:
+ }
+ }
+ \group_begin:
+ \leftskip.125\linewidth
+ \rightskip\leftskip
+ \file_if_exist_input:nF {\c_@@_special_edition_backcover_page_file_string_tl}
+ {%
+ \c_empty_box
+ }
+ \par
+ \group_end:
+ \vfill
+ \clist_if_empty:NF \g_@@_special_edition_logos_clist {
+ \vfill
+ \noindent
+ \clist_map_inline:Nn \g_@@_special_edition_logos_clist {
+ \hfill
+ \includegraphics[height=2cm]{#1}
+ \hfill
+ }
+ \mbox{}
+ }
+ }{
+ \file_if_exist_input:nF {\c_@@_backcover_page_file_string_tl}
+ {%
+ \hbox{}
+ }
}
}
% \end{macrocode}
@@ -3437,7 +3590,6 @@ This work consists of the file gzt.dtx
% \end{macrocode}
%
% Its keys are set (only "number", "month" and "year" are relevant here).
-% \begin{macrocode}
\keys_set:nn { gzt/issuesetup } {frontcoverimageoptions={width=\c_@@_frontcover_image_width_dim},#1}
% \end{macrocode}
%
@@ -3509,6 +3661,18 @@ This work consists of the file gzt.dtx
% \end{macrocode}
% \end{macro}
%
+% \subsection{Special edition setup}
+%
+% \begin{macro}{\specialeditionsetup}
+% We define the command that lets the user specify the special edition setup.
+% \begin{macrocode}
+\NewDocumentCommand \specialeditionsetup { m } {
+ \bool_gset_true:N \g_@@_special_edition_bool
+ \bool_gset_true:N \g_@@_frontcover_without_minitoc_bool
+ \keys_set:nn { gzt/specialedition } {#1}
+}
+% \end{macrocode}
+%
% \subsection{Journal setup}
%
% \begin{macro}{\journalsetup}
@@ -3883,7 +4047,9 @@ This work consists of the file gzt.dtx
\int_zero:N \g_@@_item_in_rubric_int
\phantomsection
\par
- \addcontentsline{toc}{part}{\g_@@_rubric_title_tl}
+ \bool_if:NF {\g_@@_special_edition_bool} {
+ \addcontentsline{toc}{part}{\g_@@_rubric_title_tl}
+ }
\thispagestyle{@@_rubric_ps}
\exp_after:wN\newgeometry\exp_after:wN{\c_@@_main_geometry_tl}%
\tl_if_empty:NTF \g_@@_rubric_abstract_tl
@@ -4066,9 +4232,9 @@ This work consists of the file gzt.dtx
% \end{macrocode}
%
% We force all the previous floats to be processed before a new article starts
-% (this is already done in "bibliography_minibiographies_acknowledgments"
+% (this is already done in "bibliography_minibiographies_acknowledgements"
% environment but is repeated here if what is before provides floats but neither
-% bibliography, \textsc{cv} nor acknowledgments).
+% bibliography, \textsc{cv} nor acknowledgements).
% \begin{macrocode}
\FloatBarrier%
% \end{macrocode}
@@ -4454,34 +4620,47 @@ This work consists of the file gzt.dtx
% \end{macrocode}
% \end{macro}
%
+% 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}
+%
+% \begin{macrocode}
+%</class|class-article>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class>
+% \end{macrocode}
+%
% In case of "forauthors" option, we close the "multicols" environment in case
% it isn't closed (which happens if neither "\printbibliography" nor
% "\printauthorsdetails" is used). This should fix issue
% \url{https://github.com/dbitouze/gzt/issues/36}.
% \begin{macrocode}
-%<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
-% instead of begin of the document in order some settings needed in preamble are
-% taken in account.
-% \begin{macrocode}
-\AtEndPreamble{\file_input:n {\c_@@_configuration_file_string_tl}}
+\bool_if:nT { \g_@@_for_authors_bool }
+{
+ \AtEndDocument{%
+ \bool_if:NT {\g_@@_multicols_bool} {
+ \end{multicols}%
+ }
+ }
+}
% \end{macrocode}
%
-% We load the file where acronyms are defined.
+% We load the configuration file (only for the issue's class), which has to be
+% located in the \TeX{} search path: at least one such a file is provided by the
+% class and located in the same directory as the class file. This file is loaded
+% at the end of preamble instead of begin of the document in order some settings
+% needed in preamble are taken in account.
% \begin{macrocode}
-\file_if_exist:nT { \c_@@_acronyms_file_string_tl } {%
- \AtEndPreamble{\loadglsentries{\c_@@_acronyms_file_string_tl}}
+\AtEndPreamble{
+ \file_if_exist_input:nF {\c_@@_configuration_file_string_tl}
+ {
+ \msg_error:nn { gzt } { configuration-file-missing }
+ }
}
% \end{macrocode}
%
@@ -4563,10 +4742,15 @@ This work consists of the file gzt.dtx
\end{adjustbox}%
}%
}%
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \tl_set:Nn \l_tmpa_tl {\c_@@_short_special_edition_string_tl}
+ }{
+ \tl_set:Nn \l_tmpa_tl {\No\int_use:N\g_@@_issue_number_int}
+ }
\begin{adjustbox}{valign=t}
\begin{tcolorbox}[%
enhanced,%
- title=\No\int_use:N \g_@@_issue_number_int,%
+ title=\l_tmpa_tl,%\int_use:N \g_@@_issue_number_int,%
fonttitle=\Large,%
colback=white,%
sharp~corners=all,%
@@ -4631,33 +4815,49 @@ This work consists of the file gzt.dtx
%
% We create an internal function that displays the editorial.
% \begin{macrocode}
-\cs_new_protected:Nn \_@@_before_display_editorial:
+\cs_new_protected:Nn \_@@_before_display_editorial:n
{
- \_@@_before_editorial_presidentmessage:nn {}{\c_@@_editorial_string_tl}
+ \_@@_before_editorial_presidentmessage:nn {}{#1}
}
\cs_new_protected:Nn \_@@_after_display_editorial:
{
\_@@_after_editorial_presidentmessage: {}
\hspace*{\fill}%
- \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{editorinchief}]{people}{%
- \l_@@_firstlastname=first-last-name%
- ,\l_@@_people_role_tl=role%
- }{%
- \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -editorinchief- \exp_not:V\DTLcurrentindex}%
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \AtNextCitekey{\defcounter{maxnames}{100}}
+ \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -editorinchief- 1}
+ }{
+ \DTLforeach*[\DTLiseq{\l_@@_people_role_tl}{editorinchief}]{people}{%
+ \l_@@_firstlastname=first-last-name%
+ ,\l_@@_people_role_tl=role%
+ }{%
+ \_@@_citeauthor_no_firstinits:n {\c_@@_issue_bib_key_tl -editorinchief- \exp_not:V\DTLcurrentindex}%
+ }
}
%
\_@@_after_frontmatter_stuff: {}
}
-\cs_new_protected:Nn \_@@_display_editorial:
+\cs_new_protected:Nn \_@@_display_editorial:n
{
- \_@@_before_display_editorial: {}
- \file_input:n {\c_@@_editorial_file_string_tl}
+ \_@@_before_display_editorial:n {#1}
+ \file_if_exist_input:nF {\c_@@_editorial_file_string_tl}
+ {%
+ \msg_error:nn { gzt } { editorial-file-missing }
+ }
\_@@_after_display_editorial: {}
}
-\NewDocumentCommand \editorial {}
-{
- \bool_if:NF {\g_@@_for_authors_bool} {
- \_@@_display_editorial: {}
+\AtEndPreamble{%
+ \tl_set_eq:NN \g_@@_editorial_heading_tl \c_@@_editorial_heading_string_tl
+ \bool_if:NT {\g_@@_special_edition_bool} {
+ \tl_if_empty:NF \g_@@_special_edition_editorial_heading_tl {%
+ \tl_set_eq:NN \g_@@_editorial_heading_tl \g_@@_special_edition_editorial_heading_tl
+ }
+ }
+ \NewDocumentCommand \editorial { O{\g_@@_editorial_heading_tl} }
+ {
+ \bool_if:NF {\g_@@_for_authors_bool} {
+ \_@@_display_editorial:n {#1}
+ }
}
}
% \end{macrocode}
@@ -4672,7 +4872,11 @@ This work consists of the file gzt.dtx
\@@_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}
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \bookmark[dest=@@_toc,level=chapter]{\c_@@_toc_string_tl}
+ }{
+ \bookmark[dest=@@_toc,level=part]{\c_@@_toc_string_tl}
+ }
\etocsettocdepth.toc{chapter}%
\tableofcontents
\the\toctabletok
@@ -4764,6 +4968,14 @@ This work consists of the file gzt.dtx
}
% \end{macrocode}
%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class|class-article>
+% \end{macrocode}
+%
% \section{Chapter, sections, etc. customization}
%
% Thanks to \Pkg{titlesec}, the chapter, section, subsection and subsubsection
@@ -4832,7 +5044,7 @@ This work consists of the file gzt.dtx
% \begin{itemize}
% \item set the graphic path,
% \item set the page grid if the corresponding option has been passed,
-% \item display of the front cover and the inside front cover.
+% \item display the front cover and the inside front cover.
% \end{itemize}
%
% \begin{macrocode}
@@ -4932,7 +5144,11 @@ This work consists of the file gzt.dtx
% \begin{macrocode}
\tl_new:N \l_@@_frontmatter_head_text_tl
\tl_set:Nn \l_@@_frontmatter_head_text_tl {%
- \includegraphics{gzt-logo}
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \g_@@_special_edition_title_tl
+ }{
+ \includegraphics{gzt-logo}
+ }
}
% \end{macrocode}
%
@@ -4976,6 +5192,11 @@ This work consists of the file gzt.dtx
xshift=\c_@@_frontmatter_headtext_o_xshift_dim,%
yshift=\c_@@_frontmatter_headtext_yshift_dim%
]current~page.north~east) {%
+ \Large
+ \bool_if:NT {\g_@@_special_edition_bool} {
+ \c_@@_short_special_edition_string_tl
+ \c_space_tl
+ }
\l_@@_frontmatter_head_text_tl
}%
;
@@ -4991,6 +5212,11 @@ This work consists of the file gzt.dtx
xshift=\c_@@_frontmatter_headtext_e_xshift_dim,%
yshift=\c_@@_frontmatter_headtext_yshift_dim%
]current~page.north~west) {%
+ \Large
+ \bool_if:NT {\g_@@_special_edition_bool} {
+ \c_@@_short_special_edition_string_tl
+ \c_space_tl
+ }
\l_@@_frontmatter_head_text_tl
}%
;
@@ -5140,6 +5366,10 @@ This work consists of the file gzt.dtx
\c_@@_frontcover_header_string_tl
}\\[7mm]
\adjustbox{scale=2.08}{
+ \huge
+ \bool_if:NT {\g_@@_special_edition_bool} {
+ \color{@@_generic_dark_color}
+ }
\l_@@_frontmatter_head_text_tl
}%
}%
@@ -5525,10 +5755,10 @@ This work consists of the file gzt.dtx
% \end{macrocode}
% We force all the previous floats to be processed no later on the page
% following the beginning of the bibliography, \textsc{cv} or
-% acknowledgments.
+% acknowledgements.
% \begin{macrocode}
\FloatBarrier%
- \begin{_@@_minibiographies_acknowledgments_tcbox}
+ \begin{_@@_minibiographies_acknowledgements_tcbox}
\@@_display_people_by_role:n { author-art-\int_use:N \g_@@_articles_int }
\tl_if_empty:NF \g_@@_article_acknowledgements_tl
{%
@@ -5539,7 +5769,7 @@ This work consists of the file gzt.dtx
\g_@@_article_acknowledgements_tl
\end{adjustbox}
}
- \end{_@@_minibiographies_acknowledgments_tcbox}
+ \end{_@@_minibiographies_acknowledgements_tcbox}
\bool_gset_true:N \g_@@_previous_article_with_bibliography_or_minibio_bool
%
\tl_gclear:N \g_@@_people_affiliation_tl
@@ -5571,7 +5801,7 @@ This work consists of the file gzt.dtx
% \item beforehand quit the multicolumn environment and enter in the
% "_@@_bibliography_tcbox" environment (which gives a special layout to
% bibliographies, \textsc{cv} and acknowledgements),
-% \item afterwards quit the "bibliography_minibiographies_acknowledgments" environment and enter in
+% \item afterwards quit the "bibliography_minibiographies_acknowledgements" environment and enter in
% the multicolumn environment.
% \end{itemize}
% \begin{macrocode}
@@ -5583,7 +5813,7 @@ This work consists of the file gzt.dtx
% \end{macrocode}
% We force all the previous floats to be processed no later on the page
% following the beginning of the bibliography, \textsc{cv} or
-% acknowledgments.
+% acknowledgements.
% \begin{macrocode}
% \afterpage{%
\FloatBarrier%
@@ -5720,11 +5950,22 @@ This work consists of the file gzt.dtx
% \end{macrocode}
%
% \begin{macro}{\rubric}
-% For a \enquote{free} rubric.
+% For a \enquote{free} rubric. In case of special edition, we set the rubric
+% title first as empty and then as the special edition's title plus a constant
+% string. Otherwise, this title is freely set.
% \begin{macrocode}
\NewDocumentCommand \rubric {O{}mm}
{
- \_@@_rubric:nnn {#1}{#2}{#3}%
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \_@@_rubric:nnn {#1}{#2}{#3}%
+ \tl_gset:Nn \g_@@_rubric_title_tl {%
+ \c_@@_short_special_edition_string_tl
+ \c_space_tl
+ \g_@@_special_edition_title_tl
+ }
+ }{
+ \_@@_rubric:nnn {#1}{#2}{#3}%
+ }
}
% \end{macrocode}
% \end{macro}
@@ -6150,20 +6391,20 @@ This work consists of the file gzt.dtx
_@@_tcb_bibliography_style,
#1
}
-\DeclareTColorBox{_@@_minibiographies_acknowledgments_tcbox}{ O{} }
+\DeclareTColorBox{_@@_minibiographies_acknowledgements_tcbox}{ O{} }
{
- _@@_tcb_minibiographies_acknowledgments_style,
+ _@@_tcb_minibiographies_acknowledgements_style,
#1
}
% \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}
+% minibiographies and acknowledgements. Its layout is based upon \pkg{tcolorbox}
% features.
% \begin{macrocode}
\DeclareTColorBox{inset}{ O{} }
{
- _@@_tcb_minibiographies_acknowledgments_style,
+ _@@_tcb_minibiographies_acknowledgements_style,
#1
}
% \end{macrocode}
@@ -6177,8 +6418,8 @@ This work consists of the file gzt.dtx
\xpatchfieldformat{title}{mkbibemph}{textbf}{}{}%
\xpretonameformat{author}{\color{@@_people_color}}{}{}%
\g_@@_blx_given_first_inits_false_tl
- \noindent\fullcite{\g_@@_bookreview_bibkey_tl}
- \vspace{10mm}
+ \noindent%
+ \parbox[][21.5mm][l]{\linewidth}{\fullcite{\g_@@_bookreview_bibkey_tl}}
\tcblower
}{
\begin{flushright}
@@ -6241,7 +6482,6 @@ This work consists of the file gzt.dtx
% customizations if any and, if necessary open and close the "refsection" and
% "multicols" environments.
% \begin{macrocode}
-\cs_generate_variant:Nn \tl_if_eq:nnT { NnT }
\NewDocumentCommand \gztinput { m m } {%
\startcustomization%
\bool_if:NF {\g_@@_refsection_bool} {
@@ -6537,7 +6777,7 @@ This work consists of the file gzt.dtx
enhanced,%
colback=@@_book_review_frame_bg_color,%
breakable,%
- height=50mm,%
+ % height=50mm,%
boxrule=\c_zero_dim,
sharp~corners=all,%
skin=enhancedlast,
@@ -6582,19 +6822,38 @@ This work consists of the file gzt.dtx
_@@_tcb_inside_frontcover_style/.style={%
_@@_tcb_inside_cover_style,
enlarge~left~by=-\c_@@_inside_cover_offset_dim,
- title=\c_@@_editorial_board_string_tl
},
_@@_tcb_inside_backcover_style/.style={%
_@@_tcb_inside_cover_style,
enlarge~left~by=\c_@@_inside_cover_offset_dim,
- title=\file_if_exist:nT { \c_@@_authors_instructions_file_tl } {%
- \c_@@_authors_instructions_string_tl
+ }
+}
+\AtEndPreamble{%
+ \bool_if:NTF {\g_@@_special_edition_bool} {
+ \tcbset{
+ _@@_tcb_inside_frontcover_style/.append~style={%
+ title=\c_@@_special_edition_editorial_board_string_tl
+ },
+ _@@_tcb_inside_backcover_style/.append~style={%
+ notitle
+ },
+ }
+ }{
+ \tcbset{
+ _@@_tcb_inside_frontcover_style/.append~style={%
+ title=\c_@@_editorial_board_string_tl
+ },
+ _@@_tcb_inside_backcover_style/.append~style={%
+ title=\file_if_exist:nT { \c_@@_authors_instructions_file_tl } {%
+ \c_@@_authors_instructions_string_tl
+ }
+ },
}
}
}
\tcbset{%
_@@_tcb_bibliography_style/.style={%
- colback=@@_bibliography_minibios_acknowledgments_bg_color,
+ colback=@@_bibliography_minibios_acknowledgements_bg_color,
breakable,
boxrule=\c_zero_dim,
sharp~corners=all,%
@@ -6602,8 +6861,8 @@ This work consists of the file gzt.dtx
}
}
\tcbset{%
- _@@_tcb_minibiographies_acknowledgments_style/.style={%
- colback=@@_bibliography_minibios_acknowledgments_bg_color,
+ _@@_tcb_minibiographies_acknowledgements_style/.style={%
+ colback=@@_bibliography_minibios_acknowledgements_bg_color,
breakable,
boxrule=\c_zero_dim,
extras~unbroken~and~last={drop~lifted~shadow},
@@ -6799,8 +7058,6 @@ This work consists of the file gzt.dtx
}
% \tl_if_eq:VVF { \l_@@_newtheorem_englishtitle_tl } { \MakeUppercase #2 }
% {%
- % \tl_show:N \l_@@_newtheorem_englishtitle_tl
- % \tl_show:N \l_@@_newtheorem_frenchtitle_tl
% \tl_if_eq:NNF { \l_@@_newtheorem_frenchtitle_tl } { \l_@@_newtheorem_englishtitle_tl }
% {%
% \tl_set:Nf \l_@@_newtheorem_frenchtitle_tl {
@@ -6808,9 +7065,6 @@ This work consists of the file gzt.dtx
% }
% }
% }
- % \tl_show:N \l_@@_newtheorem_style_tl
- % \tl_show:N \l_@@_newtheorem_frenchtitle_tl
- % \tl_show:N \l_@@_newtheorem_englishtitle_tl
\_@@_new_theorem:nnVV {style=\l_@@_newtheorem_style_tl}{#2}{\l_@@_newtheorem_frenchtitle_tl}{\l_@@_newtheorem_englishtitle_tl}
}
% \end{macrocode}