%% 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{}{