← All templates

Higher Structures (higherStructures)

The higherStructures class of the journal Higher Structures: A4 layout with the journal's TikZ banner and logo, English or French option, one- or two-level theorem numbering, invited-contribution option; the sample is the journal's own instructions for using the class, with xy-pic diagrams and a BibTeX bibliography.

Create an account to use this
Category
Journal
Document class
higherStructures (higherStructures.cls) — ships with TeX Live
Workflow
Journal manuscript — submissions and revision rounds
Author
Higher Structures (Institute of Mathematics, Czech Academy of Sciences)
Source
Higher Structures (Institute of Mathematics, Czech Academy of Sciences)
Licence
higherStructures.cls: Creative Commons. The sample text is Higher Structures (Institute of Mathematics, Czech Academy of Sciences)'s, provided for authors preparing a submission.

These are the publisher’s own files. This project starts from Higher Structures (Institute of Mathematics, Czech Academy of Sciences)’s package for this publication — their manuscript, their higherStructures.cls, their bibliography style — so what compiles here is what they would have given you.

Higher Structures (Institute of Mathematics, Czech Academy of Sciences) serves this exact file to Higher Structures. Check Higher Structures (Institute of Mathematics, Czech Academy of Sciences)’s author pages for the current instructions.

What you get

  • ForHSClass.bib · 972 B
  • higherStructures.cls · 21 KB
  • hsClassInst.tex — the file that is compiled · 13 KB

These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.

Journals using this template

Source

