TimesAPriori_MIT.cls 60 KB

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