% raex.cls 1.2 12-November-2021 % Real Analysis Exchange LaTeX Class % Lee Larson lee.larson@louisville.edu % Identification \ProvidesClass{raex}[2017/12/12 v1.2 Real Analysis Exchange] \NeedsTeXFormat{LaTeX2e} % Bring in the regular article class \LoadClass[twoside]{article}[2005/09/16] % Required packages (All are in the standard LaTeX distribution.) \RequirePackage{amsmath} \RequirePackage{amsthm} \RequirePackage{amssymb} \RequirePackage{ifthen} \RequirePackage{textcase} \RequirePackage{verbatim} % Initial code \newcommand*\@journalsection{\relax} \newcommand*\fnstrut{\rule{0pt}{\footnotesep}} \global\renewcommand{\thefootnote}{\fnsymbol{footnote}} \newboolean{@production} \setboolean{@production}{false} \newboolean{@symposium} \setboolean{@symposium}{false} \newif\if@mrp \@mrpfalse \newif\if@mrs \@mrsfalse % Handle options % Set the appropriate section label on the title page. \DeclareOption{obituary}{ \renewcommand\@journalsection{OBITUARY} \setboolean{@production}{true}\setboolean{@symposium}{false}} \DeclareOption{errata}{ \renewcommand\@journalsection{ERRATA} \setboolean{@production}{true}\setboolean{@symposium}{false}} \DeclareOption{survey}{ \renewcommand\@journalsection{SURVEY} \setboolean{@production}{true}\setboolean{@symposium}{false}} \DeclareOption{plenary}{ \renewcommand\@journalsection{PLENARY LECTURE} \setboolean{@production}{true}\setboolean{@symposium}{false}} \DeclareOption{research}{ \renewcommand{\@journalsection}{RESEARCH} \setboolean{@production}{true}\setboolean{@symposium}{false}} \DeclareOption{inroads}{ \renewcommand\@journalsection{INROADS} \setboolean{@production}{true}\setboolean{@symposium}{false}} \DeclareOption{queries}{ \renewcommand\@journalsection{QUERIES} \setboolean{@production}{true}\setboolean{@symposium}{false}} \DeclareOption{symposium}{ \renewcommand\@journalsection{\null} \setboolean{@production}{false}\setboolean{@symposium}{true}} \DeclareOption{reprint}{ \renewcommand\@journalsection{REPRINT} \setboolean{@production}{false}\setboolean{@symposium}{false}} \DeclareOption{empty}{ \renewcommand\@journalsection{\null} \setboolean{@production}{false}\setboolean{@symposium}{false}} % default \ExecuteOptions{errata,survey,research,inroads,queries,symposium,reprint,empty} \ProcessOptions \relax % Set the page dimensions \setlength{\textheight}{6.75in} \setlength{\textwidth}{4.675in} \setlength{\oddsidemargin}{0pt} \setlength{\evensidemargin}{0pt} \setlength{\hoffset}{0.9125in} % Make the section and subsection titling a bit smaller. \renewcommand\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\large\bfseries}% } \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\normalsize\bfseries}% } % myheadings small caps instead of italic. \renewcommand\ps@myheadings{ \let\@oddfoot=\@empty \let\@evenfoot=\@empty \def\@evenhead{\thepage\hfil\scshape\leftmark}% \def\@oddhead{{\scshape\rightmark}\hfil\thepage}% \let\@mkboth=\@gobbletwo \let\sectionmark=\@gobble \let\subsectionmark=\@gobble } % Always want author on left and title on right. These are filled in % within the top matter using \markboth{author}{title}. \pagestyle{myheadings} % Here is information specific to journal production % volume \newcommand*{\Volume}[1]{\renewcommand*{\vol@no}{#1}} \newcommand*{\vol@no}{??} % number \newcommand*{\IssueNumber}[1]{\renewcommand*{\issue@no}{#1}} \newcommand*{\issue@no}{?} % year \newcommand*{\Year}[1]{\renewcommand*{\year@no}{#1}} \newcommand{\year@no}{????} % contributing editor \newcommand{\Editor}[1]{\newcommand*{\contributing@editor}{#1}} \let\contributing@editor=\relax % date received \newcommand*\Received[1]{\newcommand*{\date@received}{#1}} \let\date@received=\relax % manuscript number \newcommand*\ManNo[1]{\newcommand*{\manuscript@no}{#1}} \let\manuscript@no=\relax % First page number \setcounter{page}{1} \newcommand*\@firstpagenumber{1} \newcommand*\FirstPageNumber[1]{ \setcounter{page}{#1} \renewcommand\@firstpagenumber{#1} \typeout{First page set to \the\c@page.} } % Cover title \newcommand*\CoverTitle[1]{\renewcommand*{\cover@title}{#1}} \newcommand*{\cover@title}{} % Cover author \newcommand*\CoverAuthor[1]{\renewcommand{\cover@author}{#1}} \newcommand{\cover@author}{\relax} % maketitle \renewcommand\maketitle{ \par \begingroup \global\@topnum\z@ % Prevents figures from going at top of page. \@maketitle \thispagestyle{plain}%\@thanks \endgroup \setcounter{footnote}{0} \let\thanks=\relax \let\maketitle=\relax \let\@maketitle=\relax \gdef\@thanks{} \gdef\@author{} \gdef\@title{} }% \renewcommand\maketitle \renewcommand\@maketitle{ {% \noindent\Large \@journalsection} \hfill\parbox{3in}{\scriptsize\raggedleft\textbf{Real Analysis Exchange} \linebreak \ifthenelse{\boolean{@production}}{% Vol.~\vol@no(\issue@no),~\year@no, pp.~\pageref{firstpage}--\pageref{lastpage} \linebreak %Format the DOI as 10.14321/realanalexch.41.1.nnnn DOI:~10.14321/realanalexch.\vol@no.\issue@no.\manuscript@no% % \ifthenelse{\value{page}<10}{000\thepage}{% % \ifthenelse{\value{page}<100}{00\thepage}{% % \ifthenelse{\value{page}<1000}{0\thepage}{\thepage}% % }% % }% }% {\relax} \ifthenelse{\boolean{@symposium}}{% Summer Symposium~\year@no, pp.~\pageref{firstpage}--\pageref{lastpage}}{\relax}} \par\vskip 1em \begin{flushleft} \unhbox\author@box \end{flushleft} \vskip 2em \begin{center} {\Large\textbf{\MakeTextUppercase{\@title}}\par} \end{center} \par \vskip .5em }% \renewcommand\@maketitle % ---------------- % Key Words Environment \gdef\KeyWordList{\relax} \newenvironment{KeyWords} { \newtoks\scratch \newtoks\@words \newtoks\@ewords \newcommand\keyword[1]{ \scratch={##1} \if\KeyWordList\relax{\global\edef\KeyWordList{\the\scratch} }\else{ \@words=\expandafter{\KeyWordList} \global\edef\KeyWordList{\the\@words, \the\scratch} }\fi } }% { }% Key Words end % ----------------- % Math Reviews Classification \newenvironment{MathReviews} { \newcommand\@MR{\relax} \newcommand{\@epo}{} \newcommand{\@epc}{} \newcommand{\@eso}{} \newcommand{\@esc}{} \gdef\PrimarySubjectList{\relax} \gdef\SecondarySubjectList{\relax} \newtoks\scratch \newtoks\@subjects \newcommand{\primary}[1]{ \global\@mrptrue \scratch={##1} \if\PrimarySubjectList\relax{ \global\edef\PrimarySubjectList{\the\scratch} }\else{ \@subjects=\expandafter{\PrimarySubjectList} \global\edef\PrimarySubjectList{\the\@subjects, \the\scratch} }\fi } \newcommand{\secondary}[1]{ \global\@mrstrue \scratch={##1} \if\SecondarySubjectList\relax{ \global\edef\SecondarySubjectList{\the\scratch} }\else{ \@subjects=\expandafter{\SecondarySubjectList} \global\edef\SecondarySubjectList{\the\@subjects, \the\scratch} }\fi } } { \gdef\@MR{ \if\PrimarySubjectList\relax{\relax} %no primary subjects \else{ \null }\fi } \let\@subj=\relax }% Math Reviews end % ----------------- % Author Environment \newsavebox{\name@box} \newsavebox{\author@box} \newsavebox{\firstname@box} \newsavebox{\lastname@box} \newsavebox{\postaladdress@box} \newsavebox{\emailaddress@box} \newboolean{@email} \newsavebox{\thanks@box} \newenvironment{Author} { % \newenvironment{Author} begin \def\FirstName##1{\sbox{\firstname@box}{##1}} \def\LastName##1{\sbox{\lastname@box}{##1}} \def\PostalAddress##1{\sbox{\postaladdress@box}{##1}} \def\Thanks##1{\sbox{\thanks@box}{\footnote{##1}}} \setboolean{@email}{false} \def\Email##1{\setboolean{@email}{true}\sbox{\emailaddress@box}{\texttt{##1}}} } % \newenvironment{Author} begin { %at end Author environment \global\sbox{\author@box}{% \unhbox\author@box \unhbox\firstname@box\ \unhbox\lastname@box,% name \unhbox\thanks@box\ % thanks \unhbox\postaladdress@box.\quad % postal address % added ~ 11-Jan-11 to keep on one line \ifthenelse{\boolean{@email}}{email:~\unhbox\emailaddress@box\ }{}% email address \smallskip\linebreak } }% Author end % proof environment \renewenvironment{proof}[1][\proofname]{\par \pushQED{\qed}% \normalfont \topsep6\p@\@plus6\p@\relax \trivlist \item[\hskip\labelsep\scshape #1\@addpunct{.}]\ignorespaces }{% \popQED\endtrivlist\@endpefalse } % Stuff to do at the beginning of text insertion. \AtBeginDocument{ \global\renewcommand{\thefootnote}{\arabic{footnote}} \label{firstpage} \if@mrp{\insert\footins{\footnotesize Mathematical Reviews subject classification: Primary:~\PrimarySubjectList \if@mrs{;\ Secondary:~\SecondarySubjectList}\fi}} \fi \newcommand*\@KW{Key words: } \if\KeyWordList\relax{\relax }\else{ \insert\footins{\footnotesize\fnstrut\@KW \KeyWordList\fnstrut}} \fi \ifx\date@received\relax{ \relax }\else{ \insert\footins{\footnotesize\fnstrut Received by the editors \date@received\fnstrut} }\fi \ifx\contributing@editor\relax{ \relax }\else{ \insert\footins{\footnotesize\fnstrut Communicated by: \contributing@editor\fnstrut} }\fi }% \AtBeginDocument % Stuff to do at the end of text insertion \AtEndDocument{ \label{lastpage} } % The Real Analysis Exchange has standardized on blackboard % bold symbols for standard spaces. Use these definitions to % define macros with which you are comfortable. \newcommand*{\BBSpace}[1]{\ensuremath{\mathbb{#1}}} \newcommand*{\NaturalNumbers}{\BBSpace{N}} % blackboard bold N \newcommand*{\Integers}{\BBSpace{Z}} % blackboard bold Z \newcommand*{\RationalNumbers}{\BBSpace{Q}} % blackboard bold Q \newcommand*{\RealNumbers}{\BBSpace{R}} % blackboard bold R \newcommand*{\ComplexNumbers}{\BBSpace{C}} % blackboard bold C % raex.cls finis