From df5e500fcd495aaa663e8f84e48fac01358c392b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 18 Sep 2012 23:50:27 +0000 Subject: new latex package resphilosophica (18sep12) git-svn-id: svn://tug.org/texlive/trunk@27729 c570f23f-e606-0410-a88d-b1316a301751 --- .../bibtex/bst/resphilosophica/resphilosophica.bst | 1613 ++++++++++++++++++++ .../texmf-dist/doc/latex/resphilosophica/Makefile | 58 + Master/texmf-dist/doc/latex/resphilosophica/README | 7 + .../doc/latex/resphilosophica/resphilosophica.bib | 48 + .../doc/latex/resphilosophica/resphilosophica.pdf | Bin 0 -> 382549 bytes .../doc/latex/resphilosophica/rpsample.bib | 36 + .../doc/latex/resphilosophica/rpsample.pdf | Bin 0 -> 95281 bytes .../doc/latex/resphilosophica/rpsample.tex | 136 ++ .../latex/resphilosophica/resphilosophica.dtx | 1500 ++++++++++++++++++ .../latex/resphilosophica/resphilosophica.ins | 29 + .../tex/latex/resphilosophica/resphilosophica.cls | 440 ++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-publishers.tlpsrc | 1 + Master/tlpkg/tlpsrc/resphilosophica.tlpsrc | 0 14 files changed, 3869 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/bibtex/bst/resphilosophica/resphilosophica.bst create mode 100644 Master/texmf-dist/doc/latex/resphilosophica/Makefile create mode 100644 Master/texmf-dist/doc/latex/resphilosophica/README create mode 100644 Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.bib create mode 100644 Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.pdf create mode 100644 Master/texmf-dist/doc/latex/resphilosophica/rpsample.bib create mode 100644 Master/texmf-dist/doc/latex/resphilosophica/rpsample.pdf create mode 100644 Master/texmf-dist/doc/latex/resphilosophica/rpsample.tex create mode 100644 Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx create mode 100644 Master/texmf-dist/source/latex/resphilosophica/resphilosophica.ins create mode 100644 Master/texmf-dist/tex/latex/resphilosophica/resphilosophica.cls create mode 100644 Master/tlpkg/tlpsrc/resphilosophica.tlpsrc (limited to 'Master') diff --git a/Master/texmf-dist/bibtex/bst/resphilosophica/resphilosophica.bst b/Master/texmf-dist/bibtex/bst/resphilosophica/resphilosophica.bst new file mode 100644 index 00000000000..fdeb9063a90 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/resphilosophica/resphilosophica.bst @@ -0,0 +1,1613 @@ +%% +%% This is file `resphilosophica.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ay,nat,nm-revv1,keyxyr,dt-beg,yr-per,yrp-per,note-yr,tit-qq,atit-u,vnum-sp,volp-sp,num-xser,jnm-x,bkpg-x,add-pub,url-doi,edby,ppx,ed,abr,ord,etal-xc,url,url-nt,nfss,') +%% ---------------------------------------- +%% *** Chicago Manual of Style Author-Date *** +%% +%% Copyright 1994-2011 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edn." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +INTEGERS { nameptr namesleft numnames } + + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + duplicate$ #1 > + { "{ff~}{vv~}{ll}{, jj}" } + { "{vv~}{ll}{, jj}{, ff}" } + if$ + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + t "others" = not and + { "," * } + 'skip$ + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + t "others" = not and + { "," * } + 'skip$ + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} +FUNCTION {format.note} +{ + url empty$ + 'skip$ + { "\urlprefix\url{" url * "}" * output } + if$ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + "\enquote{" swap$ * + add.period$ "}" * + } + if$ +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + after.sentence 'output.state := +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + n.dashify + } + { + } + if$ + "pages" bibinfo.check + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ": " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ": " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "~(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.publisher.address output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.block + howpublished "howpublished" bibinfo.check output + new.block + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" 't := } + 'skip$ + if$ + t sortify * + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "a" chr.to.int$ #1 - 'last.extra.num.blank := + last.extra.num.blank 'last.extra.num.extended := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num "z" chr.to.int$ > + { "a" chr.to.int$ 'last.extra.num := + last.extra.num.extended #1 + 'last.extra.num.extended := + } + 'skip$ + if$ + last.extra.num.extended last.extra.num.blank > + { last.extra.num.extended int.to.chr$ + last.extra.num int.to.chr$ + * 'extra.label := } + { last.extra.num int.to.chr$ 'extra.label := } + if$ + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\newcommand{\enquote}[1]{``#1''}" + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `resphilosophica.bst'. diff --git a/Master/texmf-dist/doc/latex/resphilosophica/Makefile b/Master/texmf-dist/doc/latex/resphilosophica/Makefile new file mode 100644 index 00000000000..68b89a31cf5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/resphilosophica/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for resphilosophica package +# +# This file is in public domain +# +# $Id: Makefile,v 1.6 2012-09-11 22:34:31 boris Exp $ +# + +PACKAGE=resphilosophica + +SAMPLES = rpsample.tex + +PDF = $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf} + +all: ${PDF} + + +%.pdf: %.dtx $(PACKAGE).cls + pdflatex $< + - bibtex $* + pdflatex $< + - makeindex -s gind.ist -o $*.ind $*.idx + - makeindex -s gglo.ist -o $*.gls $*.glo + pdflatex $< + while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \ + do pdflatex $<; done + + +%.cls: %.ins %.dtx + pdflatex $< + +%.pdf: %.tex $(PACKAGE).cls + pdflatex $< + - bibtex $* + pdflatex $< + pdflatex $< + while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \ + do pdflatex $<; done + + +.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls + + +clean: + $(RM) $(PACKAGE).cls *.log *.aux \ + *.cfg *.glo *.idx *.toc \ + *.ilg *.ind *.out *.lof \ + *.lot *.bbl *.blg *.gls \ + *.dvi *.ps *.hd *.rpi + +distclean: clean + $(RM) $(PDF) + +# +# Archive for the distribution. Includes typeset documentation +# +archive: all clean + tar -czvf $(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude CVS . diff --git a/Master/texmf-dist/doc/latex/resphilosophica/README b/Master/texmf-dist/doc/latex/resphilosophica/README new file mode 100644 index 00000000000..9d62709e5e5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/resphilosophica/README @@ -0,0 +1,7 @@ + Typesetting Articles For Res Philosophica + +This package provides a class for typesetting articles for the journal +Res Philosophica, http://www.resphilosophica.org. + +This work was commissioned by the Saint Louis University. + diff --git a/Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.bib b/Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.bib new file mode 100644 index 00000000000..e6880cf0305 --- /dev/null +++ b/Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.bib @@ -0,0 +1,48 @@ + + +@manual{Lsabon, + author = {Boris Veytsman}, + month = {August}, + note = {\url{http://mirrors.ctan.org/fonts/lsabon/}}, + title = {Support files for the {L}inotype {S}abon Fonts}, + year = {2012}, +} + +@manual{Imprintshadow, + author = {Boris Veytsman}, + month = {August}, + note = {\url{http://mirrors.ctan.org/fonts/imprintshadow/}}, + title = {{\LaTeX} Support for {M}onotype {I}mprint {S}hadow + {F}ont}, + year = {2012}, +} + +@manual{Daly07:Natbib, + author = {Patrick W. Daly}, + month = {February}, + note = + {\url{http://mirrors.ctan.org/macros/latex/contrib/natbib}}, + title = {Natural Sciences Citations and References + (Author-Year and Numerical Schemes)}, + year = {2009}, +} + +@manual{instr-l, + month = {August}, + note = + {\url{http://mirrors.ctan.org/macros/latex/required/amslatex/classes/instr-l.pdf}}, + organization = {American Mathematical Society}, + title = {Instructions for Preparation of Papers and + Monographs, {AMS\LaTeX}}, + year = {2004}, +} + +@Article{Jackowski08:TeXBeatiesOddities, + author = {Pawe{\l} Jackowski}, + title = {{\TeX} Beauties and Oddities}, + journal = {TUGboat}, + year = 2008, + volume = 29, + pages = {207--215}, + note = {\url{http://www.tug.org/TUGboat/tb29-1/tb91pearls.pdf}} +} diff --git a/Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.pdf b/Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.pdf new file mode 100644 index 00000000000..10138674178 Binary files /dev/null and b/Master/texmf-dist/doc/latex/resphilosophica/resphilosophica.pdf differ diff --git a/Master/texmf-dist/doc/latex/resphilosophica/rpsample.bib b/Master/texmf-dist/doc/latex/resphilosophica/rpsample.bib new file mode 100644 index 00000000000..c4e73aff702 --- /dev/null +++ b/Master/texmf-dist/doc/latex/resphilosophica/rpsample.bib @@ -0,0 +1,36 @@ + + +@manual{Gregorio:Kantlipsum, + author = {Enrico Gregorio}, + month = {December}, + note = + {\url{http://mirrors.ctan.org/macros/latex/contrib/kantlipsum}}, + title = {The kantlipsum Package. Dummy text in + {K}antian Style}, + year = {2011}, +} + +@article{Hoff10, + author = {Hoff, Karla}, + title = {Fairness in Modern Society}, + journal = {Science}, + volume = 327, + number = 5972, + pages = {1467--1468}, + doi = {10.1126/science.1188537}, + year = 2010, + URL = {http://www.sciencemag.org}, + eprint = {http://www.sciencemag.org/cgi/reprint/327/5972/1467.pdf} +} + + +@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}, +} + diff --git a/Master/texmf-dist/doc/latex/resphilosophica/rpsample.pdf b/Master/texmf-dist/doc/latex/resphilosophica/rpsample.pdf new file mode 100644 index 00000000000..d02e6e73f78 Binary files /dev/null and b/Master/texmf-dist/doc/latex/resphilosophica/rpsample.pdf differ diff --git a/Master/texmf-dist/doc/latex/resphilosophica/rpsample.tex b/Master/texmf-dist/doc/latex/resphilosophica/rpsample.tex new file mode 100644 index 00000000000..11786fa8d87 --- /dev/null +++ b/Master/texmf-dist/doc/latex/resphilosophica/rpsample.tex @@ -0,0 +1,136 @@ +%\documentclass[screen]{resphilosophica} +%\documentclass[manuscript]{resphilosophica} +\documentclass{resphilosophica} +\usepackage{kantlipsum} + +\begin{document} +% +% Paper information +% +% +% We do not want \\ in the headers, hence the +% optional argument for \title +\title[A Sample Paper: A Template]{A Sample Paper:\\ A Template} +\volumenumber{90} +\issuenumber{1--2} +\publicationyear{2013} +\publicationmonth{January--February} +\doinumber{100.200/rp-32-56-78} +\author{Boris Veytsman} +\address{Computational Materials Science Center, MS 6A2\\ + George Mason University\\ + Fairfax, VA 22030\\ + USA} +\email{borisv@lk.net} +\urladdr{http://borisv.lk.net} + +% The next affiliation refers to both authors here +\author{A. U. Th\o r} +\author{C. O. R\"espondent} +\address{Kant-Forschungsstelle Universit\"at Mainz\\ + Colonel-Kleinmann-Weg 2\\ + 55128 Mainz\\ + Germany} +\thanks{The work on this package was supported by Sant Lois University} + +% Abstract must PRECEDE \maketitle +\begin{abstract} + The things in themselves are what first give rise to reason, as is + proven in the ontological manuals. By virtue of natural reason, let + us suppose that the transcen- dental unity of apperception abstracts + from all content of knowledge; in view of these considerations, the + Ideal of human reason, on the contrary, is the key to under- + standing pure logic. Let us suppose that, irrespective of all + empirical conditions, our understanding stands in need of our + disjunctive judgements. +\end{abstract} +\maketitle + + +\section{Introduction} +\label{sec:intro} + +\begin{quotation} + \em + The reader should be careful to observe that the objects in + space and time are the clue to the discovery of, certainly, + our a priori knowledge, by means of analytic unity. Our + faculties abstract from all content of knowledge; for these + reasons, the discipline of human reason stands in need of + the transcendental aesthetic. + \em \citep{Gregorio:Kantlipsum} +\EditorialComment{Is this quotation necessary?} +\end{quotation} + +\bigskip +\noindent % normally the first paragraph after a section header is not + % indented automatically, but since we have an epigraph + % here, we need to explicitly suppress indentation. +\kant[2-4]\kant[34] + +\kant*[6]\footnote{As is shown in the writings of Aristotle, pure + logic, in the case of the discipline of natural reason, abstracts + from all content of knowledge. Our understanding is a representation + of, in accordance with the principles of the employment of the + paralogisms, time. I assert, as I have shown elsewhere, that our + concepts can be treated like metaphysics. See also + \citep{Hoff10} and \citep{Knuth94:TheTeXbook}.} + +\section{Discussion} +\label{sec:discussion} + +\subsection{Negative Arguments} +\label{sec:negative} + + +We can deduce that the Ideal of practical reason, even as this relates +to our knowledge, is a representation of the discipline of human +reason. The things in themselves are just as necessary as our +understanding.\footnote{As is proven in the ontological manuals, it + remains a mystery why our experience is the mere result of the power + of the discipline of human reason, a blind but indispensable + function of the soul. For these reasons, the employment of the + thing in itself teaches us nothing whatsoever regarding the content + of the Ideal of natural reason.} The noumena prove the validity of +the manifold. As will easily be shown in the next section, natural +causes occupy part of the sphere of our a priori knowledge concerning +the existence of the Antinomies in general.\footnote{The never-ending + regress in the series of empirical conditions can be treated like + the objects in space and time. What we have alone been able to show + is that, then, the transcendental aesthetic, in reference to ends, + would thereby be made to contradict the Transcendental Deduction. + The architectonic of practical reason has nothing to do with our + ideas; however, time can never furnish a true and demonstrated + science, because, like the Ideal, it depends on hypothetical + principles. Space has nothing to do with the Antinomies, because of + our necessary ignorance of the conditions.} + + + +\kant[6-8] + +\subsubsection{An Aside on Numbers} + +\kant[124] + +\subsection{Positive Arguments} +\label{sec:positive} + +\kant[12-14] + +\section{Conclusions} +\label{sec:concl} + +\EditorialComment{A numbered list of conclusions might be better} +\kant[17-20] + +\kant*[21]\footnote{As is shown in the writings of Hume, it remains a + mystery why our judgements exclude the possibility of the + transcendental aesthetic.} + + + + +\bibliography{rpsample} + +\end{document} diff --git a/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx b/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx new file mode 100644 index 00000000000..238b037dfa2 --- /dev/null +++ b/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.dtx @@ -0,0 +1,1500 @@ +% \iffalse +%<*gobble> +% $Id: resphilosophica.dtx,v 1.20 2012-09-14 18:03:10 boris Exp $ +% +% Copyright 2012, Boris Veytsman +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3 of this license or (at your option) any +% later version. +% The latest version of the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Boris Veytsman +% +% This work consists of the file resphilosophica.dtx and the +% derived file resphilosophica.cls +% +% \fi +% \CheckSum{1030} +% +% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% \iffalse +% +% +%\section{Identification} +%\label{sec:ident} +% +% We start with the declaration who we are +% \begin{macrocode} +% +%\NeedsTeXFormat{LaTeX2e} +%<*gobble> +\ProvidesFile{resphilosophica.dtx} +% +%\ProvidesClass{resphilosophica} +[2012/09/13 v1.9 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} +% +%\iffalse +% \begin{macrocode} +\documentclass{ltxdoc} +\usepackage{array} +\usepackage{url} +% Taken from xkeyval.dtx +\makeatletter +\def\DescribeOption#1{\leavevmode\@bsphack + \marginpar{\raggedleft\PrintDescribeOption{#1}}% + \SpecialOptionIndex{#1}\@esphack\ignorespaces} +\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ } +\def\SpecialOptionIndex#1{\@bsphack + \index{#1\actualchar{\protect\ttfamily#1} + (option)\encapchar usage}% + \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar + usage}\@esphack} +\def\DescribeOptions#1{\leavevmode\@bsphack + \marginpar{\raggedleft\strut\emph{options}% + \@for\@tempa:=#1\do{% + \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa + }}\@esphack\ignorespaces} +\makeatother +\usepackage{hypdoc} +\hypersetup{breaklinks,colorlinks,linkcolor=black,citecolor=black, + pagecolor=black,urlcolor=black,hyperindex=false} +\PageIndex +\CodelineIndex +\RecordChanges +\EnableCrossrefs +\begin{document} + \DocInput{resphilosophica.dtx} +\end{document} +% \end{macrocode} +% +%<*class> +% \fi +% \MakeShortVerb{|} +% \GetFileInfo{resphilosophica.dtx} +% \newcommand{\progname}[1]{\textsf{#1}} +% \title{Typesetting Articles for \emph{Res +% Philosophica}\thanks{\copyright 2012, Boris Veytsman}~\thanks{This +% work was commissioned by the Saint Lois University}} +% \author{Boris Veytsman\thanks{% +% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, +% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} +% \date{\filedate, \fileversion} +% \maketitle +% \begin{abstract} +% This package provides a class for typesetting articles for the +% journal \emph{Res Philosophica}, +% \url{http://www.resphilosophica.org}. +% \end{abstract} +% \tableofcontents +% +% \clearpage +% +%\section{Introduction} +%\label{sec:intro} +% +% According to the statement at \url{http://www.resphilosophica.org/}, +% \emph{Res Philosophica} is an international, quarterly journal of +% philosophy that publishes research in all areas of philosophy, +% historical and topical. Founded as \emph{The Modern Schoolman} by +% Jesuit Scholastics in 1925, the journal is edited by members of the +% Philosophy Department at Saint Louis University and supported +% generously by the College of Arts and Sciences. +% +% This package is intended for the authors and editors of the journal +% to typeset the articles in \LaTeX. Note that the journal is typeset +% in \emph{Linotype Sabon,} with some elements in MT Imprint Shadow. +% The users may buy the fonts and install their free \LaTeX\ +% support~\cite{Lsabon,Imprintshadow}, or use the options +% |bodyfont=cm| and |rpfont=cm| to typeset the articles using Computer +% Modern. Of course, the line and page breaks in the latter case are +% different from those in the final version typeset with commercial +% fonts. +% +%\section{User Interface} +%\label{sec:interface} +% +% +%\subsection{Commercial Fonts} +%\label{sec:prereq} +% +% The package can be used with free Computer Modern fonts or with +% commercial fonts to mimick the journal typesetting. The +% installation of additional fonts is therefore fully optional. +% +% \emph{Res Philosophica} uses Linotype Sabon for the body text, +% Monotype Imprint Shadow for some titles and URW Garamond for +% mathematics. Sabon and MT Imprint Shadow are commercial fonts. URW +% Garamond is free, but due to license restrictions it is usually not +% included with \TeX Live, Mik\TeX\ and other major distributives. If +% you bought Linotype Sabon, you need to install the package +% |lsabon|~\cite{Lsabon}. If you bought MT Imprint Shadow, you need +% to install the package |imprintshadow|~\cite{Imprintshadow}. To use +% URW Garamond, you need to download the |pfb| files from a CTAN +% mirror (\url{http://ctan.org/tex-archive/fonts/urw/garamond}), +% install them in the directory \path{fonts/type1/urw/garamond} under +% \path{$TEXMFLOCAL} and run |texhash|. +% +%\subsection{Invocation and Options} +%\label{sec:options} +% +% To use the class put in the preamble of your document +% \begin{flushleft} +% |\documentclass[|\meta{options}|]{resphilosophica}| +% \end{flushleft} +% +% The class \progname{resphilosophica} internally loads \progname{amsart}, +% and therefore all +% class options for \progname{amsart} are technically valid. However, most of +% them are not especially meaningful for \progname{resphilosophica}. +% There are several options specific for this class. They are +% described below. Note that the class uses key-value interface for +% some options, for example +% \begin{verbatim} +% \documentclass[bodyfont=sabon]{resphilosophica} +% \end{verbatim} +% +% +% \DescribeOption{bodyfont} +% The option |bodyfont| can have three values: |sabon| for +% Sabon/Garamond fonts, |cm| for Computer Modern and |auto| +% (default). The later option switches to the use of Sabon if the +% font metrics are present in your system, and to the use of +% Computer Modern otherwise. +% +% \DescribeOption{rpfont} +% The name of journal, \emph{Res Philosophica}, is typeset with the +% special font. +% The option |rpfont| can have three values: |imprintshadow| for +% MT Imprint Shadow, |cm| for Computer Modern and |auto| +% (default). The later option switches to the use of MT Imprint +% Shadow if the +% font metrics are present in your system, and to the use of +% Computer Modern otherwise. +% +% \DescribeOption{manuscript} +% The option |manuscript| is intended to faciliate the communications +% between the editor and the author. It enables two things: +% \begin{enumerate} +% \item The numbering of lines in the manuscript is switched off in the +% normal mode, but is on in the manuscript mode. +% \item The command |\EditorialComment| is no-op in normal mode, but +% produces mariginal commentaries in the manuscript +% \end{enumerate} +% +% \DescribeOption{screen} +% The option |screen| is intended for the screen reading. When this +% option is selected, the links become highlighted. +% +% \DescribeOption{natbib} +% The preferred solution for bibliography is |natbib| +% package~\cite{Daly07:Natbib}. The option |natbib=true| (default) +% sets the package and the proper options, including bibliography +% style. The option |natbib=false| switches this behavior off, and the +% formatting of the bibliography becomes the full responsibility of +% the author. The package includes the Bib\TeX\ bibliography style +% |resphilosophica.bst|. +% +%\subsection{Topmatter} +%\label{sec:topmatter} +% +% Topmatter is the part of the article with the informations about the +% authors, their affiliations, the publication data, etc. +% +% There are two kinds of top matter commands: the ones used primarily +% for authors and the ones used primarily for editors. We describe +% them separately. +% +%\subsubsection{Commands for Authors} +%\label{sec:authors_commands} +% +% +% \DescribeMacro{\title} +% The command |\title|, as in \progname{amsart} class, has two arguments: one +% optional, and one mandatory: +% \begin{flushleft} +% |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}| +% \end{flushleft} +% The mandatory argument is the full title of the article. The +% optional argument, if present, defines the shorter version of the +% title for running heads. If the optional argument is absent, the +% full title is used instead. +% +% \DescribeMacro{\author} +% \DescribeMacro{\email} +% \DescribeMacro{\address} +% \DescribeMacro{\curraddr} +% \DescribeMacro{\urladdr} +% The interface for specifying the authors +% and their affiliations is close the the one of +% \progname{amsart}~\cite{instr-l} (and different from the standard \LaTeX). +% For each author a separate command |\author| should be used, +% followed by |\address| and (optionally) |\curraddr|, |\email| and +% |\urladdr|. +% +% \DescribeMacro{\shortauthors} +% In some cases the authors list may be too long for the running head, +% even if the abbreviated forms are used for each author. In this +% case it is possible to change the running head by a +% \emph{redefinition} of the command |\shortauthors|. This +% redefinition must be done after all |\author| commands, but before +% |\maketitle|: +% \begin{verbatim} +% \renewcommand{\shortauthors}{A.~Smith et al} +% \end{verbatim} +% +% \DescribeMacro{\thanks} +% Like \progname{amsart} (and unlike standard \LaTeX{}), +% \progname{resphilosophica} allows |\thanks| only \emph{outside} of +% commands |\title| and |\author|. The text of |\thanks| is typeset +% at the end of the paper as a footnote marked `Acknowledgements'. +% Note that the right vertical positioning of this footnote might +% require an additional run of \LaTeX. +% +% +% +% \DescribeMacro{\copyrightnote} +% Normally each paper is copyrighted by the authors and by the +% journal. This is reflected in the footnote on the +% first page of the article. However, by arrangement with the +% editors, certain papers may have different copyright. The command +% \cmd{\copyrightnote}\marg{copyright statement}, if issued, changes +% the footnote to the corresponding text, for example: +% \begin{verbatim} +% \copyrightnote{\textcopyright~2012 by the authors. This paper may +% be reproduced, in its entirety, for noncommercial purposes.} +% \end{verbatim} +% Note that if you issue this command, you should explicitly include +% both the copyright sign and the year unless the paper does not have +% a copyright, for example: +% \begin{verbatim} +% \copyrightnote{This paper is in the public domain} +% \end{verbatim} +% +% \DescribeMacro{\copyrightyear} +% Normally the copyright statement includes the year of copyright, +% which is assumed to be the publication year as specified by the +% |\publicationyear| command (see below). If this assumption is +% wrong, you may correct it, for example, +% \begin{verbatim} +% \copyrightyear{1998} +% \end{verbatim} +% +% +% \DescribeEnv{abstract} +% The abstract of the paper must be put between |\begin{abstract}| and +% |\end{abstract}|. Unlike the situation in \progname{amsart} +% class, abstract may be put \emph{after} |\maketitle|. +% +% \DescribeMacro{\maketitle} +% The macro |\maketitle| typesets the top matter. All top matter +% information should be specified before this command. +% +%\subsubsection{Commands for Editors} +%\label{sec:editors_commands} +% +% The commands described in this section should be used by the editors +% to insert the information about the published paper. They must be +% put before the |\maketitle| command. +% +% \DescribeMacro{\volumenumber} +% \DescribeMacro{\issuenumber} +% \DescribeMacro{\publicationyear} +% \DescribeMacro{\publicationmonth} +% \DescribeMacro{\doinumber} +% \DescribeMacro{\startpage} +% \DescribeMacro{\endpage} +% The macros |\volumenumber|, |\issuenumber|, |\publicationyear|, +% |\publicationmonth|, |\doinumber|, |\startpage|, |\endpage| set up the +% corresponding +% data for the paper, for example: +% \begin{verbatim} +% \volumenumber{88} +% \issuenumber{1--2} +% \publicationyear{2012} +% \publicationmonth{January and April} +% \doinumber{100.234/RP-2-3-12} +% \startpage{1} +% \endpage{39} +% \end{verbatim} +% Note that if the argument of |\endpage| is empty, \LaTeX{} tries to +% calculate the last page number as best as it can. +% +% \DescribeMacro{\prevpaper} +% Instead of setting |\startpage|, one can use the the command +% |\prevpaper|\marg{previous paper}, with the argument being the +% location and file name of the previous paper in the journal, for example: +% \begin{verbatim} +% \prevpaper{../infinity/concept_of_infinity} +% \end{verbatim} +% Note that the |.tex| suffix should \emph{not} be used. The previous +% paper must be processed by |latex| prior to the current one. In +% this case |latex| will read the last page of the previous paper, and +% start the current one from the proper page number. +% +% \DescribeMacro{\EditorialComment} +% The macro |\EditorialComment|\oarg{comments} typesets the comments +% on the margins in the |manuscript| mode, for example, +% \begin{verbatim} +% Which is a well known fact.\EditorialComment{A citation is +% needed} +% \end{verbatim} +% +% +% +%\subsection{Bibliography} +%\label{sec:guide_bib} +% +% As mentioned above, |resphilosophica| by default uses +% |natbib|~\cite{Daly07:Natbib}. You should use |natbib| commands +% like |\citet|, |\citep| etc. +% +% Note that |\bibliographystyle| command should \emph{not} be issued +% by the author: the package takes care of this. You just need to +% type +% \begin{verbatim} +% \bibliography{DATABASE, DATABASE...} +% \end{verbatim} +% +% The bibliography style used for the articles is +% |resphilosophica.bst|. Compared to standard styles it has two +% additional fields: +% \begin{description} +% \item[doi:] DOI number of the publication. Write there only the +% number: the style will automatically add |http://dx.doi.org| and +% make the reference clickable. +% \item[titlenote:] the note that should be put after the title rather +% than at the end of the entry\footnote{This field was proposed by +% Maureen Shupsky for the \emph{Annals of Mathematics} +% bibliography style.}, for example, the information about +% translators, editors of critical editions, etc: +% \begin{verbatim} +% @book{Knuth94:TheTeXbook, +% address = {Reading, MA}, +% author = {Knuth, Donald Ervin}, +% titlenote = {Illustrations by Duane Bibby}, +% publisher = {Addison-Wesley Publishing Company}, +% series = {Computers \& Typesetting A}, +% title = {The \TeX book}, +% year = {1994}, +% } +% +% \end{verbatim} +% +% \end{description} +% +% +% \DescribeMacro{\AddtoEndMatter} +% If you decide to forgo |natbib|, you can use |natbib=false| option. +% Then you should remember to put the bibliogrtaphy \emph{after} the +% end matter (authors' addresses etc) using the command |\AddtoEndMatter|: +% \begin{verbatim} +% \AddtoEndMatter{MY BIBLIOGRAPHY COMMANDS} +% \end{verbatim} +% +% \subsection*{Acknowledgements} +% This package was commissioned by the journal \emph{Res Philosophica} +% and funded by Saint Louis University. I am grateful to Jonathan +% Jacobs for tireless testing of the package. +% +% \StopEventually{% +% \bibliography{resphilosophica} +% \bibliographystyle{unsrt}} +% +% \clearpage +% +% +%\section{Implementation} +%\label{sec:impl} +% +% +%\subsection{Options} +%\label{sec:opts} +% +% We need |xkeyval| since some of our options may have values: +% \begin{macrocode} +\RequirePackage{xkeyval} +% \end{macrocode} +% +% \begin{macro}{\ifRESP@fontauto} +% First, check whether the user have the body font explicitly +% configured: +% \begin{macrocode} +\newif\ifRESP@fontauto +\RESP@fontautotrue +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\ifRESP@rpfontauto} +% \changes{v1.1}{2012/09/01}{Added macro} +% Same for \emph{Res Philosophica} font +% \begin{macrocode} +\newif\ifRESP@rpfontauto +\RESP@rpfontautotrue +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ifRESP@lsabon} +% Are we using linotype sabon? +% \begin{macrocode} +\newif\ifRESP@lsabon +\RESP@lsabonfalse +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ifRESP@mtshadow} +% \changes{v1.1}{2012/09/01}{Added macro} +% Are we using MT Imprint Shadow? +% \begin{macrocode} +\newif\ifRESP@mtshadow +\RESP@mtshadowfalse +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{bodyfont} +% And the option to check the user input: +% \begin{macrocode} +\define@choicekey*+{resphilosophica.cls}{bodyfont}[\val\nr]{auto, + sabon, lsabon, cm}[auto]{% + \ifcase\nr\relax + \RESP@fontautotrue + \or + \RESP@fontautofalse + \RESP@lsabontrue + \or + \RESP@fontautofalse + \RESP@lsabontrue + \or + \RESP@fontautofalse + \RESP@lsabonfalse + \fi}{% + \PackageWarning{resphilosophica}{The option bodyfont must be auto, + sabon or cm. Using auto}\RESP@fontautotrue} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{rpfont} +% \changes{v1.1}{2012/09/01}{Added option} +% And the option to check the user input: +% \begin{macrocode} +\define@choicekey*+{resphilosophica.cls}{rpfont}[\val\nr]{auto, + imprint, imprintshadow, cm}[auto]{% + \ifcase\nr\relax + \RESP@rpfontautotrue + \or + \RESP@rpfontautofalse + \RESP@mtshadowtrue + \or + \RESP@rpfontautofalse + \RESP@mtshadowtrue + \or + \RESP@rpfontautofalse + \RESP@mtshadowfalse + \fi}{% + \PackageWarning{resphilosophica}{The option rpfont must be auto, + imprintshadow or cm. Using auto}\RESP@rpfontautotrue} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{natbib} +% Checking natbib option: +% \begin{macrocode} +\define@boolkey+{resphilosophica.cls}[RESP@]{natbib}[tue]{}{% + \PackageWarning{resphilosophica}{The option natbib must be + yes or no. Using yes}} +\RESP@natbibtrue +% \end{macrocode} +% +% \end{macro} +% +% +% The size-changing options produce a warning: +% \begin{macrocode} +\long\def\RESP@size@warning#1{% + \ClassWarning{RESPart}{Size-changing option #1 will not be + honored}}% +\DeclareOptionX{8pt}{\RESP@size@warning{\CurrentOption}}% +\DeclareOptionX{9pt}{\RESP@size@warning{\CurrentOption}}% +\DeclareOptionX{10pt}{\RESP@size@warning{\CurrentOption}}% +\DeclareOptionX{11pt}{\RESP@size@warning{\CurrentOption}}% +\DeclareOptionX{12pt}{\RESP@size@warning{\CurrentOption}}% +% \end{macrocode} +% +% \begin{macro}{\ifRESP@manuscript} +% Manuscript mode: +% \begin{macrocode} +\newif\ifRESP@manuscript +\RESP@manuscriptfalse +\DeclareOptionX{manuscript}{\RESP@manuscripttrue} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ifRESP@screen} +% \changes{v1.4}{2012/09/06}{Added option} +% Screen mode: +% \begin{macrocode} +\newif\ifRESP@screen +\RESP@screenfalse +\DeclareOptionX{screen}{\RESP@screentrue} +% \end{macrocode} +% +% \end{macro} +% +% +% All other options are passed to \progname{amsart}: +% \begin{macrocode} +\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} +% \end{macrocode} +% +% And executing options: +% \begin{macrocode} +\ProcessOptionsX +% \end{macrocode} +% +% +% +%\subsection{Loading Classes and Packages} +%\label{sec:classes} +% +% We use |amsart| since it has nice features for front matter: +% \begin{macrocode} +\LoadClass[noamsfonts]{amsart} +% \end{macrocode} +% +% \changes{v1.3}{2012/09/05}{Ifpdf is no longer needed with modern engines} +% \changes{v1.4}{2012/09/06}{Added footmisc package with `bottom' +% option} +% \changes{v1.5}{2012/09/07}{Hyperfootnotes are incompatible with hyperref} +% Some packages +% \begin{macrocode} +\RequirePackage{microtype, fancyhdr, xcolor, lastpage} +\RequirePackage[bottom,multiple]{footmisc} +\RequirePackage[hyperfootnotes=false]{hyperref} +\urlstyle{rm} +\ifRESP@manuscript\hypersetup{colorlinks,allcolors=blue}\else + \ifRESP@screen\hypersetup{colorlinks,allcolors=blue}\else + \hypersetup{hidelinks}\fi\fi +% \end{macrocode} +% +% +% The font to use depends on the options. Note that \LaTeX\ cannot +% reliably determine whether a binary file like |SabonLTRom.pfb| +% exists in the system, so we check for the |.fd| file instead (sigh): +% \begin{macrocode} +\ifRESP@fontauto + \IfFileExists{t1lsb.fd}{\RESP@lsabontrue}{\RESP@lsabonfalse}\fi +% \end{macrocode} +% +% If the user wants, we load Sabon and URW Garamond. Note that +% mathdesign defines |sc| to be |fsc|, so we need to redefine it for +% Sabon: +% \begin{macrocode} +\ifRESP@lsabon + \RequirePackage[mdugm]{mathdesign} + \RequirePackage[rmdefault]{lsabon} + \renewcommand\scdefault{sc} +\fi +% \end{macrocode} +% +% Checking the existence of |miih| font metrics: +% \begin{macrocode} +\ifRESP@rpfontauto + \IfFileExists{t1miih.fd}{\RESP@mtshadowtrue}{\RESP@mtshadowfalse}\fi +% \end{macrocode} +% +% +% \begin{macro}{\rpdefault} +% \changes{v1.1}{2012/09/01}{Added macro} +% This is the font for \emph{Res Philosophica:} +% \begin{macrocode} +\ifRESP@mtshadow + \def\rpdefault{miih}\else + \def\rpdefault{\rmdefault}\fi +% \end{macrocode} +% +% \end{macro} +% +% +% +% \begin{macro}{\AddtoEndMatter} +% A syntax sugar to add something after signature: +% \begin{macrocode} +\def\AddtoEndMatter#1{\g@addto@macro\enddoc@text{#1}} +% \end{macrocode} +% +% \end{macro} +% +% And loading natbib: +% \changes{v1.2}{2012/09/04}{Changed font for bibliography} +% \changes{v1.2}{2012/09/04}{Changed skip for bibliography} +% \changes{v1.3}{2012/09/05}{Added penalties} +% \changes{v1.4}{2012/09/06}{Changed bibsection font} +% \begin{macrocode} +\ifRESP@natbib + \RequirePackage[round]{natbib} + \AtEndDocument{\bibliographystyle{resphilosophica}} + \let\RESP@bibliography=\bibliography + \def\bibliography#1{\AddtoEndMatter{\RESP@bibliography{#1}}} + \def\bibsection{\par\addpenalty\@secpenalty\addvspace{\bigskipamount}% + \noindent \Small References:\par\nobreak\vskip\medskipamount\@afterheading} + \def\bibfont{\Small} +\fi +% \end{macrocode} +% +% +%\subsection{Page Dimensions and Paragraphing} +%\label{sec:page} +% +% \begin{macro}{\pdfpaperwidth} +% \begin{macro}{\pdfpaperheight} +% \changes{v1.3}{2012/09/05}{Deleted ifpdf} +% \changes{v1.4}{2012/09/06}{Changed paper in the manuscript mode} +% Paper: +% \begin{macrocode} +\ifRESP@manuscript\else +\AtBeginDocument{\setlength{\pdfpagewidth}{432bp}% + \setlength{\pdfpageheight}{648bp}} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\textwidth} +% \begin{macro}{\textheight} +% The size of the type block: +% \begin{macrocode} +\setlength{\textwidth}{318pt} +\setlength{\textheight}{540pt} +% \end{macrocode} +% +% \end{macro} +% \end{macro} +% +% \begin{macro}{\evensidemargin} +% \begin{macro}{\oddsidemargin} +% The margins: +% \begin{macrocode} +\setlength{\evensidemargin}{-18pt} +\setlength{\oddsidemargin}{\evensidemargin} +% \end{macrocode} +% +% \end{macro} +% \end{macro} +% +% \begin{macro}{\topmargin} +% Top margin +% \begin{macrocode} +\setlength{\topmargin}{-48pt} +% \end{macrocode} +% +% \end{macro} +% \begin{macro}{\listisep} +% \changes{v1.2}{2012/09/04}{Redefined} +% This is the space around lists. |amsart| defines it as +% |\smallskipamount|. We slightly increase it: +% \begin{macrocode} +\listisep\medskipamount +% \end{macrocode} +% +% \end{macro} +% +%\subsection{Headers} +%\label{sec:headers} +% +% \begin{macro}{\headsep} +% Separation between the header and the body +% \begin{macrocode} +\setlength{\headsep}{14pt} +% \end{macrocode} +% +% +% \begin{macro}{\headheight} +% The height of the headers: +% \begin{macrocode} +\setlength{\headheight}{12pt} +% \end{macrocode} +% +% \end{macro} +% +% \end{macro} +% \begin{macro}{\headrulewidth} +% \begin{macro}{\footrulewidth} +% We do not want decorative rules in the journal: +% \begin{macrocode} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\footskip} +% \changes{v1.7}{2012/09/11}{Decreased to fit doi number} +% Separation between the footer and the body +% \begin{macrocode} +\setlength{\footskip}{20pt} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\RESP@linecount} +% \changes{v1.4}{2012/09/06}{Changed color} +% \changes{v1.5}{2012/09/07}{Changed color} +% This is the box displayed in the manuscript mode +% \begin{macrocode} +\ifRESP@manuscript + \newsavebox{\RESP@linecount} + \savebox{\RESP@linecount}[4em][t]{\parbox[t]{4em}{% + \@tempcnta\@ne\relax + \loop{\color{red}\scriptsize\the\@tempcnta}\\ + \advance\@tempcnta by \@ne\ifnum\@tempcnta<47\repeat}} +\fi +% \end{macrocode} +% +% \end{macro} +% +% It is easy to set up headers with \progname{fancyhdr}: +% \changes{v1.4}{2012/09/06}{Changed color of ``Author's proof' mark} +% \changes{v1.5}{2012/09/07}{Changed color} +% \changes{v1.7}{2012/09/11}{Changed formatting of doi} +% \begin{macrocode} +\pagestyle{fancy} +\fancyhead{} +\fancyfoot{} +\fancyhead[LE]{\footnotesize\thepage\qquad\itshape\shortauthors} +\fancyhead[RO]{\footnotesize\textit{\shorttitle}\qquad\thepage} +\ifRESP@manuscript + \fancyhead[LE]{\begin{picture}(0,0)% + \put(-26,-22){\usebox{\RESP@linecount}}% + \end{picture}\footnotesize\thepage\qquad\itshape\shortauthors} + \fancyhead[LO]{\begin{picture}(0,0)% + \put(-21,-22){\usebox{\RESP@linecount}}% + \end{picture}} + \fancyfoot[C]{\scriptsize\color{red}Author's Proof} +\fi +% \end{macrocode} +% +% +% The first page has the special headers. The style |firstpage| is +% invoked by \progname{amsart}; here we just redefine it. +% \begin{macrocode} +\fancypagestyle{firstpage}{% + \fancyhf{}% + \ifRESP@manuscript + \lhead{\begin{picture}(0,0)% + \put(-26,-20){\usebox{\RESP@linecount}}% + \end{picture}} + \fi + \cfoot{\footnotesize{\fontfamily{\rpdefault}\selectfont Res Philosophica,} + \itshape Vol.~\currentvolume, No.~\currentissue, + \currentmonth~\currentyear, pp.~\start@page--\end@page + \ifx\@doinumber\@empty\else\\% + \doi{\@doinumber}\fi + \\ + \@copyrightnote}} +% \end{macrocode} +% +% +% +%\subsection{Top Matter Macros} +%\label{sec:top_matter_code} +% +% Most top matter macros are defined in \progname{amsart}. Here we +% just add some new macros and redefine some. +% +% +% The next macros mimic the functionality of \progname{amsart} +% |\issueinfo| command. Note that |\issueinfo| still works. +% \begin{macro}{\volumenumber} +% This sets the volume of the paper +% \begin{macrocode} +\def\volumenumber#1{\def\currentvolume{#1}} +\volumenumber{00} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\issuenumber} +% This sets the issue of the paper: +% \begin{macrocode} +\def\issuenumber#1{\def\currentissue{#1}} +\issuenumber{0--0} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\publicationyear} +% This sets the year of the paper +% \begin{macrocode} +\def\publicationyear#1{\def\currentyear{#1}} +\publicationyear{2090} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\publicationmonth} +% This sets the month of the paper +% \begin{macrocode} +\def\publicationmonth#1{\def\currentmonth{#1}} +\publicationmonth{January--February} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\doinumber} +% \changes{v1.1}{2012/09/01}{Added macro} +% DOI number for the article: +% \begin{macrocode} +\def\doinumber#1{\gdef\@doinumber{#1}} +\doinumber{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\startpage} +% This defines the starting page of the paper. We have some nice +% features to set up roman page numbers for editorial +% stuff---probably not needed for this journal at this time\dots +% \begin{macrocode} +\def\startpage#1{\pagenumbering{arabic}\setcounter{page}{#1}% + \def\start@page{#1}% + \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}% + \def\start@page{\romannumeral#1}% + \fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\endpage} +% This macro again has a twist in it: if the argument is not set, it +% calculates the last page number itself. +% \begin{macrocode} +\def\endpage#1{\def\@tempa{#1}% + \ifx\@tempa\@empty\def\end@page{\pageref{LastPage}}% + \else\def\end@page{#1}\fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pagespan} +% This macro is different from the one provided by \progname{amsart} +% because we want to have the option of automatic calculation of the +% last page number. +% \begin{macrocode} +\def\pagespan#1#2{\startpage{#1}\endpage{#2}} +\pagespan{1}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\articleentry} +% This is necessary for |\prevpaper| command. We read the TOC entry +% from the previous paper and increment it by 1. Note that we +% always start with on an odd page, since the additional check +% \begin{macrocode} +\def\articleentry#1#2#3#4{\@tempcnta=#4\relax + \advance\@tempcnta by 1\relax + \ifodd\the\@tempcnta\else\advance\@tempcnta by 1\relax\fi + \startpage{\the\@tempcnta}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\prevpaper} +% This sets the previous paper location and reads the information +% from the previous paper +% \begin{macrocode} +\def\prevpaper#1{\IfFileExists{#1.rpi}{% + \ClassInfo{resphilosophica}{% + Reading first page number from the file #1.rpi}% + \input{#1.rpi}% + }{\ClassWarning{resphilosophica}{Cannot find the file #1.rpi. + Did you run latex on the previous paper?}}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{abstract} +% We slightly redefine abstract comparing to \progname{amsart} +% conventions: +% \begin{macrocode} +\renewenvironment{abstract}{% + \ifx\maketitle\relax + \ClassWarning{resphilosophica}{Abstract should precede + \protect\maketitle\space in AMS derived classes}% + \fi + \global\setbox\abstractbox=\vtop\bgroup% + \vglue1pc% + \list{}{\labelwidth\z@% + \leftmargin3pc \rightmargin\leftmargin% + \listparindent\normalparindent \itemindent\z@% + \parsep\z@ \@plus\p@% + \let\fullwidthdisplay\relax% + }% + \item[]\normalfont\normalsize\textbf{\abstractname:}\space +}{% + \endlist\egroup% + \ifx\@setabstract\relax\@setabstracta\fi% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\copyrightyear} +% This is the copyright year in case it does not coincide with the +% publication year: +% \begin{macrocode} +\def\copyrightyear#1{\def\@copyrightyear{#1}} +\copyrightyear{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\RESP@bulletboxwidth} +% \changes{v1.9}{2012/09/13}{Added macro} +% This is the width of a box with a bullet for copyright note: +% \begin{macrocode} +\newlength\RESP@bulletboxwidth +\settowidth\RESP@bulletboxwidth{\quad\textbullet\quad} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\copyrightnote} +% \changes{v1.2}{2012/09/02}{Used \cmd{\rpdefault} for RP font} +% \changes{v1.9}{2012/09/13}{Made bullet disappear at break} +% This is the copyrightnote. The default has some trickery with the +% year and short authors. +% +% The disappearing bullet is based on the trick by Marcin +% Wolin\'nski, who noted that \cmd{\cleaders} are discardable +% (see~\cite{Jackowski08:TeXBeatiesOddities}). +% \begin{macrocode} +\def\copyrightnote#1{\def\@copyrightnote{#1}} +\copyrightnote{\textcopyright~% + \ifx\@empty\@copyrightyear\currentyear\else\@copyrightyear\fi~% + \shortauthors\cleaders\hbox{\quad\textbullet\quad}\hskip\RESP@bulletboxwidth + \textcopyright~% + \ifx\@empty\@copyrightyear\currentyear\else\@copyrightyear\fi~% + {\normalfont\fontfamily{\rpdefault}\selectfont Res~Philosophica}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\author} +% The base class puts into |\addresses| the strange line +% |\author{}|. We correct this: +% \begin{macrocode} +\renewcommand{\author}[2][]{% + \ifx\@empty\addresses + \gdef\addresses{\author{#2}}% + \else + \g@addto@macro\addresses{\author{#2}}% + \fi + \ifx\@empty\authors + \gdef\authors{#2}% + \else + \g@addto@macro\authors{\and#2}% + \fi + \@ifnotempty{#1}{% + \ifx\@empty\shortauthors + \gdef\shortauthors{#1}% + \else + \g@addto@macro\shortauthors{\and#1}% + \fi + }% +} +\edef\author{\@nx\@dblarg + \@xp\@nx\csname\string\author\endcsname} +% \end{macrocode} +% +% \end{macro} +% +% +%\subsection{Typesetting Top Matter} +%\label{sec:maketitle} +% +% +% \begin{macro}{\@settitle} +% \changes{v1.3}{2012/09/05}{Deleted ifpdf} +% We do not uppercase title. Also, we use this occasion to set PDF +% information: +% \begin{macrocode} +\def\@settitle{\begin{center}% + \baselineskip20\p@\relax + \LARGE\scshape + \@title + \hypersetup{pdftitle=\@title}% + \end{center}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@setauthors} +% \changes{v1.1}{2012/09/01}{Changed font} +% \changes{v1.2}{2012/09/04}{Changed font} +% \changes{v1.3}{2012/09/05}{Deleted ifpdf} +% Now we typeset authors according to our specs. Again, we use this +% occasion to set some PDF information: +% \begin{macrocode} +\def\@setauthors{% + \ifx\authors\@empty\relax\else + \begingroup + \def\thanks{\protect\thanks@warning}% + \trivlist + \centering\footnotesize \@topsep30\p@\relax + \advance\@topsep by -\baselineskip + \item\relax + \def\@@and{{and}} + \author@andify\authors + \hypersetup{pdfauthor=\authors}% + \def\\{\protect\linebreak}% + \large\normalfont\authors% + \endtrivlist + \endgroup + \fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\maketitle} +% We redefine |\maketitle|---mostly to prevent uppercasing of +% shorttitle and to write down the journal information: +% \begin{macrocode} +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \@setcopyright + \thispagestyle{firstpage}% this sets first page specifications + \ifx\@empty\shortauthors \let\shortauthors\shorttitle + \else \andify\shortauthors + \fi + \@maketitle@hook + \RESP@write@paper@info + \begingroup + \@maketitle + \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}% + \toks4{\def\\{ \ignorespaces}}% defend against questionable usage + \edef\@tempa{% + \@nx\markboth{\the\toks4 + \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}% + \@tempa + \endgroup + \c@footnote\z@ + \@cleartopmattertags +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@maketitle} +% \changes{v1.1}{2012/09/01}{Redefined macro} +% We delete top space introduced by |amsart|: +% \begin{macrocode} +\def\@maketitle{% + \normalfont\normalsize + \@adminfootnotes + \@mkboth{\@nx\shortauthors}{\@nx\shorttitle}% + \@settitle + \ifx\@empty\authors \else \@setauthors \fi + \ifx\@empty\@dedicatory + \else + \baselineskip18\p@ + \vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}% + \global\dimen@i\prevdepth}\prevdepth\dimen@i + \fi + \@setabstract + \normalsize + \if@titlepage + \newpage + \else + \dimen@34\p@ \advance\dimen@-\baselineskip + \vskip\dimen@\relax + \fi +} % end \@maketitle +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mainrpi} +% The stream for the rpi file: +% \begin{macrocode} +\newwrite\@mainrpi +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\RESP@write@paper@info} +% \changes{v1.1}{2012/09/01}{Added protection for \cmd{\\}} +% \changes{v1.2}{2012/09/02}{Used \cmd{\protected@write}} +% This writes the information about the paper into the file +% |jobname.rpi|. Note that hyperref makes our life a little bit +% more complex +% \begin{macrocode} +\def\RESP@write@paper@info{% + \bgroup + \if@filesw + \openout\@mainrpi\jobname.rpi% + \write\@mainrpi{\relax}% + \ifx\r@LastPage\@undefined + \edef\@tempa{\start@page}% + \else + \def\@tempb##1##2##3##4##5{##2}% + \edef\@tempa{\expandafter\@tempb\r@LastPage}% + \fi + \def\and{\string\and\space}% + \protected@write\@mainrpi{}% + {\string\articleentry{\authors}{\@title}{\start@page}{\@tempa}}% + \closeout\@mainrpi + \fi +\egroup} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@adminfootnotes} +% \changes{v1.2}{2012/09/04}{Redefined} +% We just define this to noop: +% \begin{macrocode} +\def\@adminfootnotes{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@cleartopmattertags} +% \changes{v1.2}{2012/09/04}{Redefined} +% We typeset thankses at the end of the paper so we do not clear them: +% \begin{macrocode} +\def\@cleartopmattertags{% + \def\do##1{\let##1\relax}% + \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title + \do\author \do\@xauthor \do\address \do\@xaddress + \do\contrib \do\contribs \do\xcontribs \do\toccontribs + \do\email \do\@xemail \do\curraddr \do\@xcurraddr + \do\commby \do\@commby + \do\dedicatory \do\@dedicatory \do\thanks + \do\keywords \do\@keywords \do\subjclass \do\@subjclass +% \end{macrocode} +% \begin{macro}{\sf@size} +% \changes{v1.8}{2012/09/12}{Added definition} +% It seems there is a bug in |mdugm| when calculating |\sf@size|. +% Here we work around it: +% \begin{macrocode} + \def\sf@size{7pt}% +% \end{macrocode} +% +% \end{macro} +% \begin{macrocode} +} +% \end{macrocode} +% +% \end{macro} +% +%\subsection{Typesetting End Matter} +%\label{sec:endmatter} +% +% End matter is typeset at the end of the paper. +% +% \begin{macro}{\if@enddoc} +% \changes{v1.5}{2012/09/07}{Added macro} +% Check whether we are in the end matter +% \begin{macrocode} +\newif\if@enddoc +\@enddocfalse +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\enddoc@text} +% \changes{v1.2}{2012/09/04}{Redefined} +% \changes{v1.5}{2012/09/07}{Added flag} +% \changes{v1.8}{2012/09/12}{Changed bibliography} +% We put thankses into end matter. Also, we redefine bibliography +% back to the original definition in case someone writes +% |\AddtoEndMatter{\bibliography{}}| +% \begin{macrocode} +\def\enddoc@text{% + \@enddoctrue\def\bibliography{\RESP@bibliography}% + \ifx\@empty\thankses\else + \bgroup + \let\@makefnmark\relax + \let\@thefnmark\relax +% \end{macrocode} +% Check, whether we are at the same page as the last footnote; if yes, +% add medskip. +% \begin{macrocode} + \ifx\lastfootnote@page\@undefined\else + \@tempcnta=\lastfootnote@page\relax + \ifnum\c@page=\@tempcnta\relax + \insert\footins{\medskip}% + \fi + \fi +% \end{macrocode} +% +% +% \begin{macrocode} + \@footnotetext{% + \def\par{\let\par\@par}\textbf{Acknowledgements\quad} \@setthanks}% + \egroup + \fi + \ifx\@empty\@translators \else\@settranslators\fi + \ifx\@empty\addresses \else\@setaddresses\fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ifRESP@firstingroup} +% A group of authors is separated by a skip from another group. +% This macro checks whether this is the first one +% \begin{macrocode} +\newif\ifRESP@firstingroup +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\emailaddrname} +% The name for e-mail address: +% \begin{macrocode} +\def\emailaddrname{E-mail} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@setaddresses} +% \changes{v1.2}{2012/09/04}{Changed font} +% \changes{v1.3}{2012/09/05}{Added penalties} +% \changes{v1.9}{2012/09/13}{Added penalties} +% Unlike |aomart|, we want to preserve author's name in the address +% block. Also, we want to keep linebreaks and to have clickable +% e-mail and URL. +% +% We want to skip between the author groups (several authors with +% the same affiliation), so we check whether the previous line +% contains another author: +% \begin{macrocode} +\def\@setaddresses{\par + \nobreak \begingroup\flushright\clubpenalty\@MM\interlinepenalty\@MM + \widowpenalty\@MM + \RESP@firstingrouptrue +\Small + \def\author##1{\nobreak\ifRESP@firstingroup\par + \addvspace\bigskipamount\penalty-1000\fi + \RESP@firstingroupfalse##1\par\nobreak}% + \parindent\z@ + \def\address##1##2{\RESP@firstingrouptrue\begingroup + \par\nobreak + \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% + {\ignorespaces##2}\par\endgroup}% + \def\curraddr##1##2{\RESP@firstingrouptrue\begingroup + \@ifnotempty{##2}{\nobreak\indent\curraddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\hskip0.2em:\space + ##2\par}\endgroup}% + \def\email##1##2{\RESP@firstingrouptrue\begingroup + \@ifnotempty{##2}{\nobreak\indent\emailaddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\hskip0.2em:\space + \href{mailto:##2}{\nolinkurl{##2}}\par}\endgroup}% + \def\urladdr##1##2{\RESP@firstingrouptrue\begingroup + \@ifnotempty{##2}{\nobreak\indent + \@ifnotempty{##1}{, \ignorespaces##1\unskip}% + \url{##2}\par}\endgroup}% + \addresses + \endgroup +} +% \end{macrocode} +% +% \end{macro} +% +% At the end we eject the last page +% \begin{macrocode} +\AtEndDocument{\cleardoublepage} +% \end{macrocode} +% +% +%\subsection{Sectioning} +%\label{sec:sectioning} +% +% \begin{macro}{\@seccntformat} +% We do not want our numbers to be upright and medium series, as +% |amsart| wants: +% \begin{macrocode} +\def\@seccntformat#1{% + \csname the#1\endcsname\enspace +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\section} +% \changes{v1.1}{2012/09/01}{Moved to LaTeX defaults} +% \changes{v1.2}{2012/09/04}{Changed font} +% We want our sections to be large and bold: +% \begin{macrocode} +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\large\bfseries}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\subsection} +% \changes{v1.1}{2012/09/01}{Moved to LaTeX defaults} +% \changes{v1.2}{2012/09/04}{Changed font} +% Subsections are bold +% \begin{macrocode} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\subsubsection} +% \changes{v1.1}{2012/09/01}{Moved to LaTeX defaults} +% \changes{v1.2}{2012/09/04}{Changed font} +% Subsubsections are normalsize and italic +% \begin{macrocode} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\itshape}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\paragraph} +% \changes{v1.4}{2012/09/06}{Moved to LaTeX default} +% Paragraphs: +% \begin{macrocode} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\subparagraph} +% \changes{v1.4}{2012/09/06}{Moved to LaTeX default} +% Paragraphs: +% \begin{macrocode} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}} +% \end{macrocode} +% +% \end{macro} +% +%\subsection{Additional Commands} +%\label{sec:additional} +% +% +% \begin{macro}{\@mparswitch} +% \changes{v1.1}{2012/09/01}{Changed default} +% We always put marginpars on the right since the line box is on the left +% \begin{macrocode} +\@mparswitchfalse +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\EditorialComment} +% \changes{v1.1}{2012/09/01}{Added macro} +% \changes{v1.4}{2012/09/06}{Changed font} +% \changes{v1.4}{2012/09/06}{Changed color} +% \changes{v1.5}{2012/09/07}{Changed color} +% This macro is noop in normal mode, but is a tiny marginpar in the +% manusript mode +% \begin{macrocode} +\def\EditorialComment#1{\ifRESP@manuscript\bgroup + \marginparwidth=200pt\marginpar{\color{red}% + \raggedright#1}\egroup\fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\doi} +% \changes{v1.1}{2012/09/01}{Added macro} +% \changes{v1.7}{2012/09/11}{Changed formatting} +% Typesetting doi\dots +% \begin{macrocode} +\def\doi#1{\url{http://dx.doi.org/#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@makefntext} +% \changes{v1.4}{2012/09/06}{Redefined} +% \changes{v1.5}{2012/09/06}{Added writing the current footnote page +% to the aux file} +% Unlike |amsart|, we do not indent footnotes: +% \begin{macrocode} +\def\@makefntext{\noindent\@makefnmark + \if@enddoc\else + \immediate\write\@mainaux% + {\string\xdef\string\lastfootnote@page{\the\c@page}}% + \fi} +\long\def\@footnotetext#1{% + \insert\footins{% + \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} +% \end{macrocode} +% +% \end{macro} +% +%\subsection{The End} +%\label{sec:end} +% +% +% Philosophers love footnotes, since |\raggedbottom| +% \begin{macrocode} +\raggedbottom\normalsize\normalfont +% +% \end{macrocode} +% +% +%\Finale +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex +% +\endinput diff --git a/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.ins b/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.ins new file mode 100644 index 00000000000..601a9acecad --- /dev/null +++ b/Master/texmf-dist/source/latex/resphilosophica/resphilosophica.ins @@ -0,0 +1,29 @@ +% +% Docstrip file for resphilosophica +% This file is in public domain +% $Id: resphilosophica.ins,v 1.1 2012-08-21 20:22:23 boris Exp $ +% +\def\batchfile{resphilosophica.ins} +\input docstrip +\keepsilent +\showprogress + + +\askforoverwritefalse + +\generate{% + \file{resphilosophica.cls}{\from{resphilosophica.dtx}{class}}} + +\obeyspaces +\Msg{*****************************************************}% +\Msg{* Congratulations! You successfully generated the *}% +\Msg{* resphilosophica package. *}% +\Msg{* *}% +\Msg{* Please move resphilosophica.cls to the place *}% +\Msg{* for LaTeX files in your system. The manual is in *}% +\Msg{* the file resphilosophica.pdf. *}% +\Msg{* *}% +\Msg{* The package is released under LPPL *}% +\Msg{* *}% +\Msg{* Happy TeXing! *}% +\Msg{*****************************************************}% \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/resphilosophica/resphilosophica.cls b/Master/texmf-dist/tex/latex/resphilosophica/resphilosophica.cls new file mode 100644 index 00000000000..24ea5414aef --- /dev/null +++ b/Master/texmf-dist/tex/latex/resphilosophica/resphilosophica.cls @@ -0,0 +1,440 @@ +%% +%% This is file `resphilosophica.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% resphilosophica.dtx (with options: `class') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from resphilosophica.cls. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file resphilosophica.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{resphilosophica} +[2012/09/13 v1.9 Typesetting articles for Res Philosophica] +\RequirePackage{xkeyval} +\newif\ifRESP@fontauto +\RESP@fontautotrue +\newif\ifRESP@rpfontauto +\RESP@rpfontautotrue +\newif\ifRESP@lsabon +\RESP@lsabonfalse +\newif\ifRESP@mtshadow +\RESP@mtshadowfalse +\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} +\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@boolkey+{resphilosophica.cls}[RESP@]{natbib}[tue]{}{% + \PackageWarning{resphilosophica}{The option natbib must be + yes or no. Using yes}} +\RESP@natbibtrue +\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}}% +\newif\ifRESP@manuscript +\RESP@manuscriptfalse +\DeclareOptionX{manuscript}{\RESP@manuscripttrue} +\newif\ifRESP@screen +\RESP@screenfalse +\DeclareOptionX{screen}{\RESP@screentrue} +\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} +\ProcessOptionsX +\LoadClass[noamsfonts]{amsart} +\RequirePackage{microtype, fancyhdr, xcolor, lastpage} +\RequirePackage[bottom,multiple]{footmisc} +\RequirePackage[hyperfootnotes=false]{hyperref} +\urlstyle{rm} +\ifRESP@manuscript\hypersetup{colorlinks,allcolors=blue}\else + \ifRESP@screen\hypersetup{colorlinks,allcolors=blue}\else + \hypersetup{hidelinks}\fi\fi +\ifRESP@fontauto + \IfFileExists{t1lsb.fd}{\RESP@lsabontrue}{\RESP@lsabonfalse}\fi +\ifRESP@lsabon + \RequirePackage[mdugm]{mathdesign} + \RequirePackage[rmdefault]{lsabon} + \renewcommand\scdefault{sc} +\fi +\ifRESP@rpfontauto + \IfFileExists{t1miih.fd}{\RESP@mtshadowtrue}{\RESP@mtshadowfalse}\fi +\ifRESP@mtshadow + \def\rpdefault{miih}\else + \def\rpdefault{\rmdefault}\fi +\def\AddtoEndMatter#1{\g@addto@macro\enddoc@text{#1}} +\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 +\ifRESP@manuscript\else +\AtBeginDocument{\setlength{\pdfpagewidth}{432bp}% + \setlength{\pdfpageheight}{648bp}} +\fi +\setlength{\textwidth}{318pt} +\setlength{\textheight}{540pt} +\setlength{\evensidemargin}{-18pt} +\setlength{\oddsidemargin}{\evensidemargin} +\setlength{\topmargin}{-48pt} +\listisep\medskipamount +\setlength{\headsep}{14pt} +\setlength{\headheight}{12pt} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +\setlength{\footskip}{20pt} +\ifRESP@manuscript + \newsavebox{\RESP@linecount} + \savebox{\RESP@linecount}[4em][t]{\parbox[t]{4em}{% + \@tempcnta\@ne\relax + \loop{\color{red}\scriptsize\the\@tempcnta}\\ + \advance\@tempcnta by \@ne\ifnum\@tempcnta<47\repeat}} +\fi +\pagestyle{fancy} +\fancyhead{} +\fancyfoot{} +\fancyhead[LE]{\footnotesize\thepage\qquad\itshape\shortauthors} +\fancyhead[RO]{\footnotesize\textit{\shorttitle}\qquad\thepage} +\ifRESP@manuscript + \fancyhead[LE]{\begin{picture}(0,0)% + \put(-26,-22){\usebox{\RESP@linecount}}% + \end{picture}\footnotesize\thepage\qquad\itshape\shortauthors} + \fancyhead[LO]{\begin{picture}(0,0)% + \put(-21,-22){\usebox{\RESP@linecount}}% + \end{picture}} + \fancyfoot[C]{\scriptsize\color{red}Author's Proof} +\fi +\fancypagestyle{firstpage}{% + \fancyhf{}% + \ifRESP@manuscript + \lhead{\begin{picture}(0,0)% + \put(-26,-20){\usebox{\RESP@linecount}}% + \end{picture}} + \fi + \cfoot{\footnotesize{\fontfamily{\rpdefault}\selectfont Res Philosophica,} + \itshape Vol.~\currentvolume, No.~\currentissue, + \currentmonth~\currentyear, pp.~\start@page--\end@page + \ifx\@doinumber\@empty\else\\% + \doi{\@doinumber}\fi + \\ + \@copyrightnote}} +\def\volumenumber#1{\def\currentvolume{#1}} +\volumenumber{00} +\def\issuenumber#1{\def\currentissue{#1}} +\issuenumber{0--0} +\def\publicationyear#1{\def\currentyear{#1}} +\publicationyear{2090} +\def\publicationmonth#1{\def\currentmonth{#1}} +\publicationmonth{January--February} +\def\doinumber#1{\gdef\@doinumber{#1}} +\doinumber{} +\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} +\def\endpage#1{\def\@tempa{#1}% + \ifx\@tempa\@empty\def\end@page{\pageref{LastPage}}% + \else\def\end@page{#1}\fi} +\def\pagespan#1#2{\startpage{#1}\endpage{#2}} +\pagespan{1}{} +\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}} +\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?}}} +\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% +} +\def\copyrightyear#1{\def\@copyrightyear{#1}} +\copyrightyear{} +\newlength\RESP@bulletboxwidth +\settowidth\RESP@bulletboxwidth{\quad\textbullet\quad} +\def\copyrightnote#1{\def\@copyrightnote{#1}} +\copyrightnote{\textcopyright~% + \ifx\@empty\@copyrightyear\currentyear\else\@copyrightyear\fi~% + \shortauthors\cleaders\hbox{\quad\textbullet\quad}\hskip\RESP@bulletboxwidth + \textcopyright~% + \ifx\@empty\@copyrightyear\currentyear\else\@copyrightyear\fi~% + {\normalfont\fontfamily{\rpdefault}\selectfont Res~Philosophica}} +\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} +\def\@settitle{\begin{center}% + \baselineskip20\p@\relax + \LARGE\scshape + \@title + \hypersetup{pdftitle=\@title}% + \end{center}% +} +\def\@setauthors{% + \ifx\authors\@empty\relax\else + \begingroup + \def\thanks{\protect\thanks@warning}% + \trivlist + \centering\footnotesize \@topsep30\p@\relax + \advance\@topsep by -\baselineskip + \item\relax + \def\@@and{{and}} + \author@andify\authors + \hypersetup{pdfauthor=\authors}% + \def\\{\protect\linebreak}% + \large\normalfont\authors% + \endtrivlist + \endgroup + \fi} +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \@setcopyright + \thispagestyle{firstpage}% this sets first page specifications + \ifx\@empty\shortauthors \let\shortauthors\shorttitle + \else \andify\shortauthors + \fi + \@maketitle@hook + \RESP@write@paper@info + \begingroup + \@maketitle + \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}% + \toks4{\def\\{ \ignorespaces}}% defend against questionable usage + \edef\@tempa{% + \@nx\markboth{\the\toks4 + \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}% + \@tempa + \endgroup + \c@footnote\z@ + \@cleartopmattertags +} +\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 +\newwrite\@mainrpi +\def\RESP@write@paper@info{% + \bgroup + \if@filesw + \openout\@mainrpi\jobname.rpi% + \write\@mainrpi{\relax}% + \ifx\r@LastPage\@undefined + \edef\@tempa{\start@page}% + \else + \def\@tempb##1##2##3##4##5{##2}% + \edef\@tempa{\expandafter\@tempb\r@LastPage}% + \fi + \def\and{\string\and\space}% + \protected@write\@mainrpi{}% + {\string\articleentry{\authors}{\@title}{\start@page}{\@tempa}}% + \closeout\@mainrpi + \fi +\egroup} +\def\@adminfootnotes{} +\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 + \def\sf@size{7pt}% +} +\newif\if@enddoc +\@enddocfalse +\def\enddoc@text{% + \@enddoctrue\def\bibliography{\RESP@bibliography}% + \ifx\@empty\thankses\else + \bgroup + \let\@makefnmark\relax + \let\@thefnmark\relax + \ifx\lastfootnote@page\@undefined\else + \@tempcnta=\lastfootnote@page\relax + \ifnum\c@page=\@tempcnta\relax + \insert\footins{\medskip}% + \fi + \fi + \@footnotetext{% + \def\par{\let\par\@par}\textbf{Acknowledgements\quad} \@setthanks}% + \egroup + \fi + \ifx\@empty\@translators \else\@settranslators\fi + \ifx\@empty\addresses \else\@setaddresses\fi} +\newif\ifRESP@firstingroup +\def\emailaddrname{E-mail} +\def\@setaddresses{\par + \nobreak \begingroup\flushright\clubpenalty\@MM\interlinepenalty\@MM + \widowpenalty\@MM + \RESP@firstingrouptrue +\Small + \def\author##1{\nobreak\ifRESP@firstingroup\par + \addvspace\bigskipamount\penalty-1000\fi + \RESP@firstingroupfalse##1\par\nobreak}% + \parindent\z@ + \def\address##1##2{\RESP@firstingrouptrue\begingroup + \par\nobreak + \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% + {\ignorespaces##2}\par\endgroup}% + \def\curraddr##1##2{\RESP@firstingrouptrue\begingroup + \@ifnotempty{##2}{\nobreak\indent\curraddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\hskip0.2em:\space + ##2\par}\endgroup}% + \def\email##1##2{\RESP@firstingrouptrue\begingroup + \@ifnotempty{##2}{\nobreak\indent\emailaddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\hskip0.2em:\space + \href{mailto:##2}{\nolinkurl{##2}}\par}\endgroup}% + \def\urladdr##1##2{\RESP@firstingrouptrue\begingroup + \@ifnotempty{##2}{\nobreak\indent + \@ifnotempty{##1}{, \ignorespaces##1\unskip}% + \url{##2}\par}\endgroup}% + \addresses + \endgroup +} +\AtEndDocument{\cleardoublepage} +\def\@seccntformat#1{% + \csname the#1\endcsname\enspace +} +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\large\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\itshape}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}} +\@mparswitchfalse +\def\EditorialComment#1{\ifRESP@manuscript\bgroup + \marginparwidth=200pt\marginpar{\color{red}% + \raggedright#1}\egroup\fi} +\def\doi#1{\url{http://dx.doi.org/#1}} +\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}}} +\raggedbottom\normalsize\normalfont +\endinput +%% +%% End of file `resphilosophica.cls'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 2dc4fec8985..79ba446d0ab 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -351,7 +351,7 @@ my @TLP_working = qw( r_und_s randbild randomwalk randtext rccol rcs rcs-multi rcsinfo realboxes realscripts rec-thy recipe recipecard recycle rectopma refcheck refman refstyle regcount regexpatch register regstats - relenc relsize reotex repeatindex resumemac reverxii revtex + relenc relsize reotex repeatindex resphilosophica resumemac reverxii revtex rjlparshap rlepsf rmpage robustcommand robustindex romanbar romande romanneg romannum romansh rotating rotfloat rotpages diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index 4a1ec93d689..db826b95694 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -69,6 +69,7 @@ depend pracjourn depend procIAGssymp depend ptptex depend psu-thesis +depend resphilosophica depend revtex depend revtex4 depend ryethesis diff --git a/Master/tlpkg/tlpsrc/resphilosophica.tlpsrc b/Master/tlpkg/tlpsrc/resphilosophica.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3