From c6208e4a8a2515a9151a24fc5327db290e85321c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 8 Apr 2018 20:06:15 +0000 Subject: gzt (8apr18) git-svn-id: svn://tug.org/texlive/trunk@47381 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/gzt/README.md | 81 ----- Master/texmf-dist/source/latex/gzt/gzt.dtx | 526 ++++++++++++++++++++------- 2 files changed, 390 insertions(+), 217 deletions(-) delete mode 100644 Master/texmf-dist/source/latex/gzt/README.md (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/gzt/README.md b/Master/texmf-dist/source/latex/gzt/README.md deleted file mode 100644 index 89a95cb27c6..00000000000 --- a/Master/texmf-dist/source/latex/gzt/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# Overview - -The purpose of the current LaTeX bundle, `gzt`, is to provide two classes and -`biblatex styles` for -the French journal -["La Gazette des Mathématiciens"](http://smf4.emath.fr/Publications/Gazette/): - -- `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. - -# Copyright and Licence - -## Author - -Denis Bitouzé - -## Release - -2017/02/15 v0.97 - -## Copyright - -Copyright 2014-2017 Denis Bitouzé - -## Licence - -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 the license is in http://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of LaTeX version -2003/06/01 or later. - -This work has the LPPL maintenance status "maintained". - -#Installation - -- `gzt` is bundled with the main TeX distributions TeX Live (and its - variants) and MiKTeX. -- `gzt` starts life on [Github](https://github.com/dbitouze/gzt) where - you can always find development releases. -- The latest official release is put onto [CTAN](http://ctan.org/pkg/gzt) - but users can get the latest stable version by updating their TeX - distributions (upgrading if necessary for TeX Live). - -#Help - -## Documentation - -`gzt` is provided with an extensive documentation (in French) in the -`doc/latex/gzt/french/` directory in the distribution, also -available -[on CTAN](http://mirrors.ctan.org/macros/latex/contrib/gzt/doc/gzt-fr.pdf). - -## Templates and samples - -`gzt` comes with a template attached to the the documentation above. - -## Questions and answers - -Users can ask questions about `gzt` e.g. on Q & A sites: - -- [in French](http://texnique.fr/osqa/tags/gzt/) -- [in English](http://tex.stackexchange.com/questions/tagged/gzt) - -# Debug and feature requests - -Suggestions and bug reports are welcome. - -- Go to the Github [issues page](https://github.com/dbitouze/gzt/issues/). -- If not already reported, [open an issue](https://github.com/dbitouze/gzt/issues/new/). -- Add - a [minimal working example](http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl) if - possible. This helps a great deal facilitate a swift response. 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 +% File: gzt.dtx Copyright (C) 2014-2018 by +% Denis Bitouz'e % % 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 % {gzt} % {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 %\bool_gset_true:N \g_@@_for_authors_bool% %\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} -%\RequirePackage{tkz-euclide} -% \end{macrocode} -% % \item Print page grid in background: % \begin{macrocode} %\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.} +%\msg_new:nnnn{gzt}{configuration-file-missing}{File~`\c_@@_configuration_file_string_tl'~missing!} +% {The~ whole~ issue~ may~ not~ be~ conform~ if~ `\c_@@_configuration_file_string_tl'~ is~ missing.} +%\msg_new:nnnn{gzt}{editorial-file-missing}{File~`\c_@@_editorial_file_string_tl'~missing!} +% {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 % { % \c_space_tl\textendash{}\c_space_tl % \l_@@_uppercased_date_format\displaydate{@@_date} -% \c_space_tl -% \textendash{}\c_space_tl -% \textcolor{@@_smf_number_color}{\No\int_use:N\g_@@_issue_number_int} +% \bool_if:NF {\g_@@_special_edition_bool} { +% \c_space_tl +% \textendash{}\c_space_tl +% \textcolor{@@_smf_number_color}{\No\int_use:N\g_@@_issue_number_int} +% } % } } } @@ -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} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*class> +% \end{macrocode} +% % In case of "forauthors" option, we close the "multicols" environment in case % it isn't closed (which happens if neither "\printbibliography" nor % "\printauthorsdetails" is used). This should fix issue % \url{https://github.com/dbitouze/gzt/issues/36}. % \begin{macrocode} -%\bool_if:nT { \g_@@_for_authors_bool } -%{ -% \AtEndDocument{% -% \bool_if:NT {\g_@@_multicols_bool} { -% \end{multicols}% -% } -%} -%} -% \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} +% +% \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} -- cgit v1.2.3