% % Commenting out blocks of text: % ------------------------------ \newcommand{\ignore}[1]{} % % Theorem-like environments: % -------------------------- \newtheorem{thm}{Theorem}[section] \newtheorem{defn}[thm]{Definition} \newtheorem{lem}[thm]{Lemma} \newtheorem{cor}[thm]{Corollary} \newtheorem{fact}[thm]{Fact} \newtheorem{prop}[thm]{Proposition} \newtheorem{rem}[thm]{Remark} \newtheorem{prob}{Problem} % % Figures, tables and pictures: % --------------------- \newcommand{\inputpictex}{\input{prepicte} \input{pictex} \input{postpict}} % for making PiCTeX available, used in book.tex. \newenvironment{pictex}{\vspace*{\intextsep} \hspace*{\fill} \beginpicture}% {\endpicture \hspace*{\fill}} % PiCTeX environment, centered on page. % to be used whenever needed. \newenvironment{fig}{\begin{figure}[htb]\footnotesize}{\end{figure}} \newenvironment{tbl}{\begin{table}[htb]\footnotesize}{\end{table}} \newenvironment{figpage}{\begin{figure}[htbp] \footnotesize}{\end{figure}} \renewcommand{\topfraction}{0.9} \renewcommand{\bottomfraction}{0.9} \renewcommand{\textfraction}{0.1} % % Added by Mahadev on December 15, 92, modified by Uri May 16, 1994 % ----------------------------------------------------------------- % %The following command allows us to use texcad to draw lines and later %modify the lines to dashed lines. To do this, first enclose the texcad %file between "\begin{pictex} \setunits{...}" and "\end{pictex}". Comment %out the \linethickness command and the \unitlength command. Specify %instead the units in \setunits. (e.g. \setunits{1mm}. To scale down the %picture, use for e.g. \setunits{.5mm} instead of \setunits{1mm}.) Then %simply replace \emline by \dashline for each line that is to be changed. \newcommand{\setunits}[1]{\setcoordinatesystem units <#1,#1>% \setlength{\unitlength}{#1}} % \newcommand{\dashline}[6]{% \setlinear% \findlength {\plot #1 #2 #4 #5 /}% \setdashesnear <5pt> for <\totalarclength>% \plot #1 #2 #4 #5 /% \setsolid % resume solid line and curve plotting } % % Added by Uri on August 8, 1993, modified by Uri May 16, 1994 % ------------------------------------------------------------ % % The following converts a Bezier command produced by TeXCAD (or otherwise) % to a pictex dashed curve. TeXCAD produces the command % \bezier{n}(p,q)(u,v)(r,s) % where (p,q) and (r,s) are the endpoints of the parabolic arc and (u,v) % is where the tangents at these points meet. Inside pictex, replace it with % \dashbezier{n}(p,q)(u,v)(r,s) % It can be verified that the Bezier curve is given by % (1-t)^2*(p,q) + 2t(1-t)*(u,v) + t^2*(r,s), 0 <= t <= 1. % \dashbezier computes the point for t = 1/2 on the curve between % (p,q) and (r,s), as required by Pictex, to be (p,q)/4 + (u,v)/2 + (r,s)/4, % and places its coordinates in \xmidpoint and \ymidpoint before plotting. % \newdimen\pdimen \newdimen\qdimen \newdimen\udimen \newdimen\vdimen \newdimen\rdimen \newdimen\sdimen \newdimen\xmidpoint \newdimen\ymidpoint % \def\dashbezier#1(#2,#3)(#4,#5)(#6,#7){% \pdimen=\Xdistance{#2} % pictex command to transfer coordinates \qdimen=\Ydistance{#3} % to lengths. See Section 9.2 of the PicTeX manual. \udimen=\Xdistance{#4} % \vdimen=\Ydistance{#5} % \rdimen=\Xdistance{#6} % \sdimen=\Ydistance{#7} % \xmidpoint=0pt % \advance \xmidpoint by 0.25\pdimen % compute coordinates of midpoint \advance \xmidpoint by 0.50\udimen % using lengths to do real arithmetic \advance \xmidpoint by 0.25\rdimen % \ymidpoint=0pt % \advance \ymidpoint by 0.25\qdimen % \advance \ymidpoint by 0.50\vdimen % \advance \ymidpoint by 0.25\sdimen % \setdimensionmode % enter pictex dimension mode \setquadratic % now do the actual plotting \findlength {\plot {\pdimen} {\qdimen} {\xmidpoint} {\ymidpoint} {\rdimen} {\sdimen} / % } % \setdashesnear <5pt> for <\totalarclength> % \plot {\pdimen} {\qdimen} {\xmidpoint} {\ymidpoint} {\rdimen} {\sdimen} / \setsolid % resume solid line and curve plotting \setcoordinatemode % resume pictex coordinate mode } % % Added by Uri on March 23, 1993 % ------------------------------ % % The following environment is an improvement on \setunits (which is left % intact for backwards compatibility). It gives a better placement of the % figures. To do a TeXCAD picture with dashed % lines, move the TeXCAD picture to the bottom left of the TeXCAD screen, % save the file and comment out the \unitlength and \linethickness commands % and replace \emline by \dashline where desired as before. Then enclose % this file between the following lines % \begin{pictexcad}{0.5mm}{% % ..... % }% end of second argument of pictexcad environment % \end{pictexcad} % where the first argument of the pictexcad environment (the 0.5mm) can % be changed to scale the whole picture. % \newenvironment{pictexcad}[2]{ \begin{pictex} \setcoordinatesystem units <#1,#1> \setlength{\unitlength}{#1} \put {#2} [Bl] at 0 0 }{\end{pictex}} % % The following is used as a gap between subfigures: \newcommand{\goodgap}{\hspace{\subfigtopskip}\hspace{\subfigbottomskip}} % % If you use an empty caption [] for a subfigure to generate a subfigure % number like (a), the subfigure number may not be aligned properly in % the horizonbtal direction. To move the (a) a length len to the LEFT, % where len may be negative, give the subfigure caption as [\hspace{len}]. % % Running titles: % --------------- % Next 4 lines switch odd- and even-side margins: % We don't need marginal notes, and we want plenty of margins for binding. %\newlength{\templen} %\setlength{\templen}{\oddsidemargin} %\setlength{\oddsidemargin}{\evensidemargin} %\setlength{\evensidemargin}{\templen} % % General math: % ------------- \newcommand{\G}{$G=(V,E)$\ } \newcommand{\pf}{\mbox{{\bf Proof.} }} \newcommand{\qed}{\hspace*{\fill} $\scriptstyle \blacksquare$ \par} \newcommand{\Iff}{if and only if\ } \newcommand{\miff}{\quad \mbox{if and only if}\quad} \renewcommand{\emptyset}{\varnothing} \newcommand{\emp}[1]{{\em #1\/}} \newcommand{\imply}[2]{{\bf #1) $\Rightarrow$ #2):}} \newcommand{\hd}[1]{\noindent {\bf #1}} %Used for headline at beginning of paragraph \newcommand{\bm}[1]{\mbox{\boldmath $#1$}} % After last example in LaTeX book, p.53 \newcommand{\BM}{\boldmath\everymath{}\everydisplay{}} % \boldmath with subscripts in ordinary cmr unbold font \newcommand{\BBM}{% \font\twlbf=cmbx10 at 12pt \font\egtbf=cmbx8 \font\sixbf=cmbx6 \textfont0\twlbf \scriptfont0\egtbf \scriptscriptfont0\sixbf \boldmath \everymath{}\everydisplay{}} % \boldmath with subscripts in ordinary bold font \newcommand{\twocond}[2]{\scriptstyle #1 \atop \scriptstyle #2} % for putting two conditions on top of each other under summations etc. \newcommand{\udim}{\mbox{udim}} \newcommand{\idim}{\mbox{idim}} % % Floors, ceilings and binomial: % ------------------------------ \newcommand{\floor}[2]% {{\scriptstyle \left\lfloor \frac{#1}{#2} \right\rfloor}} \newcommand{\ceil}[2]% {{\scriptstyle \left\lceil \frac{#1}{#2} \right\rceil}} \newcommand{\dfmt}{D_{\floor{m}{2}}} \newcommand{\dcmt}{D_{\ceil{m}{2}}} \newcommand{\dmt}{D_{\frac{m}{2}}} \newcommand{\binom}[2]{{{#1} \choose {#2}}} % % Listings: % --------- \newcommand{\clist}[3]{#1_{#2}, \ldots, #1_{#3}} \newcommand{\rlist}[4]{#1_{#2} \; {#3} \; \cdots \; {#3} \; #1_{#4}} \newcommand{\rdots}[1]{\; {#1} \; \cdots \; {#1} \;} \newcommand{\lst}[3]{#1 = #2, \ldots, #3} % % Cases: % ------ \newcommand{\twocases}[5]{#1 = \left\{ \begin{array}{ll} #2, & \mbox{#3} \\ #4, & \mbox{#5} \end{array} \right. } \newcommand{\ntwocases}[5]{#1 = \left\{ \begin{array}{rl} #2, & \mbox{#3} \\ #4, & \mbox{#5} \end{array} \right. } % \ntwocases is like \twocases, but the values are right-justified % for mixed positives and negatives. \newcommand{\rtwocases}[6]{#1 #2 \left\{ \begin{array}{ll} #3, & \mbox{#4} \\ #5, & \mbox{#6} \end{array} \right. } \newcommand{\threecases}[7]{#1 = \left\{ \begin{array}{ll} #2, & \mbox{#3} \\ #4, & \mbox{#5} \\ #6, & \mbox{#7} \end{array} \right. }