% \iffalse
%<*gobble>
% $Id: philosophersimprint.dtx,v 1.45 2020/11/11 01:28:17 boris Exp $
%
% Copyright 2007-2020, Boris Veytsman <boris@varphi.com>
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3 of this license or (at your option) any 
% later version.
% The latest version of the license is in
%    http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of
% LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Boris Veytsman
%
% This work consists of the file philosophersimprint.dtx and the
% derived file philosophersimprint.cls
%
% \fi 
% \CheckSum{806}
%
%
%% \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         \~} 
%
% \iffalse
%
%\section{Identification}
%\label{sec:ident}
%
% We start with the declaration who we are
%    \begin{macrocode}
%</gobble>
%<class>\NeedsTeXFormat{LaTeX2e}
%<*gobble>
\ProvidesFile{philosophersimprint.dtx}
%</gobble>
%<class>\ProvidesClass{philosophersimprint}
[2020/11/10 v1.5 Typesetting articles for Philosophers' Imprint]
%<*gobble>
%    \end{macrocode}
%
%
% \fi
%
%
%\iffalse
%    \begin{macrocode}
\documentclass{ltxdoc}
\usepackage{array}
\usepackage{url}
% Taken from xkeyval.dtx
\makeatletter
\def\DescribeOption#1{\leavevmode\@bsphack
              \marginpar{\raggedleft\PrintDescribeOption{#1}}%
              \SpecialOptionIndex{#1}\@esphack\ignorespaces}
\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
\def\SpecialOptionIndex#1{\@bsphack
    \index{#1\actualchar{\protect\ttfamily#1}
           (option)\encapchar usage}%
    \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
           usage}\@esphack}
\def\DescribeOptions#1{\leavevmode\@bsphack
  \marginpar{\raggedleft\strut\emph{options}%
  \@for\@tempa:=#1\do{%
    \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
  }}\@esphack\ignorespaces}
\makeatother
\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
            pagecolor=black,urlcolor=black,hyperindex=false]{hyperref}
\PageIndex
\CodelineIndex
\RecordChanges
\EnableCrossrefs
\begin{document}
  \DocInput{philosophersimprint.dtx}
