diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/resphilosophica/resphilosophica.dtx |
Initial commit
Diffstat (limited to 'macros/latex/contrib/resphilosophica/resphilosophica.dtx')
-rw-r--r-- | macros/latex/contrib/resphilosophica/resphilosophica.dtx | 1984 |
1 files changed, 1984 insertions, 0 deletions
diff --git a/macros/latex/contrib/resphilosophica/resphilosophica.dtx b/macros/latex/contrib/resphilosophica/resphilosophica.dtx new file mode 100644 index 0000000000..365371c933 --- /dev/null +++ b/macros/latex/contrib/resphilosophica/resphilosophica.dtx @@ -0,0 +1,1984 @@ +% \iffalse +%<*gobble> +% $Id: resphilosophica.dtx,v 1.69 2019/04/14 19:44:29 boris Exp $ +% +% Copyright 2012-2019, 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 resphilosophica.dtx and the +% derived file resphilosophica.cls +% +% \fi +% \CheckSum{1395} +% +% +%% \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{resphilosophica.dtx} +%</gobble> +%<class>\ProvidesClass{resphilosophica} +[2019/04/14 v1.35 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} +% \changes{v1.12}{2013/07/13}{Bibliography changes} +% \changes{v1.13}{2013/08/14}{New options: preprint and forthcoming} +% \changes{v1.13}{2013/08/14}{New command: titlenote} +% \changes{v1.15}{2013/09/13}{Added new bibliography command} +% \changes{v1.16}{2013/11/26}{Deleted Imprinnt Shadow} +% \changes{v1.16}{2013/11/26}{Added documentation about typesetter +% changes highlighting} +% \changes{v1.17}{2013/12/01}{Added documentation about new editorial +% comments} +% \changes{v1.17}{2013/12/01}{Bibliography changes: +% `inloosecollection' entry} +% \changes{v1.24}{2015/01/14}{New command: authornote} +% \changes{v1.27}{2015/11/04}{New command: ensquote} +% \changes{v1.28}{2015/11/14}{Now ensquote and enquote work correct in +% the case of embedded quotations} +% \changes{v1.33}{2018/12/23}{Bibliography change: avoid URLs that +% duplicate dois} +% +%\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} +%</gobble> +%<*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,}. +% The users may buy the fonts and install their free \LaTeX\ +% support~\cite{Lsabon}, 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 +% and URW Garamond for +% mathematics. Sabon is a commercial font. 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}. To use +% URW Garamond, you need to download the |pfb| files from a CTAN +% mirror (\url{http://mirror.ctan.org/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{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{preprint} +% The option |preprint| is for the final version of the manuscript. +% In this mode there are no editorial comments, but the numbering of +% lines is preserved +% +% +% +% \DescribeOption{screen} +% The option |screen| is intended for the screen reading. When this +% option is selected, the links become highlighted. +% +% +% \DescribeOption{forthcoming} +% \DescribeMacro{\onlinedate} +% The option |forthcoming| is like |screen|, but it is used when there +% is no information about the volume. The macro +% \cs{onlinedate}\marg{date} can be used to set the date of online +% publication. +% +% +% +% \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. +% +% The title is typeset in small caps. The result of the command +% \cs{emph} in title depends on whether commercial fonts and the +% package \progname{lsabon} package is used: with a relatively recent +% version of the package |lsabon| the emphasized text is typeset in +% Small Caps Italics. +% +% \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 `Acknowledgments'. +% Note that the right vertical positioning of this footnote might +% require an additional run of \LaTeX. +% +% \DescribeMacro{\titlenote}% +% The \cs{titlenote}\marg{note} command creates a special footnote for +% the title. This command should be issued \emph{outside} the +% \cs{title} command. +% +% \DescribeMacro{\authornote}% +% The similar \cs{authornote}\marg{note} command creates a special +% footnote for the author. This command should be issued +% \emph{outside} the \cs{author} command. +% +% \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--February} +% \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. +% +% Sometimes publication month for double issues is too long to fit on +% the back cover. For this case \cs{publicationmonth} has the +% optional argument, abbreviated month, for example +% \begin{verbatim} +% \publicationmonth[Jan--Feb]{January--February} +% \end{verbatim} +% +% \DescribeMacro{\manuscriptid}% +% The comman \cs{manuscriptid}\oarg{id} sets the number of the +% manuscript assigned at submission. If it is set, it is used to +% calculate the doi number (see below). +% +% \DescribeMacro{\doinumber}% +% Normally you do not need to set the DOI of the paper: \TeX{} will +% construct the number using the paper data. 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{\paperUrl} +% When a paper is submitted to the Crossref service, which keeps the +% database of Digital Object Identifiers, its URL is calculated by +% the script used by editors. The command \cs{paperURL}\marg{url} +% overrides this choice. +% +% +% \DescribeMacro{\EditorialComment} +% The macro |\EditorialComment|\oarg{level}\marg{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}\EditorialComment[1]{Please make the citation more +% explicit}. +% \end{verbatim} +% Editorial comments have \emph{levels.} A level can be numeric or +% symbolic; symbolic levels can contain letters and numbers. The +% default level is |0|, so |\EditorialComment{text}| is equivalent to +% |\EditorialComment[0]{text}|. +% +% \DescribeMacro{\ECSelect} +% The command \cs{ECSelect}\marg{level,level,...} selects the levels +% of editorial comments to display in the manuscript mode. Note that +% |0| corresponds to the default level, so the command |\ECSelet{0}| +% should be used to show these comments. +% +% Sometimes it is useful to tell the author about typesetter's changes +% in the manuscript. The dialog between the author and typesetter +% might take several iterations, so the class provides a system for +% this dialog. +% +% \DescribeMacro{\TC} +% The macro \cs{TC}\oarg{level}\marg{text} makes \marg{text} +% highlighted in the |manuscript| mode if the level \oarg{level} is +% chosen. For example, +% \begin{verbatim} +% This proposition \TC[1]{(first discussed by the author in 2010)} can +% be stated as the following. +% \end{verbatim} +% The level can be numerical, or logical, e.g. |\TC[new]{text}|. +% Actually any combination of letters and numbers that does not +% contain commas or spaces can be used for level. By default the +% level is |0|, so |\TC|\marg{text} is equivalent to +% |\TC[0]|\marg{text}. +% +% \DescribeMacro{\TCSelect} +% The decision to highlight certain levels is done by the command +% \cs{TCSelect}\oarg{color}\marg{level,level,level...} The first +% optional argument is the color used for highlighting; by default +% |magenta|. Actually any color expression understandable by +% \progname{xcolor} can be used. The second argument is a +% comma-separated list of levels that will be highlighted by the +% selected color. The command \cs{TCSelect} can be repeated, for example, +% \begin{verbatim} +% \TCSelect{0,1,new} +% \TCSelect[blue]{second-level} +% \end{verbatim} +% If a level does \emph{not} appear in any \cs{TCSelect} command, it is +% not highlighted---that is why we do not need a separate \cs{TCOff} +% command. +% +% +% +%\section{Special Notes} +%\label{sec:guide_notes} +% +% \DescribeEnv{notes} +% Some authors include special notes, for example, bibliography +% description, that precede list of references, but follow the +% signature block. The environment |notes| is intended for this +% purpose. It has one mandatory argument, title, for example +% \begin{verbatim} +% \begin{notes}{Bibliography notes} +% The best discussion of the problem can be found in... +% \end{notes} +% \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 |https://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{\enquote}% +% \DescribeMacro{\ensquote}% +% The macros \cs{enquote} and \cs{ensquote} put their arguments in +% double and single quotes correspondingly. They are used to suppress +% unwanted commas and periods inside bibliography entries. +% +% \DescribeMacro{\suppresscomma} +% Sometimes Bib\TeX\ inserts an unwanted comma into an entry, for +% example, in the following one: +% \begin{verbatim} +% @incollection{ande97a, +% Address = {Macon, GA}, +% Author = {Anderson, Thomas C.}, +% Booktitle = {Concluding Unscientific Postscript to +% \enquote{Philosophical Fragments,}}, +% Date-Modified = {2013-09-04 21:27:17 +0000}, +% Editor = {Robert Perkins}, +% Owner = {Andrew}, +% Pages = {187--204}, +% Publisher = {Mercer University Press}, +% Series = {International Kierkegaard Commentary}, +% Timestamp = {2013.09.04}, +% Title = {Kierkegaard and Approximation Knowledge}, +% Volume = {12}, +% Year = {1997}} +% \end{verbatim} +% The command \cs{suppresscomma} suppresses the next comma: +% \begin{verbatim} +% Booktitle = {Concluding Unscientific Postscript to +% \enquote{Philosophical Fragments,\suppresscomma}}, +% \end{verbatim} +% +% +% The bibliography style has a special entry type, +% |inloosecollection|. It resembles the standard |incollection| +% entry, but it refers to a collection of papers written by separate +% authors that are quotable separately as an independent entity. This +% entry is typeset slightly differently than the standart +% |incollecttion| entry. +% +% +% \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*{Acknowledgments} +% 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} +% \changes{v1.16}{2012/12/26}{Deleted 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} +% \changes{v1.16}{2013/11/16}{Deleted 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}[true]{}{% + \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} +% +% +% \begin{macro}{\ifRESP@preprint} +% \changes{v1.13}{2013/08/14}{Added option} +% Whether we are in the preprint mode +% \begin{macrocode} +\newif\ifRESP@preprint +\RESP@preprintfalse +\DeclareOptionX{preprint}{\RESP@preprinttrue} +% \end{macrocode} +% +% \end{macro} +% \begin{macro}{\ifRESP@forthcoming} +% \changes{v1.13}{2013/08/14}{Added option} +% Whether we are in the forthcoming mode +% \begin{macrocode} +\newif\ifRESP@forthcoming +\RESP@forthcomingfalse +\DeclareOptionX{forthcoming}{\RESP@forthcomingtrue} +% \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} +% +% \changes{v1.23}{2014/11/17}{Switched to twoside mode of amsart} +% We use |amsart| since it has nice features for front matter: +% \begin{macrocode} +\LoadClass[noamsfonts,twoside]{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} +% \changes{v1.17}{2013/12/02}{Added collect package} +% \changes{v1.30}{2016/12/30}{Split URLs at hyphens} +% Some packages +% \begin{macrocode} +\RequirePackage{microtype, fancyhdr, xcolor, lastpage, collect} +\RequirePackage[bottom,multiple]{footmisc} +\PassOptionsToPackage{hyphens}{url} +\RequirePackage[hyperfootnotes=false]{hyperref} +\urlstyle{rm} +\ifRESP@manuscript\hypersetup{colorlinks,allcolors=blue}\else + \ifRESP@screen\hypersetup{colorlinks,allcolors=blue}\else + \ifRESP@preprint\hypersetup{colorlinks,allcolors=blue}\else + \ifRESP@forthcoming\hypersetup{colorlinks,allcolors=blue}\else + \hypersetup{hidelinks}\fi\fi\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. Also, it defines |b| to |mb|. so we redefine it again. +%\changes{v1.16}{2013/11/26}{Added \cmd{\bfdefault}} +% \begin{macrocode} +\ifRESP@lsabon + \RequirePackage[mdugm]{mathdesign} + \RequirePackage[rmdefault]{lsabon} + \renewcommand\scdefault{sc} + \renewcommand{\bfdefault}{b} +\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} +% \changes{v1.16}{2013/11/26}{Deleted 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} +% \changes{v1.23}{2014/11/17}{Added to paper width to accomodate +% larger thumb side margins} +% \changes{v1.25}{2015/01/25}{Returned to old page width} +% 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} +% \changes{v1.23}{2014/11/17}{Made even- and odd- side margins +% different, except in screen and forthcoming modes} +% \changes{v1.25}{2015/01/25}{Changed margins} +% \changes{v1.35}{2019/04/14}{Changed margins} +% The margins: +% \begin{macrocode} +\setlength{\evensidemargin}{-0.125in} +\setlength{\oddsidemargin}{-0.25in} +\ifRESP@screen +\setlength{\evensidemargin}{-0.1875in} +\setlength{\oddsidemargin}{-0.1875in} +\fi +\ifRESP@forthcoming +\setlength{\evensidemargin}{-0.1875in} +\setlength{\oddsidemargin}{-0.1875in} +\fi +% \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@printlinecount} +% \changes{v1.13}{2013/08/14}{Added macro} +% Do we want to print line count? +% \begin{macrocode} +\newif\ifRESP@printlinecount +\RESP@printlinecountfalse +\ifRESP@manuscript\RESP@printlinecounttrue\fi +\ifRESP@preprint\RESP@printlinecounttrue\fi +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\RESP@linecount} +% \changes{v1.4}{2012/09/06}{Changed color} +% \changes{v1.5}{2012/09/07}{Changed color} +% \changes{v1.3}{2013/08/14}{Changed check for linecount} +% This is the box displayed in the manuscript mode +% \begin{macrocode} +\ifRESP@printlinecount + \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 for headers and footers} +% \changes{v1.7}{2012/09/11}{Changed formatting of doi} +% \changes{v1.13}{2013/08/14}{Changed check for line numbering mode} +% \begin{macrocode} +\pagestyle{fancy} +\fancyhead{} +\fancyfoot{} +\fancyhead[LE]{\footnotesize\thepage\qquad\itshape\shortauthors} +\fancyhead[RO]{\footnotesize\textit{\shorttitle}\qquad\thepage} +\ifRESP@printlinecount + \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}} +\fi +\ifRESP@manuscript + \fancyfoot[C]{\scriptsize\color{red}Author's Proof}% +\fi +\ifRESP@preprint + \fancyfoot[C]{\scriptsize\color{red}Author's Pre-Print}% +\fi +% \end{macrocode} +% +% +% The first page has the special headers. The style |firstpage| is +% invoked by \progname{amsart}; here we just redefine it. +% \changes{v1.17}{2013/12/01}{Journal name on the first page footer is +% now italic} +% \changes{v1.17}{2013/12/01}{Online date for forthcoming option moved +% to the left and up} +% \changes{v1.18}{2013/12/07}{Online date for forthcoming option moved +% down} +% \changes{v1.18}{2013/12/07}{Journal name in Roman} +% \begin{macrocode} +\fancypagestyle{firstpage}{% + \fancyhf{}% + \ifRESP@printlinecount + \lhead{\begin{picture}(0,0)% + \put(-26,-20){\usebox{\RESP@linecount}}% + \end{picture}} + \fi + \ifRESP@preprint + \cfoot{\footnotesize Res Philosophica, \itshape + Vol.~\currentvolume, No.~\currentissue, + \currentmonth~\currentyear + \ifx\@doinumber\@empty\else\\% + \doi{\@doinumber}\fi + \\ + \@copyrightnote}% + \chead{\scriptsize\color{red}Author's Pre-print. Forthcoming in + Res Philosophica. Pagination may change. Published version will + be available at \url{http://pdcnet.org/resphilosophica/}} + \else + \ifRESP@forthcoming + \cfoot{\footnotesize Res + Philosophica\itshape + \ifx\currentvolume\@empty\else, % + Vol.~\currentvolume\fi + \ifx\currentissue\@empty\else, No.~\currentissue\fi + \ifx\currentmonth\@empty + \ifx\currentyear\@empty\else, \currentyear\fi + \else, + \currentmonth~\currentyear + \fi + \ifx\@doinumber\@empty\else\\% + \doi{\@doinumber}\fi + \\ + \@copyrightnote}% + \lhead{\raisebox{1.5\bigskipamount}[\z@][\z@]{\parbox{\textwidth}{\raggedright\footnotesize Published Online First: \@onlinedate}}} + \else + \cfoot{\footnotesize Res Philosophica, \itshape + \itshape Vol.~\currentvolume, No.~\currentissue, + \currentmonth~\currentyear, pp.~\start@page--\end@page + \ifx\@doinumber\@empty\else\\% + \doi{\@doinumber}\fi + \\ + \@copyrightnote}% + \fi\fi} +% \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} +% \changes{v1.13}{2013/08/14}{The default is now empty} +% This sets the volume of the paper +% \begin{macrocode} +\def\volumenumber#1{\def\currentvolume{#1}} +\volumenumber{} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\issuenumber} +% \changes{v1.13}{2013/08/14}{The default is now empty} +% This sets the issue of the paper: +% \begin{macrocode} +\def\issuenumber#1{\def\currentissue{#1}} +\issuenumber{} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\publicationyear} +% \changes{v1.13}{2013/08/14}{The default is now empty} +% This sets the year of the paper +% \begin{macrocode} +\def\publicationyear#1{\def\currentyear{#1}} +\publicationyear{} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\publicationmonth} +% \changes{v1.13}{2013/08/14}{The default is now empty} +% \changes{v1.16}{2013/11/26}{Added \cmd{\abbrevcurrentmonth}} +% This sets the month of the paper +% \begin{macrocode} +\newcommand\publicationmonth[2][]{\gdef\currentmonth{#2}% + \gdef\abbrevcurrentmonth{#1}% + \ifx\abbrevcurrentmonth\@empty\gdef\abbrevcurrentmonth{#2}\fi} +\publicationmonth{} +% \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}{\manuscriptid} +% \changes{v1.29}{2016/08/26}{Added macro} +% Submission id +% \begin{macrocode} +\def\manuscriptid#1{\gdef\@manuscriptid{#1}} +\manuscriptid{} +% +% \end{macro} +% +% +% \begin{macro}{\doinumber} +% \changes{v1.11}{2012/12/25}{Added default} +% \changes{v1.29}{2016/08/26}{Now we use \cs{manuscriptid} to make doi} +% DOI number for the article: +% \begin{macrocode} +\def\doinumber#1{\gdef\@doinumber{#1}} +\doinumber{\ifx\@manuscriptid\@empty + 10.11612/resphil.\currentyear.\currentvolume.\currentissue.\currentpaper + \else + 10.11612/resphil.\@manuscriptid + \fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\paperUrl} +% \changes{v1.21}{2014/04/11}{Added macro} +% The url to submit to crossref +% \begin{macrocode} +\def\paperUrl#1{\gdef\@paperUrl{#1}} +\paperUrl{} +% \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} +% \changes{v1.3}{2013/08/14}{In the forthcoming mode the copyright +% year is the present year} +% This is the copyright year in case it does not coincide with the +% publication year: +% \begin{macrocode} +\def\copyrightyear#1{\def\@copyrightyear{#1}} +\ifRESP@forthcoming + \copyrightyear{\the\year}\else + \copyrightyear{}\fi +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\onlinedate} +% \changes{v1.16}{2013/11/26}{Added macro} +% \begin{macro}{\@onlinedate} +% \changes{v1.16}{2013/11/26}{Added macro} +% Online date for forthcoming issues +% \begin{macrocode} +\def\onlinedate#1{\gdef\@onlinedate{#1}} +\onlinedate{\hspace*{5em}} +% \end{macrocode} +% +% \end{macro} +% \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} +% \changes{v1.13}{2013/08/18}{Changed font family for forthcoming +% mode} +% \changes{v1.16}{2013/11/26}{Deleted rpdefault} +% \changes{v1.18}{2013/12/07}{Made journal name Roman} +% 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~% + {\upshape 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} +% +% \begin{macro}{\titlenote} +% \changes{v1.13}{2013/08/14}{Added command} +% This command adds an entry to the list of titlenotes +% \begin{macrocode} +\def\@titlenotes{}% +\def\titlenote#1{% + \ifx\@empty\@titlenotes\gdef\@titlenotes{\footnote{#1}}% + \else\g@addto@macro\@titlenotes{\footnote{#1}}\fi} +% \end{macrocode} +% +% \end{macro} +% \begin{macro}{\authornote} +% \changes{v1.24}{2015/01/14}{Added command} +% This command adds an entry to the list of titlenotes +% \begin{macrocode} +\def\@authornotes{}% +\def\authornote#1{% + \ifx\@empty\@authornotes\gdef\@authornotes{\footnote{#1}}% + \else\g@addto@macro\@authornotes{\footnote{#1}}\fi} +% \end{macrocode} +% +% \end{macro} +% +%\subsection{Typesetting Top Matter} +%\label{sec:maketitle} +% +% +% \begin{macro}{\@settitle} +% \changes{v1.3}{2012/09/05}{Deleted ifpdf} +% \changes{v1.13}{2013/08/14}{Added titlenotes} +% \changes{v1.26}{2015/08/22}{Added itscshape} +% 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 + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \ifx\itscshape\@undefined\else\def\em{\itscshape}\fi + \@title\@titlenotes + \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} +% \changes{v1.24}{2015/01/14}{Added authornotes} +% 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}% + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \large\normalfont\authors\@authornotes + \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 iformation: +%\changes{v1.16}{2013/11/26}{Added suppressing first para inentation} +% \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@ + \everypar{\setbox\z@\lastbox\everypar{}}% +} +% \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} +% \changes{v1.21}{2014/04/11}{Added paperUrl} +% 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\@tempc##1##2##3##4##5{##2}% + \edef\@tempa{\expandafter\@tempc\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}% + \ifx\@paperUrl\@empty\else + \protected@write\@mainrpi{}% + {\@percentchar paperUrl=\@paperUrl}% + \fi + \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} +% \changes{v1.14}{2013/08/28}{Bug corrected} +% It seems there is a bug in |mdugm| when calculating |\sf@size|. +% Here we work around it: +% \begin{macrocode} + \def\sf@size{7}% +% \end{macrocode} +% +% \end{macro} +% \begin{macrocode} +} +% \end{macrocode} +% +% \end{macro} +% +% +%\subsection{Notes} +%\label{sec:notes} +% +% +% \begin{macro}{\notes} +% \changes{v1.16}{2013/11/28}{Added macro} +% \changes{v1.17}{2013/12/02}{Redefined using collect package} +% This is like |bibliography|: +% \begin{macrocode} +\definecollection{notes} +\newenvironment{notes}[1]{% + \@nameuse{collect}{notes}{}{}% + \makeatletter + \par\addpenalty\@secpenalty\addvspace{\bigskipamount}% + \noindent \Small #1:\par\nobreak\vskip\medskipamount\@afterheading + \makeatother +}{\@nameuse{endcollect}\AddtoEndMatter{\includecollection{notes}}} +% \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} +% \changes{v1.32}{2018/02/21}{Changed spelling of `Acknowledgments' +% (Joe Salerno)} +% 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{Acknowledgments\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} +% \changes{v1.34}{2019/03/14}{Deleted thin spaces before :} +% 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}:\space + ##2\par}\endgroup}% + \def\email##1##2{\RESP@firstingrouptrue\begingroup + \@ifnotempty{##2}{\nobreak\indent\emailaddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}:\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} +% +% \changes{v1.22}{2014/04/17}{Now we add empty even page at the end +% for printed version only} +% At the end we eject the last page. If the document is printed and +% the last page is odd, we add an empty page. +% \begin{macrocode} +\AtEndDocument{\clearpage + \ifRESP@manuscript\else + \ifRESP@screen\else + \ifRESP@preprint\else + \ifRESP@forthcoming\else + \cleardoublepage + \fi\fi\fi\fi} +% \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} +% \changes{v1.17}{2013/12/01}{Redefined so levels are suported} +% This macro is noop in normal mode, but is a tiny marginpar in the +% manusript mode +% \begin{macrocode} +\newcommand\EditorialComment[2][0]{% + \expandafter\ifx\csname EditorialComment@#1\endcsname\relax + \else\bgroup + \marginparwidth=200pt\marginpar{\color{red}% + \raggedright#2}\egroup\fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ECSelect} +% \changes{v1.17}{2013/12/01}{Added macro} +% This selects the given levels +% \begin{macrocode} +\def\ECSelect#1{\ifRESP@manuscript + \@for\EC@level:=#1\do{% + \expandafter\gdef\csname + EditorialComment@\EC@level\endcsname{\EditorialComment}}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\TC} +% \changes{v1.16}{2013/11/27}{Added macro} +% The command to highlight text if the corresponding level is +% selected. The first argument is the level, the second is text. +% \begin{macrocode} +\newcommand\TC[2][0]{% + \expandafter\ifx\csname TC@highlight@#1\endcsname\relax#2\else + \csname TC@highlight@#1\endcsname{#2}\fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\TCSelect} +% \changes{v1.16}{2013/11/27}{Added macro} +% \changes{v1.19}{2013/12/23}{Switched off colored links} +% This switches on the selected levels in the mqnuscript version +% \begin{macrocode} +\newcommand\TCSelect[2][magenta]{\ifRESP@manuscript + \@for\TC@level:=#2\do{\expandafter + \gdef\csname TC@highlight@\TC@level\endcsname##1{\bgroup + \Hy@colorlinksfalse + \def\Hy@colorlink####1{\begingroup}% + \def\Hy@endcolorlink{\endgroup}% + \color{#1}##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} +% \changes{v1.31}{2017/03/28}{Changed formatting of doi} +% Typesetting doi\dots +% \begin{macrocode} +\def\doi#1{\url{https://doi.org/#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@makefnmark} +% \changes{v1.20}{2014/03/25}{Redefined} +% The definition of \cs{@makefnmark} in amsart has a bug. Here we +% return to the \LaTeX\ one: +% \begin{macrocode} +\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} +% \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} +% \changes{v1.16}{2013/11/26}{Added small space after footnote mark} +% 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 +%</class> +% \end{macrocode} +% +% +%\Finale +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex +% +\endinput |