summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/nwejm/source
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/nwejm/source')
-rw-r--r--macros/latex/contrib/nwejm/source/nwejm.dtx172
1 files changed, 107 insertions, 65 deletions
diff --git a/macros/latex/contrib/nwejm/source/nwejm.dtx b/macros/latex/contrib/nwejm/source/nwejm.dtx
index 01bab653f0..86bfb0627b 100644
--- a/macros/latex/contrib/nwejm/source/nwejm.dtx
+++ b/macros/latex/contrib/nwejm/source/nwejm.dtx
@@ -13,7 +13,7 @@ new journal "North-Western European Journal of Mathematics".
Release
-------
-2020-03-18 v1.0.1
+2021-10-12 v1.0.2
Development
-----------
@@ -44,7 +44,7 @@ https://github.com/dbitouze/nwejm.
\input l3docstrip.tex
\Msg{********************************************************}
\Msg{* Installation}
-\Msg{* Class: nwejm 2020-03-18 v1.0.1}
+\Msg{* Class: nwejm 2021-10-12 v1.0.2}
\Msg{* for the journal}
\Msg{* "North-Western European Journal of Mathematics" (DB)}
\Msg{********************************************************}
@@ -61,7 +61,7 @@ License:| Released under the LaTeX Project Public License v1.3c or later
\endpreamble
\postamble
-Copyright (C) 2015-2020 by Denis Bitouze <denis.bitouze@univ-littoral.fr>
+Copyright (C) 2015-2021 by Denis Bitouze <denis.bitouze@univ-littoral.fr>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License (LPPL), either
@@ -174,6 +174,12 @@ Running "make install" installs the files in the local TeX tree.
%
%\maketitle
%
+% \changes{v1.0.2}{2021-10-12}{%
+% \begin{itemize}
+% \item Fix gh \#4 (\url{https://git.io/JKLYW}).
+% \item Fix bug in case of other engine than \hologo{pdfTeX}.
+% \end{itemize}
+% }%
% \changes{v1.0.1}{2020-03-18}{%
% \begin{itemize}
% \item Fix bugs due to \Package{expl3} changes.
@@ -317,8 +323,8 @@ Running "make install" installs the files in the local TeX tree.
\ProvidesExplClass
%<class> {nwejm}
%<class-article> {nwejmart}
- {2020-03-18}
- {1.0.1}
+ {2021-10-12}
+ {1.0.2}
{
Class for the journal "North-Western European Journal of Mathematics".
}
@@ -373,8 +379,8 @@ Running "make install" installs the files in the local TeX tree.
can~be~used~only~in~document~body~and~not~in~preamble!}%
\msg_new:nnn{nwejmart}{Article~setup~not~consistent}{The~ article~ setup~
concerning~ the~ option~ `#1'~ has~ changed~ after~ its~ 1st~ use.~ Please~
- use~ \articlesetup~ command~ just~ once,~ just~ after~ the~ beginning~ of~
- the~ document.}%
+ use~ `\string\articlesetup'~ command~ just~ once,~ just~ after~ the~
+ beginning~ of~ the~ document.}%
\msg_new:nnn{
%<class-article> nwejmart
%<class> nwejm
@@ -442,13 +448,11 @@ Running "make install" installs the files in the local TeX tree.
\bool_gset_true:N \g_@@_language_specified_bool%
\PassOptionsToPackage{main=#1}{babel}
\PassOptionsToPackage{#1}{varioref}
- \AtBeginDocument{
+ \AddToHook{begindocument/before}{%
\LoadDictionaryFor{#1}{nwejm}
- }
- \AtEndPreamble{%
\FCloadlang{#1}
}
- \AfterEndPreamble{%
+ \AddToHook{begindocument/end}{%
\selectlanguage{#1}
}
}
@@ -574,7 +578,7 @@ Running "make install" installs the files in the local TeX tree.
% We load the dictionaries containing the translations needed for theorems and
% the like.
% \begin{macrocode}
-\AtBeginDocument{
+\AddToHook{begindocument/before}{
\LoadDictionaryFor{french}{nwejm}
\LoadDictionaryFor{english}{nwejm}
\LoadDictionaryFor{dutch}{nwejm}
@@ -608,23 +612,37 @@ Running "make install" installs the files in the local TeX tree.
\RequirePackage[l2tabu,orthodox]{nag}
% \end{macrocode}
%
-% \item In case of \hologo{pdfTeX} engine, we enforce \pkg{inputenc} to be
-% loaded with its \docAuxKey*{utf8} option. Otherwise \pkg{fontspec},
-% convenient for both \hologo{XeLaTeX} and \hologo{LuaLaTeX}, is loaded with
-% ligatures à la \TeX{} by default enabled.
+% \item In case of \hologo{pdfTeX} engine, we enforce \pkg{fontenc} to be
+% loaded with its \docAuxKey*{T1} option. Otherwise \pkg{fontspec},
+% convenient for both \hologo{XeLaTeX} and \hologo{LuaLaTeX}, is loaded by the
+% \pkg{unicode-math} package.
% \begin{macrocode}
\sys_if_engine_pdftex:TF
- {
- \RequirePackage[utf8]{inputenc}
- }{
- \RequirePackage{fontspec}
- \DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ }
- }
+{
% \end{macrocode}
%
% \item Standard package for selecting font encodings:
% \begin{macrocode}
-\RequirePackage[T1]{fontenc}
+ \RequirePackage[T1]{fontenc}
+% \end{macrocode}
+%
+% \item Load of main font to be used:
+% \begin{macrocode}
+ \RequirePackage[easyscsl,noDcommand]{kpfonts}
+}{
+% \end{macrocode}
+%
+% \item Unicode mathematics support for \hologo{XeTeX} and \hologo{LuaTeX}:
+% \begin{macrocode}
+ \RequirePackage{unicode-math}
+% \end{macrocode}
+%
+% \item OTF version of the Kp-fonts for both roman and sans-serif font, but
+% LatinModern for the monospaced one.
+% \begin{macrocode}
+ \RequirePackage[noDcommand]{kpfonts-otf}
+ \setmonofont[Scale = MatchLowercase]{Latin Modern Mono}
+}
% \end{macrocode}
%
% \item Formatting both header and footers (pagestyle), and sections headers:
@@ -704,9 +722,7 @@ Running "make install" installs the files in the local TeX tree.
% \end{macrocode}
%
% \item Extension to \Pkg{amsmath}: correct various bugs/defeciencies in amsmath
-% and useful tools for mathematical typesetting\footnote{The \Pkg{mathtools}
-% loads \pkg{amsmath}, hence it's not necessary to load the
-% latter. It has to be loaded before \pkg{datatool} and \pkg{kpfonts}.}:
+% and useful tools for mathematical typesetting:
% \begin{macrocode}
\RequirePackage{mathtools}
% \end{macrocode}
@@ -716,22 +732,11 @@ Running "make install" installs the files in the local TeX tree.
\RequirePackage[amsmath,thmmarks,fleqn]{ntheorem}
% \end{macrocode}
%
-% \item Support for using RSFS fonts in maths:
-% \begin{macrocode}
-\RequirePackage{rsfso}
-% \end{macrocode}
-%
% \item Vector arrows:
% \begin{macrocode}
\RequirePackage{esvect}
% \end{macrocode}
%
-% Load of main font to be used:
-% \begin{macrocode}
-\RequirePackage[easyscsl,noDcommand]{kpfonts}
-% %<class-article>\RequirePackage[noDcommand]{kpfonts}
-% \end{macrocode}
-%
% \item Flexible and easy interface to page dimensions:
% \begin{macrocode}
\RequirePackage{geometry}
@@ -909,7 +914,7 @@ Running "make install" installs the files in the local TeX tree.
% \item Hypertext marks:
% \begin{macrocode}
\RequirePackage[pdfencoding=unicode,final]{hyperref}%
-\AtEndPreamble{%
+\AddToHook{begindocument/before}{%
\hypersetup{hidelinks,hypertexnames=false,breaklinks}%
}%
% \end{macrocode}
@@ -1872,7 +1877,7 @@ Running "make install" installs the files in the local TeX tree.
% \begin{macrocode}
\box_new:N \l_@@_journal_logo_box
\box_new:N \l_@@_journal_name_box
- \AfterEndPreamble{%
+ \AddToHook{begindocument/end}{%
\hbox_set:Nn \l_@@_journal_name_box
{
\bfseries%
@@ -1937,7 +1942,7 @@ Running "make install" installs the files in the local TeX tree.
% \end{itemize}
%
% \begin{macrocode}
-\AtBeginDocument{%
+\AddToHook{begindocument}{%
\graphicspath{{\c_@@_issue_images_path_string_tl//}{../\c_@@_issue_images_path_string_tl//}}
% \glsdisablehyper
}
@@ -1955,7 +1960,7 @@ Running "make install" installs the files in the local TeX tree.
% to be different.
% \end{itemize}
% \begin{macrocode}
-%<class-article> \AfterEndPreamble{\g_@@_mainmatter_switch_tl}
+%<class-article> \AddToHook{begindocument/end}{\g_@@_mainmatter_switch_tl}
% \end{macrocode}
%
% \section{Options}
@@ -2737,10 +2742,10 @@ Running "make install" installs the files in the local TeX tree.
rectangle (current~page.south~east);
% laboratory logo
\node[anchor=south~east] at ([xshift=-10mm]current~page~text~area.south~east)
- {\includegraphics[height=.66\c_@@_logos_rectangle_height_dim]{logo-painleve}} ;
+ {\includegraphics[height=.5\c_@@_logos_rectangle_height_dim]{logo-painleve}} ;
% university logo
\node[anchor=south~west] at (current~page~text~area.south~west)
- {\includegraphics[height=.66\c_@@_logos_rectangle_height_dim]{logo-ul1-ufr-math}} ;
+ {\includegraphics[height=.5\c_@@_logos_rectangle_height_dim]{ul-fst-math}} ;
% crop marks
\draw [white]
([xshift=2.5mm]current~page~text~area.north~east) --
@@ -2872,7 +2877,7 @@ Running "make install" installs the files in the local TeX tree.
%<class-article>
%<class-article>\file_if_exist:nT { \c_@@_main_file_name_tl.aux }
%<class-article>{\externaldocument[@@-]{\c_@@_main_file_name_tl}
-%<class-article> \AfterEndPreamble{\setcounter{page}{\number\numexpr\getpagerefnumber{@@-\currfilebase}}}
+%<class-article> \AddToHook{begindocument/end}{\setcounter{page}{\number\numexpr\getpagerefnumber{@@-\currfilebase}}}
%<class-article>}
% \end{macrocode}
%
@@ -3292,6 +3297,14 @@ Running "make install" installs the files in the local TeX tree.
}
% \end{macrocode}
%
+% \begin{macrocode}
+%</class|class-article>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class>
+% \end{macrocode}
+%
% \subsection{Input variant}
%
% We create a variant of the "\input" macro to be use for the input of each
@@ -3301,6 +3314,7 @@ Running "make install" installs the files in the local TeX tree.
% \url{https://tex.stackexchange.com/q/475788/18401}).
% \begin{macrocode}
\NewDocumentCommand \inputarticle { O{english} m } {%
+ \int_gincr:N \g_@@_articles_int
\newrefsection
\renewcommand*{\glspluralsuffix}{s}
\renewcommand*{\glsacrpluralsuffix}{\glspluralsuffix}
@@ -3309,6 +3323,7 @@ Running "make install" installs the files in the local TeX tree.
\str_case:nn {#1} {
{english} {
\selectlanguage{english}
+ % \shorthandoff{"}%
\renewcommand*{\glossaryname}{Glossary}%
\renewcommand*{\acronymname}{Acronyms}%
\renewcommand*{\entryname}{Notation}%
@@ -3320,6 +3335,7 @@ Running "make install" installs the files in the local TeX tree.
}
{german} {
\selectlanguage{ngerman}
+ % \shorthandon{"}%
\renewcommand*{\glossaryname}{Glossar}%
\renewcommand*{\acronymname}{Akronyme}%
\renewcommand*{\entryname}{Bezeichnung}%
@@ -3331,6 +3347,7 @@ Running "make install" installs the files in the local TeX tree.
}
{ngerman} {
\selectlanguage{ngerman}
+ % \shorthandon{"}%
\renewcommand*{\glossaryname}{Glossar}%
\renewcommand*{\acronymname}{Akronyme}%
\renewcommand*{\entryname}{Bezeichnung}%
@@ -3342,6 +3359,7 @@ Running "make install" installs the files in the local TeX tree.
}
{french} {
\selectlanguage{french}
+ % \shorthandoff{"}%
% \end{macrocode}
%
% Though we switch to \pkg{babel}'s ×french×, footnotes are not displayed as
@@ -3363,6 +3381,7 @@ Running "make install" installs the files in the local TeX tree.
}
{dutch} {
\selectlanguage{dutch}
+ % \shorthandon{"}%
\renewcommand*{\glossaryname}{Woordenlijst}%
\renewcommand*{\acronymname}{Acroniemen}%
\renewcommand*{\entryname}{Benaming}%
@@ -3406,6 +3425,11 @@ Running "make install" installs the files in the local TeX tree.
}
}
% \end{macrocode}
+% We ensure the sections' counter will be printed as arabic numerals (in case
+% ×\appendix× has been used in a previous article):
+% \begin{macrocode}
+ \gdef\thesection{\@arabic\c@section}
+% \end{macrocode}
% We reset all acronyms entries.
% \begin{macrocode}
\glsresetall
@@ -3413,6 +3437,14 @@ Running "make install" installs the files in the local TeX tree.
}
% \end{macrocode}
%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class|class-article>
+% \end{macrocode}
+%
% \section{(Re)Definition of document commands that identify the article}
%
% The names of the authors of the different articles will appear at several
@@ -3424,7 +3456,7 @@ Running "make install" installs the files in the local TeX tree.
% This can be done only at the beginning of the document, in order to know the
% characteristics of the current issue.
% \begin{macrocode}
-\AtBeginDocument{%
+\AddToHook{begindocument}{%
% \end{macrocode}
%
% We first create a token list containing the date of the current issue formated
@@ -3476,7 +3508,6 @@ Running "make install" installs the files in the local TeX tree.
% We increment the "\g_@@_articles_int" integer that counts the number of
% articles in order to provide for each of them a unique bibliographic key.
% \begin{macrocode}
- \int_gincr:N \g_@@_articles_int
\tl_gclear:N \g_@@_short_title_tl
\tl_gclear:N \g_@@_header_title_tl
\tl_gclear:N \g_@@_short_subtitle_tl
@@ -3977,7 +4008,7 @@ Running "make install" installs the files in the local TeX tree.
% instead of begin of the document in order some settings needed in preamble are
% taken in account.
% \begin{macrocode}
-%<class>\AtEndPreamble{\file_input:n {\c_@@_configuration_file_string_tl}}
+%<class>\AddToHook{begindocument/before}{\file_input:n {\c_@@_configuration_file_string_tl}}
% \end{macrocode}
%
% \subsection{Miscellaneous}
@@ -4353,7 +4384,7 @@ Running "make install" installs the files in the local TeX tree.
% \begin{macrocode}
\RenewDocumentCommand \newtheorem { O{} m }
{
- \AtBeginDocument{
+ \AddToHook{begindocument}{
\tl_clear:N \l_@@_newtheorem_style_tl
\tl_clear:N \l_@@_newtheorem_title_tl
\tl_clear:N \l_@@_newtheorem_french_title_tl
@@ -4582,7 +4613,7 @@ Running "make install" installs the files in the local TeX tree.
}
}
}
-\AfterEndPreamble{
+\AddToHook{begindocument/end}{
\ifcurrentbaselanguage{french}{\g_@@_french_crefname_tl}{}
}
% \end{macrocode}
@@ -5197,7 +5228,7 @@ Running "make install" installs the files in the local TeX tree.
% breaks fall where they may, even in the middle of a multi-line equation. If
% needed, the ×\\*× command can be used to prohibit a pagebreak after a given line.
% \begin{macrocode}
-\AtEndPreamble{\allowdisplaybreaks}
+\AddToHook{begindocument/before}{\allowdisplaybreaks}
% \end{macrocode}
%
% The drawback of ×\allowdisplaybreaks× macro is it may happen we haven't
@@ -5626,7 +5657,7 @@ Running "make install" installs the files in the local TeX tree.
% header and footer on the page (and the following ones until the next article)
% where the bibliography appears).
% \begin{macrocode}
-\AtEndPreamble{%
+\AddToHook{begindocument/before}{%
\defbibheading{_@@_subbibliography}[\refname]{%
\section*{#1}
}%
@@ -5731,18 +5762,21 @@ Running "make install" installs the files in the local TeX tree.
% is not robust in \pkg{kpfonts} code
% (cf. \url{https://groups.google.com/d/msg/fr.comp.text.tex/hIi97ipK5qA/WJoPwvH-p1UJ}).
% \begin{macrocode}
-\ifkp@easyscsl
-\DeclareRobustCommand{\itshape}{\not@math@alphabet\itshape\mathit%
- \ifthenelse{\equal{\f@shape}{\scdefault}}{\fontshape{scsl}}{%
- \fontshape\itdefault}\selectfont}
-\fi
+\sys_if_engine_pdftex:T
+{
+ \ifkp@easyscsl
+ \DeclareRobustCommand{\itshape}{\not@math@alphabet\itshape\mathit%
+ \ifthenelse{\equal{\f@shape}{\scdefault}}{\fontshape{scsl}}{%
+ \fontshape\itdefault}\selectfont}
+ \fi
% \end{macrocode}
%
% We replace the \pkg{kpfonts}' \enquote{mathfrak} by the one from
% \enquote{eufrak}, as the former doesn't provide Euler Fraktur digits.
% \begin{macrocode}
-\DeclareMathAlphabet\mathfrak{U}{euf}{m}{n}
-\SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n}
+ \DeclareMathAlphabet\mathfrak{U}{euf}{m}{n}
+ \SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n}
+}
% \end{macrocode}
%
% \subsection{Related to \Pkg{hyperref}}
@@ -5825,7 +5859,7 @@ Running "make install" installs the files in the local TeX tree.
% \end{macrocode}
%
% \begin{macrocode}
-\AfterEndPreamble{%
+\AddToHook{begindocument/end}{%
% \end{macrocode}
%
% If the cover production is asked, we automatically load some libraries, make
@@ -5855,18 +5889,18 @@ Running "make install" installs the files in the local TeX tree.
% Because articles' title are displayed thanks to the ×\chapter× command, we
% have to format its layout.
% \begin{macrocode}
-\AfterEndPreamble{%
+\AddToHook{begindocument/end}{%
\titleformat{\chapter}[block]
{\normalfont\centering}{}{0pt}{}
\titlespacing*{\chapter}{0pt}{0pt}{0pt}
}
% \end{macrocode}
%
-% \Pkg{xy} performs category code changes of ×@× ×\AtBeginDocument× and this
+% \Pkg{xy} performs category code changes of ×@× ×\AddToHook{begindocument}× and this
% cause troubles (see \url{tex.stackexchange.com/q/303238/18401}). Hence, we
% prohibit it.
% \begin{macrocode}
-\AtEndPreamble{%
+\AddToHook{begindocument/before}{%
\@ifpackageloaded{xy}{%
\msg_error:nn{
%<class-article> nwejmart
@@ -5877,6 +5911,16 @@ Running "make install" installs the files in the local TeX tree.
}
% \end{macrocode}
%
+% % By default, we switch the shorthand character ×"× off used by the Dutch and
+% % German languages as they are source of many troubles, especially with the
+% % ×tikzcd× environments.
+% % \begin{macrocode}
+% \AddToHook{begindocument/end}{%
+% \shorthandoff{"}%
+% \usetikzlibrary{babel}%
+% }
+% % \end{macrocode}
+%
% We now leave the \LaTeX3{} programming environment.
% \begin{macrocode}
\ExplSyntaxOff
@@ -6734,7 +6778,6 @@ $clean_ext = "synctex.gz* run.xml tex.bak bbl bcf fdb_latexmk run tdo listing st
#include:booktabs
#include:mathtools
#include:ntheorem
-#include:rsfso
#include:esvect
#include:kpfonts
#include:translations
@@ -6945,8 +6988,7 @@ dutch
% \Finale
%%% Local Variables:
-%%% mode: tex
-%%% eval: (doctex-mode)
+%%% mode: doctex
%%% ispell-local-dictionary: "english"
%%% TeX-command-default: "TeX"
%%% TeX-master: t