From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/rmpage/rmplocal.gfc | 1407 ++++++++++++++++++++++++++++++ 1 file changed, 1407 insertions(+) create mode 100644 macros/latex/contrib/rmpage/rmplocal.gfc (limited to 'macros/latex/contrib/rmpage/rmplocal.gfc') diff --git a/macros/latex/contrib/rmpage/rmplocal.gfc b/macros/latex/contrib/rmpage/rmplocal.gfc new file mode 100644 index 0000000000..9d29c55644 --- /dev/null +++ b/macros/latex/contrib/rmpage/rmplocal.gfc @@ -0,0 +1,1407 @@ +%% File rmplocal.cfg 11/9/96 +%% File rmpagelocal.cfg 23/8/96 +%% +%% Copyright 1996 and 1997 R.J.M. McDonnell +%% email: rebecca@astrid.u-net.com +%% +%% +%% This file is meant to be modified at each installation. So that +%% you don't end up with a mess that's hideously incompatible with +%% other installations and versions of the rmpage package, do this: +%% when you change this file, add a comment on the top line identifying +%% it as yours, and change the comment after the version number to do +%% the same thing (e.g., [1923/09/17 v0.carrot Gertrude Stein's config +%% file for the rmpage package]). +%% +%% Please don't make any other changes above the line: `LOCAL CODE BELOW +%% HERE PLEASE', aside from commenting out or uncommenting whole +%% options; you're best off not deleting them, honest. +%% +%% My current idea is that the contents of this file below the `LOCAL +%% CODE BELOW HERE PLEASE' line can be cut and pasted wholesale into +%% a later version of this file; the code that's there is my local +%% configuration code, and I expect that its only use to you is as +%% examples. My intention is that future versions of this file won't +%% have essential code below the line `LOCAL CODE BELOW HERE PLEASE' +%% either. +%% +%% I suggest the first thing you do is hunt down the \ExecuteOptions +%% statements and change them to whatever you think suits you best. +%% +%% +\NeedsTeXFormat{LaTeX2e}[1996/06/01] +\ProvidesFile{rmplocal.gfc}[1997/10/10 v1.0 local configuration file +for the rmpage package.] +% +% 1997/10/10 v1.0 Transmogrified it into the first public release +% version +% 1996/11/01 v0.36 Changed the typesetting tightness the loadpsfount +% options change to (now looseish). +% Goes with rmpage-v0.90.sty +% 1996/11/01 v0.35 Played about with ltxdoc stuff. Still no joy. +% Goes with rmpage-v0.89.2.sty +% 1996/10/31 v0.34 Added the three beton options, just after the +% loadfount stuff. Belongs here because not everyone uses the +% concrete founts. +% Goes with rmpage-v0.89.sty +% 1996/10/29 v0.33 Put \RM@notinexecuteoptions back in t@uch options; +% put ljmeepex options into class file. Perhaps change rmpage so +% t@uch options can be used; tricky. +% Goes with rmpage-v0.88.sty +% 1996/10/28 v0.32 Added \RM@AfterInitialTextwidthSetting hook; +% added book class default options +% Goes with rmpage-v0.88.sty +% 1996/10/28 v0.31 Added foils defaults. +% Goes with rmpage-v0.87.sty +% 1996/10/25 v0.30 Added stuff about \RM@LocalClassReport hook. +% Goes with rmpage-v0.85.sty +% 1996/10/25 v0.29 Changed nastydate option to othernicedate. :-). +% Goes with rmpage-v0.84.1.sty +% 1996/10/21 v0.28 Changed slides options a bit; rmpwslid.pko is now +% used. +% Goes with rmpage-v0.84.sty +% 1996/10/21 v0.27 Uncommented another t@uchoption; allowed all t@uch +% options in \ExecuteOptions; added support for ljmeepex class +% (options are declared here, and it's given the same number as +% ljmueepexam. Is Bill Gates the Antichrist?) +% Goes with rmpage-v0.83.sty +% 1996/10/19 v0.26 Added ringbinding option which uses new +% \RM@DefLengthAtLeast command. Changed bithesis settings to use +% this command to define minmargins. +% Goes with rmpage-v0.83.sty +% 1996/10/17 v0.25 Changed loadpsfount stuff to use new command to +% set looseness, which requests sloppiest \if@twocolum. +% Goes with rmpage-v0.82.sty +% 1996/10/14 v0.24 Added errorshow, warningshow, infoshow, and debugshow +% options (asleep); these are used by tracefnt---someone might +% like them. +% Goes with rmpage-v0.81.1.sty +% 1996/10/09 v0.23 Confirmed lj4printer limits by measuring MS works +% output. Not great, but it'll do for now. +% Goes with rmpage-v0.81.1.sty +% 1996/10/06 v0.22 Fixed loadbookman option +% Goes with rmpage-v0.81.1.sty +% 1996/10/04 v0.21 Changed an errant \RM@ocltype to \RM@ocl +% Goes with rmpage-v0.81.1.sty +% 1996/10/01 v0.20 Changed loadconcrete option so it uses the beton +% package; goes with changes in rmpage. Changed generalprinter so +% it works with HP inkjets. +% Goes with rmpage-v0.81.sty +% 1996/09/30 v0.19.1 Changed c76paper option to c7/6paper; binned a +% redundant asleepoption. +% Goes with rmpage-v0.80.1.sty +% 1996/09/29 v0.19 replaced smallbase things with normalbase things. +% Goes with rmpage-v0.80.sty +% 1996/09/28 v0.18 added noheaders and notstdmargins to default +% \ExecuteOptions; to counteract changed default flag settings. +% 1996/09/27 v0.17 Downcased the RA and SRA paper size names; changed +% luccasua to lucasual. +% Goes with rmpage-v0.78.sty +% 1996/09/26 v0.16 Changed some comments; changed +% \RM@ClassExecuteOptions to \RM@OnClassExecuteOptions +% Goes with rmpage-v0.76.sty +% 1996/09/24 v0.15 Added printer/paper settings from rmpage.sty to +% the \RM@PrinterPaperSettings hook. Put loadcourier and +% loadconcrete to bed. Commented out rmcv, rmletter, and bithesis +% options; they should be redundant by now. Delete them later if +% there's no problems. +% Goes with rmpage-v0.74.sty +% 1996/09/23 v0.14 Changed R+Rdw520printer option so \RM@printertype +% is set to 11 (new 500 series value), rather than 2 (old DW520 +% value). Foolish child. Added the thisfontwidth option, +% commented out. +% Goes with rmpage-v0.73.sty +% 1996/09/22 v0.13 basemaxmparwidth and basemparclearance options +% commented out. I mean, really, why not? Added the letter4paper +% size: an unholy alliance between US letter and ISO A4. Avoid +% like the plague; but I can almost see a use for it. +% Goes with rmpage-v0.72.sty +% 1996/09/18 v0.12.1 Changed some comments. +% Goes with rmpage-v0.71.2.sty +% 1996/09/16 v0.12 Added fulllength and stdlength options from +% rmpage, because they need executing after the touchlength options. +% Goes with rmpage-v0.71.sty +% 1996/09/13 v0.11.1 minor doc change +% 1996/09/13 v0.11 Not much really: added the center and notcenter +% options to match the documentation. +% Goes with rmpage-v0.69.sty +% 1996/09/11 v0.10.1 Made a line a comment line again (oops) +% Goes with rmpage-v0.67.sty +% 1996/09/11 v0.10 Added some more options, and changed the name from +% rmpagelocal.cfg (as it would be in a world free from Bill +% Gates's malign influence) to the rather silly rmplocal.cfg. It +% might have been ratlocal, but I decided in favour of utility +% against character. Apologies to those who use the +% abreviation RMP in a different context. Added lots and lots of +% option declarations from rmpage.sty. Changed default option +% setting and played around with class detection rather a lot; +% it's relatively elegant now. +% Goes with rmpage-v0.66.sty +% 1996/09/10 v0.9 Turned a few %% lines into % lines +% Goes with rmpage-v0.65.sty +% 1996/09/10 v0.8 Played about with commented-out options +% Goes with rmpage-v0.64.sty +% 1996/09/09 v0.7 Played around with class detection and changed +% class type numbers +% Goes with rmpage-v0.63.sty +% 1996/09/04 v0.6 Erm, some stuff. Changed printer option to +% dw520-ours. +% Goes with rmpage-v0.61.sty +% 1996/09/03 v0.5 Played about a bit; can't remember the details. +% Goes with rmpage-v0.60.sty +% 1996/09/02 v0.4 added hook stuff, and included ltxdoc code in one +% of them. +% 1996/08/25 v0.3 added rarely used paper size definitions. +% Goes with rmpagenew v0.56 +% 1996/08/24 v0.2 changed name and stuff; goes with rmpagenew v0.55 +% 1996/08/23 v0.1 Here we go... Goes with rmpagenew v0.54 +% +%% +%% +%% OPTION DECLARATION +%% ================== +%% +%% This section contains the standard options for rmpage. I suggest +%% you don't add or delete anything from this section: just comment +%% options out to speed rmpage up or uncomment them if you need to +%% use them. +%% +%% If you want to add options, add them at the end of this section +%% in between the places marked. +%% +%% +%% PAPER SIZES +%% ----------- +%% +%% \DeclareOption{undefinedpaper}{\def\RM@papertype{0}} +%% +%% \DeclareOption{letter4paper}{\def\RM@papertype{9} +%% \setlength\paperheight{8.5in} +%% \setlength\paperwidth{210mm} +%% } +%% +%% \DeclareOption{a0paper}{\def\RM@papertype{10} +%% \setlength\paperheight{1189mm} +%% \setlength\paperwidth{841mm} +%% } +%% \DeclareOption{a1paper}{\def\RM@papertype{11} +%% \setlength\paperheight{841mm} +%% \setlength\paperwidth{594mm} +%% } +%% \DeclareOption{a2paper}{\def\RM@papertype{12} +%% \setlength\paperheight{594mm} +%% \setlength\paperwidth{420mm} +%% } + \DeclareOption{a3paper}{\def\RM@papertype{13}% + \setlength\paperheight{420mm}% + \setlength\paperwidth{297mm}% + } + + \DeclareOption{a6paper}{\def\RM@papertype{16}% + \setlength\paperheight{148mm}% + \setlength\paperwidth{105mm}% + } +%% \DeclareOption{a7paper}{\def\RM@papertype{17} +%% \setlength\paperheight{105mm} +%% \setlength\paperwidth{74mm} +%% } +%% \DeclareOption{a8paper}{\def\RM@papertype{18} +%% \setlength\paperheight{74mm} +%% \setlength\paperwidth{52mm} +%% } +%% \DeclareOption{a9paper}{\def\RM@papertype{19} +%% \setlength\paperheight{52mm} +%% \setlength\paperwidth{37mm} +%% } +%% \DeclareOption{a10paper}{\def\RM@papertype{20} +%% \setlength\paperheight{37mm} +%% \setlength\paperwidth{26mm} +%% } +%% +%% \DeclareOption{b0paper}{\def\RM@papertype{30} +%% \setlength\paperheight{1414mm} +%% \setlength\paperwidth{1000mm} +%% } +%% \DeclareOption{b1paper}{\def\RM@papertype{31} +%% \setlength\paperheight{1000mm} +%% \setlength\paperwidth{707mm} +%% } +%% \DeclareOption{b2paper}{\def\RM@papertype{32} +%% \setlength\paperheight{707mm} +%% \setlength\paperwidth{500mm} +%% } +%% \DeclareOption{b3paper}{\def\RM@papertype{33} +%% \setlength\paperheight{500mm} +%% \setlength\paperwidth{353mm} +%% } + \DeclareOption{b4paper}{\def\RM@papertype{34}% + \setlength\paperheight{353mm}% + \setlength\paperwidth{250mm}% + } + + \DeclareOption{b6paper}{\def\RM@papertype{36}% + \setlength\paperheight{176mm}% + \setlength\paperwidth{125mm}% + } + \DeclareOption{b7paper}{\def\RM@papertype{37}% + \setlength\paperheight{125mm}% + \setlength\paperwidth{88mm}% + } +%% \DeclareOption{b8paper}{\def\RM@papertype{38} +%% \setlength\paperheight{88mm} +%% \setlength\paperwidth{62mm} +%% } +%% \DeclareOption{b9paper}{\def\RM@papertype{39} +%% \setlength\paperheight{62mm} +%% \setlength\paperwidth{44mm} +%% } +%% \DeclareOption{b10paper}{\def\RM@papertype{40} +%% \setlength\paperheight{44mm} +%% \setlength\paperwidth{31mm} +%% } +%% \DeclareOption{c0paper}{\def\RM@papertype{50} +%% \setlength\paperheight{1297mm} +%% \setlength\paperwidth{917mm} +%% } +%% \DeclareOption{c1paper}{\def\RM@papertype{51} +%% \setlength\paperheight{917mm} +%% \setlength\paperwidth{648mm} +%% } +%% \DeclareOption{c2paper}{\def\RM@papertype{52} +%% \setlength\paperheight{648mm} +%% \setlength\paperwidth{458mm} +%% } +%% \DeclareOption{c3paper}{\def\RM@papertype{53} +%% \setlength\paperheight{458mm} +%% \setlength\paperwidth{324mm} +%% } +%% \DeclareOption{c4paper}{\def\RM@papertype{54} +%% \setlength\paperheight{324mm} +%% \setlength\paperwidth{229mm} +%% } +%% +\DeclareOption{c5paper}{\def\RM@papertype{55}% + \setlength\paperheight{229mm}% + \setlength\paperwidth{162mm}% + } + +%% \DeclareOption{c7paper}{\def\RM@papertype{57} +%% \setlength\paperheight{114mm} +%% \setlength\paperwidth{81mm} +%% } +%% +%% \DeclareOption{c7/6paper}{\def\RM@papertype{59}% c7/6 paper +%% \setlength\paperheight{162mm} +%% \setlength\paperwidth{81mm} +%% } +%% % Note that the BS4264 envelope sizes have names I invented +%% % BS4264 Post office preferred envelope: seed packets, wage slips, gen pack +%% \DeclareOption{bspopseedenvelopepaper}{\def\RM@papertype{60} +%% \setlength\paperheight{152mm} +%% \setlength\paperwidth{102mm} +%% } +%% % BS4264 Post office preferred envelope: gen commercial, non iso sizes +%% \DeclareOption{bspopnonisoenvelopepaper}{\def\RM@papertype{61} +%% \setlength\paperheight{229mm} +%% \setlength\paperwidth{102mm} +%% } +%% % BS4264 envelope; bulky A5, catalogues, brochures. +%% \DeclareOption{bsbrochureenvelopepaper}{\def\RM@papertype{62} +%% \setlength\paperheight{254mm} +%% \setlength\paperwidth{178mm} +%% } +%% % BS4264 envelope; legal docs, catalogues, photos +%% \DeclareOption{bslegalenvelopepaper}{\def\RM@papertype{63} +%% \setlength\paperheight{270mm} +%% \setlength\paperwidth{216mm} +%% } +%% % BS4264 envelope; insurance policies, legal docs +%% \DeclareOption{bslargelegalenvelopepaper}{\def\RM@papertype{64} +%% \setlength\paperheight{305mm} +%% \setlength\paperwidth{127mm} +%% } +%% % BS4264 envelope; bulky docs, calendars +%% \DeclareOption{bscalendarenvelopepaper}{\def\RM@papertype{65} +%% \setlength\paperheight{381mm} +%% \setlength\paperwidth{254mm} +%% } +%% + \DeclareOption{foolscapfoliopaper}{\def\RM@papertype{70}% + \setlength\paperheight{13.5in}% + \setlength\paperwidth{8.5in}% + } +%% \DeclareOption{foolscappaper}{\def\RM@papertype{70}% foolscap option gives foolscap +%% \setlength\paperheight{13.5in}% folio paper +%% \setlength\paperwidth{8.5in} +%% } +%% +%% \DeclareOption{foolscapquartopaper}{\def\RM@papertype{71} +%% \setlength\paperheight{8.5in} +%% \setlength\paperwidth{6.75in} +%% } +%% \DeclareOption{foolscapoctavopaper}{\def\RM@papertype{72} +%% \setlength\paperheight{6.75in} +%% \setlength\paperwidth{4.25in} +%% } +%% \DeclareOption{crownfoliopaper}{\def\RM@papertype{73} +%% \setlength\paperheight{15in} +%% \setlength\paperwidth{10in} +%% } +%% \DeclareOption{crownquartopaper}{\def\RM@papertype{74} +%% \setlength\paperheight{10in} +%% \setlength\paperwidth{7.5in} +%% } +%% \DeclareOption{crownoctavopaper}{\def\RM@papertype{75} +%% \setlength\paperheight{7.5in} +%% \setlength\paperwidth{5in} +%% } +%% \DeclareOption{royalfoliopaper}{\def\RM@papertype{76} +%% \setlength\paperheight{20in} +%% \setlength\paperwidth{12.5in} +%% } +%% \DeclareOption{royalquartopaper}{\def\RM@papertype{77} +%% \setlength\paperheight{12.5in} +%% \setlength\paperwidth{10in} +%% } +%% \DeclareOption{royaloctavopaper}{\def\RM@papertype{78} +%% \setlength\paperheight{10in} +%% \setlength\paperwidth{6.25in} +%% } +%% \DeclareOption{imperialfoliopaper}{\def\RM@papertype{79} +%% \setlength\paperheight{22in} +%% \setlength\paperwidth{15.5in} +%% } +%% \DeclareOption{imperialquartopaper}{\def\RM@papertype{80} +%% \setlength\paperheight{15in} +%% \setlength\paperwidth{11in} +%% } +%% \DeclareOption{imperialoctavopaper}{\def\RM@papertype{81} +%% \setlength\paperheight{11in} +%% \setlength\paperwidth{7.5in} +%% } +%% \DeclareOption{largecrownoctavopaper}{\def\RM@papertype{82} +%% \setlength\paperheight{8in} +%% \setlength\paperwidth{5.25in} +%% } +%% \DeclareOption{demyoquartopaper}{\def\RM@papertype{83} +%% \setlength\paperheight{11.25in} +%% \setlength\paperwidth{8.75in} +%% } +%% \DeclareOption{demyoctavopaper}{\def\RM@papertype{84} +%% \setlength\paperheight{8.75in} +%% \setlength\paperwidth{5.625in} +%% } +%% \DeclareOption{mediumquartopaper}{\def\RM@papertype{85} +%% \setlength\paperheight{12in} +%% \setlength\paperwidth{9.5in} +%% } +%% \DeclareOption{mediumoctavopaper}{\def\RM@papertype{86} +%% \setlength\paperheight{9.5in} +%% \setlength\paperwidth{6in} +%% } +%% +%% \DeclareOption{ra0paper}{\def\RM@papertype{90} +%% \setlength\paperheight{1270mm} +%% \setlength\paperwidth{960mm} +%% } +%% \DeclareOption{ra1paper}{\def\RM@papertype{91} +%% \setlength\paperheight{1270mm} +%% \setlength\paperwidth{960mm} +%% } +%% \DeclareOption{ra2paper}{\def\RM@papertype{92} +%% \setlength\paperheight{1270mm} +%% \setlength\paperwidth{960mm} +%% } +%% \DeclareOption{sra0paper}{\def\RM@papertype{93} +%% \setlength\paperheight{1280mm} +%% \setlength\paperwidth{900mm} +%% } +%% \DeclareOption{sra1paper}{\def\RM@papertype{94} +%% \setlength\paperheight{900mm} +%% \setlength\paperwidth{840mm} +%% } +%% \DeclareOption{sra2paper}{\def\RM@papertype{95} +%% \setlength\paperheight{640mm} +%% \setlength\paperwidth{450mm} +%% } +%% \DeclareOption{metricdoublecrownpaper}{\def\RM@papertype{96} +%% \setlength\paperheight{770mm} +%% \setlength\paperwidth{505mm} +%% } +%% \DeclareOption{metricquadcrownpaper}{\def\RM@papertype{97} +%% \setlength\paperheight{1010mm} +%% \setlength\paperwidth{770mm} +%% } +%% \DeclareOption{metriclargequadcrownpaper}{\def\RM@papertype{98} +%% \setlength\paperheight{1060mm} +%% \setlength\paperwidth{820mm} +%% } +%% \DeclareOption{metricquaddemypaper}{\def\RM@papertype{99} +%% \setlength\paperheight{1030mm} +%% \setlength\paperwidth{890mm} +%% } +%% \DeclareOption{metricsmallquadroyalpaper}{\def\RM@papertype{100} +%% \setlength\paperheight{1270mm} +%% \setlength\paperwidth{960mm} +%% } +%% +%% +%% LONG PAPER TYPES +%% ---------------- +%% +%% 0 = not long (or 1) +%% 1 = 7/8 2 = 3/4 3 = 2/3 4 = 5/8 5 = 1/2 +%% 6 = 3/8 7 = 1/3 8 = 1/4 9 = 1/8 +%% +%\DeclareOption{notlongpaper}{\def\RM@longpapertype{0}} +%\DeclareOption{7/8longpaper}{\def\RM@longpapertype{1}} +\DeclareOption{3/4longpaper}{\def\RM@longpapertype{2}} +\DeclareOption{2/3longpaper}{\def\RM@longpapertype{3}} +%\DeclareOption{5/8longpaper}{\def\RM@longpapertype{4}} +%\DeclareOption{1/2longpaper}{\def\RM@longpapertype{5}} +%\DeclareOption{3/8longpaper}{\def\RM@longpapertype{6}} +\DeclareOption{1/3longpaper}{\def\RM@longpapertype{7}} +\DeclareOption{1/4longpaper}{\def\RM@longpapertype{8}} +%\DeclareOption{1/8longpaper}{\def\RM@longpapertype{9}} +%% +%% +%% OPTIONS TO CHANGE MARGINPARS +%% ---------------------------- +%% +%% marginparsep is scaled by option +\DeclareOption{leastmparsep}{\RM@mparsepoption=3} +\DeclareOption{lessmparsep}{\RM@mparsepoption=6} +\DeclareOption{lessishmparsep}{\RM@mparsepoption=9} +\DeclareOption{normalmparsep}{\RM@mparsepoption=12} +\DeclareOption{moreishmparsep}{\RM@mparsepoption=15} +\DeclareOption{moremparsep}{\RM@mparsepoption=18} +\DeclareOption{mostmparsep}{\RM@mparsepoption=21} +%% +%% The basemparclear options need to be executed after paperwidth has +%% been set. Easily done with \ProcessOptions rather than +%% \ProcessOptions*, and the papersize setting options declared above +%% rather than below. The normalbasemparclear value is set after option +%% processing if no other value has been set. If \RM@mparclearance is +%% -666pt, the normalbasemparclear value is set; if it's -667pt, the +%% largebaselinemparclear value is set (both just after +%% \RM@PrinterPaperSettings hook is executed, which is well after +%% \paperwidth is set). This value is scaled by option just before it's +%% used, so one can use the \RM@BeforeWidthSetting hook to change things. +%% \DeclareOption{normalbasemparclear}{\setlength\RM@mparclearance{-666pt}} +%% \DeclareOption{largebasemparclear}{\setlength\RM@mparclearance{-667pt}} +%% +%% \DeclareOption{normalbasemaxmparwidth}{\setlength\RM@maxmparwidth{-666pt}} +%% \DeclareOption{largebasemaxmparwidth}{\setlength\RM@maxmparwidth{-667pt}} +%% +%% the gap between the edge of the paper and the edge of a marginpar +%% is 0.4in (10.16mm) with standard article/report class settings. +%% The mparclearance options change this. +%% +%% mparclearance for A4 portrait paper: +%% least=3.95mm less=5.37mm lessish=7.28mm norm=9.88 +%% moreish=13.41mm more=18.20mm most=24.71mm +%% +%% (norm=0.4in with US letter paper). Note that there are no touch +%% options for mparclearance or maxmparwidth. There's no particular +%% reason why they shouldn't be added. So I did, but left them +%% commented out. +\DeclareOption{leastmparclearance}{\RM@mparclearoption=3} +\DeclareOption{lessmparclearance}{\RM@mparclearoption=6} +\DeclareOption{lessishmparclearance}{\RM@mparclearoption=9} +\DeclareOption{normalmparclearance}{\RM@mparclearoption=12}% norm +\DeclareOption{moreishmparclearance}{\RM@mparclearoption=15} +\DeclareOption{moremparclearance}{\RM@mparclearoption=18} +\DeclareOption{mostmparclearance}{\RM@mparclearoption=21} +%% +%% maxmparwidth is now set as a fraction of paperwidth, such that with +%% portrait US letter paper, you get 2in as standard (or maybe with A4; I +%% really ought to check this.. It's scale by option just like +%% everything else. If you want to change the default base value of +%% maxmparwidth, the \RM@BeforeWidthSetting hook is an ideal place to do +%% it. +\DeclareOption{leastmaxmparwidth}{\RM@maxmparwidthoption=3} +\DeclareOption{lessmaxmparwidth}{\RM@maxmparwidthoption=6} +\DeclareOption{lessishmaxmparwidth}{\RM@maxmparwidthoption=9} +\DeclareOption{normalmaxmparwidth}{\RM@maxmparwidthoption=12}% norm +\DeclareOption{moreishmaxmparwidth}{\RM@maxmparwidthoption=15} +\DeclareOption{moremaxmparwidth}{\RM@maxmparwidthoption=18} +\DeclareOption{mostmaxmparwidth}{\RM@maxmparwidthoption=21} +%% +%% +%% TOUCH OPTIONS +%% ------------- +%% +%% Note that all the touch options need to be executed after their +%% corresponding `straight' options. This is inevitable if they are +%% left here and \ProcessOptions is used rather than the star form, +%% because rmplocal.cfg is loaded after all of rmpage's \DeclareOptions +%% statements. +%% +%% \DeclareOption{t@uchlonger} {\RM@notinexecuteoptions\advance\RM@lengthoption by 1} +%% \DeclareOption{t@uchshorter}{\RM@notinexecuteoptions\advance\RM@lengthoption by -1} +\DeclareOption{touchlonger}{\RM@notinexecuteoptions\advance\RM@lengthoption by 1} +\DeclareOption{touchshorter}{\RM@notinexecuteoptions\advance\RM@lengthoption by -1} +%% +\DeclareOption{touchmorecolsep}{\RM@notinexecuteoptions\advance\RM@columnsepoption by1} +\DeclareOption{touchlesscolsep}{\RM@notinexecuteoptions\advance\RM@columnsepoption by-1} +%% \DeclareOption{t@uchmorecolsep}{\RM@notinexecuteoptions\advance\RM@columnsepoption by1} +%% \DeclareOption{t@uchlesscolsep}{\RM@notinexecuteoptions\advance\RM@columnsepoption by-1} +%% +\DeclareOption{touchmoremparsep}{\RM@notinexecuteoptions\advance\RM@mparsepoption by1} +\DeclareOption{touchlessmparsep}{\RM@notinexecuteoptions\advance\RM@mparsepoption by-1} +%% \DeclareOption{t@uchmoremparsep}{\RM@notinexecuteoptions\advance\RM@mparsepoption by1} +%% \DeclareOption{t@uchlessmparsep}{\RM@notinexecuteoptions\advance\RM@mparsepoption by-1} +%% +\DeclareOption{touchmorefootskip}{\RM@notinexecuteoptions\advance\RM@footskipoption by1} +\DeclareOption{touchlessfootskip}{\RM@notinexecuteoptions\advance\RM@footskipoption by-1} +%% \DeclareOption{t@uchmorefootskip}{\RM@notinexecuteoptions\advance\RM@footskipoption by1} +%% \DeclareOption{t@uchlessfootskip}{\RM@notinexecuteoptions\advance\RM@footskipoption by-1} +%% +\DeclareOption{touchmoreheadsep}{\RM@notinexecuteoptions\advance\RM@headsepoption by1} +\DeclareOption{touchlessheadsep}{\RM@notinexecuteoptions\advance\RM@headsepoption by-1} +%% \DeclareOption{t@uchmoreheadsep}{\advance\RM@headsepoption by1} +%% \DeclareOption{t@uchlessheadsep}{\advance\RM@headsepoption by-1} +%% +\DeclareOption{t@uchwider}{\RM@notinexecuteoptions\advance\RM@widthoption by1} +\DeclareOption{t@uchnarrower}{\RM@notinexecuteoptions\advance\RM@widthoption by-1} +\DeclareOption{touchwider}{\RM@notinexecuteoptions\advance\RM@widthoption by1} +\DeclareOption{touchnarrower}{\RM@notinexecuteoptions\advance\RM@widthoption by-1} +%% +%% \DeclareOption{t@uchmoreoffset}{\RM@notinexecuteoptions\advance\RM@offsetoption by1} +%% \DeclareOption{t@uchlessoffset}{\RM@notinexecuteoptions\advance\RM@offsetoption by-1} +\DeclareOption{touchmoreoffset}{\RM@notinexecuteoptions\advance\RM@offsetoption by1} +\DeclareOption{touchlessoffset}{\RM@notinexecuteoptions\advance\RM@offsetoption by-1} +%% +%% \DeclareOption{t@uchhigher}{\RM@notinexecuteoptions\advance\RM@headfootbalance by -1} +%% \DeclareOption{t@uchlower} {\RM@notinexecuteoptions\advance\RM@headfootbalance by 1} +\DeclareOption{touchhigher}{\RM@notinexecuteoptions\advance\RM@headfootbalance by -1} +\DeclareOption{touchlower} {\RM@notinexecuteoptions\advance\RM@headfootbalance by 1} +%% +%% \DeclareOption{t@uchlessmparclearance}{\RM@notinexecuteoptions\advance\RM@mparclearoption by -1} +%% \DeclareOption{t@uchmoremparclearance}{\RM@notinexecuteoptions\advance\RM@mparclearoption by 1} +%% \DeclareOption{touchlessmparclearance}{\RM@notinexecuteoptions\advance\RM@mparclearoption by -1} +%% \DeclareOption{touchmoremparclearance}{\RM@notinexecuteoptions\advance\RM@mparclearoption by 1} +%% +%% \DeclareOption{t@uchlessmaxmparwidth}{\RM@notinexecuteoptions\advance\RM@maxmparwidthoption by -1} +%% \DeclareOption{t@uchmoremaxmparwidth}{\RM@notinexecuteoptions\advance\RM@maxmparwidthoption by 1} +%% \DeclareOption{touchlessmaxmparwidth}{\RM@notinexecuteoptions\advance\RM@maxmparwidthoption by -1} +%% \DeclareOption{touchmoremaxmparwidth}{\RM@notinexecuteoptions\advance\RM@maxmparwidthoption by 1} +%% +%% +%% RANDOM LENGTH OPTIONS +%% --------------------- +%% +%% These need to be executed after the touchlength options; but for +%% that, they'd be in rmpage.sty +%% +\DeclareOption{fulllength}{\RM@lengthoption=30} +\DeclareOption{stdlength}{\RM@lengthoption=0} +%% +%% +%% NUMBER OF COLUMNS +%% ----------------- +%% +%% onecolumn and twocolumn are both in rmpage. These options only +%% affect \textwidth; use a package like multicols to set you text in +%% multiple columns. +%% +\DeclareOption{onecolumnwidth}{\def\RM@textcols{1}} +\DeclareOption{twocolumnwidth}{\def\RM@textcols{2}} +\DeclareOption{threecolumnwidth}{\def\RM@textcols{3}} +%% \DeclareOption{fourcolumnwidth}{\def\RM@textcols{4}} +%% \DeclareOption{fivecolumnwidth}{\def\RM@textcols{5}} +%% \DeclareOption{sixcolumnwidth}{\def\RM@textcols{6}} +%% \DeclareOption{sevencolumnwidth}{\def\RM@textcols{7}} +%% \DeclareOption{eightcolumnwidth}{\def\RM@textcols{8}} +%% \DeclareOption{ninecolumnwidth}{\def\RM@textcols{9}} +%% \DeclareOption{tencolumnwidth}{\def\RM@textcols{10}} +%% +%% +%% LOADING FOUNTS +%% -------------- +%% +%% The fount options work like this: a fount family is set, and if the +%% \RM@loadfount flag is set true, the appropriate fount is loaded, +%% mainly with one of the standard PSNFSS packages. +%% Fount families are set like this: +%% 1=avant garde 2=bookman 3=zapf chancery 4=helvetica +%% 5=new century schoolbook 6=palatino 7=times 8=utopia +%% 9=lucida casual 10=courier 11=concrete 12=this fount width +%% 13=lucida casual dirty trick +%% +%% The dirty trick works like this: if you ask for lucida casual +%% (\RM@fountfamily 13), the fount loading code later on does a +%% \RequirePackage{lucida-casual}, and then sets \RM@fountfamily +%% to 9. The option to do this is in Rowland's curious option +%% section. +%% +%% The command below is used to ask for a particular set of +%% typesetting parameters if you've not explicitly requested any with +%% the looseness option set. You get loose if you've asked for +%% onecolumn, or sloppy if you've asked for twocolumn. Ncolumnwidth +%% is treated as onecolumn; the multicol package makes its own +%% arrangements. But this shouldn't be done any more because the +%% metrics have changed (S. Rahtz, psnfss2e.tex, 5/11/95). I wish +%% there was an up-to-date version of fontinst with docs available. +%% +%% This command's defined here so its meaning is clear; it's cleared +%% at the end of rmpage.sty. +%% +%% So, this is the command that used to do the dirty. And still does: +%% the PSNFSS founts \emph{are} still much tighter than cmr, and you +%% get more bad line breaks. But looseish seems enough for now; keep +%% the twocolumn extra super dooper very slack indeed looseness as is +%% for now. (I wish I had a television so I could find out exactly +%% what it is that Mutley says when he's annoyed). Maybe the thing +%% to do is to change the sloppiness command: see rmpage.sty for more +%% comments (yes, you, you fool, me! bloody well read it [don't +%% complain: I'm swearing at myself]). +%% +%% The thing is, the PSNFSS founts are a little tighter than cmr (it +%% seems). looseish over-compensates, but it's not all that much +%% looser than tight. Grumbledon diwn. +\def\RM@setpsloose{ + \ifnum\RM@looseoption=205 + \if@twocolumn + \def\RM@looseoption{5} + \else + \def\RM@looseoption{1} + \fi + \fi +} +% \def\RM@setpsloose{\relax} +% % Don't change the options below; just change the loosening command +% % in case I want to use it later. +%% +%% %% Computer modern roman; redundant options +%% \DeclareOption{cmrwidth}{\def\RM@fountfamily{0}} +%% \DeclareOption{loadcmr}{\def\RM@fountfamily{0}\RM@loadfounttrue} +%% Avant Garde +\DeclareOption{avantwidth}{\def\RM@fountfamily{1}} +\DeclareOption{loadavant}{\def\RM@fountfamily{1} + \RM@loadfounttrue\RM@setpsloose} +%% Bookman +\DeclareOption{bookmanwidth}{\def\RM@fountfamily{2}} +\DeclareOption{loadbookman}{\def\RM@fountfamily{2} + \RM@loadfounttrue\RM@setpsloose} +%% Zapf Chancery +\DeclareOption{chancerywidth}{\def\RM@fountfamily{3}} +\DeclareOption{loadchancery}{\def\RM@fountfamily{3} + \RM@loadfounttrue\RM@setpsloose} +%% Helvetica +\DeclareOption{helvetwidth}{\def\RM@fountfamily{4}} +\DeclareOption{loadhelvet}{\def\RM@fountfamily{4} + \RM@loadfounttrue\RM@setpsloose} +%% New Century Schoolbook +\DeclareOption{newcentwidth}{\def\RM@fountfamily{5}} +\DeclareOption{loadnewcent}{\def\RM@fountfamily{5} + \RM@loadfounttrue\RM@setpsloose} +%% Palatino +\DeclareOption{palatinowidth}{\def\RM@fountfamily{6}} +\DeclareOption{loadpalatino}{\def\RM@fountfamily{6} + \RM@loadfounttrue\RM@setpsloose} +%% Times +\DeclareOption{timeswidth}{\def\RM@fountfamily{7}} +\DeclareOption{loadtimes}{\def\RM@fountfamily{7} + \RM@loadfounttrue\RM@setpsloose} +%% Utopia +\DeclareOption{utopiawidth}{\def\RM@fountfamily{8}} +\DeclareOption{loadutopia}{\def\RM@fountfamily{8} + \RM@loadfounttrue\RM@setpsloose} +%% Lucida casual +\DeclareOption{lucasualwidth}{\def\RM@fountfamily{9}} +\DeclareOption{loadlucasual}{\def\RM@fountfamily{9} + \RM@loadfounttrue\RM@setpsloose} +%% lucida-casual option is now in rmplocal.cfg +%% Courier +\DeclareOption{courierwidth}{\def\RM@fountfamily{10}} +%% \DeclareOption{loadcourier}{\def\RM@fountfamily{10}\RM@loadfounttrue +%% \RM@setpsloose} +%% Concrete +%% Concrete doesn't need loose typesetting +\DeclareOption{concretewidth}{\def\RM@fountfamily{11}} +\DeclareOption{loadconcrete}{\def\RM@fountfamily{11}\RM@loadfounttrue + \ExecuteOptions{beton}} +%% Bases \textwidth on current fount +\DeclareOption{thisfountwidth}{\def\RM@fountfamily{12}} +%% +%% +%% Stuff for beton support +%% ----------------------- +%% +%% I need to pass the standard-baselineskips option to beton +%% explicitly so I can detect whether beton's been loaded with this +%% option later. I might as well prepare to pass the other two +%% options, just in case I need to know about them someday. +\DeclareOption{standard-baselineskips} + {\PassOptionsToPackage{\CurrentOption}{beton}} +%% \DeclareOption{oldstyle-equation-numbers} +%% {\PassOptionsToPackage{\CurrentOption}{beton}} +%% \DeclareOption{concrete-math} +%% {\PassOptionsToPackage{\CurrentOption}{beton}} +%% +%% +%% +%% Synonyms for other options +%% -------------------------- +%% +%% Now I like this. +\DeclareOption{othernicedate}{\RM@nicedatefalse}% usdate +\DeclareOption{nicedate}{\RM@nicedatetrue}% ukdate +%% +%% Other packages use these options to change the amount of +%% information displayed; I might as well pay attention. +%% +%% \DeclareOption{verbose}{\def\RM@chatlevel{1}}% chatty +%% \DeclareOption{silent}{\def\RM@chatlevel{3}}% yorkshire +%% \DeclareOption{errorshow}{\def\RM@chatlevel{3}}% yorkshire +%% \DeclareOption{warningshow}{\def\RM@chatlevel{2}}% taciturn +%% \DeclareOption{infoshow}{\def\RM@chatlevel{1}}% chatty +%% \DeclareOption{debugshow}{\def\RM@chatlevel{0}}% garrulous +%% +%% And I object to this, I really do. Why can't people learn to +%% spell properly? +%% +%% \DeclareOption{center}{\RM@centretrue} +%% \DeclareOption{notcenter}{\RM@centrefalse} +%% +%% +%% MARGIN OPTIONS +%% -------------- +%% +%% What the ringbinding option does is ensure that there's enough space +%% in the inside margin to punch holes. It does not make a binding +%% correction after the fashion of the Koma-script packages. This option +%% assumes that you'll be punching holes in the inside margin, so don't +%% expect it to work properly with landscape printing---I couldn't work +%% out a way of predicting which margin will get the holes in landscape +%% printing, so I decided to make no attempt to support it. If you have +%% any thoughts on this, please email me. +%% +\DeclareOption{ringbinding} + {\ifRM@portrait + \RM@DefLengthAtLeast{\RM@mininsidemargin}{15mm} + \else + \RM@Warn{The ringbinding option does nothing in landscape mode} + \fi} +%% +%% PRINTER OPTIONS +%% --------------- +%% +%% Printer types are: +%% 0=fullbleed, 1=general, 2=pessimistic, 3=optimistic +%% 10=dw300 11=dw500 12=dw600 (HP deskwriter inkjet series) +%% 20=lj2 21=lj3 22=lj4 (HP laserjet laser printer series) +%% 30=canonbjx bubblejet something (Canon bubblejet inkjet series) +%% 40+ whatever else comes up +%% +%% The idea is that printer types < 10 are not locally configured; +%% these numbers are reserved for mythical general types that should +%% be the same on all systems. Feel free to add your own mythical +%% general types; please keep the printer number > 1000. +%% +%% The figures for all these printers are guesses, except for the DW500 +%% and DW600: any data on printing margins for the printers above or +%% other commonly-used printers would be gratefully received. I need to +%% know about printing limits at the top, bottom, left, and right for +%% portrait and landscape modes, and whether the data is what the book +%% says or what you measured (preferrably both, but anything'll help). +%% If anyone really uses LaTeX with an A3 printer, do tell: it's +%% something I've been wondering about. +%% +%% \RM@ptrpostol generally set to 1mm (paper sizes are to $\pm2$mm), +%% except for our dw520 which I keep a careful eye on. +%% +\DeclareOption{fullbleedprinter}{ + \def\RM@printertype{0} + \def\RM@ptrrportclear{0mm} + \def\RM@ptrlportclear{0mm} + \def\RM@ptrtportclear{0mm} + \def\RM@ptrbportclear{0mm} + \def\RM@ptrrlandclear{0mm} + \def\RM@ptrllandclear{0mm} + \def\RM@ptrtlandclear{0mm} + \def\RM@ptrblandclear{0mm} + \def\RM@ptrpostol{0mm}% Seems best + } +% +%% Quite arbitrary settings, +\DeclareOption{generalprinter}{% arbitrary + \def\RM@printertype{1} + \def\RM@ptrrportclear{8mm} + \def\RM@ptrlportclear{8mm} + \def\RM@ptrtportclear{8mm} + \def\RM@ptrbportclear{15mm} + \def\RM@ptrrlandclear{15mm} + \def\RM@ptrllandclear{8mm} + \def\RM@ptrtlandclear{8mm} + \def\RM@ptrblandclear{8mm} + \def\RM@ptrpostol{1mm}% Guess + } +%% This uses the worst limits I can remember meeting: +%% \DeclareOption{pessimisticprinter}{ +%% \def\RM@printertype{2} +%% \def\RM@ptrrportclear{10mm} +%% \def\RM@ptrlportclear{10mm} +%% \def\RM@ptrtportclear{10mm} +%% \def\RM@ptrbportclear{19mm} +%% \def\RM@ptrrlandclear{19mm} +%% \def\RM@ptrllandclear{10mm} +%% \def\RM@ptrtlandclear{10mm} +%% \def\RM@ptrblandclear{10mm} +%% \def\RM@ptrpostol{1mm}% Guess +%% } +%% This uses the best limits I'd expect +%% \DeclareOption{optimisticprinter}{ +%% \def\RM@printertype{3} +%% \def\RM@ptrrportclear{3mm} +%% \def\RM@ptrlportclear{3mm} +%% \def\RM@ptrtportclear{3mm} +%% \def\RM@ptrbportclear{3mm} +%% \def\RM@ptrrlandclear{3mm} +%% \def\RM@ptrllandclear{3mm} +%% \def\RM@ptrtlandclear{3mm} +%% \def\RM@ptrblandclear{3mm} +%% \def\RM@ptrpostol{0.5mm}% Guess +%% } +%% +%% \DeclareOption{dw300printer}{% Guess +%% \def\RM@printertype{11} +%% \def\RM@ptrrportclear{6mm} +%% \def\RM@ptrlportclear{6mm} +%% \def\RM@ptrtportclear{7mm} +%% \def\RM@ptrbportclear{15mm} +%% \def\RM@ptrrlandclear{15mm} +%% \def\RM@ptrllandclear{7mm} +%% \def\RM@ptrtlandclear{6mm} +%% \def\RM@ptrblandclear{6mm} +%% \def\RM@ptrpostol{1mm} +%% } +\DeclareOption{dw500printer}{% HP spec + \def\RM@printertype{11} + \def\RM@ptrrportclear{6mm} + \def\RM@ptrlportclear{6mm} + \def\RM@ptrtportclear{7mm} + \def\RM@ptrbportclear{15mm} + \def\RM@ptrrlandclear{15mm} + \def\RM@ptrllandclear{7mm} + \def\RM@ptrtlandclear{6mm} + \def\RM@ptrblandclear{6mm} + \def\RM@ptrpostol{1mm} + } +\DeclareOption{dw600printer}{% Measured from Rebecca's at work+1mm. + \def\RM@printertype{12} + \def\RM@ptrrportclear{5mm} + \def\RM@ptrlportclear{5mm} + \def\RM@ptrtportclear{2mm} + \def\RM@ptrbportclear{15mm} + \def\RM@ptrrlandclear{15mm} + \def\RM@ptrllandclear{2mm} + \def\RM@ptrtlandclear{5mm} + \def\RM@ptrblandclear{5mm} + \def\RM@ptrpostol{1mm}% Guess + } +%% \DeclareOption{lj2printer}{% an arbitrary guess +%% \def\RM@printertype{20} +%% \def\RM@ptrrportclear{7mm} +%% \def\RM@ptrlportclear{7mm} +%% \def\RM@ptrtportclear{7mm} +%% \def\RM@ptrbportclear{7mm} +%% \def\RM@ptrrlandclear{7mm} +%% \def\RM@ptrllandclear{7mm} +%% \def\RM@ptrtlandclear{7mm} +%% \def\RM@ptrblandclear{7mm} +%% \def\RM@ptrpostol{1mm}% Guess +%% } +%% \DeclareOption{lj3printer}{% an arbitrary guess +%% \def\RM@printertype{21} +%% \def\RM@ptrrportclear{6mm} +%% \def\RM@ptrlportclear{6mm} +%% \def\RM@ptrtportclear{6mm} +%% \def\RM@ptrbportclear{6mm} +%% \def\RM@ptrrlandclear{6mm} +%% \def\RM@ptrllandclear{6mm} +%% \def\RM@ptrtlandclear{6mm} +%% \def\RM@ptrblandclear{6mm} +%% \def\RM@ptrpostol{1mm}% Guess +%% } +\DeclareOption{lj4printer}{% measured from MS Works output + \def\RM@printertype{22} + \def\RM@ptrrportclear{5mm} + \def\RM@ptrlportclear{5mm} + \def\RM@ptrtportclear{5mm} + \def\RM@ptrbportclear{5mm} + \def\RM@ptrrlandclear{5mm} + \def\RM@ptrllandclear{5mm} + \def\RM@ptrtlandclear{5mm} + \def\RM@ptrblandclear{5mm} + \def\RM@ptrpostol{0.5mm}% Guess + } +%% \DeclareOption{canonbjxprinter}{% an arbitrary guess +%% \def\RM@printertype{22} +%% \def\RM@ptrrportclear{7mm} +%% \def\RM@ptrlportclear{7mm} +%% \def\RM@ptrtportclear{7mm} +%% \def\RM@ptrbportclear{12mm} +%% \def\RM@ptrrlandclear{12mm} +%% \def\RM@ptrllandclear{7mm} +%% \def\RM@ptrtlandclear{7mm} +%% \def\RM@ptrblandclear{7mm} +%% \def\RM@ptrpostol{1mm}% Guess +%% } +%% +%% ROWLAND'S CURIOUS OPTIONS +%% ------------------------- +%% +%% These are curious options, defined by me (RJMM) to perform dark and +%% eldritch deeds. These aren't intended for hoi polloi, mainly 'cos +%% they're a bit iffy in places, but I like them and they might give +%% you some ideas. +%% +%% +%% Our DW520 isn't quite to spec. +%% +% \DeclareOption{R+R-dw520printer}{ +% \def\RM@printertype{11} +% \def\RM@ptrrportclear{7mm}% spec 6mm +% \def\RM@ptrlportclear{6mm} +% \def\RM@ptrtportclear{7mm} +% \def\RM@ptrbportclear{15mm} +% \def\RM@ptrrlandclear{15mm} +% \def\RM@ptrllandclear{7mm} +% \def\RM@ptrtlandclear{7mm}% spec 6mm +% \def\RM@ptrblandclear{6mm} +% \def\RM@ptrpostol{0.5mm}% Guess +% } +%% +%% A dirty trick to load my .fd version of lucida casual rather than +%% the PSNFSS version. If you loadlucidacasual, \RM@fountfamily is set +%% to 9 after the lucida-casual package has been \RequirePackaged. +%% That's done by code further on in rmpage, specially written for +%% this dirty trick. +%% +%% Lucida casual +\DeclareOption{lucidacasualwidth}{\def\RM@fountfamily{9}} +\DeclareOption{loadlucidacasual}{\def\RM@fountfamily{13} + \RM@loadfounttrue\RM@setpsloose} +%% +%% These class options ought to be redundant now. +%%\DeclareOption{rmcv}{\def\RM@classtype{20}} +%%\DeclareOption{rmletter}{\def\RM@classtype{21}} +%%\DeclareOption{bithesis}{\def\RM@classtype{22}} +%% for ltx guide docs; maybe use in ltxguide.cfg? +%%\DeclareOption{ltxguide}{\def\RM@classtype{7}}% redundant +%% for typesetting .dtx files only; used by ltxdoc.cfg +%%\DeclareOption{ltxdoc}{\def\RM@classtype{6}}% redundant +%% for Liverpool J.Moore's EEP exams +%%\DeclareOption{ljmueepexam}{\def\RM@classtype{23}}% redundant +%% +%% \RM@ptsize is set to the requested point size if an rmsizeN package has +%% not already been recognised by another package. +%% +%% +%% These point size options need another package file which really +%% isn't ready to be released yet - so don't expect them to work. +%% +%% If you really, really, really want to use these extra point sizes, +%% I'll send you the extra files if you ask nicely. +%% +\providecommand{\RM@ptsize}{666} +\DeclareOption{14pt}{\ifnum\RM@ptsize=666\def\RM@ptsize{14}\def\@ptsize{2}\fi} +\DeclareOption{24pt}{\ifnum\RM@ptsize=666\def\RM@ptsize{24}\def\@ptsize{2}\fi} +\DeclareOption{36pt}{\ifnum\RM@ptsize=666\def\RM@ptsize{36}\def\@ptsize{2}\fi} +%% +%% Don't do anything to the file above this point except these things: +%% comment out whole options, +%% uncomment out whole options, +%% and change the identifying comments and commands at the start of the file. +%% Disobeying this order will result in a squadron of highly-trained +%% killer gerbils attacking your toenails each night; the cost in +%% pedicurist bills will be crippling. +%% +%% +%% LOCAL CODE BELOW HERE PLEASE +%% ============================ +%% +%% +%% Add your options in the section marked out below. +%% +%% +%% BEGIN LOCAL OPTION DECLARATION +%% ============================== +%% + +%% +%% +%% END LOCAL OPTION DECLARATION +%% ============================ +%% +%% +%% DEFAULT OPTION SETTING +%% ====================== +%% +%% Default options for any class---the \ExecuteOptions statement below +%% should contain the default settings you want for all documents. +%% Remember these options can always be over-ridden by class-specific +%% code and options used in a document. +%% +%% Check the statement below about default option settings; things +%% change, y'know. +%% +%% rmpage sets things up so that these options are used by default: +%% +%% noheaders,footers,notcentre,oneside,portrait,onecolumn,normalaltitude, +%% normalcolumnsep,normalheadsep,normalfootskip,normalmparsep, +%% normallength,normalwidth,normaloffset,generalprinter, +%% noadaptivecolumnsep,nastydate,taciturn +%% +%% The (USA) letterpaper option is specified by the standard classes; +%% rmpage defaults to undefinedpaper (a real papertype in my +%% book, which I wouldn't recommend unless you like error messages). +%% +%% Either the stdmargins or notstdmargins option should be executed, to +%% avoid (admittedly unlikely) mis-understandings over the placement of +%% marginal notes. I think I've changed rmpage so there shouldn't be +%% a problem with this; notstdmargins is the default setting. +%% +%% If no config file is found by rmpagenew, the notstdmargins option +%% is executed using \ExecuteOptions. +%% +%% +%% CHANGE THE COMMAND BELOW TO MATCH YOUR LOCAL PREFERENCES +%% -------------------------------------------------------- +%% +% \ExecuteOptions{R+R-dw520printer,a4paper,notstdmargins,nicedate,noheaders} +\ExecuteOptions{generalprinter,letterpaper,stdmargins,usdate,noheaders} +%% +%% -------------------------------------------------------- +%% +%% +%% DEFAULT OPTIONS FOR PARTICULAR CLASSES. +%% ====================================== +%% +%% Don't set default options in local classes using +%% \PassOptionsToPackage{rmpage}{...} in your class file unless you have +%% a good reason to; read the note below. +%% +%% If you need to have rmpage \ExecuteOptions for particular classes, +%% use the \RM@OnClassExecuteOptions statement in the block below. +%% +%% \RM@ClassExecuteOption{}{