summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx')
-rw-r--r--Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx308
1 files changed, 241 insertions, 67 deletions
diff --git a/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx b/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx
index b9b579a51ca..54c1b99fa35 100644
--- a/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx
+++ b/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx
@@ -1,6 +1,6 @@
% \iffalse
%<*gobble>
-% $Id: resphilosophica.dtx,v 1.37 2013-09-12 08:37:13 boris Exp $
+% $Id: resphilosophica.dtx,v 1.43 2013-12-08 03:36:30 boris Exp $
%
% Copyright 2012-2013, Boris Veytsman <boris@varphi.com>
% This work may be distributed and/or modified under the
@@ -20,7 +20,7 @@
% derived file resphilosophica.cls
%
% \fi
-% \CheckSum{1238}
+% \CheckSum{1297}
%
%
%% \CharacterTable
@@ -53,7 +53,7 @@
\ProvidesFile{resphilosophica.dtx}
%</gobble>
%<class>\ProvidesClass{resphilosophica}
-[2013/09/12 v1.15 Typesetting articles for Res Philosophica]
+[2013/12/07 v1.18 Typesetting articles for Res Philosophica]
%<*gobble>
% \end{macrocode}
%
@@ -74,6 +74,13 @@
% \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}
%
%\iffalse
% \begin{macrocode}
@@ -144,9 +151,9 @@
%
% This package is intended for the authors and editors of the journal
% to typeset the articles in \LaTeX. Note that the journal is typeset
-% in \emph{Linotype Sabon,} with some elements in MT Imprint Shadow.
+% in \emph{Linotype Sabon,}.
% The users may buy the fonts and install their free \LaTeX\
-% support~\cite{Lsabon,Imprintshadow}, or use the options
+% 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
@@ -163,14 +170,13 @@
% commercial fonts to mimick the journal typesetting. The
% installation of additional fonts is therefore fully optional.
%
-% \emph{Res Philosophica} uses Linotype Sabon for the body text,
-% Monotype Imprint Shadow for some titles and URW Garamond for
-% mathematics. Sabon and MT Imprint Shadow are commercial fonts. URW
+% \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}. If you bought MT Imprint Shadow, you need
-% to install the package |imprintshadow|~\cite{Imprintshadow}. To use
+% |lsabon|~\cite{Lsabon}. To use
% URW Garamond, you need to download the |pfb| files from a CTAN
% mirror (\url{http://ctan.org/tex-archive/fonts/urw/garamond}),
% install them in the directory \path{fonts/type1/urw/garamond} under
@@ -203,15 +209,6 @@
% font metrics are present in your system, and to the use of
% Computer Modern otherwise.
%
-% \DescribeOption{rpfont}
-% The name of journal, \emph{Res Philosophica}, is typeset with the
-% special font.
-% The option |rpfont| can have three values: |imprintshadow| for
-% MT Imprint Shadow, |cm| for Computer Modern and |auto|
-% (default). The later option switches to the use of MT Imprint
-% Shadow if the
-% font metrics are present in your system, and to the use of
-% Computer Modern otherwise.
%
% \DescribeOption{manuscript}
% The option |manuscript| is intended to faciliate the communications
@@ -236,8 +233,11 @@
%
%
% \DescribeOption{forthcoming}
+% \DescribeMacro{\onlinedate}
% The option |forthcoming| is like |screen|, but it is used when there
-% is no information about the volume and or dates for publication.
+% is no information about the volume. The macro
+% \cs{onlinedate}\marg{date} can be used to set the date of online
+% publication.
%
%
%
@@ -370,7 +370,7 @@
% \volumenumber{88}
% \issuenumber{1--2}
% \publicationyear{2012}
-% \publicationmonth{January and April}
+% \publicationmonth{January--February}
% \papernumber{2}
% \startpage{1}
% \endpage{39}
@@ -378,6 +378,15 @@
% 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{\doinumber}
% Normally you do not need to set the DOI of the paper: \TeX{} will
% construct the number using the paper data (including paper number in
@@ -399,13 +408,76 @@
% start the current one from the proper page number.
%
% \DescribeMacro{\EditorialComment}
-% The macro |\EditorialComment|\oarg{comments} typesets the comments
+% 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}
+% 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}
@@ -476,6 +548,14 @@
% \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
@@ -540,10 +620,11 @@
%
% \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
+%\newif\ifRESP@mtshadow
+%\RESP@mtshadowfalse
% \end{macrocode}
%
% \end{macro}
@@ -573,24 +654,25 @@
%
% \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}
+% \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}
@@ -686,10 +768,12 @@
% \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.5}{2012/09/07}{Hyperfootnotes are incompatible with
+% hyperref}
+% \changes{v1.17}{2013/12/02}{Added collect package}
% Some packages
% \begin{macrocode}
-\RequirePackage{microtype, fancyhdr, xcolor, lastpage}
+\RequirePackage{microtype, fancyhdr, xcolor, lastpage, collect}
\RequirePackage[bottom,multiple]{footmisc}
\RequirePackage[hyperfootnotes=false]{hyperref}
\urlstyle{rm}
@@ -711,29 +795,32 @@
%
% 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:
+% 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
+%\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
+%\ifRESP@mtshadow
+% \def\rpdefault{miih}\else
+% \def\rpdefault{\rmdefault}\fi
% \end{macrocode}
%
% \end{macro}
@@ -919,6 +1006,13 @@
%
% 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{}%
@@ -928,8 +1022,8 @@
\end{picture}}
\fi
\ifRESP@preprint
- \cfoot{\footnotesize{\fontfamily{\rpdefault}\selectfont Res Philosophica,}
- \itshape Vol.~\currentvolume, No.~\currentissue,
+ \cfoot{\footnotesize Res Philosophica, \itshape
+ Vol.~\currentvolume, No.~\currentissue,
\currentmonth~\currentyear
\ifx\@doinumber\@empty\else\\%
\doi{\@doinumber}\fi
@@ -940,8 +1034,8 @@
be available at \url{http://pdcnet.org/resphilosophica/}}
\else
\ifRESP@forthcoming
- \cfoot{\footnotesize\itshape Res
- Philosophica%
+ \cfoot{\footnotesize Res
+ Philosophica\itshape
\ifx\currentvolume\@empty\else, %
Vol.~\currentvolume\fi
\ifx\currentissue\@empty\else, No.~\currentissue\fi
@@ -954,13 +1048,9 @@
\doi{\@doinumber}\fi
\\
\@copyrightnote}%
- \chead{\vspace*{-\bigskipamount}\footnotesize Forthcoming in \emph{Res
- Philosophica}%
- \ifx\currentvolume\@empty\else~\currentvolume
- \ifx\currentissue\@empty\else:\currentissue\fi\fi
- \ifx\currentyear\@empty\else~(\currentyear)\fi.}
+ \lhead{\raisebox{1.5\bigskipamount}[\z@][\z@]{\parbox{\textwidth}{\raggedright\footnotesize Published Online First: \@onlinedate}}}
\else
- \cfoot{\footnotesize{\fontfamily{\rpdefault}\selectfont Res Philosophica,}
+ \cfoot{\footnotesize Res Philosophica, \itshape
\itshape Vol.~\currentvolume, No.~\currentissue,
\currentmonth~\currentyear, pp.~\start@page--\end@page
\ifx\@doinumber\@empty\else\\%
@@ -1007,9 +1097,12 @@
% \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}
-\def\publicationmonth#1{\def\currentmonth{#1}}
+\newcommand\publicationmonth[2][]{\gdef\currentmonth{#2}%
+ \gdef\abbrevcurrentmonth{#1}%
+ \ifx\abbrevcurrentmonth\@empty\gdef\abbrevcurrentmonth{#2}\fi}
\publicationmonth{}
% \end{macrocode}
% \end{macro}
@@ -1132,6 +1225,19 @@
% \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}
@@ -1146,7 +1252,10 @@
% \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.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.
%
@@ -1160,7 +1269,7 @@
\shortauthors\cleaders\hbox{\quad\textbullet\quad}\hskip\RESP@bulletboxwidth
\textcopyright~%
\ifx\@empty\@copyrightyear\currentyear\else\@copyrightyear\fi~%
- {\ifRESP@forthcoming\else\normalfont\fontfamily{\rpdefault}\selectfont\fi Res~Philosophica}}
+ {\upshape Res~Philosophica}}%
% \end{macrocode}
% \end{macro}
%
@@ -1254,7 +1363,8 @@
%
% \begin{macro}{\maketitle}
% We redefine |\maketitle|---mostly to prevent uppercasing of
-% shorttitle and to write down the journal information:
+% 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
@@ -1275,7 +1385,7 @@
\@tempa
\endgroup
\c@footnote\z@
- \@cleartopmattertags
+ \everypar{\setbox\z@\lastbox\everypar{}}%
}
% \end{macrocode}
%
@@ -1408,6 +1518,28 @@
%
% \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}
%
@@ -1622,15 +1754,56 @@
% \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}
-\def\EditorialComment#1{\ifRESP@manuscript\bgroup
+\newcommand\EditorialComment[2][0]{%
+ \expandafter\ifx\csname EditorialComment@#1\endcsname\relax
+ \else\bgroup
\marginparwidth=200pt\marginpar{\color{red}%
- \raggedright#1}\egroup\fi}
+ \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}
+% 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{\textcolor{#1}}}%
+ \fi}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
% \begin{macro}{\doi}
% \changes{v1.1}{2012/09/01}{Added macro}
% \changes{v1.7}{2012/09/11}{Changed formatting}
@@ -1645,6 +1818,7 @@
% \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
@@ -1662,7 +1836,7 @@
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\@makefntext{%
- \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}}
+ \,\rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}}
% \end{macrocode}
%
% \end{macro}