\end{document}
%    \end{macrocode}
%</gobble> 
% \fi
% \MakeShortVerb{|}
% \GetFileInfo{philosophersimprint.dtx}
% \newcommand{\progname}[1]{\textsf{#1}}
% \title{Typesetting Articles For Online Journal \emph{Philosophers'
% Imprint}\thanks{\copyright 2007--2020, Boris Veytsman}}
% \author{Boris Veytsman\thanks{%
% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}},
% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} 
% \date{\filedate, \fileversion}
% \maketitle
% \begin{abstract}
%   This package provides a class for typesetting articles for the
%   online journal \emph{Philosophers' Imprint},
%   \url{http://www.philosophersimprint.org} using freely available
%   fonts.
% \end{abstract}
% \changes{v0.5}{2007/04/04}{First fully functional version} 
% \changes{v0.7}{2007/04/19}{Rewrote documentation}
% \changes{v1.0}{2007/05/14}{Public release}
% \changes{v1.0}{2007/05/16}{Renamed files.  Added reference to the
% package in sample.tex}
% \changes{v1.1}{2011/11/25}{Added microtype}
% \changes{v1.4}{2016/07/20}{Added flushend option}
% \tableofcontents
%
% \clearpage
%
%\section{Introduction}
%\label{sec:intro}
%
% As said in its mission statement at
% \url{http://www.philosophersimprint.org}, ``\emph{Philosophers'
%   Imprint} is a refereed series of original papers in philosophy,
% edited by philosophy faculty at the University of Michigan, with the
% advice of an international Board of Editors, and published on the
% World Wide Web by the University of Michigan Digital Library. The
% mission of the Imprint is to promote a future in which funds
% currently spent on journal subscriptions are redirected to the
% dissemination of scholarship for free, via the Internet.''  The
% journal used to accept manuscripts in Rich Text Format only.
% However, for many authors, especially from the field of logic,
% \TeX{} seems to be a better choice.  I was commissioned to write a
% \LaTeX{} class for this journal. 
%
% The aim of the class is to help authors to typeset their own
% articles in the ``Web-ready'' format.  We do not assume the authors
% have any commercial fonts installed on their machines.  The class
% uses only freely available and freely distributed fonts.  This
% presents some difficulties since the journal is usually typeset in
% Adobe Palatino.  We use the Palladio and Pazo fonts and (for the
% title) Trajan font.
%
%
%\section{User Interface}
%\label{sec:interface}
%
%
%\subsection{Invocation and Options}
%\label{sec:options}
%
% To use the class put in the preamble of your document
% \begin{flushleft}
% |\documentclass[|\meta{options}|]{philosophersimprint}| 
% \end{flushleft}
%
% The class is intended to be used with \progname{pdflatex}.  If you compile
% DVI output instead (for example, to use with \progname{PSTricks}), the class
% generates a warning.
%
% The class \progname{philosophersimprint} internally loads \progname{article},
% and therefore all 
% class options for \progname{article} are technically valid.  However, most of
% them are not especially meaningful for \progname{philosophersimprint}.
% There are several options specific for this class.  They are
% described below
%
% \DescribeOptions{titleimage,notitleimage} 
% The editorial board of \emph{Philosophers' Imprint} prefers to
% typeset the titlepage itself and provide it as a PDF document to the
% authors. If you have such titlepage, use the |titleimage| option
% (default).  Otherwise use the |notitleimage| option, and the class
% will make a (half-hearted) attempt to create a simulated title page
% for you.  If |titleimage| option is chosen, but \LaTeX{} cannot find
% the titlepage image, the class generates a warning and switches to
% the |notitleimage| behavior.
%
% Note that even if you do have a titlepage image, you still need to
% invoke top matter macros |\title|, |\authors| etc.  to supply
% information for running heads and PDF metadata (see
% Section~\ref{sec:topmatter}). 
%
%
% \DescribeOptions{trajantitle, notrajantitle}
% If the option |trajantitle| is chosen (default), a beautiful Trajan
% font~\cite{Wilson05:Trajan} will be used to typeset the title of
% the paper.  Of course, this option has an effect only if
% |notitleimage| option is selected.  Note that this font has no
% Arabic numbers, so if your title needs numbers, use Roman numerals
% instead.  If you do not have |trajan.sty| on your system, the class
% will revert to Palatino in the title.
%
% \DescribeOptions{nosc,noosf}
% By default the class uses \progname{mathpazo} package with the
% options |sc| and |osf|.  These options provide improved fonts with
% true small caps and old style figures
% (see~\cite{Schmidt04:PSNFSS9.2}).   If you have the recent PSNFSS
% fonts that include free FPL collection~\cite{Stubner05:FPL}, you
% should not change this behavior.  Otherwise you probably would be
% better off by upgrading.  Only if you definitely cannot use these
% fonts, select the |nosc| and |noosf| options.  
%
% \DescribeOptions{slantedGreek,noBBpl}
% The options |slantedGreek| and |noBBpl|, if present, are passed to
% \progname{mathpazo} package.  See~\cite{Schmidt04:PSNFSS9.2} for the
% discussion of these options.
%
% \DescribeOptions{flushend,noflushend}%
% The options |flushend| and |noflushend| (default) determine the look
% of the last page of the article.  If the option |flushend| is
% chosen, the last page has balanced columns, while the opposite
% option makes them unbalanced.  Usually you should not balance the
% columns if you have footnotes on the last page.
%
%\subsection{Topmatter}
%\label{sec:topmatter}
%
% Topmatter is the part of the article with the informations about the
% authors, their affiliations, the publication data, etc.
%
% The standard \LaTeX{} topmatter macros are insufficient for most
% journals, and many journal styles like |amsart| or |elsart| use
% their own more or less sophisticated conventions.  Since the
% editorial board of \emph{Philosophers' Imprint} prefers to provide
% its own title pages, we chose to implement a rather simple set of
% topmatter macros, sufficient to generate a sample title page, while
% expecting the official one.  
%
% Note that even if you do have the ``official'' title page, you still
% need to use these macros because they are used for running heads and
% for PDF metadata.
%
% \DescribeMacro{\titleimage}
% The macro |\titleimage| has one argument:  the name of the file with
% the official title page image:
% \begin{flushleft}
%   |\titleimage{|\meta{FileName}|}|
% \end{flushleft}
% for example, |\titleimage{1stpage.pdf}|.  If the file is absent, the
% class issues a warning and tries to typeset a simulated page.
%
% \DescribeMacro{\title}
% The |\title| command has two arguments:  one mandatory argument and
% one optional:
% \begin{flushleft}
%   |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}|
% \end{flushleft}
% The mandatory argument is the full title of the article.  The
% optional argument, if present, sets the shorter version of the title
% for running heads.  If the optional argument is absent, the full
% title is used instead.
%
% \DescribeMacro{\author}
% The |\author| command also has two arguments with the similar
% meaning: 
% \begin{flushleft}
%   |\author[|\meta{ShortListOfAuthors}|]{|\meta{FullListOfAuthors}|}|
% \end{flushleft}
% The optional argument is used for the running heads.  If it is
% absent, the full list of authors is used there.
%
% Separate multiple authors with commas.  Do \emph{not} use \LaTeX{}
% command |\and|.
%
% \DescribeMacro{\affiliation}
% The |\affiliation| command sets the affiliation of the authors:
% \begin{flushleft}
%   |\affiliation{|\meta{Affiliation}|}|
% \end{flushleft}
% Use |\\| to separate different affiliations.
%
% \DescribeMacro{\date}
% The command |\date| is similar to the standard \LaTeX{} command.
% However, remember that the date format is different:  ``Month,
% year'', e.g.
% \begin{flushleft}
%   |\date{April, 2007}|
% \end{flushleft}
% It should be also noted that the date here is the date of
% publication.
%
% \DescribeMacro{\journalvolume}\DescribeMacro{\journalnumber}
% The macros |\journalvolume| and |\journalnumber| set the volume and
% number of the journal where the article is published:
% \begin{flushleft}
%   |\journalvolume{7}|\\
%   |\journalnumber{4}|
% \end{flushleft}
% You will receive these data from the editorial office once your
% article is accepted.  
%
% \DescribeMacro{\copyrightinfo} The macro |\copyrightinfo| is
% used to store the copyright date and copyright holder of the
% article, like
% \begin{flushleft}
%   |\copyrightinfo{1724, Immanuel Kant}|
% \end{flushleft}
% Note that the package does \emph{not} try to deduce the copyright
% information from the date and author list.  You need to set it
% explicitly. 
%
% \DescribeMacro{\copyrightlicense}
% By default all papers in the journal are licensed under
%  under a Creative Commons
%  Attribution-NonCommercial-NoDerivatives 3.0 License.  You can
%  override this setting by using \cmd{\copyrightlicense}\marg{Other
%  license}. 
%
%
% \DescribeMacro{\subject}
% This macro, if present, sets the ``Subject'' field in the PDF
% metadata.  For example:
% \begin{flushleft}
%   |\subject{Ethics}|
% \end{flushleft}
%
% \DescribeMacro{\keywords}
% The macro |\keywords| is similar to |\subject|, but accepts a comma
% separated list of keywords.  If present, they will be used in the
% ``Keywords'' field of the PDF document.
%
%
%\subsection{Required and Recommended Software}
%\label{sec:packages}
%
% To typeset articles for \emph{Philosophers' Imprint,} you need the
% proper fonts.  PSNFSS version~9.2 or
% later~\cite{Schmidt04:PSNFSS9.2} with URW and FPL fonts are
% recommended.  It is easy to check whether you have these fonts:  if
% you do not, then besides warnings in the log file, you will see
% headers and footers in lower case instead of correct small caps.
% Also, the numbers will be typeset with lining figures instead of old
% style numbers.
%
% The class also uses packages \progname{color} and
% \progname{graphicx} from the graphics
% bundle~\cite{Carlisle05:Graphics} to typeset the title page.
%
% Package \progname{ifpdf}~\cite{Oberdiek06:Ifpdf} is used to check
% whether PDF output is selected.
%
% Package \progname{fancyhdr}~\cite{Oostrum04:Fancyhdr} is used to set
% up running headers and footers.
%
% You need the packages above for the document written in
% \progname{philosophersimprint} class to compile.  The packages below are not
% strictly necessary, but highly recommended.
%
% Package \progname{hyperref}~\cite{Rahtz06:Hyperref} is used to set
% up PDF metadata and make the links ``clickable''.  We did not
% include it in the list of required packages, because it prefers to
% be loaded last, and we wanted to give the user a chance to load her
% own packages.  We recommend the following options:
% \begin{verbatim}
% \usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
%              pagecolor=black,urlcolor=black]{hyperref}
% \end{verbatim}
% See |sample.tex| for the example of the usage of this
% package. 
%
%
% The authors of \emph{Philosophers' Imprint} use both bibliography at
% the end of the article and bibliographic references in footnotes.
% The packages \progname{natbib}~\cite{Daly07:Natbib} and
% \progname{opcit}~\cite{Garcia06:Opcit} are recommended for
% formatting the bibliography with \BibTeX.  However, these packages
% are \emph{not} loaded by the class;  it is the responsibility of the
% author to load and use them.
%
%
%\subsection{Configuration File}
%\label{sec:conffile}
%
% If the file \path{philosophersimprint.cfg} exists, it will be read by the
% class.  It is a good place to put, for example, the default
% options. 
%
%
%\subsection{Some Fine Points}
%\label{sec:fine_points}
%
% The journal prefers the baselines of both columns to be aligned.
% This is a famous problem of ``typesetting to a grid''.  Generally
% speaking, this is not trivial in a \TeX{} world (see a discussion
% of this problem in~\cite{Bazargan07:VertStretch}).  Normally, \TeX{}
% stretches distances between the baselines to achieve homogeneous
% grayness of the page.  It takes some effort to switch this behavior
% off. 
%
% This class deletes most of \TeX{} vertical stretchability.  If there
% is much mathematics in the copy it might lead to some really ugly
% results.  However, when the texts are not too heavy on math, the
% class can do a decent job.  Below we list some cases where it
% cannot, and some manual intervention is warranted
% (see~\cite{Bazargan07:VertStretch} for a description of an automatic
% solution.  Unfortunately, at the moment of writing this version,
% this solution was not available as a free software).
% \begin{enumerate}
% \item We add 3/4 baseline leading before section title and 1/4
% baseline leading after.  This means that if a section starts a
% column, the baselines will be different by 1/4.  An insertion of
% |\vspace*{-0.25\baselineskip}| sometimes leads to acceptable
% results.
% \item We add 1/2 baseline leading before and after structures like
%   quotations, theorems, corollaries etc.  If such structure is
%   split between columns, this breaks alignment.  Again, a manual
%   intervention might help.
% \item We do not try to control the vertical space of structures,
% added, for example, by |\includegraphics| commands.
% \item Sometimes a displayed equation can lead to breaking
% alignment. 
% \end{enumerate}
% 
% In most cases the amount of manual intervention necessary to
% achieve alignment is fairly small. 
%
% In some cases one can achieve better results by tweaking \TeX\
% parameters.  For example, the settings
% \begin{verbatim}
% \clubpenalty=1000\widowpenalty=1000\displaywidowpenalty=1000
% \interfootnotelinepenalty=-1000
% \interlinepenalty=-100
% \end{verbatim}
% may lead to fuller pages, but may produce some unwaned orphans and
% clubs.  Setting them to
% \begin{verbatim}
% \clubpenalty=10000\widowpenalty=10000\displaywidowpenalty=10000
% \interfootnotelinepenalty=0
% \interlinepenalty=0 
% \end{verbatim}
% will decrease the number of orphans and clubs, but may lead to
% unwanted white spaces on the pages.  Sometimes judicious changes of
% the parameters in strategic places may help. 
%
%
% \subsection{Acknowledgements}
%
% The author is grateful to John Horty, David Velleman and Victor
% Caston for their patience in describing the journal style.
%
% 
% \StopEventually{%
% \clearpage
% \bibliography{philosophersimprint}
% \bibliographystyle{unsrt}}
% 
% \clearpage
%
%
%\section{Implementation}
%\label{sec:impl}
%
%    \begin{macrocode}
%<*class>
%    \end{macrocode}
%
%
%\subsection{Options}
%\label{sec:opts}
% 
% \begin{macro}{\ifPHIM@titleimage}
%   Check whether we need the title image
%    \begin{macrocode}
\newif\ifPHIM@titleimage\PHIM@titleimagetrue
\DeclareOption{titleimage}{\PHIM@titleimagetrue}
\DeclareOption{notitleimage}{\PHIM@titleimagefalse}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifPHIM@trajantitle}
%   \changes{v.08}{2007/04/25}{Added Trajan font for title}
% Check whether we need Trajan font for title
%    \begin{macrocode}
\newif\ifPHIM@trajantitle\PHIM@trajantitletrue
\DeclareOption{trajantitle}{\PHIM@trajantitletrue}
\DeclareOption{notrajantitle}{\PHIM@trajantitlefalse}
%    \end{macrocode}
% 
% \end{macro}
%
% \begin{macro}{\ifPHIM@sc}
%   Do we need |sc| option for \progname{mathpazo}?
%    \begin{macrocode}
\newif\ifPHIM@sc\PHIM@sctrue
\DeclareOption{nosc}{\PHIM@scfalse}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\ifPHIM@osf}
%   Same with |osf| option:
%    \begin{macrocode}
\newif\ifPHIM@osf\PHIM@osftrue
\DeclareOption{noosf}{\PHIM@osffalse}
%    \end{macrocode}
% \end{macro}
%
% Options specific for \progname{mathpazo}:
%    \begin{macrocode}
\DeclareOption{slantedGreek}{%
  \PassOptionsToPackage{\CurrentOption}{mathpazo}}
\DeclareOption{noBBpl}{%
  \PassOptionsToPackage{\CurrentOption}{mathpazo}}
%    \end{macrocode}
% 
% \begin{macro}{\ifPHIM@flushend}
% \changes{v1.4}{2016/07/20}{Added macro}
%   Whether to flush the last column
%    \begin{macrocode}
\newif\ifPHIM@flushend\PHIM@flushendfalse
\DeclareOption{flushend}{\PHIM@flushendtrue}
\DeclareOption{noflushend}{\PHIM@flushendfalse}
%    \end{macrocode}
%   
% \end{macro}
%
% Everything else is probably an option for \progname{article}
%    \begin{macrocode}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
%    \end{macrocode}
%
% Reading configuration file:
%    \begin{macrocode}
\InputIfFileExists{philosophersimprint.cfg}{%
  \ClassInfo{philosophersimprint}{%
    Loading configuration file philosophersimprint.cfg}}{%
  \ClassInfo{philosophersimprint}{%
    Configuration file philosophersimprint.cfg is not found}}
%    \end{macrocode}
% 
% Processing options
%    \begin{macrocode}
\ProcessOptions\relax
%    \end{macrocode}
%
%
%
%\subsection{Loading Classes and Packages}
%\label{sec:loading}
%
% We are based on \progname{article}:
%    \begin{macrocode}
\LoadClass[landscape,letterpaper,twocolumn]{article}
%    \end{macrocode}
% 
% A bunch of packages:
%    \begin{macrocode}
\RequirePackage{ifpdf, color, graphicx, fancyhdr}
%    \end{macrocode}
%
% Font related packages.
%    \begin{macrocode}
\ifPHIM@sc\PassOptionsToPackage{sc}{mathpazo}\fi
\ifPHIM@osf\PassOptionsToPackage{osf}{mathpazo}\fi
\RequirePackage{mathpazo}
%    \end{macrocode}
%
% Palatino fonts do not have typewriter and sans serif fonts.
% Computer Modern seems to clash with Palatino, so we use Courier and
% Helvetica when necessary:
%    \begin{macrocode}
\RequirePackage{courier}
\RequirePackage[scaled]{helvet}
%    \end{macrocode}
%
% It is recommended in \cite{Schmidt04:PSNFSS9.2} to use these
% packages with PSNFSS:
%    \begin{macrocode}
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
%    \end{macrocode}
%
% Loading |microtype|:
%    \begin{macrocode}
\IfFileExists{microtype.sty}{\RequirePackage{microtype}}{%
  \ClassWarningNoLine{philosopherimprint}{%
      *********************************\MessageBreak
      * Microtype package not found.  * \MessageBreak
      * This package improves the     *\MessageBreak
      * typesetting quality.  You may *\MessageBreak
      * wish to upgrade your system.  *\MessageBreak
      ********************************}}    
%    \end{macrocode}
% 
%
% Loading |trajan|
%    \begin{macrocode}
\ifPHIM@trajantitle
  \IfFileExists{trajan.sty}{\RequirePackage{trajan}}{%
    \ClassWarningNoLine{philosophersimprint}{%
      ********************************\MessageBreak
      * Trajan Fonts not found.  Will \MessageBreak
      * revert to Palatino in title.\MessageBreak
      ********************************}%
    \PHIM@trajantitlefalse}
\fi     
%    \end{macrocode}
% 
% Loading |flushend|
%    \begin{macrocode}
\ifPHIM@flushend
  \IfFileExists{flushend.sty}{\RequirePackage{flushend}}{%
    \ClassWarningNoLine{philosophersimprint}{%
      ********************************\MessageBreak
      * Flushend package not found.  \MessageBreak
      * Please install sttools bundle.\MessageBreak
      ********************************}%
    \PHIM@flushendfalse}
\fi     
%    \end{macrocode}
%
% \begin{macro}{\ifPHIM@hyperref}
% We check whether the user loaded \progname{hyperref}.  This is
% delayed until all packages are loaded.
%    \begin{macrocode}
\newif\ifPHIM@hyperref
\AtBeginDocument{%
  \@ifpackageloaded{hyperref}{%
    \PHIM@hyperreftrue}{%
    \ClassWarningNoLine{philosophersimprint}{%
      ****************************\MessageBreak
      * You did not load hyperref.\MessageBreak
      * PDF-specific features will\MessageBreak
      * not work.\MessageBreak
      *****************************}%
    \PHIM@hyperreffalse}}
%    \end{macrocode}
%
%   
% \end{macro}
%
%
%\subsection{Setting Up  Dimensions}
%\label{sec:dims}
%
%
%\subsubsection{Basic Length}
%\label{sec:basic}
%
%
% \begin{macro}{\PHIM@baselength}
% \changes{v0.7}{2007/04/17}{Introduced the macro}
%   The design of \emph{Philosopher's Imprint} is based on a uniform
%   length scale
%    \begin{macrocode}
\newlength{\PHIM@baselength}
\setlength{\PHIM@baselength}{13.5pt}
%    \end{macrocode}
% \end{macro}
%
%
%
%\subsubsection{Fonts}
%\label{sec:fonts}
%
% \changes{v0.7}{2007/04/18}{Introduced fonts dimensions}
%
% \begin{macro}{\normalsize}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\small}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\footnotesize}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\scriptsize}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\tiny}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\large}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\Large}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\LARGE}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\huge}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\Huge}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% \begin{macro}{\HUGE}
% \changes{v0.8}{2007/04/27}{Changed dimensions}
% This is basically from~\cite{classes}, but based on the journal
% requirements. 
%    \begin{macrocode}
\renewcommand\normalsize{\@setfontsize\normalsize{9.5pt}\PHIM@baselength}
\renewcommand\small{\@setfontsize\small{9pt}{13.5pt}}
\renewcommand\footnotesize{%
  \@setfontsize\footnotesize{8.5pt}{9.5pt}}
