summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/nwejm/nwejmart.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-04-14 21:55:04 +0000
committerKarl Berry <karl@freefriends.org>2016-04-14 21:55:04 +0000
commit21060d422b62cbbd56d5c489a79ea824bcd6e4df (patch)
treed55ce56abd78a5ae7a0c84ef34fd0a2ec5ea81b4 /Master/texmf-dist/tex/latex/nwejm/nwejmart.cls
parent6b756d21397d3b697fc51d31cc87747be1ad76e5 (diff)
nwejm (14apr16)
git-svn-id: svn://tug.org/texlive/trunk@40526 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/nwejm/nwejmart.cls')
-rw-r--r--Master/texmf-dist/tex/latex/nwejm/nwejmart.cls1937
1 files changed, 1937 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/nwejm/nwejmart.cls b/Master/texmf-dist/tex/latex/nwejm/nwejmart.cls
new file mode 100644
index 00000000000..d762c18f060
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/nwejm/nwejmart.cls
@@ -0,0 +1,1937 @@
+%%
+%% This is file `nwejmart.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% nwejm.dtx (with options: `class-article')
+%% -------:| -----------------------------------------------------------------
+%% nwejm:| Class for the journal "North-Western European Journal of Mathematics"
+%% Author:| Denis Bitouze
+%% E-mail:| denis.bitouze@lmpa.univ-littoral.fr
+%% License:| Released under the LaTeX Project Public License v1.3c or later
+%% See:| http://www.latex-project.org/lppl.txt
+%%
+\RequirePackage{xparse}
+\RequirePackage{l3keys2e}
+\IfFileExists{l3sort.sty}{
+ \RequirePackage{l3sort}
+}{
+}
+\RequirePackage{etoolbox}
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesExplClass
+ {nwejmart}
+ {2015/09/30}
+ {1.00}
+ {
+ Class for the journal "North-Western European Journal of Mathematics".
+ }
+\ExplSyntaxOn
+\msg_new:nnnn{nwejm}{Issue~number~needed}{Option~`#1'~needed!}
+{Please~specify~`#1=<number>', ~otherwise~`<number>'~will~be~set~to
+ ~`\int_use:N\c__nwejm_first_issue_number_int'.}%
+\msg_new:nnnn{nwejmart}{Unknown~choice}{Choice~`#3'~invalid!}
+{Please~specify~#1=#2.}%
+\msg_new:nnn{nwejmart}{Unknown~tag}{There~ isn't~ any~ affiliation~ tagged~
+ with~ `#1'.~ This~ one~ will~ be~ ignored.}%
+\msg_new:nnn{nwejmart}{Unknown~language}{The~ option~ `#1'~ you~ passed~ isn't~
+ a~ valid~ language~ name~ (only~ `english',~ `french',~ `ngerman',~ `german',~
+ `dutch'~ are~ accepted).~ `english'~ will~ be~ used~ instead.}%
+\msg_new:nnn{nwejmart}{No~keyword}{You~ haven't~ specify~ any~ keyword~ for~
+ this~ article!}%
+\msg_new:nnn{nwejmart}{No~MSC}{You~ haven't~ specify~ any~ Mathematical~
+ Subject~ Classification~ (MSC)~ for~ this~ article!}%
+\msg_new:nnn{nwejmart}{No~abstract}{You~ haven't~ specify~ any~ abstract~ for~
+ this~ article!}%
+\msg_new:nnn{nwejmart}{Starred~AMS~environments}{The~ starred~AMS~environment~
+ `#1*'~should~ be~ avoided.~ It~ will ~be ~ replaced ~ by its~ unstarred~ counterpart~ `#1'.}%
+\msg_new:nnn{
+ nwejmart
+}{Command~restricted~to~document~body~used~in~preamble}{The~command~#1
+ 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.}%
+\msg_new:nnn{nwejmart}{Wrong~paired~delimiter's~size~parameter}{The~
+ size~parameter~specified~ (`#1')~is~ not~ allowed:~ only~ `0',~`1'~(or~
+ `\string\big'),~`2'~(or~ `\string\Big'),~`3'~(or~ `\string\big'g)~and~`4'~(or~
+ `\string\Bigg')~ are ~ allowed. ~ It~ will~ be~ ignored.}%
+\bool_new:N \g__nwejm_language_specified_bool
+\cs_new_protected:Nn \__nwejm_language:n
+{
+ \bool_gset_true:N \g__nwejm_language_specified_bool%
+ \PassOptionsToPackage{main=#1}{babel}
+ \PassOptionsToPackage{#1}{varioref}
+ \AtBeginDocument{
+ \LoadDictionaryFor{#1}{nwejm}
+ }
+ \AtEndPreamble{%
+ \FCloadlang{#1}
+ }
+ \AfterEndPreamble{%
+ \selectlanguage{#1}
+ }
+}
+\keys_define:nn { nwejm }
+{
+ 10pt .code:n = {%
+ \PassOptionsToClass{10pt}{book}
+ },%
+ 11pt .code:n = {%
+ \PassOptionsToClass{11pt}{book}
+ },%
+ 12pt .code:n = {%
+ \PassOptionsToClass{12pt}{book}
+ },%
+ english .code:n = {
+ \__nwejm_language:n {english}
+ },%
+ french .code:n = {
+ \__nwejm_language:n {french}
+ },%
+ german .code:n = {
+ \__nwejm_language:n {ngerman}
+ },%
+ ngerman .code:n = {
+ \__nwejm_language:n {ngerman}
+ },%
+ dutch .code:n = {
+ \__nwejm_language:n {dutch}
+ },%
+ % unknown .code:n = {
+ % \msg_warning:nnx{nwejmart}{Unknown~language}{\CurrentOption}
+ % \tl_gset:Nn \g__nwejm_language_tl {english}
+ % },
+ nolocaltoc .code:n = {
+ \bool_gset_true:N \g__nwejm_nolocaltoc_bool
+ },%
+}%
+\ProcessKeysOptions { nwejm }
+\LoadClass { book }
+\PassOptionsToPackage{export}{adjustbox}%
+\PassOptionsToPackage{fleqn}{mathtools}%
+\PassOptionsToPackage{french,ngerman,dutch,english,noabbrev}{cleveref}
+\bool_if:NF {\g__nwejm_language_specified_bool} {
+ \__nwejm_language:n {english}
+}
+\RequirePackage{silence}
+\WarningFilter[nwejm]{kpfonts}{With 'easyscsl' option, don't fit together}
+\WarningFilter[nwejm]{etex}{Extended allocation already in use}
+\WarningFilter[nwejm]{etoc}{package tocvsec2 detected and its modification of}
+\ActivateWarningFilters[nwejm]
+\RequirePackage[l2tabu,orthodox]{nag}
+\pdftex_if_engine:TF
+ {
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage[utf8]{inputenc}
+ }{
+ \RequirePackage{fontspec}
+ }
+\RequirePackage[pagestyles]{titlesec}%
+\RequirePackage{graphicx}%
+\RequirePackage{adjustbox}%
+\RequirePackage[multiple]{footmisc}%
+\RequirePackage[svgnames]{xcolor}%
+\RequirePackage{xspace}%
+\RequirePackage[autostyle]{csquotes}%
+\RequirePackage{array}
+\RequirePackage{booktabs}
+\RequirePackage{mathtools}
+\RequirePackage[thmmarks,amsmath]{ntheorem}
+\RequirePackage{mathrsfs}
+\RequirePackage{esvect}
+\RequirePackage[noDcommand]{kpfonts}
+\RequirePackage{geometry}
+\RequirePackage{translations}%
+\RequirePackage{fmtcount}%
+\RequirePackage{babel}%
+\RequirePackage{varioref}
+\RequirePackage{tocvsec2}
+\RequirePackage{etoc}%
+\RequirePackage[babel=true]{microtype}%
+\RequirePackage[useregional]{datetime2}%
+\RequirePackage[inline]{enumitem}%
+\RequirePackage{environ}
+\RequirePackage{footnote}%
+\RequirePackage[hyperfootnotes=false,pdfencoding=unicode]{hyperref}%
+\AtBeginDocument{%
+ \hypersetup{hidelinks,hypertexnames=false}%
+}%
+\RequirePackage[all]{hypcap}
+\RequirePackage[numbered]{bookmark}%
+\RequirePackage[nowarn]{glossaries}%
+\RequirePackage{cleveref}%
+\RequirePackage{autonum}
+\RequirePackage[backend=biber,style=nwejm]{biblatex}%
+\ExecuteBibliographyOptions{defernumbers=true,dashed=false,uniquename=init,backref,safeinputenc}
+\makeglossaries
+\setglossarystyle{indexhypergroup}
+\setacronymstyle{long-sc-short}
+\glsdisablehyper
+\int_new:N \g__nwejm_articles_int
+\clist_new:N \g__nwejm_counters_to_be_reset_clist
+\int_const:Nn \c__nwejm_first_issue_number_int { 1 }
+\int_const:Nn \c__nwejm_first_issue_year_int { 2016 }
+\int_const:Nn \c__nwejm_first_issue_month_int { 1 }
+\int_const:Nn \c__nwejm_interval_in_months_int { 6 }
+\tl_const:Nn \c__nwejm_date_received_tl {received}
+\tl_const:Nn \c__nwejm_date_accepted_tl {accepted}
+\tl_const:Nn \c__nwejm_date_online_tl {online}
+\tl_const:Nn \c__nwejm_dates_separator_tl {/}
+\tl_const:Nn \c__nwejm_images_directory_string_tl {images}
+\tl_const:Nn \c__nwejm_issue_images_path_string_tl {\c__nwejm_images_directory_string_tl}
+\tl_const:Nn \c__nwejm_preliminary_version_string_tl {%
+ This~document~is~a~draft~that~lets~you~check~the~integrity~of~original~text~and
+ bibliography~of~your~article~to~appear~in~the~next~issue~of~the
+ \c__nwejm_journal_title_string_tl.~The~current~layout~may~not~be~the~final~one.%
+}
+\tl_const:Nn \c__nwejm_msc_string_tl {\textsc{msc}}
+\tl_const:Nn \c__nwejm_colon_tl {
+ \ifcurrentbaselanguage{french}{\FBcolonspace}{}:
+ % \ifundef{\Fcolonspace}{\FBcolonspace}{\Fcolonspace}:
+}
+\tl_const:Nn \c__nwejm_aside_string_tl {--}
+\tl_const:Nn \c__nwejm_draftwatermark_string_tl {draft}
+\tl_const:Nn \c__nwejm_issue_bib_file_suffix_string_tl {__nwejm}
+\tl_const:Nn \c__nwejm_issue_bib_file_string_tl {\c_job_name_tl\c__nwejm_issue_bib_file_suffix_string_tl.bib}
+\tl_const:Nn \c__nwejm_issue_bib_path_string_tl {\c__nwejm_issue_bib_file_string_tl}
+\tl_const:Nn \c__nwejm_issue_bib_key_tl {\int_use:N \g__nwejm_issue_number_int}
+\tl_const:Nn \c__nwejm_journal_short_title_string_tl {\textsc{nwejm}}
+\tl_const:Nn \c__nwejm_journal_title_string_tl {
+ North-Western~European~Journal~of~Mathematics%
+}
+\tl_const:Nn \c__nwejm_journal_front_cover_title_string_tl {
+ North-Western~European\\Journal\\of\\Mathematics%
+}
+\tl_const:Nn \c__nwejm_nwejm_class_name_tl {nwejm}
+\tl_const:Nn \c__nwejm_nwejmarticle_class_name_tl {nwejmart}
+\bool_new:N \g__nwejm_frontcover_bool
+\bool_new:N \g__nwejm_inside_frontcover_bool
+\bool_new:N \g__nwejm_inside_backcover_bool
+\bool_new:N \g__nwejm_frontmatter_bool
+\bool_new:N \g__nwejm_mainmatter_bool
+\bool_new:N \g__nwejm_backmatter_bool
+\bool_new:N \g__nwejm_backcover_bool
+\bool_new:N \g__nwejm_date_specified_bool
+\dim_const:Nn \c__nwejm_layoutheight_dim { 240mm}
+\dim_const:Nn \c__nwejm_layoutwidth_dim { 170mm}
+\dim_const:Nn \c__nwejm_printer_layoutoffset_dim { 5mm}
+\bool_if:NTF {\g__nwejm_for_printer_bool} {
+ \dim_const:Nn \c__nwejm_potential_layoutoffset_dim { \c__nwejm_printer_layoutoffset_dim}
+}{
+ \dim_const:Nn \c__nwejm_potential_layoutoffset_dim {\c_zero_dim}
+}
+\bool_if:NTF {\g__nwejm_cover_bool} {
+ \dim_const:Nn \c__nwejm_potential_bindingoffset_dim { \c__nwejm_printer_bindingoffset_dim }
+}{
+ \dim_const:Nn \c__nwejm_potential_bindingoffset_dim {\c_zero_dim}
+}
+\dim_const:Nn \c__nwejm_paperheight_dim { \c__nwejm_layoutheight_dim+2\c__nwejm_potential_layoutoffset_dim}
+\bool_if:NTF {\g__nwejm_cover_bool} {
+ \dim_const:Nn \c__nwejm_paperwidth_dim {
+ \c__nwejm_layoutwidth_dim
+ +
+ \c__nwejm_potential_layoutoffset_dim
+ +\c__nwejm_potential_bindingoffset_dim
+ }
+}{
+ \dim_const:Nn \c__nwejm_paperwidth_dim {
+ \c__nwejm_layoutwidth_dim
+ +
+ 2
+ \c__nwejm_potential_layoutoffset_dim
+ +\c__nwejm_potential_bindingoffset_dim
+ }
+}
+\dim_const:Nn \c__nwejm_topmargin_dim { 20mm}
+\dim_const:Nn \c__nwejm_topmargin_frontcover_dim {
+ \c__nwejm_topmargin_dim
+ % + 30mm
+}
+\dim_const:Nn \c__nwejm_topmargin_inside_cover_dim {
+ \c__nwejm_topmargin_dim
+ % +10mm
+}
+\dim_const:Nn \c__nwejm_topmargin_front_matter_dim {
+ \c__nwejm_topmargin_inside_cover_dim
+}
+\dim_const:Nn \c__nwejm_headsep_dim { 9.5mm}
+\dim_const:Nn \c__nwejm_headsep_frontcover_dim {
+ \c__nwejm_headsep_dim
+ % +31mm
+ % -\c__nwejm_potential_layoutoffset_dim
+}
+\dim_const:Nn \c__nwejm_headsep_inside_frontcover_dim {
+ \c__nwejm_headsep_dim
+ +7mm
+}
+\dim_const:Nn \c__nwejm_headsep_front_matter_dim {
+ \c__nwejm_headsep_inside_frontcover_dim
+}
+\dim_const:Nn \c__nwejm_headheight_dim { 5mm }
+\dim_const:Nn \c__nwejm_botmargin_dim { 30mm}
+\dim_const:Nn \c__nwejm_footskip_dim { 10mm}
+\dim_const:Nn \c__nwejm_margin_frontcover_dim { 15mm }
+\dim_const:Nn \c__nwejm_bottom_frontcover_dim { 15mm }
+\dim_const:Nn \c__nwejm_left_minipage_frontcover_dim { .4\linewidth }
+\dim_const:Nn \c__nwejm_right_minipage_frontcover_dim { .6\linewidth }
+\dim_const:Nn \c__nwejm_innermargin_dim { 23mm }
+\dim_const:Nn \c__nwejm_outermargin_dim { 30mm }
+\dim_const:Nn \c__nwejm_inside_cover_box_width_dim { 150mm }%
+\dim_const:Nn \c__nwejm_innermargin_inside_cover_dim {
+ (\c__nwejm_layoutwidth_dim - \c__nwejm_inside_cover_box_width_dim)/2
+ - \c__nwejm_potential_bindingoffset_dim
+ % + \c__nwejm_adjustmargin_dim
+}
+\dim_const:Nn \c__nwejm_outermargin_inside_cover_dim {
+ (\c__nwejm_layoutwidth_dim - \c__nwejm_inside_cover_box_width_dim)/2
+ % - \c__nwejm_adjustmargin_dim
+}
+\dim_const:Nn \c__nwejm_innermargin_backcover_dim { 10mm }
+\dim_const:Nn \c__nwejm_outermargin_backcover_dim { \c__nwejm_innermargin_backcover_dim }
+\dim_const:Nn \c__nwejm_topmargin_backcover_dim { \c__nwejm_innermargin_backcover_dim }
+\dim_const:Nn \c__nwejm_bottommargin_backcover_dim { \c__nwejm_innermargin_backcover_dim }
+\dim_const:Nn \c__nwejm_front_matter_extra_innermargin_dim { \c_zero_dim }
+\dim_const:Nn \c__nwejm_front_matter_extra_outermargin_dim { \c_zero_dim }
+\dim_const:Nn \c__nwejm_inside_cover_offset_dim { \c_zero_dim }%
+\geometry{%
+ papersize={\c__nwejm_paperwidth_dim,\c__nwejm_paperheight_dim}
+}
+\tl_const:Nn \c__nwejm_main_geometry_tl {%
+ ,layoutsize={\c__nwejm_layoutwidth_dim,\c__nwejm_layoutheight_dim}
+ ,layoutoffset=\c__nwejm_potential_layoutoffset_dim
+ ,textwidth=\c__nwejm_layoutwidth_dim*3/4
+ ,textheight=\c__nwejm_layoutheight_dim*3/4
+ % ,marginratio={4\string :6,5\string :7}
+ ,inner=\c__nwejm_innermargin_dim
+ ,headheight=\c__nwejm_headheight_dim
+ ,footskip=\c__nwejm_footskip_dim
+ %
+ % ,layoutsize={\c__nwejm_layoutwidth_dim,\c__nwejm_layoutheight_dim}
+ % ,layoutoffset=\c__nwejm_potential_layoutoffset_dim
+ % % ,bindingoffset=\c__nwejm_potential_bindingoffset_dim
+ % ,top=\c__nwejm_topmargin_dim%
+ % ,headheight=\c__nwejm_headheight_dim
+ % ,headsep=\c__nwejm_headsep_dim
+ % ,bottom=\c__nwejm_botmargin_dim
+ % ,footskip=\c__nwejm_footskip_dim
+ % ,inner=\c__nwejm_innermargin_dim
+ % ,outer=\c__nwejm_outermargin_dim
+}%
+\tl_new:N \l__nwejm_section_header_tl
+\tl_set:Nn \l__nwejm_section_header_tl {
+ \ifthesection{%
+ \thesection.~%
+ }{%
+ }
+ \sectiontitle
+}%
+\newpagestyle{__nwejm_mainmatter_ps}[]{%
+ \sethead%
+ [
+ \tl_if_exist:NT {\g__nwejm_short_title_tl}
+ {
+ \tl_if_empty:NF \g__nwejm_short_title_tl {%
+ \slshape\g__nwejm_short_title_tl
+ }
+ }
+ ]%
+ [%
+ ]%
+ [
+ \DeclareNameAlias{labelname}{giveninits-last}
+ \AtNextCitekey{\defcounter{maxnames}{2}}\citeauthor{\g__nwejm_article_bib_key_tl}
+ ]%
+ {
+ \slshape\l__nwejm_section_header_tl
+ }%
+ {%
+ }%
+ {
+ }%
+ %
+ \setfoot%
+ {}%
+ {\thepage}%
+ {}%
+}
+ \box_new:N \l__nwejm_journal_logo_box
+ \box_new:N \l__nwejm_journal_name_box
+ \AfterEndPreamble{%
+ \hbox_set:Nn \l__nwejm_journal_name_box
+ {
+ \bfseries%
+ \adjustbox{stack=l}{%
+ \c__nwejm_journal_title_string_tl
+ \mbox{}
+}
+}
+\hbox_set:Nn \l__nwejm_journal_logo_box
+{
+ \includegraphics[width=1cm]{ nwejm-logo-NB }
+}
+\hbox_set_to_wd:Nnn \l__nwejm_journal_logo_box { 1cm }
+{
+ \box_move_down:nn
+ {
+ \box_ht:N \l__nwejm_journal_logo_box / 2
+ -
+ \box_ht:N \l__nwejm_journal_name_box / 2
+ }
+ {
+ \box_use:N \l__nwejm_journal_logo_box
+ }
+}
+\box_set_ht:Nn \l__nwejm_journal_logo_box { \c_zero_dim }
+\box_set_dp:Nn \l__nwejm_journal_logo_box { \c_zero_dim }
+}
+\newpagestyle{__nwejm_article_title_ps}[]{%
+ % \widenhead{\c_zero_dim}{\c_zero_dim}
+ \sethead%
+ {
+ \box_use:N \l__nwejm_journal_name_box
+ }%
+ {%
+ }%
+ {
+ \box_use:N \l__nwejm_journal_logo_box
+ }%
+ %
+ \setfoot%
+ {}%
+ {\thepage}%
+ {}%
+}
+\def\@pnumwidth{\@tocrmarg}
+\AtBeginDocument{%
+ \graphicspath{{\c__nwejm_issue_images_path_string_tl//}{../\c__nwejm_issue_images_path_string_tl//}}
+ % \glsdisablehyper
+}
+ \AtBeginDocument{\g__nwejm_mainmatter_switch_tl}
+\int_new:N \g__nwejm_issue_number_int
+\int_new:N \g__nwejm_issue_month_int
+\int_new:N \g__nwejm_issue_year_int
+\tl_new:N \g__nwejm_frontcover_image_options_tl
+\keys_define:nn { nwejm/issuesetup }
+{
+ number .int_gset:N = \g__nwejm_issue_number_int,
+ volume .int_gset:N = \g__nwejm_issue_volume_int,
+ volume .value_required:,
+ volume .initial:n = 0,
+}
+\keys_define:nn { nwejm/dates }
+{
+ received .code:n = {
+ \tl_gset:Nn \g__nwejm_reception_date_tl {#1}
+ \bool_gset_true:N \g__nwejm_date_specified_bool
+ },
+ accepted .code:n = {
+ \tl_gset:Nn \g__nwejm_acception_date_tl {#1}
+ \bool_gset_true:N \g__nwejm_date_specified_bool
+ },
+ online .code:n = {
+ \tl_gset:Nn \g__nwejm_online_date_tl {#1}
+ \bool_gset_true:N \g__nwejm_date_specified_bool
+ },
+ received .value_required:,
+ accepted .value_required:,
+ online .value_required:,
+}
+\quark_new:N \q__nwejm
+\int_new:N \l_author_int
+\prop_new:N \g_authors_prop
+\prop_new:N \l_affiliations_tagged_prop
+\cs_generate_variant:Nn \prop_put_if_new:Nnn { NVn }
+\cs_generate_variant:Nn \prop_gput_if_new:Nnn { Nxn }
+\cs_generate_variant:Nn \prop_put_if_new:Nnn { NnV }
+\cs_new:Npn \__nwejm_prop_count:nn #1#2 { + 1 }
+\cs_new:Npn \__nwejm_prop_count:N #1
+{ \int_eval:n { 0 \prop_map_function:NN #1 \__nwejm_prop_count:nn } }
+\NewDocumentCommand \__nwejm_author_affiliation:ww { o u\q__nwejm }
+{
+ \stepcounter{footnote}
+ \prop_put_if_new:NVn \l_tmpa_prop {\the\c@footnote} {#2}
+ \IfValueT{#1}{%
+ \prop_put_if_new:NnV \l_affiliations_tagged_prop {#1} {\the\c@footnote}
+ }
+}
+\keys_define:nn { nwejm / authors }
+{
+ email .tl_gset:N = \g__nwejm_people_email_tl,
+ affiliation .code:n = {%
+ \__nwejm_author_affiliation:ww #1 \q__nwejm
+ },
+ affiliationtagged .code:n = {%
+ \prop_get:NnNTF \l_affiliations_tagged_prop {#1} \l_tmpa_tl
+ {%
+ \prop_put_if_new:NVn \l_tmpa_prop {\l_tmpa_tl} {}
+ }{
+ \msg_error:nnn{__nwejm}{Unknown~tag}{#1}
+ }
+ },
+ affiliation .value_required:,
+ affiliationtagged .value_required:,
+}
+\tl_new:N \l__nwejm_newtheorem_style_tl
+\keys_define:nn { nwejm / newtheorem }
+{
+ title .tl_set:N = \l__nwejm_newtheorem_title_tl,
+ title / french .tl_set:N = \l__nwejm_newtheorem_french_title_tl,
+ title / english .tl_set:N = \l__nwejm_newtheorem_english_title_tl,
+ title / german .tl_set:N = \l__nwejm_newtheorem_german_title_tl,
+ title / dutch .tl_set:N = \l__nwejm_newtheorem_dutch_title_tl,
+ title .value_required:,
+ title / french .value_required:,
+ title / english .value_required:,
+ title / german .value_required:,
+ title / dutch .value_required:,
+ %
+ style .choice:,
+ style / theorem .code:n = {\__nwejm_theorem_style:n {theorem}},
+ style / definition .code:n = {\__nwejm_theorem_style:n {definition}},
+ style / proof .code:n = {\__nwejm_theorem_style:n {proof}},
+ style / unknown .code:n =
+ \msg_error:nnxxx { nwejm } { Unknown~choice }
+ { style } % Name of choice key
+ { theorem~or~definition~or~proof } % Valid choices
+ { \exp_not:n {#1} } % Invalid choice given
+}
+\bool_new:N \g__nwejm_gradient_nabla_bool
+\bool_new:N \g__nwejm_gradient_nabla_control_bool
+\keys_define:nn { nwejm/articlesetup }
+{
+ gradient .choice:,
+ gradient / nabla .code:n = {\bool_gset_true:N \g__nwejm_gradient_nabla_bool},
+ gradient / grad .code:n = {\bool_gset_false:N \g__nwejm_gradient_nabla_bool},
+ gradient / unknown .code:n =
+ \msg_error:nnxxx { nwejmart } { Unknown~choice }
+ { gradient } % Name of choice key
+ { nabla~or~grad } % Valid choices
+ { \exp_not:n {#1} } % Invalid choice given
+}
+\tl_new:N \g__nwejm_nwejm_short_string_tl
+\tl_new:N \g__nwejm_nwejm_string_tl
+\tl_gset:Nn \g__nwejm_nwejm_short_string_tl {
+ \cs_if_exist:cTF {texorpdfstring}
+ {
+ \texorpdfstring{\emph{\c__nwejm_journal_short_title_string_tl}}{\c__nwejm_journal_short_title_string_tl}
+ }{%
+ \emph{\c__nwejm_journal_short_title_string_tl}
+ }%
+}
+\tl_gset:Nn \g__nwejm_nwejm_string_tl {
+ \cs_if_exist:cTF {texorpdfstring}
+ {
+ \texorpdfstring{\emph{\c__nwejm_journal_title_string_tl}}{\c__nwejm_journal_title_string_tl}
+ }{%
+ \emph{\c__nwejm_journal_title_string_tl}
+ }%
+}
+\tl_new:N \l__nwejm_pdftitle_string_tl
+\tl_new:N \l__nwejm_pdfauthor_string_tl
+\tl_set:Nn \l__nwejm_pdftile_string_tl {
+ \c__nwejm_journal_title_string_tl\space--\space{}N^^c2^^b0\int_use:N\g__nwejm_issue_number_int
+}
+\tl_set:Nn \l__nwejm_pdfauthor_string_tl {
+ \g__nwejm_nwejm_string_tl
+}
+\cs_new_protected:Nn \__nwejm_email:n
+ {
+ \href{mailto:#1}{\nolinkurl{#1}}%
+ }
+\tl_new:N \l__nwejm_crossref_tl
+\cs_new_protected:Nn \__nwejm_populate_bib_file:nn
+{
+ \int_if_exist:cF {g__nwejm_#2_int}
+ {
+ \int_new:c {g__nwejm_#2_int}
+ }
+ \int_incr:c {g__nwejm_#2_int}
+ \tl_if_in:nnTF { #2 } { author } {
+ \tl_set:Nn \l__nwejm_crossref_tl {%
+ \c__nwejm_issue_bib_key_tl
+ -art-
+ \int_use:N \g__nwejm_articles_int
+ }
+ } {
+ \tl_set:Nn \l__nwejm_crossref_tl {\c__nwejm_issue_bib_key_tl}
+ }
+ \tl_set:Nn \l__nwejm_people_first_last_name_tl {#1}
+ \iow_now:Nx \g__nwejm_bib_out_iow {%
+ @article{
+ \c__nwejm_issue_bib_key_tl -#2- \int_use:c {g__nwejm_#2_int},
+ \iow_newline:
+ author={\exp_not:V\l__nwejm_people_first_last_name_tl},
+ \iow_newline:
+ options={skipbib},
+ \iow_newline:
+ crossref = {\l__nwejm_crossref_tl}
+ \iow_newline:
+ }
+ \iow_newline:
+ }%
+}
+\cs_new_protected:Nn \__nwejm_date:nn
+{
+ \tl_if_exist:NT {#2}
+ {
+ \tl_if_empty:NF {#2}
+ {
+ \tl_if_eq:NNF {\c__nwejm_date_received_tl} {#1} { \c__nwejm_dates_separator_tl }
+ \tl_mixed_case:n { \exp_args:No \GetTranslation{#1} }
+ \c__nwejm_colon_tl\space
+ \DTMdate{#2}%
+ }
+ }
+}
+\tl_new:N \g__nwejm_display_dates_tl%
+\tl_gset:Nn \g__nwejm_display_dates_tl {%
+ \footnotesize%
+ \__nwejm_date:nn {\c__nwejm_date_received_tl}{\g__nwejm_reception_date_tl}
+ \__nwejm_date:nn {\c__nwejm_date_accepted_tl}{\g__nwejm_acception_date_tl}
+ \__nwejm_date:nn {\c__nwejm_date_online_tl} {\g__nwejm_online_date_tl}
+ \tl_gclear:N \g__nwejm_reception_date_tl
+ \tl_gclear:N \g__nwejm_acception_date_tl
+ \tl_gclear:N \g__nwejm_online_date_tl
+}
+\seq_new:N \l__nwejm_keywords_seq
+\tl_new:N \l__nwejm_keywords_tl
+\NewDocumentCommand \keywords { m } {
+ \seq_clear:N \l__nwejm_keywords_seq
+ \tl_clear:N \l__nwejm_keywords_tl
+ \seq_set_from_clist:Nn \l_tmpa_seq {#1}
+ \seq_set_map:NNn \l__nwejm_keywords_seq \l_tmpa_seq {
+ ##1
+ }
+ \tl_set:Nn \l__nwejm_keywords_tl { \seq_use:Nn \l__nwejm_keywords_seq {,~} }
+ \hypersetup{pdfkeywords=\l__nwejm_keywords_tl}
+}
+\seq_new:N \l__nwejm_msc_seq
+\tl_new:N \l__nwejm_msc_tl
+\NewDocumentCommand \msc { m } {
+ \seq_clear:N \l__nwejm_msc_seq
+ \tl_clear:N \l__nwejm_msc_tl
+ %
+ % does what the name suggests, set a sequence from the clist
+ \seq_set_from_clist:Nn \l_tmpa_seq {#1}
+ % applies final arg to each element of second seq and stores result in first seq
+ \seq_set_map:NNn \l__nwejm_msc_seq \l_tmpa_seq {
+ ##1
+ }
+ %
+ % \seq_use puts the items from the seq back in the input with ",~" as a separator
+ \tl_set:Nn \l__nwejm_msc_tl {\seq_use:Nn \l__nwejm_msc_seq {,~}}
+%%<class-article> \hypersetup{pdfmsc=\l_@@_msc_tl}
+}
+\cs_new_protected:Nn \__nwejm_command_only_in_body:n
+{
+ \cs_if_eq:NNF {\@onlypreamble} {\@notprerr} {
+ \msg_error:nnn{
+ nwejmart
+ }{Command~restricted~to~document~body~used~in~preamble}{#1}
+ }
+}
+\NewDocumentCommand \articlesetup { m } {
+ \__nwejm_command_only_in_body:n {\articlesetup}
+ \keys_set:nn { nwejm/articlesetup } {#1}
+}
+\NewDocumentCommand \dates { m } {
+ \keys_set:nn { nwejm/dates } { #1 }
+}
+\NewDocumentCommand \inputarticle { O{english} m } {%
+ \newrefsection
+ \tl_if_eq:nnTF { #1 } { german } {%
+ \selectlanguage{ngerman}
+ }{
+ \selectlanguage{#1}
+ }%
+ \tl_if_eq:nnTF { #1 } { french } {%
+ \FrenchFootnotes
+ }{%
+ \StandardFootnotes
+ }
+ \inputfrom{./}{#2}
+ \clist_put_right:Nn \g__nwejm_counters_to_be_reset_clist {
+ footnote,
+ section,
+ figure,
+ table,
+ equation
+ }
+ \clist_map_inline:Nn \g__nwejm_counters_to_be_reset_clist {
+ \@ifundefined{c@##1}{
+ }{
+ \setcounter{##1}{\c_zero}
+ }
+ }
+ \glsresetall
+ \selectlanguage{english}
+}
+\AtBeginDocument{%
+\tl_new:N \g__nwejm_bib_issue_date_tl
+\tl_gset:Nn
+\g__nwejm_bib_issue_date_tl {
+ \int_use:N \g__nwejm_issue_year_int -
+ \int_compare:nNnT {\g__nwejm_issue_month_int}<{10}
+ {
+ 0
+ }
+ \int_use:N \g__nwejm_issue_month_int
+}
+ \iow_now:Nx \g__nwejm_bib_out_iow {%
+ @periodical{\c__nwejm_issue_bib_key_tl,\iow_newline:
+ issuetitle = {\exp_not:f\c__nwejm_journal_title_string_tl},\iow_newline:
+ date = {\g__nwejm_bib_issue_date_tl},\iow_newline:
+ number = \int_use:N \g__nwejm_issue_number_int,\iow_newline:
+ % issn = {\l__nwejm_journal_issn_tl},\iow_newline:
+ options = {skipbib}\iow_newline:
+ }
+ \iow_newline:
+ }%
+}
+\tl_new:N \g__nwejm_title_tl
+\RenewDocumentCommand \title { o m } {
+ \cleardoublepage
+ \int_gincr:N \g__nwejm_articles_int
+ \tl_gclear:N \g__nwejm_short_title_tl
+ \tl_gclear:N \g__nwejm_short_subtitle_tl
+ %
+ \IfNoValueF {#1}
+ {
+ \tl_gset:Nn \g__nwejm_short_title_tl {#1}
+ }
+ \tl_gset:Nn \g__nwejm_title_tl {#2}
+ \tl_if_empty:NT \g__nwejm_short_title_tl {%
+ \tl_gset_eq:NN \g__nwejm_short_title_tl \g__nwejm_title_tl
+ }
+}
+\tl_new:N \g__nwejm_subtitle_tl
+\NewDocumentCommand \subtitle { o m } {
+ \IfNoValueF {#1}
+ {
+ \tl_gset:Nn \g__nwejm_short_subtitle_tl {#1}
+ }
+ \tl_gset:Nn \g__nwejm_subtitle_tl {#2}
+ \tl_if_empty:NT \g__nwejm_short_subtitle_tl {%
+ \tl_gset_eq:NN \g__nwejm_short_subtitle_tl \g__nwejm_subtitle_tl
+ }
+}
+\RenewDocumentCommand \author { O{} m } {
+ \cleardoublepage
+ \int_incr:N \l_author_int
+ \prop_gput_if_new:Nxn \g_authors_prop {author_\int_use:c {l_author_int}} {#2}
+ \IfNoValueF {#1}
+ {
+ \keys_set:nn { nwejm/authors } { #1 }
+ }
+ \prop_set_eq:cN {l_author_ \int_use:c {l_author_int} _affiliations_prop} \l_tmpa_prop
+ \prop_clear:N \l_tmpa_prop
+ \__nwejm_populate_bib_file:nn {#2}{author-art-\int_use:N \g__nwejm_articles_int}
+ \tl_if_empty:NTF \l__nwejm_people_first_last_names_tl {%
+ \tl_put_right:Nn
+ \l__nwejm_people_first_last_names_tl
+ {#2}
+ }{
+ \tl_put_right:Nn
+ \l__nwejm_people_first_last_names_tl
+ {~and~#2}
+ }
+}
+\iow_new:N \g__nwejm_bib_out_iow
+\ior_new:N \g__nwejm_bib_out_ior
+\tl_new:N \g__nwejm_bib_out_tl
+\file_if_exist:nTF { \c__nwejm_issue_bib_path_string_tl }
+{
+ \ior_open:Nn \g__nwejm_bib_out_ior { \c__nwejm_issue_bib_path_string_tl }
+ \ior_str_map_inline:Nn \g__nwejm_bib_out_ior
+ { \tl_gput_right:Nn \g__nwejm_bib_out_tl {#1 \par } }
+ \ior_close:N \g__nwejm_bib_out_ior
+}{
+ \typeout{no file! rerun}
+}
+\iow_open:Nn \g__nwejm_bib_out_iow { \c__nwejm_issue_bib_path_string_tl }
+\tl_new:N \g__nwejm_abstract_body_tl
+\NewDocumentEnvironment{abstract}{}
+ {\CollectAbstract}
+ {\endCollectAbstract}
+\NewEnviron{CollectAbstract}
+ {
+ \tl_gset_eq:NN \g__nwejm_abstract_body_tl \BODY
+ }
+\tl_new:N \g__nwejm_frontmatter_switch_tl%
+\tl_gset:Nn \g__nwejm_frontmatter_switch_tl {
+ \bool_gset_true:N \g__nwejm_frontmatter_bool
+ \frontmatter
+ \pagestyle{__nwejm_frontmatter_ps}%
+ \exp_after:wN\newgeometry\exp_after:wN{\c__nwejm_main_geometry_tl}%
+}
+\tl_new:N \g__nwejm_mainmatter_switch_tl%
+\tl_gset:Nn \g__nwejm_mainmatter_switch_tl {
+ \bool_gset_false:N \g__nwejm_frontmatter_bool
+ \bool_gset_true:N \g__nwejm_mainmatter_bool
+ \mainmatter
+ % \SetParskip{\c__nwejm_mainmatter_parskip_skip}
+ \pagestyle{__nwejm_mainmatter_ps}%
+ \exp_after:wN\newgeometry\exp_after:wN{\c__nwejm_main_geometry_tl}%
+}
+\tl_new:N \g__nwejm_article_acknowledgments_tl%
+\cs_new_protected:Nn \__nwejm_article_acknowledgments:n
+{
+ \tl_gset:Nn \g__nwejm_article_acknowledgments_tl { #1 }
+}
+\NewDocumentCommand \acknowledgments { m } {
+ \__nwejm_article_acknowledgments:n {#1}
+}
+\tl_new:N \g__nwejm_article_bib_key_tl%
+\tl_new:N \l__nwejm_people_first_last_names_tl
+\tl_new:N \g__nwejm_authors_first_last_names_tl%
+\tl_new:N \g__nwejm_citeauthor_no_giveninits%
+\tl_new:N \g__nwejm_citeauthor_tl%
+\int_new:N \g__nwejm_author_s_number_current_article_int%
+\cs_new_protected:Nn \__nwejm_citeauthor_no_giveninits:n {%
+ \tl_gset:Nn \g__nwejm_citeauthor_tl {%
+ \DeclareNameAlias{labelname}{default}%
+ \group_begin:
+ \togglefalse{blx@giveninits}%
+ \citeauthor{#1}
+ \group_end:
+ }%
+ \cs_if_exist:cTF {texorpdfstring}
+ {
+ \texorpdfstring{\g__nwejm_citeauthor_tl}{}
+ }{%
+ \g__nwejm_citeauthor_tl
+ }%
+}
+\cs_set_eq:NN \__nwejm_orig_multinamedelim \multinamedelim
+\cs_set_eq:NN \__nwejm_orig_finalnamedelim \finalnamedelim
+\cs_new_protected:Nn \__nwejm_maketitle_citeauthor:n
+{
+ \restorecommand\mkbibnamelast
+ \def\multinamedelim {\hskip 1em \@plus.17fil}%
+ \cs_set_eq:NN \finalnamedelim \multinamedelim
+ \AtNextCitekey{\defcounter{maxnames}{100}}
+ \group_begin:
+ \DeclareNameAlias{labelname}{default}%
+ \togglefalse{blx@giveninits}%
+ \citeauthor{#1}
+ \group_end:
+ \cs_set_eq:NN \multinamedelim \__nwejm_orig_multinamedelim
+ \cs_set_eq:NN \finalnamedelim \__nwejm_orig_finalnamedelim
+ \protected\def\mkbibnamelast#1{%
+ \textsc{\textnohyphenation{#1}}}%
+}
+\cs_new_protected:Nn \__nwejm_display_author:n
+{
+ \seq_clear:N \l_tmpa_seq
+ \prop_get:NnN \g_authors_prop {author_#1} \l_tmpa_tl
+ \prop_map_inline:cn {l_author_ #1 _affiliations_prop} {
+ \seq_put_right:Nx \l_tmpa_seq { ##1 }
+ }
+ \seq_sort:Nn \l_tmpa_seq
+ {
+ \int_compare:nNnTF { ##1 } > { ##2 }
+ { \sort_reversed: }
+ { \sort_ordered: }
+ }
+ \mbox{%
+ \__nwejm_citeauthor_no_giveninits:n {\c__nwejm_issue_bib_key_tl -author-art- \int_use:N \g__nwejm_articles_int-#1}
+ }
+ \seq_map_inline:Nn \l_tmpa_seq {
+ \prop_get:cnN {l_author_ #1 _affiliations_prop} {##1} \l_tmpb_tl
+ \footnotemark[##1]
+ \tl_if_empty:NF \l_tmpb_tl
+ {
+ \footnotetext[##1]{\l_tmpb_tl}
+ }
+ }
+ \hskip 1em plus .17fil
+}
+\tl_new:N \l__nwejm_bullet_and_rule_tl
+\tl_new:N \l__nwejm_authors_box_tl
+\tl_new:N \l__nwejm_abstract_box_tl
+\tl_new:N \l__nwejm_bullet_and_rule_odd_tl
+\tl_new:N \l__nwejm_bullet_and_rule_even_tl
+\tl_new:N \l__nwejm_title_box_tl
+\tl_new:N \g__nwejm_title_for_toc_tl
+\RenewDocumentCommand \maketitle { } {
+\tl_gset:Nn \g__nwejm_article_bib_key_tl {%
+ \c__nwejm_issue_bib_key_tl
+ -art-
+ \int_use:N \g__nwejm_articles_int
+}
+\tl_if_empty:NF \g__nwejm_title_tl {%
+ \iow_now:Nx \g__nwejm_bib_out_iow {%
+ @article{
+ \g__nwejm_article_bib_key_tl,
+ \iow_newline:
+ title={\exp_not:V\g__nwejm_title_tl},
+ \iow_newline:
+ \tl_if_empty:NF \g__nwejm_subtitle_tl {%
+ subtitle={\exp_not:V\g__nwejm_subtitle_tl},
+ \iow_newline:
+ }
+ \tl_if_eq:NNF { \g__nwejm_short_title_tl } { \g__nwejm_title_tl } {%
+ shorttitle={\exp_not:V\g__nwejm_short_title_tl},
+ \iow_newline:
+ }%
+ \tl_if_empty:NF \l__nwejm_people_first_last_names_tl
+ {
+ author={\exp_not:V\l__nwejm_people_first_last_names_tl},
+ \iow_newline:
+ }
+ options={skipbib},
+ \iow_newline:
+ crossref = {\c__nwejm_issue_bib_key_tl}
+ }
+ \iow_newline:
+ }%
+ % \tl_clear:N \l__nwejm_people_first_last_names_tl
+}%
+\tl_set:Nn \l__nwejm_authors_box_tl
+{%
+ \bool_if:nTF { \tl_if_empty_p:N \l__nwejm_people_first_last_names_tl }
+ {
+ \mbox{}
+ }
+ {
+ \int_set:Nn \l_tmpa_int { \__nwejm_prop_count:N \g_authors_prop}
+ \normalsize%
+ \int_step_inline:nnnn {1}{1}{\l_tmpa_int} {
+ \__nwejm_display_author:n {##1}
+ }
+ \prop_gclear:N \g_authors_prop
+ }
+}
+\int_zero:N \l_author_int
+\prop_clear:N \l_affiliations_tagged_prop
+\tl_set:Nn \l__nwejm_dates_box_tl
+{%
+ \g__nwejm_display_dates_tl
+}
+\tl_set:Nn \l__nwejm_keywords_box_tl
+{%
+ \noindent
+ {
+ \bfseries
+ \tl_mixed_case:n{
+ \GetTranslation{plural-keyword}
+ \c__nwejm_colon_tl
+ }
+ }
+ \space\l__nwejm_keywords_tl.
+}
+\tl_set:Nn \l__nwejm_msc_box_tl
+{%
+ \noindent\textbf{\c__nwejm_msc_string_tl}\c__nwejm_colon_tl\space\l__nwejm_msc_tl.
+}
+\tl_set:Nn \l__nwejm_abstract_box_tl
+{%
+ \mbox{}
+ \par%
+ \vskip .5em%
+ \tl_if_empty:NTF \g__nwejm_abstract_body_tl
+ {%
+ \msg_warning:nn{nwejmart}{No~abstract}
+ }%
+ {%
+ \small
+ \begin{center}%
+ {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \begin{quotation}
+ \g__nwejm_abstract_body_tl
+ \end{quotation}
+ }
+}%
+\tl_set:Nn \g__nwejm_partial_title_for_toc_tl
+{
+ \tl_if_empty:NTF \g__nwejm_short_title_tl {%
+ \g__nwejm_title_tl%
+ }{
+ \g__nwejm_short_title_tl%
+ }
+ \bool_if:nF { \tl_if_empty_p:N \g__nwejm_short_subtitle_tl }
+ {
+ .\space\g__nwejm_short_subtitle_tl
+ }
+}
+ \hypersetup{pdftitle=\g__nwejm_partial_title_for_toc_tl}
+\tl_set:Nn \g__nwejm_title_for_toc_tl
+{
+ \g__nwejm_partial_title_for_toc_tl
+ \bool_if:nF { \tl_if_empty_p:N \l__nwejm_people_first_last_names_tl }
+ {
+ \textsl{
+ \cs_if_exist:cTF {texorpdfstring}
+ {
+ \texorpdfstring{%
+ \AtNextCitekey{\defcounter{maxnames}{100}}
+ \space\textendash\space\citeauthor{\g__nwejm_article_bib_key_tl}
+ }{}
+ }{%
+ \space\textendash\space\citeauthor{\g__nwejm_article_bib_key_tl}
+ }%
+ }
+ }
+}
+ \setsecnumdepth{none}
+ \bookmarksetup{depth=-2}
+ \chapter[\g__nwejm_title_for_toc_tl]{%
+ \LARGE%
+ \g__nwejm_title_tl
+ \tl_if_empty:NF \g__nwejm_subtitle_tl {%
+ \\[1ex]%
+ \Large%
+ \g__nwejm_subtitle_tl
+ }\\[2ex]%
+ \l__nwejm_authors_box_tl%
+ \bool_if:NT {\g__nwejm_date_specified_bool}
+ {
+ \\[2ex]
+ \l__nwejm_dates_box_tl
+ }
+ \\[-4ex]
+ }
+ \bool_gset_false:N \g__nwejm_date_specified_bool
+ \bookmarksetup{depth=subsection}
+ \setsecnumdepth{subsection}
+ \thispagestyle{__nwejm_article_title_ps}%
+\l__nwejm_abstract_box_tl%
+\normalsize
+\tl_if_empty:NTF \l__nwejm_keywords_tl {
+ \msg_warning:nn{nwejmart}{No~keyword}
+}{
+ \l__nwejm_keywords_box_tl
+ \par%
+ \vskip .5em%
+}
+\tl_if_empty:NTF \l__nwejm_msc_tl {
+ \msg_warning:nn{nwejmart}{No~MSC}
+}{
+ \l__nwejm_msc_box_tl
+ \par%
+ \vskip .5em%
+}
+ \hypersetup{pdfauthor=\l__nwejm_people_first_last_names_tl}
+\tl_gclear:N \g__nwejm_title_tl
+\tl_gclear:N \g__nwejm_subtitle_tl
+\tl_gclear:N \g__nwejm_title_for_toc_tl
+\tl_gclear:N \g__nwejm_abstract_body_tl
+ \tl_gclear:N \g__nwejm_people_affiliation_tl
+ \tl_gclear:N \g__nwejm_people_email_tl
+ \tl_clear:N \l__nwejm_people_first_last_names_tl%
+}
+\DeclarePlainStyle{^^c2^^ab~}{~^^c2^^bb}{`}{'}
+\setcounter{topnumber}{3}
+\renewcommand{\topfraction}{0.8}
+\addtolength{\skip\footins}{.25\baselineskip}
+\setlength{\columnsep}{7mm}%
+\renewcommand{\thesection}{\arabic{section}}%
+\@ifpackageloaded{siunitx}{%
+ \addto\extrasenglish{\sisetup{locale = UK}}
+ \addto\extrasfrench{\sisetup{locale = FR}}
+ \addto\extrasngerman{\sisetup{locale = DE}}
+ \addto\extrasgerman{\sisetup{locale = DE}}
+ \addto\extrasdutch{%
+ \sisetup{%
+ exponent-product = \ensuremath { \times } ,
+ inter-unit-product = \, ,
+ output-decimal-marker = { , }
+ }%
+ }
+ \sisetup{detect-all}
+}
+\cs_set_eq:NN \__nwejm_section \section
+\cs_set_eq:NN \__nwejm_subsection \subsection
+\cs_set_eq:NN \__nwejm_subsubsection \subsubsection
+\AfterPreamble{%
+ \RenewDocumentCommand \section { s o m } {%
+ \IfBooleanTF {#1}
+ {
+ \setsecnumdepth{none}%
+ }
+ {
+ \resetsecnumdepth*%
+ }
+ \IfNoValueTF{#2}{\__nwejm_section{#3}}{\__nwejm_section[#2]{#3}}
+ }
+ \RenewDocumentCommand \subsection { s o m } {%
+ \IfBooleanT {#1}
+ {
+ \setsecnumdepth{none}%
+ }
+ \IfNoValueTF{#2}{\__nwejm_subsection{#3}}{\__nwejm_subsection[#2]{#3}}
+ }
+ \RenewDocumentCommand \subsubsection { s o m } {%
+ \IfBooleanT {#1}
+ {
+ \setsecnumdepth{none}%
+ }
+ \IfNoValueTF{#2}{\__nwejm_subsubsection{#3}}{\__nwejm_subsubsection[#2]{#3}}
+ }
+}
+\int_new:N \l__nwejm_abs_int
+\cs_new_protected:Nn \__nwejm_ordinalnum_suffix:n
+{
+ \int_set:Nn \l__nwejm_abs_int {\int_abs:n {#1}}
+ \ifcurrentbaselanguage{english}{
+ \int_use:N \l__nwejm_abs_int
+ \int_set:Nn \l_tmpa_int {\int_mod:nn {\l__nwejm_abs_int} {\c_one_hundred}}
+ \int_case:nnF
+ { \l_tmpa_int }
+ {
+ { \c_eleven } { \fmtord{th} }
+ { \c_twelve } { \fmtord{th} }
+ { \c_thirteen } { \fmtord{th} }
+ }{
+ \int_set:Nn \l_tmpb_int {\int_mod:nn {\l__nwejm_abs_int} {\c_ten}}
+ \int_case:nnF
+ { \l_tmpb_int }
+ {
+ { \c_zero } { \fmtord{th} }
+ { \c_one } { \fmtord{st} }
+ { \c_two } { \fmtord{nd} }
+ { \c_three } { \fmtord{rd} }
+ }{
+ \fmtord{th}
+ }
+ }
+ }{
+ \ifcurrentbaselanguage{dutch}{
+ \int_use:N \l__nwejm_abs_int
+ e
+ }{
+ \textsc{\int_to_roman:n {\int_abs:n {#1}}}
+ \ifcurrentbaselanguage{french}{
+ \int_compare:nNnTF { \l__nwejm_abs_int } = { 1 }{\fmtord{er}}{\fmtord{e}}
+ }{
+ \ifcurrentbaselanguage{german}{
+ .
+ }{
+ \ifcurrentbaselanguage{ngerman}{
+ .
+ }{
+ }
+ }
+ }
+ }
+ }
+}
+\cs_new_protected:Nn \__nwejm_century_suffix:n
+{
+ \space{}
+ \GetTranslation{century}%
+ \int_compare:nNnT { #1 } < { 0 }{
+ \space
+ \GetTranslation{before-christ}
+ }{
+ }
+}
+\NewDocumentCommand \century { s m } {%
+ \__nwejm_ordinalnum_suffix:n {#2}%
+ \IfBooleanTF {#1}
+ {
+ \int_compare:nNnT { #2 } < { 0 }{
+ \__nwejm_century_suffix:n {#2}%
+ }
+ }{
+ \__nwejm_century_suffix:n {#2}%
+ }
+ \int_compare:nNnT { #2 } < { 0 }{
+ \ifcurrentbaselanguage{english}{%
+ }{
+ \@ifnextchar.%
+ {
+ }{
+ .\xspace
+ }%
+ }
+ }
+}
+\NewDocumentCommand \aside { s m } {%
+ \IfBooleanTF {#1}
+ {
+ \c__nwejm_aside_string_tl{}~#2
+ }
+ {
+ \c__nwejm_aside_string_tl{}~#2~\c__nwejm_aside_string_tl
+ }
+}
+\NewDocumentCommand \ie { s } {%
+ \IfBooleanTF {#1}
+ {
+ \GetTranslation{idest}
+ }
+ {
+ \GetTranslation{ie}
+ \@ifnextchar.%
+ {
+ }{
+ .\xspace
+ }%
+ }
+}
+\NewDocumentCommand \Ie { s } {%
+ \IfBooleanTF {#1}
+ {
+ \GetTranslation{Idest}
+ }
+ {
+ \GetTranslation{Ie}
+ \@ifnextchar.%
+ {
+ }{
+ .\xspace
+ }%
+ }
+}
+\RenewDocumentCommand \vec { m } {
+ \vv{#1}
+}
+\bool_new:N \g__nwejm_no_numbered_theorem_bool
+\cs_new_protected:Nn \__nwejm_theorem_style:n
+{
+ \bool_gset_false:N \g__nwejm_no_numbered_theorem_bool
+ \str_case:nn
+ { #1 }
+ {
+ { theorem } {
+ \theoremstyle{plain}
+ \theoremheaderfont{\normalfont\bfseries}
+ \theorembodyfont{\itshape}
+ \theoremseparator{~--}
+ \theoremsymbol{}
+ }
+ { definition } {
+ \theoremstyle{plain}
+ \theoremheaderfont{\normalfont\bfseries}
+ \theorembodyfont{\normalfont}
+ \theoremseparator{~--}
+ \theoremsymbol{}
+ }
+ { proof } {
+ \theoremstyle{nonumberplain}
+ \bool_gset_true:N \g__nwejm_no_numbered_theorem_bool
+ \theoremheaderfont{\normalfont\itshape}
+ \theorembodyfont{\normalfont}
+ \theoremseparator{.}
+ \theoremsymbol{\ensuremath{\square}}
+ }
+ }
+}
+\cs_set_eq:NN \__nwejm_orig_newtheorem \newtheorem
+\cs_new_protected:Nn \__nwejm_new_theorem:nnnnn
+{
+ \AtBeginDocument{%
+ \IfTranslation{English}{#1}{%
+ }{%
+ \DeclareTranslation{English}{#1}{\tl_mixed_case:n{#2}}%
+ }
+ \IfTranslation{French}{#1}{%
+ }{%
+ \DeclareTranslation{French}{#1}{\tl_mixed_case:n{#3}}%
+ }
+ \IfTranslation{German}{#1}{%
+ }{%
+ \DeclareTranslation{German}{#1}{\tl_mixed_case:n{#4}}%
+ }
+ \IfTranslation{Dutch}{#1}{%
+ }{%
+ \DeclareTranslation{Dutch}{#1}{\tl_mixed_case:n{#5}}%
+ }
+ }
+ \__nwejm_orig_newtheorem{#1}{\protect\tl_mixed_case:n{ \protect\GetTranslation{#1} }}
+ \bool_if:NF {\g__nwejm_no_numbered_theorem_bool} {
+ \__nwejm_orig_newtheorem*{#1__nwejm_nonumbered}{\protect\tl_mixed_case:n{ \protect\GetTranslation{#1} }}
+ }
+}
+\cs_generate_variant:Nn \__nwejm_new_theorem:nnnnn { nVVVV }
+\RenewDocumentCommand \newtheorem { O{} m }
+{
+ \tl_clear:N \l__nwejm_newtheorem_style_tl
+ \tl_clear:N \l__nwejm_newtheorem_title_tl
+ \tl_clear:N \l__nwejm_newtheorem_french_title_tl
+ \tl_clear:N \l__nwejm_newtheorem_english_title_tl
+ \tl_clear:N \l__nwejm_newtheorem_german_title_tl
+ \tl_clear:N \l__nwejm_newtheorem_dutch_title_tl
+ %
+ \tl_set:Nn \l__nwejm_newtheorem_english_title_tl {
+ #2
+ }
+ \tl_set:Nf \l__nwejm_newtheorem_french_title_tl {
+ \l__nwejm_newtheorem_english_title_tl
+ }
+ \tl_set:Nf \l__nwejm_newtheorem_german_title_tl {
+ \l__nwejm_newtheorem_english_title_tl
+ }
+ \tl_set:Nf \l__nwejm_newtheorem_dutch_title_tl {
+ \l__nwejm_newtheorem_english_title_tl
+ }
+ \tl_set:Nn \l__nwejm_newtheorem_style_tl {
+ theorem
+ }
+ \__nwejm_theorem_style:n {theorem}
+ \IfNoValueF {#1}
+ {
+ \keys_set:nn { nwejm / newtheorem } { #1 }
+ \tl_if_empty:NF \l__nwejm_newtheorem_title_tl {%
+ \tl_set:Nf \l__nwejm_newtheorem_english_title_tl
+ {
+ \l__nwejm_newtheorem_title_tl
+ }
+ \tl_set:Nf \l__nwejm_newtheorem_french_title_tl
+ {
+ \l__nwejm_newtheorem_title_tl
+ }
+ \tl_set:Nf \l__nwejm_newtheorem_german_title_tl
+ {
+ \l__nwejm_newtheorem_title_tl
+ }
+ \tl_set:Nf \l__nwejm_newtheorem_dutch_title_tl
+ {
+ \l__nwejm_newtheorem_title_tl
+ }
+ }
+ }
+ %
+ \__nwejm_new_theorem:nVVVV
+ {#2}
+ {\l__nwejm_newtheorem_english_title_tl}
+ {\l__nwejm_newtheorem_french_title_tl}
+ {\l__nwejm_newtheorem_german_title_tl}
+ {\l__nwejm_newtheorem_dutch_title_tl}
+ \makesavenoteenv{#2}
+ \bool_if:NF {\g__nwejm_no_numbered_theorem_bool} {
+ \ifcsmacro{#2*}{%
+ \RenewDocumentEnvironment{#2*}{o}
+ {
+ \IfNoValueTF {##1}
+ { \begin{#2__nwejm_nonumbered} }
+ { \begin{#2__nwejm_nonumbered}[##1] }
+ }{
+ \end{#2__nwejm_nonumbered}
+ }
+ }{
+ \NewDocumentEnvironment{#2*}{o}
+ {
+ \IfNoValueTF {##1}
+ { \begin{#2__nwejm_nonumbered} }
+ { \begin{#2__nwejm_nonumbered}[##1] }
+ }{
+ \end{#2__nwejm_nonumbered}
+ }
+ }
+ }
+ \clist_put_right:Nn \g__nwejm_counters_to_be_reset_clist {#2}
+}
+\newtheorem{theorem}
+\newtheorem{corollary}
+\newtheorem{conjecture}
+\newtheorem{proposition}
+\newtheorem{lemma}
+\newtheorem{axiom}
+\newtheorem[style=definition]{definition}
+\newtheorem[style=definition]{remark}
+\newtheorem[style=definition]{example}
+\newtheorem[style=definition]{notation}
+\newtheorem[style=proof]{proof}
+\cs_new_protected:Nn \__nwejm_clone_theorem:nn
+{
+ \NewDocumentEnvironment{#1}{}
+ {
+ \begin{#2}
+ }{
+ \end{#2}
+ }
+ \NewDocumentEnvironment{#1*}{}
+ {
+ \begin{#2*}
+ }{
+ \end{#2*}
+ }
+}
+\__nwejm_clone_theorem:nn {Theorem}{theorem}
+\__nwejm_clone_theorem:nn {Corollary}{corollary}
+\__nwejm_clone_theorem:nn {Conjecture}{conjecture}
+\__nwejm_clone_theorem:nn {Proposition}{proposition}
+\__nwejm_clone_theorem:nn {Lemma}{lemma}
+\__nwejm_clone_theorem:nn {Axiom}{axiom}
+\__nwejm_clone_theorem:nn {Definition}{definition}
+\__nwejm_clone_theorem:nn {Remark}{remark}
+\__nwejm_clone_theorem:nn {Example}{example}
+\__nwejm_clone_theorem:nn {Notation}{notation}
+\__nwejm_clone_theorem:nn {Proof}{proof}
+\clist_set:Nn \l_tmpa_clist {%
+ theorem,
+ corollary,
+ conjecture,
+ proposition,
+ lemma,
+ axiom,
+ definition,
+ remark,
+ example,
+ notation,
+ proof%
+}
+\clist_map_inline:Nn \l_tmpa_clist {
+ \crefname{#1}{
+ \GetTranslation{#1}
+ }{%
+ \GetTranslation{plural-#1}
+ }
+ \Crefname{#1}{
+ \tl_mixed_case:n{ \protect
+ \GetTranslation{#1}
+ }
+ }{%
+ \tl_mixed_case:n{
+ \GetTranslation{plural-#1}
+ }
+ }
+}
+\clist_set:Nn \l_tmpa_clist {%
+ hypothesis,
+ assertion%
+}
+\clist_map_inline:Nn \l_tmpa_clist {
+ \newlist{#1}{enumerate}{1}
+ \setlist[#1]{%
+ label=
+ \normalfont
+ (
+ \textsf{
+ \tl_upper_case:n {\tl_head:f {\GetTranslation{#1}}}
+ }
+ $\c_math_subscript_token\mathsf{\arabic*}$),
+ ref=(
+ \textsf{
+ \tl_upper_case:n {\tl_head:f {\GetTranslation{#1}}}
+ }
+ $_\mathsf{\arabic*}$
+ )
+ }
+ \crefname{#1i}{
+ \GetTranslation{#1}
+ }{%
+ \GetTranslation{plural-#1}
+ }
+ \Crefname{#1i}{
+ \tl_mixed_case:n{
+ \GetTranslation{#1}
+ }
+ }{%
+ \tl_mixed_case:n{
+ \GetTranslation{plural-#1}
+ }
+ }
+}
+\NewDocumentEnvironment{hypotheses}{}
+{
+ \begin{hypothesis}
+ }{
+ \end{hypothesis}
+}
+\NewDocumentEnvironment{assertions}{}
+{
+ \begin{assertion}
+ }{
+ \end{assertion}
+}
+\RenewDocumentCommand{\DeclareMathOperator}{mm}
+{
+ \NewDocumentCommand{#1}{}
+ {
+ \operatorname{#2}
+ \peek_after:Nw \__nwejm_opx_check:
+ }
+}
+\NewDocumentCommand{\BinaryOperators}{m}
+{
+ \clist_gput_right:Nn \g__nwejm_opx_binary_clist { #1 }
+}
+\clist_new:N \g__nwejm_opx_binary_clist
+\cs_new_protected:Nn \__nwejm_opx_check:
+{
+ \clist_map_inline:Nn \g__nwejm_opx_binary_clist
+ {
+ \token_if_eq_meaning:NNT \l_peek_token ##1 { \clist_map_break:n { {\!} } }
+ }
+}
+\BinaryOperators{%
+ \amalg,%
+ \ast,%
+ \bigcirc,%
+ \bigtriangledown,%
+ \bigtriangleup,%
+ \bullet,%
+ \cap,%
+ \cdot,%
+ \circ,%
+ \cup,%
+ \dagger,%
+ \ddagger,%
+ \diamond,%
+ \div,%
+ \lhd,%
+ \mp,%
+ \odot,%
+ \ominus,%
+ \oplus,%
+ \oslash,%
+ \otimes,%
+ \pm,%
+ \rhd,%
+ \setminus,%
+ \sqcap,%
+ \sqcup,%
+ \star,%
+ \times,%
+ \triangleleft,%
+ \triangleright,%
+ \unlhd,%
+ \unrhd,%
+ \uplus,%
+ \vee,%
+ \wedge,%
+ \wr,%
+ \barwedge,%
+ \boxdot,%
+ \boxminus,%
+ \boxplus,%
+ \boxtimes,%
+ \Cap,%
+ \centerdot,%
+ \circledast,%
+ \circledcirc,%
+ \circleddash,%
+ \Cup,%
+ \curlyvee,%
+ \curlywedge,%
+ \divideontimes,%
+ \dotplus,%
+ \doublebarwedge,%
+ \intercal,%
+ \leftthreetimes,%
+ \ltimes,%
+ \rightthreetimes,%
+ \rtimes,%
+ \smallsetminus,%
+ \veebar%
+}
+\DeclareMathOperator{\cotan}{cotan}
+\DeclareMathOperator{\Arccos}{Arccos}
+\DeclareMathOperator{\Arcsin}{Arcsin}
+\DeclareMathOperator{\Arctan}{Arctan}
+\DeclareMathOperator{\arccosh}{arccosh}
+\DeclareMathOperator{\arcsinh}{arcsinh}
+\DeclareMathOperator{\arctanh}{arctanh}
+\DeclareMathOperator{\Argch}{Argch}
+\DeclareMathOperator{\Argsh}{Argsh}
+\DeclareMathOperator{\Argth}{Argth}
+\cs_set_eq:NN \__nwejm_orig_arccos \arccos
+\cs_set_eq:NN \__nwejm_orig_arcsin \arcsin
+\cs_set_eq:NN \__nwejm_orig_arctan \arctan
+\cs_set_eq:NN \__nwejm_orig_arccosh \arccosh
+\cs_set_eq:NN \__nwejm_orig_arcsinh \arcsinh
+\cs_set_eq:NN \__nwejm_orig_arctanh \arctanh
+\RenewDocumentCommand \arccos {} {
+ \ifcurrentbaselanguage{french}{\Arccos}{\__nwejm_orig_arccos}%
+}
+\RenewDocumentCommand \arcsin {} {
+ \ifcurrentbaselanguage {french}{\Arcsin}{\__nwejm_orig_arcsin}%
+}
+\RenewDocumentCommand \arctan {} {
+ \ifcurrentbaselanguage {french}{\Arctan}{\__nwejm_orig_arctan}%
+}
+\RenewDocumentCommand \arccosh {} {
+ \ifcurrentbaselanguage{french}{\Argch}{\__nwejm_orig_arccosh}%
+}
+\RenewDocumentCommand \arcsinh {} {
+ \ifcurrentbaselanguage {french}{\Argsh}{\__nwejm_orig_arcsinh}%
+}
+\RenewDocumentCommand \arctanh {} {
+ \ifcurrentbaselanguage {french}{\Argth}{\__nwejm_orig_arctanh}%
+}
+\cs_set_eq:NN \__nwejm_orig_cot \cot
+\RenewDocumentCommand \cot {} {
+ \ifcurrentbaselanguage {french}{\cotan}{\__nwejm_orig_cot}%
+}
+\DeclareMathOperator{\ch}{ch}
+\DeclareMathOperator{\sh}{sh}
+\cs_set_eq:NN \__nwejm_orig_cosh \cosh
+\cs_set_eq:NN \__nwejm_orig_sinh \sinh
+\cs_set_eq:NN \__nwejm_orig_tanh \tanh
+\RenewDocumentCommand \cosh {} {
+ \ifcurrentbaselanguage {french}{\ch}{\__nwejm_orig_cosh}%
+}
+\RenewDocumentCommand \sinh {} {
+ \ifcurrentbaselanguage {french}{\sh}{\__nwejm_orig_sinh}%
+}
+\RenewDocumentCommand \tanh {} {
+ \ifcurrentbaselanguage {french}{\operatorname{th}}{\__nwejm_orig_tanh}%
+}
+\DeclareMathOperator{\Id}{Id}
+\cs_set_eq:NN \__nwejm_orig_log \log
+\cs_set_eq:NN \__nwejm_orig_lg \lg
+\RenewDocumentCommand \log { s } {
+ \IfBooleanTF {#1}
+ {
+ \__nwejm_orig_log
+ }
+ {
+ \ln
+ }
+}
+\RenewDocumentCommand \lg { s } {
+ \IfBooleanTF {#1}
+ {
+ \__nwejm_orig_lg
+ }
+ {
+ \ln
+ }
+}
+\NewDocumentCommand \E { O{} } {
+ \ensuremath{
+ \mathsf{e}
+ \tl_if_empty:nF {#1} {^{#1}}
+ }
+}
+\NewDocumentCommand \I { } {
+ \ensuremath{\mathsf{i}}
+}
+\bool_new:N \g__nwejm_grad_used_bool
+\NewDocumentCommand \grad {} {%
+ \bool_if:NTF \g__nwejm_gradient_nabla_bool {
+ \operatorname{\nabla}
+ }{
+ \operatorname{grad}
+ }%
+ \peek_after:Nw \__nwejm_opx_check:
+ \bool_if:NTF \g__nwejm_grad_used_bool {
+ \bool_if:nT { (\g__nwejm_gradient_nabla_bool && !\g__nwejm_gradient_nabla_control_bool)
+ || ( !\g__nwejm_gradient_nabla_bool && \g__nwejm_gradient_nabla_control_bool) } {
+ \msg_error:nnn{nwejmart}{Article~setup~not~consistent}{gradient}
+ }
+ }{
+ \bool_gset_eq:NN \g__nwejm_gradient_nabla_control_bool \g__nwejm_gradient_nabla_bool
+ \bool_gset_true:N \g__nwejm_grad_used_bool
+ }
+}
+\DeclareMathOperator{\Div}{div}
+\NewDocumentCommand \curl {} {%
+ \ifcurrentbaselanguage {english}{
+ \operatorname{curl}
+ }{
+ \operatorname{rot}
+ }%
+ \peek_after:Nw \__nwejm_opx_check:
+}
+\NewDocumentCommand \supp {} {%
+ \ifcurrentbaselanguage {ngerman}{
+ \operatorname{Tr}
+ }{
+ \operatorname{supp}
+ }%
+ \peek_after:Nw \__nwejm_opx_check:
+}
+\NewDocumentCommand \dif {}{\mathop{}\!\mathrm{d}}
+\cs_set_eq:NN \__nwejm_orig_leq \leq
+\cs_set_eq:NN \__nwejm_orig_geq \geq
+\RenewDocumentCommand \le {} {%
+ \ifcurrentbaselanguage {french}{\leqslant}{\__nwejm_orig_leq}%
+}
+\RenewDocumentCommand \leq {} {%
+ \ifcurrentbaselanguage {french}{\leqslant}{\__nwejm_orig_leq}%
+}
+\RenewDocumentCommand \ge {} {%
+ \ifcurrentbaselanguage {french}{\geqslant}{\__nwejm_orig_geq}%
+}
+\RenewDocumentCommand \geq {} {%
+ \ifcurrentbaselanguage {french}{\geqslant}{\__nwejm_orig_geq}%
+}
+\NewDocumentCommand \bbN {} {\mathbb{N}}
+\NewDocumentCommand \bbZ {} {\mathbb{Z}}
+\NewDocumentCommand \bbD {} {\mathbb{D}}
+\NewDocumentCommand \bbQ {} {\mathbb{Q}}
+\NewDocumentCommand \bbR {} {\mathbb{R}}
+\NewDocumentCommand \bbC {} {\mathbb{C}}
+\NewDocumentCommand \bbK {} {\mathbb{K}}
+\cs_set_eq:NN \emptyset \varnothing
+\tl_new:N \l__nwejm_given_tl
+\tl_set:Nn \l__nwejm_given_tl {
+ \nonscript\:\delimsize\slash
+ \allowbreak
+ \nonscript\:
+ \mathopen{}
+}%
+\DeclarePairedDelimiterX\__nwejm_set[1]\{\}{%
+ #1
+}
+\NewDocumentCommand \set { m O{} } {
+ \if@display
+ \tl_if_empty:nTF {#2} {%
+ \__nwejm_set*{#1}
+ }{
+ \__nwejm_set*{#1\l__nwejm_given_tl #2}
+ }
+ \else
+ \tl_if_empty:nTF {#2} {%
+ \__nwejm_set{#1}
+ }{
+ \__nwejm_set{#1\l__nwejm_given_tl #2}
+ }
+ \fi
+}
+\DeclareDocumentCommand{\NewPairedDelimiter}{mm}
+ {
+ \__nwejm_delimiter_clear_keys: % reset to the default
+ \keys_set:nn { nwejm/delimiters } { #2 }
+ \use:x % we want to expand the values of the token variables set with the keys
+ {
+ \exp_not:n {\NewDocumentCommand{#1}{sO{}m} }
+ {
+ \exp_not:n { \IfBooleanTF{##1} }
+ {
+ \exp_not:N \__nwejm_paired_delimiter:nnnnn
+ { \exp_not:n { 0 } }
+ { \exp_not:V \l__nwejm_delimiter_left_tl }
+ { \exp_not:V \l__nwejm_delimiter_right_tl }
+ { \exp_not:n { ##3 } }
+ { \exp_not:V \l__nwejm_delimiter_subscript_tl }
+ }
+ {
+ \exp_not:N \__nwejm_paired_delimiter:nnnnn
+ { \exp_not:n { ##2 } }
+ { \exp_not:V \l__nwejm_delimiter_left_tl }
+ { \exp_not:V \l__nwejm_delimiter_right_tl }
+ { \exp_not:n { ##3 } }
+ { \exp_not:V \l__nwejm_delimiter_subscript_tl }
+ }
+ }
+ }
+ }
+\keys_define:nn { nwejm/delimiters }
+ {
+ left .tl_set:N = \l__nwejm_delimiter_left_tl,
+ right .tl_set:N = \l__nwejm_delimiter_right_tl,
+ subscript .tl_set:N = \l__nwejm_delimiter_subscript_tl,
+ }
+\cs_new_protected:Npn \__nwejm_delimiter_clear_keys:
+ {
+ \keys_set:nn { nwejm/delimiters } { left=.,right=.,subscript={} }
+ }
+\cs_new_protected:Npn \__nwejm_paired_delimiter_expand:nnnn #1 #2 #3 #4
+ {% Fix the spacing issue with \left and \right (D. Arsenau, P. Stephani and H. Oberdiek)
+ \mathopen{}
+ \mathclose\c_group_begin_token
+ \left#1
+ #3
+ \group_insert_after:N \c_group_end_token
+ \right#2
+ \tl_if_empty:nF {#4} { \c_math_subscript_token {#4} }
+ }
+\cs_new_protected:Npn \__nwejm_paired_delimiter_fixed:nnnnn #1 #2 #3 #4 #5
+ {
+ \mathopen{#1#2}#4\mathclose{#1#3}
+ \tl_if_empty:nF {#5} { \c_math_subscript_token {#5} }
+ }
+\cs_new_protected:Npn \__nwejm_paired_delimiter:nnnnn #1 #2 #3 #4 #5
+ {
+ \str_case:nnF {#1}
+ {
+ { } { \__nwejm_paired_delimiter_expand:nnnn {#2}{#3}{#4}{#5} }
+ {0} { \__nwejm_paired_delimiter_fixed:nnnnn {}{#2}{#3}{#4}{#5} }
+ {1} { \__nwejm_paired_delimiter_fixed:nnnnn { \big }{#2}{#3}{#4}{#5} }
+ {\big} { \__nwejm_paired_delimiter_fixed:nnnnn { \big }{#2}{#3}{#4}{#5} }
+ {2} { \__nwejm_paired_delimiter_fixed:nnnnn { \Big }{#2}{#3}{#4}{#5} }
+ {\Big} { \__nwejm_paired_delimiter_fixed:nnnnn { \Big }{#2}{#3}{#4}{#5} }
+ {3} { \__nwejm_paired_delimiter_fixed:nnnnn { \bigg }{#2}{#3}{#4}{#5} }
+ {\bigg} { \__nwejm_paired_delimiter_fixed:nnnnn { \bigg }{#2}{#3}{#4}{#5} }
+ {4} { \__nwejm_paired_delimiter_fixed:nnnnn { \Bigg }{#2}{#3}{#4}{#5} }
+ {\Bigg} { \__nwejm_paired_delimiter_fixed:nnnnn { \Bigg }{#2}{#3}{#4}{#5} }
+ }
+ {
+ \msg_warning:nnn{nwejmart}{Wrong~paired~delimiter's~size~parameter}{#1}
+ \__nwejm_paired_delimiter_expand:nnnn {#2}{#3}{#4}
+ }
+ }
+\NewPairedDelimiter{\norm}{
+ left=\lVert,
+ right=\rVert
+}
+\NewPairedDelimiter{\lnorm}{
+ left=\lVert,
+ right=\rVert,
+ subscript=1
+}
+\NewPairedDelimiter{\llnorm}{
+ left=\lVert,
+ right=\rVert,
+ subscript=2
+}
+\NewPairedDelimiter{\lpnorm}{
+ left=\lVert,
+ right=\rVert,
+ subscript=p
+}
+\NewPairedDelimiter{\supnorm}{
+ left=\lVert,
+ right=\rVert,
+ subscript=\infty
+}
+\NewPairedDelimiter{\abs}{
+ left=\lvert,
+ right=\rvert
+}
+\NewPairedDelimiter{\prt}{
+ left=(,
+ right=)
+}
+\NewPairedDelimiter{\brk}{
+ left=[,
+ right=]
+}
+\NewPairedDelimiter{\brc}{
+ left=\{,
+ right=\}
+}
+\NewPairedDelimiter{\lrangle}{
+ left=\langle,
+ right=\rangle
+}
+\NewPairedDelimiter{\leqgeq}{
+ left=<,
+ right=>
+}
+\AfterEndPreamble{
+ \autonum@generatePatchedReferenceCSL{vref}
+ \clist_set:Nn \l_tmpa_clist {equation,align,gather,multline,flalign}
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \cs_set_eq:cc {#1*} {#1}
+ \cs_set_eq:cc {end#1*} {end#1}
+ }
+ % \msg_warning:nnn{nwejmart}{Starred~AMS~environments}{#1}
+}
+\etocsettocdepth{subsection}
+\@ifpackageloaded{pgfplots}{%
+ \ifcurrentbaselanguage{french}{%
+ \pgfplotsset{%
+ /pgf/number~format/.cd,
+ use~comma,
+ 1000~sep={\,},
+ min~exponent~for~1000~sep=4
+ }%
+ }{
+ }
+}
+\AtEndPreamble{%
+ \defbibheading{__nwejm_subbibliography}[\refname]{%
+ \section*{#1}
+ }%
+ \SetCiteCommand{\autocite}%
+}%
+\int_new:N \l__nwejm_section_int
+\cs_set_eq:NN \__nwejm_printbibliography \printbibliography
+\RenewDocumentCommand \printbibliography { O{} } {
+ \tl_if_empty:NF {\g__nwejm_article_acknowledgments_tl}
+ {
+ \section*{\GetTranslation{Acknowledgments}}
+ \g__nwejm_article_acknowledgments_tl
+ \tl_gclear:N \g__nwejm_article_acknowledgments_tl
+ }
+ \__nwejm_printbibliography[heading=__nwejm_subbibliography,resetnumbers,#1]
+ \bool_if:NF \g__nwejm_nolocaltoc_bool {
+ \newpage
+ \setcounter{page}{0}
+ \pagenumbering{roman}%
+ \etocarticlestylenomarks
+ \etocsetlevel{chapter}{6}
+ \tableofcontents
+ }
+}
+\exp_after:wN\addbibresource\exp_after:wN{\c__nwejm_issue_bib_path_string_tl}
+\ifkp@easyscsl
+\DeclareRobustCommand{\itshape}{\not@math@alphabet\itshape\mathit%
+ \ifthenelse{\equal{\f@shape}{\scdefault}}{\fontshape{scsl}}{%
+ \fontshape\itdefault}\selectfont}
+\fi
+\DeclareMathAlphabet\mathfrak{U}{euf}{m}{n}
+\SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n}
+\expandafter\def\expandafter\pdfstringdefPreHook
+\expandafter{%
+ \pdfstringdefPreHook
+ \renewcommand{\acrshort}[1]{\tl_upper_case:n {\glsentryshort{##1}}}%
+}
+\@ifpackageloaded{draftwatermark}{%
+ \SetWatermarkColor{gray!10}%
+ \SetWatermarkFontSize{30mm}%
+ \SetWatermarkText{\MakeUppercase{\c__nwejm_draftwatermark_string_tl}}%
+}{%
+}
+\pdftex_if_engine:T
+ {
+ \renewcommand{\ttdefault}{lmtt}
+ }
+\tl_new:N \g__nwejm_font_designer_text_tl%
+\cs_new_protected:Nn \__nwejm_font_designer_text:n
+{
+ \tl_gset:Nn \g__nwejm_font_designer_text_tl { #1 }
+}
+\NewDocumentCommand \fontdesignertext {m}
+{
+ \__nwejm_font_designer_text:n {#1}%
+}
+\tl_new:N \g__nwejm_printer_text_tl%
+\cs_new_protected:Nn \__nwejm_printer_text:n
+{
+ \tl_gset:Nn \g__nwejm_printer_text_tl { #1 }
+}
+\NewDocumentCommand \printertext {m}
+{
+ \__nwejm_printer_text:n {#1}%
+}
+\NewDocumentCommand \nwejm { s } {
+ \IfBooleanTF {#1}
+ {
+ \g__nwejm_nwejm_string_tl
+ }
+ {
+ \g__nwejm_nwejm_short_string_tl
+ }
+ \xspace
+}
+\AfterEndPreamble{%
+ \titleformat{\chapter}[block]
+ {\normalfont\centering}{}{0pt}{}
+ \titlespacing*{\chapter}{0pt}{0pt}{0pt}
+}
+\ExplSyntaxOff
+\patchcmd{\autonum@saveEnvironmentSubcommands}
+ {(0,0)\begin}
+ {(0,0)\hfuzz=\maxdimen\begin}
+ {}{}
+%%
+%% Copyright (C) 2015, 2016 by Denis Bitouze <denis.bitouze@lmpa.univ-littoral.fr>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License (LPPL), either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in the file:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status) by
+%% Denis Bitouze.
+%%
+%% This work consists of the file nwejm.dtx and a Makefile.
+%% Running "make" generates the derived files README, nwejm.pdf and nwejm.cls.
+%% Running "make inst" installs the files in the user's TeX tree.
+%% Running "make install" installs the files in the local TeX tree.
+%%
+%%
+%% End of file `nwejmart.cls'.