summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/els-cas-template/cas-common.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/els-cas-template/cas-common.sty')
-rw-r--r--Master/texmf-dist/tex/latex/els-cas-template/cas-common.sty2359
1 files changed, 0 insertions, 2359 deletions
diff --git a/Master/texmf-dist/tex/latex/els-cas-template/cas-common.sty b/Master/texmf-dist/tex/latex/els-cas-template/cas-common.sty
deleted file mode 100644
index 688390fce95..00000000000
--- a/Master/texmf-dist/tex/latex/els-cas-template/cas-common.sty
+++ /dev/null
@@ -1,2359 +0,0 @@
-%%
-%% This is file `cas-common.sty',
-%%
-%% This file is part of the 'CAS Bundle'.
-%% ......................................
-%%
-%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 of this license or (at your option) any
-%% later version. The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
-%% version 1999/12/01 or later.
-%%
-%% The list of all files belonging to the 'CAS Bundle' is
-%% given in the file `manifest.txt'.
-%%
-
-% $Id: cas-common.sty 12 2019-03-19 06:03:53Z rishi $
-
- \def\RCSfile{cas-common}%
- \def\RCSversion{1.0}%
- \def\RCSdate{2019/02/11}%
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-
-\ExplSyntaxOn
-\makeatletter
-%
-% Front matter macros
-%
-% The front matter macros are derived/adopted from stm-prelims.sty
-% written by CV Radhakrishnan <cvr@cvr.cc> and copyrighted by him.
-% Usage of those macros and methods are gratefully acknowledged.
-%
-
-\keys_define:nn { stm / title }
- {
- mode .choice: ,
- mode / title .meta:n =
- {
- type = title ,
- size = \LARGE ,
- shape = \upshape ,
- weight = \mdseries ,
- color = black ,
- before = 0pt ,
- after = 0pt ,
- align = \raggedright ,
- } ,
- mode / alt .meta:n =
- {
- type = alt ,
- size = \large ,
- shape = \upshape ,
- weight = \mdseries ,
- color = black ,
- before = 6pt ,
- after = 0pt ,
- align = \raggedright ,
- } ,
- mode / sub .meta:n =
- {
- type = sub ,
- size = \large ,
- shape = \upshape ,
- weight = \mdseries ,
- color = black!80 ,
- before = 6pt ,
- after = 0pt ,
- align = \raggedright ,
- } ,
- mode / trans .meta:n =
- {
- type = trans ,
- size = \normalsize ,
- shape = \upshape ,
- weight = \mdseries ,
- color = black!60 ,
- before = 6pt ,
- after = 0pt ,
- align = \raggedright ,
- } ,
- mode / transsub .meta:n =
- {
- type = transsub ,
- size = \small ,
- shape = \upshape ,
- weight = \mdseries ,
- color = black!50 ,
- before = 6pt ,
- after = 0pt ,
- align = \raggedright ,
- } ,
- mode / ascii .meta:n =
- {
- type = ascii ,
- size = \small\ttfamily ,
- shape = \upshape ,
- weight = \mdseries ,
- color = black ,
- before = 12pt ,
- after = 0pt ,
- align = \raggedright ,
- } ,
- type .tl_set:N = \l_stm_title_type_tl ,
- size .tl_set:N = \l_stm_title_size_tl ,
- shape .tl_set:N = \l_stm_title_shape_tl ,
- weight .tl_set:N = \l_stm_title_weight_tl ,
- before .dim_set:N = \l_stm_title_before_dim ,
- after .dim_set:N = \l_stm_title_after_dim ,
- align .tl_set:N = \l_stm_title_align_tl ,
- color .tl_set:N = \l_stm_title_color_tl ,
- }
-
-\NewDocumentCommand \processTmarks { }
- {
- \cs_if_free:cTF { mark@title }
- { \ignorespaces }
- { \tl_set:Nx \l_tmpa_tl { \cs:w mark@title\cs_end: }
- \clist_map_inline:cn { mark@title }
- {
- \str_case:nn { ##1 }
- {
- { 1 } { $^\star$ }
- { 2 } { $^{,\star\star}$ }
- { 3 } { $^{,\star\star\star}$ }
- }
- }
- }
- }
-
-\RenewDocumentCommand \title { O{} m }
- {
- \pdfstringdef \@pdftitle { #2 }
- \csgdef { casprelimstitle } { #2 }
- \keys_set:nn { stm / title } { #1 }
- \seq_gput_right:Nn \g_stm_title_seq
- {
- \keys_set:nn { stm / title } { #1 }
-% \msg_term:n { MODE:~\l_stm_title_mode_tl ~ ~ [#2]}
- \par \vskip \l_stm_title_before_dim
- \l_stm_title_align_tl
- \l_stm_title_size_tl
- \l_stm_title_shape_tl
- \l_stm_title_weight_tl
- \color { \l_stm_title_color_tl }
- #2
- \tl_set:Nn \l_tmpa_tl { title }
- \tl_if_eq:NNTF \l_stm_title_type_tl \l_tmpa_tl
- { \processTmarks } { }
- \par \vskip \l_stm_title_after_dim
- \normalcolor \normalsize \normalfont
- }
- }
-
-% \gappto\usestmtitle{#1}%
-
-\renewcommand \@title { \seq_use:Nn \g_stm_title_seq { } }
-
-\NewDocumentCommand \wrAun { m } % unexpanded write to aux
- { \iow_now:Nn \@auxout { #1 } }
-\NewDocumentCommand \wrAux { m } % expanded write to aux
- { \iow_now:Nx \@auxout { #1 } }
-
-\NewDocumentCommand \wrShipAux { m } % expanded write at shipout
- { \iow_shipout:Nx \@auxout { #1 } }
-\NewDocumentCommand \wrShipAun { m } % unexpanded write at shipout
- { \iow_shipout:Nn \@auxout { #1 } }
-
-\NewDocumentCommand \stmLabel { m }
- {
- \@bsphack \wrAux
- { \token_to_str:N \NewLabel { #1 }
- { \@currentlabel }
- } \@esphack
- }
-\NewDocumentCommand \NewLabel { m m }
- {
- \cs_if_free:cTF { X@#1: }
- { \cs_new:cx { X@#1: } { #2 } }
- { \cs_set:cx { X@#1: } { #2 } }
- }
-\NewDocumentCommand \stmRef { m }
- {
- \cs_if_free:cTF { X@#1: }
- { 0 } {\use:c {X@#1:} }
- }
-
-\seq_clear_new:N \l_fnmk_seq
-\NewDocumentCommand \processFnRef { m }
- {
- \seq_clear:N \l_fnmk_seq
- \clist_map_inline:nn { #1 }
- { \seq_put_right:Nx \l_fnmk_seq
- {\cs_if_free:cTF { X@##1: } {0} { \use:c {X@##1:} }}
- }
- }
-
-\NewDocumentCommand \fnmark { O{} }
- { \writemarks { fnau\theau@ } { #1 } }
-
-
-\NewDocumentCommand \fnref { m }
- {
- \processFnRef { #1 }
- \wrAux { \token_to_str:N \csxdef {mark@fnau\theau@}
- { \seq_use:Nn \l_fnmk_seq { , } } }
- }
-
-\NewDocumentCommand \corref { m }
- {
- \str_set:Nx \l_tmpa_str { \stmRef { #1 } }
- \wrAux { \token_to_str:N \csxdef { mark@corau\theau@ }
- {
- \cs_if_free:cTF { X@#1: } {0} { \use:c {X@#1:} }
- }
- }
- }
-
-\NewDocumentCommand \cormark { O{} }
- {
- \@cormarktrue
- \writemarks {corau\theau@} { #1 }
- }
-
-\seq_new:N \l_stm_au_seq
-\seq_new:N \l_stm_au_sn_seq
-\seq_new:N \l_stm_au_fn_seq
-\seq_new:N \l_stm_au_ead_seq
-\seq_new:N \l_stm_au_orcid_seq
-\seq_new:N \l_stm_au_contrib_role_seq
-
-\NewDocumentCommand \parsename { m }
- { \seq_set_split:Nnn \l_stm_au_seq { ~ } {#1}
- \seq_pop_right:NN \l_stm_au_seq \l_stm_au_sn_seq
- \seq_map_inline:Nn \l_stm_au_seq
- { \seq_put_right:Nx \l_stm_au_ead_seq
- { \tl_head:n { #1 }. } }
- }
-
-\NewDocumentCommand \invparsename { m }
- { \seq_set_split:Nnn \l_stm_au_seq { ~ } {#1}
- \seq_pop_left:NN \l_stm_au_seq \l_stm_au_sn_seq
- \seq_map_inline:Nn \l_stm_au_seq
- { \seq_put_right:Nx \l_stm_au_ead_seq
- { \tl_head:n { #1 }. } }
- }
-
-
-\NewDocumentCommand \surname {} { \l_stm_au_sn_seq }
-\NewDocumentCommand \firstname {}
- { \seq_use:Nn \l_stm_au_seq { ~ } }
-\NewDocumentCommand \eadauthor {}
- { \seq_map_inline:Nn \l_stm_au_seq
- { \regex_match:nnTF { \. } { ##1 }
- { ##1 }
- { \tl_head:n {##1}. }
- }
- {~} \l_stm_au_sn_seq
- }
-\cs_set_eq:NN \shortauthor \eadauthor
-
-\seq_clear_new:N \l_affmk_seq
-\NewDocumentCommand \processAffRef { m }
- {
- \seq_clear:N \l_affmk_seq
- \clist_map_inline:nn { #1 }
- {
- \seq_put_right:Nx \l_affmk_seq
- {\stmRef{##1}}
- }
- }
-
-\NewDocumentCommand \processAffNum { m }
- {
- \seq_clear:N \l_affmk_seq
- \clist_map_inline:nn { #1 }
- {
- \seq_put_right:Nn \l_affmk_seq
- { \int_to_alph:n {##1} }
- }
- }
-
-\NewDocumentCommand \listAff { }
- {
- \tl_if_blank:nTF { \l_affmk_seq }
- { \tl_gset:Nn \g_stm_comma_tl { 0 } }
- {
- \seq_use:Nn \l_affmk_seq { , }
- \tex_def:D \sep{\unskip,}
- }
- }
-
-\NewDocumentCommand \ead { O{} m }
- {
- \tl_if_empty:nTF { #1 } { \@ead {#2} } { \@uad[#1]{#2} }
- }
-
-\NewDocumentCommand \eadsep { } { }
-
-\int_new:N \g_ead_int
-\seq_new:N \g_stm_ead_seq
-\int_new:N \g_uad_int
-\seq_new:N \g_stm_uad_seq
-\seq_new:N \g_stm_orcid_seq
-\seq_new:N \g_stm_contrib_role_seq
-
-\newcommand\theead { \int_use:N \g_ead_int }
-
-\NewDocumentCommand \@uad { O{} m }
- {
- \group_begin:
- \wrAux { \token_to_str:N \urlauthor
- { \exp_not:n {#2}}{\the\@eadauthor}}%
- \group_end:
- }
-
-\NewDocumentCommand \urlauthor { m m }
- {
- \int_gincr:N \g_uad_int
- \seq_gput_right:Nn \g_stm_uad_seq
- {
- { %\ttfamily \tl_to_str:n
- \url{ #1 } }
- \parsename { #2 }
- \space(\eadauthor)
- }
- }
-\NewDocumentCommand \@stmuads { }
- { \seq_use:Nn \g_stm_uad_seq { ;~ } }
-
-\NewDocumentCommand \@ead { m }
- {
- \group_begin:
- \wrAux { \token_to_str:N \emailauthor
- { \exp_not:n { #1 }}{ \the\@eadauthor }}
- \group_end:
- }
-
-\newtoks \@eadauthor
-\newbool{@cormark}
-
-\NewDocumentCommand \emailauthor { m m }
- {
- \int_gincr:N \g_ead_int
- \seq_gput_right:Nn \g_stm_ead_seq
- {
- { \ttfamily \tl_to_str:n { #1 } }
- \parsename { #2 }
- \space(\eadauthor)%
- }
- }
-
-\NewDocumentCommand \@elseads { }
- { \seq_use:Nn \g_stm_ead_seq { ;~ } }
-
-
-\NewDocumentCommand \printemails { }
-{
- \group_begin:
- \int_compare:nNnTF { \int_use:N \g_ead_int } > { 0 }
- {
- \tex_let:D \thefootnote \relax \footnotetext
- {
- \raggedright
- \bool_if:NTF \g_stm_nologo_bool
- {
- \int_compare:nTF { \g_ead_int = 1 }
- { \textit{Email~address:\c_space_token} }
- { \textit{Email~addresses:\c_space_token} }
- }
- { \includegraphics[height=8pt]{thumbnails/email.jpeg}\c_space_token }
- \seq_use:Nn \g_stm_ead_seq { ;~ }
- }
- }
- { }
- \group_end:
-}
-
-\NewDocumentCommand \printurls { }
-{
- \group_begin:
- \int_compare:nTF { \g_uad_int > 0 }
- {
- \tex_let:D \thefootnote \relax \footnotetext
- {
- \raggedright
- \bool_if:NTF \g_stm_nologo_bool
- { \textit{URL:\c_space_token} }
- { \includegraphics[height=8pt]{thumbnails/url.jpeg}\c_space_token }
- \seq_use:Nn \g_stm_uad_seq { ;~ }
- }
- }
- { }
- \group_end:
-}
-
-%
-% orcid
-%
-\NewDocumentCommand \orcidauthor { m m }
- {
- \seq_gput_right:Nn \g_stm_orcid_seq
- {
- { \ttfamily \tl_to_str:n { #1 } }
- \parsename{#2}
- \space(\eadauthor)
- }
- }
-
-\NewDocumentCommand \printorcid { }
-{
- \group_begin:
- \tex_let:D \thefootnote \relax \footnotetext
- {
- \raggedright
- \textsc{orcid}(s):\c_space_token
- \seq_use:Nn \g_stm_orcid_seq { ;~ }
- }
- \group_end:
-}
-
-%
-% Contrib Role
-%
-
-\seq_gclear_new:N \g_stm_credits_seq
-
-\NewDocumentCommand \ContribRole { m }
-{
- \wrAux { \token_to_str:N \creditauthor
- { #1 } { \the\@eadauthor } }
-}
-
-\NewDocumentCommand \creditauthor { m m }
-{
- \seq_gput_right:Nx \g_stm_credits_seq
- { { \exp_not:N\bfseries #2 :}\space #1 }
-}
-
-\cs_set_eq:NN \credit \ContribRole
-
-\NewDocumentCommand \printcredits { }
-{
- \seq_if_empty:NF \g_stm_credits_seq
- {
- \section*{CRediT ~authorship ~contribution ~statement}
- \seq_use:Nn \g_stm_credits_seq { .~ }.
- }
-}
-
-\NewDocumentCommand \writemarks { m m }
- { \wrAux { \token_to_str:N \csgdef{mark@#1}{#2} } }
-
-\seq_new:N \g_stm_title_seq
-
-\NewDocumentCommand \tnotemark { O{} }
- { \writemarks { title } { #1 } }
-
-\NewDocumentCommand \@tnoteref { m }
- { \int_set:Nn \l_tmpa_int { 0 }
- \clist_map_inline:nn { #1 }
- {
-% \msg_term:n { ##1 .. [\cs:w X@##1:\cs_end:] }
- \cs_if_free:cTF { X@##1: }
- { \csdef{X@##1:}{0} }
- {
- \tl_set:Nx \l_tmpa_tl { \cs:w X@##1:\cs_end: }
- \int_case:nn { \l_tmpa_tl }
- {
- { 1 } { $^\star$ }
- { 2 } { $^{,\star\star}$ }
- { 3 } { $^{,\star\star\star}$ }
- }
- }
- }
- }
-
-\seq_new:N \g_stm_tnote_seq
-\int_new:N \g_stm_tnote_int
-
-\NewDocumentCommand \tnotetext { O{} m }
- {
- \tl_if_head_eq_catcode:nNTF { #1 } a
- {
- \msg_term:n { [TNOTE:~alpha] }%
- \seq_gput_right:Nn \g_stm_tnote_seq
- { \int_incr:N \g_stm_tnote_int
- \str_set:Nx \@currentlabel { \int_use:N \g_stm_tnote_int }
- \stmLabel { #1 }
- \renewcommand\thefootnote
- { \int_case:nn { \g_stm_tnote_int }
- {
- { 1 } { $^\star$ }
- { 2 } { $^{\star\star}$ }
- { 3 } { $^{\star\star\star}$ }
- }
- }
- \footnotetext { #2 }
- }
- }
- {
- \msg_term:n { [TNOTE:~Number] }
- \seq_gput_right:Nn \g_stm_tnote_seq
- {
- \int_set:Nn \l_tmpa_int { #1 }
- \renewcommand\thefootnote
- { \int_case:nn { \l_tmpa_int }
- {
- { 1 } { $^\star$ }
- { 2 } { $^{\star\star}$ }
- { 3 } { $^{\star\star\star}$ }
- }
- }
- \footnotetext { #2 }
- }
- }
- }
-
-\newcommand \printtnotes { \seq_use:Nn \g_stm_tnote_seq { \par } }
-
-\seq_new:N \g_stm_nonumnote_seq
-
-\NewDocumentCommand \nonumnote { m }
-{
- \group_begin:
- \seq_gput_right:Nn \g_stm_nonumnote_seq
- {
- \tex_def:D \thefootnote { }
- \footnotetext{#1}
- }
- \group_end:
-}
-
-\newcommand \printnonumnotes { \seq_use:Nn \g_stm_nonumnote_seq { \par } }
-
-\seq_new:N \g_stm_fnote_seq
-\int_new:N \g_stm_fnote_int
-
-\NewDocumentCommand \fntext { O{} m }
-{
- \tl_if_head_eq_catcode:nNTF { #1 } a
- {
- \msg_term:n { [FN:~alpha] }%
- \seq_gput_right:Nn \g_stm_fnote_seq
- { \int_incr:N \g_stm_fnote_int
- \str_set:Nx \@currentlabel { \int_use:N \g_stm_fnote_int }
- \stmLabel { #1 }
- \tex_def:D \thefootnote { \int_use:N \g_stm_fnote_int }
- \footnotetext { #2 }
- }
- }
- {
- \msg_term:n { [FN:~Number] }
- \seq_gput_right:Nn \g_stm_fnote_seq
- {
- \int_set:Nn \l_tmpa_int { #1 }
- \tex_def:D \thefootnote { \int_use:N \l_tmpa_int }
- \footnotetext { #2 }
- }
- }
-}
-
-\newcommand \printfnotes { \seq_use:Nn \g_stm_fnote_seq { \par } }
-
-\seq_new:N \g_stm_cor_seq
-\int_new:N \g_stm_cor_int
-
-\NewDocumentCommand \cortext { O{} m }
-{
- \tl_if_head_eq_catcode:nNTF { #1 } a
- {
- \msg_term:n { [COR:~alpha] }%
- \seq_gput_right:Nn \g_stm_cor_seq
- { \int_incr:N \g_stm_cor_int
- \str_set:Nx \@currentlabel { \int_use:N \g_stm_cor_int }
- \stmLabel { #1 }
- \tex_def:D \thefootnote
- { \int_case:nn { \g_stm_cor_int }
- {
- { 1 } { $\ast$ }
- { 2 } { $\ast\!\ast$ }
- { 3 } { $\ast\!\ast\!\ast$ }
- }
- }
- \footnotetext { #2 }
- }
- }
- {
- \msg_term:n { [COR:~Number] }
- \seq_gput_right:Nn \g_stm_cor_seq
- {
- \int_set:Nn \l_tmpa_int { #1 }
- \tex_def:D \thefootnote
- { \int_case:nn { \l_tmpa_int }
- {
- { 1 } { $\ast$ }
- { 2 } { $\ast\!\ast$ }
- { 3 } { $\ast\!\ast\!\ast$ }
- }
- }
- \footnotetext { #2 }
- }
- }
-}
-
-\newcommand \printcornotes { \seq_use:Nn \g_stm_cor_seq { \par } }
-
-\NewDocumentCommand \process@marks { }
- {
- \cs_if_free:cTF { mark@corau\theauthor }
- { \ignorespaces }
- { \str_set:Nx \l_tmpa_str { \use:c{ mark@corau\theauthor } }
- \int_case:nn { \l_tmpa_str }
- {
- { 1 } { \sep$\ast$ }
- { 2 } { \sep$\ast\ast$ }
- { 3 } { \sep$\ast\!\ast\!\ast$ }
- }
- \tex_def:D \sep{\unskip,}
- }
- \cs_if_free:cTF { mark@fnau\theauthor }
- { \ignorespaces }
- { \sep\use:c { mark@fnau\theauthor }
- \tex_def:D \sep{\unskip,}
- }
- }
-
-
-%
-% Author macros
-%
-\seq_new:c { g_stm_au0_seq }
-\seq_new:c { g_stm_clau0_seq }
-\int_new:N \g_stm_au_int
-\int_new:N \g_stm_aau_int
-
-\NewDocumentCommand \ResetMarks { }
- {
- \keys_set:nn { stm / author }
- {
- auid = {} ,
- bioid = {} ,
- alt = {} ,
- style = { normal } ,
- prefix = {} ,
- suffix = {} ,
- degree = {} ,
- role = {} ,
- orcid = {} ,
- collab = { false } ,
- type = { author } ,
- anon = { false } ,
- deceased = { false } ,
- twitter = {} ,
- facebook = {} ,
- linkedin = {} ,
- plus = {} ,
- gplus = {} ,
- }
- \tex_gdef:D \sep{}
- \tex_gdef:D \stm@corref{}
- \tex_gdef:D \@fnmark {}
- }
-
-
-\int_new:N \l_autype_int
-\keys_define:nn { stm / author }
- {
- auid .tl_set:N = \l_stm_au_id_tl ,
- bioid .tl_set:N = \l_stm_au_bioid_tl ,
- alt .tl_set:N = \l_stm_au_alt_tl ,
- style .tl_set:N = \l_stm_au_style_tl ,
- prefix .tl_set:N = \l_stm_au_prefix_tl ,
- suffix .tl_set:N = \l_stm_au_suffix_tl ,
- degree .tl_set:N = \l_stm_au_degree_tl ,
- role .tl_set:N = \l_stm_au_role_tl ,
- orcid .tl_set:N = \l_stm_au_orcid_tl ,
- collab .bool_set:N = \l_stm_au_collab_bool ,
- type .multichoice:,
- type/author .code:n = { \int_set:Nn \l_autype_int { 0 } },
- type/editor .code:n = { \int_set:Nn \l_autype_int { 1 } },
- type/collab .code:n = { \int_set:Nn \l_autype_int { 2 } },
- type/anon .code:n = { \int_set:Nn \l_autype_int { 3 } },
-% type/collab .bool_set:N = \l_stm_au_collab_bool ,
-% type/anon .bool_set:N = \l_stm_au_anon_bool ,
- anon .bool_set:N = \l_stm_au_anon_bool ,
- deceased .bool_set:N = \l_stm_au_deceased_bool ,
- twitter .tl_set:N = \l_stm_au_twitter_tl ,
- facebook .tl_set:N = \l_stm_au_facebook_tl ,
- linkedin .tl_set:N = \l_stm_au_linkedin_tl ,
- plus .tl_set:N = \l_stm_au_gplus_tl ,
- gplus .tl_set:N = \l_stm_au_gplus_tl ,
- }
-
-\keys_set:nn { stm / author }
- {
- auid = {} ,
- bioid = {} ,
- alt = {} ,
- style = { normal } ,
- prefix = {} ,
- suffix = {} ,
- degree = {} ,
- role = {} ,
- orcid = {} ,
- collab = { false } ,
- type = { author } ,
- anon = { false } ,
- deceased = { false } ,
- twitter = {} ,
- facebook = {} ,
- linkedin = {} ,
- plus = {} ,
- gplus = {} ,
- }
-
-\keys_define:nn { stm / ausetup }
- {
- type .choice: ,
- type / authors .meta:n =
- {
- size = \large ,
- shape = \upshape ,
- weight = \mdseries ,
- before = \bigskipamount ,
- after = 0pt ,
- align = \raggedright ,
- color = black ,
- lskip = 0pt ,
- rskip = 0pt ,
- } ,
- type / collaboration .meta:n =
- {
- size = \Large ,
- shape = \upshape ,
- weight = \mdseries ,
- before = \bigskipamount ,
- after = 0pt ,
- align = \raggedright ,
- color = black ,
- lskip = 0pt ,
- rskip = 0pt ,
- } ,
- size .tl_set:N = \l_stm_augroup_size_tl ,
- shape .tl_set:N = \l_stm_augroup_shape_tl ,
- weight .tl_set:N = \l_stm_augroup_weight_tl ,
- before .dim_set:N = \l_stm_augroup_before_dim ,
- after .dim_set:N = \l_stm_augroup_after_dim ,
- align .tl_set:N = \l_stm_augroup_align_tl ,
- color .tl_set:N = \l_stm_augroup_color_tl ,
- lskip .dim_set:N = \l_stm_augroup_lskip_tl ,
- rskip .dim_set:N = \l_stm_augroup_rskip_tl ,
- }
-
-\DeclareDocumentCommand \stmAuthorSetup { m }
- { \keys_set:nn { stm / ausetup } { #1 } }
-\DeclareDocumentCommand \stmausetup { m }
- { \tl_set:Nn \l_stm_au_setup_tl
- { \keys_set:nn { stm / ausetup } { #1 } }
- }
-\DeclareDocumentCommand \stmclbsetup { m }
- { \tl_set:Nn \l_stm_clb_setup_tl
- { \keys_set:nn { stm / ausetup } { #1 } }
- }
-
-\stmausetup { }
-\stmclbsetup { }
-
-\seq_new:N \g_stm_maltese_seq
-\seq_new:N \g_stm_facebook_seq
-\seq_new:N \g_stm_twitter_seq
-\seq_new:N \g_stm_gplus_seq
-\seq_new:N \g_stm_linkedin_seq
-\bool_new:N \g_stm_nologo_bool
-\bool_gset_false:N \g_stm_nologo_bool
-
-\NewDocumentCommand \twitterauthor { m m }
- {
- \seq_gput_right:Nn \g_stm_twitter_seq
- {
- \parsename { #2 }
- \url{https://twitter.com/\tl_to_str:n{#1}}\space(\eadauthor)
- }
- }
-\NewDocumentCommand \facebookauthor { m m }
- {
- \seq_gput_right:Nn \g_stm_facebook_seq
- {
- \parsename { #2 }
- \url{https://www.facebook.com/\tl_to_str:n{#1}}\space(\eadauthor) %
- }
- }
-\NewDocumentCommand \gplusauthor { m m }
- {
- \seq_gput_right:Nn \g_stm_gplus_seq
- {
- \parsename { #2 }
- \url{https://plus.google.com/\tl_to_str:n{#1}}\space(\eadauthor)%
- }
- }
-\NewDocumentCommand \linkedinauthor { m m }
- {
- \seq_gput_right:Nn \g_stm_linkedin_seq
- {
- \parsename { #2 }
- \url{https://www.linkedin.com/profile/view?id=\tl_to_str:n{#1}}%
- \space(\eadauthor)
- }
- }
-
-\NewDocumentCommand \printmaltese { }
- {
- \seq_use:Nn { \g_stm_maltese_seq } { }
- }
-\NewDocumentCommand \printfacebook { }
- {
- \seq_if_empty:NTF \g_stm_facebook_seq { }
- {
- \tex_def:D \thefootnote{}
- \footnotetext
- {
- \bool_if:NTF \g_stm_nologo_bool
- { Facebook:\c_space_token }
- { \includegraphics[height=8pt]{thumbnails/facebook.jpeg}\c_space_token }
- \seq_use:Nn \g_stm_facebook_seq {,\c_space_token }
- }
- }
- }
-\NewDocumentCommand \printtwitter { }
- {
- \seq_if_empty:NTF \g_stm_twitter_seq { }
- {
- \tex_def:D \thefootnote{}
- \footnotetext
- {
- \bool_if:NTF \g_stm_nologo_bool
- { Twitter:\c_space_token }
- { \includegraphics[height=8pt]{thumbnails/twitter.jpeg}\c_space_token }
- \seq_use:Nn \g_stm_twitter_seq {,\c_space_token }
- }
- }
- }
-\NewDocumentCommand \printgplus { }
- {
- \seq_if_empty:NTF \g_stm_gplus_seq { }
- {
- \tex_def:D \thefootnote{}
- \footnotetext
- {
- \bool_if:NTF \g_stm_nologo_bool
- { Google+:\c_space_token }
- { \includegraphics[height=8pt]{thumbnails/gplus.jpeg}\c_space_token }
- \seq_use:Nn \g_stm_gplus_seq {,\c_space_token }
- }
- }
- }
-\NewDocumentCommand \printlinkedin { }
- {
- \seq_if_empty:NTF \g_stm_linkedin_seq { }
- {
- \tex_def:D \thefootnote{}
- \footnotetext
- {
- \bool_if:NTF \g_stm_nologo_bool
- { LinkedIn:\c_space_token }
- { \includegraphics[height=8pt]{thumbnails/linkedin.jpeg}\c_space_token }
- \seq_use:Nn \g_stm_linkedin_seq {,\c_space_token }
- }
- }
- }
-
-\seq_new:N \g_stm_prelimsau_seq
-
-\csxdef{infoauthors}{}
-\cs_new:Nn \no_break_space: { \nobreak{~} \penalty 10000 }
-\RenewDocumentCommand \author { O{} m O{} }
- {
- \ResetMarks
- \tl_if_blank:nTF { #3 } { }
- { \keys_set:nn { stm / author } { #3 } }
-%
- \int_gincr:N \g_stm_au_int
- \tex_gdef:D \theau@ { \int_use:N \g_stm_au_int }
-%
- \seq_gput_right:Nn \g_stm_prelimsau_seq { #2 }
- \bool_if:NTF \l_stm_au_collab_bool
- { \seq_gput_right:cn { g_stm_clau\int_use:N \g_stm_augr_int _seq } }
- { \seq_gput_right:cn { g_stm_au\int_use:N \g_stm_augr_int _seq } }
- {
- \int_gincr:N \g_stm_aau_int
- \tex_gdef:D \theauthor {\int_use:N \g_stm_aau_int }
- \keys_set:nn { stm /author } { #3 }
- \tl_if_head_eq_catcode:nNTF { #1 } a
- { \processAffRef { #1 } }
- { \processAffNum { #1 } }
- \tl_if_empty:NF \l_stm_au_prefix
- { \l_stm_au_prefix_tl \c_space_token }
- \str_if_eq:VnTF \l_stm_au_style_tl { chinese }
- { %\msg_term:n {STYLE~T=\l_stm_au_style_tl........}
- \invparsename { #2 }
- \textcolor{\l_stm_augroup_color_tl}{\surname}
- \no_break_space:
- \textcolor{\l_stm_augroup_color_tl !50}{\firstname}
- }
- { %\msg_term:n {STYLE~F=\l_stm_au_style_tl........}
- \parsename { #2 }
- \textcolor{\l_stm_augroup_color_tl !50}{\firstname}
- \no_break_space:
- \textcolor{\l_stm_augroup_color_tl}{\surname}
- }
- \tl_if_empty:NF \l_stm_au_suffix_tl
- { \c_space_token \l_stm_au_suffix_tl }
- \unskip
- \textsuperscript
- {
- \tl_if_blank:nTF { #1 }
- { \tex_def:D \sep{} }
- { {\itshape\listAff} \tex_def:D \sep{\unskip,} }
- \process@marks
- \bool_if:NT \l_stm_au_deceased_bool
- { \sep \maltese
- \tex_def:D \sep { \unksip, }
- }
- }
- \tl_if_empty:NF \l_stm_au_degree_tl
- { ,\c_space_token \l_stm_au_degree_tl }
- \tl_if_empty:NF \l_stm_au_role_tl
- { \c_space_token (\l_stm_au_role_tl) }
-%
- \ResetMarks
- }
-%
- \bool_if:NT \l_stm_au_deceased_bool
- {
- \seq_gput_right:Nn \g_stm_maltese_seq
- {
- \tex_def:D \thefootnote { \maltese }
- \footnotetext{Deceased~author.}
- }
- }
-% various social media
- \tl_if_empty:NTF \l_stm_au_facebook_tl { }
- {
- \wrAux { \token_to_str:N \facebookauthor
- { \l_stm_au_facebook_tl } { \exp_not:n {#2} } }
- }
- \tl_if_empty:NF \l_stm_au_twitter_tl
- {
- \wrAux { \token_to_str:N \twitterauthor
- { \l_stm_au_twitter_tl } { \exp_not:n {#2} } }
- }
- \tl_if_empty:NF \l_stm_au_gplus_tl
- {
- \wrAux { \token_to_str:N \gplusauthor
- { \l_stm_au_gplus_tl } { \exp_not:n {#2} } }
- }
- \tl_if_empty:NF \l_stm_au_linkedin_tl
- {
- \wrAux { \token_to_str:N \linkedinauthor
- { \l_stm_au_linkedin_tl } { \exp_not:n {#2} } }
- }
- \tl_if_empty:NF \l_stm_au_orcid_tl
- {
- \wrAux { \token_to_str:N \orcidauthor
- { \l_stm_au_orcid_tl } { \exp_not:n {#2} } }
- }
-%
- \@eadauthor={#2}
- \pdfstringdef\__info_au: { #2 }
- \int_compare:nNnTF { \theau@ } < { 4 }
- { \xappto \infoauthors { \__info_au: , ~ } }
- {
- \int_compare:nNnTF { \theau@ } = { 4 }
- { \xappto \infoauthors { et~al. } }
- { }
- }
- }
-
-\NewDocumentCommand \stmauthors { }
- {
- \group_begin:
- \stmAuthorSetup { type = authors }
- \l_stm_au_setup_tl
- \par \vskip\l_stm_augroup_before_dim
- \l_stm_augroup_align_tl
- \l_stm_augroup_size_tl
- \l_stm_augroup_shape_tl
- \l_stm_augroup_weight_tl
- \color{ \l_stm_augroup_color_tl }
- \bool_if:NTF \g_stm_augr_bool
- { \seq_use:Nn \g_stm_augr_seq { \par } }
- {
- \seq_use:cnnn { g_stm_au\int_use:N\g_stm_augr_int _seq }
- { ,~ } { ,~ } { ~and~ }
- }
- \par\vskip\l_stm_augroup_after_dim
- \group_end:
- }
-
-\seq_new:c { g_stm_collab0_seq }
-\bool_new:N \g_stm_in_clau_bool
-
-\NewDocumentCommand \stmcollab { }
- {
- \bool_if:NTF \g_stm_augr_bool
- { }
- {
- \group_begin:
- \stmAuthorSetup { type = collaboration }
- \l_stm_clb_setup_tl
- \par \vskip \l_stm_augroup_before_dim
- \l_stm_augroup_align_tl
- \l_stm_augroup_size_tl
- \l_stm_augroup_shape_tl
- \l_stm_augroup_weight_tl
- \color{ \l_stm_augroup_color_tl }
- \seq_use:cn {g_stm_collab\int_use:N \g_stm_aaugr_int _seq} { }
- \seq_use:cnnn {g_stm_clau\int_use:N \g_stm_aaugr_int _seq}
- { ~and~ } { ,~ } { ~and~ }
- \par \vskip \l_stm_augroup_after_dim
- \group_end:
- }
- }
-
-\newenvironment{collaboration}[1][]
- {
- \seq_gput_right:cn {g_stm_collab\int_use:N \g_stm_augr_int _seq}
- { \textit{Collaboration:~} #1 \par \smallskip }
- }
- { }
-
-\NewDocumentCommand \dept { m } { #1 }
-\NewDocumentCommand \divn { m } { #1 }
-\NewDocumentCommand \aline { m } { #1 }
-\NewDocumentCommand \city { m } { #1 }
-\NewDocumentCommand \cnty { m } { #1 }
-\NewDocumentCommand \phone { m } { #1 }
-\NewDocumentCommand \fax { m } { #1 }
-\NewDocumentCommand \aurl { m } { #1 }
-
-\seq_new:c { g_stm_aff0_seq }
-\int_new:N \g_stm_aff_int
-\tl_new:N \l_addrtype_tl
-
-\keys_define:nn { stm / address }
- {
- foot .bool_gset:N = \g_stm_addr_foot_bool ,
- name .tl_set:N = \l_stm_addr_name_tl ,
- type .multichoice: ,
- type/alt .code:n = { \tl_set:Nn \l_stm_addr_type_tl
- { Alternate~address } } ,
- type/addl .code:n = { \tl_set:Nn \l_stm_addr_type_tl
- { Additional~address } } ,
- type/regular .code:n = { \tl_set:Nn \l_stm_addr_type_tl
- { } } ,
- type/custom .code:n = { \tl_set:Nn \l_stm_addr_type_tl
- { \l_stm_addr_name_tl } } ,
- }
-\DeclareDocumentCommand \stmAddrSetup { m }
- { \keys_set:nn { stm / address } { #1 } }
-
-\keys_set:nn { stm / address }
-{
- foot = { false } ,
- type = { regular } ,
- name = { Alternate~address } ,
-}
-
-\cs_new:Nn \__reset_addr:
-{
- \bool_gset_false:N \g_stm_addr_foot_bool
- \tl_set:Nn \l_stm_addr_type_tl { }
- \tl_set:Nn \l_stm_addr_name_tl { Alternate~address }
-}
-
-\seq_new:N \g_stm_aff_foot_seq
-
-\NewDocumentCommand \printaddrinfoot { }
- {
- { \seq_use:Nn \g_stm_aff_foot_seq { \par } }
- }
-
-\NewDocumentCommand \address { O{} m O{} }
- {
- \__reset_addr:
- \keys_set:nn { stm / address } { #3 }
- \bool_if:NTF \g_stm_addr_foot_bool
- { \__foot_address:nnn [#1]{#2}[#3] }
- {
- \seq_gput_right:cn { g_stm_aff\int_use:N \g_stm_augr_int _seq }
- { \tl_if_blank:nTF { #1 }
- {
- \tex_xdef:D \thefootnote{}
- { #2 }
- }
- {
- \tl_if_head_eq_catcode:nNTF { #1 } a
- {
- \int_gincr:N \g_stm_aff_int
- \tex_xdef:D \@currentlabel
- { \int_to_alph:n { \int_use:N \g_stm_aff_int } }
- \stmLabel {#1}
- \textsuperscript{\itshape\@currentlabel} #2
- }
- {
- \int_gset:Nn \g_stm_aff_int { #1 }
- \tex_xdef:D \@currentlabel
- { \int_to_alph:n { \int_use:N \g_stm_aff_int } }
- \textsuperscript{\itshape\@currentlabel} #2
- }
- }
- }
- }
- }
-
-\cs_new:Npn \__foot_address:nnn [#1]#2[#3]
-{
- \keys_set:nn { stm / address } { #3 }
- \seq_gput_right:cn { g_stm_aff_foot_seq }
- {
- \tl_if_empty:nTF { #1 }
- {
- \tl_if_empty:NTF \l_stm_addr_type_tl
- { \footnotetext{#2} }
- {
- \footnotetext{\textit{\l_stm_addr_type_tl}:
- \c_space_token #2 }
- }
- }
- {
- \tl_if_head_eq_catcode:nNTF { #1 } a
- %
- {
- \tex_def:D \thefootnote{\itshape\@currentlabel}
- \tl_if_empty:NTF \l_stm_addr_type_tl
- { \footnotetext{#2} }
- { \footnotetext{\textit{\l_stm_addr_type_tl}: \c_space_token #2} }
- }
- {
- \tex_def:D \thefootnote { \itshape\int_to_alph:n { #1 } }
- \tl_if_empty:NTF \l_stm_addr_type_tl
- { \footnotetext{#2} }
- { \footnotetext{\textit{\l_stm_addr_type_tl}:
- \c_space_token #2 } }
- }
- }
- }
-}
-
-\keys_define:nn { stm / affsetup }
- {
- type .choice: ,
- type / normal .code:n =
- { \tl_set:Nn \l_stm_aff_type_tl { 0 } } ,
- type / nonum .code:n =
- { \tl_set:Nn \l_stm_aff_type_tl { 1 } } ,
-
- size .tl_set:N = \l_stm_aff_size_tl ,
- shape .tl_set:N = \l_stm_aff_shape_tl ,
- weight .tl_set:N = \l_stm_aff_weight_tl ,
- before .dim_set:N = \l_stm_aff_before_dim ,
- after .dim_set:N = \l_stm_aff_after_dim ,
- align .tl_set:N = \l_stm_aff_align_tl ,
- color .tl_set:N = \l_stm_aff_color_tl ,
- lskip .dim_set:N = \l_stm_aff_lskip_dim ,
- rskip .dim_set:N = \l_stm_aff_rskip_dim ,
- }
-
-\DeclareDocumentCommand \stmAffSetup { m }
- { \keys_set:nn { stm / affsetup } { #1 } }
-\DeclareDocumentCommand \stmaffsetup { m }
- { \tl_set:Nn \l_stm_aff_setup_tl
- { \keys_set:nn { stm / affsetup } { #1 } }
- }
-\stmaffsetup {
- size = \footnotesize,
- shape = \itshape,
- color = black,
- before = 0pt,
- weight = \mdseries,
- align = \raggedright,
- }
-
-\NewDocumentCommand \stmaddress { }
- {
- \bool_if:NTF \g_stm_augr_bool
- { }
- {
- \group_begin:
- \stmAffSetup { type = normal }
- \l_stm_aff_setup_tl
- \par \vskip\l_stm_aff_before_dim
- \l_stm_aff_align_tl
- \l_stm_aff_size_tl
- \l_stm_aff_shape_tl
- \l_stm_aff_weight_tl
- \color{ \l_stm_aff_color_tl }
- \seq_use:cn { g_stm_aff\int_use:N \g_stm_aaugr_int _seq }
- { \par\vskip2pt }
- \par\vskip\l_stm_aff_after_dim
- \group_end:
- }
- }
-
-\int_new:N \g_stm_augr_int
-\seq_new:N \g_stm_augr_seq
-\int_new:N \g_stm_aaugr_int
-\bool_new:N \g_stm_augr_bool
-
-\NewDocumentEnvironment { augroup } { }
- {
- \bool_gset_true:N \g_stm_augr_bool
- \int_gincr:N \g_stm_augr_int
- \seq_new:c {g_stm_au\int_use:N \g_stm_augr_int _seq}
- \seq_new:c {g_stm_aff\int_use:N \g_stm_augr_int _seq}
- \seq_new:c {g_stm_collab\int_use:N \g_stm_augr_int _seq}
- \seq_new:c {g_stm_clau\int_use:N \g_stm_augr_int _seq}
- \msg_term:n { AUGR:~\int_use:N \g_stm_augr_int ... }
- }
- {
- \seq_gput_right:Nn \g_stm_augr_seq
- {
- \int_gincr:N \g_stm_aaugr_int
- \group_begin:
- \stmAuthorSetup { type = collaboration }
- \l_stm_clb_setup_tl
- \par \vskip \l_stm_augroup_before_dim
- \l_stm_augroup_align_tl
- \l_stm_augroup_size_tl
- \l_stm_augroup_shape_tl
- \l_stm_augroup_weight_tl
- \color{ \l_stm_augroup_color_tl }
- \seq_use:cnnn { g_stm_au\int_use:N \g_stm_aaugr_int _seq }
- { ~and~ } { ,~ } { ~and~ }
- \par \vskip \l_stm_augroup_after_dim
- \group_end:
-%
- \group_begin:
- \stmAffSetup { type = normal }
- \l_stm_aff_setup_tl
- \par \vskip\l_stm_aff_before_dim
- \l_stm_aff_align_tl
- \l_stm_aff_size_tl
- \l_stm_aff_shape_tl
- \l_stm_aff_weight_tl
- \color{ \l_stm_aff_color_tl }
- \seq_use:cn { g_stm_aff\int_use:N \g_stm_aaugr_int _seq }
- { \par \smallskip }
- \par\vskip\l_stm_aff_after_dim
- \msg_term:n { AAUGR:~\int_use:N \g_stm_aaugr_int ... }
- \group_end:
-%
- \group_begin:
- \stmAuthorSetup { type = collaboration }
- \l_stm_clb_setup_tl
- \par \vskip \l_stm_augroup_before_dim
- \l_stm_augroup_align_tl
- \l_stm_augroup_size_tl
- \l_stm_augroup_shape_tl
- \l_stm_augroup_weight_tl
- \color{ \l_stm_augroup_color_tl }
- \seq_use:cn {g_stm_collab\int_use:N \g_stm_aaugr_int _seq} { }
- \seq_use:cnnn {g_stm_clau\int_use:N \g_stm_aaugr_int _seq}
- { ~and~ } { ,~ } { ~and~ }
- \par\vskip \l_stm_augroup_after_dim
- \group_end:
- }
- }
-
-%
-% Abstract
-%
-\RequirePackage{moreverb}
-
-\tex_gdef:D \abstractname { A\,B\,S\,T\,R\,A\,C\,T }
-\tl_new:N \l_stm_abs_title_tl
-\box_new:N \g_stm_abs_box
-
-\NewDocumentEnvironment { Abstract } { o }
-{
-% \global\setbox \g_stm_abs_box = \vtop \bgroup
-% \hsize = .65 \textwidth \parindent \z@
- \group_begin:
- \IfNoValueTF { #1 } { }
- { \tex_gdef:D \abstractname { #1 } }
- \parindent \z@
- \box_if_empty:NTF \g_stm_key_box
- { \leftskip = .35 \textwidth }
- {
- \dim_gset:Nn \l_tmpa_dim { \box_ht:N \g_stm_key_box }
- \dim_gadd:Nn \l_tmpa_dim { \box_dp:N \g_stm_key_box }
- \leftskip .35\textwidth
- \hspace*{-.35 \textwidth }
- \noindent\hbox_to_wd:nn { \z@ } { \box \g_stm_key_box }
- \skip_vertical:n { - \l_tmpa_dim }
- }
- \noindent \abstractname \par
- \skip_vertical:n { -4pt}
- \noindent \rule{.65\textwidth}{.2pt}\par \footnotesize
- \ignorespaces \everypar { \parindent=1.5em }
-}
-{ \par \group_end: }
-
-\NewDocumentEnvironment { PrelimsAbstract } { O{} }
- {\parindent=0pt
- { \fontsize{14pt}{16pt}\selectfont #1 }\par
- \vskip12pt
- { \fontsize{12pt}{14pt}\bfseries\selectfont\casprelimstitle } \par
- \vskip6pt
- \seq_use:Nn \g_stm_prelimsau_seq { , }
- \vskip12pt
- \par
- }
- {}
-
-\RenewDocumentEnvironment { abstract } { o }
-{
- \IfNoValueTF { #1 } { }
- { \tex_gdef:D \abstracttitle { #1 } }
- \verbatimwrite{\jobname.abs}
-}
-{ \endverbatimwrite }
-
-\newbox\casgrabsbox
-\newbox\casauhlbox
-\newbool { usecasgrabsbox }
-\newbool { usecashlsbox }
-
-\DeclareDocumentEnvironment { graphicalabstract } { O{Graphical~Abstract} }
-{
- \global \booltrue { usecasgrabsbox }
- \global\setbox\casgrabsbox=\vbox\bgroup
- \begin{PrelimsAbstract}[#1]
- \noindent \ignorespaces
-}
-{
- \end{PrelimsAbstract}
- \egroup
-}
-
-\DeclareDocumentEnvironment { highlights } { O{Highlights} }
-{
- \global \booltrue { usecashlsbox }
- \global\setbox\casauhlbox=\vbox\bgroup
- \begin{PrelimsAbstract}[#1]
- \noindent \ignorespaces
- \begin{itemize}
-}
-{
- \end{itemize}
- \end{PrelimsAbstract}
- \egroup
-}
-
-
-\NewDocumentCommand \dashrule { O{.4pt} m m }
- {
- \color{black!50}
- \skip_vertical:n { #2 }
- \noindent \rule { \linewidth } { #1}
- \normalcolor \skip_vertical:n { #3 }
- }
-
-\NewDocumentCommand \keywordtitle { } { Keywords }
-\NewDocumentCommand \keywordtitlesep { } {:\c_space_token }
-\box_new:N \g_stm_key_box
-
-\NewDocumentCommand \MSC { O{} m }
- {
- \par\noindent \textit { #1\c_space_token MSC:\c_space_token } #2
- }
-\NewDocumentCommand \JEL { m }
- {
- \par\noindent \textit { JEL:\c_space_token } #1
- }
-\NewDocumentCommand \PACS { m }
- {
- \par\noindent \textit { PACS:\c_space_token } #1
- }
-
-\NewDocumentEnvironment { keywords } { O{ Keywords } }
- {
- \tex_global:D \tex_setbox:D \g_stm_key_box = \vtop \bgroup
- \hsize=.25 \textwidth
- \cs_new:Nn \sep: { \par }
- \cs_set_eq:NN \sep \sep:
- \parindent \z@
- A\,R\,T\,I\,C\,L\,E\ \ I\,N\,F\,O \par \skip_vertical:n { -3pt }
- \rule{.25 \textwidth}{.2pt}\par\footnotesize
- \noindent \textit { #1 }: \par
- }
- { \egroup }
-
-
-%
-% Print all footnotes in the title page
-%
-
-\bool_new:N \g_stm_longmktitle_bool
-\int_new:N \g_stm_jtype_int
-\int_new:N \g_stm_blind_int
-
-\NewDocumentCommand \printFirstPageNotes { }
- {
- \bool_if:NTF \g_stm_longmktitle_bool
- { \tex_let:D \columnwidth = \textwidth }
- { }
- \int_compare:nTF { \g_stm_jtype_int > 5 }
- { \stmaddress }
- { }
- \printtnotes
- \printnonumnotes
- \bool_if:NTF \g_stm_blind_bool
- { }
- {
- \printcornotes
- \printmaltese
- \printaddrinfoot
- \printemails
- \printurls
- \printorcid
- \printfacebook
- \printtwitter
- \printgplus
- \printlinkedin
- \printfnotes
- }
- \bool_if:NTF \g_stm_longmktitle_bool
- {
- \if@twocolumn
- \tex_let:D \columnwidth = \Columnwidth \fi
- }
- { }
- \normalcolor
- }
-
-%
-% Date History
-%
-\tl_new:N \g_stm_recd_tl
-\tl_new:N \g_stm_accd_tl
-\tl_new:N \g_stm_revd_tl
-\tl_new:N \g_stm_pub_online_tl
-\tl_new:N \g_stm_pub_print_tl
-
-\cs_new:Npn \date_parse:n #1 { \date_parse_aux:w #1 \q_stop }
-\cs_new:Npn \date_parse_aux:w #1 / #2 / #3 \q_stop
-{ <do something with the date> }
-
-\NewDocumentCommand \received { m }
- { \tl_gput_right:Nn \g_stm_recd_tl { #1 } }
-\NewDocumentCommand \accepted { m }
- { \tl_gput_right:Nn \g_stm_accd_tl { #1 } }
-\NewDocumentCommand \revised { m }
- { \tl_gput_right:Nn \g_stm_revd_tl { #1 } }
-\NewDocumentCommand \published { O{} m }
-{
- \tl_if_eq:nnTF { #1 } { online }
- { \tl_if_gput_right:Nn \g_stm_pub_online_tl { #2 } }
- { \tl_if_gput_right:Nn \g_stm_pub_print_tl { #2 } }
-}
-
-%
-% Verse/Recto
-%
-\tl_new:N \l_stm_verso_tl
-\tl_new:N \l_stm_recto_tl
-
-\NewDocumentCommand \verso { m }
-{ \tl_set:Nn \l_stm_verso_tl { #1 } }
-\NewDocumentCommand \recto { m }
-{ \tl_set:Nn \l_stm_recto_tl { #1 } }
-
-%
-% Maketitle
-%
-
-\newcounter{au}
-\newcounter{cnote}
-\newcounter{tnote}
-\newcounter{fnote}
-\newcounter{aff}
-
-\cs_new:Nn \__reset_title_counters:
-{
- \setcounter{cnote}{0}
- \setcounter{fnote}{0}
- \setcounter{tnote}{0}
- \setcounter{footnote}{0}
-}
-
-\keys_define:nn { stm / mktitle }
-{
- blind .bool_gset:N = \g_stm_blind_bool ,
- footer .multichoice:,
- footer/default .tl_gset:N = \g_stm_footer_default_tl ,
- footer/custom .tl_gset:N = \g_stm_footer_custom_tl ,
- longtitle .bool_gset:N = \g_stm_longtitle_bool ,
- longabstract .bool_gset:N = \g_stm_longtitle_bool ,
- breakafter .clist_gset:N = \g_stm_breakafter_clist ,
- nologo .bool_gset:N = \g_stm_nologo_bool ,
-}
-
-\bool_new:N \g_stm_breakafter_title_bool
-\bool_new:N \g_stm_breakafter_auaff_bool
-\bool_new:N \g_stm_breakafter_abstract_bool
-
-\NewDocumentCommand \processbreakafter { }
-{
- \clist_if_empty:NTF \g_stm_breakafter_clist { }
- {
- \clist_map_inline:Nn \g_stm_breakafter_clist
- { \bool_gset_true:c { g_stm_breakafter_##1_bool } }
- }
-}
-
-\NewDocumentCommand \pprintMaketitle { O{} }
-{
- \tl_if_blank:nTF { #1 } { }
- { \keys_set:nn { stm / mktitle } { #1 } }
- \processbreakafter
- \clearpage
- \__reset_title_counters:
- \tex_def:D \baselinestretch { 1 }
- \printFirstPageNotes
- \thispagestyle{pprintTitle}%
- \group_begin:
- \@title
- \group_end:
- \bool_if:NTF \g_stm_breakafter_title_bool
- { \newpage } { }
- %
- \bool_if:NTF \g_stm_blind_bool
- { \vspace* { 10 mm } }
- {
- \group_begin:
- \normalsize \stmauthors \par
- \stmcollab \par
- \footnotesize \itshape \stmaddress \par \vskip36pt
- \group_end:
- \bool_if:NTF \g_stm_breakafter_auaff_bool
- { \newpage } { }
- }
- %
- \printabsbox
- \printkeybox
- \bool_if:NTF \g_stm_breakafter_abstract_bool
- { \newpage } { }
- %
- \setcounter{footnote}{\c@fnote}
- \tex_gdef:D \thefootnote { \arabic{footnote} }
- \tex_def:D \baselinestretch { \@blstr }
- \normalfont \normalsize
-}
-
-\NewDocumentCommand \MaketitleBox { }
-{
- \tex_def:D \baselinestretch{1}
- \group_begin:
- \@title
- \group_end:
- %
- \bool_if:NTF \g_stm_blind_bool
- { \vspace* { 10 mm } }
- {
- \group_begin:
- \normalsize \stmauthors \par
- \stmcollab \par
- \footnotesize \itshape \stmaddress \par
- \group_end:
- \bool_if:NTF \g_stm_breakafter_auaff_bool
- { \newpage } { }
- }
- % \printFirstPageNotes
- %
- \dashrule{0pt}{3pt}
- \begin{Abstract}
- \noindent \ignorespaces
- \file_if_exist:nT { \jobname.abs } { \file_input:n { \jobname.abs } }
- \end{Abstract}
- \dashrule{6pt}{3pt}
- \bool_if:NTF \g_stm_breakafter_abstract_bool
- { \newpage } { }
-}
-
-\box_new:N \g_stm_notes_box
-\box_new:N \g_stm_front_box
-\cs_set:Npn \__fn_text:n #1
-{ \group_begin:\vbox_top:n { \footnotesize #1 } \group_end:\par}
-
-\NewDocumentCommand \LongMaketitleBox { }
-{
- \vbox_gset:Nn \g_stm_front_box
- {
- \tex_def:D \baselinestretch{1}
- \group_begin:
- \@title
- \group_end:
- %
- \group_begin:
- \normalsize \stmauthors \par
- \stmcollab \par
- \footnotesize \itshape \stmaddress \par
- \group_end:
- %
- \dashrule{0pt}{3pt}
- \begin{Abstract}
- \noindent \ignorespaces
- \file_if_exist:nT { \jobname.abs } { \file_input:n { \jobname.abs } }
- \end{Abstract}
- \dashrule{3pt}{3pt}
- }
- \vbox_gset:Nn \g_stm_notes_box
- { \cs_set_eq:NN \footnotetext \__fn_text:n \printFirstPageNotes }
- \dim_gset:Nn \g_tmpb_dim { \box_ht:N \g_stm_notes_box }
- % \iow_term:x { ...~[ht: \dim_use:N \g_tmpb_dim ] }
- \dim_gadd:Nn \g_tmpb_dim { \box_dp:N \g_stm_notes_box }
- % \iow_term:x { ...~[ht+dp: \dim_use:N \g_tmpb_dim ] }
- \ifbool{sc}{\dim_gadd:Nn \g_tmpb_dim { 12pt } } { }
-
-}
-
-\NewDocumentCommand \ProcessLongTitleBox { }
-{
- % \vbox_gset:Nn \g_stm_notes_box
- % { \cs_set_eq:NN \footnotetext \__fn_text:n \printFirstPageNotes }
- % \dim_gset:Nn \g_tmpb_dim { \box_ht:N \g_stm_notes_box }
- % % \iow_term:x { ...~[ht: \dim_use:N \g_tmpb_dim ] }
- % \dim_gadd:Nn \g_tmpb_dim { \box_dp:N \g_stm_notes_box }
- % % \iow_term:x { ...~[ht+dp: \dim_use:N \g_tmpb_dim ] }
- %
- \dim_gset:Nn \g_tmpa_dim { \textheight }
-% \vbox_unpack:N \g_stm_notes_box
- % \iow_term:x { ...~[tmpa:~ \dim_use:N \g_tmpa_dim ] }
- % \dim_gsub:Nn \g_tmpa_dim { \box_ht:N \g_stm_notes_box }
- % \iow_term:x { ...~[tmpa-noteht:~ \dim_use:N \g_tmpa_dim ] }
- % \dim_gsub:Nn \g_tmpa_dim { \box_dp:N \g_stm_notes_box }
- % \iow_term:x { ...~[tmpa-notedp:~ \dim_use:N \g_tmpa_dim ] }
- \dim_gsub:Nn \g_tmpa_dim { \g_tmpb_dim }
- \vbox_set_split_to_ht:NNn \g_tmpb_box \g_stm_front_box { \g_tmpa_dim }
- \noindent \vbox_unpack_clear:N \g_tmpb_box
- \printFirstPageNotes
- \dim_gzero:N \g_tmpa_dim
- \dim_gset:Nn \g_tmpa_dim { \box_ht:N \g_stm_front_box }
- % \iow_term:x { ...~[tmpa-ht:~ \dim_use:N \g_tmpa_dim ] }
- \dim_gadd:Nn \g_tmpa_dim { \box_dp:N \g_stm_front_box }
- % \iow_term:x { ...~[tmpa-ht+dp:~ \dim_use:N \g_tmpa_dim ~+~\the\textheight] }
- \dim_compare:nNnTF { \dim_use:N \g_tmpa_dim } > { \the\textheight }
- {
- \vbox_set_split_to_ht:NNn \g_tmpb_box \g_stm_front_box { \textheight }
- \vbox_unpack_clear:N \g_tmpb_box
- \ifbool{dc}
- { \twocolumn[{\vbox_unpack_clear:N \g_stm_front_box}] }
- { \vbox_unpack_clear:N \g_stm_front_box }
- }
- {
- \ifbool{dc}
- { \twocolumn[{\vbox_unpack_clear:N \g_stm_front_box}] }
- { \vbox_unpack_clear:N \g_stm_front_box }
- }
- \normalcolor \normalfont
-}
-\ExplSyntaxOff
-
-%
-% Headings
-%
-\def\@seccntDot{.}
-\def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em}
-
-\newdimen\paraindent \paraindent=\parindent
-\newdimen\subparaindent \subparaindent=\parindent
-\def\ssssparaindent{}
-\def\sectionfont{\rmfamily\fontsize{12pt}{14pt}%
- \bfseries}
-\def\ssectionfont{\rmfamily\fontsize{11pt}{13pt}%
- \bfseries\selectfont}
-\def\sssectionfont{\rmfamily\fontsize{10.5pt}{12pt}%
- \fontseries{b}\fontshape{it}\selectfont}
-\def\ssssectionfont{\rmfamily\fontsize{11pt}{10pt}\itshape\selectfont}
-\def\sssssectionfont{\rmfamily\fontsize{11pt}{10pt}\selectfont}%
-
-\AtBeginDocument{\global\@afterindentfalse}
-
-\renewcommand\section{\@startsection{section}{1}{\z@}%
- {15pt \@plus 3\p@ \@minus 3\p@}%
- {4\p@}%
- {%\let\@hangfrom\relax
- \sectionfont\raggedright\hst[13pt]}}
-
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
- {10pt \@plus 3\p@ \@minus 2\p@}%
- {.1\p@}%
- {%\let\@hangfrom\relax
- \ssectionfont\raggedright }}
-
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
- {10pt \@plus 1\p@ \@minus .3\p@}%
- {.1\p@}%
- {%\let\@hangfrom\relax
- \sssectionfont\raggedright}}
-
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
- {10pt \@plus0.01pt \@minus0.01pt}%
- {-6pt}%
- {\ssssparaindent%
- \ssssectionfont\itshape\raggedright}}
-
-\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
- {0pt \@plus0.1pt \@minus0.1pt}%
- {-6pt}%
- {\hspace*{\subparaindent}
- \sssssectionfont\raggedright}}
-
-\def\thesubsection{\thesection.\arabic{subsection}}
-\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
-
-%
-% Sundry lengths
-%
-\def\xstrut#1#2{\vrule height#1 depth #2 width\z@}
-\def\hstrut#1{\vrule height#1 depth \z@ width 0pt}
-\def\dstrut#1{\vrule height0pt depth#1 width 0pt}
-\def\hst[#1]{\vrule height#1 depth \z@ width \z@}
-\def\dst[#1]{\vrule height0pt depth#1 width 0pt}
-\def\xst[#1][#2]{\vrule height#1 depth #2 width\z@}
-
-\def\lastpage{100}
-
-\AtEndDocument{%
-% \clearpage
- \immediate\write\@auxout{\string\csxdef{lastpage}{\thepage}}
-}
-
-\ExplSyntaxOn
-
-%
-% pagestyle
-%
-
-\cs_new:Npn \__first_footerline:
-{
- \group_begin:
- \small
- \sffamily \__short_authors: :~
- { \rmfamily \itshape Preprint~ submitted ~to ~Elsevier }
- \group_end:
-}
-
-\cs_new:Npn \__first_head:
-{
- \parbox[t]{\textwidth}
- {
- \color{black!20}
- \rule{\textwidth}{0pt}
- }
-}
-
-
-\cs_new:Npn \__first_foot:
-{
- \parbox[t]{\textwidth}
- {
- \rule{\textwidth}{.2pt}\\
- \__first_footerline: \hfill Page~ \thepage {} ~of~ \lastpage }
-}
-
-
-\cs_new:Npn \__cas_head:
-{
- \parbox{\textwidth}
- {
- \sffamily\small\centering
- \__short_title:
- }
- }
-
-
-\cs_new:Npn \__cas_foot:
-{
- \parbox[t]{\textwidth}
- {
- \rule{\textwidth}{.2pt}\\
- \sffamily\small
- \__first_footerline:
- \hfill Page~\thepage {}~of~ \lastpage
- }
-}
-
-\newcommand \ps@first
- {
- \cs_set_eq:NN \@oddhead \__first_head:
- \cs_set_eq:NN \@evenhead \__first_head:
- \cs_set_eq:NN \@evenfoot \__first_foot:
- \cs_set_eq:NN \@oddfoot \__first_foot:
- }
-
-
-\newcommand \ps@cas
-{
- \cs_set_eq:NN \@oddhead \__cas_head:
- \cs_set_eq:NN \@evenhead \__cas_head:
- \cs_set_eq:NN \@evenfoot \__cas_foot:
- \cs_set_eq:NN \@oddfoot \__cas_foot:
-}
-
-\ps@cas
-
-
-%
-% Floats
-%
-
-\def\topfraction{.9}
-\def\bottomfraction{.9}
-\setcounter{topnumber}{4}
-\setcounter{bottomnumber}{3}
-\setcounter{totalnumber}{5}
-\renewcommand\textfraction{.1}
-\renewcommand\floatpagefraction{.9}
-\setcounter{dbltopnumber}{2}
-\renewcommand\dbltopfraction{.9}
-\renewcommand\dblfloatpagefraction{.95}
-\newdimen \FullWidth
-\FullWidth=\textwidth
-
-\newcolumntype{L}{@{\extracolsep{\fill}}l}
-\newcolumntype{R}{@{\extracolsep{\fill}}r}
-\newcolumntype{C}{@{\extracolsep{\fill}}c}
-
-\cs_gset_eq:NN \thead \toprule
-\cs_gset_eq:NN \endthead \midrule
-\cs_gset_eq:NN \tabref \ref
-
-\dim_new:N \l_tbl_width_dim
-\dim_set:Nn \l_tbl_width_dim { \linewidth }
-
-\cs_new:Npn \__make_tbl_caption:nn #1#2
-{
- \l_tbl_align_tl
- \skip_vertical:N \l_tbl_abovecap_skip
- % \bool_if:NTF \g_tbl_full_bool
- % {
- % \color{scolor!70}\rule{\FullWidth}{2pt}\normalcolor\\
- % }
- % { \color{scolor!70}\rule{\tblwidth}{2pt}\normalcolor\\ }
- % \fboxsep=4pt
- % \colorbox{white}
- {\parbox{ \dimexpr(\l_tbl_width_dim)}
- {\rightskip=0pt\sffamily\small\textbf{\color{scolor}#1}\par#2\par\vskip4pt }}
- \skip_vertical:N \l_tbl_belowcap_skip
-}
-
-\keys_define:nn { cas / tbl }
-{
- width .dim_set:N = \l_tbl_width_dim ,
- pos .tl_set:N = \l_tbl_pos_tl ,
- cols .tl_set:N = \l_tbl_cols_tl ,
- align .tl_set:N = \l_tbl_align_tl,
- abovecap .skip_set:N = \l_tbl_abovecap_skip ,
- belowcap .skip_set:N = \l_tbl_belowcap_skip ,
- abovetbl .skip_set:N = \l_tbl_abovetbl_skip ,
- belowtbl .skip_set:N = \l_tbl_belowtbl_skip ,
- full .bool_gset:N = \g_tbl_full_bool ,
-}
-
-\cs_set:Npn \__reset_tbl:
-{
- \tl_set:Nx \l_tbl_pos_tl { t }
- \tl_set:Nx \l_tbl_cols_tl { 1 }
- \tl_set:Nn \l_tbl_align_tl { \centering }
- \skip_set:Nn \l_tbl_abovecap_skip { 6pt }
- \skip_set:Nn \l_tbl_belowcap_skip { 0pt }
- \skip_set:Nn \l_tbl_abovetbl_skip { 6pt }
- \skip_set:Nn \l_tbl_belowtbl_skip { 6pt }
-
-}
-
-\RenewDocumentEnvironment { table } { O{} }
-{
- \__reset_tbl:
- \bool_gset_false:N \g_tbl_full_bool
- \dim_set:Nn \l_tbl_width_dim { \linewidth }
- \keys_set:nn { cas / tbl } { #1 }
- \csxdef{fps@table}{\l_tbl_pos_tl}
- \csgdef{tblwidth}{\dim_use:N \l_tbl_width_dim}
- \cs_set_eq:NN \@makecaption \__make_tbl_caption:nn
- \@float{table}
- \l_tbl_align_tl
- \sffamily\small
-}
-{
-\end@float
-}
-
-
-\RenewDocumentEnvironment { table* } { O{width=\FullWidth} }
- {
- \__reset_tbl:
- \bool_gset_true:N \g_tbl_full_bool
- \dim_set:Nn \l_tbl_width_dim { \FullWidth }
- \keys_set:nn { cas / tbl } { #1 }
- \csxdef{fps@table}{\l_tbl_pos_tl}
- \csgdef{tblwidth}{\dim_use:N \l_tbl_width_dim}
- \cs_set_eq:NN \@makecaption \__make_tbl_caption:nn
- \@dblfloat{table}
- \l_tbl_align_tl
- \sffamily\small
- % \leftskip=-\FullWidth
- }
- {
- \end@dblfloat
- }
-
-
-\dim_new:N \l_fig_width_dim
-\dim_set:Nn \l_fig_width_dim { \linewidth }
-
-\cs_new:Npn \__make_fig_caption:nn #1#2
-{
- \l_fig_align_tl
- \skip_vertical:N \l_fig_abovecap_skip
-% \bool_if:NTF \g_fig_full_bool
-% { \skip_horizontal:n { -\FullWidth } } { }
- \parbox{ \l_fig_width_dim }
- {\rightskip=0pt\sffamily\small\textbf{\color{scolor}#1:}~#2\par }
- \skip_vertical:N \l_fig_belowcap_skip
-}
-
-\keys_define:nn { cas / fig }
-{
- width .dim_set:N = \l_fig_width_dim ,
- pos .tl_set:N = \l_fig_pos_tl ,
- cols .tl_set:N = \l_fig_cols_tl ,
- align .tl_set:N = \l_fig_align_tl,
- abovecap .skip_set:N = \l_fig_abovecap_skip ,
- belowcap .skip_set:N = \l_fig_belowcap_skip ,
- abovefig .skip_set:N = \l_fig_abovefig_skip ,
- belowfig .skip_set:N = \l_fig_belowfig_skip ,
- full .bool_gset:N = \g_fig_full_bool ,
-}
-
-\cs_set:Npn \__reset_fig:
-{
- \tl_set:Nx \l_fig_pos_tl { t }
- \tl_set:Nx \l_fig_cols_tl { 1 }
- \tl_set:Nn \l_fig_align_tl { \raggedleft }
- \skip_set:Nn \l_fig_abovecap_skip { 6pt }
- \skip_set:Nn \l_fig_belowcap_skip { 6pt }
- \skip_set:Nn \l_fig_abovefig_skip { 6pt }
- \skip_set:Nn \l_fig_belowfig_skip { 6pt }
-
-}
-
-\RenewDocumentEnvironment { figure } { O{} }
- {
- \__reset_fig:
- \bool_gset_false:N \g_fig_full_bool
- \dim_set:Nn \l_fig_width_dim { \linewidth }
- \keys_set:nn { cas / fig } { #1 }
- \csxdef{fps@figure}{\l_fig_pos_tl}
- \csgdef{figwidth}{\dim_use:N \l_fig_width_dim}
- \cs_set_eq:NN \@makecaption \__make_fig_caption:nn
- \@float{figure}
- \l_fig_align_tl
- \sffamily\small
- }
- {
- \end@float
- }
-
-
-\RenewDocumentEnvironment { figure* } { O{width=\textwidth} }
-{
- \__reset_fig:
- \bool_gset_true:N \g_fig_full_bool
- \dim_set:Nn \l_fig_width_dim { \FullWidth }
- \keys_set:nn { cas / fig } { #1 }
- \csxdef{fps@figure}{\l_fig_pos_tl}
- \csgdef{figwidth}{\dim_use:N \l_fig_width_dim}
- \cs_set_eq:NN \@makecaption \__make_fig_caption:nn
- \@dblfloat{figure}
- \l_fig_align_tl
- \sffamily\small
-% \leftskip=-\FullWidth
-}
-{ \end@dblfloat }
-
-%
-% wrapped figure
-%
-\RequirePackage{wrapfig}
-
-\dim_new:N \l_wrap_figwidth_dim
-\dim_new:N \l_wrap_fighspace_dim
-\dim_new:N \l_wrap_figvspace_dim
-\dim_new:N \l_wrap_fighcorr_dim
-\dim_new:N \l_wrap_figvcorr_dim
-\dim_new:N \l_above_bio_dim
-\int_new:N \l_wrap_figlcorr_int
-\int_new:N \l_wrap_figlines_int
-\tl_new:N \l_wrap_figfile_tl
-
-\NewDocumentCommand \wfigwidth { m }
- { \dim_set:Nn \l_wrap_figwidth_dim { #1 } }
-\NewDocumentCommand \wfighspace { m }
- { \dim_set:Nn \l_wrap_fighspace_dim { #1 } }
-\NewDocumentCommand \wfigvspace { m }
- { \dim_set:Nn \l_wrap_figvspace_dim { #1 } }
-\NewDocumentCommand \wfighcorr { m }
- { \dim_set:Nn \l_wrap_fighcorr_dim { #1 } }
-\NewDocumentCommand \wfigvcorr { m }
- { \dim_set:Nn \l_wrap_figvcorr_dim { #1 } }
-\NewDocumentCommand \addfiglines { m }
- { \int_set:Nn \l_wrap_figlcorr_int { #1 } }
-\NewDocumentCommand \abovebioskip { m }
- { \dim_set:Nn \l_above_bio_dim { #1 } }
-
-\cs_new:Nn \__fig_defaults:
- {
- \wfigwidth { 25.5mm }
- \wfighspace { 0mm }
- \wfigvspace { 0mm }
- \wfighcorr { 0pt }
- \wfigvcorr { -12pt }
- \wfigvcorr { 0pt }
- \abovebioskip { 12pt }
- \tl_set:Nn \l_wrap_figpos_tl { l }
- \int_set:Nn \l_wrap_figlines_int { 3 }
- \int_set:Nn \l_wrap_figlcorr_int { 1 }
- \tl_clear:N \l_wrap_figcap_tl
- }
-
-\__fig_defaults:
-
-\keys_define:nn { wrap / fig }
-{
- width .dim_set:N = \l_wrap_figwidth_dim ,
- hspace .dim_set:N = \l_wrap_fighspace_dim ,
- vspace .dim_set:N = \l_wrap_figvspace_dim ,
- hcorr .dim_set:N = \l_wrap_fighcorr_dim ,
- vcorr .dim_set:N = \l_wrap_figvcorr_dim ,
- lcorr .int_set:N = \l_wrap_figlcorr_int ,
- pos .tl_set:N = \l_wrap_figpos_tl ,
- lines .int_set:N = \l_wrap_figlines_int ,
- cap .tl_set:N = \l_wrap_figcap_tl ,
-}
-
-\cs_new:Npn \__find_fig_height:n #1
-{
- \box_clear:N \g_tmpa_box
- \hbox_gset:Nn \g_tmpa_box
- { \includegraphics [ width = \l_wrap_figwidth_dim ] { #1 } }
- \dim_zero:N \l_tmpa_dim
- \dim_set:Nn \l_tmpa_dim { \box_ht:N \g_tmpa_box }
- \dim_add:Nn \l_tmpa_dim { \box_dp:N \g_tmpa_box }
- \fp_set:Nn \l_tmpa_fp { \dim_to_fp:n { \l_tmpa_dim } }
- \fp_set:Nn \l_tmpb_fp { \dim_to_fp:n { \baselineskip } }
-%
- \fp_set:Nn \l_wrap_figlines_fp
- { \fp_eval:n { ( \l_tmpa_fp / \l_tmpb_fp ) + .5 } }
- \int_set:Nn \l_wrap_figlines_int
- { \fp_to_int:N \l_wrap_figlines_fp }
-%
- \iow_term:x { ...~wr-fig:~[BL:~\the\baselineskip] ~ ...}
- \iow_term:x { ...~wr-fig:~[LINE-FP:~ \fp_use:N \l_wrap_figlines_fp]~ ...}
- \iow_term:x { ...~wr-fig:~[LINE-INT:~ \int_use:N \l_wrap_figlines_int]~ ...}
-}
-
-\newbox \l_bio_text_box
-
-\NewDocumentCommand \WrapFigure { o m }
-{
- \__fig_defaults:
- \IfNoValueTF { #1 } { } { \keys_set:nn { wrap / fig } { #1 } }
- \stepcounter { ca_biography_ctr }
- \__find_fig_height:n { #2 }
- \dim_zero:N \l_tmpb_dim
- \dim_set:Nn \l_tmpb_dim
- { \l_wrap_figwidth_dim + \l_wrap_fighspace_dim }
- \int_gadd:Nn \l_wrap_figlines_int { \int_use:N \l_wrap_figlcorr_int }
- \setlength { \columnsep } { 5pt }
- \setlength { \intextsep } { 0pt }
-% \mbox{}
- \ifbool { dc }
- { \xdef\Columnwidth{238.25pt} }
- { \xdef\Columnwidth{\the\textwidth} }
- \ifcsundef { cabio\theca_biography_ctr lines }
- {
- \setbox \l_bio_text_box = \vbox \bgroup
- \hsize = \dimexpr ( \Columnwidth - 72.28pt )
- }
- {
- \ifbool { dc } {
- \int_gset:Nn \l_wrap_figlines_int
- { \csuse { cabio\theca_biography_ctr lines } }
- } { }
- \skip_vertical:N \l_above_bio_dim
- \begin{wrapfigure}[\int_use:N \l_wrap_figlines_int]
- { \l_wrap_figpos_tl }
- [ \dim_use:N \l_wrap_fighcorr_dim ]
- { \dim_use:N \l_tmpb_dim }
- %\skip_vertical:N \l_wrap_figvcorr_dim
- \includegraphics[width=\l_wrap_figwidth_dim]{#2}
- \end{wrapfigure}
- \setbox \l_bio_text_box = \vbox \bgroup
- \hsize = \dimexpr ( \Columnwidth )
- }
-}
-
-\cs_set:Nn \__fwidth: { 1in }
-\cs_set:Nn \__fpos: { l }
-
-%
-% short authors/title
-%
-
-\newcommand\shortauthors[1]{ \cs_gset:Nn \__short_authors: { #1 } }
-\newcommand\shorttitle[1]{ \cs_gset:Nn \__short_title: { #1 } }
-
-\shortauthors{First~Author~et~al.}
-\shorttitle{Short ~Title ~of~the~Article}
-
-\newcounter { ca_biography_ctr }
-\newbool { cas_no_pic_bio }
-\boolfalse { cas_no_pic_bio }
-
-\NewDocumentCommand \bio { O{} m }
-{
- \global \boolfalse { cas_no_pic_bio }
- \casbiographyfont
- \par \medskip \tl_set:Nn \l_tmpa_tl { #2 }
- \tl_if_empty:NTF \l_tmpa_tl
- { \global \booltrue { cas_no_pic_bio } }
- { \WrapFigure [ #1 ]{ #2 } }
- \noindent \ignorespaces
-}
-
-\int_new:N \l_ca_temp_inta
-
-\NewDocumentCommand \endbio { } {
- \ifbool{ cas_no_pic_bio } { } {
- \egroup
-% \fp_set:Nn \l_wrap_figlines_fp
-% { \fp_eval:n { ( ( \l_tmpa_fp +
-% \numexpr\dimexpr\the\ht\l_bio_text_box )
-% / \l_tmpb_fp ) + .5 } }
- \int_gset:Nn \l_ca_temp_inta
- { \numexpr\dimexpr(\the\ht\l_bio_text_box + 2\baselineskip )/
- \dimexpr\the\baselineskip }
- \iow_now:Nx \@auxout {
- \string\csgdef{cabio\theca_biography_ctr lines}
- { \int_use:N \l_ca_temp_inta } }
-\mbox{}\vspace*{-4.5pt}\noindent
-\unvbox \l_bio_text_box }
-}
-
-\let\casbiographyfont\relax
-
-\NewDocumentEnvironment { biography } { o m }
-{
- \IfValueTF { #1 }
- { \par\medskip \noindent \includegraphics[width=1in]{#1} }
- { }
- \par\smallskip
- \noindent \textbf{#2:}\enspace
-}
-{ }
-
-\ExplSyntaxOff
-
-%
-% Customized Enumeration
-%
-\def\blstr#1{\gdef\@bslstr{#1}}
-\def\@blstr{1}
-\newdimen\leftMargin
-\leftMargin=2em
-\newtoks\@enLab %\newtoks\@enfont
-\def\@enQmark{?}
-\def\@enLabel#1#2{%
- \edef\@enThe{\noexpand#1{\@enumctr}}%
- \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}%
- \@enloop}
-\def\@enSpace{\afterassignment\@enSp@ce\let\@tempa= }
-\def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop}
-\def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop}
-\def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop}
-\def\@enloop{\futurelet\@entemp\@enloop@}
-\def\@enloop@{%
- \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else
- \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else
- \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else
- \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else
- \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else
- \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else
- \ifx \bgroup\@entemp \let\@tempa\@enGroup \else
- \ifx \@enum@\@entemp \let\@tempa\@gobble \else
- \let\@tempa\@enOther
- \fi\fi\fi\fi\fi\fi\fi\fi
- \@tempa}
-\newlength{\@sep} \newlength{\@@sep}
-\setlength{\@sep}{.5\baselineskip plus.2\baselineskip
- minus.2\baselineskip}
-\setlength{\@@sep}{.1\baselineskip plus.01\baselineskip
- minus.05\baselineskip}
-\providecommand{\sfbc}{\rmfamily\upshape}
-\providecommand{\sfn}{\rmfamily\upshape}
-\def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt}
-\def\enumerate{%
- \ifnum \@enumdepth >3 \@toodeep\else
- \advance\@enumdepth \@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
- \@ifnextchar[{\@@enum@}{\@enum@}}
-\def\@@enum@[#1]{%
- \@enLab{}\let\@enThe\@enQmark
- \@enloop#1\@enum@
- \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
- ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
- \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
- \expandafter\let\csname the\@enumctr\endcsname\@enThe
- \csname c@\@enumctr\endcsname7
- \expandafter\settowidth
- \csname leftmargin\romannumeral\@enumdepth\endcsname
- {\the\@enLab\hskip\labelsep}%
- \@enum@}
-\def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}%
- {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}%
- \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else
- \setlength{\topsep}{\@sep}\fi
- \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}%
- \else \setlength{\itemsep}{\@@sep}\fi
- %\setlength\leftmargin{\leftMargin}%%%{1.8em}
- \setlength{\parsep}{0pt plus1pt minus1pt}%
- \setlength{\parskip}{0pt plus1pt minus1pt}
- }}
-
-\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else
- \addvspace{\@sep}\fi \endlist}
-
-\def\sitem{\@noitemargtrue\@item[\@itemlabel *]}
-
-\def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}}
-
-\def\@Itemize[#1]{\def\next{#1}%
- \ifnum \@itemdepth >\thr@@\@toodeep\else
- \advance\@itemdepth\@ne
- \ifx\next\@empty\else\expandafter\def\csname
- labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi%
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \expandafter\list\csname\@itemitem\endcsname
- {\def\makelabel##1{\hss\llap{##1}}}%
- \fi}
-
-%
-% Customized theorem
-% (non-italic enunciations)
-%
-
-\def\newdefinition#1{%
- \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}%]
-\def\@ndfn#1#2{%
- \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}}
-\def\@xndfn#1#2[#3]{%
- \expandafter\@ifdefinable\csname #1\endcsname
- {\@definecounter{#1}\@newctr{#1}[#3]%
- \expandafter\xdef\csname the#1\endcsname{%
- \expandafter\noexpand\csname the#3\endcsname \@dfncountersep
- \@dfncounter{#1}}%
- \global\@namedef{#1}{\@dfn{#1}{#2}}%
- \global\@namedef{end#1}{\@enddefinition}}}
-\def\@yndfn#1#2{%
- \expandafter\@ifdefinable\csname #1\endcsname
- {\@definecounter{#1}%
- \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}%
- \global\@namedef{#1}{\@dfn{#1}{#2}}%
- \global\@namedef{end#1}{\@enddefinition}}}
-\def\@odfn#1[#2]#3{%
- \@ifundefined{c@#2}{\@nocounterr{#2}}%
- {\expandafter\@ifdefinable\csname #1\endcsname
- {\global\@namedef{the#1}{\@nameuse{the#2}}
- \global\@namedef{#1}{\@dfn{#2}{#3}}%
- \global\@namedef{end#1}{\@enddefinition}}}}
-\def\@dfn#1#2{%
- \refstepcounter{#1}%
- \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}}
-\def\@xdfn#1#2{%
- \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces}
-\def\@ydfn#1#2[#3]{%
- \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
-\def\@dfncounter#1{\noexpand\arabic{#1}}
-\def\@dfncountersep{.}
-\def\@begindefinition#1#2{\trivlist
- \item[\hskip\labelsep{\bfseries #1\ #2.}]\upshape}
-\def\@opargbegindefinition#1#2#3{\trivlist
- \item[\hskip\labelsep{\bfseries #1\ #2\ (#3).}]\upshape}
-\def\@enddefinition{\endtrivlist}
-
-\def\@begintheorem#1#2{\trivlist
- \let\baselinestretch\@blstr
- \item[\hskip \labelsep{\bfseries #1\ #2.}]\itshape}
-\def\@opargbegintheorem#1#2#3{\trivlist
- \let\baselinestretch\@blstr
- \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\itshape}
-%
-% Unnumbered roman proofs
-%
-\def\newproof#1{%
- \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}}
-\def\@nprf#1#2{%
- \@ifnextchar[{\@xnprf{#1}{#2}}{\@ynprf{#1}{#2}}}
-\def\@xnprf#1#2[#3]{%
- \expandafter\@ifdefinable\csname #1\endcsname
- {\@definecounter{#1}\@newctr{#1}[#3]%
- \expandafter\xdef\csname the#1\endcsname{%
- \expandafter\noexpand\csname the#3\endcsname \@prfcountersep
- \@prfcounter{#1}}%
- \global\@namedef{#1}{\@prf{#1}{#2}}%
- \global\@namedef{end#1}{\@endproof}}}
-\def\@ynprf#1#2{%
- \expandafter\@ifdefinable\csname #1\endcsname
- {\@definecounter{#1}%
- \expandafter\xdef\csname the#1\endcsname{\@prfcounter{#1}}%
- \global\@namedef{#1}{\@prf{#1}{#2}}%
- \global\@namedef{end#1}{\@endproof}}}
-\def\@oprf#1[#2]#3{%
- \@ifundefined{c@#2}{\@nocounterr{#2}}%
- {\expandafter\@ifdefinable\csname #1\endcsname
- {\global\@namedef{the#1}{\@nameuse{the#2}}%
- \global\@namedef{#1}{\@prf{#2}{#3}}%
- \global\@namedef{end#1}{\@endproof}}}}
-\def\@prf#1#2{%
- \refstepcounter{#1}%
- \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}}
-\def\@xprf#1#2{%
- \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
-\def\@yprf#1#2[#3]{%
- \@opargbeginproof{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
-\def\@prfcounter#1{\noexpand\arabic{#1}}
-\def\@prfcountersep{.}
-\def\@beginproof#1#2{\trivlist\let\baselinestretch\@blstr
- \item[\hskip \labelsep{\scshape #1.}]\rmfamily}
-\def\@opargbeginproof#1#2#3{\trivlist\let\baselinestretch\@blstr
- \item[\hskip \labelsep{\scshape #1\ (#3).}]\rmfamily}
-\def\@endproof{\endtrivlist}
-\newcommand*{\qed}{\hbox{}\hfill$\Box$}
-
-\xspaceaddexceptions{]}
-
-\ABD{\bibsep=0pt}
-%\ifbool{casfinallayout}
-% {%
- \ABD{\gdef\bibfont{\fontsize{8pt}{10pt}\selectfont}%
- \gdef\casbiographyfont{\fontsize{8pt}{10pt}\selectfont}%
- }%
-% }
-% {}
-
-\endinput