\renewcommand\scriptsize{\@setfontsize\scriptsize{8pt}{9pt}}
\renewcommand\tiny{\@setfontsize\tiny{7.5pt}{8.5pt}}
\renewcommand\large{\@setfontsize\large{11pt}{16pt}}
\renewcommand\Large{\@setfontsize\Large{13pt}{19pt}}
\renewcommand\LARGE{\@setfontsize\LARGE{16pt}{23pt}}
\renewcommand\huge{\@setfontsize\huge{19pt}{28pt}}
\renewcommand\Huge{\@setfontsize\Huge{23pt}{33pt}}
\newcommand\HUGE{\@setfontsize\Huge{30pt}{45pt}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% 
%\subsubsection{Paragraphing}
%\label{sec:paragraph}
%
% \begin{macro}{\baselinestretch}
% \begin{macro}{\parindent}
% \changes{v0.7}{2007/04/18}{Defined to the journal requirements}
% \begin{macro}{\parskip}
% Again we use~\cite{classes} a lot.
%    \begin{macrocode}
\renewcommand\baselinestretch{}
\setlength\parindent{\PHIM@baselength}
\setlength\parskip{0pt}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\smallskipamount}
% \begin{macro}{\medskipamount}
% \begin{macro}{\bigskipamount}
% \changes{v0.8}{2007/04/24}{Defined the lengths}
% These are for additional leading.  We define them to be multiples of
% the baseline
%    \begin{macrocode}
\setlength\smallskipamount{0.25\PHIM@baselength}
\setlength\medskipamount{0.5\PHIM@baselength}
\setlength\bigskipamount{\PHIM@baselength}
%    \end{macrocode}
% 
% \end{macro}
% \end{macro}
% \end{macro}
%
%\subsubsection{Page Dimensions and Type Area}
%\label{sec:page}
%
%
% This was inspired by \progname{memoir}~\cite{Wilson04:Memoir}.
%    \begin{macrocode}
\ifpdf\relax
  \pdfpageheight=\paperheight
  \pdfpagewidth=\paperwidth
  \ifdim\pdfvorigin=0pt\pdfvorigin=0pt\fi
  \ifdim\pdfhorigin=0pt\pdfhorigin=0pt\fi