ForHSClass.bib · 972 B
@book{Knuth-TeXBook,
   author = {Donald E. Knuth},
   title = {The \TeX book},
   publisher = {Addison-Wesley},
   year = {1984},
   citekey = {Knuth-TeXBook}
}
@misc{amsthmDoc,
   author =  {PTGAMS},
   title =   {Using the amsthm package},
   howpublished = {Available from \href{https://www.ctan.org/pkg/amsthm?lang=en}{here}.},
   citekey =     {amsthmDoc}
}
@misc{enumitemDoc,
   author =  {Javier Bezos},
   title =   {Customizing lists with the enumitem package},
   howpublished = {Available from \href{https://www.ctan.org/pkg/amsthm?lang=en}{here}.},
   citekey =     {enumitemDoc}
}
@book{LaTeXCompanion,
   author    = {M. Goossens and F. Mittelbach and A. Samarin},
   title     = {The {\LaTeX} Companion},
   publisher = {Addison-Wesley},
   year      = 1994,
   citekey = {LaTeXCompanion}
}
@misc{primer,
   author =  {S.G. Kranz},
   title =   {A Primer of Mathematical Writing, Second Edition},
   note = {\Arxiv{1612.04888}},
   citekey =     {primer}
}
higherStructures.cls · 21 KB
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%%%%%%% HIGHER STRUCTURES CLASS FILE %%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% CONTENTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% 0. Identification and options.
%% 1. Included packages.
%% 2. Initializations.
%% 3. Processing author and address information.
%% 4. Processing email information.
%% 5. Formatting choices.
%% 6. Logo and banner.
%% 7. Redefining \maketitle.
%% 8. Redefining the abstract environment.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 0. IDENTIFICATION AND OPTIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%% Identification.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{higherStructures}[2020/01/14 Higher Structures]

%%% This class file is built on top of the article class.
\LoadClass[twoside,11pt,a4paper]{article}

%%% With regards to the numbering of theorems, definitions, etc, there are two options. The default is numbering subordinate to a section. The class option twoLevelNum implements numbering subordinate to a subsection. Here we configure these options, which sets the values of \@thmNumLevel (which is used in section 9 where the theorem environments are provided) and \@tocdepth (which is used in section 5 to control the depth of the contents page appearing in the navigation/bookmarks sidebar of the pdf viewer).
\DeclareOption{twoLevelNum}{
  \def\@thmNumLevel{subsection}
  \def\@tocdepth{2}}
\DeclareOption{oneLevelNum}{
  \def\@thmNumLevel{section}
  \def\@tocdepth{1}}
%%% There are two types of papers: invited papers and regular submissions. The indication of which type is made in the header of the first page, in the initial segment of the article's reference. Here we configure these options.
\DeclareOption{invited}{
  \def\@initialSegmentArtRef{Invited Contribution, Higher Structures }}
\DeclareOption{regularSubmission}{
  \def\@initialSegmentArtRef{Higher Structures }}
%%% Language options. At the moment this class file caters to articles written English or French. More languages could easily be added, and will be when the need arises.
\DeclareOption{english}{
  \def\@numLang{1}
  \def\@lang{english}}
\DeclareOption{french}{
  \def\@numLang{2}
  \def\@lang{french}}

%%% Here we set the default options.
\ExecuteOptions{oneLevelNum, regularSubmission, english}
\ProcessOptions\relax

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 1. INCLUDED PACKAGES
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%% Page layout
\RequirePackage[top=2.8cm, bottom=2.8cm, hmargin=2.5cm, headsep=.75cm, twoside]{geometry}

%%% Colours
\RequirePackage{color}
\RequirePackage[usenames,dvipsnames,svgnames,table]{xcolor}

%%% Tikz (needed to generate the banner)
\RequirePackage{tikz}

%%% xstring (needed in the author-affiliation processing, to detect and handle duplicate affiliations)
\RequirePackage{xstring}

%%% Access to last page number (for the generation of the article's journal reference from user data)
\RequirePackage{lastpage}

%%% Footnote customisation
\RequirePackage{scrextend}

%%% Header customisation
\RequirePackage{fancyhdr}

%%% Section heading customisations
\RequirePackage{titlesec}
\RequirePackage[title]{appendix}
\RequirePackage{etoolbox, apptools}
\RequirePackage{bold-extra}

%%% Theorem styling
\RequirePackage{amsthm}

%%% List customisation, for adjusting list item spacing in Section 5
\RequirePackage[shortlabels]{enumitem}

%%% If the language of the paper is not English, then load the babel package
\ifnum\@numLang=2
\RequirePackage[english, main=\@lang]{babel}
\fi

%%% Language configuration
\def\@english{english}
\ifx\@lang\@english
  \def\@and{and}
\fi

\def\@french{french}
\ifx\@lang\@french
  \def\@abstractname{R\'esum\'e}
  \def\@keywordsname{Mots clefs}
  \frenchbsetup{FrenchFootnotes=false}
  \def\@and{et}
\fi

%%% Hyperlinks and bookmarks
\RequirePackage[pdfencoding=unicode, bookmarksnumbered, colorlinks=true, urlcolor=MidnightBlue, linkcolor=blue, citecolor=blue]{hyperref}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 2. INITIALIZATIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% Article information
\def\@startPage{1}
\def\@volume{1}
\def\@issue{1}
\def\@pubYear{2017}
\def\@editor{xxx}
\def\@received{xxx}
\def\@accepted{xxx}

%% Author information
\def\@authorList{\relax}
\def\@authors{\relax}
\def\@shortAuthorList{\relax}
\def\@shortAuthors{\relax}
\def\@authAffilList{\relax}
\def\@emailList{\relax}
\newcount\@numAuthors
\@numAuthors=0
\newcount\@numAffils
\@numAffils=0
\newcount\@numEmails
\@numEmails=0

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 3. PROCESSING AUTHOR AND ADDRESS INFORMATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% Here the \author and \address macros are defined. They in turn define the \@authors and \@shortauthors which are then used below. \@authors contains the list of long author names and footnotes to their corresponding affiliation-addresses. \@shortauthors contains the list of (in the general case, short) author names.

%% Other macros defined by \author and \address are \@authorList and \@shortAuthorList, which aid in the construction of \@authors and \@shortauthors, as well as \@lastauthor, which is the name of the most recently added author, which is used in the definition of the macro \email. For the purposes of processing duplicate affiliations, the macro \@authAffilList is defined. It contains a list of authors, affiliations, reference numbers, all as strings. The macros of the xstring package are then used to detect and handle duplicate affiliations in the definition of the \address macro.

%% The ``full version'' of \author macro, with the optional short author name argument active.
\def\@@author[#1]#2{
  \ifnum\@numAuthors=0
  \g@addto@macro\@shortAuthorList{#1}
  \g@addto@macro\@shortAuthors{#1}
  \g@addto@macro\@authorList{#2}
  \g@addto@macro\@authors{#2}
  \g@addto@macro\@authAffilList{#2}
  \else
  \let\@tempShortAuthorList\@shortAuthorList
  \let\@tempAuthorList\@authorList
  \def\@shortAuthors{\@tempShortAuthorList\ and #1}
  \def\@authors{\@tempAuthorList\ \@and\ #2}
  \g@addto@macro\@shortAuthorList{, #1}
  \g@addto@macro\@authorList{, #2}
  \g@addto@macro\@authAffilList{, #2}
  \fi
  \advance\@numAuthors by 1
  \def\@lastAuthor{#1}}

%% The ``special version'' of \author with no short author name given.
\def\@author#1{\@@author[#1]{#1}}

%% The final definition of \author.
\def\author{\@ifnextchar[{\@@author}{\@author}}

%% Here the \address macro is developed, which adds an affiliation-address to \@authors as footnote, which below will be displayed in a minipage environment. It throws up an error message if no authors have been entered beforehand. It is built from the macro \@addressTwo, which in turn is built from \@addressOne.

% \@addressOne adds the appropriate reference, or footnote text containing the affiliation. Which to add depends on whether the affiliation (2nd argument) has appeared before in the list, and the conditional branching is implemented using the \IfSubStr* macro from the xstring package. In the case of duplication, the appropiate label is computed by searching back through \@authAffilList, using other macros from xstring. In the case of a new affiliation, the added footnote contains a label of the form 'HSAffiliationLabel-n', where n is the current value of \@numAffils (which keeps track of how many distinct affiliations have been processed so far).
\def\@addressOne#1#2{
  \expandarg\IfSubStr*{\@authAffilList}{#2}
  {\expandarg\StrBehind{\@authAffilList}{#2, }[\@rightString]
    \StrLeft{\@rightString}{1}[\@labelNum]
    \g@addto@macro\@authorList{\textsuperscript{\ref{HSAffiliationLabel-\@labelNum}}}
    \g@addto@macro\@authAffilList{, #2, \@labelNum}
    \g@addto@macro\@authors{\textsuperscript{\ref{HSAffiliationLabel-\@labelNum}}}}
  {\g@addto@macro\@authorList{\footnote{\textsl{#2}\label{HSAffiliationLabel-#1}}}
    \g@addto@macro\@authAffilList{, #2, #1}
    \g@addto@macro\@authors{\footnote{\textsl{#2}\label{HSAffiliationLabel-#1}}}
    \advance\@numAffils by 1}}

% \@addressTwo is a variant of \@addressOne in which the first argument is expanded before the macro is called. This ensures that when \@addressTwo is applied with first argument = \@numAffils, the *current* value of \@numAffils is used. If one instead used \@addressOne with first argument = \@numAffils, only the final version of \@numAffils would ever be used, resulting in incorrect referencing.
\def\@addressTwo#1#2{
  \begingroup \edef\@x##1{ \endgroup
    \noexpand\@addressOne{#1}{##1}}
  \@x{#2}}

% Here finally is the \address macro. It throws up a class error when it is used before any authors have been entered.
\def\address#1{
  \ifnum\@numAuthors=0
  \ClassError{higherStructures}{No author entered.}{At least one author must be entered before his/her address and email.}
  \fi
  \@addressTwo{\the\@numAffils}{#1}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 4. PROCESSING EMAIL INFORMATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% Here the \email macro is defined. It takes the user-input email addresses and defines the macro \@emails which expands to a table containing the email addresses and the associated author short names. Below in the \maketitle redefinition, this table is placed in a footnote at the bottom of the first page.

%% A convenience to generate email hyperlinks.
\def\@emailLT#1{\href{mailto:#1}{#1}}

%% The main macro. It was necessary to implement a macro accepting two arguments, the first of which is the last author's short name, and the second his/her email address, because of the delicate expansion behaviour of hyperlinks (see below).
\def\@emailAuthor#1:#2:{
  \ifnum\@numEmails=0
  \g@addto@macro\@emailList{& \@emailLT{#2} (#1)}
  \def\@emails{\begin{tabular}{ll} {Email address:} \@emailList \end{tabular}}
  \else
  \g@addto@macro\@emailList{\\ & \@emailLT{#2} (#1)}
  \def\@emails{\begin{tabular}{ll} {Email addresses:} \@emailList \end{tabular}}
  \fi
  \advance\@numEmails by 1}

% The final definition of \email. It throws up an error message if no authors have been entered beforehand. Because of the expansion behaviour of hyperlinks mentioned above, the 1st argument of \emailAuthor needed to be expanded but the not the second. This is the reason for the \expandafter command in the definition.
\def\email#1{
  \ifx\@lastAuthor\undefined%
  \ClassError{higherStructures}{No author entered.}{At least one author must be entered before his/her address and email.}
  \fi
  \expandafter\@emailAuthor\@lastAuthor:#1:}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 5. FORMATTING CHOICES
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% Here we set out the journal style for headers, footers, section headings, various spacings, the (lack of a) table of contents, and theorem styling.

%% Definition of the macro \@articleRef which expands to the article's journal reference. This appears in alternating headers, and on the first page header.
\def\startPage#1{\def\@startPage{#1}
  \setcounter{page}{\@startPage}}
\def\volume#1{\def\@volume{#1}}
\def\issue#1{\def\@issue{#1}}
\def\pubYear#1{\def\@pubYear{#1}}
\def\@articleRef{\@initialSegmentArtRef \@volume(\@issue):\@startPage--\pageref*{LastPage}, \@pubYear.}

%% Header customisation (uses the package fancyhdr).
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\fancyhead[LE,RO]{\small{\thepage}}
\fancyhead[CE]{\small{\textsl{\@shortAuthors, \@articleRef}}}
\fancyhead[CO]{\small{\textsl{\@shortTitle}}}

%% Footnote customisation (requires the package scrextend).
% \deffootnote[1.1em]{1.1em}{1.1em}{\textsuperscript{\makebox[1.1em][l]{\thefootnotemark}}}
\deffootnote[0.6em]{0em}{0em}{\textsuperscript{\thefootnotemark}}

%% Section heading customisations. Uses all the heading customisation packages. The word ``Appendix'' is incorporated as part of an appendix-section title.
\AtBeginEnvironment{appendices}{\appendixtrue}
\titleformat{\part}[block]{\Large\bfseries\scshape}{Part \thepart:}{0.5em}{}
\titleformat{\section}[block]{\large\bfseries}{\IfAppendix{\appendixname~}{\relax}\thesection\IfAppendix{: }{.}}{0.5em}{}
\titleformat{\subsection}[runin]{\normalfont\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}[runin]
{\normalfont\itshape}{\thesubsubsection}{1em}{}

%% Table of contents depth (for display in bookmarks/navigation bar of pdf viewer).
\setcounter{tocdepth}{\@tocdepth}

%% Line spacing
\renewcommand{\baselinestretch}{1.1}

%% Spacing for list items (uses enumitem package)
\setlist{noitemsep, topsep=.1em}

%% Ignore any table of contents and give a message that this was done.
\def\tableofcontents{
  \ClassWarning{higherStructures}{The table of contents in the body of the article has been ignored}}

%% We use the amsthm package to style our theorems. We give one basic theorem type, defined so that the numbering works correctly. The macro \@thmNumLevel expands to either ``section'' (in the default case) or ``subsection'' (in the case where the class option twoLevelNum is used).
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[\@thmNumLevel]
%% Other theorem environments are defined by the authors, in accordance with the amsthm package.

%% The following macro is taken from here: https://tex.stackexchange.com/questions/334082/qed-symbol-after-statements-without-proof
%% Its purpose is to facilitate typesetting of theorem environments with a qed symbol which behaves the same way as in proof environments. This is for results given without a subsequent proof environment, in which one would like a qed symbol.
\newcommand{\addqed}[1]{%
  \expandafter\let\csname #1Inner\expandafter\endcsname\csname #1\endcsname
  \expandafter\let\csname end#1Inner\expandafter\endcsname\csname end#1\endcsname
  \expandafter\def\csname #1\endcsname##1{%
    \ifx##1\qed\stumpqedtrue\pushQED{\qed}\fi\csname #1Inner\endcsname
  }%
  \expandafter\def\csname end#1\endcsname{%
    \ifstumpqed\popQED\fi\csname end#1Inner\endcsname
  }%
}
\newif\ifstumpqed

%% Commands for getting clickable arXiv numbers in bibliographies
\newcommand{\Arxiv}[1]{\href{http://arxiv.org/pdf/#1}{ArXiv:#1}}
\newcommand{\arxiv}[1]{\href{http://arxiv.org/pdf/#1}{arXiv:#1}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 6. LOGO AND BANNER
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% Higher structures logo.
\newcommand{\hsLogo}{
  \large\textrm
  {\color{MidnightBlue} \scalebox{1.5}[4]{\Large H}\kern-.15em\raise1.2ex \vbox{\hbox{\bf IGHER}\kern-.35em\hbox{\bf STRUCTURES}}}}

%% Colour of the background of the banner, which is a blue chosen to be consistent with the website.
\definecolor{bannerBack}{HTML}{503DBB}

%% Banner = logo + fading blue background, done using tikz (which seemed to provide the simplest way to obtain the fading effect).
\newcommand{\banner}{
  \begin{tikzpicture}
  \def\banHeight{2.5}
  \def\mypath{(0,0) rectangle (\textwidth,\banHeight)}
  \fill[left color=white, right color=bannerBack] \mypath;
  \node at (\textwidth/2,\banHeight/2) {\hsLogo};
  \draw [line width=2] (0,0) -- (\textwidth,0);
  \end{tikzpicture}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 7. REDEFINING \maketitle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% \maketitle generates the title, list of authors and related stuff. In our case this related stuff includes the author address/affiliations, emails, the banner and the first page header. The author names are in a minipage environment, and their addresses in a footnote to that environment. The email addresses are put into an ``ordinary'' (ie a non-minipage) footnote.

%% Some preliminary footnote customisations. These are also used below in the redefinition of the abstract environment.
% Redefine the endminipage command so that the footnoterule is removed
\let\oldendminipage\endminipage%
\def\endminipage{\let\footnoterule\relax\oldendminipage}
% Define a new footnote command for footnotes without markers
\def\@blfootnote{\xdef\@thefnmark{}\@footnotetext}

%% Customising the first page headers (using the package fancyhdr).
\fancypagestyle{firstPage}{\lhead{} \rhead{}
  \chead{\href{https://higher-structures.math.cas.cz/}{\textsl{\@articleRef}}}}

%% Redefine the \title command so that it allows an optional short title argument.
\def\title{\@ifnextchar[{\@titleBoth}{\@titleJustLong}}
\def\@titleBoth[#1]#2{\def\@title{#2}
  \def\@shortTitle{#1}}
\def\@titleJustLong#1{\@titleBoth[#1]{#1}}

%% Generate DOI from publication year and number in year
\def\@numInYear{xx}
\def\numInYear#1{\def\@numInYear{#1}}
\def\@doi{10.21136/HS.\@pubYear.\@numInYear}

%% The \maketitle redefinition. It throws up error messages if no authors or emails have been entered beforehand.
\renewcommand{\maketitle}{
  \ifnum\@numAuthors=0
  \ClassError{higherStructures}{No author entered.}{At least one author must be entered.}
  \fi
  \ifx\@emails\undefined%
  \ClassError{higherStructures}{No email address entered.}{At least one email address is required.}
  \fi
  \begin{flushleft}
  \banner%
  \vskip 1.5em
  {\LARGE\bf\@title\par}
  \vskip 1em
  \begin{minipage}{.85\linewidth}
  {\large \bf \@authors \par}
  \end{minipage}
  \thispagestyle{firstPage}
  \@blfootnote{\@emails}
  \@blfootnote{\hskip 0.6em \copyright\,\@shortAuthors, \@pubYear, under a \href{https://creativecommons.org/licenses/by/4.0/}{Creative Commons Attribution 4.0 International License}.}
  \@blfootnote{\hskip 0.6em \href{https://dx.doi.org/\@doi}{DOI: \@doi}}
  \end{flushleft}
  \rule{\textwidth}{.5pt}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%% 8. REDEFINING THE ABSTRACT ENVIRONMENT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% The new abstract environment is set up to be flush left, and the article data -- receipt and acceptance dates, amsclasses and keywords, are displayed in a table in a footnote in a minipage at the bottom of this environment. Earlier versions had the whole abstract in a minipage environment, but this prevented the correct handling of multipage abstracts.

%% The following macros are defined to obtain the corresponding information from the author.
\def\editor#1{\def\@editor{#1}}
\def\received#1{\def\@received{#1}}
\def\accepted#1{\def\@accepted{#1}}
\def\amsclass#1{\def\@amsclass{#1}}
\def\keywords#1{\def\@keywords{#1}}
\ifnum\@numLang=2
\def\engKeywords#1{\def\@engKeywords{#1}}
\def\engTitle#1{\def\@engTitle{#1}}
\fi

%% Abstract environment redefinition. It throws up error messages if no AMS classes or keywords have been entered.
\renewenvironment{abstract}
{\ifx\@amsclass\undefined%
  \ClassError{higherStructures}{No AMS classes entered.}{Please enter AMS classes appropriate to your article.}
  \fi
  \ifx\@keywords\undefined%
  \ClassError{higherStructures}{No keywords entered.}{Please enter keywords appropriate to your article.}
  \fi
  \begin{flushleft}
  \vskip -0.5em
  {\textbf\abstractname}
  \vskip 1em
  \end{flushleft}}
{\begin{flushleft}
  \vskip -0.75em
  \ifnum\@numLang=1
    \begin{minipage}{\textwidth}
    \@blfootnote{\begin{tabular}{>{\slshape}l>{\slshape}l}
                   \multicolumn{2}{p{.85\textwidth}}{\textsl{Communicated by: \@editor.}} \\
                   {Received: \@received.} & {Accepted: \@accepted.} \\
                   \multicolumn{2}{p{.85\textwidth}}{\textsl{MSC: \@amsclass.}} \\
                   \multicolumn{2}{p{.85\textwidth}}{\textsl{Keywords: \@keywords.}}
                 \end{tabular}}
    \end{minipage}
    \vskip 0.5em
    \rule{\textwidth}{0.5pt}
  \else
    \begin{minipage}{\textwidth}
    \@blfootnote{\begin{tabular}{>{\slshape}l>{\slshape}l}
                   \multicolumn{2}{p{.85\textwidth}}{\textsl{\@keywordsname: \@keywords.}}
                 \end{tabular}}
    \end{minipage}
    \vskip 0.5em
  \fi
\end{flushleft}}

%% In the above environment the English metadata is not displayed if the article language is not English. Instead there is an additional environment for the inclusion of the English abstract and English metadata. This uses the babel package, and the English language parts are included in an "otherlanguage" environment.
\ifnum\@numLang=2
\newenvironment{engAbstract}
{\ifx\@engKeywords\undefined%
\ClassError{higherStructures}{No English keywords entered.}{Please enter English keywords appropriate to your article.}
\fi
\ifx\@engTitle\undefined%
\ClassError{higherStructures}{No English title entered.}{Please enter an English title for your article.}
\fi
\begin{otherlanguage}{english}
\begin{flushleft}
  \vskip -0.5em
  {\textbf{Abstract (\@engTitle)}}
  \vskip 1em
  \end{flushleft}}
{\begin{flushleft}
\vskip -0.75em
\begin{minipage}{\textwidth}
  \@blfootnote{\begin{tabular}{>{\slshape}l>{\slshape}l}
                 \multicolumn{2}{p{.85\textwidth}}{\textsl{Communicated by: \@editor.}} \\
                 {Received: \@received.} & {Accepted: \@accepted.} \\
                 \multicolumn{2}{p{.85\textwidth}}{\textsl{MSC: \@amsclass.}} \\
                 \multicolumn{2}{p{.85\textwidth}}{\textsl{Keywords: \@engKeywords.}}
               \end{tabular}}
             \end{minipage}
             \vskip 0.5em
             \rule{\textwidth}{0.5pt}
\end{flushleft}
\end{otherlanguage}}
\fi
hsClassInst.tex — the file that is compiled · 13 KB
\documentclass{higherStructures}
% For theorem numbering subordinate to subsections instead of sections, use the option twoLevelNum.

%%%%% OTHER PACKAGES  %%%%%%%%%%%%%%%%%%%%
% For instance, one might include the following
\usepackage[all,cmtip]{xy}
\usepackage{amssymb}
\usepackage{amsmath}
% but please don't include the package hyperref -- it is already included in the class file, and doing so again will probably lead to option clashes.

%%%%% ARTICLE DATA %%%%%%%%%%%%%%%%%%%%
% Mandatory data
\title[Author instructions]{Your paper}
\amsclass{00A99; 18A05; 18D20; 18D50; 55P48}
\keywords{\LaTeX, Higher Structures, author instructions}

% Optional data. This will be edited or added when an issue is being assembled.
\editor{Martin Markl}
\received{22nd July, 2020}
\accepted{23rd July, 2020}
\volume{0}
\issue{0}
\pubYear{2021}
\startPage{1}

%%%%% AUTHOR DATA %%%%%%%%%%%%%%%%%%%%
% One author, address and email address is mandatory.
\author[Weber]{Mark Weber}
\address{Faculty of Mathematics and Physics, Charles University, Prague, Czech Republic}
\email{[email protected]}
% The \author command must come first, then the subsequent \email and \address data will be associated with that author. Note that the \author command has an optional argument intended for a shortened form of the author's name. If this isn't used, then the shortened form is set equal to the author's full name.

% Second and subsequent authors entered the same way. The order in which authors appear = the order in which they are entered here. Uncomment the following and recompile if you want to see how this is displayed in the final output.
%% \author{Some Other Author}
%% \address{Department of Anything, University of Blah, Omaha}
%% \email{[email protected]}

% Uncomment the following and recompile if you wish to see how the author name line breaking example from section 4 works in practice.
%% \author[Hardy]{Godfrey Harold Hardy}
%% \author[Ramanujan]{\\ Srinivasa Iyengar Ramanujan}

%%%%% THEOREM ENVIRONMENTS %%%%%%%%%%%%%%%%%%%%
% plain-style theorem environments
\theoremstyle{plain}
\newtheorem{thm}[theorem]{Theorem}
\newtheorem{lem}[theorem]{Lemma}
\newtheorem{prop}[theorem]{Proposition}
% definition-style theorem environments
\theoremstyle{definition}
\newtheorem{defn}[theorem]{Definition}
\newtheorem{rem}[theorem]{Remark}
% remark-style theorem environments
\theoremstyle{remark}
\newtheorem*{claim}{Claim}
% this last environment is unnumbered

%%%%% AUTHOR-DEFINED \newcommand's %%%%%%%%%%%%%%%%%%%%
\newcommand\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
% this command generates a BibTeX logo. I found it here: https://tex.stackexchange.com/questions/18089/are-there-any-command-for-producing-the-bibtex-logo

\begin{document}

\maketitle

\begin{abstract}
This document provides the instructions for the use of \verb|higherStructures.cls|, the Higher Structures class file. The \TeX\ file which generates this document, \verb|hsClassInst.tex|, demonstrates by example how this class file is to be used. For the final version of accepted articles to this journal, the use of this class file is mandatory. To generate the title and banner, use the \verb|\maketitle| command after \verb|\begin{document}| and before the abstract.
\end{abstract}

\section{Class file inclusion and packages}

The first line of code of the \TeX\ file should be one of the following:
\begin{itemize}
\item[] \verb|\documentclass{higherStructures}|
\item[] \verb|\documentclass[twoLevelNum]{higherStructures}|
\end{itemize}
The latter form invokes the option \verb|twoLevelNum|. This enables theorem numbering subordinate to subsections instead of sections, and ensures that the contents navigation sidebar (in any PDF viewer) is of the corresponding depth.

Various packages are already preloaded with the class file \verb|higherStructures.cls|. In order that a consistency of style is maintained, and to avoid option clashes, authors should not reload the packages \verb|geometry| and \verb|hyperref|. The package \verb|enumerate| should not be used. It conflicts with the preloaded package \verb|enumitem|, which itself provides \verb|enumerate|'s label-changing functions (and a lot more, see \cite{enumitemDoc}).

For the full functioning of this class file, please ensure you are using the most recent \TeX\ version.

\section{Article data}

The following data is mandatory:
\begin{itemize}
\item \verb|\title|: article title, works as with other document classes, and accepts an optional argument usually intended for a shortened form of the title to be displayed on alternating headers.
\item \verb|\amsclass|: 2020 AMS classes associated with the article.
\item \verb|\keywords|: keywords associated with the article.
\end{itemize}
The data \verb|\editor|, \verb|\received|, \verb|\accepted|, \verb|\volume|, \verb|\issue|, \verb|\pubYear|, and \verb|\startPage| are optional, and will be reset by the Managing Editor during the final processing stage.

\section{Author data}

An author is declared with the \verb|\author| command, which accepts an optional argument for a shortened form of the author's name for use in headers and footers. Beneath any \verb|\author| command the address/affiliation and email address for that author are entered by the \verb|\address| and \verb|\email| commands respectively. At least one author, address and email address is mandatory. It is preferred that addresses and email addresses are entered for all authors, but this is not mandatory (for instance, one could just specify the email address of the corresponding author).

\section{Long titles, author names and affiliations}

Authors are invited to manually insert line breaks into titles, author names or addresses, where necessary. One case where this is useful is for avoiding unfortunate line breaks in the middle of an author's name. For article titles and author names, you {\bf must} then enter a shortened name without any line breaks, to prevent the line breaking from appearing in any headers and footers.

For example, if in addition to myself, Godfrey Harold Hardy and Srinivasa Iyengar Ramanujan are listed as authors of these notes, then you can force the third author's entire name to be on the second line by inserting a line break at the beginning of the third name as follows:
\begin{itemize}
\item[] \verb|\author[Weber]{Mark Weber}|
\item[] \verb|...|
\item[] \verb|\author[Hardy]{Godfrey Harold Hardy}|
\item[] \verb|\author[Ramanujan]{\\ Srinivasa Iyengar Ramanujan}|
\end{itemize}

\section{Abstract}

All articles must come with an abstract provided within the
\begin{itemize}
\item[] \verb|\begin{abstract} ... \end{abstract}|
\end{itemize}
environment. This must be placed after the \verb|\maketitle| command, and before the beginning of the first section of the article.

\section{Papers in French}
For papers written in French please use the \verb|french| class file option, as in
\begin{itemize}
\item[] \verb|\documentclass[french]{higherStructures}|
\item[] \verb|\documentclass[french,twoLevelNum]{higherStructures}|
\end{itemize}
Do \textbf{not} load the \verb|babel| package yourself -- this happens as a result of using the \verb|french| option. With this option,
it is assumed that the keywords and abstract are in French.

In addition, authors of French language papers must supply the additional data
\begin{itemize}
\item \verb|\engTitle|: the English version of the article title.
\item \verb|\engKeywords|: English keywords for the article.
\end{itemize}
as well as an English abstract provided within the
\begin{itemize}
\item[] \verb|\begin{engAbstract} ... \end{engAbstract}|
\end{itemize}
environment which must come immediately after the \verb|abstract| environment.

At this moment only English and French papers are supported by the Higher Structures class. However, it would be a simple matter to extend this functionality to any other language supported by the \verb|babel| package. Please contact the Managing Editor if you require this additional functionality.

\section{Theorems, definitions, propositions and so on}

We use the \href{https://www.ctan.org/pkg/amsthm}{amsthm} package to govern the typesetting of the various theorem environments.

\begin{rem}\label{illustrativeLabel}
This should be familiar to most authors.
\end{rem}

\noindent The complete documentation of the \verb|amsthm| package is given in \cite{amsthmDoc}.

\begin{prop}\label{anotherLabel}
Only the \verb|theorem| environment has been predefined, so that numbering works correctly, and the other environments are left to the author to define.
\end{prop}
\begin{proof}
See the \TeX\ file for these notes, and Section 5 of the class file \verb|higherStructures.cls|.
\end{proof}

\noindent There are three types of environments: \verb|plain|, \verb|definition| and \verb|remark|. Remark \ref{illustrativeLabel}, Proposition \ref{anotherLabel}, and the claim below are instances
of environments defined with the declarations
\begin{itemize}
\item[] \verb|\newtheorem{prop}[theorem]{Proposition}|
\item[] \verb|\theoremstyle{definition}|
\item[] \verb|\newtheorem{rem}[theorem]{Remark}|
\item[] \verb|\theoremstyle{remark}|
\item[] \verb|\newtheorem*{claim}{Claim}|
\end{itemize}
in which the option \verb|[theorem]| of the first two declarations, ensures that the new numbered theorem environments use the \verb|theorem| counter.
\begin{claim}
Unnumbered theorem environments are defined using \verb|\newtheorem*|. These can be of any type.
\end{claim}

\section{Bibliography and the contents pane}

This journal uses the plain bibliography style. The bibliography below was generated by
\begin{itemize}
\item[] \verb|\bibliographystyle{plain}|
\item[] \verb|\bibliography{ForHSClass.bib}|
\end{itemize}
where \verb|ForHSClass.bib| is the \BibTeX file used for these notes. When submitting the final version of your article, please include the bibliography database file you used to generate your bibliography (for example, the \verb|.bib| file if you are using \BibTeX).

Commands \verb|\arxiv| and \verb|\Arxiv| have been added to get clickable arXiv numbers in the bibliographies. For the example \cite{primer} this was achieved with \verb|\Arxiv{1612.04888}|.

We will not include a table of contents in the articles themselves. However, a table of contents is generated which will display in the navigation/bookmarks bar of any PDF viewer. Numbered sections automatically appear. To add an extra bookmark, say for any unnumbered section, or indeed at any location in your article use the command
\begin{itemize}
\item[] \verb|\addcontentsline{toc}{section or subsection}{<NameToAppear>}|
\end{itemize}
at the location of the desired bookmark. For these notes, we have done this to ensure that the acknowledgements and bibliography show up in the bookmarks.

\section{Understanding the class file}

For those wishing to understand how the class file works\footnote{This is absolutely not necessary for those just wishing to use it.}, \verb|higherStructures.cls| includes fairly extensive comments. Attempts have also been made to organise it in a comprehensible way. Most of the code is at a fairly high level, just using the many packages that exist for various purposes (like customising section headings). Lower level \LaTeX\ code was used to controls how author and article data is processed. See \cite{LaTeXCompanion, Knuth-TeXBook} for background \TeX nical information.

\begin{appendices}

\section{Journal style for appendices}
Appendices are sections which appear within the
\begin{itemize}
\item[] \verb|\begin{appendices} ... \end{appendices}|
\end{itemize}
environment, and should be placed at the end of the paper just before the acknowledgements.

\end{appendices}

%% Add the Acknowledgements bookmark
\addcontentsline{toc}{section}{Acknowledgements}

\section*{Acknowledgements}

Please write your acknowledgements in a separate unnumbered section like this, just before the bibliography.

%% Add the References bookmark
\addcontentsline{toc}{section}{References}
%% Generate the bibliography using BiBTeX
\bibliographystyle{plain}
\bibliography{ForHSClass.bib}
%
%% Add the References bookmark
% \addcontentsline{toc}{section}{References}
%% The following code was copied from hsClassInst.bbl.
% \begin{thebibliography}{1}

% \bibitem{enumitemDoc}
% Javier Bezos.
% \newblock Customizing lists with the enumitem package.
% \newblock Available from \href{https://www.ctan.org/pkg/amsthm?lang=en}{here}.

% \bibitem{LaTeXCompanion}
% M.~Goossens, F.~Mittelbach, and A.~Samarin.
% \newblock {\em The {\LaTeX} Companion}.
% \newblock Addison-Wesley, 1994.

% \bibitem{Knuth-TeXBook}
% Donald~E. Knuth.
% \newblock {\em The \TeX book}.
% \newblock Addison-Wesley, 1984.

% \bibitem{primer}
% S.G. Kranz.
% \newblock A primer of mathematical writing, second edition.
% \newblock \Arxiv{1612.04888}.

% \bibitem{amsthmDoc}
% PTGAMS.
% \newblock Using the amsthm package.
% \newblock Available from \href{https://www.ctan.org/pkg/amsthm?lang=en}{here}.

% \end{thebibliography}

\end{document}

The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