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