\else
  \ClassWarningNoLine{philosophersimprint}{%
    ****************************\MessageBreak
    * The class is intended for \MessageBreak
    * pdflatex. You seem to use\MessageBreak
    * it with latex instead.\MessageBreak
    ****************************}
\fi
%    \end{macrocode}
%
% This code is from~\cite{classes}, with the removing of vertical
% stretch based on~\cite{Bazargan07:VertStretch}
% \changes{v0.7}{2007/04/19}{Changed vertical stretching}
%    \begin{macrocode}
\lineskiplimit = -3pt\relax
\lineskip = \PHIM@baselength\relax
\setlength\headsep   {\PHIM@baselength}
\setlength\footskip   {3\PHIM@baselength}
\setlength\topskip\PHIM@baselength
\setlength\textheight{459pt}
\setlength\topmargin{61pt}
\addtolength\topmargin{-1in}
\addtolength\topmargin{-\topskip}
\addtolength\topmargin{-\headsep}
\@settopoint\topmargin
\abovedisplayskip \PHIM@baselength\relax
\abovedisplayshortskip \PHIM@baselength\relax
\belowdisplayshortskip \PHIM@baselength\relax
\belowdisplayskip \abovedisplayskip\relax
%    \end{macrocode}
%
%
% \begin{macro}{\PHIM@colwidth}
%   We need to calculate the column width to center the headers:
%    \begin{macrocode}
\newlength{\PHIM@colwidth}
\setlength{\PHIM@colwidth}{297pt}
\setlength\columnsep{54pt}
\setlength\textwidth{\PHIM@colwidth}
\multiply\textwidth by 2\relax
\addtolength{\textwidth}{\columnsep}
%    \end{macrocode}
%   \changes{v0.6}{2007/04/11}{Introduced the macro}
%   \changes{v0.7}{2007/04/17}{Made the base of calculations}
% \end{macro}
%
%
%\subsubsection{Margins}
%\label{sec:margins}
%
% \begin{macro}{\marginparwidth}
%   \changes{v0.8}{2007/04/25}{Added definition}
% \begin{macro}{\marginparsep}
%   \changes{v0.8}{2007/04/25}{Added definition}
% \begin{macro}{\marginparpush}
%   \changes{v0.8}{2007/04/25}{Added macro}
%     The vertical and horizontal distances for margin paragraphs:
%    \begin{macrocode}
\setlength{\marginparwidth}{3\PHIM@baselength}
\setlength{\marginparsep}{0.5\PHIM@baselength}
\setlength{\marginparpush}{0.5\PHIM@baselength}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\evensidemargin}
%   \changes{v0.8}{2007/04/25}{Added definition}
% \begin{macro}{\oddsidemargin}
%   \changes{v0.8}{2007/04/25}{Added definition}
%   The side margins are 6~pica each.
%    \begin{macrocode}
\setlength{\evensidemargin}{6pc}
\addtolength{\evensidemargin}{-1in}
\setlength{\oddsidemargin}{\evensidemargin}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%
%
%\subsubsection{Floats}
%\label{sec:floats}
%
% \changes{v0.7}{2007/04/19}{Changed values for float parameters}
% \begin{macro}{\floatsep}
% \begin{macro}{\textfloatsep}
% \begin{macro}{\intextsep}
% \begin{macro}{\textfloatsep}
% \begin{macro}{\dblfloatsep}
% \begin{macro}{\dbltextfloatsep}
% \begin{macro}{\abovecaptionskip}
% \begin{macro}{\belowcaptionskip}
% Some parameters for floats\dots
%    \begin{macrocode}
\setlength\floatsep\PHIM@baselength
\setlength\textfloatsep\PHIM@baselength
\setlength\intextsep\PHIM@baselength
\setlength\dblfloatsep\PHIM@baselength
\setlength\dbltextfloatsep\PHIM@baselength
\setlength\abovecaptionskip\PHIM@baselength
\setlength\belowcaptionskip{\z@}\relax
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% 
%
% 
%
% \subsubsection{Lists}
%\label{sec:lists}
%
% \changes{v0.7}{2007/04/19}{Changed values for lists}
% \begin{macro}{\leftmargin}
% \begin{macro}{\leftmargini}
% \begin{macro}{\leftmarginii}
% \begin{macro}{\leftmarginiii}
% \begin{macro}{\leftmarginiv}
% \begin{macro}{\leftmarginv}
% \begin{macro}{\leftmarginvi}
% \begin{macro}{\listparindent}
% \begin{macro}{\itemindent}
%   These lengths are for all lists.
%    \begin{macrocode}
\setlength\leftmargini\PHIM@baselength
\leftmargin\leftmargini
\setlength\leftmarginii\PHIM@baselength
\setlength\leftmarginiii\PHIM@baselength
\setlength\leftmarginiv\PHIM@baselength
\setlength\leftmarginv\PHIM@baselength
\setlength\leftmarginvi\PHIM@baselength
\setlength\listparindent\PHIM@baselength
\setlength\itemindent\PHIM@baselength
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\labelsep}
% \begin{macro}{\labelwidth}
%   Labels for all lists
%    \begin{macrocode}
\setlength\labelsep{0.5em}
\setlength\labelwidth{\leftmargini}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\topsep}
% \begin{macro}{\partopsep}
% \begin{macro}{\itemsep}
% \begin{macro}{\parsep}
%   These are for vertical spacing for lists
%    \begin{macrocode}
\setlength\topsep{0.5\PHIM@baselength}
\setlength\partopsep\z@
\setlength\parsep\parskip
\setlength\itemsep\z@
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
% \begin{macro}{\@listi}
% \begin{macro}{\@listI}
% \begin{macro}{\@listii}
% \begin{macro}{\@listiii}
% \begin{macro}{\@listiv}
% \begin{macro}{\@listv}
% \begin{macro}{\@listvi}
%   These are for compatibility with |article.cls|
%    \begin{macrocode}
\def\@listi{}%
\def\@listI{}%
\def\@listii{}%
\def\@listiii{}%
\def\@listiv{}%
\def\@listv{}%
\def\@listvi{}%
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{quote}
% \begin{macro}{quotation}
% \begin{macro}{verse}
%   Does anybody use verses for philosophy papers?
%    \begin{macrocode}
\renewenvironment{verse}{\let\\\@centercr
  \list{}{\rightmargin\leftmargin}\item\relax}{\endlist}
