% \iffalse %<*gobble> % $Id: resphilosophica.dtx,v 1.25 2013-01-08 18:42:59 boris Exp $ % % Copyright 2012-2013, Boris Veytsman % 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 resphilosophica.dtx and the % derived file resphilosophica.cls % % \fi % \CheckSum{1080} % % %% \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} % %\NeedsTeXFormat{LaTeX2e} %<*gobble> \ProvidesFile{resphilosophica.dtx} % %\ProvidesClass{resphilosophica} [2013/01/08 v1.11 Typesetting articles for Res Philosophica] %<*gobble> % \end{macrocode} % % % \fi % % \changes{v1.1}{2012/09/01}{Added MT Shadow Imprint code} % \changes{v1.1}{2012/09/01}{Added DOI number} % \changes{v1.4}{2012/09/06}{Added screen option} % \changes{v1.5}{2012/09/07}{Color change for links} % \changes{v1.6}{2012/09/08}{Changed bib style} % \changes{v1.7}{2012/09/11}{Added new bibliography fields} % \changes{v1.8}{2012/09/12}{Added blank last page if the last page is % odd} % \changes{v1.10}{2012/09/19}{Bibliography changes} % \changes{v1.11}{2013/01/08}{Bibliography changes} % %\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{hypdoc} \hypersetup{breaklinks,colorlinks,linkcolor=black,citecolor=black, pagecolor=black,urlcolor=black,hyperindex=false} \PageIndex \CodelineIndex \RecordChanges \EnableCrossrefs \begin{document} \DocInput{resphilosophica.dtx} \end{document} % \end{macrocode} % %<*class> % \fi % \MakeShortVerb{|} % \GetFileInfo{resphilosophica.dtx} % \newcommand{\progname}[1]{\textsf{#1}} % \title{Typesetting Articles for \emph{Res % Philosophica}\thanks{\copyright 2012, Boris Veytsman}~\thanks{This % work was commissioned by the Saint Lois University}} % \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 % journal \emph{Res Philosophica}, % \url{http://www.resphilosophica.org}. % \end{abstract} % \tableofcontents % % \clearpage % %\section{Introduction} %\label{sec:intro} % % According to the statement at \url{http://www.resphilosophica.org/}, % \emph{Res Philosophica} is an international, quarterly journal of % philosophy that publishes research in all areas of philosophy, % historical and topical. Founded as \emph{The Modern Schoolman} by % Jesuit Scholastics in 1925, the journal is edited by members of the % Philosophy Department at Saint Louis University and supported % generously by the College of Arts and Sciences. % % This package is intended for the authors and editors of the journal % to typeset the articles in \LaTeX. Note that the journal is typeset % in \emph{Linotype Sabon,} with some elements in MT Imprint Shadow. % The users may buy the fonts and install their free \LaTeX\ % support~\cite{Lsabon,Imprintshadow}, or use the options % |bodyfont=cm| and |rpfont=cm| to typeset the articles using Computer % Modern. Of course, the line and page breaks in the latter case are % different from those in the final version typeset with commercial % fonts. % %\section{User Interface} %\label{sec:interface} % % %\subsection{Commercial Fonts} %\label{sec:prereq} % % The package can be used with free Computer Modern fonts or with % commercial fonts to mimick the journal typesetting. The % installation of additional fonts is therefore fully optional. % % \emph{Res Philosophica} uses Linotype Sabon for the body text, % Monotype Imprint Shadow for some titles and URW Garamond for % mathematics. Sabon and MT Imprint Shadow are commercial fonts. URW % Garamond is free, but due to license restrictions it is usually not % included with \TeX Live, Mik\TeX\ and other major distributives. If % you bought Linotype Sabon, you need to install the package % |lsabon|~\cite{Lsabon}. If you bought MT Imprint Shadow, you need % to install the package |imprintshadow|~\cite{Imprintshadow}. To use % URW Garamond, you need to download the |pfb| files from a CTAN % mirror (\url{http://ctan.org/tex-archive/fonts/urw/garamond}), % install them in the directory \path{fonts/type1/urw/garamond} under % \path{$TEXMFLOCAL} and run |texhash|. % %\subsection{Invocation and Options} %\label{sec:options} % % To use the class put in the preamble of your document % \begin{flushleft} % |\documentclass[|\meta{options}|]{resphilosophica}| % \end{flushleft} % % The class \progname{resphilosophica} internally loads \progname{amsart}, % and therefore all % class options for \progname{amsart} are technically valid. However, most of % them are not especially meaningful for \progname{resphilosophica}. % There are several options specific for this class. They are % described below. Note that the class uses key-value interface for % some options, for example % \begin{verbatim} % \documentclass[bodyfont=sabon]{resphilosophica} % \end{verbatim} % % % \DescribeOption{bodyfont} % The option |bodyfont| can have three values: |sabon| for % Sabon/Garamond fonts, |cm| for Computer Modern and |auto| % (default). The later option switches to the use of Sabon if the % font metrics are present in your system, and to the use of % Computer Modern otherwise. % % \DescribeOption{rpfont} % The name of journal, \emph{Res Philosophica}, is typeset with the % special font. % The option |rpfont| can have three values: |imprintshadow| for % MT Imprint Shadow, |cm| for Computer Modern and |auto| % (default). The later option switches to the use of MT Imprint % Shadow if the % font metrics are present in your system, and to the use of % Computer Modern otherwise. % % \DescribeOption{manuscript} % The option |manuscript| is intended to faciliate the communications % between the editor and the author. It enables two things: % \begin{enumerate} % \item The numbering of lines in the manuscript is switched off in the % normal mode, but is on in the manuscript mode. % \item The command |\EditorialComment| is no-op in normal mode, but % produces mariginal commentaries in the manuscript % \end{enumerate} % % \DescribeOption{screen} % The option |screen| is intended for the screen reading. When this % option is selected, the links become highlighted. % % \DescribeOption{natbib} % The preferred solution for bibliography is |natbib| % package~\cite{Daly07:Natbib}. The option |natbib=true| (default) % sets the package and the proper options, including bibliography % style. The option |natbib=false| switches this behavior off, and the % formatting of the bibliography becomes the full responsibility of % the author. The package includes the Bib\TeX\ bibliography style % |resphilosophica.bst|. % %\subsection{Topmatter} %\label{sec:topmatter} % % Topmatter is the part of the article with the informations about the % authors, their affiliations, the publication data, etc. % % There are two kinds of top matter commands: the ones used primarily % for authors and the ones used primarily for editors. We describe % them separately. % %\subsubsection{Commands for Authors} %\label{sec:authors_commands} % % % \DescribeMacro{\title} % The command |\title|, as in \progname{amsart} class, has two arguments: one % optional, and one mandatory: % \begin{flushleft} % |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}| % \end{flushleft} % The mandatory argument is the full title of the article. The % optional argument, if present, defines the shorter version of the % title for running heads. If the optional argument is absent, the % full title is used instead. % % \DescribeMacro{\author} % \DescribeMacro{\email} % \DescribeMacro{\address} % \DescribeMacro{\curraddr} % \DescribeMacro{\urladdr} % The interface for specifying the authors % and their affiliations is close the the one of % \progname{amsart}~\cite{instr-l} (and different from the standard \LaTeX). % For each author a separate command |\author| should be used, % followed by |\address| and (optionally) |\curraddr|, |\email| and % |\urladdr|. % % \DescribeMacro{\shortauthors} % In some cases the authors list may be too long for the running head, % even if the abbreviated forms are used for each author. In this % case it is possible to change the running head by a % \emph{redefinition} of the command |\shortauthors|. This % redefinition must be done after all |\author| commands, but before % |\maketitle|: % \begin{verbatim} % \renewcommand{\shortauthors}{A.~Smith et al} % \end{verbatim} % % \DescribeMacro{\thanks} % Like \progname{amsart} (and unlike standard \LaTeX{}), % \progname{resphilosophica} allows |\thanks| only \emph{outside} of % commands |\title| and |\author|. The text of |\thanks| is typeset % at the end of the paper as a footnote marked `Acknowledgements'. % Note that the right vertical positioning of this footnote might % require an additional run of \LaTeX. % % % % \DescribeMacro{\copyrightnote} % Normally each paper is copyrighted by the authors and by the % journal. This is reflected in the footnote on the % first page of the article. However, by arrangement with the % editors, certain papers may have different copyright. The command % \cmd{\copyrightnote}\marg{copyright statement}, if issued, changes % the footnote to the corresponding text, for example: % \begin{verbatim} % \copyrightnote{\textcopyright~2012 by the authors. This paper may % be reproduced, in its entirety, for noncommercial purposes.} % \end{verbatim} % Note that if you issue this command, you should explicitly include % both the copyright sign and the year unless the paper does not have % a copyright, for example: % \begin{verbatim} % \copyrightnote{This paper is in the public domain} % \end{verbatim} % % \DescribeMacro{\copyrightyear} % Normally the copyright statement includes the year of copyright, % which is assumed to be the publication year as specified by the % |\publicationyear| command (see below). If this assumption is % wrong, you may correct it, for example, % \begin{verbatim} % \copyrightyear{1998} % \end{verbatim} % % % \DescribeEnv{abstract} % The abstract of the paper must be put between |\begin{abstract}| and % |\end{abstract}|. Unlike the situation in \progname{amsart} % class, abstract may be put \emph{after} |\maketitle|. % % \DescribeMacro{\maketitle} % The macro |\maketitle| typesets the top matter. All top matter % information should be specified before this command. % %\subsubsection{Commands for Editors} %\label{sec:editors_commands} % % The commands described in this section should be used by the editors % to insert the information about the published paper. They must be % put before the |\maketitle| command. % % \DescribeMacro{\volumenumber} % \DescribeMacro{\issuenumber} % \DescribeMacro{\publicationyear} % \DescribeMacro{\publicationmonth} % \DescribeMacro{\papernumber} % \DescribeMacro{\startpage} % \DescribeMacro{\endpage} % The macros |\volumenumber|, |\issuenumber|, |\publicationyear|, % |\publicationmonth|, |\papernumber|, |\startpage|, |\endpage| set up the % corresponding % data for the paper, for example: % \begin{verbatim} % \volumenumber{88} % \issuenumber{1--2} % \publicationyear{2012} % \publicationmonth{January and April} % \papernumber{2} % \startpage{1} % \endpage{39} % \end{verbatim} % Note that if the argument of |\endpage| is empty, \LaTeX{} tries to % calculate the last page number as best as it can. % % \DescribeMacro{\doinumber} % Normally you do not need to set the DOI of the paper: \TeX{} will % construct the number using the paper data (including paper number in % the current issue). However, you \emph{may} override its decision % using the command |\doinumber| which sets the DOI explicitly, for % example, |\doinumber|\marg{10.11612/resphilosophica.2013.01.01}. % You probably should not use this macro. % % \DescribeMacro{\prevpaper} % Instead of setting |\startpage|, one can use the the command % |\prevpaper|\marg{previous paper}, with the argument being the % location and file name of the previous paper in the journal, for example: % \begin{verbatim} % \prevpaper{../infinity/concept_of_infinity} % \end{verbatim} % Note that the |.tex| suffix should \emph{not} be used. The previous % paper must be processed by |latex| prior to the current one. In % this case |latex| will read the last page of the previous paper, and % start the current one from the proper page number. % % \DescribeMacro{\EditorialComment} % The macro |\EditorialComment|\oarg{comments} typesets the comments % on the margins in the |manuscript| mode, for example, % \begin{verbatim} % Which is a well known fact.\EditorialComment{A citation is % needed} % \end{verbatim} % % % %\subsection{Bibliography} %\label{sec:guide_bib} % % As mentioned above, |resphilosophica| by default uses % |natbib|~\cite{Daly07:Natbib}. You should use |natbib| commands % like |\citet|, |\citep| etc. % % Note that |\bibliographystyle| command should \emph{not} be issued % by the author: the package takes care of this. You just need to % type % \begin{verbatim} % \bibliography{DATABASE, DATABASE...} % \end{verbatim} % % The bibliography style used for the articles is % |resphilosophica.bst|. Compared to standard styles it has two % additional fields: % \begin{description} % \item[doi:] DOI number of the publication. Write there only the % number: the style will automatically add |http://dx.doi.org| and % make the reference clickable. % \item[titlenote:] the note that should be put after the title rather % than at the end of the entry\footnote{This field was proposed by % Maureen Shupsky for the \emph{Annals of Mathematics} % bibliography style.}, for example, the information about % translators, editors of critical editions, etc: % \begin{verbatim} % @book{Knuth94:TheTeXbook, % address = {Reading, MA}, % author = {Knuth, Donald Ervin}, % titlenote = {Illustrations by Duane Bibby}, % publisher = {Addison-Wesley Publishing Company}, % series = {Computers \& Typesetting A}, % title = {The \TeX book}, % year = {1994}, % } % % \end{verbatim} % % \end{description} % % % \DescribeMacro{\AddtoEndMatter} % If you decide to forgo |natbib|, you can use |natbib=false| option. % Then you should remember to put the bibliogrtaphy \emph{after} the % end matter (authors' addresses etc) using the command |\AddtoEndMatter|: % \begin{verbatim} % \AddtoEndMatter{MY BIBLIOGRAPHY COMMANDS} % \end{verbatim} % % \subsection*{Acknowledgements} % This package was commissioned by the journal \emph{Res Philosophica} % and funded by Saint Louis University. I am grateful to Jonathan % Jacobs for tireless testing of the package. % % \StopEventually{% % \bibliography{resphilosophica} % \bibliographystyle{unsrt}} % % \clearpage % % %\section{Implementation} %\label{sec:impl} % % %\subsection{Options} %\label{sec:opts} % % We need |xkeyval| since some of our options may have values: % \begin{macrocode} \RequirePackage{xkeyval} % \end{macrocode} % % \begin{macro}{\ifRESP@fontauto} % First, check whether the user have the body font explicitly % configured: % \begin{macrocode} \newif\ifRESP@fontauto \RESP@fontautotrue % \end{macrocode} % % \end{macro} % % % \begin{macro}{\ifRESP@rpfontauto} % \changes{v1.1}{2012/09/01}{Added macro} % Same for \emph{Res Philosophica} font % \begin{macrocode} \newif\ifRESP@rpfontauto \RESP@rpfontautotrue % \end{macrocode} % % \end{macro} % % \begin{macro}{\ifRESP@lsabon} % Are we using linotype sabon? % \begin{macrocode} \newif\ifRESP@lsabon \RESP@lsabonfalse % \end{macrocode} % % \end{macro} % % \begin{macro}{\ifRESP@mtshadow} % \changes{v1.1}{2012/09/01}{Added macro} % Are we using MT Imprint Shadow? % \begin{macrocode} \newif\ifRESP@mtshadow \RESP@mtshadowfalse % \end{macrocode} % % \end{macro} % % \begin{macro}{bodyfont} % And the option to check the user input: % \begin{macrocode} \define@choicekey*+{resphilosophica.cls}{bodyfont}[\val\nr]{auto, sabon, lsabon, cm}[auto]{% \ifcase\nr\relax \RESP@fontautotrue \or \RESP@fontautofalse \RESP@lsabontrue \or \RESP@fontautofalse \RESP@lsabontrue \or \RESP@fontautofalse \RESP@lsabonfalse \fi}{% \PackageWarning{resphilosophica}{The option bodyfont must be auto, sabon or cm. Using auto}\RESP@fontautotrue} % \end{macrocode} % % \end{macro} % % \begin{macro}{rpfont} % \changes{v1.1}{2012/09/01}{Added option} % And the option to check the user input: % \begin{macrocode} \define@choicekey*+{resphilosophica.cls}{rpfont}[\val\nr]{auto, imprint, imprintshadow, cm}[auto]{% \ifcase\nr\relax \RESP@rpfontautotrue \or \RESP@rpfontautofalse \RESP@mtshadowtrue \or \RESP@rpfontautofalse \RESP@mtshadowtrue \or \RESP@rpfontautofalse \RESP@mtshadowfalse \fi}{% \PackageWarning{resphilosophica}{The option rpfont must be auto, imprintshadow or cm. Using auto}\RESP@rpfontautotrue} % \end{macrocode} % % \end{macro} % % % \begin{macro}{natbib} % Checking natbib option: % \begin{macrocode} \define@boolkey+{resphilosophica.cls}[RESP@]{natbib}[tue]{}{% \PackageWarning{resphilosophica}{The option natbib must be yes or no. Using yes}} \RESP@natbibtrue % \end{macrocode} % % \end{macro} % % % The size-changing options produce a warning: % \begin{macrocode} \long\def\RESP@size@warning#1{% \ClassWarning{RESPart}{Size-changing option #1 will not be honored}}% \DeclareOptionX{8pt}{\RESP@size@warning{\CurrentOption}}% \DeclareOptionX{9pt}{\RESP@size@warning{\CurrentOption}}% \DeclareOptionX{10pt}{\RESP@size@warning{\CurrentOption}}% \DeclareOptionX{11pt}{\RESP@size@warning{\CurrentOption}}% \DeclareOptionX{12pt}{\RESP@size@warning{\CurrentOption}}% % \end{macrocode} % % \begin{macro}{\ifRESP@manuscript} % Manuscript mode: % \begin{macrocode} \newif\ifRESP@manuscript \RESP@manuscriptfalse \DeclareOptionX{manuscript}{\RESP@manuscripttrue} % \end{macrocode} % % \end{macro} % % \begin{macro}{\ifRESP@screen} % \changes{v1.4}{2012/09/06}{Added option} % Screen mode: % \begin{macrocode} \newif\ifRESP@screen \RESP@screenfalse \DeclareOptionX{screen}{\RESP@screentrue} % \end{macrocode} % % \end{macro} % % % All other options are passed to \progname{amsart}: % \begin{macrocode} \DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} % \end{macrocode} % % And executing options: % \begin{macrocode} \ProcessOptionsX % \end{macrocode} % % % %\subsection{Loading Classes and Packages} %\label{sec:classes} % % We use |amsart| since it has nice features for front matter: % \begin{macrocode} \LoadClass[noamsfonts]{amsart} % \end{macrocode} % % \changes{v1.3}{2012/09/05}{Ifpdf is no longer needed with modern engines} % \changes{v1.4}{2012/09/06}{Added footmisc package with `bottom' % option} % \changes{v1.5}{2012/09/07}{Hyperfootnotes are incompatible with hyperref} % Some packages % \begin{macrocode} \RequirePackage{microtype, fancyhdr, xcolor, lastpage} \RequirePackage[bottom,multiple]{footmisc} \RequirePackage[hyperfootnotes=false]{hyperref} \urlstyle{rm} \ifRESP@manuscript\hypersetup{colorlinks,allcolors=blue}\else \ifRESP@screen\hypersetup{colorlinks,allcolors=blue}\else \hypersetup{hidelinks}\fi\fi % \end{macrocode} % % % The font to use depends on the options. Note that \LaTeX\ cannot % reliably determine whether a binary file like |SabonLTRom.pfb| % exists in the system, so we check for the |.fd| file instead (sigh): % \begin{macrocode} \ifRESP@fontauto \IfFileExists{t1lsb.fd}{\RESP@lsabontrue}{\RESP@lsabonfalse}\fi % \end{macrocode} % % If the user wants, we load Sabon and URW Garamond. Note that % mathdesign defines |sc| to be |fsc|, so we need to redefine it for % Sabon: % \begin{macrocode} \ifRESP@lsabon \RequirePackage[mdugm]{mathdesign} \RequirePackage[rmdefault]{lsabon} \renewcommand\scdefault{sc} \fi % \end{macrocode} % % Checking the existence of |miih| font metrics: % \begin{macrocode} \ifRESP@rpfontauto \IfFileExists{t1miih.fd}{\RESP@mtshadowtrue}{\RESP@mtshadowfalse}\fi % \end{macrocode} % % % \begin{macro}{\rpdefault} % \changes{v1.1}{2012/09/01}{Added macro} % This is the font for \emph{Res Philosophica:} % \begin{macrocode} \ifRESP@mtshadow \def\rpdefault{miih}\else \def\rpdefault{\rmdefault}\fi % \end{macrocode} % % \end{macro} % % % % \begin{macro}{\AddtoEndMatter} % A syntax sugar to add something after signature: % \begin{macrocode} \def\AddtoEndMatter#1{\g@addto@macro\enddoc@text{#1}} % \end{macrocode} % % \end{macro} % % And loading natbib: % \changes{v1.2}{2012/09/04}{Changed font for bibliography} % \changes{v1.2}{2012/09/04}{Changed skip for bibliography} % \changes{v1.3}{2012/09/05}{Added penalties} % \changes{v1.4}{2012/09/06}{Changed bibsection font} % \begin{macrocode} \ifRESP@natbib \RequirePackage[round]{natbib} \AtEndDocument{\bibliographystyle{resphilosophica}} \let\RESP@bibliography=\bibliography \def\bibliography#1{\AddtoEndMatter{\RESP@bibliography{#1}}} \def\bibsection{\par\addpenalty\@secpenalty\addvspace{\bigskipamount}% \noindent \Small References:\par\nobreak\vskip\medskipamount\@afterheading} \def\bibfont{\Small} \fi % \end{macrocode} % % %\subsection{Page Dimensions and Paragraphing} %\label{sec:page} % % \begin{macro}{\pdfpaperwidth} % \begin{macro}{\pdfpaperheight} % \changes{v1.3}{2012/09/05}{Deleted ifpdf} % \changes{v1.4}{2012/09/06}{Changed paper in the manuscript mode} % Paper: % \begin{macrocode} \ifRESP@manuscript\else \AtBeginDocument{\setlength{\pdfpagewidth}{432bp}% \setlength{\pdfpageheight}{648bp}} \fi % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\textwidth} % \begin{macro}{\textheight} % The size of the type block: % \begin{macrocode} \setlength{\textwidth}{318pt} \setlength{\textheight}{540pt} % \end{macrocode} % % \end{macro} % \end{macro} % % \begin{macro}{\evensidemargin} % \begin{macro}{\oddsidemargin} % The margins: % \begin{macrocode} \setlength{\evensidemargin}{-18pt} \setlength{\oddsidemargin}{\evensidemargin} % \end{macrocode} % % \end{macro} % \end{macro} % % \begin{macro}{\topmargin} % Top margin % \begin{macrocode} \setlength{\topmargin}{-48pt} % \end{macrocode} % % \end{macro} % \begin{macro}{\listisep} % \changes{v1.2}{2012/09/04}{Redefined} % This is the space around lists. |amsart| defines it as % |\smallskipamount|. We slightly increase it: % \begin{macrocode} \listisep\medskipamount % \end{macrocode} % % \end{macro} % %\subsection{Headers} %\label{sec:headers} % % \begin{macro}{\headsep} % Separation between the header and the body % \begin{macrocode} \setlength{\headsep}{14pt} % \end{macrocode} % % % \begin{macro}{\headheight} % The height of the headers: % \begin{macrocode} \setlength{\headheight}{12pt} % \end{macrocode} % % \end{macro} % % \end{macro} % \begin{macro}{\headrulewidth} % \begin{macro}{\footrulewidth} % We do not want decorative rules in the journal: % \begin{macrocode} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\footskip} % \changes{v1.7}{2012/09/11}{Decreased to fit doi number} % Separation between the footer and the body % \begin{macrocode} \setlength{\footskip}{20pt} % \end{macrocode} % % \end{macro} % % \begin{macro}{\RESP@linecount} % \changes{v1.4}{2012/09/06}{Changed color} % \changes{v1.5}{2012/09/07}{Changed color} % This is the box displayed in the manuscript mode % \begin{macrocode} \ifRESP@manuscript \newsavebox{\RESP@linecount} \savebox{\RESP@linecount}[4em][t]{\parbox[t]{4em}{% \@tempcnta\@ne\relax \loop{\color{red}\scriptsize\the\@tempcnta}\\ \advance\@tempcnta by \@ne\ifnum\@tempcnta<47\repeat}} \fi % \end{macrocode} % % \end{macro} % % It is easy to set up headers with \progname{fancyhdr}: % \changes{v1.4}{2012/09/06}{Changed color of ``Author's proof' mark} % \changes{v1.5}{2012/09/07}{Changed color} % \changes{v1.7}{2012/09/11}{Changed formatting of doi} % \begin{macrocode} \pagestyle{fancy} \fancyhead{} \fancyfoot{} \fancyhead[LE]{\footnotesize\thepage\qquad\itshape\shortauthors} \fancyhead[RO]{\footnotesize\textit{\shorttitle}\qquad\thepage} \ifRESP@manuscript \fancyhead[LE]{\begin{picture}(0,0)% \put(-26,-22){\usebox{\RESP@linecount}}% \end{picture}\footnotesize\thepage\qquad\itshape\shortauthors} \fancyhead[LO]{\begin{picture}(0,0)% \put(-21,-22){\usebox{\RESP@linecount}}% \end{picture}} \fancyfoot[C]{\scriptsize\color{red}Author's Proof} \fi % \end{macrocode} % % % The first page has the special headers. The style |firstpage| is % invoked by \progname{amsart}; here we just redefine it. % \begin{macrocode} \fancypagestyle{firstpage}{% \fancyhf{}% \ifRESP@manuscript \lhead{\begin{picture}(0,0)% \put(-26,-20){\usebox{\RESP@linecount}}% \end{picture}} \fi \cfoot{\footnotesize{\fontfamily{\rpdefault}\selectfont Res Philosophica,} \itshape Vol.~\currentvolume, No.~\currentissue, \currentmonth~\currentyear, pp.~\start@page--\end@page \ifx\@doinumber\@empty\else\\% \doi{\@doinumber}\fi \\ \@copyrightnote}} % \end{macrocode} % % % %\subsection{Top Matter Macros} %\label{sec:top_matter_code} % % Most top matter macros are defined in \progname{amsart}. Here we % just add some new macros and redefine some. % % % The next macros mimic the functionality of \progname{amsart} % |\issueinfo| command. Note that |\issueinfo| still works. % \begin{macro}{\volumenumber} % This sets the volume of the paper % \begin{macrocode} \def\volumenumber#1{\def\currentvolume{#1}} \volumenumber{00} % \end{macrocode} % \end{macro} % \begin{macro}{\issuenumber} % This sets the issue of the paper: % \begin{macrocode} \def\issuenumber#1{\def\currentissue{#1}} \issuenumber{0--0} % \end{macrocode} % \end{macro} % \begin{macro}{\publicationyear} % This sets the year of the paper % \begin{macrocode} \def\publicationyear#1{\def\currentyear{#1}} \publicationyear{2090} % \end{macrocode} % \end{macro} % \begin{macro}{\publicationmonth} % This sets the month of the paper % \begin{macrocode} \def\publicationmonth#1{\def\currentmonth{#1}} \publicationmonth{January--February} % \end{macrocode} % \end{macro} % % \begin{macro}{\papernumber} % \changes{v1.11}{2012/12/24}{Added macro} % This is absent from the |\issueinfo|. % \begin{macrocode} \def\papernumber#1{\def\currentpaper{#1}} \papernumber{0000} % % \end{macro} % % % \begin{macro}{\doinumber} % \changes{v1.11}{2012/12/25}{Added default} % DOI number for the article: % \begin{macrocode} \def\doinumber#1{\gdef\@doinumber{#1}} \doinumber{10.11612/resphil.\currentyear.\currentvolume.\currentissue.\currentpaper} % \end{macrocode} % \end{macro} % % \begin{macro}{\startpage} % This defines the starting page of the paper. We have some nice % features to set up roman page numbers for editorial % stuff---probably not needed for this journal at this time\dots % \begin{macrocode} \def\startpage#1{\pagenumbering{arabic}\setcounter{page}{#1}% \def\start@page{#1}% \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}% \def\start@page{\romannumeral#1}% \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\endpage} % This macro again has a twist in it: if the argument is not set, it % calculates the last page number itself. % \begin{macrocode} \def\endpage#1{\def\@tempa{#1}% \ifx\@tempa\@empty\def\end@page{\pageref{LastPage}}% \else\def\end@page{#1}\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\pagespan} % This macro is different from the one provided by \progname{amsart} % because we want to have the option of automatic calculation of the % last page number. % \begin{macrocode} \def\pagespan#1#2{\startpage{#1}\endpage{#2}} \pagespan{1}{} % \end{macrocode} % \end{macro} % % % \begin{macro}{\articleentry} % This is necessary for |\prevpaper| command. We read the TOC entry % from the previous paper and increment it by 1. Note that we % always start with on an odd page, since the additional check % \begin{macrocode} \def\articleentry#1#2#3#4{\@tempcnta=#4\relax \advance\@tempcnta by 1\relax \ifodd\the\@tempcnta\else\advance\@tempcnta by 1\relax\fi \startpage{\the\@tempcnta}} % \end{macrocode} % % \end{macro} % % \begin{macro}{\prevpaper} % This sets the previous paper location and reads the information % from the previous paper % \begin{macrocode} \def\prevpaper#1{\IfFileExists{#1.rpi}{% \ClassInfo{resphilosophica}{% Reading first page number from the file #1.rpi}% \input{#1.rpi}% }{\ClassWarning{resphilosophica}{Cannot find the file #1.rpi. Did you run latex on the previous paper?}}} % \end{macrocode} % % \end{macro} % % \begin{macro}{abstract} % We slightly redefine abstract comparing to \progname{amsart} % conventions: % \begin{macrocode} \renewenvironment{abstract}{% \ifx\maketitle\relax \ClassWarning{resphilosophica}{Abstract should precede \protect\maketitle\space in AMS derived classes}% \fi \global\setbox\abstractbox=\vtop\bgroup% \vglue1pc% \list{}{\labelwidth\z@% \leftmargin3pc \rightmargin\leftmargin% \listparindent\normalparindent \itemindent\z@% \parsep\z@ \@plus\p@% \let\fullwidthdisplay\relax% }% \item[]\normalfont\normalsize\textbf{\abstractname:}\space }{% \endlist\egroup% \ifx\@setabstract\relax\@setabstracta\fi% } % \end{macrocode} % \end{macro} % % \begin{macro}{\copyrightyear} % This is the copyright year in case it does not coincide with the % publication year: % \begin{macrocode} \def\copyrightyear#1{\def\@copyrightyear{#1}} \copyrightyear{} % \end{macrocode} % % \end{macro} % % \begin{macro}{\RESP@bulletboxwidth} % \changes{v1.9}{2012/09/13}{Added macro} % This is the width of a box with a bullet for copyright note: % \begin{macrocode} \newlength\RESP@bulletboxwidth \settowidth\RESP@bulletboxwidth{\quad\textbullet\quad} % \end{macrocode} % % \end{macro} % % \begin{macro}{\copyrightnote} % \changes{v1.2}{2012/09/02}{Used \cmd{\rpdefault} for RP font} % \changes{v1.9}{2012/09/13}{Made bullet disappear at break} % This is the copyrightnote. The default has some trickery with the % year and short authors. % % The disappearing bullet is based on the trick by Marcin % Wolin\'nski, who noted that \cmd{\cleaders} are discardable % (see~\cite{Jackowski08:TeXBeatiesOddities}). % \begin{macrocode} \def\copyrightnote#1{\def\@copyrightnote{#1}} \copyrightnote{\textcopyright~% \ifx\@empty\@copyrightyear\currentyear\else\@copyrightyear\fi~% \shortauthors\cleaders\hbox{\quad\textbullet\quad}\hskip\RESP@bulletboxwidth \textcopyright~% \ifx\@empty\@copyrightyear\currentyear\else\@copyrightyear\fi~% {\normalfont\fontfamily{\rpdefault}\selectfont Res~Philosophica}} % \end{macrocode} % \end{macro} % % \begin{macro}{\author} % The base class puts into |\addresses| the strange line % |\author{}|. We correct this: % \begin{macrocode} \renewcommand{\author}[2][]{% \ifx\@empty\addresses \gdef\addresses{\author{#2}}% \else \g@addto@macro\addresses{\author{#2}}% \fi \ifx\@empty\authors \gdef\authors{#2}% \else \g@addto@macro\authors{\and#2}% \fi \@ifnotempty{#1}{% \ifx\@empty\shortauthors \gdef\shortauthors{#1}% \else \g@addto@macro\shortauthors{\and#1}% \fi }% } \edef\author{\@nx\@dblarg \@xp\@nx\csname\string\author\endcsname} % \end{macrocode} % % \end{macro} % % %\subsection{Typesetting Top Matter} %\label{sec:maketitle} % % % \begin{macro}{\@settitle} % \changes{v1.3}{2012/09/05}{Deleted ifpdf} % We do not uppercase title. Also, we use this occasion to set PDF % information: % \begin{macrocode} \def\@settitle{\begin{center}% \baselineskip20\p@\relax \LARGE\scshape \@title \hypersetup{pdftitle=\@title}% \end{center}% } % \end{macrocode} % \end{macro} % % \begin{macro}{\@setauthors} % \changes{v1.1}{2012/09/01}{Changed font} % \changes{v1.2}{2012/09/04}{Changed font} % \changes{v1.3}{2012/09/05}{Deleted ifpdf} % Now we typeset authors according to our specs. Again, we use this % occasion to set some PDF information: % \begin{macrocode} \def\@setauthors{% \ifx\authors\@empty\relax\else \begingroup \def\thanks{\protect\thanks@warning}% \trivlist \centering\footnotesize \@topsep30\p@\relax \advance\@topsep by -\baselineskip \item\relax \def\@@and{{and}} \author@andify\authors \hypersetup{pdfauthor=\authors}% \def\\{\protect\linebreak}% \large\normalfont\authors% \endtrivlist \endgroup \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\maketitle} % We redefine |\maketitle|---mostly to prevent uppercasing of % shorttitle and to write down the journal information: % \begin{macrocode} \def\maketitle{\par \@topnum\z@ % this prevents figures from falling at the top of page 1 \@setcopyright \thispagestyle{firstpage}% this sets first page specifications \ifx\@empty\shortauthors \let\shortauthors\shorttitle \else \andify\shortauthors \fi \@maketitle@hook \RESP@write@paper@info \begingroup \@maketitle \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}% \toks4{\def\\{ \ignorespaces}}% defend against questionable usage \edef\@tempa{% \@nx\markboth{\the\toks4 \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}% \@tempa \endgroup \c@footnote\z@ \@cleartopmattertags } % \end{macrocode} % % \end{macro} % % \begin{macro}{\@maketitle} % \changes{v1.1}{2012/09/01}{Redefined macro} % We delete top space introduced by |amsart|: % \begin{macrocode} \def\@maketitle{% \normalfont\normalsize \@adminfootnotes \@mkboth{\@nx\shortauthors}{\@nx\shorttitle}% \@settitle \ifx\@empty\authors \else \@setauthors \fi \ifx\@empty\@dedicatory \else \baselineskip18\p@ \vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}% \global\dimen@i\prevdepth}\prevdepth\dimen@i \fi \@setabstract \normalsize \if@titlepage \newpage \else \dimen@34\p@ \advance\dimen@-\baselineskip \vskip\dimen@\relax \fi } % end \@maketitle % \end{macrocode} % % \end{macro} % % \begin{macro}{\@mainrpi} % The stream for the rpi file: % \begin{macrocode} \newwrite\@mainrpi % \end{macrocode} % % \end{macro} % % \begin{macro}{\RESP@write@paper@info} % \changes{v1.1}{2012/09/01}{Added protection for \cmd{\\}} % \changes{v1.2}{2012/09/02}{Used \cmd{\protected@write}} % \changes{v1.11}{2012/12/25}{Added writing info for crossref} % This writes the information about the paper into the file % |jobname.rpi|. Note that hyperref makes our life a little bit % more complex % \begin{macrocode} \def\RESP@write@paper@info{% \bgroup \if@filesw \openout\@mainrpi\jobname.rpi% \write\@mainrpi{\relax}% \ifx\r@LastPage\@undefined \edef\@tempa{\start@page}% \else \def\@tempb##1##2##3##4##5{##2}% \edef\@tempa{\expandafter\@tempb\r@LastPage}% \fi \def\and{\string\and\space}% \protected@write\@mainrpi{}% {\string\articleentry{\authors}{\@title}{\start@page}{\@tempa}}% % \end{macrocode} % The next lines are for crossref software % \begin{macrocode} \protected@write\@mainrpi{}% {\@percentchar authors=\authors}% \protected@write\@mainrpi{}% {\@percentchar title=\@title}% \protected@write\@mainrpi{}% {\@percentchar year=\currentyear}% \protected@write\@mainrpi{}% {\@percentchar volume=\currentvolume}% \protected@write\@mainrpi{}% {\@percentchar issue=\currentissue}% \protected@write\@mainrpi{}% {\@percentchar paper=\currentpaper}% \protected@write\@mainrpi{}% {\@percentchar startpage=\start@page}% \protected@write\@mainrpi{}% {\@percentchar endpage=\@tempa}% \protected@write\@mainrpi{}% {\@percentchar doi=\@doinumber}% \closeout\@mainrpi \fi \egroup} % \end{macrocode} % % \end{macro} % % % \begin{macro}{\@adminfootnotes} % \changes{v1.2}{2012/09/04}{Redefined} % We just define this to noop: % \begin{macrocode} \def\@adminfootnotes{} % \end{macrocode} % % \end{macro} % % \begin{macro}{\@cleartopmattertags} % \changes{v1.2}{2012/09/04}{Redefined} % We typeset thankses at the end of the paper so we do not clear them: % \begin{macrocode} \def\@cleartopmattertags{% \def\do##1{\let##1\relax}% \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title \do\author \do\@xauthor \do\address \do\@xaddress \do\contrib \do\contribs \do\xcontribs \do\toccontribs \do\email \do\@xemail \do\curraddr \do\@xcurraddr \do\commby \do\@commby \do\dedicatory \do\@dedicatory \do\thanks \do\keywords \do\@keywords \do\subjclass \do\@subjclass % \end{macrocode} % \begin{macro}{\sf@size} % \changes{v1.8}{2012/09/12}{Added definition} % It seems there is a bug in |mdugm| when calculating |\sf@size|. % Here we work around it: % \begin{macrocode} \def\sf@size{7pt}% % \end{macrocode} % % \end{macro} % \begin{macrocode} } % \end{macrocode} % % \end{macro} % %\subsection{Typesetting End Matter} %\label{sec:endmatter} % % End matter is typeset at the end of the paper. % % \begin{macro}{\if@enddoc} % \changes{v1.5}{2012/09/07}{Added macro} % Check whether we are in the end matter % \begin{macrocode} \newif\if@enddoc \@enddocfalse % \end{macrocode} % % \end{macro} % % \begin{macro}{\enddoc@text} % \changes{v1.2}{2012/09/04}{Redefined} % \changes{v1.5}{2012/09/07}{Added flag} % \changes{v1.8}{2012/09/12}{Changed bibliography} % We put thankses into end matter. Also, we redefine bibliography % back to the original definition in case someone writes % |\AddtoEndMatter{\bibliography{}}| % \begin{macrocode} \def\enddoc@text{% \@enddoctrue\def\bibliography{\RESP@bibliography}% \ifx\@empty\thankses\else \bgroup \let\@makefnmark\relax \let\@thefnmark\relax % \end{macrocode} % Check, whether we are at the same page as the last footnote; if yes, % add medskip. % \begin{macrocode} \ifx\lastfootnote@page\@undefined\else \@tempcnta=\lastfootnote@page\relax \ifnum\c@page=\@tempcnta\relax \insert\footins{\medskip}% \fi \fi % \end{macrocode} % % % \begin{macrocode} \@footnotetext{% \def\par{\let\par\@par}\textbf{Acknowledgements\quad} \@setthanks}% \egroup \fi \ifx\@empty\@translators \else\@settranslators\fi \ifx\@empty\addresses \else\@setaddresses\fi} % \end{macrocode} % % \end{macro} % % \begin{macro}{\ifRESP@firstingroup} % A group of authors is separated by a skip from another group. % This macro checks whether this is the first one % \begin{macrocode} \newif\ifRESP@firstingroup % \end{macrocode} % % \end{macro} % % \begin{macro}{\emailaddrname} % The name for e-mail address: % \begin{macrocode} \def\emailaddrname{E-mail} % \end{macrocode} % % \end{macro} % % % \begin{macro}{\@setaddresses} % \changes{v1.2}{2012/09/04}{Changed font} % \changes{v1.3}{2012/09/05}{Added penalties} % \changes{v1.9}{2012/09/13}{Added penalties} % Unlike |aomart|, we want to preserve author's name in the address % block. Also, we want to keep linebreaks and to have clickable % e-mail and URL. % % We want to skip between the author groups (several authors with % the same affiliation), so we check whether the previous line % contains another author: % \begin{macrocode} \def\@setaddresses{\par \nobreak \begingroup\flushright\clubpenalty\@MM\interlinepenalty\@MM \widowpenalty\@MM \RESP@firstingrouptrue \Small \def\author##1{\nobreak\ifRESP@firstingroup\par \addvspace\bigskipamount\penalty-1000\fi \RESP@firstingroupfalse##1\par\nobreak}% \parindent\z@ \def\address##1##2{\RESP@firstingrouptrue\begingroup \par\nobreak \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% {\ignorespaces##2}\par\endgroup}% \def\curraddr##1##2{\RESP@firstingrouptrue\begingroup \@ifnotempty{##2}{\nobreak\indent\curraddrname \@ifnotempty{##1}{, \ignorespaces##1\unskip}\hskip0.2em:\space ##2\par}\endgroup}% \def\email##1##2{\RESP@firstingrouptrue\begingroup \@ifnotempty{##2}{\nobreak\indent\emailaddrname \@ifnotempty{##1}{, \ignorespaces##1\unskip}\hskip0.2em:\space \href{mailto:##2}{\nolinkurl{##2}}\par}\endgroup}% \def\urladdr##1##2{\RESP@firstingrouptrue\begingroup \@ifnotempty{##2}{\nobreak\indent \@ifnotempty{##1}{, \ignorespaces##1\unskip}% \url{##2}\par}\endgroup}% \addresses \endgroup } % \end{macrocode} % % \end{macro} % % At the end we eject the last page % \begin{macrocode} \AtEndDocument{\cleardoublepage} % \end{macrocode} % % %\subsection{Sectioning} %\label{sec:sectioning} % % \begin{macro}{\@seccntformat} % We do not want our numbers to be upright and medium series, as % |amsart| wants: % \begin{macrocode} \def\@seccntformat#1{% \csname the#1\endcsname\enspace } % \end{macrocode} % % \end{macro} % % \begin{macro}{\section} % \changes{v1.1}{2012/09/01}{Moved to LaTeX defaults} % \changes{v1.2}{2012/09/04}{Changed font} % We want our sections to be large and bold: % \begin{macrocode} \renewcommand\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\large\bfseries}} % \end{macrocode} % \end{macro} % % \begin{macro}{\subsection} % \changes{v1.1}{2012/09/01}{Moved to LaTeX defaults} % \changes{v1.2}{2012/09/04}{Changed font} % Subsections are bold % \begin{macrocode} \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\normalsize\bfseries}} % \end{macrocode} % \end{macro} % % \begin{macro}{\subsubsection} % \changes{v1.1}{2012/09/01}{Moved to LaTeX defaults} % \changes{v1.2}{2012/09/04}{Changed font} % Subsubsections are normalsize and italic % \begin{macrocode} \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-3.25ex\@plus -1ex \@minus -.2ex}% {1.5ex \@plus .2ex}% {\normalfont\normalsize\itshape}} % \end{macrocode} % \end{macro} % % % \begin{macro}{\paragraph} % \changes{v1.4}{2012/09/06}{Moved to LaTeX default} % Paragraphs: % \begin{macrocode} \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {3.25ex \@plus1ex \@minus.2ex}% {-1em}% {\normalfont\normalsize\bfseries}} % \end{macrocode} % % \end{macro} % % \begin{macro}{\subparagraph} % \changes{v1.4}{2012/09/06}{Moved to LaTeX default} % Paragraphs: % \begin{macrocode} \renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}} % \end{macrocode} % % \end{macro} % %\subsection{Additional Commands} %\label{sec:additional} % % % \begin{macro}{\@mparswitch} % \changes{v1.1}{2012/09/01}{Changed default} % We always put marginpars on the right since the line box is on the left % \begin{macrocode} \@mparswitchfalse % \end{macrocode} % % \end{macro} % % \begin{macro}{\EditorialComment} % \changes{v1.1}{2012/09/01}{Added macro} % \changes{v1.4}{2012/09/06}{Changed font} % \changes{v1.4}{2012/09/06}{Changed color} % \changes{v1.5}{2012/09/07}{Changed color} % This macro is noop in normal mode, but is a tiny marginpar in the % manusript mode % \begin{macrocode} \def\EditorialComment#1{\ifRESP@manuscript\bgroup \marginparwidth=200pt\marginpar{\color{red}% \raggedright#1}\egroup\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\doi} % \changes{v1.1}{2012/09/01}{Added macro} % \changes{v1.7}{2012/09/11}{Changed formatting} % Typesetting doi\dots % \begin{macrocode} \def\doi#1{\url{http://dx.doi.org/#1}} % \end{macrocode} % \end{macro} % % % \begin{macro}{\@makefntext} % \changes{v1.4}{2012/09/06}{Redefined} % \changes{v1.5}{2012/09/06}{Added writing the current footnote page % to the aux file} % Unlike |amsart|, we do not indent footnotes: % \begin{macrocode} \def\@makefntext{\noindent\@makefnmark \if@enddoc\else \immediate\write\@mainaux% {\string\xdef\string\lastfootnote@page{\the\c@page}}% \fi} \long\def\@footnotetext#1{% \insert\footins{% \normalfont\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty\@MM \hsize\columnwidth \@parboxrestore \parindent\normalparindent \sloppy \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark}% \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} % \end{macrocode} % % \end{macro} % %\subsection{The End} %\label{sec:end} % % % Philosophers love footnotes, since |\raggedbottom| % \begin{macrocode} \raggedbottom\normalsize\normalfont % % \end{macrocode} % % %\Finale %\clearpage % %\PrintChanges %\clearpage %\PrintIndex % \endinput