TimesAPriori_MIT.cls 60 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943
  1. \newcommand\classname{TimesAPriori_MIT}
  2. \newcommand\lastmodifieddate{2020/07/23}
  3. \newcommand\versionnumber{0.1}
  4. % Are we printing crop marks?
  5. \newif\if@cropmarkson \@cropmarksontrue
  6. \newif\ifsixbynine \sixbyninetrue%6x9 inches, fixed by default
  7. \newif\ifsevenbyten%7x9
  8. \newif\ifsevenbytenwide%7x9
  9. \newif\ifeightbyten%8x9
  10. \newif\ifappendon%
  11. \newif\ifthmcountchapter%
  12. \newif\ifthmcountcont%
  13. \newif\if@aheadpresent\global\@aheadpresentfalse%used for unnumbered heads
  14. \newif\if@bheadpresent\global\@bheadpresentfalse%
  15. \NeedsTeXFormat{LaTeX2e}
  16. \ProvidesClass{\classname}[\lastmodifieddate\space\versionnumber]
  17. \setlength{\paperheight}{9truein}%
  18. \setlength{\paperwidth}{6truein}%
  19. \DeclareOption{draft}{\PassOptionsToPackage{draft}{graphicx}}
  20. \DeclareOption{a4paper}{\PassOptionsToPackage{a4}{crop}}
  21. \DeclareOption{centre}{\PassOptionsToPackage{center}{crop}}
  22. \DeclareOption{crop}{\PassOptionsToPackage{cam}{crop}\global\@cropmarksontrue}
  23. \DeclareOption{nocrop}{\PassOptionsToPackage{off}{crop}\global\@cropmarksonfalse}
  24. \DeclareOption{info}{\PassOptionsToPackage{info}{crop}}
  25. \DeclareOption{noinfo}{\PassOptionsToPackage{noinfo}{crop}}
  26. %%Trim Sizes%%
  27. \DeclareOption{6x9}{\global\sixbyninetrue}
  28. \DeclareOption{7x10}{\global\sevenbytentrue}
  29. \DeclareOption{7x10wide}{\global\sevenbytenwidetrue}
  30. \DeclareOption{8x10}{\global\eightbytentrue%
  31. \PassOptionsToPackage{width=9truein,height=11truein,cam}{crop}%
  32. }%
  33. %%Numbers like Theorem 1.1, Lemma 1.1, etc.
  34. \DeclareOption{thmnumcontwithchapter}{\global\thmcountchaptertrue}
  35. %%Numbers like Theorem 1.1, Lemma 1.2, etc.
  36. \DeclareOption{thmnumcont}{\global\thmcountconttrue}%
  37. \ExecuteOptions{a4paper,crop,centre,info}
  38. \ProcessOptions
  39. \ifsixbynine%
  40. \setlength{\paperheight}{9truein}%
  41. \setlength{\paperwidth}{6truein}%
  42. \fi%
  43. \ifsevenbyten%
  44. \setlength{\paperheight}{10truein}%
  45. \setlength{\paperwidth}{7truein}%
  46. \fi%
  47. \ifsevenbytenwide%
  48. \setlength{\paperheight}{10truein}%
  49. \setlength{\paperwidth}{7truein}%
  50. \fi%
  51. \ifeightbyten%
  52. \setlength{\paperheight}{10truein}%
  53. \setlength{\paperwidth}{8truein}%
  54. \fi%
  55. % Load all necessary packages
  56. \usepackage{ifxetex,ifluatex}%
  57. \RequirePackage[T1]{fontenc}%
  58. \ifxetex\relax\else%
  59. \RequirePackage{times}%
  60. \RequirePackage[defaultmathsizes,italic]{mathastext}\fi%
  61. \ifluatex\relax\else%
  62. \RequirePackage{times}%
  63. \RequirePackage[defaultmathsizes,italic]{mathastext}\fi%
  64. \RequirePackage{crop,graphicx,amsmath,amsthm,amsfonts,makeidx,array,floatpag}%
  65. \RequirePackage{framed,stfloats,courier}%
  66. \RequirePackage[figuresright]{rotating}%
  67. \RequirePackage{adjustbox}%
  68. \RequirePackage{titlecaps}%
  69. \Addlcwords{the of into that for in and a with in}%%
  70. %\usepackage{ifluatex}%
  71. %\usepackage{ifxetex}%
  72. %\ifxetex%
  73. % Not sure if needed.
  74. \newcommand\@ptsize{0}
  75. % Set twoside printing
  76. \@twosidetrue
  77. % Marginal notes are on the outside edge
  78. \@mparswitchtrue
  79. % Default font sizes
  80. \def\aboveskip{%
  81. \abovedisplayskip=0pt%
  82. \abovedisplayshortskip=0pt%
  83. }%
  84. \renewcommand\normalsize{%
  85. \@setfontsize\normalsize{10\p@}{13\p@}%
  86. \abovedisplayskip 7\p@%
  87. \abovedisplayshortskip \z@%
  88. \belowdisplayshortskip 3.5\p@%
  89. \belowdisplayskip 7\p@%
  90. \let\@listi\@listI}%
  91. \normalsize%
  92. \let\@bls\baselineskip%
  93. \newcommand\small{%
  94. \@setfontsize\small{9\p@}{11\p@}%
  95. \abovedisplayskip 8.5\p@%
  96. \abovedisplayshortskip \z@%
  97. \belowdisplayshortskip 4\p@%
  98. \def\@listi{\leftmargin\leftmargini
  99. \topsep 4\p@%
  100. \parsep 2\p@%
  101. \itemsep \parsep}%
  102. \belowdisplayskip \abovedisplayskip
  103. }
  104. \newcommand\footnotesize{%
  105. \@setfontsize\footnotesize{8\p@}{9.5\p@}%
  106. \abovedisplayskip 6\p@%
  107. \abovedisplayshortskip \z@%
  108. \belowdisplayshortskip 3\p@%
  109. \def\@listi{\leftmargin\leftmargini
  110. \topsep 3\p@%
  111. \parsep 2\p@%
  112. \itemsep \parsep}%
  113. \belowdisplayskip 6\p@
  114. }
  115. \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
  116. \newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
  117. %\newcommand\little{\@setfontsize\tiny\@ixpt\@ixpt}
  118. \newcommand\large{\@setfontsize\large\@xiipt{14}}
  119. \newcommand\Large{\@setfontsize\Large\@xivpt{18}}
  120. \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
  121. \newcommand\huge{\@setfontsize\huge\@xxpt{25}}
  122. \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
  123. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  124. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  125. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  126. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  127. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  128. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  129. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  130. % Line spacing
  131. \setlength\lineskip{1\p@}
  132. \setlength\normallineskip{1\p@}
  133. \renewcommand\baselinestretch{}
  134. % Paragraph dimensions and inter-para spacing
  135. \setlength\parskip{0\p@}
  136. \setlength\parindent{10\p@}
  137. % Set inter-para skips
  138. \setlength\smallskipamount{3.25\p@}
  139. \setlength\medskipamount{6.5\p@}
  140. \setlength\bigskipamount{13\p@}
  141. % Page break penalties
  142. \@lowpenalty 51
  143. \@medpenalty 151
  144. \@highpenalty 301
  145. % Disallow widows and orphans
  146. \clubpenalty 10000
  147. \widowpenalty 10000
  148. % Disable page breaks before equations, allow pagebreaks after
  149. % equations and discourage widow lines before equations.
  150. \displaywidowpenalty 100
  151. \predisplaypenalty 10000
  152. \postdisplaypenalty 0
  153. % Allow breaking the page in the middle of a paragraph
  154. \interlinepenalty 0
  155. % Disallow breaking the page after a hyphenated line
  156. \brokenpenalty 10000
  157. % Hyphenation; don't split words into less than three characters
  158. \lefthyphenmin=3
  159. \righthyphenmin=3
  160. \ifxetex
  161. \RequirePackage{mathptmx}%
  162. \usepackage{fontspec}%
  163. \defaultfontfeatures{Ligatures=TeX}%
  164. \setmainfont[Mapping=tex-text,Path = ./fonts/ ,
  165. UprightFont= TimesLTStd-Roman,
  166. BoldFont= TimesLTStd-Bold,
  167. ItalicFont=TimesLTStd-Italic,
  168. BoldItalicFont=TimesLTStd-BoldItalic
  169. ]{TimesLTStd-Roman}%
  170. \setsansfont[Mapping=tex-text,Path = ./fonts/ ,
  171. %Scale=MatchLowercase,
  172. UprightFont= SyntaxLTStd-Roman,
  173. BoldFont=SyntaxLTStd-Bold,
  174. ItalicFont=SyntaxLTStd-Italic,
  175. ]{SyntaxLTStd-Roman}
  176. \fi
  177. \ifluatex
  178. \RequirePackage{mathptmx}%
  179. \usepackage{fontspec}%
  180. \defaultfontfeatures{Ligatures=TeX}%
  181. \setmainfont[Mapping=tex-text,Path = ./fonts/ ,
  182. UprightFont= TimesLTStd-Roman,
  183. BoldFont= TimesLTStd-Bold,
  184. ItalicFont=TimesLTStd-Italic,
  185. BoldItalicFont=TimesLTStd-BoldItalic
  186. ]{TimesLTStd-Roman}%
  187. \setsansfont[Mapping=tex-text,Path = ./fonts/ ,
  188. %Scale=MatchLowercase,
  189. UprightFont= SyntaxLTStd-Roman,
  190. BoldFont=SyntaxLTStd-Bold,
  191. ItalicFont=SyntaxLTStd-Italic,
  192. ]{SyntaxLTStd-Roman}
  193. \fi
  194. \usepackage{tikz}%
  195. \def\slant#1#2{%
  196. \tikz[baseline=(X.base), xslant=tan(#1)]%
  197. \node[inner sep=0pt, xslant=tan(#1)](X){#2};%
  198. }%
  199. \newcommand{\sfbfit}[1]{\slant{15}{\fontsize{9}{13}\selectfont\sansbold{#1}}}%15 degree slant
  200. %%Sansbold definitions
  201. \newcommand{\sansbold}[1]{\textbf{\textsf{#1}}}%
  202. %%
  203. %
  204. % Set page layout dimensions
  205. %
  206. \setlength\headheight{8\p@} % height of running head
  207. \setlength\topmargin{34\p@} % head margin
  208. \addtolength\topmargin{-1in} % subtract out the 1 inch driver margin
  209. \setlength\topskip{10\p@} % height of first line of text
  210. \AtBeginDocument{\setlength{\topskip}{\fontcharht\font`T}}%
  211. \setlength\headsep{40\p@} % space below running head --
  212. \addtolength\headsep{-\topskip} % base to base with first line of text
  213. \setlength\footskip{\z@} % space above footer line
  214. \setlength\maxdepth{.5\topskip} % pages can be short or deep by half a line?
  215. \ifsixbynine
  216. \setlength\textwidth{26pc} % text measure excluding margins
  217. \fi
  218. \ifsevenbyten%
  219. \setlength\textwidth{30pc} % text measure excluding margins
  220. \fi
  221. \ifsevenbytenwide
  222. \setlength\textwidth{30pc} % text measure excluding margins
  223. \fi
  224. \ifeightbyten%
  225. \setlength\textwidth{30pc} % text measure excluding margins
  226. \fi
  227. \ifsixbynine
  228. \setlength\textheight{39\baselineskip} % 40 lines on a full page,
  229. \addtolength\textheight{\topskip} % including the first
  230. \fi % line on the page
  231. \ifsevenbyten
  232. \setlength\textheight{44\baselineskip} % 45 lines on a full page,
  233. \addtolength\textheight{\topskip} % including the first
  234. \fi % line on the page
  235. \ifsevenbytenwide
  236. \setlength\textheight{44\baselineskip} % 45 lines on a full page,
  237. \addtolength\textheight{\topskip} % including the first
  238. \fi % line on the page
  239. \ifeightbyten
  240. \setlength\textheight{44\baselineskip} % 45 lines on a full page,
  241. \addtolength\textheight{\topskip} % including the first
  242. \fi % line on the page
  243. % Set the margins
  244. % Margin paras are not required. Set lengths to zero.
  245. \ifsixbynine
  246. \setlength\marginparsep{18\p@}
  247. \setlength\marginparpush{6\p@}
  248. \setlength\marginparwidth{40\p@}
  249. \fi
  250. \ifsevenbyten
  251. \setlength\marginparsep{\z@}%
  252. \setlength\marginparpush{\z@}%
  253. \setlength\marginparwidth{48\p@}%
  254. \fi
  255. \ifsevenbytenwide
  256. \setlength\marginparsep{18\p@}
  257. \setlength\marginparpush{6\p@}
  258. \setlength\marginparwidth{40\p@}
  259. \fi
  260. \ifeightbyten
  261. \setlength\marginparsep{\z@}
  262. \setlength\marginparpush{\z@}
  263. \setlength\marginparwidth{72\p@}
  264. \fi
  265. %%%
  266. \ifsixbynine
  267. \setlength\oddsidemargin{5pc}
  268. \addtolength\oddsidemargin{-1in} % subtract out the 1 inch driver margin
  269. \setlength\@tempdima{\paperwidth}
  270. \addtolength\@tempdima{-\textwidth}
  271. \addtolength\@tempdima{-5pc}
  272. \setlength\evensidemargin{\@tempdima}
  273. \addtolength\evensidemargin{-1in}
  274. \fi
  275. \ifsevenbyten
  276. \setlength\oddsidemargin{6pc}
  277. \addtolength\oddsidemargin{-1in} % subtract out the 1 inch driver margin
  278. \setlength\@tempdima{\paperwidth}
  279. \addtolength\@tempdima{-\textwidth}
  280. \addtolength\@tempdima{-6pc}
  281. \setlength\evensidemargin{\@tempdima}
  282. \addtolength\evensidemargin{-1in}
  283. \fi
  284. \ifsevenbytenwide%
  285. \setlength\oddsidemargin{6pc}
  286. \addtolength\oddsidemargin{-1in} % subtract out the 1 inch driver margin
  287. \setlength\@tempdima{\paperwidth}
  288. \addtolength\@tempdima{-\textwidth}
  289. \addtolength\@tempdima{-6pc}
  290. \setlength\evensidemargin{\@tempdima}
  291. \addtolength\evensidemargin{-1in}
  292. \fi
  293. \ifeightbyten%
  294. \setlength\oddsidemargin{9pc}
  295. \addtolength\oddsidemargin{-1in} % subtract out the 1 inch driver margin
  296. \setlength\@tempdima{\paperwidth}
  297. \addtolength\@tempdima{-\textwidth}
  298. \addtolength\@tempdima{-9pc}
  299. \setlength\evensidemargin{\@tempdima}
  300. \addtolength\evensidemargin{-1in}
  301. \fi
  302. \setlength\columnsep{0\p@} % space between columns for double-column text
  303. \setlength\columnseprule{0\p@} % width of rule between two columns
  304. % Footnotes
  305. \setlength\footnotesep{8\p@} % space between footnotes
  306. % space between text and footnote
  307. \setlength{\skip\footins}{18\p@}%
  308. % Float placement parameters
  309. % The total number of floats that can be allowed on a page.
  310. \setcounter{totalnumber}{10}
  311. % The maximum number of floats at the top and bottom of a page.
  312. \setcounter{topnumber}{5}
  313. \setcounter{bottomnumber}{5}
  314. % The maximum part of the top or bottom of a text page that can be
  315. % occupied by floats. This is set so that at least four lines of text
  316. % fit on the page.
  317. \renewcommand\topfraction{.921}
  318. \renewcommand\bottomfraction{.921}
  319. % The minimum amount of a text page that must be occupied by text.
  320. % This should accomodate four lines of text.
  321. \renewcommand\textfraction{.079}
  322. % The minimum amount of a float page that must be occupied by floats.
  323. \renewcommand\floatpagefraction{.887}
  324. % The same parameters repeated for double column output
  325. \renewcommand\dbltopfraction{.88}
  326. \renewcommand\dblfloatpagefraction{.88}
  327. % Space between floats
  328. \setlength\floatsep {12\p@}
  329. % Space between floats and text
  330. \setlength\textfloatsep{20\p@}
  331. % Space above and below an inline figure
  332. \setlength\intextsep {18\p@}
  333. % For double column floats
  334. \setlength\dblfloatsep {12\p@}% \@plus 2\p@ \@minus 2\p@}
  335. \setlength\dbltextfloatsep{20\p@}% \@plus 2\p@ \@minus 4\p@}
  336. % Space left at top, bottom and inbetween floats on a float page.
  337. \setlength\@fptop{0\p@} % no space above float page figures
  338. \setlength\@fpsep{12\p@}% \@plus 2fil}
  339. \setlength\@fpbot{0\p@}% \@plus 1fil}
  340. % The same for double column
  341. \setlength\@dblfptop{0\p@}
  342. \setlength\@dblfpsep{12\p@}% \@plus 1fil}
  343. \setlength\@dblfpbot{0\p@}% \@plus 2fil}
  344. % Page styles
  345. %\sodef\track{}{.15em}{0.333em}{0pt}
  346. \def\ps@headings{%
  347. \let\@oddfoot\@empty\let\@evenfoot\@empty
  348. \def\@evenhead{%
  349. \fontsize{8\p@}{8\p@}\selectfont{\sansbold{\thepage}}\hfill{%
  350. \if@mainmatter{\sansbold{\chaptername~\thechapter}}\else\sansbold{\leftmark\vphantom{y}}\fi}}%
  351. \def\@oddhead{\fontsize{8\p@}{8\p@}\selectfont{\sansbold{\vphantom{y}\rightmark}}\hfill{\sansbold{\thepage}}
  352. }%
  353. \let\@mkboth\markboth
  354. \def\chaptermark##1{\markboth{##1}{##1}}%
  355. }
  356. \def\ps@plain{%
  357. \let\@oddfoot\relax \let\@evenfoot\relax
  358. % \def\@oddfoot{\hfill{{\fontsize{10\p@}{12\p@}\selectfont\thepage}}}%
  359. \let\@evenfoot\@oddfoot%
  360. \let\@oddhead\relax \let\@evenhead\relax}%
  361. %
  362. % Sectional units
  363. %
  364. % Lowest level heading that takes a number by default
  365. \setcounter{secnumdepth}{3}
  366. % Counters
  367. \newcounter{part}
  368. \newcounter{chapter}
  369. \newcounter{section}[chapter]
  370. \newcounter{subsection}[section]
  371. \newcounter{subsubsection}[subsection]
  372. \newcounter{paragraph}[subsubsection]
  373. \newcounter{subparagraph}[paragraph]
  374. \newcounter{figure}[chapter]
  375. \newcounter{table}[chapter]
  376. % Form of the numbers
  377. \newcommand\thepage{\arabic{page}}
  378. \renewcommand\thepart{\Roman{part}}
  379. \renewcommand\thechapter{\arabic{chapter}}
  380. \renewcommand\thesection{\thechapter.\arabic{section}}
  381. \renewcommand\thesubsection{\thesection.\arabic{subsection}}
  382. \renewcommand\thesubsubsection{\thesubsection.\arabic{subsubsection}}%
  383. \renewcommand\theparagraph{\thesubsubsection.\arabic{paragraph}}
  384. \renewcommand\thesubparagraph{\theparagraph.\arabic{subparagraph}}
  385. \renewcommand\theequation{\thechapter.\arabic{equation}}
  386. \newcommand\@chapapp{\chaptername}
  387. % Form of the words
  388. \newcommand\contentsname{Contents}
  389. \newcommand\listfigurename{List of Figures}
  390. \newcommand\listtablename{List of Tables}
  391. \newcommand\partname{Part}
  392. \newcommand\chaptername{Chapter}
  393. \newcommand\appendixname{Application}
  394. \newcommand\abstractname{Abstract}
  395. \newcommand\refname{References}
  396. \newcommand\bibname{Bibliography}
  397. \newcommand\indexname{Index}
  398. \newcommand\figurename{Figure}
  399. \newcommand\tablename{Table}
  400. % Clearemptydoublepage should really clear the running heads too
  401. \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
  402. % Frontmatter, mainmatter and backmatter
  403. \newif\if@mainmatter \@mainmattertrue
  404. \newcommand\frontmatter{%
  405. \clearpage
  406. \@mainmatterfalse
  407. \pagenumbering{roman}}
  408. \newcommand{\HalfTitle}[1]{\thispagestyle{empty}\bgroup\parindent\z@\raggedright%
  409. \null\vspace{-12\p@}%
  410. \fontsize{12\p@}{14\p@}\selectfont%
  411. \sansbold{#1}\par%
  412. \egroup\clearpage}%
  413. \newcommand{\halftitlepage}{}%
  414. \def\seriespage{\thispagestyle{empty}\parindent=0pt\parskip=0pt
  415. \def\title##1{\vskip6pt{\it##1}}
  416. \def\author##1{\vskip1sp{\rm ##1}}
  417. }
  418. \def\endseriespage{\newpage}
  419. \def\seriestitle#1{{\normalsize\sansbold{MIT PRESS BOOK SERIES}\\[12pt] \sansbold{#1}}}
  420. \def\serieseditor#1{\vskip1sp{\normalsize\rm #1}\vspace{7\p@}}
  421. \newcommand{\Title}[1]{\thispagestyle{empty}\bgroup\parindent\z@\raggedright%
  422. \fontsize{12\p@}{14\p@}\selectfont%
  423. \sansbold{#1\vphantom{y}}\par%
  424. \egroup}%
  425. \newcommand{\Booksubtitle}[1]{\thispagestyle{empty}\bgroup\parindent\z@\raggedright%
  426. \fontsize{10\p@}{14\p@}\selectfont%
  427. \sansbold{#1\vphantom{y}}\par%
  428. \egroup}%
  429. \newcommand{\edition}[1]{\bgroup\parindent\z@\raggedright%
  430. \vspace{7.5\p@}%
  431. \normalsize%
  432. \sansbold{#1\vphantom{y}}\par%
  433. \egroup}%
  434. \newcommand{\BookAuthor}[1]{\bgroup\parindent\z@\raggedright%
  435. %\vspace{58\p@}%
  436. \vspace{96\p@}%
  437. \normalsize%
  438. \sansbold{#1\vphantom{y}}\par%
  439. \egroup}
  440. \newcommand{\imprint}[1]{\bgroup\parindent\z@\raggedright%
  441. \vfill%
  442. \small\sf#1\par%
  443. \egroup\newpage}%
  444. \newenvironment{copyrightpage}{\thispagestyle{empty}\bgroup\parindent\z@%
  445. \raggedright%
  446. \fontsize{8\p@}{9.5\p@}\selectfont%
  447. \null\vspace{122\p@}\setlength{\parskip}{12.5\p@}%
  448. }{\par\egroup\newpage}%
  449. \newcommand{\dedication}[1]{\thispagestyle{empty}\bgroup\parindent\z@\raggedright%
  450. \null\vspace{132\p@}%
  451. \normalsize%
  452. #1\par%
  453. \egroup}
  454. \def\startonoddpage{\clearpage
  455. \ifodd\c@page\else\null\thispagestyle{empty}\newpage\fi}
  456. \newenvironment{epigraphpage}{\thispagestyle{empty}%
  457. \startonoddpage\bgroup%
  458. \null\vspace{125\p@}%
  459. \small%
  460. }{\egroup\thispagestyle{empty}\newpage}%
  461. \def\epigraph#1#2{\vskip8pt\noindent{\small#1\vphantom{y}}\vskip1sp%
  462. \noindent{\small\rm ---#2}\vskip1pt}%
  463. \def\endchapepigraph{\vspace{2\baselineskip}\@afterheading\@afterindentfalse}%
  464. \newif\iftwocolcontributors
  465. \def\contributors{\@ifnextchar[{\global\twocolcontributorstrue
  466. \addcontentsline{toc}{fmbm}{Contributors}%
  467. \xcontributors}{\ycontributors}}
  468. \def\ycontributors{\startonoddpage\parindent=0pt\parskip=3pt\thispagestyle{empty}
  469. \chapter*{Contributors}%
  470. }
  471. \def\endcontributors{\vskip1sp
  472. \iftwocolcontributors\def\go{\end{multicols}}\else\let\go\relax\fi\go
  473. \newpage}
  474. \def\contrib#1\\{\vskip1sp{\sansbold{#1}}\\
  475. }
  476. \def\xcontributors[#1]{\startonoddpage\parindent=0pt\parskip=3pt\thispagestyle{empty}
  477. \chapter*{Contributors}
  478. \columnsep=1pc
  479. \hyphenpenalty=10000
  480. \raggedright
  481. \begin{multicols}{2}[\vspace*{-12\p@}]}
  482. %%%
  483. \newcommand\mainmatter{%
  484. \clearpage
  485. \@mainmattertrue
  486. \pagenumbering{arabic}}
  487. \newcommand\backmatter{%
  488. \clearpage
  489. \@mainmatterfalse}
  490. \def\part{\clearpage\thispagestyle{empty}\global\@topnum\z@
  491. \secdef\@part\@spart}
  492. \def\@part[#1]#2{%
  493. \ifnum \c@secnumdepth >\m@ne
  494. \refstepcounter{part}
  495. % \typeout{^^J\@chapapp\space\arabic{chapter}:}
  496. \addcontentsline{toc}{part}{\protect\numberline{\thepart}#2}
  497. \else
  498. \addcontentsline{toc}{part}{#2}
  499. \fi
  500. \@makeparthead{#2}
  501. \@afterindentfalse
  502. \@afterheading}
  503. \def\@spart#1{%
  504. \thispagestyle{empty}
  505. \@makesparthead{#1}
  506. \@afterindentfalse
  507. \@afterheading}
  508. \def\chapter{\clearpage\startonoddpage\thispagestyle{plain}\global\@topnum\z@
  509. \secdef\@chapter\@schapter}
  510. \def\@chapter[#1]#2{%
  511. \ifnum \c@secnumdepth >\m@ne
  512. \refstepcounter{chapter}
  513. \typeout{^^J\@chapapp\space\arabic{chapter}:}
  514. \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#2}
  515. \else
  516. \addcontentsline{toc}{chapter}{#2}
  517. \fi
  518. \chaptermark{#1}
  519. \@makechapterhead{#2}
  520. \@afterindentfalse
  521. \@afterheading\chapterauthor{}\notenum=0%
  522. }
  523. \def\@schapter#1{%
  524. \chaptermark{#1}
  525. \thispagestyle{plain}
  526. \@makeschapterhead{#1}
  527. \@afterindentfalse
  528. \@afterheading}
  529. \def\@makeparthead#1{%
  530. \begingroup%
  531. \parindent\z@\raggedright%
  532. \null\vspace{-10.5\p@}%
  533. \adjustbox{valign=t}{%
  534. \begin{tabular}[t]{@{}l@{}}
  535. \fontsize{31.4\p@}{31.4\p@}\selectfont\sansbold{\thepart}%
  536. \end{tabular}}\ignorespaces\hspace{22\p@}\ignorespaces%
  537. \adjustbox{valign=t}{%
  538. \begin{tabular}[t]{@{}P{270\p@}@{}}%
  539. \noalign{\vskip-1.5\p@}%
  540. {\fontsize{11\p@}{14\p@}\selectfont\sansbold{\uppercase{#1}}\par}%
  541. \end{tabular}}%
  542. \endgroup
  543. \@afterindentfalse
  544. \@afterheading
  545. \clearemptydoublepage%
  546. }
  547. \def\partintro{\startonoddpage%
  548. \bgroup%
  549. \setcounter{secnumdepth}{0}%
  550. \thispagestyle{empty}%
  551. \normalsize%
  552. }
  553. \def\endpartintro{\egroup\newpage%
  554. \setcounter{secnumdepth}{3}%
  555. }%
  556. \def\partintrotitle#1{\section*{#1}%
  557. \addcontentsline{toc}{section}{#1}%
  558. }
  559. \let\@chapterauthor\@empty%
  560. \def\chapterauthor#1{\def\@chapterauthor{#1}}%
  561. \def\@makechapterhead#1{%
  562. \begingroup%
  563. \parindent\z@\raggedright%
  564. \null\vspace{-7.5\p@}%
  565. \vbox to 138\p@{%
  566. \adjustbox{valign=t}{%
  567. \begin{tabular}[t]{@{}l@{}}%
  568. \fontsize{31\p@}{31\p@}\selectfont\sansbold{\thechapter}%
  569. \end{tabular}}\ignorespaces\hspace{21\p@}\ignorespaces%
  570. \adjustbox{valign=t}{%
  571. \begin{tabular}[t]{@{}P{270\p@}@{}}%
  572. \noalign{\vskip-1.5\p@}%
  573. {\fontsize{11\p@}{14\p@}\selectfont\sansbold{#1}\vphantom{y}\par}\\%
  574. \ifx\@chapterauthor\@empty\relax\else%
  575. \noalign{\vskip1\p@}\addcontentsline{toc}{contributor}{\@chapterauthor}\fi%
  576. {\fontsize{9\p@}{14\p@}\selectfont\sansbold{\@chapterauthor\vphantom{y}}\par}%
  577. \end{tabular}}\par%
  578. %\medskip
  579. % {\fontsize{11}{13}\selectfont\centering\@subtitle\par}%
  580. %\bigskip%
  581. % {\fontsize{11}{13}\fontshape{it}\selectfont\centering\@author\par}%
  582. \vfill}%
  583. \endgroup%
  584. \@afterindentfalse
  585. \@afterheading}
  586. \def\abstract{\vskip9pt\bgroup\small\noindent{\sansbold{Abstract.}}\ignorespaces\hspace{9\p@}\ignorespaces}%
  587. \def\endabstract{\vskip1sp\egroup\vskip9pt}%
  588. %%%%Appendix Chapter Title
  589. \def\@makeappchapterhead#1{%
  590. \begingroup%
  591. \parindent\z@\raggedright%
  592. \null\vspace{-7.5\p@}%
  593. \vbox to 138\p@{%
  594. \adjustbox{valign=t}{%
  595. \begin{tabular}[t]{@{}l@{}}%
  596. \fontsize{31\p@}{31\p@}\selectfont\sansbold{\thechapter}%
  597. \end{tabular}}\ignorespaces\hspace{24\p@}\ignorespaces%
  598. \adjustbox{valign=t}{%
  599. \begin{tabular}[t]{@{}P{255\p@}@{}}%
  600. {\fontsize{11\p@}{14\p@}\selectfont\sansbold{#1}\vphantom{y}\par}\\%
  601. \ifx\@chapterauthor\@empty\relax\else%
  602. \noalign{\vskip1\p@}\addcontentsline{toc}{contributor}{\@chapterauthor}\fi%
  603. {\fontsize{9\p@}{14\p@}\selectfont\sansbold{\@chapterauthor\vphantom{y}}\par}%
  604. \end{tabular}}\par%
  605. %\medskip
  606. % {\fontsize{11}{13}\selectfont\centering\@subtitle\par}%
  607. %\bigskip%
  608. % {\fontsize{11}{13}\fontshape{it}\selectfont\centering\@author\par}%
  609. \vfill}%
  610. \endgroup%
  611. \@afterindentfalse
  612. \@afterheading}
  613. \def\@makeschapterhead#1{%
  614. \begingroup\parindent\z@\raggedright%
  615. \null\vspace{-6.5\p@}%
  616. \vbox to 137.5\p@{%
  617. {\fontsize{11\p@}{14\p@}\selectfont\sansbold{#1\vphantom{y}}\par}%
  618. \vfill}%
  619. \endgroup%
  620. \@afterindentfalse%
  621. \@afterheading}%
  622. % Section macros
  623. % \@sect redefined to write the long entry to the TOC
  624. \def\@sect#1#2#3#4#5#6[#7]#8{%
  625. \ifnum #2>\c@secnumdepth
  626. \let\@svsec\@empty
  627. \else
  628. \refstepcounter{#1}%
  629. \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  630. \fi
  631. \@tempskipa #5\relax
  632. \ifdim \@tempskipa>\z@
  633. \ifnum#2=1%
  634. \begingroup
  635. #6{%
  636. \@hangfrom{\hskip #3\relax\@svsec}%
  637. \interlinepenalty \@M \titlecap{\sansbold{#8}} \@@par}%
  638. \endgroup\else
  639. \begingroup
  640. #6{%
  641. \@hangfrom{\hskip #3\relax\@svsec}%
  642. \interlinepenalty \@M \sansbold{#8} \@@par}%
  643. \endgroup\fi
  644. \csname #1mark\endcsname{#7}%
  645. \addcontentsline{toc}{#1}{%
  646. \ifnum #2>\c@secnumdepth \else
  647. \protect\numberline{\csname the#1\endcsname}%
  648. \fi
  649. #8}%
  650. \else
  651. \def\@svsechd{%
  652. #6{\hskip #3\relax
  653. \@svsec #8}%
  654. \csname #1mark\endcsname{#7}%
  655. \addcontentsline{toc}{#1}{%
  656. \ifnum #2>\c@secnumdepth \else
  657. \protect\numberline{\csname the#1\endcsname}%
  658. \fi
  659. #8}}%
  660. \fi
  661. \@xsect{#5}}
  662. \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
  663. \ifdim \@tempskipa>\z@
  664. \begingroup
  665. %\ifnum#1=3%
  666. % #4\@hangfrom{\hskip #1}%
  667. % {\interlinepenalty \@M {#5}\par}
  668. % \else%
  669. \if@aheadpresent\global\@aheadpresenttrue%
  670. #4\@hangfrom{\hskip #1}%
  671. {\interlinepenalty \@M {{\sansbold{#5}}\par}}
  672. \else
  673. \if@bheadpresent\global\@bheadpresenttrue%
  674. #4\@hangfrom{\hskip #1}%
  675. {\interlinepenalty \@M {{\sansbold{#5}}}\par}
  676. \else
  677. #4\@hangfrom{\hskip #1}%
  678. {\interlinepenalty \@M \sansbold{#5}\par}
  679. \fi%
  680. \fi%
  681. % \fi%
  682. \endgroup%
  683. \else
  684. \def\@svsechd{#4\hskip #1\relax #5\@afterhead}\fi
  685. \@xsect{#3}\global\@aheadpresentfalse\global\@bheadpresentfalse}
  686. \newdimen\bsecdimen%
  687. \bsecdimen=13pt%%%
  688. \newdimen\asecdimen%
  689. \asecdimen=13pt%
  690. \renewcommand{\@seccntformat}[1]{{\sansbold{\csname the#1\endcsname}\ignorespaces\hspace{9pt}\ignorespaces}}
  691. \newcommand\section{\@startsection {section}{1}{\z@}%
  692. {-\bsecdimen}%
  693. {\asecdimen}
  694. {\fontsize{9\p@}{13\p@}\selectfont\raggedright}}
  695. \newdimen\bsubsecdimen% B and C level above spaces are same
  696. \bsubsecdimen=13pt%%
  697. \newdimen\asubsecdimen%
  698. \asubsecdimen=0.01pt%%
  699. \newcommand\subsection{\@startsection{subsection}{2}{\z@}%
  700. {-\bsubsecdimen}%
  701. {\asubsecdimen}%
  702. {\fontsize{9\p@}{13\p@}\selectfont\raggedright}}
  703. \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  704. {-\bsubsecdimen}%
  705. {\asubsecdimen}%
  706. {\fontsize{9\p@}{13\p@}\selectfont\raggedright}}
  707. \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  708. {-7\p@}%
  709. {-9\p@}%
  710. {%\fontsize{10\p@}{13\p@}
  711. \fontsize{9}{13}\sansbold\selectfont\raggedright}}
  712. \newcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}%
  713. {-7\p@}%
  714. {-9\p@}%
  715. {\fontsize{9\p@}{13\p@}\selectfont\raggedright}}
  716. \newlength\abovecaptionskip
  717. \newlength\belowcaptionskip
  718. \setlength\abovecaptionskip{6\p@}
  719. \setlength\belowcaptionskip{\z@}
  720. \long\def\@makecaption#1#2{\vspace{\abovecaptionskip}%
  721. \fontsize{8\p@}{9.5\p@}\selectfont%
  722. \setbox\@tempboxa=\hbox{#1\ignorespaces\hspace{1em}\ignorespaces#2}%
  723. {\sansbold{#1}}\par#2%
  724. }
  725. \long\def\@tablecaption#1#2{\fontsize{8\p@}{9\p@}\selectfont%
  726. {\sansbold{#1}}\par{#2\strut}\par
  727. \vspace{\belowcaptionskip}}
  728. \newcommand{\tabfont}{\fontsize{8}{12}\selectfont}%
  729. \newcommand{\notename}{Notes{\em:}}
  730. % Top rule
  731. \RequirePackage{threeparttable,booktabs}%
  732. \def\hrulefill{\leavevmode\leaders\hrule height .50pt\hfill\kern\z@}
  733. \def\thefigure{\thechapter.\@arabic\c@figure}
  734. \def\fps@figure{tbp}
  735. \def\ftype@figure{1}
  736. \def\ext@figure{lof}
  737. \def\fnum@figure{\figurename~\thefigure}
  738. \def\figure{\@float{figure}}
  739. \def\endfigure{\end@float}
  740. \@namedef{figure*}{\@dblfloat{figure}}
  741. \@namedef{endfigure*}{\end@dblfloat}
  742. \def\thetable{\thechapter.\@arabic\c@table}
  743. \def\fps@table{tbp}
  744. \def\ftype@table{2}
  745. \def\ext@table{lot}
  746. \def\fnum@table{\tablename~\thetable}
  747. \def\table{\let\@makecaption\@tablecaption\@float{table}}
  748. \let\endtable\end@float
  749. \@namedef{table*}{\let\@makecaption\@tablecaption\@dblfloat{table}}
  750. \@namedef{endtable*}{\end@dblfloat}
  751. \newif\if@rotate \@rotatefalse
  752. \newif\if@rotatecenter \@rotatecenterfalse
  753. \def\rotatecenter{\global\@rotatecentertrue}
  754. \def\rotateendcenter{\global\@rotatecenterfalse}
  755. \def\rotate{\global\@rotatetrue}
  756. \def\endrotate{\global\@rotatefalse}
  757. \newdimen\rotdimen
  758. \def\rotstart#1{\special{ps: gsave currentpoint currentpoint translate
  759. #1 neg exch neg exch translate}}
  760. \def\rotfinish{\special{ps: currentpoint grestore moveto}}
  761. \def\rotl#1{\rotdimen=\ht#1\advance\rotdimen by \dp#1
  762. \hbox to \rotdimen{\vbox to\wd#1{\vskip \wd#1
  763. \rotstart{270 rotate}\box #1\vss}\hss}\rotfinish}
  764. \def\rotr#1{\rotdimen=\ht #1\advance\rotdimen by \dp#1
  765. \hbox to \rotdimen{\vbox to \wd#1{\vskip \wd#1
  766. \rotstart{90 rotate}\box #1\vss}\hss}\rotfinish}
  767. \newdimen\tempdime
  768. \newbox\temptbox
  769. \newenvironment{processtable}[3]{\setbox\temptbox=\hbox{\fontsize{9\p@}{11\p@}\selectfont{#2}}%
  770. \tempdime\wd\temptbox\@processtable{#1}{#2}{#3}{\tempdime}}
  771. {\relax}
  772. \newenvironment{@processtable}[4]{%
  773. \if@rotate
  774. \setbox4=\vbox to \textwidth{\vss\hbox to \textheight{\hss%
  775. \begin{minipage}{#4}%
  776. \fontsize{9\p@}{10\p@}\selectfont
  777. \caption{#1}{#2}%
  778. \vskip4pt\noindent
  779. \parbox{#4}{\fontsize{8\p@}{10\p@}\selectfont #3\par}%
  780. \end{minipage}}\vss}%
  781. \else
  782. \setbox4=\hbox to \textwidth{\vbox{\begin{center}\begin{minipage}[t]{#4}%
  783. \fontsize{9\p@}{10\p@}\selectfont
  784. \caption{#1}{#2}%
  785. \vskip4pt\noindent
  786. \parbox{#4}{\fontsize{8\p@}{10\p@}\selectfont #3\par}%
  787. \end{minipage}\end{center}}}%
  788. \fi
  789. \if@rotate\rotl{4}\else\box4\fi}
  790. {\relax}
  791. \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}%
  792. \newcommand{\colhead}[1]{\bgroup\selectfont#1\egroup}%
  793. % ******************************
  794. % List numbering and lettering *
  795. % ******************************
  796. \def\labelenumi{{\rm\arabic{enumi}.}}
  797. \def\theenumi{\arabic{enumi}}
  798. \def\labelenumii{{\rm \roman{enumii}.}}
  799. \def\theenumii{a\alph{enumii}}
  800. \def\p@enumii{\theenumi}
  801. \def\labelenumiii{({\rm\roman{enumiii}})}
  802. \def\theenumiii{\roman{enumiii}}
  803. \def\p@enumiii{\theenumi(\theenumii)}
  804. \def\labelenumiv{({\rm\Alph{enumiv}})}
  805. \def\theenumiv{\Alph{enumiv}}
  806. \def\p@enumiv{\p@enumiii\theenumiii}
  807. \newcommand{\alphlist}{%
  808. \def\labelenumi{{\rm\alph{enumi}}}%
  809. \def\theenumi{\alph{enumi}}%
  810. }
  811. \newcommand{\Alphlist}{%
  812. \def\labelenumi{{\rm\Alph{enumi}}}%
  813. \def\theenumi{\Alph{enumi}}%
  814. }
  815. \newcommand{\romanlist}{%
  816. \def\labelenumi{{\rm\roman{enumi}}}%
  817. \def\theenumi{\roman{enumi}}%
  818. }
  819. \newcommand{\Romanlist}{%
  820. \def\labelenumi{{\rm\Roman{enumi}}}%
  821. \def\theenumi{\Roman{enumi}}%
  822. }
  823. \def\labelitemi{\tiny\raise1.25pt\llap{$\bullet$}}%
  824. \def\labelitemii{--}%
  825. \def\labelitemiii{$\ast$}%
  826. \def\labelitemiv{$\cdot$}%
  827. \setlength\leftmargini {\z@}%
  828. \leftmargin \leftmargini
  829. \setlength\leftmarginii {\z@}
  830. \setlength\leftmarginiii {\z@}
  831. \setlength\leftmarginiv {\z@}
  832. \setlength\leftmarginv {\z@}
  833. \setlength\leftmarginvi {\z@}
  834. \setlength\partopsep{\z@}
  835. \setlength \labelsep {.5em}
  836. \setlength \labelwidth{\leftmargini}
  837. \addtolength\labelwidth{-\labelsep}
  838. \def\@listi{\leftmargin\leftmargini
  839. %\parsep 4\p@ \@plus2\p@ \@minus\p@
  840. \topsep 7\p@%
  841. %\itemsep4\p@ \@plus2\p@ \@minus\p@
  842. }
  843. \let\@listI\@listi
  844. \@listi
  845. \def\@listii {\leftmargin\leftmarginii
  846. \labelwidth\leftmarginii
  847. \advance\labelwidth-\labelsep
  848. \topsep 1\p@% 4\p@ \@plus2\p@ \@minus\p@
  849. \parsep \z@%
  850. \itemsep \parsep}
  851. \def\@listiii{\leftmargin\leftmarginiii
  852. \labelwidth\leftmarginiii
  853. \advance\labelwidth-\labelsep
  854. \topsep \z@%
  855. \parsep \z@
  856. \partopsep \p@%
  857. \itemsep \topsep}
  858. \def\@listiv {\leftmargin\leftmarginiv
  859. \labelwidth\leftmarginiv
  860. \advance\labelwidth-\labelsep}
  861. \def\@listv {\leftmargin\leftmarginv
  862. \labelwidth\leftmarginv
  863. \advance\labelwidth-\labelsep}
  864. \def\@listvi {\leftmargin\leftmarginvi
  865. \labelwidth\leftmarginvi
  866. \advance\labelwidth-\labelsep}
  867. \def\enumargs{%
  868. \partopsep \z@
  869. \itemsep 1\p@
  870. \parsep \z@
  871. \labelsep 0.5em
  872. \rightmargin \z@
  873. \listparindent \parindent
  874. \itemindent \z@}
  875. \def\enumerate{%
  876. \@ifnextchar[{\@numerate}{\@numerate[0.]}}
  877. \def\@numerate[#1]{%
  878. \ifnum \@enumdepth >3 \@toodeep\else
  879. \advance\@enumdepth \@ne
  880. \edef\@enumctr{enum\romannumeral\the\@enumdepth}
  881. \list{\csname label\@enumctr\endcsname}{%
  882. \enumargs
  883. \setlength{\leftmargin}{\csname leftmargin\romannumeral\the\@enumdepth\endcsname}
  884. \usecounter{\@enumctr}
  885. \settowidth\labelwidth{#1}
  886. \addtolength{\leftmargin}{\labelwidth}
  887. \addtolength{\leftmargin}{\labelsep}
  888. \def\makelabel##1{\hss\llap{##1}}}%
  889. \fi
  890. }
  891. \let\endenumerate\endlist
  892. % Changes to the list parameters for itemize
  893. \def\itemargs{%
  894. \partopsep \z@
  895. \itemsep 1\p@
  896. \parsep \z@
  897. \labelsep 0.5em
  898. \rightmargin \z@
  899. \listparindent \parindent
  900. \itemindent \z@}
  901. \def\itemize{%
  902. \@ifnextchar[{\@itemize}{\@itemize[$\bullet$]}}
  903. \def\@itemize[#1]{%
  904. \ifnum \@itemdepth >3 \@toodeep\else
  905. \advance\@itemdepth \@ne
  906. \edef\@itemctr{item\romannumeral\the\@itemdepth}
  907. \list{\csname label\@itemctr\endcsname}{%
  908. \itemargs
  909. \setlength{\leftmargin}{\csname leftmargin\romannumeral\the\@itemdepth\endcsname}
  910. \settowidth\labelwidth{#1}
  911. \addtolength{\leftmargin}{\labelwidth}
  912. \addtolength{\leftmargin}{\labelsep}
  913. \def\makelabel##1{\hss \llap{##1}}}%
  914. \fi
  915. }
  916. \let\enditemize\endlist
  917. \def\unargs{%
  918. \partopsep \z@
  919. \itemsep \z@
  920. \labelwidth \z@
  921. \parsep \z@
  922. \labelsep \z@
  923. \rightmargin \z@
  924. \listparindent \parindent
  925. \leftmargin 12pt
  926. \itemindent -6pt}
  927. \newenvironment{unlist}{%
  928. \begin{list}{}{%
  929. \unargs%
  930. }}{\end{list}}
  931. \newenvironment{description}
  932. {\list{}{\leftmargin10\p@\itemsep1\p@\labelwidth\z@ \itemindent-\leftmargin
  933. \let\makelabel\descriptionlabel}}
  934. {\endlist}
  935. \newcommand*\descriptionlabel[1]{\hspace\labelsep
  936. \normalfont\sansbold{#1}}
  937. \newenvironment{verse}
  938. {\let\\\@centercr
  939. \list{}{\itemsep \z@
  940. \itemindent -1.5em%
  941. \listparindent\itemindent
  942. \rightmargin \leftmargin
  943. \advance\leftmargin 1.5em}%
  944. \item\relax}
  945. {\endlist}
  946. \newenvironment{quotation}
  947. {\list{}{\listparindent 1.5em%
  948. \itemindent \listparindent
  949. \rightmargin \leftmargin
  950. \parsep \z@}%
  951. \item\relax}
  952. {\endlist}
  953. \def\extitemargs{%
  954. \topsep 9\p@%
  955. \partopsep \z@%
  956. \itemsep 5\p@%
  957. \parsep \z@%
  958. \labelsep 0.5em%
  959. \rightmargin \z@%
  960. \listparindent \parindent%
  961. \itemindent \z@}%
  962. \newenvironment{quote}
  963. {\list{}{\topsep4\p@\leftmargin15pt\rightmargin15\p@\itemindent-5.25\p@\listparindent9\p@}%
  964. \small\let\itemargs\extitemargs%
  965. \item\relax}%
  966. {\endlist}
  967. \let\extract\quote%
  968. \let\endextract\endquote%
  969. \newenvironment{enotequote}
  970. {\list{}{\topsep4\p@\leftmargin18pt\rightmargin15\p@\itemindent-5.25\p@\listparindent9\p@\parsep\z@}%
  971. \footnotesize\let\itemargs\extitemargs%
  972. \item\relax}%
  973. {\endlist}
  974. \newenvironment{appquote}
  975. {\list{}{\topsep2\p@\leftmargin15pt\rightmargin15\p@\itemindent-5.25\p@}%
  976. \fontsize{8\p@}{9.5\p@}\selectfont%
  977. \item\relax}%
  978. {\endlist}
  979. \skip\@mpfootins = \skip\footins
  980. \fboxsep=6\p@
  981. \fboxrule=1\p@
  982. %%Boxed text%%
  983. %% Boxed Text
  984. \newcounter{boxtextnum}
  985. \@addtoreset{boxtextnum}{chapter}
  986. \def\bsection#1{\global\advance\c@section by 1
  987. \vskip1sp\vspace{4\p@}\noindent{\fontsize{8}{9}\selectfont\sansbold{\thesection}\hskip4pt
  988. \sansbold{#1}}\\ }
  989. \def\csection#1{\vskip1sp\noindent{\fontsize{8}{9}\selectfont\sansbold{#1}}\\ }
  990. \def\csubsection#1{\vskip1sp\noindent{\fontsize{8}{9}\selectfont\sansbold{#1}}\\ }
  991. \def\csubsubsection#1{\vskip1sp\noindent{\fontsize{8}{9}\selectfont\sansbold{#1}}\\ }
  992. \def\bsubsection#1{\global\advance\c@subsection by 1
  993. \vskip1sp\vspace{4\p@}\noindent{\fontsize{8}{9}\selectfont\sansbold{\thesubsection}\hskip4pt
  994. \sansbold{#1}}\\ }
  995. \def\bsubsubsection#1{\global\advance\c@subsubsection by 1
  996. \vskip1sp\vspace{4\p@}\noindent{\fontsize{8}{9}\selectfont\sansbold{\thesubsubsection}\hskip4pt
  997. \sansbold{#1}}\\ }
  998. \def\xstar{*}
  999. \def\boxedtext#1{%
  1000. \vskip12pt
  1001. \def\paragraph{\@startsection{paragraph}{4}{\z@}%
  1002. {-1sp}%
  1003. {-1em}%
  1004. {\reset@font\small\bfseries}}
  1005. \c@section=0
  1006. \c@subsection=0
  1007. \c@subsubsection=0
  1008. %%
  1009. \def\thesection{\arabic{section}}
  1010. \def\thesubsection{\thesection.\arabic{subsection}}
  1011. \def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
  1012. \let\section\bsection
  1013. \let\subsection\bsubsection
  1014. \let\subsubsection\bsubsubsection
  1015. \let\small\footnotesize%
  1016. %%
  1017. \def\section##1{\def\one{##1}\ifx\one\xstar\let\go\csection\else\def\go{\bsection{##1}}\fi\go}
  1018. \def\subsection##1{\def\one{##1}\ifx\one\xstar\let\go\csubsection\else\def\go{\bsubsection{##1}}\fi\go}
  1019. \def\subsubsection##1{\def\one{##1}\ifx\one\xstar\let\go\csubsubsection\else\def\go{\bsubsubsection{##1}}\fi\go}
  1020. %%
  1021. \def\extract{\vskip1sp\leftskip=12pt \rightskip\leftskip}
  1022. \def\endextract{\vskip5pt}
  1023. \global\advance\c@boxtextnum by 1
  1024. \fboxsep=1pc \fboxrule=.5pt \framed\footnotesize
  1025. \parskip=6pt \parindent=0pt
  1026. \sansbold{Box \arabic{chapter}.\arabic{boxtextnum}\\
  1027. #1
  1028. \vskip3pt
  1029. }}
  1030. \def\endboxedtext{\endframed}
  1031. %%%
  1032. \definecolor{shadecolor}{cmyk}{0,0,0,0.20}%
  1033. \newenvironment{shdadeboxedtext}{\begingroup%
  1034. \begin{shaded}%
  1035. \advance\hsize by -2\FrameSep%
  1036. \@afterheading%
  1037. }{\end{shaded}\endgroup}%
  1038. %%
  1039. \newenvironment{thebibliography}[1]
  1040. {\chapter*{\refname}%
  1041. \addcontentsline{toc}{fmbm}{\refname}%
  1042. \list{\@biblabel{\@arabic\c@enumiv}}%
  1043. {\settowidth\labelwidth{\@biblabel{#1}}%
  1044. \leftmargin\labelwidth
  1045. \advance\leftmargin\labelsep
  1046. \@openbib@code
  1047. \usecounter{enumiv}%
  1048. \let\p@enumiv\@empty
  1049. \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  1050. \clubpenalty10000
  1051. \@clubpenalty \clubpenalty
  1052. \widowpenalty10000%
  1053. \sfcode`\.\@m}
  1054. {\def\@noitemerr
  1055. {\@latex@warning{Empty `thebibliography' environment}}%
  1056. \endlist}
  1057. \let\@openbib@code\@empty%
  1058. \newenvironment{unnumbibliography}[1]{%
  1059. \chapter*{\refname}%
  1060. \addcontentsline{toc}{fmbm}{\refname}%
  1061. \normalsize\list{}{%
  1062. \usecounter{enumi}%
  1063. \leftmargin 1em\itemindent -1em\parsep \z@
  1064. \itemsep\z@%
  1065. }}%
  1066. {\endlist}%
  1067. \RequirePackage{multicol}
  1068. \newif\if@restonecol
  1069. \def\theindex{\@mainmatterfalse
  1070. % \addcontentsline{toc}{chapter}{Index}
  1071. \columnseprule \z@
  1072. \columnsep 12pt\begin{multicols*}{2}[\chapter*{\indexname}\vspace{-10\p@}]
  1073. %Subject or Author here
  1074. \markboth{\indexname}{\indexname}%
  1075. \parskip\z@\relax\let\item\idxitem\fontsize{8\p@}{9.5\p@}\selectfont}
  1076. \def\idxitem{\par\noindent\raggedright\hangindent20\p@}%
  1077. \def\subitem{\par\noindent\raggedright\hangindent20\p@\hspace*{10\p@}}%
  1078. \def\subsubitem{\par\noindent\raggedright\hangindent20\p@\hspace*{15\p@}}%
  1079. \def\endtheindex{\end{multicols*}}
  1080. \def\indexspace{\par \vskip 12\p@\relax}
  1081. \AtBeginDocument{%
  1082. \def\printindex#1#2{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
  1083. \columnseprule \z@ \columnsep 12pt%
  1084. \newpage\startonoddpage %\twocolumn[{\Large\bf #2 \vskip4ex}]
  1085. \begin{multicols*}{2}[\chapter*{#2}\vspace{-10\p@}]%
  1086. \addcontentsline{toc}{fmbm}{#2}
  1087. \@input{#1.ind}\end{multicols*}}
  1088. %%
  1089. \def\theindex{\@mainmatterfalse
  1090. % \addcontentsline{toc}{chapter}{Index}
  1091. \columnseprule \z@
  1092. \columnsep 12pt%\begin{multicols*}{2}[\chapter*{\indexname}]
  1093. %Subject or Author here
  1094. \markboth{\indexname}{\indexname}%
  1095. \parskip\z@\relax\let\item\idxitem\fontsize{8\p@}{9.5\p@}\selectfont}%
  1096. \def\idxitem{\par\noindent\raggedright\hangindent20\p@}%
  1097. \def\subitem{\par\noindent\raggedright\hangindent20\p@\hspace*{10\p@}}%
  1098. \def\subsubitem{\par\noindent\raggedright\hangindent20\p@\hspace*{15\p@}}%
  1099. \def\endtheindex{}%\end{multicols*}}
  1100. \def\indexspace{\par \vskip 10\p@\relax}
  1101. %%
  1102. }%
  1103. % ***********
  1104. % Footnotes *
  1105. % ***********
  1106. \renewcommand\footnoterule{\hbox to 12.5pc{\hrulefill}\par\removelastskip\nointerlineskip\vskip3.5pt\nointerlineskip}%
  1107. \usepackage[splitrule]{footmisc}%
  1108. \def\splitfootnoterule{\kern-3\p@ \hbox to 0.5\textwidth{\hrulefill} \kern3.6\p@}
  1109. \AtBeginDocument{\renewcommand\@makefntext[1]{%
  1110. \fontsize{8\p@}{9.5\p@}\selectfont\def\@textsuperscript{}%\global\baselineskip=9pt%
  1111. \parindent10pt%
  1112. \noindent\ignorespaces%\hspace*{10pt}\ignorespaces
  1113. \hbox{\@makefnmark.}\ignorespaces\hspace{4\p@}\ignorespaces#1}
  1114. }%
  1115. \def\@makefnmark{\hbox{\smash{\@textsuperscript{\normalfont\@thefnmark}}}}
  1116. %%End Note Definition%%%
  1117. \newcount\notenum
  1118. \newcount\endnotenum
  1119. \def\enotenumstyle{$^{\the\notenum}$}%
  1120. \long\def\endnote#1{%%%% For notes at end of chapter
  1121. \global\advance\notenum by 1\relax\leavevmode\enotenumstyle%\ [\the\notenum]%
  1122. \global\advance\endnotenum by 1\relax%
  1123. \long\expandafter\gdef\csname note\the\notenum\endcsname{%
  1124. {\leftskip=1.5pc\small\hsize=\textwidth\relax%
  1125. \noindent\llap{\hbox to 1.5pc{\the\notenum.\hfill}}%
  1126. #1\strut\vskip1sp}\vskip1pt}%
  1127. %%%% now for endnotes:
  1128. \ifnum\notenum=1\relax%
  1129. \immediate\write\@auxout{\string\expandafter\string\gdef\string\csname\space
  1130. chapendnote\the\endnotenum\string\endcsname{%
  1131. %% The commented out part Might be good, but malfunctioned on first small test.
  1132. \ifnum\c@chapter>2 \string\newpage\fi
  1133. \string\goodbreak\string\vskip14pt\string\penalty-8000%
  1134. {\string\small\space %Notes for
  1135. \ifnum\c@chapter>0
  1136. \string\sansbold \string {\@chapapp \space
  1137. \ifappendon\Alph{chapter}\else\arabic{chapter}\fi\string }%
  1138. \else Frontmatter\fi}\string\vskip6pt\global\notenum=1}}\fi%
  1139. \long\expandafter\gdef\csname endnote\the\endnotenum\endcsname{%
  1140. {\leftskip=1.5pc\small\hsize=\textwidth\relax%
  1141. \noindent\llap{\hbox to 1.5pc{\the\notenum.\hfill}}%
  1142. #1\strut\vskip1sp}\vskip1pt}}
  1143. \def\chapternotes{\ifnum\notenum>0
  1144. \section*{\small\bfseries\itshape %Notes for
  1145. Chapter \arabic{chapter}}%
  1146. %\markright{Notes for Chapter \arabic{chapter}}%
  1147. \addcontentsline{toc}{section}{\protect\numberline{}Chapter Notes}%
  1148. \parindent=0pt%
  1149. \parskip=4pt%
  1150. \notenum=0%
  1151. \noindent\loop\global\advance\notenum by1\relax%
  1152. \expandafter\ifx\csname note\the\notenum\endcsname\relax%
  1153. \else%
  1154. \csname note\the\notenum\endcsname\relax%
  1155. \expandafter\gdef\csname note\the\notenum\endcsname{\relax}%
  1156. \repeat%
  1157. \fi%
  1158. \global\notenum=0\relax%
  1159. \vskip1sp%
  1160. \leftskip=0pt\relax}%
  1161. \def\theendnotes{\chapter*{Notes}%
  1162. \addcontentsline{toc}{fmbm}{Notes}%
  1163. \vspace{-19\p@}%
  1164. \def\enotenumstyle{\ [\the\notenum]}%
  1165. \markboth{Notes}{Notes}%
  1166. \let\quote\enotequote%
  1167. \let\endquote\endenotequote%
  1168. \parindent=0pt%
  1169. \parskip=4pt%
  1170. \endnotenum=0%
  1171. \noindent\loop\global\advance\endnotenum by1\relax%
  1172. \global\advance\notenum by 1%
  1173. \expandafter\ifx\csname endnote\the\endnotenum\endcsname\relax%
  1174. \else%
  1175. \expandafter\csname chapendnote\the\endnotenum\endcsname%
  1176. \expandafter\csname endnote\the\endnotenum\endcsname%
  1177. \repeat%
  1178. \vskip1sp%
  1179. \leftskip=0pt\relax}%
  1180. %%%%
  1181. \usepackage[natbib,authordate,backend=biber]{biblatex-chicago}%
  1182. \AtEveryBibitem{\global\undef\bbx@lasthash}%
  1183. \setlength{\bibhang}{5\p@}%
  1184. \setlength{\bibitemsep}{3.5\p@}%
  1185. %\setlength{\biblabelsep}{-10\p@}%
  1186. \def\bibfont{\footnotesize}%
  1187. %\setlength{\bibhang}{1cm}
  1188. %%%
  1189. \newlength{\bibleftadd}%
  1190. \setlength{\bibleftadd}{-5\p@}%
  1191. %%
  1192. \defbibenvironment{bibliography}
  1193. {\vspace{-2\p@}\markboth{\bibname}{\bibname}\list%
  1194. {}%
  1195. {\setlength{\topsep}{\z@}\setlength{\leftmargin}{\bibhang}%
  1196. \setlength{\itemindent}{-\leftmargin}%
  1197. \addtolength{\leftmargin}{\bibleftadd}%
  1198. \setlength{\itemsep}{\bibitemsep}%
  1199. \setlength{\parsep}{\bibparsep}}}
  1200. {\endlist}
  1201. {\item}
  1202. %Math parameters
  1203. \setlength{\jot}{7\p@}
  1204. \def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m
  1205. \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m}
  1206. \def\@mathmargin{1.5pc}
  1207. \vbadness=9999
  1208. \tolerance=9999
  1209. \doublehyphendemerits=10000
  1210. \doublehyphendemerits 640000 % corresponds to badness 800
  1211. \finalhyphendemerits 1000000 % corresponds to badness 1000
  1212. % Table and array parameters
  1213. \setlength\arraycolsep{.5em}
  1214. \setlength\tabcolsep{.5em}
  1215. \setlength\arrayrulewidth{.25pt}
  1216. \setlength\doublerulesep{2.5pt}
  1217. \renewcommand\arraystretch{1}
  1218. \def\@fmbmdottedtocline#1#2#3#4#5{%
  1219. \renewcommand\@dotsep{1000}
  1220. \ifnum #1>\c@tocdepth \else
  1221. \vskip \z@ %
  1222. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
  1223. \parindent #2\relax\@afterindenttrue
  1224. \interlinepenalty\@M
  1225. \leavevmode
  1226. \@tempdima #3\relax
  1227. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  1228. {\fontsize{9\p@}{13\p@}\selectfont\sf#4}\nobreak
  1229. \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  1230. mu$}\hfill
  1231. \nobreak
  1232. \hb@xt@\@pnumwidth{\hfil\normalcolor\fontsize{9\p@}{13\p@}\selectfont\sf#5}%
  1233. \par}%
  1234. \fi}
  1235. \def\@dottedtocline#1#2#3#4#5{%
  1236. \renewcommand\@dotsep{1000}%
  1237. \ifnum #1>\c@tocdepth \else%
  1238. \vskip \z@ %
  1239. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip%
  1240. \parindent #2\relax\@afterindenttrue%
  1241. \interlinepenalty\@M%
  1242. \leavevmode%
  1243. \@tempdima #3\relax%
  1244. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip%
  1245. \fontsize{9}{13}\selectfont%
  1246. {\fontsize{9}{13}\selectfont#4}\nobreak%
  1247. \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep%
  1248. mu$}\hfill%
  1249. \nobreak%
  1250. \hb@xt@\@pnumwidth{\hfil\normalcolor\fontsize{9}{13}\selectfont#5}%%
  1251. \par}%%
  1252. \fi}%
  1253. \def\@contributordottedtocline#1#2#3#4#5{%
  1254. \renewcommand\@dotsep{1000}
  1255. \ifnum #1>\c@tocdepth \else
  1256. \vskip 0\p@ %
  1257. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
  1258. \parindent #2\relax\@afterindenttrue
  1259. \interlinepenalty\@M
  1260. \leavevmode
  1261. \@tempdima #3\relax
  1262. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  1263. {#4}\nobreak
  1264. \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  1265. mu$}\hfill
  1266. \nobreak
  1267. \hb@xt@\@pnumwidth{\hfil\normalcolor\normalsize}%
  1268. \par}%
  1269. %\vspace{6pt}
  1270. \fi}
  1271. \def\@chapterdottedtocline#1#2#3#4#5{%
  1272. \begingroup
  1273. \def\numberline##1{\hb@xt@\@tempdima{{\sansbold{##1}}\hfil}}
  1274. \renewcommand\@dotsep{1000}
  1275. \ifnum #1>\c@tocdepth \else
  1276. \vskip 13pt\goodbreak
  1277. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
  1278. \parindent #2\relax\@afterindenttrue
  1279. \interlinepenalty\@M
  1280. \leavevmode
  1281. \@tempdima #3\relax
  1282. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  1283. \fontsize{9}{13}\selectfont%
  1284. {\fontsize{9}{13}\selectfont\sansbold{#4}}\nobreak
  1285. \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  1286. mu$}\hfill
  1287. \nobreak
  1288. \hb@xt@\@pnumwidth{\hfil\normalcolor{\fontsize{9}{13}\selectfont#5}}%
  1289. \par}%
  1290. \endgroup
  1291. \fi}
  1292. \def\@appendixdottedtocline#1#2#3#4#5{%
  1293. \begingroup
  1294. \renewcommand\@dotsep{1000}
  1295. \ifnum #1>\c@tocdepth \else
  1296. \vskip 9pt\goodbreak
  1297. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
  1298. \parindent #2\relax\@afterindenttrue
  1299. \interlinepenalty\@M
  1300. \leavevmode
  1301. \@tempdima #3\relax
  1302. \null\nobreak\hskip -\leftskip
  1303. {\bfseries #4}\nobreak
  1304. \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  1305. mu$}\hfill
  1306. \nobreak
  1307. \hb@xt@\@pnumwidth{\hfil\normalcolor\normalsize {\bfseries #5}}%
  1308. \par}%
  1309. \endgroup
  1310. \fi}
  1311. \def\@partdottedtocline#1#2#3#4#5{%
  1312. \begingroup
  1313. \def\numberline##1{\hbox to 24\p@{{##1\hss}}}
  1314. \renewcommand\@dotsep{1000}
  1315. \ifnum #1>\c@tocdepth \else
  1316. \vskip 11pt\goodbreak
  1317. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
  1318. \parindent #2\relax\@afterindenttrue
  1319. \interlinepenalty\@M
  1320. \leavevmode
  1321. \@tempdima #3\relax
  1322. \advance\leftskip \@tempdima%%added
  1323. \null\nobreak\hskip -\leftskip
  1324. {\fontsize{9\p@}{13\p@}\selectfont\sansbold{\uppercase{#4}}}\nobreak
  1325. \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  1326. mu$}\hfill
  1327. \nobreak
  1328. \hb@xt@\@pnumwidth{\hfil\normalcolor{}}%\fontsize{9\p@}{13\p@}\selectfont\sansbold#5
  1329. \par\vspace{2\p@}}%
  1330. \endgroup
  1331. \fi}
  1332. \def\@figtabdottedtocline#1#2#3#4#5{%
  1333. \renewcommand\@dotsep{1000}%
  1334. \ifnum #1>\c@tocdepth \else%
  1335. \def\numberline##1{\hb@xt@\@tempdima{{\fontsize{8.5}{13}\selectfont\sansbold{##1}}\hfil}}
  1336. \vskip \z@ %
  1337. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip%
  1338. \parindent #2\relax\@afterindenttrue%
  1339. \interlinepenalty\@M%
  1340. \leavevmode%
  1341. \@tempdima #3\relax%
  1342. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip%
  1343. \fontsize{9}{13}\selectfont%
  1344. {\fontsize{9}{13}\selectfont\sf#4}\nobreak%
  1345. \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep%
  1346. mu$}\hfill%
  1347. \nobreak%
  1348. \hb@xt@\@pnumwidth{\hfil\normalcolor\fontsize{9}{13}\selectfont\sf#5}%%
  1349. \par\vspace{3\p@}}%%
  1350. \fi}%
  1351. \newcommand\@pnumwidth{1.5pc}
  1352. \newcommand\@tocrmarg{2.55em plus 1fil}
  1353. \newcommand\@dotsep{1} %%% <-- very large value so we don't get any dots
  1354. \newcommand\tableofcontents{%
  1355. \if@twocolumn
  1356. \@restonecoltrue\onecolumn
  1357. \else
  1358. \@restonecolfalse
  1359. \fi
  1360. \chapter*{Contents}
  1361. \markboth{Contents}{Contents}
  1362. \chaptermark{Contents} %% <-- check the running heads in all \chapter*
  1363. \@starttoc{toc}% %% Code manually with \markboth{}{}
  1364. \if@restonecol\twocolumn\fi
  1365. }
  1366. \newcommand\listoffigures{%
  1367. \if@twocolumn
  1368. \@restonecoltrue\onecolumn
  1369. \else
  1370. \@restonecolfalse
  1371. \fi
  1372. \chapter*{\listfigurename}%
  1373. \addcontentsline{toc}{fmbm}{\listfigurename}
  1374. \@mkboth{\MakeUppercase\listfigurename}%
  1375. {\MakeUppercase\listfigurename}%
  1376. \@starttoc{lof}%
  1377. \if@restonecol\twocolumn\fi
  1378. }
  1379. \newcommand*\l@figure{\@figtabdottedtocline{1}{\z@}{23.5\p@}}%
  1380. \newcommand\listoftables{%
  1381. \if@twocolumn
  1382. \@restonecoltrue\onecolumn
  1383. \else
  1384. \@restonecolfalse
  1385. \fi
  1386. \chapter*{\listtablename}%
  1387. \addcontentsline{toc}{fmbm}{\listtablename}
  1388. \@mkboth{%
  1389. \MakeUppercase\listtablename}%
  1390. {\MakeUppercase\listtablename}%
  1391. \@starttoc{lot}%
  1392. \if@restonecol\twocolumn\fi
  1393. }
  1394. \let\l@table\l@figure
  1395. \setcounter{tocdepth}{2}%
  1396. \newcommand*\l@book[1]{{\vspace{\bigskipamount}\vspace{\medskipamount}\noindent{\large\bfseries #1}}}
  1397. \newcommand*\l@part{\@partdottedtocline{0}{0em}{24pt}}
  1398. \newcommand*\l@fmbm{\@fmbmdottedtocline{0}{24\p@}{0pt}}
  1399. \newcommand*\l@chapter{\@chapterdottedtocline{1}{0pt}{24pt}}
  1400. \newcommand*\l@section{\@dottedtocline{2}{24pt}{24pt}}
  1401. \newcommand*\l@contributor{\@contributordottedtocline{2}{24pt}{24pt}}
  1402. \newcommand*\l@subsection{\@dottedtocline{3}{48pt}{30pt}}
  1403. \newcommand*\l@subsubsection{\@dottedtocline{4}{76.5pt}{35pt}}
  1404. \newcommand*\l@paragraph{\@dottedtocline{5}{114pt}{40pt}}
  1405. \newcommand*\l@subparagraph{\@dottedtocline{5}{154.5pt}{50pt}}
  1406. \newcommand*\l@appendix{\@appendixdottedtocline{2}{0em}{17pt}}
  1407. \newcommand*\l@appsection{\@dottedtocline{2}{17pt}{23pt}}
  1408. \newcommand*\l@endmatter{\@chapterdottedtocline{2}{0em}{0em}}
  1409. \flushbottom%
  1410. \frenchspacing%
  1411. \ps@headings%
  1412. \onecolumn%
  1413. \fnbelowfloat%
  1414. \graphicspath{{g:/artwork/oup/Jork/}}
  1415. \hyphenation{Figure Figures Table Tables Section Sections}
  1416. % Reset eqnarray to avoid to avoid \arraycolsep between
  1417. % columns. Take from a post on comp.text.tex
  1418. % by Fred Bartlett <fbartlet@optonline.net>
  1419. \newif\if@alignpoint
  1420. \def\eqnarray{%
  1421. \stepcounter{equation}%
  1422. \def\@currentlabel{\p@equation\theequation}%
  1423. \global\@eqnswtrue
  1424. \m@th
  1425. \global\@eqcnt\z@
  1426. \tabskip\@centering
  1427. \let\\\@eqncr
  1428. $$\everycr{}\halign to\displaywidth\bgroup
  1429. \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
  1430. &\global\@eqcnt\@ne\hfil\setbox\z@\hbox{$\displaystyle{{}##{}}$}%
  1431. \global\ifdim\wd\z@>\z@\@alignpointtrue\else\@alignpointfalse\fi
  1432. \box\z@\hfil
  1433. &\global\@eqcnt\tw@$\displaystyle{\if@alignpoint\else{}\fi##}$\hfil
  1434. \tabskip\@centering
  1435. &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
  1436. \tabskip\z@skip
  1437. \cr}
  1438. \def\th@definition{%
  1439. \thm@headsep 1em minus\p@\relax
  1440. %% \let\thm@indent\noindent % no indent
  1441. \thm@headfont{\bfseries}% heading font is bold
  1442. %% \thm@notefont{}% same as heading font
  1443. \thm@headpunct{}% no period after heading
  1444. %% \let\thm@swap\@gobble
  1445. \thm@preskip\bigskipamount
  1446. %% \thm@postskip\theorempreskipamount
  1447. \itshape % body font
  1448. }
  1449. %%%Appendix%%
  1450. \newenvironment{chapappendix}[1][\relax]{\bgroup%
  1451. \vspace{11pt}%%%
  1452. \noindent{\fontsize{10\p@}{13\p@}\selectfont\mathversion{bold}\raggedright\sansbold{#1}\par}%
  1453. \let\section\appsection%
  1454. \let\subsection\appsubsection%
  1455. \let\subsubsection\appsubsubsection%
  1456. \let\paragraph\appparagraph%
  1457. \let\subparagraph\appsubparagraph%
  1458. \renewcommand{\thechapter}{\Alph{chapter}}%
  1459. \setcounter{chapter}{1}%
  1460. \setcounter{section}{0}%
  1461. \setcounter{subsection}{0}%
  1462. \setcounter{subsubsection}{0}%
  1463. %\fontsize{8}{10}\selectfont
  1464. \footnotesize%
  1465. }{\par\egroup}%
  1466. \newcommand\appsection{\@startsection {section}{1}{\z@}%
  1467. {-11\p@}%
  1468. {11\p@}%
  1469. {\fontsize{9\p@}{13\p@}\selectfont\mathversion{bold}\raggedright}}
  1470. \newcommand\appsubsection{\@startsection{subsection}{2}{\z@}%
  1471. {-11\p@}%
  1472. {0.01\p@}%
  1473. {\fontsize{9\p@}{13\p@}\selectfont\mathversion{bold}\raggedright}}
  1474. \newcommand\appsubsubsection{\@startsection{subsubsection}{3}{\z@}%
  1475. {-11\p@}%
  1476. {-9\p@}%
  1477. {\fontsize{9\p@}{13\p@}\selectfont\mathversion{bold}\raggedright}}
  1478. \newcommand\appparagraph{\@startsection{paragraph}{4}{\z@}%
  1479. {-11\p@}%
  1480. {-9\p@}%
  1481. {\fontsize{9\p@}{13\p@}\selectfont\raggedright}}
  1482. \newcommand\appsubparagraph{\@startsection{subparagraph}{5}{\z@}%
  1483. {-11\p@}%
  1484. {-9\p@}%
  1485. {\fontsize{9\p@}{13\p@}\selectfont\raggedright}}
  1486. %%%Appendix%%
  1487. \newcounter{appcounter}%
  1488. \setcounter{appcounter}{0}
  1489. %\refstepcounter{appcounter}%
  1490. \renewcommand{\theappcounter}{\Alph{appcounter}}%
  1491. \def\appendix{\par%
  1492. \global\appendontrue%
  1493. \let\@makechapterhead\@makeappchapterhead%
  1494. \renewcommand{\chaptername}{Appendix}%
  1495. \renewcommand{\thechapter}{\Alph{chapter}}%
  1496. \setcounter{chapter}{0}%
  1497. \setcounter{section}{0}%
  1498. \setcounter{table}{0}%
  1499. \setcounter{figure}{0}%
  1500. \setcounter{equation}{0}%
  1501. \setcounter{subsection}{0}%
  1502. \let\section\appsection%
  1503. \let\subsection\appsubsection%
  1504. \let\subsubsection\appsubsubsection%
  1505. \let\paragraph\appparagraph%
  1506. \let\subparagraph\appsubparagraph%
  1507. % \appendtrue
  1508. \def\chaptername{Appendix}%
  1509. \footnotesize%
  1510. }
  1511. \newtheoremstyle{common}
  1512. {9pt}% above space (default)
  1513. {9pt}% below space
  1514. {\small\itshape}% body
  1515. {0em}% indent
  1516. {\bfseries}% head
  1517. {}% punct
  1518. {9\p@}% space
  1519. % {}% custom
  1520. {\thmname{\sansbold{#1}}\thmnumber{\@ifnotempty{\sansbold{#1}}{ }{\sansbold{#2}}}%
  1521. \thmnote{ {\sansbold{(#3)}}}}% theorem head
  1522. \theoremstyle{common}
  1523. \newtheoremstyle{boxcommon}
  1524. {8pt}% above space (default)
  1525. {8pt}% below space
  1526. {\footnotesize\itshape}% body
  1527. {0em}% indent
  1528. {\bfseries}% head
  1529. {}% punct
  1530. {9\p@}% space
  1531. % {}% custom
  1532. {\thmname{\sansbold{#1}}\thmnumber{\@ifnotempty{\sansbold{#1}}{ }{\sansbold{#2}}}%
  1533. \thmnote{ {\sansbold{(#3)}}}}% theorem head
  1534. %%%With Chapter Number
  1535. \ifthmcountchapter
  1536. \newtheorem{theorem}{Theorem}[chapter]%
  1537. \newtheorem{corollary}{Corollary}[chapter]%
  1538. \newtheorem{example}{Example}[chapter]%
  1539. \newtheorem{lemma}{Lemma}[chapter]%
  1540. \newtheorem{definition}{Definition}[chapter]%
  1541. \newtheorem{proposition}{Proposition}[chapter]%
  1542. \newtheorem{assumption}{Assumption}[chapter]%
  1543. \newtheorem{remark}{Remark}[chapter]%
  1544. \else
  1545. \ifthmcountcont
  1546. \newtheorem{theorem}{Theorem}%
  1547. \newtheorem{corollary}[theorem]{Corollary}%
  1548. \newtheorem{example}[theorem]{Example}%
  1549. \newtheorem{lemma}[theorem]{Lemma}%
  1550. \newtheorem{definition}[theorem]{Definition}%
  1551. \newtheorem{proposition}[theorem]{Proposition}%
  1552. \newtheorem{assumption}[theorem]{Assumption}%
  1553. \newtheorem{remark}[theorem]{Remark}%
  1554. \else
  1555. \newtheorem{theorem}{Theorem}%
  1556. \newtheorem{corollary}{Corollary}%
  1557. \newtheorem{example}{Example}%
  1558. \newtheorem{lemma}{Lemma}%
  1559. \newtheorem{definition}{Definition}%
  1560. \newtheorem{proposition}{Proposition}%
  1561. \newtheorem{assumption}{Assumption}%
  1562. \newtheorem{remark}{Remark}%
  1563. \fi\fi
  1564. %%%Proof%%
  1565. \renewenvironment{proof}[1][\proofname]{\par%
  1566. \pushQED{\qed}%
  1567. \normalfont \topsep6\p@\relax%
  1568. \trivlist%
  1569. \itemindent\z@ \item[\hskip\labelsep%
  1570. \itshape%
  1571. #1\@addpunct{.}\hspace{2.5\p@}]\ignorespaces%
  1572. }{%
  1573. \popQED\endtrivlist\@endpefalse%
  1574. }%
  1575. \let\cal\mathcal
  1576. \makeindex
  1577. % Author queries
  1578. \newcommand{\query}[2][0pt]{%
  1579. \marginpar{\vspace*{#1}%
  1580. \fbox{\parbox{6pc}{%
  1581. \raggedright\small
  1582. AQ: #2}}}}
  1583. %%only for MIT
  1584. \font\ldotsfnt=psyr scaled 1000%Donot change this, fixed as per client requirement
  1585. \def\ldots{\,\hbox{\ldotsfnt\char188}\,\allowbreak}%
  1586. \AtBeginDocument{%
  1587. \thinmuskip=3mu%
  1588. \medmuskip=3mu%
  1589. \thickmuskip=3mu%
  1590. }%
  1591. \RequirePackage[bookmarks=true,bookmarksnumbered=true,bookmarksopenlevel=1,colorlinks=false,breaklinks,linkcolor=black,citecolor=black,urlcolor=black,hidelinks]{hyperref}%
  1592. \ifxetex\relax\else\usepackage{breakurl}\fi%
  1593. %\ifluatex\relax\else\usepackage{breakurl}\fi%
  1594. \urlstyle{rm}%
  1595. \def\url@acsstyle{%
  1596. \def\UrlSpecials{%
  1597. \do\/{\penalty\UrlBreakPenalty\mathchar`/}%
  1598. \do\~{\penalty\UrlBreakPenalty\mathchar`~}%
  1599. \do\.{\penalty\UrlBreakPenalty\mathchar`.}%
  1600. \do\,{\penalty\UrlBreakPenalty\mathchar`,}%
  1601. \do\-{\penalty\UrlBreakPenalty\mathchar`-}%
  1602. \do\_{\penalty\UrlBreakPenalty\mathchar`_}%
  1603. \do\?{\penalty\UrlBreakPenalty\mathchar`?}%
  1604. \do\#{\penalty\UrlBreakPenalty\mathchar"23}%
  1605. \do\%{\Url@percent}%
  1606. \do\={\penalty\UrlBreakPenalty\mathchar`=\penalty\UrlBreakPenalty}%
  1607. \do\&{\penalty\UrlBreakPenalty\mathchar`&\penalty\UrlBreakPenalty}%
  1608. \do\ {\Url@space}\do\^^M{\Url@space}%
  1609. \Url@force@Tilde}%
  1610. }
  1611. \urlstyle{acs}%
  1612. \def\blankline{\vskip13pt\noindent\ignorespaces}
  1613. \newcounter{exercise}
  1614. \newcounter{subexercise}
  1615. \newcounter{subsubexercise}
  1616. \def\exercises{\section*{Exercises}\vspace{-12pt}\footnotesize%
  1617. \addcontentsline{toc}{section}{\protect\numberline{}Exercises}%
  1618. \setcounter{exercise}{0}%
  1619. \parindent=2pc%
  1620. \parskip=4pt%
  1621. }
  1622. \def\endexercises{}
  1623. \long\def\exer#1{\vskip3pt\global\advance\c@exercise by 1
  1624. \global\c@subexercise=0
  1625. {\leftskip=1pc
  1626. \noindent\hskip-1pc\hbox to 1pc{\bf \arabic{exercise}.\hfill}\ignorespaces#1
  1627. \vskip1sp}
  1628. }
  1629. \long\def\subexer#1{\vskip3pt\global\advance\c@subexercise by 1
  1630. \global\c@subsubexercise=0
  1631. {\leftskip=27.5\p@%
  1632. \noindent\hskip-15.5\p@\hbox to
  1633. 15.5\p@{\sansbold{(\alph{subexercise})}\hfill}\ignorespaces#1\vskip1sp}}
  1634. \long\def\subsubexer#1{\vskip3pt\global\advance\c@subsubexercise by 1
  1635. {\leftskip=3pc
  1636. \noindent\hskip-1pc\hbox to 1pc{\bf\roman{subsubexercise}.\hfill}\ignorespaces#1\vskip1sp}}
  1637. \def\sidebysidesubexer#1#2{\vskip3pt\centerline{\hskip1pc\vtop{\global\advance\c@subexercise by 1
  1638. \advance\hsize -14\p@ \hsize=.5\hsize
  1639. \noindent\hbox to 14\p@{\sansbold{(\alph{subexercise})}\hfill}
  1640. #1}\hfill\vtop{\global\advance\c@subexercise by 1
  1641. \advance\hsize -1pc \hsize=.5\hsize
  1642. \noindent\hbox to 14\p@{\sansbold{(\alph{subexercise})}\hfill} #2}}}
  1643. \def\sidebysidesubsubexer#1#2{\vskip3pt\centerline{\hskip27.5\p@\vtop{\global\advance\c@subsubexercise
  1644. by 1\relax%
  1645. \advance\hsize -27.5\p@ \hsize=.5\hsize
  1646. \noindent\hbox to 15.5\p@{\sansbold{\roman{subsubexercise}.}\hfill}#1}\hfill\vtop{\global\advance\c@subsubexercise by 1
  1647. \advance\hsize -27.5\p@ \hsize=.5\hsize
  1648. \noindent\hbox to 15.5\p@{\sansbold{\roman{subsubexercise}.}\hfill}#2}}}
  1649. \def\endbookexercises{\chapter*{Exercises}%\addcontentsline{toc}{fmbm}{Exercises}%
  1650. \footnotesize
  1651. \vspace{-5\p@}%
  1652. %\def\tabular{\blankline\footnotesize\savetabular}
  1653. %\@namedef{tabular*}##1{\blankline\def\@halignto{to##1}
  1654. %\footnotesize\@tabular}
  1655. %\markright{Exercises}
  1656. \setcounter{exercise}{0}
  1657. \parindent=2pc
  1658. \parskip=4pt
  1659. }
  1660. \def\endendbookexercises{}
  1661. %%%%
  1662. \usepackage{algorithm} %%
  1663. \usepackage{algorithmicx}
  1664. \usepackage{algpseudocode}
  1665. %% Glossary
  1666. \def\glossary{\chapter*{Glossary}\addcontentsline{toc}{fmbm}{Glossary}\bgroup\footnotesize%
  1667. \vspace{3\p@}%
  1668. \parindent=0pt
  1669. }
  1670. \def\endglossary{\vskip1sp\egroup}
  1671. \long\def\term#1#2{\noindent\hbox to
  1672. .8in{\vtop{\raggedright\hsize=.7in\footnotesize%
  1673. \sansbold{#1}}}\vtop{\footnotesize\advance\hsize-.8in
  1674. #2}\vskip10pt}
  1675. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1676. %% Notation
  1677. \def\notation{\vskip7pt\bgroup\parskip=0pt
  1678. \noindent{\fontsize{9}{13}\selectfont\sansbold{Notation}}
  1679. \vskip1pt
  1680. \let\\=\cr
  1681. \halign\bgroup##\hfill\hskip10pt\vrule depth 6pt width0pt height 10pt&##\hfill\\
  1682. }
  1683. \def\endnotation{\crcr\egroup\egroup\vskip8pt
  1684. \global\everypar={\noindent\hskip-\parindent\global\everypar={}}}
  1685. \def\dialogue{\vskip4pt}
  1686. \def\enddialogue{\vskip7pt}
  1687. \def\speaker#1{\vskip-\parskip\vskip3pt\noindent{\it #1}\hskip10pt\relax}
  1688. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1689. \endinput