\renewenvironment{quote}{%
  \list{}{\rightmargin\leftmargin}\item\relax}{\endlist}
\renewenvironment{quotation}{%
  \list{}{\rightmargin\leftmargin
  \itemindent\parindent}\item\relax}{\endlist}
%    \end{macrocode} 
% \end{macro}
% \end{macro}
% \end{macro}
%
% 
%
%
%\subsubsection{Odds and Ends}
%\label{sec:odds}
%
% Some other lengths
% \begin{macro}{\bibndent}
% \changes{v0.7}{2007/04/19}{Changed value}
%   Bibliography indentation
%    \begin{macrocode}
\setlength\bibindent\PHIM@baselength
%    \end{macrocode}
% \end{macro}
%   
% \begin{macro}{\jot}
% \changes{v0.7}{2007/04/19}{Changed value}
%   This length is added between lines of |eqnarray|.  People should
%   not use this environment.  Still, let us define it.
%    \begin{macrocode}
\setlength\jot\z@
%    \end{macrocode}
% \end{macro}
% 
%
% \begin{macro}{\arraycolsep}
% \begin{macro}{\tabcolsep}
% \begin{macro}{\fboxsep}
%     These lengths should be based on the base length:
%    \begin{macrocode}
\setlength{\arraycolsep}{0.5\PHIM@baselength}
\setlength{\tabcolsep}{0.5\PHIM@baselength}
\setlength{\fboxsep}{0.25\PHIM@baselength}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
%
%
% \subsection{Top Matter Markup}
%\label{sec:topmatter-markup}
%
% We do not need |\thanks| and |\and|
%    \begin{macrocode}
\def\and{\unskip, %
  \ClassError{philosophersimprint}{%
    Command \string\and\space is not defined for this class}{%
    The authors for Philosophers' Imprint should be separated by
    commas.\MessageBreak 
  I will convert your \string\and\space to comma and continue}}
