% This is file `imsart.sty' %% %% LaTeX 2e style file for the processing of LaTeX2e files %% of the following IMS/BS journals: %% %% - The Annals of Probability %% - The Annals of Applied Probability %% - The Annals of Statistics %% - The Annals of Applied Statistics %% - Statistical Science %% - Probability Surveys %% - Statistics Surveys %% - Electronic Journal of Statistics %% - Bernoulli %% - Annales de l'Institut Henri Poincar\'e - Probabilit\'es et Statistiques %% - Brazilian Journal of Probability and Statistics %% - Bayesian Analysis %% %% - Institute of Mathematical Statistics, U.S.A. %% - Bernoulli Society %% - Institut Henry Poincare %% - Brazilian Statistical Association %% - International Society for Bayesian Analysis %% %% Macros written by Vytas Statulevicius, VTeX, Lithuania %% Maintained by TeX group members, VTeX, Lithuania %% for Institute of Mathematical Statistics, U.S.A. %% Please submit bugs or your comments to latex-support@vtex.lt %% %% The original distribution is located at: %% https://www.e-publications.org/ims/support %% %% This style file contains additional macros and is designed to use %% with standard "article.cls" %% %% You are free to use this style file as you see fit, provided %% that you do not make changes to the file. %% If you DO make changes, you are required to rename this file. %% %% It may be distributed under the terms of the LaTeX Project Public %% License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% %% Bug fixes and changes: at end of file % % TeX programming: Vytas Statulevicius, VTeX, Lithuania. % TeX programming: Deimantas Galcius, VTeX, Lithuania. % TeX programming: Edgaras Sakuras, VTeX, Lithuania. % Requires Latex2e, ver.2000.06 % \def\imsfmt@name{imsart} \def\imsfmt@version{2023/05/19} % \ProvidesFile{imsart.sty}[\imsfmt@version\space IMS article style] % \RequirePackage{etoolbox} % % hyperref must be loaded after: \@ifpackageloaded{hyperref}% {\@latex@error{Package 'hyperref' must be loaded after 'imsart'!}\@ehc}% {} % % Passoptions to hyperref: \ifdefined\loadhyperrefoptions \else \def\loadhyperrefoptions{% \PassOptionsToPackage{colorlinks,citecolor=blue,urlcolor=blue,% linkcolor=blue,linktocpage=true}{hyperref}% } \fi % \loadhyperrefoptions % % General options: % % prints out \bid{doi={}} \newif\if@print@bid@doi \@print@bid@doifalse \DeclareOption{printbiddoi}{\global\@print@bid@doitrue} % % Put keywords as footnote \newif\if@keywordsasfootnote \DeclareOption{keywordsasfootnote}{\@keywordsasfootnotetrue} % % Put history as footnote \newif\if@historyasfootnote \DeclareOption{historyasfootnote}{\@historyasfootnotetrue} % % Put address as footnote \newif\if@addressasfootnote \DeclareOption{addressasfootnote}{\@addressasfootnotetrue} % % Put addresses at end of document \newif\if@addressatend \DeclareOption{addressatend}{\@addressatendtrue} % % Put "." after inline section headings: \newif\if@autosecdot \DeclareOption{autosecdot}{\@autosecdottrue} \DeclareOption{noautosecdot}{\AtBeginDocument{\@autosecdotfalse}} % % do not print thanksref undefined marks \newif\if@noundefthanksref \DeclareOption{noundefthanksref}{\@noundefthanksreftrue} % \newif\if@front@back \@front@backfalse \DeclareOption{frontback}{\global\@front@backtrue} % % Load amsmath style with correct settings: \newif\if@load@amsmath \DeclareOption{amsmath}{\@load@amsmathtrue} % % Load amsthm style with correct settings: \newif\if@load@amsthm \DeclareOption{amsthm}{\@load@amsthmtrue} % % Resets equation number in each section \newif\if@imsart@seceqn \DeclareOption{seceqn}{\@imsart@seceqntrue} % % Load amsmath with leqno option \newif\if@amsmath@leqno % % Load natbib with correct settings: \newif\if@load@natbib \DeclareOption{natbib}{\@load@natbibtrue} % % When hyperref is loaded, makes a hyperlink only from year component of the cite command: \newif\if@linksfromyear\@linksfromyearfalse \DeclareOption{linksfromyear}{\@linksfromyeartrue} % \newif\if@imsart@numbers \newif\if@imsart@authoryear \newif\if@imsart@nameyear \DeclareOption{numbers}{% \@imsart@numberstrue \PassOptionsToPackage{numbers}{natbib}% } \DeclareOption{nameyear}{% \PassOptionsToPackage{authoryear}{natbib}% \@imsart@nameyeartrue \@imsart@authoryeartrue } \DeclareOption{authoryear}{% \PassOptionsToPackage{authoryear}{natbib}% \@imsart@nameyeartrue \@imsart@authoryeartrue } % \newif\if@ims@rotating \DeclareOption{rotating}{\@ims@rotatingtrue} % % enable writing to .aux \newif\if@supertoc \@supertocfalse \newif\if@changetoc \@changetocfalse % % for new thanksref syntax \newif\if@updated@thanksref \@updated@thanksreffalse % % Information about journals % \def\set@generic{\def\@tempa{-generic}} \AtEndOfPackage{\set@generic} % \DeclareOption{ba}{% \def\journal@id{-ba}% \def\journal@name{Bayesian Analysis}% \def\journal@issn@print{1936-0975}% \def\journal@issn@electronic{1931-6690}% \def\journal@url{https://bayesian.org/resources/bayesian-analysis/}% \@balayouttrue \@noundefthanksreftrue \@updated@thanksreftrue \@addressasfootnotetrue } % \DeclareOption{ps}{% \def\journal@id{-ps}% \def\journal@name{Probability Surveys }% \def\journal@issn{ISSN: 1549-5787}% \def\journal@url{https://imstat.org/journals-and-publications/probability-surveys/}% \@ejs@ps@ss@layouttrue } % % Information about journals \DeclareOption{ss}{% \def\journal@id{-ss}% \def\journal@name{Statistics Surveys }% \def\journal@issn{ISSN: 1935-7516}% \def\journal@url{https://imstat.org/journals-and-publications/statistics-surveys/}% \@ejs@ps@ss@layouttrue } % % Information about journals \DeclareOption{ejs}{% \def\journal@id{-ejs}% \def\journal@name{Electronic Journal of Statistics }% \def\journal@issn{ISSN: 1935-7524}% \def\journal@url{https://imstat.org/journals-and-publications/electronic-journal-of-statistics/}% \@ejs@ps@ss@layouttrue } % % Options for the IMS journals: % \DeclareOption{aap}{% \def\journal@id{-aap}% \def\journal@name{Submitted to the Annals of Applied Probability }% \def\journal@url{https://imstat.org/journals-and-publications/annals-of-applied-probability/}% \set@page@layout{405bp}{646bp}% \@twosidetrue \input{leqno.clo}% formula numbers at left \@amsmath@leqnotrue \@historyasfootnotetrue \@keywordsasfootnotetrue \@imslayouttrue \@autosecdottrue \@print@bid@doitrue \@updated@thanksreftrue } % \DeclareOption{aop}{% \def\journal@id{-aop}% \def\journal@name{Submitted to the Annals of Probability }% \def\journal@url{https://imstat.org/journals-and-publications/annals-of-probability/}% \set@page@layout{405bp}{646bp}% \@twosidetrue \input{leqno.clo}% formula numbers at left \@amsmath@leqnotrue \@historyasfootnotetrue \@keywordsasfootnotetrue \@imslayouttrue \@autosecdottrue \@print@bid@doitrue \@updated@thanksreftrue } % \DeclareOption{aos}{% \def\journal@id{-aos}% \def\journal@name{Submitted to the Annals of Statistics }% \def\journal@url{https://imstat.org/journals-and-publications/annals-of-statistics/}% \set@page@layout{405bp}{646bp}% \@twosidetrue \input{leqno.clo}% formula numbers at left \@amsmath@leqnotrue \@historyasfootnotetrue \@keywordsasfootnotetrue \@imslayouttrue \@autosecdottrue \@print@bid@doitrue \@updated@thanksreftrue } % \DeclareOption{aoas}{% \def\journal@id{-aoas}% \def\journal@name{Submitted to the Annals of Applied Statistics }% \def\journal@url{https://imstat.org/journals-and-publications/annals-of-applied-statistics/}% \set@page@layout{405bp}{646bp}% \@twosidetrue \input{leqno.clo}% formula numbers at left \@amsmath@leqnotrue \@historyasfootnotetrue \@keywordsasfootnotetrue \@imslayouttrue \@autosecdottrue \@print@bid@doitrue \@updated@thanksreftrue \AtBeginDocument{% \@ifpackagewith{natbib}{numbers}{% \@latex@error{Only author-year citations are allowed! Please use the option 'authoryear' of 'natbib' package}{}% }{}% }% } % \DeclareOption{sts}{% \def\journal@id{-sts}% \def\journal@name{Submitted to Statistical Science }% \def\journal@url{https://imstat.org/journals-and-publications/statistical-science/}% \set@page@layout{408.62625pt}{702.75pt}% twocol wd - 10pc \@twosidetrue \input{leqno.clo}% formula numbers at left \@amsmath@leqnotrue \@stslayouttrue \@twocolumntrue \@print@bid@doitrue \AtEndPreamble{\if@twocolumn\set@page@layout{528.62625pt}{702.75pt}\fi}% } % \DeclareOption{bj}{% \def\journal@id{-bj}% \def\journal@name{Submitted to Bernoulli }% \def\journal@url{http://www.bernoulli-society.org/index.php/publications/bernoulli-journal/bernoulli-journal}% \def\journal@issn{1350-7265}% \set@page@layout{34pc}{574pt}% \@twosidetrue \@bjlayouttrue \@autosecdottrue \@updated@thanksreftrue \@print@bid@doitrue \@load@amsthmtrue \@load@amsmathtrue \@load@natbibtrue \@imsart@showframetrue } % \DeclareOption{aihp}{% \def\journal@id{-aihp}% \def\journal@name{Submitted to the Annales de l'Institut Henri Poincar\'e - Probabilit\'es et Statistiques}% \def\journal@url{https://imstat.org/journals-and-publications/annales-de-linstitut-henri-poincare/}% \set@page@layout{169.475mm}{56pc}% \@twosidetrue \input{leqno.clo}% formula numbers at left \@amsmath@leqnotrue \@aihplayouttrue \@updated@thanksreftrue \@print@bid@doitrue \AtBeginDocument{% \@ifpackagewith{natbib}{authoryear}{% \@latex@error{Only numerical citations are allowed! Please use the option 'numbers' of 'natbib' package}{}% }{}% }% } % \DeclareOption{bjps}{% \def\journal@id{-bjps}% \def\journal@name{Submitted to the Brazilian Journal of Probability and Statistics}% \def\journal@url{https://imstat.org/journals-and-publications/brazilian-journal-of-probability-and-statistics/}% \set@page@layout{405pt}{646pt}% \@twosidetrue \@historyasfootnotetrue \@keywordsasfootnotetrue \@bjpslayouttrue \@updated@thanksreftrue \@print@bid@doitrue \AtBeginDocument{% \@ifpackagewith{natbib}{numbers}{% \@latex@error{Only author-year citations are allowed! Please use the option 'authoryear' of 'natbib' package}{}% }{}% }% } % %% Layouts: % IMS journals AAP, AOP, AOS layout: \newif\if@imslayout \@imslayoutfalse % % IMS STS journal layout: \newif\if@stslayout \@stslayoutfalse % % EJS, PS, SS journals layout: \newif\if@ejs@ps@ss@layout \@ejs@ps@ss@layoutfalse % % BA journal layout: \newif\if@balayout \@balayoutfalse % % BS BJ journal layout: \newif\if@bjlayout \@bjlayoutfalse % % AIHP journal layout: \newif\if@aihplayout \@aihplayoutfalse % % BJPS journal layout: \newif\if@bjpslayout \@bjpslayoutfalse % % Spacing \DeclareOption{doublespacing}{\doublespacing} \DeclareOption{singlespacing}{\singlespacing} % \def\singlespacing{\renewcommand{\baselinestretch}{}\large\normalsize} \def\doublespacing{\renewcommand{\baselinestretch}{1.6}\large\normalsize} % % Do not print id line at bottom of the page: \DeclareOption{noinfoline}{\AtBeginDocument{\let\info@line\@empty}} \DeclareOption{infoline}{\AtBeginDocument{\let\info@line\infoline@text}} % % Put lines numbers in margins \newif\ifnumberlines@ \numberlines@false \DeclareOption{linenumbers}{\numberlines@true} \DeclareOption{nolinenumbers}{\numberlines@false} % % Put frame on page layout \newif\if@imsart@showframe \@imsart@showframefalse \DeclareOption{showframe}{\@imsart@showframetrue} \DeclareOption{noshowframe}{\@imsart@showframefalse} % % Combined options: % % Use this option for submission for pier review: \DeclareOption{submission}{% \singlespacing \AtBeginDocument{\let\info@line\infoline@text}% \numberlines@false } % % use this option for pre-edition \DeclareOption{preedit}{% \doublespacing \AtBeginDocument{% \let\info@line\@empty \set@preedit@page@layout }% \numberlines@false } % % for preprint or supplement articles - removes journal info \newif\if@imsart@preprint \@imsart@preprintfalse \ifcsundef{imsart@preprint@settings}% {% \def\imsart@preprint@settings{% \global\@imsart@preprinttrue \let\info@line\@empty \numberlines@false }% }% {} \DeclareOption{preprint}{% \imsart@preprint@settings } % % Initiate some info: \def\journal@name{} \def\journal@url{} \def\journal@issn{} \def\journal@id{-generic} \def\paper@url{} \def\info@line{} \def\copyrightowner@text{} \def\msc@url{https://mathscinet.ams.org/mathscinet/msc/msc2020.html} % % set@page@layout % % \set@page@layout{\textwidth}{\textheight} \def\set@page@layout#1#2{% \setlength\textwidth{#1}% \@settopoint\textwidth \setlength\textheight{#2}% \@settopoint\textheight % % make side margins equal: \setlength\@tempdima{\paperwidth}% \addtolength\@tempdima{-\textwidth}% \setlength\oddsidemargin{.5\@tempdima}% \addtolength\oddsidemargin{-1in}% \setlength\evensidemargin{\oddsidemargin}% \@settopoint\oddsidemargin \@settopoint\evensidemargin % % topmargin \setlength\topmargin{\paperheight}% \addtolength\topmargin{-2in}% \addtolength\topmargin{-\headheight}% \addtolength\topmargin{-\headsep}% \addtolength\topmargin{-\textheight}% \addtolength\topmargin{-\footskip}% this might be wrong! \addtolength\topmargin{-.5\topmargin}% \@settopoint\topmargin % % check if tw and th are'nt altered \xdef\imsart@check@textwidth{\the\textwidth}% \xdef\imsart@check@textheight{\the\textheight}% \AtEndDocument{% \@ifundefined{do@not@check@textbox@alter}% {% \ifdim\textwidth=\imsart@check@textwidth \else \PackageError{imsart}{\string\textwidth\space cannot be altered}\@ehc \fi \ifdim\textheight=\imsart@check@textheight \else \PackageError{imsart}{\string\textheight\space cannot be altered}\@ehc \fi }% {}% }% } % \def\set@preedit@page@layout{% \setlength\paperwidth{\textwidth}% \addtolength\paperwidth{2in}% \setlength\oddsidemargin{0in}% \let\evensidemargin\oddsidemargin \setlength\paperheight{\textheight}% \addtolength\paperheight{2in}% \addtolength\paperheight{\headheight}% \addtolength\paperheight{\headsep}% \setlength\topmargin{0in}% } % % Load imsart.cnf with additional options: \@input{\imsfmt@name.cnf} % % Execute options \ExecuteOptions{} \ProcessOptions % % dimensions % \setlength\parindent{12\p@} \setlength\headsep{14\p@} \setlength\footskip{14\p@} \if@aihplayout \setlength\footskip{24\p@} \fi \if@bjlayout \setlength\parindent{10\p@} \setlength\footskip{24\p@} \fi % \setlength\smallskipamount{6\p@ \@plus 1\p@ \@minus 1\p@} \setlength\medskipamount{12\p@ \@plus 3\p@ \@minus 3\p@} \setlength\bigskipamount{18\p@ \@plus 3\p@ \@minus 3\p@} % % setpkgattr, getpkgattr, do@option@list % \def\sep@key@value#1=#2/?/#3{\setpkgattr{#3}{#1}{#2}} \def\do@option@list#1#2{% \@for\curr@option:={#2}\do{% \expandafter\sep@key@value\curr@option/?/{#1}\relax }% } \def\pkgattr@namedef{\long\gdef} \def\pkgattr@namedef@def#1{\expandafter\pkgattr@namedef\csname #1\endcsname} \protected\def\setpkgattr{\@ifnextchar[{\@setpkgattr}{\@@setpkgattr}} \protected\def\getpkgattr#1#2{\csname #1@#2\endcsname} \long\def\@setpkgattr[#1]#2#3#4{% \pkgattr@namedef@def{#2@#3}{#4}% } \long\def\@@setpkgattr#1#2#3{% \pkgattr@namedef@def{#1@#2}{#3}% } % % newpseudoenvironment % same as \newenvironment, but new environment do not have additional groups \bgroup \egroup % (i.e. all definitions are not local % \let\org@begin\begin \let\org@end\end \def\begin#1{% \@ifundefined{pseudo@#1}% {\org@begin{#1}}% {\csname pseudo@#1\endcsname[0]\relax}% } \def\end#1{% \@ifundefined{pseudo@#1}% {\org@end{#1}}% {\csname pseudo@#1\endcsname[1]\relax}% } \def\newpseudoenvironment#1#2#3{% \expandafter\gdef\csname pseudo@#1\endcsname[##1]{% \relax \ifcase##1\relax\def\@@next@@{#2}\or\def\@@next@@{#3}\else\let\@@next@@\relax\fi \@@next@@ }% } % % pubyear, volume, paperno % \def\pubyear#1{\gdef\@pubyear{(#1) }\gdef\@copyrightyear{#1 }} \def\@pubyear{} \def\@copyrightyear{} % \def\volumetitle#1{\gdef\volume@title{#1 }} % \def\volume#1{\gdef\@volume{Vol. #1 }} \gdef\@volume{} % \def\issue#1{\gdef\@issue{No. #1 }} \gdef\@issue{} % \def\paperno#1{\gdef\@paperno{Paper no. #1 }} \gdef\@paperno{00} % % firstpage, lastpage, pagerange % \newcounter{firstpage} \newcounter{lastpage} % \def\firstpage#1{% \def\@tempa{#1}% \ifx\@tempa\@empty \else \gdef\@firstpage{#1}% \global\c@firstpage=#1% \global\c@lastpage=#1% \global\c@page=#1 \ignorespaces\fi } % \def\lastpage#1{% \def\@tempa{#1}% \ifx\@tempa\@empty \else \gdef\@lastpage{#1}% \global\c@lastpage=#1% \ignorespaces \fi } % \def\pagerange@sep{--} % \def\set@pagerange{% \ifnum\c@firstpage=0% \else \ifnum\c@firstpage=\c@lastpage \gdef\@pagerange{\thefirstpage}% \else \gdef\@pagerange{\thefirstpage\pagerange@sep\thelastpage}% \fi \fi } % \def\@pagerange{} % \def\pagenumbering#1{% \gdef\thefirstpage{\csname @#1\endcsname\c@firstpage}% \gdef\thelastpage{\csname @#1\endcsname\c@lastpage}% \gdef\thepage{\csname @#1\endcsname\c@page}% } % % hyperref redefines \pagenumbering, so we must override hyperref definition: \let\ims@pagenumbering\pagenumbering % % check last page \newbool{checklpage} \def\check@last@page{% \ifbool{checklpage}% {% \ifnum0\number\c@lastpage>0\relax \ifnum0\number\c@lastpage=\c@page \else \special{mt:error Wrong lastpage!}% \@latex@error{Wrong lastpage: set to \number\c@lastpage, should be \the\c@page!}\@ehc \fi \fi }% {}% } \AtEndDocument{\check@last@page} % % startlocaldefs, endlocaldefs % \def\startlocaldefs{\makeatletter} \def\endlocaldefs{\makeatother} % % thanksref, thanksmark, thankslabel, thankstext % to be safe with hyperref we will use original LaTeX definitions: % \def\saferef#1{\expandafter\safe@setref\csname r@#1\endcsname\@firstoftwo{#1}} \let\safe@setref\@setref % \def\safelabel#1{% \@bsphack \protected@write\@auxout{}% {\string\thanksnewlabel{#1}{{\@currentlabel}{\thepage}}}% \@esphack } % \long\def\safe@footnotetext#1{\insert\footins{% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \color@begingroup \def\@thefnmark{}% \@makefntext{% \rule\z@\footnotesep\ignorespaces #1\@finalstrut\strutbox}% \color@endgroup }}% % \long\def\orig@footnotetext#1{\insert\footins{% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup }}% % \let\thanksnewlabel\newlabel % % we want to use various counters: \def\usethankscounter#1{% \@ifundefined{current@thankscounter}% {\gdef\previous@thankscounter{#1}}% {\xdef\previous@thankscounter{\current@thankscounter}}% \def\current@thankscounter{#1}% } % \def\restorethankscounter{\xdef\current@thankscounter{\previous@thankscounter}} % \newcounter{thanks} \def\thethanks{\@fnsymbol\c@thanks} \usethankscounter{thanks} % % address ref: \newcounter{addressref} \def\theaddressref{\arabic{addressref}} % \def\thanksmark@fmt#1{\@textsuperscript{\normalfont#1}} \def\thanksref@sep{,} % % hooks for the hyperref: \def\thankref@hyperlink#1{\saferef{#1thanks}} \def\thanks@hypertarget#1{} % % printing the marks \DeclareRobustCommand{\thanksref}{% \@ifnextchar[{\@tempswatrue\@thanksref}{\@tempswafalse\@thanksref[]}% } \let\orig@thanksref\thanksref % \def\@thanksref[#1]#2{% \if@tempswa% [] \thanksmark@fmt{#1}% \else \let\@tempa\@empty \thanksmark@fmt{\@for\@tempb:=#2\do{% \csname thanksref@hook\endcsname \@tempa \let\@tempa\thanksref@sep \edef\@tempb{\expandafter\@firstofone\@tempb\@empty}% \thankref@hyperlink{\@tempb}% }}% \fi } % % form and print mark \def\thanksmark{\@ifnextchar[{\@tempswatrue\@thanksmark}{\@tempswafalse\@thanksmark[]}} % \def\@thanksmark[#1]#2{% \@thankslabel[#1]{#2}% \thanksmark@fmt{\expandafter\saferef{#2thanks}\thanks@hypertarget{#2}}% } % % form only mark \def\thankslabel{\@ifnextchar[{\@tempswatrue\@thankslabel}{\@tempswafalse\@thankslabel[]}} % \def\@thankslabel[#1]#2{% \if@tempswa% [] \protected@edef\@currentlabel{#1}% \else \refstepcounter{\current@thankscounter}% \fi \@ifundefined{temp@label@#2thanks}% {\global\@namedef{temp@label@#2thanks}{}\safelabel{#2thanks}}% {}% } % % form a mark and place text in \@thanks: \def\thankstext{\@ifnextchar[{\@tempswatrue\@thankstext}{\@tempswafalse\@thankstext[]}} % \def\@thankstext[#1]#2#3{% \@thankslabel[#1]{#2}% \protected@xdef\@thanks{\@thanks\protect\thanks@thefnmark{#2thanks}% \protect\orig@footnotetext{\thanks@hypertarget{#2}#3}}% } % \def\thanks@thefnmark#1{\begingroup\unrestored@protected@xdef\@thefnmark{\saferef{#1}}\endgroup} % % ST macro for creation customized enumeration system \def\setvaluelist#1#2{% \@tempcnta=0\relax \@for\@curr@val:=#2\do{% \advance\@tempcnta by 1\relax \expandafter\protected@xdef\csname #1@item@\the\@tempcnta\endcsname{\@curr@val}% }% \expandafter\protected@xdef\csname #1@item@0\endcsname{\the\@tempcnta}% } \xdef\getitemvalue#1#2{\noexpand\csname #1@item@#2\endcsname} % % \ead, \printead % \RequirePackage{keyval} % \def\email@text{e-mail: } \def\url@text{url: } \def\fullurl@text{url: } \def\ead@sep{;~} \let\ead@size\relax \def\printead@fmt#1{#1} % \newcounter{emailref} \setvaluelist{emailmarks}{*,**,\textdagger,\textdaggerdbl} \def\theemailref{\getitemvalue{emailmarks}{\the\c@emailref}} \define@key{ead}{mark}[true]{% \usethankscounter{emailref}% \thankslabel{\ead@label}% } % \RequirePackage{ifpdf} \def\orcid@base{https://orcid.org/} \def\orcid@special@pdf#1{\special{pdf: #1}} \def\orcid@pic@pdf{% \hbox to 9bp{% \vrule width \z@ height 9bp% \orcid@special@pdf{% q 1 0 0 -1 0 9 cm q 0.65098 0.807843 0.223529 rg 9 4.5 m 9 6.984 6.984 9 4.5 9 c 2.016 9 0 6.984 0 4.5 c 0 2.016 2.016 0 4.5 0 c 6.984 0 9 2.016 9 4.5 c h 9 4.5 m f 1 1 1 rg 2.492 2.781 0.543 3.766 re f 3.828 2.781 m 5.289 2.781 l 6.684 2.781 7.297 3.777 7.297 4.664 c 7.297 5.633 6.539 6.551 5.297 6.551 c 3.828 6.551 l h 4.371 6.062 m 5.23 6.062 l 6.457 6.062 6.738 5.129 6.738 4.664 c 6.738 3.91 6.258 3.27 5.203 3.27 c 4.371 3.27 l h 4.371 6.062 m f 3.117 1.996 m 3.117 2.191 2.961 2.352 2.762 2.352 c 2.566 2.352 2.41 2.191 2.41 1.996 c 2.41 1.801 2.566 1.641 2.762 1.641 c 2.961 1.641 3.117 1.805 3.117 1.996 c h 3.117 1.996 m f Q Q }\hss }% } \def\orcid@pic@ps{% \hbox to 9bp{% \vrule width \z@ height 9bp% \special{" gsave 0 0 9 9 rectclip 1 0 0 -1 0 9 6 array astore concat gsave 0.65098 0.807843 0.223529 setrgbcolor 9 4.5 moveto 9 6.984 6.984 9 4.5 9 curveto 2.016 9 0 6.984 0 4.5 curveto 0 2.016 2.016 0 4.5 0 curveto 6.984 0 9 2.016 9 4.5 curveto closepath 9 4.5 moveto fill 1 setgray 2.492 2.781 0.543 3.766 exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 0 exch rlineto 0 rlineto closepath fill 3.828 2.781 moveto 5.289 2.781 lineto 6.684 2.781 7.297 3.777 7.297 4.664 curveto 7.297 5.633 6.539 6.551 5.297 6.551 curveto 3.828 6.551 lineto closepath 4.371 6.062 moveto 5.23 6.062 lineto 6.457 6.062 6.738 5.129 6.738 4.664 curveto 6.738 3.91 6.258 3.27 5.203 3.27 curveto 4.371 3.27 lineto closepath 4.371 6.062 moveto fill 3.117 1.996 moveto 3.117 2.191 2.961 2.352 2.762 2.352 curveto 2.566 2.352 2.41 2.191 2.41 1.996 curveto 2.41 1.801 2.566 1.641 2.762 1.641 curveto 2.961 1.641 3.117 1.805 3.117 1.996 curveto closepath 3.117 1.996 moveto fill grestore grestore }\hss }% } \ifpdf \let\orcid@pic\orcid@pic@pdf \else \ifdefined\XeTeXversion \def\orcid@special@pdf#1{\special{pdf:literal #1}} \let\orcid@pic\orcid@pic@pdf \else \let\orcid@pic\orcid@pic@ps \fi \fi \def\orcid#1{% \ifcsundef{author@\the\c@author @orcid}% {\csxdef{author@\the\c@author @orcid}{#1}}% {% \PackageError{imsart}{author \the\c@author\space contains more than one orcid}\@ehc }% } \def\printorcid{% \ifcsundef{author@\the\c@author @orcid}% {}% {% \raisebox{-1.3\p@}[\z@][\z@]{{% \def\null{}% \ims@href {\orcid@base\csname author@\the\c@author @orcid\endcsname}% {\orcid@pic}% }}% }% } \if@updated@thanksref \setvaluelist{emailmarks}{*,\textdagger,\textdaggerdbl,% \textsection,\textparagraph,||,**,\textdagger\textdagger,% \textdaggerdbl\textdaggerdbl } \define@key{ead}{mark}[true]{% \csxdef{ead@\ead@label @mark}{\the\c@author}% \ifcsundef{author@\the\c@author @ead@marks}% {\csxdef{author@\the\c@author @ead@marks}{\ead@label}}% {\csxappto{author@\the\c@author @ead@marks}{,\ead@label}}% } \if@balayout \else \def\theemailref{\@alph{\the\c@emailref}} \define@key{ead}{mark}[true]{} \def\ead@type@email@posthook{% \csxdef{ead@\ead@label @mark}{\the\c@author}% \ifcsundef{author@\the\c@author @ead@marks}% {\csxdef{author@\the\c@author @ead@marks}{\ead@label}}% {\csxappto{author@\the\c@author @ead@marks}{,\ead@label}}% } \let\ead@type@url@posthook\ead@type@email@posthook \let\ead@type@fullurl@posthook\ead@type@email@posthook \fi \fi % % we are using keyval package \define@key{ead}{email}[true]{\def\ead@type{email}} \define@key{ead}{url}[true]{\def\@tempa{fullurl}\ifx\ead@type\@tempa\else\def\ead@type{url}\fi} \define@key{ead}{label}{\def\ead@label{#1}} % \define@key{ead}{text}{% \bgroup \def\\{\string\break}% \def\break{\string\break}% \protected@edef\@currentlabel{#1}% \safelabel{\ead@label @\ead@type text}% \egroup } % \define@key{ead}{nopdflink}[true]{% \protected@edef\@currentlabel{nolink}% \safelabel{\ead@label @nopdflink}% } % \DeclareRobustCommand\ead[2][label= ,email]{{% \def\ead@type{email}% default \checkead@prefix#2://\end \def\texttildelow{\noexpand\texttildelow}% \def~{\string~}% \setkeys{ead}{#1}% \protected@edef\@currentlabel{#2}% \safelabel{\ead@label @\ead@type}% \csuse{ead@type@\ead@type @posthook}% }} % \def\checkead@prefix#1://#2\end{\ifx.#2.\else\def\ead@type{fullurl}\fi} % \newif\ifnot@ead@star \newif\if@printead@opt % \def\printead@presep{} \def\printead@text{} \define@key{printead}{text}{\def\printead@text{#1}} \define@key{printead}{presep}{\def\printead@presep{#1}} % \DeclareRobustCommand{\printead}{% \@ifstar{\not@ead@starfalse\@printead}{\not@ead@startrue\@printead}% } % \def\@printead{% \@ifnextchar[{\@printead@opttrue\@@printead}{\@printead@optfalse\@@printead[]}% } % \def\@@printead[#1]#2{{% \if@printead@opt%[] \setkeys{printead}{#1}% \printead@presep \ifx\printead@text\@empty \@printead@optfalse \else \def\safe@href@text{\printead@text}% \not@ead@starfalse \fi \fi \let\prev@ead@text\relax \let\@ead@sep\relax \let\ead@text\relax \let\ead@prefix\relax \def\ead@type{}% \@tempcnta=0% \let\sv@ims@href\ims@href \printead@fmt{% \@for\ead@ref:=#2\do{% \advance\@tempcnta by 1% \let\ims@href\sv@ims@href \@ead@sep\let\@ead@sep\ead@sep \@ifundefined{r@\ead@ref @nopdflink}% {}% {\def\ims@href##1##2{##2}}% \@ifundefined{r@\ead@ref @email}% {}% {\let\ead@text\email@text\def\ead@type{email}\def\ead@prefix{mailto:}}% \@ifundefined{r@\ead@ref @url}% {}% {\let\ead@text\url@text\def\ead@type{url}\def\ead@prefix{http://}}% \@ifundefined{r@\ead@ref @fullurl}% {}% {\let\ead@text\fullurl@text\def\ead@type{fullurl}\def\ead@prefix{}}% \ifx\prev@ead@text\ead@text \let\ead@text\relax \fi \csname printead@hook\endcsname \if@printead@opt \ifnum\@tempcnta>1% \@latex@error{Command \@backslashchar printead[]{e1} could have only one parameter "e1"!}\@eha \fi \else \@ifundefined{r@\ead@ref @\ead@type text}% {% \def\ims@href@text{% \@ifundefined{r@\ead@ref thanks}% {}% {\thanksref{\ead@ref}}% \saferef{\ead@ref @\ead@type}% }% }% {% \def\ims@href@text{% \@ifundefined{r@\ead@ref thanks}% {}% {\thanksref{\ead@ref}}% \saferef{\ead@ref @\ead@type text}% }% }% \fi \bgroup \def\null{}% \@ifundefined{ead@\ead@ref @mark}% {}% {% \usethankscounter{emailref}% \thanksmark{\ead@ref}% \restorethankscounter \cslet{r@\ead@ref thanks}\relax }% \ifnot@ead@star \ead@text \fi \ead@size \ifcsundef{r@\ead@ref @\ead@type}% {\ims@href@text}% {% \ims@href{\ead@prefix\saferef{\ead@ref @\ead@type}}{\csuse{ead@\ead@type @fmt}{\ims@href@text}}% }% \egroup \@ifundefined{ead@text}% {}% {\let\prev@ead@text\ead@text}% }% }% }} % % \copyrightowner, \corref \def\copyrightowner#1{\def\copyrightowner@text{#1}} % % for corresponding author \def\corref#1{} % % normaltext, nohyphen, today % % normal text (justify) \def\normaltext{% \let\\=\@normalcr \leftskip=\z@ \@rightskip=\z@ \rightskip=\@rightskip \parfillskip=\@flushglue } % % to switch off hyphenation \def\nohyphen{% \pretolerance=\@M \tolerance=\@M \hyphenpenalty=\@M \exhyphenpenalty=\@M } % % \@ifemptyhbox \def\@ifnonempty#1{% \setbox\@tempboxa\hbox{\ignorespaces #1}% \ifdim\wd\@tempboxa>1pt #1\fi } % \@ifundefined{check@head@line@length}% {\let\check@head@line@length\@gobbletwo}% {} % pagestyle{imsheadings} \thispagestyle{copyright} \if@twoside % \def\ps@imsheadings{% \def\@oddfoot{\hfill\info@line}% \let\@evenfoot\@oddfoot \def\check@head@line@length@even{% \runninghead@size {\pagenumber@size 000\quad}% \evenhead@fmt{\leftmark}{\pagenumber@size\quad 000}% }% \def\@evenhead{% \runninghead@size \rlap{\pagenumber@size\thepage}\evenhead@fmt{\leftmark}% \check@head@line@length{\check@head@line@length@even}{author}% }% \def\check@head@line@length@odd{% \runninghead@size{\pagenumber@size 000\quad}% \oddhead@fmt{\rightmark}{\pagenumber@size\quad 000}% }% \def\@oddhead{% \runninghead@size \oddhead@fmt{\rightmark}\llap{\pagenumber@size\thepage}% \check@head@line@length{\check@head@line@length@odd}{title}% }% } \else \def\ps@imsheadings{% \def\@oddfoot{\hfill\info@line}% \let\@evenfoot\@oddfoot \def\@evenhead{% \runninghead@size\hfill\leftmark/\rightmark\hfill \llap{\pagenumber@size\thepage}% }% \def\@oddhead{% \runninghead@size\hfill\leftmark/\rightmark\hfill \llap{\pagenumber@size\thepage}% }% } \fi % \def\ps@copyright{% \let\@mkboth\@gobbletwo \def\@evenhead{\parbox[t]{\textwidth}{\copyright@size\copyright@text}}% \let\@oddhead\@evenhead \def\@oddfoot{\hfill\pagenumber@size\thepage\hfill\llap{\info@line}}% \let\@evenfoot\@oddfoot } % \def\evenhead@fmt#1{\hfill#1\hfill} \def\oddhead@fmt#1{\hfill#1\hfill} % % url@fmt % \def\journalurl#1{\def\journal@url{#1}} \def\paperurl#1{\def\paper@url{#1}} % % DOI % \def\doi#1{% \gdef\@doi{#1}% \gdef\doi@text{\url@fmt{DOI: }{\ttfamily}{#1}{\doi@base\@doi}}% } % \let\@doi\relax % \def\doi@base{https://doi.org/} \@onlypreamble\doi % \protected\def\relateddoi{\@ifnextchar[{\@tempswatrue\@relateddoi}{\@tempswafalse\@relateddoi[]}} \def\@relateddoi[#1]#2#3{\protect\ims@href{\doi@base#3}{#3}} % \protected\def\relateddois{% \@ifnextchar[{\@tempswatrue\@relateddois}{\@tempswafalse\@relateddois[]}% } \def\@relateddois[#1]#2#3{% \@thankslabel[#1]{#2}% \bgroup \protected@xdef\@thanks{\@thanks\protect\thanks@thefnmark{#2thanks}% \protect\@footnotetext{\thanks@hypertarget{#2}#3}}% \egroup } % % arXiv % \def\arxiv#1{% \gdef\@arxiv{#1}% \thankstext[]{fm@arXiv}{\protect\url@fmt{arXiv: }{}{#1}{\arxiv@base\@arxiv}}% }% % \let\@arxiv\relax \@onlypreamble\arxiv % % https://arxiv.org/abs/math.PR/0603300 \def\arxiv@base{https://arxiv.org/abs/} % % {url}{text} \def\ims@href#1#2{#2} \def\ims@nolinkurl#1{#1} % % {prefix}{font}{text}{url} \def\url@fmt#1#2#3#4{% \edef\@tempa{#3}% \ifx\@tempa\@empty \else #1{#2\ims@href{#4}{#3}}% \fi } % % LIST ENVIRONMENTS % \parsep=\z@ \topsep=\smallskipamount \partopsep=\z@ \itemsep=\z@ \labelsep=.5em % \def\@listI{% \leftmargin=\leftmargini \parsep=\z@ \topsep=\smallskipamount \itemsep=\z@ } % \def\list@parindent{1pc} % % quotation \let\quotation@size\footnotesize \def\quotation@itemindent{\list@parindent} \def\quotation@parindent{\list@parindent} \def\quotation@leftmargin{\list@parindent} \let\quotation@rightmargin\z@ \let\quotation@topsep\smallskipamount % \def\quotation{% \list{}{% \quotation@size \listparindent=\quotation@parindent \itemindent=\quotation@itemindent \rightmargin=\quotation@rightmargin \leftmargin=\quotation@leftmargin \partopsep=\z@ \topsep=\quotation@topsep \parsep=\z@ \csname quotation@hook\endcsname }% \item[\Q@strut]\relax } \def\endquotation{\endlist} % \def\Q@strut{\leavevmode\hbox{\vrule height9pt depth1pt width0pt}} % % quote \let\quote@size\footnotesize \def\quote@indent{\z@} \def\quote@leftmargin{2pc} \def\quote@rightmargin{2pc} \let\quote@topsep\smallskipamount % \def\quote{% \list{}{% \quote@size \listparindent=\quote@indent \itemindent=\listparindent \rightmargin=\quote@rightmargin \leftmargin=\quote@leftmargin \partopsep=\z@ \topsep=\quote@topsep \parsep=\z@ \csname quote@hook\endcsname }% \item\relax } \def\endquote{\endlist} % % table, figure % \newdimen\tablewidth \tablewidth\textwidth % \def\fnum@table{\tablename~\thetable} \setlength\belowcaptionskip{4\p@} % \renewenvironment{table} {% \let\@makecaption\@maketablecaption \csname starttable@hook\endcsname \tablewidth=\hsize \@float{table}% } {\end@float} \renewenvironment{table*} {% \let\@makecaption\@maketablecaption \csname starttable@hook\endcsname \tablewidth=\hsize \@dblfloat{table}% } {\end@dblfloat} % \long\def\@maketablecaption#1#2{% \tablecaption@shape\tablecaption@size {\tablename@size #1}\tablename@skip #2\par \vskip\belowcaptionskip } % \setpkgattr{tablecaption}{shape}{\centering} \setpkgattr{tablecaption}{size}{\footnotesize\itshape} \setpkgattr{tablename}{size}{\scshape} \setpkgattr{tablename}{skip}{\endgraf} % % figure : use \@makecaption: \renewcommand\figurename{Fig} % \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \figurecaption@size \sbox\@tempboxa{{\figurename@size #1}\figurename@skip #2}% \ifdim \wd\@tempboxa >\hsize {\figurename@size #1}\figurename@skip #2\par \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip } % \setpkgattr{figurecaption}{size}{\footnotesize\itshape} \setpkgattr{figurename}{size}{\scshape} \setpkgattr{figurename}{skip}{.~} % \def\@floatboxreset{% \reset@font \@setminipage \singlespacing \ifcsundef{\@captype @size}% {\footnotesize}% {\csuse{\@captype @size}}% \ifcsundef{\@captype @shape}% {\centering}% {\csuse{\@captype @shape}}% } % \if@aihplayout \setpkgattr{tablecaption}{size}{\footnotesize} \setpkgattr{figurecaption}{size}{\footnotesize} \fi % \if@bjlayout \let\savehline\hline \def\thline{\noalign{\vskip3pt}\savehline\noalign{\vskip3pt}}% \setpkgattr{starttable}{hook}{\let\hline\thline} \setpkgattr{table}{size}{\small} \AtBeginDocument{\appto\@xhline{\noalign{\vskip2\p@}}} \def\cline#1{\noalign{\vskip1\p@}\@cline#1\@nil\noalign{\vskip2\p@}} \setpkgattr{algorithm}{size}{\normalsize} \setpkgattr{algorithm}{shape}{} \fi % \if@bjpslayout \let\savehline\hline \def\thline{\noalign{\vskip3pt}\savehline\noalign{\vskip3pt}}% \setpkgattr{starttable}{hook}{\let\hline\thline} \setpkgattr{tablename}{size}{\bfseries\upshape} \setpkgattr{tablename}{skip}{\enskip} \setpkgattr{figurename}{size}{\bfseries\upshape} \setpkgattr{figurename}{skip}{\enskip} \def\figurename{Figure} \setpkgattr{tablecaption}{shape}{} \fi % \if@stslayout \let\savehline\hline \def\thline{\noalign{\vskip3pt}\savehline\noalign{\vskip4pt}}% \setpkgattr{starttable}{hook}{\let\hline\thline} \fi % \if@ims@rotating \AtEndOfPackage{% \RequirePackage[counterclockwise,figuresright]{rotating}% \renewenvironment{sidewaystable}% {% \let\@makecaption\@maketablecaption \csname starttable@hook\endcsname \tablewidth=\textheight \@rotfloat{table}% }% {% \end@rotfloat }% \renewenvironment{sidewaystable*}% {% \let\@makecaption\@maketablecaption \csname starttable@hook\endcsname \tablewidth=\textheight \@rotdblfloat{table}% }% {% \end@rotdblfloat }% \let\imsart@xrotfloat\@xrotfloat \def\@xrotfloat#1[#2]{% \imsart@xrotfloat#1[#2]% \centering }% } \fi % % tabnotes % \def\tabnote@table@label{table@\the\c@table @tabnote@} \let\tabnotetext@hypertarget\@gobble \def\tabnoteref@link#1#2{#2} \def\@enable@tabnote@links{% \gdef\tabnotetext@hypertarget##1{% \hyper@anchorstart{\tabnote@table@label ##1}% \strut\hyper@anchorend }% \gdef\tabnoteref@link##1##2{% \hyperlink{\tabnote@table@label ##1}{##2}% }% } \AtBeginDocument{% \@ifpackageloaded{hyperref}{% \ifdefined\hyper@anchorstart \@enable@tabnote@links \fi }{}% } % \newcounter{tabnote} \def\thetabnote{\@alph\c@tabnote} \def\missing@mark@qq{??} % \def\tabnoteref@font{\normalfont} \def\tabnoteref@sep@output{\tabnoteref@sep} \def\tabnoteref@sep@default{,} \def\tabnoteref@sep@fmt{% \ifx\tabnoteref@sep\@empty \else \csname fix@tabnoteref@sepspace\endcsname \tabnoteref@sep@output \fi \global\let\tabnoteref@sep\tabnoteref@sep@default } \def\fix@tabnoteref@sepspace{\kern-\scriptspace} % \def\@thetbnref@fmt#1{\tabnoteref@link{#1}{\@get@tabnoteref{#1}}} % \def\@get@tabnoteref#1{% \@ifundefined{tn@\tabnote@table@label #1}% {\missing@mark@qq}% {\csname tn@\tabnote@table@label #1\endcsname}% } % \def\tabnoteref@fmt#1{#1} % \newcommand{\tabnoteref}[2][]{% \bgroup \let\tabnoteref@sep\@empty \@for\tabnoteref@id:=#2\do{% \tabnoteref@fmt{\hbox{\@textsuperscript{% \tabnoteref@font \tabnoteref@sep@fmt \@thetbnref@fmt{\tabnoteref@id}% }}}% }% \egroup \ignorespaces } % \newif\if@firsttabnotetext \def\tabnotetext@id{} \def\tabnotetext@sep{} \let\tabnotetext@mark\relax \def\tabnotetext@mark@fmt#1{\textsuperscript{#1}} \def\tabnotetext@text@fmt#1{#1} % \def\tabnotetext@mark@font{\normalfont} \def\tabnotetext@skip{\vskip\z@} \let\tabnotetext@skip@default\tabnotetext@skip \def\tabnotetext@indent{\noindent\parindent\sv@parindent} \def\sv@parindent{12\p@} % \define@key{tabnotetext}{id}{\def\tabnotetext@id{#1}} \define@key{tabnotetext}{mark}{\def\tabnotetext@mark{#1}} % \def\@auto@tabnotetext@sep@fmt{% \if@firsttabnotetext \else \tabnotetext@sep@output \fi } \let\auto@tabnotetext@sep@fmt\relax \def\tabnotetext@sep@output{\tabnotetext@sep} % \newcommand{\tabnotetext}[2][]{% \bgroup \let\tabnotetext@markcounter\relax \setkeys{tabnotetext}{#1}% \auto@tabnotetext@sep@fmt \tabnotetext@skip \@write@tabnote@label % fixing hypertarget position \setbox\@tempboxa=\hbox to\z@{\vbox{\tabnotetext@hypertarget{\tabnotetext@id}}\hss}% \wd\@tempboxa=\z@ \dp\@tempboxa=\z@ \ht\@tempboxa=\z@ \noindent\box\@tempboxa \tabnotetext@indent \ifx\tabnotetext@mark\@empty \else \tabnotetext@mark@fmt{{% \tabnotetext@mark@font \tabnotetext@mark }}% \fi \tabnotetext@text@fmt{#2}% \let\tabnotetext@mark\relax \egroup \@firsttabnotetextfalse \ignorespaces } % \def\legend#1{\tabnotetext[mark={}]{#1}} % \def\@tabnote@mark#1#2{\global\@namedef{tn@#1}{#2}} \def\@write@tabnote@label{% \ifx\tabnotetext@mark\relax \global\advance\c@tabnote by\@ne \edef\tabnotetext@mark{\thetabnote}% \fi \ifx\tabnotetext@mark\empty \else \bgroup \protected\def\#{}% \protected\def\dag{}% \protected\def\ddag{}% \immediate\write\@auxout{% \string\@tabnote@mark{\tabnote@table@label\tabnotetext@id}{\tabnotetext@mark}% }% \egroup \fi } % \newtoks\tabnotestoks \def\tabnotes@width{\tablewidth} \def\tabnotes@leftskip{2pt} \def\tabnotes@alignment{\raggedright} \def\tabnotes@size{\footnotesize} \def\pre@tabnotes@skip{\vskip 1\p@} \def\post@tabnotes@skip{\vskip 1\p@} % \long\def\@tabnotes#1\end#2{% \global\tabnotestoks={#1}% \end{tabnotes}% \global\tabnotestoks={}% \ignorespaces } % \newenvironment{tabnotes}[1][]% {% \setcounter{tabnote}{0}% \@firsttabnotetexttrue \def\sep{\tabnotetext@sep@output}% \@tabnotes }% {% \pre@tabnotes@skip \tabnotes@alignment \parbox[t]{\tabnotes@width}{% \leftskip=\tabnotes@leftskip \tabnotes@size \the\tabnotestoks }% \setcounter{tabnote}{0}% \post@tabnotes@skip } % % FOOTNOTE % \def\@makefntext@parindent{\parindent=12\p@} \renewcommand\@makefntext[1]{\@makefntext@parindent\@makefnmark #1} % \def\@makefnmark{\@textsuperscript{\normalfont\@thefnmark}} % % SECTION commands: % from latex.ltx: % Two improvements: % 1. if section command is defined as "inline" the '.' will be inserted after heading; % 2. section* will write to toc and will appear in pdf bookmarks % % dirty trick... \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa=-\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\def\ssection@level{#2}\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% } % % Trick for the hyperref: \def\setaftersec@dot#1{% \if@autosecdot \setbox0=\hbox{#1}% \ifdim\wd0>0\p@ \def\aftersec@dot{.}% \else \def\aftersec@dot{}% \fi \fi } \let\aftersec@dot\relax % % section - will add hook for the dot after section heading \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par }% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7% }% \else \setaftersec@dot{#8}% \def\@svsechd{% #6{\hskip #3\relax \@svsec #8\aftersec@dot}% \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7% }% }% \fi \@xsect{#5}% } % % section* - will add hook for the dot after section heading and \contentsline \def\@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{% \@hangfrom{\hskip #1}% \interlinepenalty=\@M #5\@@par }% \endgroup \else \setaftersec@dot{#5}% \def\@svsechd{#4{\hskip #1\relax #5\aftersec@dot}}% \fi \ifnum\ssection@level=1\phantomsection\addcontentsline{toc}{section}{#5}\fi \@xsect{#3}% } % % Block adding to contents for the next command only: \def\nocontentsline{% \let\@@addcontentsline\addcontentsline \ifx\hyper@anchor\@undefined \def\addcontentsline##1##2##3{\let\addcontentsline\@@addcontentsline}% \else \def\addcontentsline##1##2##3##4{\let\addcontentsline\@@addcontentsline}% \fi } % \protected\def\qq#1{% \bgroup \ifx.#1.\relax \ifmmode \mbox{\normalfont\textbf{???}}% \else \normalfont\textbf{???}% \fi \else \ifmmode \mbox{\normalfont\textbf{#1}}% \else \normalfont\textbf{#1}% \fi \fi \egroup } % % \phantomsection is defined in hyperref \let\phantomsection\relax % % FRONTMATTER SETTINGS % % FRONT MATTER FORMATTING PARAMETERS % \setpkgattr{frontmatter}{style}{\centering} \setpkgattr{title}{style}{\centering\def\\{\break}} \setpkgattr{author}{style}{\centering} \setpkgattr{address}{style}{\centering} \setpkgattr{abstract}{style}{\normaltext} \setpkgattr{keyword}{style}{\normaltext} \setpkgattr{history}{style}{\normaltext} % % FRONT MATTER SKIPS \setpkgattr{title}{skip}{18\p@} \setpkgattr{atltitle}{skip}{14\p@} \setpkgattr{authors}{skip}{12pt} \setpkgattr{dedicated}{skip}{12\p@} \setpkgattr{address}{skip}{6\p@ plus 1\p@ minus 1\p@} \setpkgattr{abstract}{skip}{10\p@} \setpkgattr{abstractname}{skip}{:\enskip} \setpkgattr{keyword}{skip}{10\p@} \setpkgattr{history}{skip}{10\p@} \setpkgattr{frontmatter}{cmd}{% \vskip20\p@ plus 3\p@ minus 3\p@ \@afterindentfalse\@afterheading } \setpkgattr{firstpage}{cmd}{} % % FRONT MATTER DIMENSIONS \setpkgattr{abstract}{width}{.8\textwidth} \setpkgattr{abstract}{indent}{0\p@} \setpkgattr{keyword}{width}{.8\textwidth} \setpkgattr{keyword}{indent}{0\p@} % \setpkgattr{history}{width}{.8\textwidth} % % FRONT MATTER FONTS \setpkgattr{dochead}{size}{\Large\bfseries} \setpkgattr{title}{size}{\LARGE\bfseries} \setpkgattr{author}{size}{\normalsize\bfseries} \setpkgattr{fnms}{size}{} \setpkgattr{snm}{size}{} \setpkgattr{address}{size}{\footnotesize\itshape\mdseries} \setpkgattr{dedicated}{size}{\normalsize\itshape} \setpkgattr{ead}{size}{\upshape\ttfamily} \setpkgattr{abstract}{size}{\footnotesize\upshape\mdseries} \setpkgattr{abstractname}{size}{\bfseries} \setpkgattr{keyword}{size}{\footnotesize\upshape\mdseries} \setpkgattr{keywordname}{size}{\bfseries} \setpkgattr{history}{size}{\footnotesize\mdseries} \setpkgattr{copyright}{size}{\footnotesize\raggedright} \setpkgattr{runninghead}{size}{\footnotesize\itshape} \setpkgattr{pagenumber}{size}{\footnotesize\upshape} \setpkgattr{thebibliography}{size}{\normalsize} % % FRONT MATTER CASE \setpkgattr{dochead}{case}{} \setpkgattr{title}{case}{} \setpkgattr{runninghead}{case}{} % % TEXT, etc. \setpkgattr{doi}{text}{\url@fmt{url: }{\ttfamily}{\paper@url}{\paper@url}} \if@imsart@preprint \setpkgattr{copyright}{text}{} \else \setpkgattr{copyright}{text}{% \url@fmt{}{\bfseries}{\journal@name}{\journal@url}\break \@ifundefined{volume@title}{}{\textbf{\volume@title}\break}% \@ifnonempty{\@volume\@pubyear\@pagerange\break}% \@ifnonempty{\journal@issn\break}% \doi@text } \fi % \setpkgattr{infoline}{text}{% \lower12pt% \hbox{% \footnotesize\ttfamily\imsfmt@name\journal@id\ ver. \imsfmt@version\ file: \jobname.tex\ date: \today }% } \setpkgattr{copyright}{owner}{$\copyright$~\@copyrightyear \copyrightowner@text} \setpkgattr{author}{prefix}{} \setpkgattr{keyword}{postfix}{\unskip.} % \def\abstractname{Abstract} % % HISTORY \setpkgattr{history}{prefix}{} \setpkgattr{history}{postfix}{.} \setpkgattr{received}{prefix}{Received~} \setpkgattr{received}{postfix}{} \setpkgattr{revised}{prefix}{; revised~} \setpkgattr{revised}{postfix}{} \setpkgattr{accepted}{prefix}{; accepted~} \setpkgattr{accepted}{postfix}{} \setpkgattr{pubonline}{prefix}{; published online~} \setpkgattr{pubonline}{postfix}{} % % FRONTMATTER STUFF % % COUNTERS, ETC \newcounter{author} \newcounter{address} \newdimen\sv@mathsurround \def\author@num{0} % % RUNNING HEAD \def\runtitle#1{\gdef\@runtitle{\runninghead@case{#1}}} \def\@runtitle{} \def\runauthor#1{{\def\etal{et al.}\gdef\@runauthor{\runninghead@case{#1}}}} \def\@runauthor{} % \newdimen\sv@parindent \sv@parindent\parindent % \newbox\fm@box \newdimen\fm@size % \let\hy@frontmatter\relax \let\hy@endfrontmatter\relax \let\tableofcontents@fmt\relax % % FRONTMATTER % \def\frontmatter{% \global\c@author=\z@ \global\c@address=\z@ \renewcommand\thefootnote{\@fnsymbol\c@footnote}% % \if@changetoc \let\old@tableofcontents\tableofcontents \def\tableofcontents{\let\tableofcontents@fmt\old@tableofcontents}% \fi % \def\pdftitle##1{\write@pdfinfo{\user@hy@title}{##1}}% \def\pdfauthor##1{\write@pdfinfo{\user@hy@author}{##1}}% \def\pdfsubject##1{\write@pdfinfo{\user@hy@subject}{##1}}% \def\pdfkeywords##1{\write@pdfinfo{\user@hy@keywords}{##1}}% % \if@supertoc \addtocontents{toc}{\protect\contentsline{begintocitem}{}{}{}}% \addtocontents{toc}{\protect\contentsline{jobname}{\jobname}{}{}}% \ifx\@doi\relax \else\addtocontents{toc}{\protect\contentsline{doi}{\@doi}{}{}}\fi \ifx\@arxiv\relax \else \addtocontents{toc}{\protect\contentsline{arxiv}{\@arxiv}{}{}}% \fi \fi % \sv@mathsurround=\mathsurround \m@th \parindent=\z@ \hy@frontmatter \global\let\maketitle\relax \open@fm \ignorespaces } % % ENDFRONTMATTER % \def\endfrontmatter{% \global\@topnum=\z@ \set@pagerange \csname form@runauthors\endcsname \markboth{\@runauthor}{\@runtitle}% \thispagestyle{copyright}% % \put@fmt@data % \close@fm % \firstpage@cmd % \write@pdfinfo{\hy@author}{\the\authors@list}% \write@pdfinfo{\hy@subject}{\journal@name\@copyrightyear\@volume\@issue\@pagerange}% \write@pdfinfo{\hy@keywords}{\the\keywords@list}% % \if@supertoc \addtocontents{toc}{\protect\contentsline{author}{\the\authors@list}{\thepage}{}}% \addtocontents{toc}{\protect\contentsline{endtocitem}{}{}{}}% \fi % \write\@mainaux{\string\gdef\string\author@num{\the\c@author}}% \hy@endfrontmatter \global\mathsurround\sv@mathsurround \global\c@footnote=\z@ \global\let\@thanks\@empty \let\title\relax \let\author\relax \let\address\relax \let\frontmatter\relax \let\endfrontmatter\relax \let\@maketitle\relax \let\@@maketitle\relax \aftergroup\frontmatter@cmd } % \def\put@fmt@data{% \copyright@fmt \@thanks \abstract@fmt \keyword@fmt \history@fmt \tableofcontents@fmt } % \newdimen\t@xtheight \def\init@settings{% \splittopskip=\topskip \splitmaxdepth=\maxdepth \t@xtheight=\textheight \advance\t@xtheight by -\splittopskip } % \def\no@harm{% \let\thanks=\@gobble \let\thanksref=\@gobble \def\orcid##1##{\@gobble}% \let~\space \def\ead[##1]##2{}% \let\\=\@empty \def\protect{\noexpand\protect\noexpand}% } % \def\open@fm{% \global\setbox\fm@box=\vbox\bgroup \hsize=\textwidth \frontmatter@style } % \def\close@fm{% \par \egroup \fm@size=\dp\fm@box \advance\fm@size by \ht\fm@box \@whiledim\fm@size>\t@xtheight \do{% \global\setbox\@tempboxa=\vsplit\fm@box to \t@xtheight \unvbox\@tempboxa \fm@size=\dp\fm@box \advance\fm@size by \ht\fm@box }% \if@twocolumn \emergencystretch=1pc \twocolumn[\unvbox\fm@box] \else \unvbox\fm@box \fi } % % DOCHEAD \def\dochead#1{% \bgroup \dochead@size \leavevmode\vphantom{\strut}\dochead@case{#1}\par \egroup \setpkgattr{title}{skip}{8\p@}% } % % TITLE \def\title@endhook{} \def\title@correctionnote#1{% \thanksref{CoRreCtIoNnOtE}% \g@addto@macro\title@endhook{\thankstext{CoRreCtIoNnOtE}{#1}}% } \def\title@supportinfo#1{% \thanksref{SuPpOrTiNfO}% \g@addto@macro\title@endhook{\thankstext{SuPpOrTiNfO}{#1}}% } \let\write@title@metadata\@gobble \def\title#1{% \vglue\title@skip % check if we are in {frontmatter} \def\reserved@a{frontmatter}% \ifx\reserved@a\@currenvir \else \hy@frontmatter\fi \bgroup \no@harm \let\correctionnote\@gobble \let\support\@gobble \xdef\@argi{#1}% \xdef\@title{#1}% \egroup \write@pdfinfo{\hy@title}{\@argi}% \write@title@metadata{#1}% \if@supertoc \addtocontents{toc}{\protect\contentsline{title}{\@argi}{\thepage}{}}% \fi \bgroup \let\correctionnote\title@correctionnote \let\support\title@supportinfo \title@style\title@size\title@case{#1}\par \egroup \title@endhook } % % ATLTITLE % \def\atltitle#1{% \vglue\atltitle@skip \bgroup \title@size #1\par \egroup } % % AUTHOR % % AUG - author block \def\smart@par{\ifhmode\par\fi} \newenvironment{aug}{}{\smart@par} % \def\and{\unskip~and~} % \def\author@sep@by@number#1{} \def\author{\@ifnextchar[{\author@fmt}{\author@fmt[]}} % \def\author@fmt[#1]#2{% \stepcounter{author}% \author@fmt@init \let\author@fmt@init\relax \bgroup \def\degs##1{##1}% \def\fnms##1{##1}% \def\inits##1{}% \def\snm##1{##1}% \def\roles##1{##1}% \@tempcnta=\author@num\relax \ifnum\c@author=\@tempcnta \def\author@sep{ and }% \else \def\author@sep{, }% \fi \ifnum\c@author=1% \addto@authors@list{#2}% \else \addto@authors@list{\author@sep #2}% \fi \def\inits##1{{\inits@size{##1}}}% \def\fnms##1{{\fnms@size{##1}}}% \def\snm##1{\snm@size{##1}}% \if@updated@thanksref \def\thanksref##1{% \edef\author@direct@thanksref{##1}% \def\thanksref{\@latex@error{only one \string\thanksref\space is allowed inside \string\author}{??}}% }% \fi \noindent#2% \if@updated@thanksref \ifx.#1.% \let\tmp@author@thanksrefs\@empty \edef\tmp@sep{}% \else \appto\tmp@author@thanksrefs{#1}% \edef\tmp@sep{,}% \fi \@ifundefined{author@direct@thanksref}% {}% {% \eappto\tmp@author@thanksrefs{\tmp@sep\author@direct@thanksref}% \edef\tmp@sep{,}% }% \@ifundefined{author@\the\c@author @ead@marks}% {}% {% \eappto\tmp@author@thanksrefs {\tmp@sep\csname author@\the\c@author @ead@marks\endcsname}% }% \ifx\tmp@author@thanksrefs\@empty \else \expandafter\orig@thanksref\expandafter{\tmp@author@thanksrefs}% \fi \else \if@stslayout \else \thanksref{#1}% \fi \fi \egroup \printorcid \author@sep@by@number{\the\c@author}% } % \def\author@fmt@init{% \vskip\authors@skip \noindent\leavevmode\author@style\author@size\author@prefix } % \let\author@fmt@init@def\author@fmt@init % % DEDICATED \def\dedicated#1{% \vskip\dedicated@skip \bgroup \dedicated@size #1\par \egroup } % % ADDRESS \def\address{\@ifnextchar[{\address@fmt}{\address@fmt[]}} % \def\address@fmt[#1]#2{% \smart@par \let\author@fmt@init\author@fmt@init@def \vskip\address@skip \bgroup \address@style\address@size\leavevmode \ifx.#1.% \else \usethankscounter{addressref}% \thanksmark{#1}% \restorethankscounter \fi #2\par \egroup } % % CONTRIBUTOR % write as index entry: % \contributor{Author, F.}{University} % \indexentry{Author, F., \textit{Some University}}{} % \let\contributor\@gobbletwo \if@supertoc \def\contributor#1#2{% \addtocontents{idx}{\protect\indexentry{#1, \protect\textit{#2}}{}}% } \fi % % COPYRIGHTOWNER % \def\copyright@fmt{% \@ifundefined{\copyrightowner@text}{}{\safe@footnotetext{\copyright@owner}}% } % % ABSTRACT % \newbox\abstract@box % \define@key{abstract}{language}{\set@loc@hyphenation{#1}\set@loc@abstractname{#1}} % \gdef\abstract{\@ifnextchar[{\@abstract}{\@abstract[]}} % \def\@abstract[#1]{% \setkeys{abstract}{#1}% \global\setbox\abstract@box=\vbox\bgroup \ifvoid\abstract@box \else \unvbox\abstract@box \vskip\abstract@skip \fi \@tempdima=\textwidth \advance\@tempdima by -\abstract@width \divide\@tempdima by 2% \abstract@style \leftskip=\@tempdima \rightskip=\@tempdima \abstract@size \parindent=\sv@parindent \noindent\hskip\abstract@indent {\abstractname@size\abstractname\abstractname@skip}\ignorespaces } % \def\endabstract{\par\egroup} % \def\abstract@fmt{% \ifvoid\abstract@box \else \vskip\abstract@skip \unvbox\abstract@box \fi } % \def\set@loc@hyphenation#1{% \@ifundefined{l@#1}% {}% {\expandafter\language\csname l@#1\endcsname}% } % \def\set@loc@abstractname#1{% \def\abstractname@english{Abstract}% \def\abstractname@german{Zusammenfassung}% \def\abstractname@french{R\'esum\'e}% \def\abstractname@spanish{Resumen.}% \@ifundefined{abstractname@#1}% {\@latex@error{Language '#1` is not supported!}{}}% {\edef\abstractname{\csname abstractname@#1\endcsname}}% } % % HISTORY: received, revised, accepted % \def\history@exist{0} % \def\received#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@received{#1}\gdef\history@exist{1}\fi} \def\@received{\@nil} \def\revised#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@revised{#1}\gdef\history@exist{1}\fi} \def\@revised{\@nil} \def\accepted#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@accepted{#1}\gdef\history@exist{1}\fi} \def\@accepted{\@nil} \def\pubonline#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@pubonline{#1}\gdef\history@exist{1}\fi} \def\@pubonline{\@nil} % \def\empty@data{\@nil} % \def\history@fmt{% \ifcase\history@exist \else \bgroup \nobreak \vskip\history@skip \nobreak \history@style \history@size \@tempdima=\textwidth \advance\@tempdima by -\history@width \divide\@tempdima by 2% \leftskip=\@tempdima \rightskip=\@tempdima \leavevmode \history@prefix \ifx\@received\empty@data \else \received@prefix\@received \received@postfix \fi \ifx\@revised\empty@data \else \revised@prefix\@revised \revised@postfix \fi \ifx\@accepted\empty@data \else \accepted@prefix\@accepted \accepted@postfix \fi \ifx\@pubonline\empty@data \else \pubonline@prefix\@pubonline \pubonline@postfix \fi \history@postfix\par \egroup \gdef\history@exist{0}% \fi } % \def\sday#1{#1} \def\smonth#1{% \@ifundefined{month@item@#1}% {\@latex@error{there is no month number #1!}{??}}% {\getitemvalue{month}{#1}}% }% \def\syear#1{#1} \setvaluelist{month}{January,February,March,April,May,June,% July,August,September,October,November,December} % % KEYWORDS % \newbox\keyword@box \newdimen\pre@kwd@depth % \setpkgattr{keyword}{AMS}{AMS 2000 subject classifications:} \setpkgattr{keyword}{MSC}{\ims@href{\msc@url}{MSC2020 subject classifications}:} \setpkgattr{keyword}{MSC2010}{MSC 2010 subject classifications:} \setpkgattr{keyword}{MSC2020}{\ims@href{\msc@url}{MSC2020 subject classifications}:} % \setpkgattr{keyword}{KWD}{Keywords and phrases:} % key=class \setpkgattr[default]{keyword}{class}{KWD} % % \keyword@class -> KWD % \keyword@KWD -> AMS 2000... % \gdef\keyword{\@ifnextchar[{\@keyword}{\@keyword[class=KWD]}} % \gdef\@keyword[#1]{% \do@option@list{keyword}{#1}% \def\keyword@name{\csname keyword@\keyword@class\endcsname}% \let\kwd@sep\relax % \global\setbox\keyword@box=\vbox\bgroup \ifvoid\keyword@box \else \unvbox\keyword@box \vskip-\pre@kwd@depth\vtop to\pre@kwd@depth{}% \fi \@tempdima=\textwidth \advance\@tempdima by -\keyword@width \divide\@tempdima by 2% \keyword@style \leftskip=\@tempdima \rightskip=\@tempdima \keyword@size \parindent=\sv@parindent \noindent\hskip\keyword@indent {\keywordname@size\keyword@name}\space\hskip.1pt% } % \def\endkeyword{\keyword@postfix\par\global\pre@kwd@depth\prevdepth\egroup} % \def\keyword@fmt{% \ifvoid\keyword@box \else \vskip\keyword@skip \unvbox\keyword@box \fi } % % \kwd[; ]{foo} \def\sep{\unskip\string, } \newif\if@firstkeywordinlist \@firstkeywordinlisttrue % \DeclareRobustCommand*\kwd{\@ifnextchar[\@kwd{\@kwd[\kwd@sep]}} \def\@kwd[#1]#2{% \unskip#1{#2}% \if@firstkeywordinlist \addto@keywords@list{#2}% \@firstkeywordinlistfalse \else \addto@keywords@list{, #2}% \fi \let\kwd@sep\sep } % % \maketitle % if \frontmatter is not used, we will redefine \maketitle % \def\local@maketitle{% \global\@topnum=\z@ \set@pagerange \markboth{\@runauthor}{\@runtitle}% \thispagestyle{copyright}% % \put@fmt@data % \write@pdfinfo{\hy@author}{\the\authors@list}% \write@pdfinfo{\hy@keywords}{\the\keywords@list}% \hy@endfrontmatter \global\mathsurround=\sv@mathsurround \global\c@footnote=\z@ \global\let\@thanks\@empty \let\title\relax \let\author\relax \let\address\relax \let\frontmatter\relax \let\endfrontmatter\relax \let\@maketitle\relax \let\@@maketitle\relax \normalfont\normaltext \parindent=\sv@parindent \frontmatter@cmd } % \AtBeginDocument{\let\maketitle\local@maketitle} % % PROCESS LAYOUT OPTIONS % % Put keywords as footnote \if@keywordsasfootnote \newtoks\keyword@toks \newpseudoenvironment{keyword}{\gdef\keyword@exist{1}\get@keyword@toks}{} \def\get@keyword@toks#1\end{% \keyword@toks=\expandafter{\the\keyword@toks\keyword#1\endkeyword}% \@gobble } \def\keyword@exist{0} \gdef\keyword#1{\@ifnextchar[{\@keyword}{\@keyword[class=KWD]}} \gdef\@keyword[#1]{% \do@option@list{keyword}{#1}% \def\keyword@name{\csname keyword@\keyword@class\endcsname}% \let\kwd@sep\relax \keyword@style \keyword@size \parindent=\sv@parindent \pre@kwd \hbox{\keywordname@size\keyword@name}\space\hskip.1pt% }% \gdef\endkeyword{\keyword@postfix\gdef\pre@kwd{\par\leavevmode}} \let\pre@kwd\relax \def\keyword@fmt{\ifcase\keyword@exist\else\safe@footnotetext{\the\keyword@toks}\fi} \fi % % Put history as footnote \if@historyasfootnote % \def\history@fmt{% \ifcase\history@exist \else \safe@footnotetext{% \nobreak \history@style \history@size \leavevmode \history@prefix \ifx\@received\empty@data \else \received@prefix\@received \received@postfix \fi \ifx\@revised\empty@data \else \revised@prefix\@revised \revised@postfix \fi \ifx\@accepted\empty@data \else \accepted@prefix\@accepted \accepted@postfix \fi \ifx\@pubonline\empty@data \else \pubonline@prefix\@pubonline \pubonline@postfix \fi \history@postfix }% \fi } \fi % % Put address as footnote \if@addressasfootnote \def\address@fmt[#1]#2{% \ifx.#1.% \safe@footnotetext{#2}% \else \usethankscounter{addressref}% \bgroup \def\\{\hfill\break}% \thankstext{#1}{#2}% \egroup \restorethankscounter \fi } \fi % % Put address at end \if@addressatend % \def\address{\@ifnextchar[{\address@fmt}{\address@fmt[default]}} % % \def\address@ref@A=1 % \newtoks\@address@1 % \@address@1={#2} % \def\address@fmt[#1]#2{% \stepcounter{address}% \expandafter\protected@xdef\csname address@ref@#1\endcsname{\the\c@address}% \expandafter\newtoks\csname @address@\the\c@address\endcsname \expandafter\expandafter\expandafter\global\csname @address@\the\c@address\endcsname={#2}} % \let\safe@phantomsection\@gobble % % print address by number: \printaddressnum{1} \def\printaddressnum#1{% \xdef\@tmp{#1}% \bgroup \@ifundefined{@address@#1}% {\@latex@error{Error: there are no address with number '#1'!}{??}}% {% \address@size \ifnum#1=1% \safe@phantomsection{\addcontentsline{toc}{section}{Author's addresses}}% \fi \begin{tabular}[t]{@{}l@{}}% \expandafter\expandafter\expandafter\the\csname @address@\@tmp\endcsname \end{tabular}% }% \egroup } % % print all addresses: \def\address@par{\par\vskip3pt} % \def\printaddresses{% \vskip\address@skip \def\last@right@glue{\par}% \ifodd\c@address \def\last@right@glue{\hfill\hbox{}\address@par}% \fi \ifnum\c@address=1% \def\last@right@glue{\address@par}% \fi \@tempcnta=0% \bgroup \parindent=\z@ \@whilenum{\@tempcnta<\c@address}\do{% \advance\@tempcnta by \@ne \ifodd\@tempcnta \def\left@glue{}% \def\right@glue{}% odd \else \def\left@glue{\hfill}% \def\right@glue{\address@par}% even \fi \ifnum\@tempcnta=\c@address \let\left@glue\hfill \let\right@glue\last@right@glue% last member \fi \left@glue\expandafter\printaddressnum{\the\@tempcnta}\right@glue }% \egroup } % % invoke \printaddresses at end of document: \let\old@enddocument\enddocument \def\enddocument{\printaddresses\old@enddocument} \fi % % settings from in-house packages \def\declaremathsizes@as@in@mathtime{% \DeclareMathSizes{5}{6}{6}{6}% \DeclareMathSizes{6}{6}{6}{6}% \DeclareMathSizes{7}{6.8}{6}{6}% \DeclareMathSizes{8}{8}{6.8}{6}% \DeclareMathSizes{9}{9}{7.6}{6}% \DeclareMathSizes{10}{10}{7.6}{6}% \DeclareMathSizes{10.95}{10.95}{7.6}{6}% \DeclareMathSizes{12}{12}{9}{7}% \DeclareMathSizes{14.4}{14.4}{10}{8}% \DeclareMathSizes{17.28}{17.28}{12}{9}% \DeclareMathSizes{20.74}{20.74}{14.4}{10}% \DeclareMathSizes{24.88}{24.88}{17.28}{12}% } % \def\ims@common@float@settings{% % float parameters: \setlength\floatsep{18\p@ \@plus 6\p@ \@minus 2\p@}% \setlength\textfloatsep{18\p@ \@plus 6\p@ \@minus 2\p@}% \setlength\intextsep{18\p@ \@plus 6\p@ \@minus 2\p@}% \setlength\dblfloatsep{18\p@ \@plus 6\p@ \@minus 2\p@}% \setlength\dbltextfloatsep{24\p@ \@plus 6\p@ \@minus 2\p@}% % For floats on a separate float page or column: \setlength\@fptop{0\p@ \@plus 1fil}% \setlength\@fpsep{8\p@ \@plus 1000fil}% \setlength\@fpbot{0\p@ \@plus 1fil}% \setlength\@dblfptop{0\p@ \@plus 1fil}% \setlength\@dblfpsep{8\p@ \@plus 1000fil}% \setlength\@dblfpbot{0\p@ \@plus 1fil}% % float counters: \setcounter{topnumber}{5}% \renewcommand\topfraction{.99}% \setcounter{bottomnumber}{5}% \renewcommand\bottomfraction{.99}% \setcounter{totalnumber}{10}% \renewcommand\textfraction{.05}% \renewcommand\floatpagefraction{.9}% \setcounter{dbltopnumber}{5}% \renewcommand\dbltopfraction{.99}% \renewcommand\dblfloatpagefraction{.8}% } % \def\set@amsgen@frenchspacing{% \def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 }% } % Set up parameters for the EJS, PS, SS layout: \if@ejs@ps@ss@layout \RequirePackage{lmodern} \usepackage[T1]{fontenc} \AtEndOfPackage{% \ifcsundef{do@not@scale@lmex}% {% make lmex10 scalable \DeclareFontFamily{OMX}{lmex}{}% \DeclareFontShape{OMX}{lmex}{m}{n}{% <-> lmex10 }{}% }% {}% }% \fi % % Set up parameters for the BA journal layout: \if@balayout \RequirePackage{lmodern} \usepackage[T1]{fontenc} % make lmex10 scalable \DeclareFontFamily{OMX}{lmex}{} \DeclareFontShape{OMX}{lmex}{m}{n}{% <-> lmex10 }{} % \setlength{\parskip}{0.5\baselineskip} \setlength{\parindent}{15pt} \setlength{\paperwidth}{8.5in} \setlength{\paperheight}{11in} \set@page@layout{5.25in}{7.6in} \advance\topmargin by-7\p@ % \setpkgattr{title}{size}{\sffamily\LARGE\bfseries} \setpkgattr{title}{skip}{-16pt} \setpkgattr{author}{size}{\normalsize} \setpkgattr{authors}{skip}{16pt} \setpkgattr{abstractname}{size}{\sffamily\bfseries} \setpkgattr{keywordname}{size}{\sffamily\bfseries} \setpkgattr{abstractname}{skip}{.\enskip\enskip} \setpkgattr{keyword}{KWD}{Keywords:} % \setpkgattr{abstract}{width}{115mm} \setpkgattr{keyword}{width}{115mm} \setpkgattr{keyword}{style}{} \setpkgattr{history}{width}{115mm} % \setpkgattr{abstract}{size}{\small\upshape\mdseries} \setpkgattr{keyword}{size}{\small\upshape\mdseries\rightskip=\the\rightskip plus1.0fil} % \setpkgattr{ead}{size}{\upshape} \setpkgattr{abstract}{skip}{22\p@} \setpkgattr{keyword}{skip}{8.5\p@} % \setpkgattr{frontmatter}{cmd}{% \vskip10\p@ plus 3\p@ minus 3\p@ \@afterindentfalse\@afterheading } % \setpkgattr{copyright}{size}{\small\raggedright} % \gdef\volume#1{\gdef\@volume{#1}}% \gdef\issue#1{\gdef\@issue{#1}}% % \def\doi#1{% \gdef\@doi{#1}% \gdef\doi@text{\url@fmt{DOI: }{\upshape}{#1}{\doi@base\@doi}}% } % \def\address@fmt[#1]#2{% \ifx.#1.% \safe@footnotetext{#2}% \else \bgroup \def\\{\hfill\break}% \thankstext{#1}{#2}% \egroup \fi } % \def\ps@copyright{% \let\@mkboth\@gobbletwo \def\@evenhead{\parbox[t]{\textwidth}{\copyright@size\issuedata@text}}% \let\@oddhead\@evenhead \def\@oddfoot{% \rlap{\parbox[t]{\textwidth}{\copyright@size\copyright@text}}% \hfill\llap{\vbox to0pc{\hbox{\info@line\hss}}}% }% \let\@evenfoot\@oddfoot } % \setpkgattr{infoline}{text}{\lower36pt\hbox{\footnotesize\ttfamily\imsfmt@name\journal@id\ ver. \imsfmt@version\ file: \jobname.tex\ date: \today}} % \def\ps@imsheadings{% \def\@oddfoot{\hfill\info@line}% \let\@evenfoot\@oddfoot \def\check@head@line@length@even{% \runninghead@size{\pagenumber@size 000\quad}\hfill {\runningtitle@size \rightmark}% }% \def\@evenhead{% \runninghead@size{\pagenumber@size\thepage}\hfill {\runningtitle@size \rightmark}% \check@head@line@length{\check@head@line@length@even}{title}% }% \def\check@head@line@length@odd{% \runninghead@size{\runningauthor@size \leftmark} \hfill {\pagenumber@size\quad 000}% }% \def\@oddhead{% \runninghead@size{\runningauthor@size \leftmark} \hfill {\pagenumber@size\thepage}% \check@head@line@length{\check@head@line@length@odd}{author}% }% } % \setpkgattr{runninghead}{size}{\normalsize} \setpkgattr{pagenumber}{size}{\upshape} \setpkgattr{runningtitle}{size}{\bfseries\slshape} \setpkgattr{runningauthor}{size}{\slshape} % \def\pubonline#1{}% % \AtBeginDocument{% \setpkgattr{section}{numbersep}{\enskip}% \setpkgattr{subsection}{numbersep}{\enskip}% \setpkgattr{subsubsection}{numbersep}{}% \setpkgattr{paragraph}{numbersep}{}% \setpkgattr{subparagraph}{numbersep}{}% \renewcommand\section{% \@startsection {section}% {1}% {\z@}% {-\baselineskip}% {.25\baselineskip}% {\Large\sffamily\bfseries\mathversion{bold}\raggedright}% }% \renewcommand\subsection{% \@startsection {subsection}% {2}% {\z@}% {-\baselineskip}% {.25\baselineskip}% {\large\sffamily\bfseries\mathversion{bold}\raggedright}% }% \renewcommand\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {-\baselineskip}% {.25\baselineskip}% {\sffamily\bfseries\mathversion{bold}\raggedright}% }% \setcounter{secnumdepth}{2}% \renewcommand\paragraph{% \@startsection {paragraph}% {4}% {\z@}% {\medskipamount}% {-1em}% {\sffamily\bfseries}% }% \renewcommand\subparagraph{% \@startsection {subparagraph}% {5}% {\z@}% {\medskipamount}% {-1em}% {\sffamily\itshape}% }% % Supplement \def\articletitle{\csuse{@title}}% \let\specialsection\section \@namedef{specialsection*}{\section*}% \def\stitle@fmt#1{#1}% % Supplement case for BA: % macroses: \stitle, \slink[doi], \sdatatype, \sfilename. \def\stitlepost#1{\gdef\@stitlepost{#1}}% \stitlepost{\space}% \def\slink@doi@fmt{% \url@fmt{DOI: }{}{\slink@doi}{\doi@base\slink@doi}% \@ifundefined{supp@label}% {}% {% \expandafter\xdef\csname\supp@label @doi\endcsname{\slink@doi}% \expandafter\xdef\csname\supp@label @url\endcsname{\doi@base\slink@doi}% }% }% \def\endsupplement{% \noindent \@ifundefined{@stitle}{}{\stitle@fmt{\@stitle}}% \@stitlepost \ifnum\slink@data@exists>\z@(\fi \@ifundefined{slink@doi}{}{\slink@doi@fmt}% \@ifundefined{slink@url}{}{\slink@url@fmt}% \@ifundefined{@sdatatype}{}{; \@sdatatype}% \ifnum\slink@data@exists>\z@)\else\unskip\fi. \@ifundefined{@sdescription}{}{\@sdescription}% \par }% \setpkgattr{email}{text}{}% % \appto\set@natbib{\setlength\bibsep{6pt}}% % \csdef{copyrightowner@text}{International Society for Bayesian Analysis}% \def\journal@issn{$\copyright$~\ims@href{https://www.imstat.org}{\copyrightowner@text}, \@copyrightyear}% \if@imsart@preprint \setpkgattr{issuedata}{text}{}% \setpkgattr{copyright}{text}{}% \else \setpkgattr{issuedata}{text}{% \ims@href{\journal@url}{\journal@name}% \space\@pubyear \hskip5pc% \@ifnonempty{\textbf{\@volume}, Number \@issue, pp. \@pagerange}% }% \setpkgattr{copyright}{text}{\copyright@owner \hfill \doi@text}% \fi \setpkgattr{copyright}{owner}{$\copyright$~\@copyrightyear \copyrightowner@text}% } \def\@floatboxreset{% \reset@font \@setminipage \singlespacing \centering } % Table \def\fnum@table{\tablename~\thetable:} \setpkgattr{tablecaption}{shape}{} \setpkgattr{tablecaption}{size}{\normalsize} \setpkgattr{tablename}{size}{} \setpkgattr{tablename}{skip}{\space} % \long\def\@maketablecaption#1#2{% \vskip\belowcaptionskip \tablecaption@shape\tablecaption@size \sbox\@tempboxa{{\tablename@size #1}\tablename@skip #2}% \ifdim\wd\@tempboxa>\hsize {\tablename@size #1}\tablename@skip #2\par \else \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi } % Figure \setpkgattr{figurename}{size}{} \setpkgattr{figurecaption}{size}{\normalsize} \setpkgattr{figurename}{skip}{:\space} \def\figurename{Figure} % \AtBeginDocument{% \@ifpackageloaded{amsmath}{\allowdisplaybreaks}{}% } \ifcsvoid{bibdir}{\gdef\bibdir{}}{} \def\bibliography#1{% \if@filesw \immediate\write\@auxout{\string\bibdata{\bibdir#1}}% \fi \@input@{\jobname.bbl}% } \def\bibliographystyle#1{% \ifx\@begindocumenthook\@undefined \else \expandafter\AtBeginDocument \fi {% \if@filesw \immediate\write\@auxout{\string\bibstyle{\bibdir#1}}% \fi }} \partopsep=2.1\p@ \@plus1\p@ \@minus\z@ \AtBeginDocument{% \def\@listi{% \leftmargin=\leftmargini \parsep=4\p@ \@plus2\p@ \@minus\z@ \topsep=8\p@ \@plus2\p@ \@minus4\p@ \itemsep=4\p@ \@plus2\p@ \@minus\z@ }% } \renewcommand\footnoterule{\kern8\p@ \hrule\@width.4\columnwidth \kern2.6\p@} \setlength\footskip{25\p@} \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt{12\p@ \@plus .3\p@ \@minus .3\p@}% \abovedisplayskip=10\p@ \@plus2\p@ \@minus5\p@ \abovedisplayshortskip=\z@ \@plus3\p@ \belowdisplayshortskip=6\p@ \@plus3\p@ \@minus3\p@ \belowdisplayskip=\abovedisplayskip \let\@listi\@listI } \normalsize \renewcommand\small{% \@setfontsize\small\@ixpt{11\p@ \@plus .2\p@ \@minus .2\p@}% \abovedisplayskip=8.5\p@ \@plus3\p@ \@minus4\p@ \abovedisplayshortskip=\z@ \@plus2\p@ \belowdisplayshortskip=4\p@ \@plus2\p@ \@minus2\p@ \def\@listi{% \leftmargin=\leftmargini \topsep=4\p@ \@plus2\p@ \@minus2\p@ \parsep=2\p@ \@plus\p@ \@minus\p@ \itemsep=\parsep }% \belowdisplayskip=\abovedisplayskip } \flushbottom % \fi % end if@balayout % % Set up parameters for the IMS journals (AOP, AAP, AOS) layout: \if@imslayout \RequirePackage[T1]{fontenc} \RequirePackage{times} \RequirePackage[scaled=.9]{helvet} \RequirePackage{textcomp} \RequirePackage{textcase} \def\@xipt{11} \def\@xivpt{14} \def\@xvipt{16} \def\@xviiipt{18} \def\@xxpt{20} \def\@xxivpt{24} \declaremathsizes@as@in@mathtime \renewcommand\normalsize{% \@setfontsize\normalsize\@xipt{13\p@ plus .5\p@ minus .5\p@}% \abovedisplayskip 7\p@ \@plus3\p@ \@minus3\p@ \belowdisplayskip\abovedisplayskip \abovedisplayshortskip\abovedisplayskip \belowdisplayshortskip\abovedisplayskip \let\@listi\@listI } \normalfont\normalsize \renewcommand\small{% \@setfontsize\small\@xpt{12pt plus .3pt minus .3pt}% \abovedisplayskip 6\p@ \@plus2\p@ \@minus2\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip\abovedisplayskip \belowdisplayshortskip\abovedisplayskip } \renewcommand\footnotesize{% \@setfontsize\footnotesize\@ixpt{11pt plus .2\p@ minus .2\p@}% \abovedisplayskip 6\p@ \@plus2\p@ \@minus2\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip\abovedisplayskip \belowdisplayshortskip\abovedisplayskip } \renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt\@xpt} \renewcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} \renewcommand\large{\@setfontsize\large\@xiipt{14}} \renewcommand\Large{\@setfontsize\Large\@xivpt{16}} \renewcommand\LARGE{\@setfontsize\LARGE\@xvipt{18}} \renewcommand\huge{\@setfontsize\huge\@xviiipt{20}} \renewcommand\Huge{\@setfontsize\Huge\@xxpt{24}} % lists \def\labelitemi{\textbullet} \def\labelitemii{\textendash} \def\labelitemiii{\textasteriskcentered} \def\labelitemiv{{\footnotesize +}} \def\labelenumi{\theenumi.} \def\labelenumii{\theenumii)} \def\labelenumiii{\theenumiii.} \def\labelenumiv{\theenumiv.} \setlength\leftmargini{1em} \setlength\leftmarginii{1em} \setlength\leftmarginiii{1.02em} \setlength\leftmarginiv{0.96em} \setlength\labelsep{.5em} \setlength\labelwidth{\leftmargini} \addtolength\labelwidth{-\labelsep} \def\enumerate@listi{% \labelwidth=.75em \leftmargin=\labelwidth \advance\leftmargin by \labelsep } \def\@listI{% \leftmargin=\leftmargini \listparindent=12\p@ \topsep=\smallskipamount \csletcs{\@currenvir @list@addons}{\@currenvir @listi}% \preto\@trivlist{% \def\makelabel##1{{\hfill\normalfont ##1}}% \csuse{\@currenvir @list@addons}}% } \def\enumerate@listii{% \labelwidth=.777em \leftmargin=\labelwidth \advance\leftmargin by \labelsep } \def\longlist@listii{% \leftmargin=\labelwidth \advance\leftmargin by \labelsep } \def\@listii{% \leftmargin=\leftmarginii \listparindent=12\p@ \topsep=\z@ \csletcs{\@currenvir @list@addons}{\@currenvir @listii}% \preto\@trivlist{% \def\makelabel##1{{\hfill\normalfont ##1}}% \csuse{\@currenvir @list@addons}% }% }% \def\enumerate@listiii{% \labelwidth=1.084em \leftmargin=\labelwidth \advance\leftmargin by \labelsep } \def\longlist@listiii{% \leftmargin=\labelwidth \advance\leftmargin by \labelsep } \def\@listiii{% \leftmargin=\leftmarginiii \labelwidth=\leftmarginiii \advance\labelwidth by -\labelsep \listparindent=12\p@ \topsep=\z@ \csletcs{\@currenvir @list@addons}{\@currenvir @listiii}% \preto\@trivlist{% \def\makelabel##1{{\hfill\normalfont ##1}}% \csuse{\@currenvir @list@addons}}% } \def\enumerate@listiv{% \labelwidth=.917em \leftmargin=\labelwidth \advance\leftmargin by \labelsep } \def\@listiv{% \leftmargin=\leftmarginiv \labelwidth=\leftmarginiv \advance\labelwidth by -\labelsep \listparindent=12\p@ \topsep=\z@ \csletcs{\@currenvir @list@addons}{\@currenvir @listiv}% \preto\@trivlist{% \def\makelabel##1{{\hfill\normalfont ##1}}% \csuse{\@currenvir @list@addons}% }% } % longlist \newcounter{longlist} \def\thelonglist{\@roman\c@longlist} \def\labellonglist{(\thelonglist)} \def\longlist{\@ifnextchar[{\@longlist}{\@longlist[]}} \def\@longlist[#1]{% \list {\labellonglist}% {% \usecounter{longlist}% \ifx.#1.% \setcounter{longlist}{3}% \settowidth\labelwidth{\labellonglist}% \setcounter{longlist}{0}% \else \settowidth{\labelwidth}{#1}% \fi \topsep=\smallskipamount \itemindent=\labelwidth \advance\itemindent by \labelsep \advance\itemindent by 1pc% \leftmargin=\z@ }% } \let\endlonglist =\endlist % \setlength\topskip{10\p@} \setlength\maxdepth{.5\topskip} % \setlength\smallskipamount{6.5\p@ \@plus 1\p@ \@minus 1\p@} \setlength\medskipamount{13\p@ \@plus 3\p@ \@minus 3\p@} \setlength\bigskipamount{19.5\p@ \@plus 3\p@ \@minus 3\p@} % PAGE-BREAKING PENALTIES \clubpenalty=10000 \widowpenalty=10000 \tolerance=800 \hbadness=800 \emergencystretch=3\p@ \hfuzz=1pt \AtBeginDocument{\interdisplaylinepenalty=100} % \arraycolsep=1.2\p@ \setlength\tabbingsep{6\p@} \jot=6\p@ \@ifundefined{mathindent}% {\newskip\mathindent}% {} \mathindent=2pc \AtBeginDocument{% \@ifundefined{@mathmargin}% {}% {\@mathmargin=\mathindent}% } \setlength\thinmuskip{2.5mu} \setlength\medmuskip{3.5mu plus 1.5mu minus 2mu} \setlength\thickmuskip{3.75mu plus 1.5mu} \setlength\mathsurround{0.1\p@} % \setlength{\parskip}{\z@} % \setlength\marginparsep{25\p@} \setlength\marginparwidth{120\p@} % \AtEndOfPackage{% \appto\set@natbib{% \let\save@NAT@bibsetnum\NAT@bibsetnum \def\bibsection{\specialsection*{\refname}}% \setlength\bibsep{\z@ \@plus .5\p@ \@minus .5\p@}% \setlength\bibindent{20\p@}% \preto\bibitem@fin{% \clubpenalty=\@M \widowpenalty=\@M }% \def\NAT@bibsetnum{% \labelsep=5\p@ \NAT@openbibtrue \topsep=\z@ \save@NAT@bibsetnum }% }% } \setpkgattr{title}{skip}{12\p@} \setpkgattr{frontmatter}{cmd}{\vskip20\p@ plus 3\p@ minus 3\p@} % \setpkgattr{abstract}{width}{23pc} \setpkgattr{abstract}{indent}{16pt\@gobble}% 2em and remove abstract name % \setpkgattr{title}{size}{\normalsize\bfseries\mathversion{bold}\spaceskip.5em} \setpkgattr{author}{size}{\normalsize\scshape} \setpkgattr{abstract}{skip}{14\p@} \setpkgattr{address}{skip}{8\p@} \setpkgattr{address}{size}{\scriptsize\itshape} \setpkgattr{ead}{size}{} \setpkgattr{ead}{sep}{; } \setpkgattr{email}{text}{} \setpkgattr{url}{text}{} \setpkgattr{fullurl}{text}{} \setcounter{secnumdepth}{5} \setcounter{tocdepth}{6} \setpkgattr{keywordname}{size}{\itshape} \setpkgattr{runninghead}{size}{\footnotesize} \setpkgattr{pagenumber}{size}{\small} \setpkgattr{copyright}{size}{\fontsize{6}{7}\selectfont\raggedright} \setpkgattr{thebibliography}{size}{\footnotesize} % \setpkgattr{dochead}{case}{\MakeUppercase} \setpkgattr{title}{case}{\MakeUppercase} \setpkgattr{runninghead}{case}{\MakeUppercase} % \setpkgattr{author}{prefix}{By~} % \if@imsart@preprint \setpkgattr{copyright}{text}{} \else \setpkgattr{copyright}{text}{% \url@fmt{}{\itshape}{\journal@name}{\journal@url}\break \@ifnonempty{\@copyrightyear\@volume\@issue\@pagerange\break}\doi@text } \fi % \def\volume#1{\gdef\@volume{Vol. #1, }} \def\issue#1{\gdef\@issue{No. #1, }} \def\pubyear#1{\gdef\@pubyear{#1,}\gdef\@copyrightyear{#1 }} % \def\abstractname{} % \def\put@fmt@data{% \copyright@fmt \history@fmt \@thanks \keyword@fmt \abstract@fmt } % \def\contentsname@cmd{\specialsection*{\contentsname}} % \setlength\footnotesep{7\p@} \setlength{\skip\footins}{18\p@ \@plus 4\p@ \@minus 2\p@} \skip\@mpfootins = \skip\footins % \set@amsgen@frenchspacing % \ims@common@float@settings \fi % % Set up parameters for the STS journal layout: % \if@stslayout \def\@xipt{11} \def\@xivpt{14} \def\@xvipt{16} \def\@xviiipt{18} \def\@xxpt{20} \def\@xxivpt{24} \renewcommand\normalsize{% \@setfontsize\normalsize\@xipt{13\p@ plus .5\p@ minus .5\p@}% \abovedisplayskip=7\p@ \@plus3\p@ \@minus3\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\small{% \@setfontsize\small\@xpt{12pt plus .3pt minus .3pt}% \abovedisplayskip=6\p@ \@plus2\p@ \@minus2\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\footnotesize{% \@setfontsize\footnotesize\@ixpt{11pt plus .2\p@ minus .2\p@}% \abovedisplayskip=6\p@ \@plus2\p@ \@minus2\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\Large{\@setfontsize\Large\@xivpt{16}} \renewcommand\Large{\@setfontsize\Large\@xivpt{16}} \renewcommand\LARGE{\@setfontsize\LARGE\@xvipt{18}} \renewcommand\huge{\@setfontsize\huge\@xviiipt{20}} \renewcommand\Huge{\@setfontsize\Huge\@xxpt{24}} \RequirePackage[T1]{fontenc} \RequirePackage{times} \RequirePackage[scaled=.9]{helvet} \RequirePackage{textcomp} \RequirePackage{textcase} % \setlength\columnsep{2pc} \setlength\columnseprule{0\p@} \setlength\footskip{24\p@} \setlength\parskip{0\p@} \setlength\topskip{10\p@} \setlength\maxdepth{.5\topskip} \setlength\parindent{10\p@} \sv@parindent=\parindent % \declaremathsizes@as@in@mathtime \DeclareMathSizes{\@xxivpt}{\@xxivpt}{16}{12} % page-breaking penalties \clubpenalty=10000 \widowpenalty=10000 \emergencystretch=3\p@ \hbadness=800 \tolerance=800 % \setlength\smallskipamount{6.5\p@ \@plus 1\p@ \@minus 1\p@} \setlength\medskipamount{13\p@ \@plus 3\p@ \@minus 3\p@} \setlength\bigskipamount{19.5\p@ \@plus 3\p@ \@minus 3\p@} % \marginparpush=5\p@ \marginparsep=25\p@ \marginparwidth=120\p@ % frontmatter settings \setpkgattr{frontmatter}{style}{\raggedright} \setpkgattr{title}{style}{\noindent\raggedright} \setpkgattr{author}{style}{\noindent\raggedright} \setpkgattr{address}{style}{\raggedright} % \setpkgattr{title}{skip}{6\p@} \setpkgattr{authors}{skip}{10pt} \setpkgattr{address}{skip}{\z@} \setpkgattr{abstract}{skip}{36\p@} \setpkgattr{abstractname}{skip}{. } \setpkgattr{keyword}{skip}{8\p@} % \setpkgattr{abstract}{width}{28pc} \setpkgattr{keyword}{width}{28pc} % \setpkgattr{dochead}{size}{\sffamily\Large\bfseries\spaceskip.5em} \setpkgattr{title}{size}{% \sffamily\fontsize{26}{26}\selectfont \bfseries\mathversion{bold}\spaceskip.5em% } \setpkgattr{author}{size}{\sffamily\fontsize{13}{13}\selectfont\bfseries} \setpkgattr{address}{size}{\small\itshape} \setpkgattr{ead}{size}{} \setpkgattr{abstract}{size}{\normalsize\upshape} \setpkgattr{abstractname}{size}{\itshape} \setpkgattr{keyword}{size}{\normalsize\mdseries\upshape} \setpkgattr{keywordname}{size}{\itshape} \setpkgattr{thebibliography}{size}{\footnotesize} \setpkgattr{copyright}{size}{\normalfont\mdseries\fontsize{6}{7}\selectfont\raggedright} \setpkgattr{runninghead}{size}{\footnotesize} \setpkgattr{runninghead}{case}{\MakeUppercase} \setpkgattr{pagenumber}{size}{\small\bfseries} % \setpkgattr{keyword}{KWD}{Key words and phrases:} \setpkgattr{ead}{text}{\hbox{e-mail:}\ } \setpkgattr{url}{text}{URL: } \setpkgattr{fullurl}{text}{URL: } % \setcounter{secnumdepth}{5} \setcounter{tocdepth}{6} % \def\thethanks{\@arabic\c@thanks} % \printead: \def\printead@fmt#1{\ifnot@ead@star (#1)\else #1\fi} % all addresses are combined: \newtoks\address@toks \def\address@exist{0} \def\address{\@ifnextchar[{\@address}{\@address[]}} \def\@address[#1]#2{% \gdef\address@exist{1}% \begingroup \no@harm \xdef\@act{\global\noexpand\address@toks{\the\address@toks#2\ }}\@act \endgroup } \def\address@fmt{% \ifcase\address@exist \else \safe@footnotetext{\hskip-\parindent\address@style\address@size\the\address@toks}% \fi } \def\put@fmt@data{% \copyright@fmt \address@fmt \@thanks \abstract@fmt \keyword@fmt \if@twocolumn \frontmatter@cmd \fi } \def\firstpage@cmd{% \if@twocolumn \markboth{\@runauthor}{\@runtitle}% \address@fmt \@thanks \fi } % footnotes \setlength\footnotesep{7\p@} \setlength{\skip\footins}{18\p@ \@plus 4\p@ \@minus 2\p@} \skip\@mpfootins = \skip\footins % \arraycolsep=1.2\p@ \arrayrulewidth=1\p@ \AtBeginDocument{\interdisplaylinepenalty=100} \jot=6\p@ \@ifundefined{mathindent}% {\newskip\mathindent}% {} \mathindent=2pc \AtBeginDocument{% \mathindent=2pc \@ifundefined{@mathmargin}% {}% {\@mathmargin=\mathindent}% } \setlength\medmuskip{3.5mu plus 1.5mu minus 2mu} \setlength\thickmuskip{3.75mu plus 1.5mu} \setlength\thinmuskip{2.5mu} \setlength\mathsurround{0.1\p@} % lists \let\quotation@size\relax \def\quotation@leftmargin{2pc} \def\quotation@rightmargin{2pc} \def\quotation@itemindent{\z@} \let\quote@size\relax \topsep=\smallskipamount \def\labelenumii{\theenumii)} \def\labelitemiv{{\footnotesize +}} \def\@listi{\leftmargin=\leftmargini} \def\@listii{% \leftmargin=\leftmarginii \labelwidth=\leftmarginii \advance\labelwidth by -\labelsep \topsep=\z@ } \let\@listI\@listi % longlist \newcounter{longlist} \def\thelonglist{\@roman\c@longlist} \def\labellonglist{\thelonglist)} \def\longlist{\@ifnextchar[{\@longlist}{\@longlist[]}} \def\@longlist[#1]{% \list {\labellonglist}% {% \usecounter{longlist}% \ifx.#1.% \setcounter{longlist}{3}% \settowidth\labelwidth{\labellonglist}% \setcounter{longlist}{0}% \else \settowidth{\labelwidth}{#1}% \fi \topsep=\smallskipamount \itemindent=\labelwidth \advance\itemindent by \labelsep \advance\itemindent by 1pc% \leftmargin=\z@ }% } \let\endlonglist =\endlist % \set@amsgen@frenchspacing % \ims@common@float@settings \fi % % Set up parameters for the BJ journal layout: % \if@bjlayout \IfFileExists{newtxmath.sty}% {\edef\new@tx@math@sty@exists{1}}% {} \RequirePackage[T1]{fontenc} \def\rmdefault{utm} \ifdefined\new@tx@math@sty@exists \def\ttdefault{ucr} \else \def\ttdefault{pcr}% ucr in old systems are somewhat buggy \fi \RequirePackage[scaled=0.9]{helvet} \RequirePackage{textcomp} \ifdefined\HCode \else \ifdefined\new@tx@math@sty@exists \RequirePackage[cmintegrals,bigdelims]{newtxmath} \else \PackageWarning{imsart}{newtxmath package isn't available, amsmath is used instead}% \RequirePackage{amsmath} \fi \fi \let\openbox\relax \RequirePackage{graphicx}% \RequirePackage{letterspace}% \def\setlstracking#1{\csdef{MT@letterspace}{#1}}% \def\texttracking#1#2{\bgroup\setlstracking{#1}\textls{#2}\egroup}% % \appto\ps@copyright{% \def\@evenhead{\parbox[c]{\textwidth}{\copyright@size\copyright@text}}% \let\@oddhead\@evenhead } \def\@xipt{11} \def\@xivpt{14} \def\@xvipt{16} \def\@xviiipt{18} \def\@xxpt{20} \def\@xxivpt{24} % % lists % \RequirePackage{enumitem} % old settings (for compatibility) \parsep=\z@ \topsep=\z@ \partopsep=\z@ \itemsep=\z@ \labelsep=.5em \setlength\leftmargin{2em} \setlength\leftmargini{2em} \setlength\leftmarginii{2.2em} \setlength\leftmarginiii{1.87em} \setlength\leftmarginiv{1.7em} \setlength\labelwidth{\leftmargini} \addtolength\labelwidth{-\labelsep} % new settings \def\bj@list@makelabel#1{\hfill\enit@format{#1}}% \setlist{itemsep=\z@,labelsep=0.5em,partopsep=\z@,parsep=\z@,listparindent=10pt}% \setlist[itemize]{align=left,format=\normalfont,before={\let\makelabel\bj@list@makelabel}} \setlist[enumerate]{align=left,format=\normalfont,before={\let\makelabel\bj@list@makelabel}} \setlist[description]{labelwidth=*,leftmargin=10\p@,listparindent=\z@,topsep=6\p@ \@plus \p@ \@minus \p@,align=left} \@ifundefined{enit@setleft}% {% \PackageWarning{imsart}{older enumitem is used, left alignment may behave strangely}% \setlist[itemize,1]{label=$\bullet$,labelindent=1em,leftmargin=*,topsep=6\p@ \@plus \p@ \@minus \p@}% \setlist[itemize,2]{label=\textendash,labelindent=0em,leftmargin=*,topsep=\z@}% \setlist[itemize,3]{label=$\ast$,topsep=\z@,labelindent=0.05em,leftmargin=*}% \setlist[itemize,4]{label={{\footnotesize +}},topsep=\z@,labelindent=0em,leftmargin=*}% \setlist[enumerate,1]{label=\arabic*.,ref=\arabic*,labelindent=1em,leftmargin=*,topsep=6\p@ \@plus \p@ \@minus \p@}% \setlist[enumerate,2]{label=\alph*),ref=\alph*,topsep=\z@,labelindent=-0.33em,leftmargin=*}% \setlist[enumerate,3]{label=\roman*.,ref=\roman*,labelindent=-0.5em,leftmargin=*,topsep=\z@}% \setlist[enumerate,4]{label=\Alph*.,ref=\Alph*,labelindent=-0.2em,leftmargin=*,topsep=\z@}% }% {% \setlist[itemize,1]{label=$\bullet$,left=1em,topsep=6\p@ \@plus \p@ \@minus \p@}% \setlist[itemize,2]{label=\textendash,left=0em,topsep=\z@}% \setlist[itemize,3]{label=$\ast$,topsep=\z@,left=0.05em}% \setlist[itemize,4]{label={{\footnotesize +}},topsep=\z@,left=0em}% \setlist[enumerate,1]{label=\arabic*.,ref=\arabic*,left=1em,topsep=6\p@ \@plus \p@ \@minus \p@}% \setlist[enumerate,2]{label=\alph*),ref=\alph*,topsep=\z@,left=-0.33em}% \setlist[enumerate,3]{label=\roman*.,ref=\roman*,left=-0.5em,topsep=\z@}% \setlist[enumerate,4]{label=\Alph*.,ref=\Alph*,left=-0.2em,topsep=\z@}% } % \def\quote@leftmargin{1pc} \def\quote@rightmargin{1pc} \appto\quote@hook{\itemsep=\z@} \def\quotation@itemindent{10\p@} \def\quotation@parindent{10\p@} \def\quotation@rightmargin{1pc} \appto\quotation@hook{\itemsep=\z@} % \declaremathsizes@as@in@mathtime \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt{12\p@ \@plus .3\p@ \@minus .3\p@}% \abovedisplayskip=10\p@ \@plus2\p@ \@minus2\p@ \abovedisplayshortskip=6\p@ \@plus 2\p@ \belowdisplayskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayshortskip } \normalsize \renewcommand\small{% \@setfontsize\small\@ixpt{11\p@ plus .2\p@ minus .2\p@}% \abovedisplayskip=7.5\p@ \@plus4\p@ \@minus1\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\footnotesize{% \@setfontsize\footnotesize\@viiipt{10\p@ plus .1pt minus .1pt}% \abovedisplayskip=6\p@ \@plus4\p@ \@minus1\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\Large{\@setfontsize\Large\@xivpt{16}} \renewcommand\LARGE{\@setfontsize\LARGE\@xvipt{18}} \renewcommand\huge{\@setfontsize\huge\@xviiipt{20}} \renewcommand\Huge{\@setfontsize\Huge\@xxpt{24}} % \def\@makefntext@parindent{\noindent\parindent=10\p@} % \def\doi#1{% \gdef\@doi{#1}% \gdef\doi@text{\url{\doi@base\@doi}}% } % \setpkgattr{frontmatter}{cmd}{% \vskip14\p@ plus 3\p@ minus 3\p@ \@afterindentfalse\@afterheading }% % \def\and{\unskip\ and } \setpkgattr{frontmatter}{style}{\raggedright} \setpkgattr{title}{style}{\noindent\raggedright} \setpkgattr{author}{style}{\noindent\raggedright} \setpkgattr{address}{style}{\raggedright} \setpkgattr{keyword}{style}{\raggedright} % \setpkgattr{title}{skip}{10\p@} \setpkgattr{abstract}{skip}{16\p@} \setpkgattr{abstractname}{skip}{} \setpkgattr{address}{skip}{6\p@\def\address@skip{0pt}} % \setpkgattr{abstract}{width}{\textwidth} \setpkgattr{keyword}{width}{\textwidth} \setpkgattr{history}{width}{\textwidth} % \setpkgattr{dochead}{size}{\normalsize\MakeUppercase} \setpkgattr{title}{size}{\fontsize{21}{26}\selectfont} \setpkgattr{author}{size}{\normalsize\spaceskip=0.2em} \def\write@fnms@metadata#1{} \def\write@snm@metadata#1{} \def\write@inits@metadata#1{} \def\fnms@size#1{\write@fnms@metadata{#1}\texttracking{105}{\MakeUppercase{#1}}} \def\snm@size#1{\write@snm@metadata{#1}\texttracking{105}{\MakeUppercase{#1}}} \def\inits@size#1{\write@inits@metadata{#1}} % \setpkgattr{address}{size}{\small\itshape} \setpkgattr{abstract}{size}{\small\upshape} \setpkgattr{keyword}{size}{\small\upshape\rightskip=\the\rightskip plus1.0fil} \setpkgattr{keywordname}{size}{\itshape} \setpkgattr{history}{size}{\raggedright\small\itshape} % \setpkgattr{runninghead}{size}{\normalsize\itshape} \setpkgattr{pagenumber}{size}{\normalsize\upshape} \setpkgattr{copyright}{size}{\normalsize} \setpkgattr{footline}{size}{\footnotesize} \setpkgattr{thebibliography}{size}{\small} % \setpkgattr{email}{text}{} \setpkgattr{url}{text}{} \setpkgattr{fullurl}{text}{} \setpkgattr{ead}{sep}{, } \setpkgattr{ead}{size}{} \if@imsart@preprint \setpkgattr{copyright}{text}{} \else \setpkgattr{copyright}{text}{\url@fmt{}{\itshape}{\journal@name}{\journal@url}\ \textbf{\number\@volume}(\@issue), \number\@pubyear, \@pagerange\\\doi@text} \fi \setpkgattr{history}{postfix}{} \setpkgattr{revised}{prefix}{ and revised~} \setpkgattr{keyword}{postfix}{} \def\sep{\unskip\string; }% % \setpkgattr{keyword}{KWD}{Keywords:} % \def\put@fmt@data{% \copyright@fmt \@thanks \abstract@fmt \keyword@fmt \tableofcontents@fmt } % \AtBeginDocument{% \ifcsundef{jobstart@date@info}% {\xdef\jobstart@date@info{\the\year\two@digits{\the\month}\two@digits{\the\day}}}% {}% \ifnum\jobstart@date@info>20211202\relax \def\author@sep@by@number#1{% \@tempcntb=\author@num \advance\@tempcntb by \m@ne \ifnum#1=\@tempcntb \unskip\unkern\ \and \else \ifnum#1=\author@num \else \unskip\unkern, \fi \fi \ignorespaces }% \fi } % invoke \printhistory at end of document: \let\old@enddocument\enddocument \def\enddocument{\history@fmt\old@enddocument} % \def\volume#1{\gdef\@volume{#1}} \def\issue#1{\gdef\@issue{#1}} \def\pubyear#1{\gdef\@pubyear{#1}\gdef\@copyrightyear{#1}} % \def\abstractname{} % \def\evenhead@fmt#1{\hfill#1} \def\oddhead@fmt#1{#1\hfill} % \def\fnum@table{\tablename~\thetable.} % \long\def\@maketablecaption#1#2{% \centering \parbox[t]{\tablewidth}{\small\textbf{#1}\enskip #2\par}% \vskip\belowcaptionskip } % \setcounter{secnumdepth}{5} \setcounter{tocdepth}{6} % \setlength\medskipamount{12\p@ \@plus 3\p@ \@minus 2\p@} \setlength\bigskipamount{18\p@ \@plus 3\p@ \@minus 2\p@} \setlength\marginparsep{25\p@} \setlength\marginparwidth{120\p@} % \renewcommand\figurename{Figure} % \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \small \textbf{#1}. #2\par \vskip\belowcaptionskip } \def\tabnotes@alignment{\centering} % \AtBeginDocument{\interdisplaylinepenalty=100} \arraycolsep=1.2\p@ \columnsep=12\p@ \jot=6\p@ \@ifundefined{mathindent}% {\newskip\mathindent}% {} \mathindent=2pc \setlength\medmuskip{3.5mu plus 1.5mu minus 2mu} \setlength\thickmuskip{3.75mu plus 1.5mu} \setlength\thinmuskip{2.5mu} \setlength\tabbingsep{6\p@} % \let\footnoterule\relax \setlength\footnotesep{7\p@} \setlength{\skip\footins}{18\p@ \@plus 4\p@ \@minus 2\p@} \skip\@mpfootins = \skip\footins \setlength{\parskip}{\z@} % PAGE-BREAKING PENALTIES \clubpenalty=10000 \tolerance=800 \widowpenalty=10000 % \set@amsgen@frenchspacing % \ims@common@float@settings % \AtEndOfPackage{% \IfFileExists{imsart-bj.cnf}% {}% {% \RequirePackage[colorlinks]{hyperref}% \setpkgattr{copyright}{text}{\raisebox{2pt}{\url@fmt{}{\itshape}{\journal@name}{\journal@url}}}% }% \appto\set@natbib{% \setlength\bibsep{\z@ \@plus .5\p@ \@minus .5\p@}% \let\bej@sv@bibsetup\@bibsetup \def\@bibsetup#1{% \topsep=\z@ \bej@sv@bibsetup{#1}% }% \preto\bibitem@fin{% \clubpenalty=\@M \widowpenalty=\@M }% \@ifpackagewith{natbib}{numbers}% {% \def\NAT@def@citea{\def\@citea{\NAT@separator}}% \def\NAT@def@citea@space{\def\@citea{\NAT@separator}}% \def\NAT@def@citea@close{\def\@citea{\NAT@@close\NAT@separator}}% \def\NAT@def@citea@box{\def\@citea{\NAT@mbox{\NAT@@close}\NAT@separator}}% }% {% \setcitestyle{comma}% }% \csname more@natbib@settings\endcsname }% } \flushbottom \fi % % Set up parameters for the AIHP journal layout: % \if@aihplayout % \def\@xipt{11} \def\@xivpt{14} \def\@xvipt{16} \def\@xviiipt{18} \def\@xxpt{20} \def\@xxivpt{24} % \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt{12\p@ \@plus .3\p@ \@minus .3\p@}% \abovedisplayskip=10\p@ \@plus 2\p@ \@minus2\p@ \abovedisplayshortskip=6\p@ \@plus 2\p@ \belowdisplayshortskip=6\p@ \@plus 2\p@ \belowdisplayskip=\abovedisplayskip \let\@listi\@listI } \renewcommand\small{% \@setfontsize\small\@ixpt{11\p@ \@plus .2\p@ \@minus .2\p@}% \abovedisplayskip=7.5\p@ \@plus 4\p@ \@minus 1\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\footnotesize{% \@setfontsize\footnotesize\@viiipt{10\p@ \@plus .1\p@ \@minus .1\p@}% \abovedisplayskip=6\p@ \@plus 4\p@ \@minus 1\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\Large{\@setfontsize\Large\@xivpt{16}} \renewcommand\LARGE{\@setfontsize\LARGE\@xvipt{18}} \renewcommand\huge{\@setfontsize\huge\@xviiipt{20}} \renewcommand\Huge{\@setfontsize\Huge\@xxpt{24}} % \RequirePackage[T1]{fontenc} \RequirePackage{times} \RequirePackage[scaled=.9]{helvet} \RequirePackage{textcomp} % % FRONT MATTER SKIPS \setpkgattr{title}{skip}{64\p@} \setpkgattr{authors}{skip}{14\p@} \setpkgattr{address}{skip}{12\p@\def\address@skip{0pt}} \setpkgattr{abstractname}{skip}{.\enskip} \setpkgattr{history}{skip}{4\p@} \setpkgattr{abstract}{skip}{16\p@} % \setpkgattr{fline}{cmd}{\vskip22\p@ \hrule} \setpkgattr{lline}{cmd}{\vskip10\p@ \hrule} % % FRONT MATTER DIMENSIONS \setpkgattr{abstract}{width}{\textwidth} \setpkgattr{abstract}{indent}{\z@} \setpkgattr{keyword}{width}{\textwidth} \setpkgattr{keyword}{indent}{\z@} % % FRONT MATTER FONTS \setpkgattr{title}{size}{\huge} \setpkgattr{author}{size}{\Large} \setpkgattr{abstract}{size}{\small\upshape} \setpkgattr{ead}{size}{} \setpkgattr{keywordname}{size}{\itshape} \setpkgattr{thebibliography}{size}{\footnotesize} \let\inits@size\@gobble \setcounter{tocdepth}{6} % \def\put@fmt@data{% \copyright@fmt \@thanks \history@fmt \fline@cmd \abstract@fmt \keyword@fmt \lline@cmd \tableofcontents@fmt } % \setpkgattr{keyword}{KWD}{Keywords:} \setpkgattr{keyword}{MSC2010}{MSC:} \setpkgattr{keyword}{postfix}{\unskip} \setpkgattr{email}{text}{} \setpkgattr{url}{text}{} \setpkgattr{fullurl}{text}{} % \def\labelitemii{\textendash} \def\labelitemiv{{\footnotesize +}} % \arraycolsep=1.2\p@ \setlength\tabbingsep{6\p@} \jot=6\p@ \@ifundefined{mathindent}% {\newskip\mathindent}% {} \mathindent=2pc \AtBeginDocument{% \mathindent=2pc \@ifundefined{@mathmargin}% {}% {\@mathmargin=\mathindent}% } \setlength\medmuskip{3.5mu plus 1.5mu minus 2mu} \setlength\thickmuskip{3.75mu plus 1.5mu} \setlength\thinmuskip{2.5mu} \setlength\mathsurround{0.1\p@} \columnsep=12\p@ \setlength\footnotesep{7\p@} \setlength{\skip\footins}{18\p@ \@plus 4\p@ \@minus 2\p@} \skip\@mpfootins = \skip\footins \setlength{\parskip}{\z@} \setlength\marginparsep{25\p@} \setlength\marginparwidth{120\p@} % % PAGE-BREAKING PENALTIES \clubpenalty=10000 \widowpenalty=10000 \emergencystretch=3\p@ \hbadness=800 \tolerance=800 \AtBeginDocument{% \interdisplaylinepenalty=100\relax } % \set@amsgen@frenchspacing % \ims@common@float@settings \fi % % Set up parameters for the BJPS journal layout: % \if@bjpslayout \def\@xipt{11} \def\@xivpt{14} \def\@xvipt{16} \def\@xviiipt{18} \def\@xxpt{20} \def\@xxivpt{24} \declaremathsizes@as@in@mathtime \renewcommand\normalsize{% \@setfontsize\normalsize\@xipt{13\p@ plus .5\p@ minus .5\p@}% \abovedisplayskip=7\p@ \@plus3\p@ \@minus3\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\small{% \@setfontsize\small\@xpt{12pt plus .3pt minus .3pt}% \abovedisplayskip=6\p@ \@plus2\p@ \@minus2\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\footnotesize{% \@setfontsize\footnotesize\@ixpt{11pt plus .2\p@ minus .2\p@}% \abovedisplayskip=6\p@ \@plus2\p@ \@minus2\p@ \belowdisplayskip=\abovedisplayskip \abovedisplayshortskip=\abovedisplayskip \belowdisplayshortskip=\abovedisplayskip } \renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt\@xpt} \renewcommand\Large{\@setfontsize\Large\@xivpt{16}} \renewcommand\LARGE{\@setfontsize\LARGE\@xvipt{18}} \renewcommand\huge{\@setfontsize\huge\@xviiipt{20}} \renewcommand\Huge{\@setfontsize\Huge\@xxpt{24}} % \RequirePackage[T1]{fontenc} \RequirePackage{times} \RequirePackage[scaled=.9]{helvet} \RequirePackage{textcomp} \normalfont\normalsize % \setlength\topskip{10\p@} \setlength\footnotesep{7\p@} \setlength{\skip\footins}{18\p@ \@plus 4\p@ \@minus 2\p@} \skip\@mpfootins = \skip\footins % \marginparpush=5pt \marginparwidth=120pt \marginparsep=25pt % \setlength\smallskipamount{6.5\p@ \@plus 1\p@ \@minus 1\p@} \setlength\medskipamount{13\p@ \@plus 3\p@ \@minus 3\p@} \setlength\bigskipamount{19.5\p@ \@plus 3\p@ \@minus 3\p@} % \clubpenalty=10000 \widowpenalty=10000 \tolerance=800 \hbadness=800 \AtBeginDocument{\interdisplaylinepenalty=100} % \jot=6\p@ \@ifundefined{mathindent}% {\newskip\mathindent}% {} \mathindent=2pc \AtBeginDocument{% \@ifundefined{@mathmargin}% {}% {\@mathmargin=\mathindent}% } \setlength\mathsurround{0.1\p@} \setlength\thinmuskip{2.5mu} \setlength\medmuskip{3.5mu plus 1.5mu minus 2mu} \setlength\thickmuskip{3.75mu plus 1.5mu} % \setpkgattr{keyword}{AMS}{AMS 2000 subject classifications.} \setpkgattr{keyword}{KWD}{Keywords and phrases.} \setpkgattr{keyword}{MSC}{\ims@href{\msc@url}{MSC2020 subject classifications}.} \setpkgattr{keyword}{MSC2020}{\ims@href{\msc@url}{MSC2020 subject classifications}.} % \setpkgattr{abstractname}{skip}{.\enskip} % \setpkgattr{title}{size}{\Large\bfseries\mathversion{bold}} \setpkgattr{keywordname}{size}{\itshape} \setpkgattr{runninghead}{size}{\footnotesize} \setpkgattr{pagenumber}{size}{\small} \setpkgattr{thebibliography}{size}{\footnotesize} \setpkgattr{keyword}{postfix}{\unskip.} \let\inits@size\@gobble % \if@imsart@preprint \setpkgattr{copyright}{text}{}% \else \setpkgattr{copyright}{text}{\url@fmt{}{\itshape}{\journal@name}{\journal@url}\break \@ifnonempty{\@volume\@pubyear\@pagerange\break}% \@ifnonempty{\journal@issn\break}\doi@text }% \fi \setpkgattr{address}{style}{\centering\normalfont} \setpkgattr{address}{size}{\scriptsize\itshape} \setpkgattr{ead}{size}{} \setpkgattr{ead}{sep}{; } \setpkgattr{email}{text}{} \setpkgattr{url}{text}{} \setpkgattr{fullurl}{text}{} \setcounter{tocdepth}{6} \def\thethanks{\@arabic\c@thanks} % \arraycolsep=1.2\p@ \setlength\tabbingsep{6\p@} % \def\labelenumi{\theenumi.} \def\labelenumii{\theenumii)} \def\labelenumiii{\theenumiii.} \def\labelenumiv{\theenumiv.} \def\labelitemi{\textbullet} \def\labelitemii{\textendash} \def\labelitemiii{\textasteriskcentered} \def\labelitemiv{{\footnotesize +}} % \topsep=\smallskipamount % \def\@listi{\leftmargin=\leftmargini} % \def\@listii{% \leftmargin=\leftmarginii \labelwidth=\leftmarginii \advance\labelwidth by -\labelsep \topsep=\z@ }% % \set@amsgen@frenchspacing % \ims@common@float@settings \fi % % smart \MR % code suggested by Vilmos Prokaj % solves the problem when MR is in a format: % \MR{MR1037262 (91i:60148)} % Without MR this macro removes the MR prefix if it % is present unchange the argument otherwise \def\woMR#1{\w@MR#1MR#1MR\relax} \def\w@MR#1MR#2MR#3\relax{#2} % % this splits MR... (...) \def\@MR#1 #2\relax#3{% \href{https://mathscinet.ams.org/mathscinet-getitem?mr=#1}% {\MRfixed{#3}}% }% % \def\MRfixed{MR\woMR} % \let\MR\MRfixed % % interaction with hyperref % \def\test@hyperref{\@ifundefined{Hy@SetCatcodes}{}{\imsart@hyperref@settings}} % \AtBeginDocument{\test@hyperref} % \def\imsart@hyperref@settings{% % hooks for the \thanksref, \thankstext: \def\thankref@hyperlink##1{% \edef\@tempx{##1thanks}% \hbox{\hyperlink{##1}{\saferef{\@tempx}}}% }% \def\thanks@hypertarget##1{\smash{\raise\baselineskip\hbox{\protect\hypertarget{##1}{}}}}% % redefine pagenumbering \let\pagenumbering\ims@pagenumbering % activate href \let\ims@href\href \let\safe@phantomsection\phantomsection % put document info \def\write@pdfinfo##1##2{\protected@write\@auxout{\no@harm}{\string\gdef\string##1{##2}}}% \@ifundefined{hy@title}{}{\pdfstringdef\@pdftitle{\hy@title}}% \@ifundefined{hy@author}{}{\pdfstringdef\@pdfauthor{\hy@author}}% \@ifundefined{hy@subject}{}{\pdfstringdef\@pdfsubject{\hy@subject}}% \@ifundefined{hy@keywords}{}{\pdfstringdef\@pdfkeywords{\hy@keywords}}% % \@ifundefined{user@hy@title}{}{\global\let\@pdftitle\user@hy@title}% \@ifundefined{user@hy@author}{}{\global\let\@pdfauthor\user@hy@author}% \@ifundefined{user@hy@subject}{}{\global\let\@pdfsubject\user@hy@subject}% \@ifundefined{user@hy@keywords}{}{\global\let\@pdfkeywords\user@hy@keywords}% % % MR with hyperef \def\MR##1{\@MR##1 \relax{##1}}% % \if@print@bid@doi \urlstyle{rm}% \let\ims@nolinkurl\nolinkurl \fi } % \def\write@pdfinfo#1#2{} % \newtoks\authors@list \def\addto@authors@list#1{% \begingroup \no@harm \xdef\@act{\global\noexpand\authors@list{\the\authors@list#1}}% \@act \endgroup } % \newtoks\keywords@list \def\addto@keywords@list#1{% \begingroup \no@harm \xdef\@act{\global\noexpand\keywords@list{\the\keywords@list#1}}\@act \endgroup } % % SECTION, SUBSECTION ETC. % we do not like article appearance: % \renewcommand\section{% \@startsection {section}% {1}% {\z@}% {-\bigskipamount}% {\medskipamount}% {\raggedright\bfseries\mathversion{bold}}% } \renewcommand\subsection{% \@startsection {subsection}% {2}% {\z@}% {-\bigskipamount}% {\medskipamount}% {\raggedright\bfseries\itshape\mathversion{bold}}% } \renewcommand\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {-\bigskipamount}% {\medskipamount}% {\raggedright\itshape}% } \renewcommand\paragraph{% \@startsection {paragraph}% {4}% {\z@}% {\medskipamount}% {-1em}% {\bfseries}% } \renewcommand\subparagraph{% \@startsection {subparagraph}% {5}% {\z@}% {\medskipamount}% {-1em}% {\itshape}% } % Format for the counter: \def\section@numbersep{.} \def\subsection@numbersep{.} \def\subsubsection@numbersep{.} \def\paragraph@numbersep{.} \def\subparagraph@numbersep{.} % \def\@seccntformat#1{{% \csname #1@prefix\endcsname \csname the#1\endcsname \csname#1@numbersep\endcsname\enspace }} % \let\specialsection\section % \@namedef{specialsection*}{\section*} % % sections: bjpslayout % \if@bjpslayout \renewcommand\section{% \@startsection {section}% {1}% {\z@}% {-\bigskipamount}% {\medskipamount}% {\large\bfseries\mathversion{bold}\raggedright}% } \renewcommand\subsection{% \@startsection {subsection}% {2}% {\z@}% {-\medskipamount}% {\smallskipamount}% {\bfseries\mathversion{bold}\raggedright}% } \renewcommand\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {\medskipamount}% {-10pt}% {\normalsize\itshape}% } % \def\subsubsection@prefix{\upshape} % \def\section@numbersep{} \def\subsection@numbersep{} \def\subsubsection@numbersep{} \def\paragraph@numbersep{} \def\subparagraph@numbersep{} \fi % % sections: IMS layout % \if@imslayout \renewcommand\section{% \@startsection {section}% {1}% {\parindent}% {\medskipamount}% {-10pt}% {\normalsize\upshape\bfseries\mathversion{bold}}% } \renewcommand\subsection{% \@startsection {subsection}% {2}% {\parindent}% {\medskipamount}% {-10pt}% {\subsection@shape}% } \def\subsection@shape{\normalsize\itshape} \def\subsection@prefix{\upshape} \renewcommand\subsubsection{% \@startsection {subsubsection}% {3}% {\parindent}% {\medskipamount}% {-10pt}% {\normalsize\itshape}% } \def\subsubsection@prefix{\upshape} \renewcommand\paragraph{% \@startsection {paragraph}% {4}% {\z@}% {\smallskipamount}% {-10pt}% {\normalsize\itshape}% } \renewcommand\subparagraph{% \@startsection {subparagraph}% {5}% {\z@}% {0.1pt}% {-1em}% {\normalsize\itshape}% } % must be used for the appendix \section and \thebibliography \renewcommand\specialsection{% \@startsection {section}% {1}% {\z@}% {\medskipamount}% {\smallskipamount}% {\let\@hangfrom\noindent\normalsize\centering\MakeTextUppercase}% } \fi % % sections: STS layout % \if@stslayout \def\sec@raggedright{% \def\\{\hfill\break}% \@rightskip=\@flushglue \rightskip=\@rightskip \leftskip=\z@skip \parindent=\z@ } % last line will centered to page width \def\fl@hangfrom#1{\noindent {#1}} \def\TO@fl{\let\@hangfrom\fl@hangfrom} % \renewcommand\section{% \@startsection {section}% {1}% {\z@}% {\medskipamount}% {\smallskipamount}% {\centering\TO@fl\normalsize\sffamily\bfseries\mathversion{bold}\MakeTextUppercase}% } \renewcommand\subsection{% \@startsection {subsection}% {2}% {\z@}% {\smallskipamount}% {\smallskipamount}% {\normalsize\sffamily\bfseries\mathversion{bold}\sec@raggedright}% } \renewcommand\subsubsection{% \@startsection {subsubsection}% {3}% {\parindent}% {\smallskipamount}% {-.5em}% {\normalsize\itshape}% } \renewcommand\paragraph{% \@startsection {paragraph}% {4}% {\parindent}% {\z@}% {-4pt}% {\normalsize\itshape}% } \renewcommand\subparagraph{% \@startsection {subparagraph}% {5}% {\z@}% {0.1pt}% {-1em}% {\normalsize\itshape}% } % must be used for the \thebibliography \renewcommand\specialsection{% \@startsection {section}% {1}% {\z@}% {\bigskipamount}% {\smallskipamount}% {\normalsize\centering\MakeTextUppercase}% } % Format for the counter: \def\section@numbersep{.} \def\subsection@numbersep{} \def\subsubsection@numbersep{} \def\paragraph@numbersep{} \def\subparagraph@numbersep{} \fi % % sections: BJ layout % \if@bjlayout \renewcommand\section{% \@startsection {section}% {1}% {\z@}% {-\bigskipamount}% {\medskipamount}% {\Large\bfseries\mathversion{bold}\raggedright}% } \renewcommand\subsection{% \@startsection {subsection}% {2}% {\z@}% {-\bigskipamount}% {\medskipamount}% {\large\bfseries\mathversion{bold}\raggedright}% } \renewcommand\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {-\medskipamount}% {\smallskipamount}% {\itshape\raggedright}% } \renewcommand\paragraph{% \@startsection {paragraph}% {4}% {\z@}% {\medskipamount}% {-10pt}% {\xishape}% } \renewcommand\subparagraph{% \@startsection {subparagraph}% {5}% {\parindent}% {0.1pt}% {-1em}% {\xishape}% } \fi % % sections: AIHP layout % \if@aihplayout \renewcommand\section{% \@startsection {section}% {1}% {\z@}% {-\bigskipamount}% {\medskipamount}% {\bfseries\mathversion{bold}\raggedright}% } \renewcommand\subsection{% \@startsection {subsection}% {2}% {\z@}% {-\medskipamount}% {\medskipamount}% {\itshape\raggedright}% } \renewcommand\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {-\medskipamount}% {.01\p@}% {\itshape\raggedright}% } \renewcommand\paragraph{% \@startsection {paragraph}% {4}% {\z@}% {\medskipamount}% {-10pt}% {\itshape}% } \renewcommand\subparagraph{% \@startsection {subparagraph}% {5}% {\parindent}% {0.1pt}% {-1em}% {\itshape}% } \fi % % \thanksref will not print "??" if label is undefined % \if@noundefthanksref % \AtBeginDocument{\let\sv@thankref@hyperlink\thankref@hyperlink}% % \def\thanksref@hook{% \@ifundefined{r@\@tempb thanks}% {% \let\thankref@hyperlink\@gobble \let\@tempa\@empty }% {\let\thankref@hyperlink\sv@thankref@hyperlink}% } % \fi % % loading of amsmath % \def\set@amsthm{% \def\ims@thmshape{0}% \if@imslayout \def\ims@thmshape{1}\fi \if@stslayout \def\ims@thmshape{1}\fi \if@bjlayout \def\ims@thmshape{2}\fi \if@aihplayout \def\ims@thmshape{3}\fi \if@bjpslayout \def\ims@thmshape{3}\fi \ifcase\ims@thmshape \or %1 \thm@notefont{\upshape}% \newtheoremstyle{plain}% {\medskipamount}% {\medskipamount}% {\itshape}% {\parindent}% {\scshape}% {.}% {1em}% {}% \newtheoremstyle{definition}% {\medskipamount}% {\medskipamount}% {\normalfont}% {\parindent}% {\scshape}% {.}% {1em}% {}% \newtheoremstyle{remark}% {\medskipamount}% {\medskipamount}% {\normalfont}% {\parindent}% {\scshape}% {.}% {1em}% {}% % \renewenvironment{proof}[1][\proofname]% {% \par \pushQED{\qed}% \normalfont \topsep=\medskipamount \trivlist \labelsep.5em% \item[\hskip\labelsep\hskip\parindent \scshape ##1\@addpunct{.}]\ignorespaces }{% \popQED \endtrivlist \@endpefalse }% \or %2 \newtheoremstyle{plain}% {\medskipamount}% {\medskipamount}% {\itshape}% {\z@}% {\bfseries}% {.}% {0.5em}% {\thmname{##1}\thmnumber{ ##2}\thmnote{ (##3)}}% \newtheoremstyle{definition}% {\medskipamount}% {\medskipamount}% {\itshape}% {\z@}% {\bfseries}% {.}% {0.5em}% {}% \newtheoremstyle{remark}% {\medskipamount}% {\medskipamount}% {\normalfont}% {\z@}% {\bfseries}% {.}% {0.5em}% {}% % \renewenvironment{proof}[1][\proofname]% {% \par \pushQED{\qed}% \normalfont \topsep=\medskipamount\relax \trivlist \item[\hskip\labelsep \bfseries ##1\@addpunct{.}]\ignorespaces }{% \popQED \endtrivlist \@endpefalse }% \or %3 \renewenvironment{proof}[1][\proofname]% {% \par \pushQED{\qed}% \normalfont \topsep=\medskipamount\relax \trivlist \item[\hskip\labelsep \bfseries ##1\@addpunct{.}]\ignorespaces }{% \popQED \endtrivlist \@endpefalse }% \if@bjpslayout \newtheoremstyle{remark}% {\smallskipamount}% {\smallskipamount}% {\normalfont}% {\z@}% {\bfseries}% {.}% {.5em}% {}% \fi \else \fi } % \if@load@amsmath \if@amsmath@leqno \PassOptionsToPackage{leqno}{amsmath} \fi \let\Bbbk\undefined \RequirePackage[cmex10]{amsmath} \if@bjlayout \RequirePackage{amssymb,mathrsfs} \newcommand\hmmax{0} \newcommand\bmmax{1} \RequirePackage{bm} \def\env@cases{% \let\@ifnextchar\new@ifnextchar \left\lbrace \everymath={\displaystyle}% \def\arraystretch{1.2}% \array{@{}l@{\qquad}l@{}}% }% \def\matrix@array@colsep{.5em} \preto\smallmatrix{\ex@=1.4\p@} \preto\env@matrix{% \arraycolsep=\matrix@array@colsep\relax \csname pre@matrix@hook\endcsname } \def\binom#1#2{\begin{pmatrix} #1 \cr #2\end{pmatrix}} \def\set@pre@matrix@hook{\def\pre@matrix@hook{\everymath={\displaystyle}}} \everydisplay=\expandafter{\the\everydisplay\set@pre@matrix@hook}% \fi \fi % \if@imsart@seceqn \renewcommand{\theequation}{\thesection.\arabic{equation}} \ifdefined\HCode\else \if@load@amsmath \numberwithin{equation}{section} \else \@addtoreset{equation}{section} \fi \fi \fi % % loading of amsthm % \if@load@amsthm \RequirePackage{amsthm} \set@amsthm \else \AtBeginDocument{\@ifpackageloaded{amsthm}{\set@amsthm}{}} \fi % % Acknowledgements % \def\acknowledgementsname{Acknowledgments} \newenvironment{acks}[1][\acknowledgementsname]{\section*{#1}}{\par} \let\ack\undefined \let\endack\undefined \if@balayout \renewenvironment{acks}[1][\acknowledgementsname]% {% \vskip0.5\baselineskip \small {\noindent\normalfont\sffamily\bfseries\acknowledgementsname}\par \begingroup\parindent 0pt\parskip 0.5\baselineskip }% {\endgroup} \fi % % Funding % \def\fundingname{Funding} \newenvironment{funding}[1][\fundingname]{\begin{acks}[\fundingname]}{\end{acks}} % % thebibliography, loading natbib % % \citefix -- fixes \NAT@citex (to make a hyperlink from year component in cite command). \def\citefix{% \def\NAT@citex[##1][##2]##3{% \NAT@sort@cites{##3}% \let\@citea\@empty \@cite{% \let\NAT@nm\@empty \let\NAT@year\@empty \@for\@citeb:=\NAT@cite@list\do{% \edef\@citeb{\expandafter\@firstofone\@citeb}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \@ifundefined{b@\@citeb\@extra@b@citeb}% {% \@citea {\reset@font\bfseries ?}% \NAT@citeundefined \PackageWarning{natbib}{Citation `\@citeb' on page \thepage \space undefined}% \def\NAT@date{}% }% {% \let\NAT@last@nm=\NAT@nm \let\NAT@last@yr=\NAT@year \NAT@parse{\@citeb}% \ifNAT@longnames \@ifundefined{bv@\@citeb\@extra@b@citeb}% {% \let\NAT@name=\NAT@all@names \global\@namedef{bv@\@citeb\@extra@b@citeb}{}% }% {}% \fi \ifNAT@full \let\NAT@nm\NAT@all@names \else \let\NAT@nm\NAT@name \fi \ifNAT@swa \ifcase\NAT@ctype \if\relax\NAT@date\relax \@citea\NAT@nmfmt{\NAT@nm}% \hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@date\hyper@natlinkend \else \ifx\NAT@last@nm\NAT@nm\NAT@yrsep \ifx\NAT@last@yr\NAT@year \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab \hyper@natlinkend \else \unskip\ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date \hyper@natlinkend \fi \else \@citea\NAT@nmfmt{\NAT@nm}% \NAT@aysep\ \hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@date\hyper@natlinkend \fi \fi \or \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@nmfmt{\NAT@nm}\hyper@natlinkend \or \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@date\hyper@natlinkend \or \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@alias\hyper@natlinkend \fi \def\@citea{\NAT@sep\ }% \else \ifcase\NAT@ctype \if\relax\NAT@date\relax \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@nmfmt{\NAT@nm}\hyper@natlinkend \else \ifx\NAT@last@nm\NAT@nm\NAT@yrsep \ifx\NAT@last@yr\NAT@year \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab \hyper@natlinkend \else \unskip\ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date \hyper@natlinkend \fi \else \@citea\NAT@nmfmt{\NAT@nm}% \ \NAT@@open\if*##1*\else##1\ \fi \hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@date\hyper@natlinkend \fi \fi \or \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@nmfmt{\NAT@nm}\hyper@natlinkend \or \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@date\hyper@natlinkend \or \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@alias\hyper@natlinkend \fi \if\relax\NAT@date\relax \def\@citea{\NAT@sep\ }% \else \def\@citea{\NAT@@close\NAT@sep\ }% \fi \fi }% }% \ifNAT@swa \else \if*##2*\else\NAT@cmt##2\fi \if\relax\NAT@date\relax\else\NAT@@close\fi \fi }{##1}{##2}% }% \let\@citex\NAT@citex } % \def\set@natbib{% \if@linksfromyear \citefix \fi \let\bibfont\thebibliography@size \setlength\bibsep{0pt}% } % \if@load@natbib \RequirePackage{natbib} \else \let\xxx@thebibliography\thebibliography \def\thebibliography{\thebibliography@size\xxx@thebibliography} \g@addto@macro\@openbib@code{\itemsep\z@} \fi \AtBeginDocument{\@ifpackageloaded{natbib}{\set@natbib}{}} % % thebibliography - structured % % Common macros: % % Setting a "style" for a command: % \set@bibl@cmd{bvolume} == \def\bvolume#1{{\bvolume@style #1}} % \def\set@bibl@cmd#1{\expandafter\def\csname #1\endcsname##1{{\csname #1@style\endcsname##1}}} % \let\endbibitem\relax % % bauthor, beditor % \def\bbl@bauthor#1{% \csname bauthor@hook\endcsname {% \let\binits\@firstofone \let\bsnm\@firstofone \let\bfnm\@gobble \let\bparticle\@firstofone \let\bsuffix\@firstofone \bauthor@style #1% }} % \def\bbl@beditor#1{{% \let\binits\@firstofone \let\bsnm\@firstofone \let\bfnm\@gobble \let\bparticle\@firstofone \let\bsuffix\@firstofone \beditor@style #1% }} % % bid % \bid{MR={},doi={},...} % \if@print@bid@doi \let\bid@mr@arg\@empty \let\bid@doi@arg\@empty \define@key{bid}{mr}{\edef\bid@mr@arg{#1}} \define@key{bid}{doi}{\edef\bid@doi@arg{#1}} \def\bid@MR#1{\ \MR{#1}\ignorespaces} \def\check@doiurl@prefix#1#2#3#4#5\end{% \edef\@doiurlfull{0}% \def\@doiurlhttp{http}% \def\@doiurlstart{#1#2#3#4}% \ifx\@doiurlstart\@doiurlhttp \edef\@doiurlfull{1}% \fi } \def\bid@doiurl#1{\ \check@doiurl@prefix#1\end \ifnum\@doiurlfull>\z@ \ims@href{#1}{\ims@nolinkurl{#1}}% \else \ims@href{\doi@base#1}{\ims@nolinkurl{\doi@base#1}}% \fi \ignorespaces } \else \define@key{bid}{mr}{\MR{#1}} \define@key{bid}{doi}{} \fi \define@key{bid}{pubmed}{} \define@key{bid}{pmcid}{} \define@key{bid}{pmid}{} \define@key{bid}{mid}{} \define@key{bid}{issn}{} \define@key{bid}{pii}{} % \def\bbl@bid#1{% \setkeys{bid}{#1}% \if@print@bid@doi \ifx\bid@mr@arg\@empty \else \expandafter\bid@MR\expandafter{\bid@mr@arg}% \fi \ifx\bid@doi@arg\@empty \else \expandafter\bid@doiurl\expandafter{\bid@doi@arg}% \fi \fi } % % for compatibility with old bibtex style \if@print@bid@doi \let\bdoi\bid@doiurl \else \def\bdoi#1{\ignorespaces} \fi % % common@pub@types % \def\common@pub@types{% \def\AND{and }% \let\betal\@firstofone \set@bibl@cmd{btitle}% \let\byear\@firstofone \let\bpages\@firstofone \let\bmisc\@firstofone \let\bnote\@firstofone \let\banumber\@firstofone \if@print@bid@doi \let\bmrnumber\bid@MR \else \let\bmrnumber\MR \fi \let\bid\bbl@bid \set@bibl@cmd{bvolume}% \csname common@pub@types@hook\endcsname } % % default styles % \setpkgattr{bauthor}{style}{\scshape} \setpkgattr{beditor}{style}{\scshape} % \setpkgattr{bjournal}{style}{\itshape} \setpkgattr{bbooktitle}{style}{\itshape} \setpkgattr{bseries}{style}{\itshape} % \setpkgattr{bvolume}{style}{\bfseries} % % barticle % \def\barticle{\@ifnextchar[{\@barticle}{\@barticle[]}} % \def\@barticle[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \set@bibl@cmd{bjournal}% } % % bbook % \def\bbook{\@ifnextchar[{\@bbook}{\@bbook[]}} % \def\@bbook[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\beditor\bbl@beditor \let\bedition\@firstofone \set@bibl@cmd{bseries}% \let\bpublisher\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone \let\bisbn\@gobble % \let\btitle@style\itshape } % % bincollection % \def\bincollection{\@ifnextchar[{\@bincollection}{\@bincollection[]}} % \def\@bincollection[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\beditor\bbl@beditor \set@bibl@cmd{bbooktitle}% \let\bchapter\@firstofone \let\bedition\@firstofone \set@bibl@cmd{bseries}% \let\bpublisher\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone \let\bisbn\@gobble \def\bauthor@hook{\let\beditor@style\relax}% } % % binproceedings % \def\binproceedings{\@ifnextchar[{\@binproceedings}{\@binproceedings[]}} % \def\@binproceedings[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\beditor\bbl@beditor \set@bibl@cmd{bbooktitle}% \set@bibl@cmd{bseries}% \let\borganization\@firstofone \let\bpublisher\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone \let\bisbn\@gobble } % % binbook % \def\binbook{\@ifnextchar[{\@binbook}{\@binbook[]}} % \def\@binbook[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\beditor\bbl@beditor \set@bibl@cmd{bbooktitle}% \let\bchapter\@firstofone \let\bedition\@firstofone \set@bibl@cmd{bseries}% \let\bpublisher\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone \let\bisbn\@gobble % \let\btitle@style\itshape } % % bproceedings % \def\bproceedings{\@ifnextchar[{\@bproceedings}{\@bproceedings[]}} % \def\@bproceedings[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\beditor\bbl@beditor \let\bedition\@firstofone \set@bibl@cmd{bseries}% \let\bpublisher\@firstofone \let\borganization\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone \let\bisbn\@gobble % \let\btitle@style\itshape } % % btechreport % \def\btechreport{\@ifnextchar[{\@btechreport}{\@btechreport[]}} % \def\@btechreport[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\btype\@firstofone \let\bnumber\@firstofone \let\binstitution\@firstofone \let\bpublisher\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone } % % bmanual % \def\bmanual{\@ifnextchar[{\@bmanual}{\@bmanual[]}} % \def\@bmanual[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\bedition\@firstofone \let\borganization\@firstofone \let\bpublisher\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone \let\bisbn\@gobble } % % mastersthesis % \def\bmastersthesis{\@ifnextchar[{\@bmastersthesis}{\@bmastersthesis[]}} % \def\@bmastersthesis[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\bschool\@firstofone \let\bpublisher\@firstofone \let\btype\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone } % % phdthesis % \def\bphdthesis{\@ifnextchar[{\@bphdthesis}{\@bphdthesis[]}} % \def\@bphdthesis[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\bpublisher\@firstofone \let\bschool\@firstofone \let\btype\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone } % % bbooklet % \def\bbooklet{\@ifnextchar[{\@bbooklet}{\@bbooklet[]}} % \def\@bbooklet[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\bhowpublished\@firstofone \let\baddress\@firstofone \let\blocation\@firstofone } % % bunpublished % \def\bunpublished{\@ifnextchar[{\@bunpublished}{\@bunpublished[]}} % \def\@bunpublished[#1]{% \common@pub@types \let\bauthor\bbl@bauthor } % % bmisc % \def\bmisc{\@ifnextchar[{\@bmisc}{\@bmisc[]}} % \def\@bmisc[#1]{% \common@pub@types \let\bauthor\bbl@bauthor \let\bhowpublished\@firstofone } % % \bptok % \def\bptok#1{\ignorespaces} % \ifx\OrigBibText\undefined \long\def\OrigBibText#1\endOrigBibText{}\fi % % appendix % \if@imslayout % % appendix mess up everything in this layout: % \renewcommand\appendix{% \par \def\subsection@shape{\normalsize\upshape\bfseries\mathversion{bold}}% \let\section\specialsection \def\section{\@ifnextchar*{\@appsectionstar}{\@appsectionnostar}}% \def\section@prefix{\appendixname\ }% \def\section@numbersep{:}% \setcounter{section}{0}% \setcounter{subsection}{0}% \gdef\thesection{\@Alph\c@section}% } % % \section*{Appendix} -> APPENDIX \def\@appsectionstar*#1{% \ifx.#1.% \specialsection*{\appendixname}% \else \specialsection*{\appendixname: #1}% \fi \setcounter{section}{1}% } % % \section{} -> APPENDIX A % \section{proof} -> APPENDIX A: PROOF \def\@appsectionnostar#1{% \ifx.#1.% \def\section@numbersep{}\specialsection[\appendixname\ \thesection]{}% \else \def\section@numbersep{:}\specialsection{#1}% \fi } % % dirty trick with \thebibliography \let\old@thebibliography\thebibliography \def\thebibliography{\let\section\specialsection\old@thebibliography} % \else % \renewcommand\appendix{% \par \let\old@section\section \def\section{\@ifnextchar*{\@appsectionstar}{\@appsectionnostar}}% \def\section@prefix{\appendixname\ }% \def\section@numbersep{:}% \setcounter{section}{0}% \setcounter{subsection}{0}% \gdef\thesection{\@Alph\c@section}% } % \def\@appsectionstar*#1{% \old@section*{#1}% \setcounter{section}{1}% } % \def\@appsectionnostar#1{% \ifx.#1.% \def\section@numbersep{}\old@section[\appendixname\ \thesection]{}% \else \def\section@numbersep{:}\old@section{#1}% \fi } \fi % % supplement % %\begin{supplement}[id=suppA] % \sname{Supplement A} % \stitle{} % \slink[doi]{} % \slink[url]{https://lib.stat.cmu.edu/aoas/???/???} % \sdatatype{.zip} % \sfilename{foo.zip} % \sdescription{} %\end{supplement} % \thesuppdoi{suppA} % \ref{suppA} % \hyperlink{suppA}{text} % \def\slink@data@exists{0} \def\supplement@name{Supplementary Material} % \def\sname#1{\def\@sname{#1}\def\@currentlabel{#1}} \def\stitle#1{\def\@stitle{#1}} \def\sdatatype#1{\def\@sdatatype{#1}\xdef\slink@data@exists{1}} \def\sfilename#1{} % \define@key{slink}{text}{\@namedef{slink@\slink@type @text}{#1}} \define@key{slink}{doi}[true]{\edef\slink@type{doi}} \define@key{slink}{url}[true]{\edef\slink@type{url}} % \def\slink[#1]#2{% \setkeys{slink}{#1}% \@namedef{slink@\slink@type}{#2}% \xdef\slink@data@exists{1}% } \def\sdescription#1{\def\@sdescription{#1}} % \def\suppsection@fmt{\specialsection*{\supplement@name}} % \def\slink@doi@prefix{doi: } \def\slink@doi@text@fmt#1{#1} \def\slink@doi@notext@fmt#1{#1} \def\slink@doi@fmt{% \slink@doi@prefix \@ifundefined{slink@doi@text}% {\ims@href{\doi@base\slink@doi}{\slink@doi@notext@fmt{\slink@doi}}}% {\ims@href{\doi@base\slink@doi}{\slink@doi@text@fmt{\slink@doi@text}}}% \@ifundefined{supp@label}% {}% {% \expandafter\xdef\csname\supp@label @doi\endcsname{\slink@doi}% \expandafter\xdef\csname\supp@label @url\endcsname{\doi@base\slink@doi}% }% } % \def\slink@url@text@fmt#1{#1} \def\slink@url@notext@fmt#1{#1} \def\slink@url@fmt{% \@ifundefined{slink@url@text}% {\ims@href{\slink@url}{\slink@url@notext@fmt{\slink@url}}}% {\ims@href{\slink@url}{\slink@url@text@fmt{\slink@url@text}}}% \@ifundefined{supp@label}% {}% {\expandafter\xdef\csname\supp@label @url\endcsname{\slink@url}}% } % \def\thesuppdoi@prefix{DOI: } \def\thesuppdoi#1{% \@ifundefined{#1@doi}% {\@latex@error{Undefined supplement id=#1}{??}}% {% \def\@tempx{\csname #1@doi\endcsname}% \@ifundefined{#1@url}% {\def\@tempy{\doi@base\csname #1@url\endcsname}}% {\def\@tempy{\csname #1@url\endcsname}}% \url@fmt{\thesuppdoi@prefix}{}{\@tempx}{\@tempy}% }% } % \define@key{supplement}{id}{\def\supp@label{#1}} % \long\def\supplement{\@ifnextchar[{\@supplement}{\@supplement[]}} % \long\def\@supplement[#1]{% \suppsection@fmt \global\let\suppsection@fmt\smallskip \setkeys{supplement}{#1}% } % \def\stitle@fmt#1{\textbf{#1\ }} \def\stitle@sep{\\} % \def\endsupplement{% \@ifundefined{@sname}% {}% {% \@ifundefined{supp@label}% {}% {\hypertarget{\supp@label}{}\label{\supp@label}}\textbf{\@sname: }% }% \@ifundefined{@stitle}% {}% {\stitle@fmt{\@stitle}}% % \stitle@sep \ifnum\slink@data@exists>\z@(\fi \@ifundefined{slink@doi}{}{\slink@doi@fmt}% \@ifundefined{slink@url}{}{\slink@url@fmt}% \@ifundefined{@sdatatype}{}{; \@sdatatype}% \@ifundefined{@sfilename}{}{\@sfilename}% \ifnum\slink@data@exists>\z@). \fi \@ifundefined{@sdescription}{}{\@sdescription}% \par } % % TOC in "article" class is a mess: % % for hyperref \def\toclevel@title{0} % \newcommand*\l@title[2]{} \newcommand*\l@author[2]{} \newcommand*\l@doi[2]{} \newcommand*\l@arxiv[2]{} \newcommand*\l@jobname[2]{} \newcommand*\l@begintocitem[2]{} \newcommand*\l@endtocitem[2]{} % \@ifclassloaded{article}{\@changetoctrue}{} % \def\toc@size{} \if@changetoc % \@ifundefined{contentsname@cmd}{\def\contentsname@cmd{\section*{\contentsname}}}{} % \renewcommand\tableofcontents{% \nocontentsline \contentsname@cmd \bgroup \toc@size \@starttoc{toc}% \egroup } % \renewcommand*\l@section{\@dottedtocline{1}{\z@}{1.5em}} % \fi % \if@bjlayout \def\toc@size{\footnotesize} \fi % % number lines % \ifnumberlines@ % \setpkgattr{numberlines}{size}{\scriptsize\ttfamily} \setpkgattr{numberlines}{skip}{24\p@} % \def\numberlines@hook{% \appto\@evenhead\put@numberlines@box \appto\@oddhead\put@numberlines@box } % \gappto\ps@imsheadings\numberlines@hook \gappto\ps@copyright\numberlines@hook % \newbox\numberlines@box \newskip\numberlines@box@skip % \def\set@numberlines@box{% \setlength\numberlines@box@skip\headsep \addtolength\numberlines@box@skip{5\p@}% % \setbox\numberlines@box\vtop to\textheight{% \parindent=\z@ \vskip\z@ \@tempcnta=0% \@tempdima=\z@ \loop \advance\@tempcnta by 1% \advance\@tempdima by \baselineskip \hbox to\textwidth{% \llap{\numberlines@size\the\@tempcnta\kern\numberlines@skip}% \hfill \rlap{\numberlines@size\kern\numberlines@skip\the\@tempcnta}% }% \ifdim\@tempdima<\textheight\repeat \vss }% % \ht\numberlines@box=\z@ \dp\numberlines@box=\z@ } % \def\put@numberlines@box{\lower\numberlines@box@skip\hbox to\z@{\hss\copy\numberlines@box}} % \AtBeginDocument{\set@numberlines@box} % \fi % % page layout frame % \if@imsart@showframe % \AtBeginDocument{% \ifcsundef{definecolor}% {\RequirePackage{color}}% {}% \definecolor{imsgray}{gray}{0.5}% }% % \overfullrule5\p@ \setpkgattr{showframe}{rulecolor}{imsgray} \setpkgattr{showframe}{rulewidth}{.05pt} % \def\showframe@hook{% \appto\@evenhead\put@showframe@box \appto\@oddhead\put@showframe@box } % \gappto\ps@imsheadings\showframe@hook \gappto\ps@copyright\showframe@hook % \newbox\showframe@box % \def\set@showframe@box{% \global\setbox\showframe@box\vbox to\z@{{% \offinterlineskip \normalcolor \vbox to \z@{\vss\textcolor{\showframe@rulecolor}{\hrule height\showframe@rulewidth width\textwidth}}% \vskip \headheight \vbox to \z@{\vss\textcolor{\showframe@rulecolor}{\hrule height\showframe@rulewidth width\textwidth}}% \vskip \headsep \vbox to \z@{\vss\textcolor{\showframe@rulecolor}{\hrule height\showframe@rulewidth width\textwidth}}% \hbox to \textwidth% {% \llap{\textcolor{\showframe@rulecolor}{\vrule height\textheight width\showframe@rulewidth}}% \hfil\textcolor{\showframe@rulecolor}{\vrule height\textheight width\showframe@rulewidth}% }% \vbox to \z@{\vss\textcolor{\showframe@rulecolor}{\hrule height\showframe@rulewidth width\textwidth}}% \vskip \footskip \vbox to \z@{\vss\textcolor{\showframe@rulecolor}{\hrule height\showframe@rulewidth width\textwidth}}% \vss }}% } % \def\put@showframe@box{\raise\headheight\hbox to\z@{\hss\copy\showframe@box}} % \AtBeginDocument{\set@showframe@box} % \fi % % INITIALIZATION % % Read local configuration file (if exist): % imsart.cnf imsart-ps.cnf % \@input{\imsfmt@name\journal@id.cnf} \@input{\imsfmt@name-vtex.cnf} % \@twosidetrue \pagenumbering{arabic} \frenchspacing \init@settings \pagestyle{imsheadings} % \endinput %% %% End of file `imsart.sty'.