\def\thanks#1{%
  \ClassError{philosophersimprint}{%
    Command \string\thanks\space is not defined for this class}{%
    Use \string\affiliation\space instead of \string\thanks.\MessageBreak 
    I will delete this command and its argument}}
%    \end{macrocode}
%
% \begin{macro}{\title}
%   Unlike standard \LaTeX{} macro |\title|, ours has two arguments:
%    \begin{macrocode}
\def\title{\@ifnextchar[{\title@i}{\title@ii}}
\def\title@i[#1]#2{\gdef\@shorttitle{#1}\gdef\@title{#2}}
\def\title@ii#1{\title@i[#1]{#1}}
\title{}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\author}
%   Same with |\author|:
%    \begin{macrocode}
\def\author{\@ifnextchar[{\author@i}{\author@ii}}
\def\author@i[#1]#2{\gdef\@shortauthor{#1}\gdef\@author{#2}}
\def\author@ii#1{\author@i[#1]{#1}}
\author{}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@date}
% We have slightly different default date format than the standard
% class:
%    \begin{macrocode}
\def\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or
  December\fi\space 
  \number\year}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\titleimage}
% \changes{v1.5}{2020/11/10}{Default title image is now a string}
% \begin{macro}{\affiliation}
% \begin{macro}{\copyrightinfo}
% \begin{macro}{\subject}
% \begin{macro}{\keywords}
% A bunch of one parameter macros
%    \begin{macrocode}
\newcommand*{\titleimage}[1]{\gdef\@titleimage{#1}}
\titleimage{NoSuchImageDotUse.pdf}
\newcommand*{\affiliation}[1]{\gdef\@affiliation{#1}}
\affiliation{}
\newcommand*{\copyrightinfo}[1]{\gdef\@copyrightinfo{#1}}
\copyrightinfo{}
\newcommand*{\subject}[1]{\gdef\@subject{#1}}
\subject{}
\newcommand*{\keywords}[1]{\gdef\@keywords{#1}}
\keywords{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% 
% \begin{macro}{\copyrightlicense}
%  \changes{v1.13}{2013/01/13}{Added macro} 
%   This adds license information:
%    \begin{macrocode}
\newcommand*{\copyrightlicense}[1]{\gdef\@copyrightlicense{#1}}
\copyrightlicense{This work is licensed under a Creative Commons
  Attribution-NonCommercial-NoDerivatives 3.0 License}
%    \end{macrocode}
% \end{macro}
%
% Some games with the numbers
% \begin{macro}{\PHIM@addzeros}
%  \changes{v0.5}{2007/04/04}{Corrected documentation} 
%   The macro |\PHIM@addzeros| takes the argument and adds leading
%   zeros to make exactly 3 digits, and puts it into the second
%   argument.
%    \begin{macrocode}
\def\PHIM@addzeros#1#2{\@tempcnta=#1\relax
  \edef#2{%
   \ifnum\@tempcnta>99
      \the\@tempcnta
   \else
      \ifnum\@tempcnta>9
         0\the\@tempcnta
      \else
        00\the\@tempcnta
      \fi
   \fi}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\journalnumber}
%   We keep two copies of the journal number: one with zeros, one
%   without
%    \begin{macrocode}
\newcommand*{\journalnumber}[1]{%
  \gdef\@journalnumber{#1}%
  \PHIM@addzeros{\@journalnumber}{\@@journalnumber}}
\journalnumber{999}  
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\journalvolume}
%   We keep two copies of the journal volume: one with zeros, one
%   without
%    \begin{macrocode}
\newcommand*{\journalvolume}[1]{%
  \gdef\@journalvolume{#1}%
  \PHIM@addzeros{\@journalvolume}{\@@journalvolume}}
\journalvolume{999}  
%    \end{macrocode}
% \end{macro}
%
%
%\subsection{Headers \& Footers}
%\label{sec:headers}
%    \begin{macrocode}
\pagestyle{fancy}
\lhead{\makebox[\PHIM@colwidth]{\centering\scshape\large
    \MakeLowercase{\@shortauthor}}}
\chead{}
\rhead{\makebox[\PHIM@colwidth]{\centering\itshape\large\@shorttitle}}
\lfoot{\scshape\large philosophers' imprint}
\cfoot{-\space\large\thepage\space-}
\rfoot{\scshape\large vol.~\@journalvolume, no.~\@journalnumber\quad%
  (\MakeLowercase{\@date})}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
%    \end{macrocode}
% \changes{v0.6}{2007/04/11}{Headers are now centered}
%
%
%\subsection{Making Title Page}
%\label{sec:maketitle}
%
%
% \begin{macro}{\maketitle}
%   Our |\maketitle| is completely different from the standard one.
%   First, we set up the PDF information, and then check which of the
%   variants of title page to use.
%    \begin{macrocode}
\def\maketitle{%
  \thispagestyle{empty}
  \ifPHIM@hyperref\relax
    \hypersetup{pdfauthor=\@author, pdftitle=\@title, %
      pdfsubject=\@subject, pdfkeywords=\@keywords}
   \fi
   \ifPHIM@titleimage\relax
      \maketitle@image
   \else
      \maketitle@simulated
   \fi
   \newpage}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\maketitle@image}
% \changes{v0.9}{2007/05/20}{Changed formatting}
%   Here we add the image if it exists.
%    \begin{macrocode}
\def\maketitle@image{%
  \IfFileExists{\@titleimage}{%
    \begin{picture}(0,0)%
        \setlength{\unitlength}{1pt}%
        \put(-6,6){\makebox(0,0)[lt]{\includegraphics{\@titleimage}}}%
        \end{picture}}{%
  \ClassWarningNoLine{philosophersimprint}{%
    ********************************\MessageBreak
    * Cannot find title image \MessageBreak
    * \@titleimage.\MessageBreak
    * Switching to  simulated title.\MessageBreak
    ********************************}
  \maketitle@simulated}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\maketitle@simulated}
% \changes{v0.5}{2007/04/05}{Moved URL def outside hyperref check}
% \changes{v0.7}{2007/04/18}{Changed lengths and fonts}
% \changes{v1.2}{2012/06/01}{Added trailing slash to the title page url}
% \changes{v1.3}{2013/01/13}{Added copyright license}
%   Simulated page should look more or less like the real one.
%    \begin{macrocode}
\def\maketitle@simulated{%
  {\centering
    \parbox{2in}{\textcolor{PHIM@blue}{%
        \hspace{1.4em}\fontsize{10pt}{11}\selectfont Philosophers'}\\[-1.4ex]%
      \textcolor{PHIM@gray}{\fontsize{34pt}{25}\selectfont Imprint}}
    \hfill
    \parbox{2in}{
      \begin{flushright}
        \scshape\large
        volume \@journalvolume, no.~\@journalnumber\\[0.2ex]
        \MakeLowercase{\@date}
      \end{flushright}}%
    \par
    \vskip 0pt plus 0.3fill\relax
    {\ifPHIM@trajantitle\trjnfamily\fi
      \HUGE\selectfont\MakeUppercase{\@title}\par}%
    \vskip 0pt plus 0.4fill\relax
    {\huge\itshape\@author\par}%
    \vskip 0pt plus 0.15fill\relax
    {\large\itshape\@affiliation\par}%
    \vskip 0pt plus 0.2fill\relax
    {\ifx\@copyrightinfo\@empty~\else%
         \copyright\space\@copyrightinfo\fi\\
         \itshape
         \ifx\@copyrightlicense\@empty~\else%
           \@copyrightlicense\fi\\[0.3ex]
      \edef\PHIM@url{%
        www.philosophersimprint.org/\@@journalvolume\@@journalnumber/}
      \ifPHIM@hyperref\relax
         \href{http://\PHIM@url}{\textcolor{black}{
             \textless \PHIM@url\textgreater}}%
      \else
         \textless \PHIM@url\textgreater 
      \fi
      \vskip 0pt plus 0.2fill\relax
      \par}%
  }}%
%    \end{macrocode}
% \end{macro}
%
% Some colors for the title page:
%    \begin{macrocode}
\definecolor{PHIM@blue}{rgb}{0.184, 0.431, 0.7749}%
\definecolor{PHIM@gray}{gray}{0.549}%
%    \end{macrocode}
%
%
%\subsection{Sectioning}
%\label{sec:sections}
%
% We redefine the sectioning commands from the standard
% \progname{article} to make this according to the journal
% requirements.
%
% \begin{macro}{\ifPHIM@appendix}
% \changes{v0.8}{2007/04/24}{Introduced macro}
%   The journal wants to format appendix as ``Appendix A.  Name''.
%   Therefore we need to know whether we are in appendix mode.
%    \begin{macrocode}
\newif\ifPHIM@appendix\PHIM@appendixfalse
%    \end{macrocode}
%   
% \end{macro}
%
% \begin{macro}{\section}
% \changes{v0.7}{2007/04/18}{Changed formatting for section}
% The journal wants the dot after section number.  Besides, to
% synchronize lines, we want to skip 3/4 line before the section head
% even if we start a new column.
%    \begin{macrocode}
\renewcommand\section{\par
  \addpenalty\@secpenalty\nobreak
  \addvspace{0.75\PHIM@baselength}
  \@afterindentfalse
  \secdef\@section\@ssection}%
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@section}
% \changes{v0.8}{2007/04/24}{Added par}
% \changes{v0.8}{2007/04/24}{Added appendix name}
%   This is the actual formatting when we have an unstarred form.
%    \begin{macrocode}
\def\@section[#1]#2{%
  \ifnum\c@secnumdepth>0\relax
     \refstepcounter{section}%
     \addcontentsline{toc}{section}{\ifPHIM@appendix\appendixname\space\fi
       \thesection.\quad#1}%
  \else
     \addcontentsline{toc}{section}{#1}%
  \fi
  {\noindent\raggedright\interlinepenalty\@M
   \normalsize\bfseries
   \ifnum\c@secnumdepth>0\relax
      \ifPHIM@appendix\appendixname\space\fi\thesection.\quad #2
   \else
      #2
   \fi}%
   \vspace*{0.25\PHIM@baselength}%
   \@afterheading
   \nobreak\par}
%    \end{macrocode}
%   
% \end{macro}
%
%
% \begin{macro}{\@ssection}
% \changes{v0.8}{2007/04/24}{Added par}
% This is the actual formatting for the starred section  
%    \begin{macrocode}
\def\@ssection#1{%
  {\noindent\raggedright\interlinepenalty\@M
   \normalsize\bfseries #1}%
   \vspace*{0.25\PHIM@baselength}%
   \@afterheading
   \nobreak\par}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\subsection}
% \changes{v0.7}{2007/04/18}{Changed formatting}
% \begin{macro}{\subsubsection}
% \changes{v0.7}{2007/04/18}{Changed formatting}
% \begin{macro}{\paragraph}
% \changes{v0.7}{2007/04/18}{Changed formatting}
% \begin{macro}{\subparagraph}
% \changes{v0.7}{2007/04/18}{Changed formatting}
% All other command can use standard technique.  Since the lengths in
% |@startsection| double as switches, we use $\pm$1sp as effective
% zero. 
%    \begin{macrocode}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-\PHIM@baselength}%
                                     {1sp}%
                                     {\normalfont\normalsize\itshape}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-1sp}%
                                     {1sp}%
                                     {\normalfont\normalsize\itshape}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                                    {1sp}%
                                    {-1sp}%
                                    {\normalfont\normalsize}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
                                       {1sp}%
                                       {-1sp}%
                                      {\normalfont\normalsize}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\appendix}
% \changes{v0.8}{2007/04/24}{Redefined the macro}
%   The only difference from the command |\appendix| in~\cite{classes}
%   is that here we switch on the flag:
%    \begin{macrocode}
\renewcommand\appendix{\par
  \PHIM@appendixtrue
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \gdef\thesection{\@Alph\c@section}}
%    \end{macrocode}
%   
% \end{macro}
%
%\subsection{Footnotes}
%\label{sec:footnotes}
%
% \begin{macro}{\@makfntext}
% \changes{v0.7}{2007/04/19}{Introduced new footnote formatting}
% \changes{v1.1}{2011/11/25}{Changed indentation}
% \changes{v1.5}{2020/11/10}{Changed indentation again}
%   The journal prefers footnotes with text footnote marks and hanging
%   indentation
%    \begin{macrocode}
\renewcommand\@makefntext[1]{%
  \@tempdima=\hsize
  \advance\@tempdima by -\PHIM@baselength\relax
  \makebox[\PHIM@baselength][l]{\@thefnmark.}\parbox[t]{\@tempdima}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\footnotesep}
% \changes{v0.7}{2007/04/19}{Changed value}
% We set it just to strut
%    \begin{macrocode}
\settoheight{\footnotesep}{\footnotesize\strut}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\footins}
% \changes{v0.7}{2007/04/19}{Changed value}
% \changes{v0.9}{2007/05/04}{It is now stretchable}
% \changes{v1.4}{2016/07/20}{Made finite to avoid white spots}
%   This the space between the last line of the text and top of
%   footnotes
%    \begin{macrocode}
\setlength{\skip\footins}{\the\PHIM@baselength plus \the\PHIM@baselength}
%    \end{macrocode}
%   
% \end{macro}
%
% \begin{macro}{\interfootnotepenalty}
% \changes{v1.1}{2011/11/25}{Changed value}
%   We allow footnotes to be split between pages:
%    \begin{macrocode}
\interfootnotelinepenalty=0
%    \end{macrocode}
%   
% \end{macro}
% 
%\subsection{The Last Words}
%\label{sec:end}
%
%  The editors want French spacing 
% \changes{v0.9}{2007/05/01}{Added French Spacing}
%    \begin{macrocode}
\normalsize
\frenchspacing
%</class>
%    \end{macrocode}
%
%
%\Finale
%\clearpage
%
%\PrintChanges
%\clearpage
%\PrintIndex
%
\endinput

