Initial create
[libresoc-isa-manual.git] / libresoc-isa-manual / powerpc-add / src / preamble.tex
1 % Package includes
2
3 \usepackage{graphicx}
4 \usepackage{geometry}
5 \usepackage{array}
6 \usepackage{colortbl}
7 \usepackage[svgnames]{xcolor}
8
9 \usepackage[colorlinks,citecolor=Navy,linkcolor=Navy]{hyperref}
10 \usepackage{placeins}
11 \usepackage{longtable}
12 \usepackage{multirow}
13 \usepackage{float}
14 \usepackage{listings}
15 \usepackage{comment}
16 \usepackage{enumitem}
17 \usepackage{verbatimbox}
18 \usepackage{amsmath}
19
20 \usepackage[olditem,oldenum]{paralist}
21
22 % Setup margins
23
24 \setlength{\topmargin}{-0.5in}
25 \setlength{\textheight}{9in}
26 \setlength{\oddsidemargin}{0in}
27 \setlength{\evensidemargin}{0in}
28 \setlength{\textwidth}{6.5in}
29
30 % Useful macros
31
32 \newcommand{\note}[1]{{\bf [ NOTE: #1 ]}}
33 \newcommand{\fixme}[1]{{\bf [ FIXME: #1 ]}}
34 \newcommand{\todo}[1]{\marginpar{\footnotesize #1}}
35
36 \newcommand{\wunits}[2]{\mbox{#1\,#2}}
37 \newcommand{\um}{\mbox{$\mu$m}}
38 \newcommand{\xum}[1]{\wunits{#1}{\um}}
39 \newcommand{\by}[2]{\mbox{#1$\times$#2}}
40 \newcommand{\byby}[3]{\mbox{#1$\times$#2$\times$#3}}
41
42 \newlength\savedwidth
43 \newcommand\whline[1]{%
44 \noalign{%
45 \global\savedwidth\arrayrulewidth\global\arrayrulewidth 1.5pt%
46 }%
47 \cline{#1}%
48 \noalign{\vskip\arrayrulewidth}%
49 \noalign{\global\arrayrulewidth\savedwidth}%
50 }
51
52 % Custom list environments
53
54 \newlist{tightlist}{itemize}{1}
55 \setlist[tightlist]{label=\textbullet,nosep}
56
57 \newenvironment{titledtightlist}[1]
58 {\noindent
59 ~~\textbf{#1}
60 \begin{tightlist}}
61 {\end{tightlist}}
62
63 \newenvironment{commentary}
64 { \vspace{-1.5mm}
65 \list{}{
66 \topsep 0mm
67 \partopsep 0mm
68 \listparindent 1.5em
69 \itemindent \listparindent
70 \rightmargin \leftmargin
71 \parsep 0mm
72 }
73 \item
74 \small\em
75 \noindent\nopagebreak\rule{\linewidth}{1pt}\par
76 \noindent\ignorespaces
77 }
78 {\endlist}
79
80 %\newenvironment{discussion}
81 %{ \vspace{-1.5mm}
82 % \list{}{
83 % \topsep 0mm
84 % \partopsep 0mm
85 % \listparindent 1.5em
86 % \itemindent \listparindent
87 % \rightmargin \leftmargin
88 % \parsep 0mm
89 % }
90 % \item
91 % \small\em
92 % \noindent\nopagebreak\rule{\linewidth}{1pt}\par
93 % \noindent\textbf{Discussion:}
94 %}
95 %{\endlist}
96
97 % Other commands and parameters
98
99 \pagestyle{myheadings}
100 \setlength{\parindent}{0in}
101 \setlength{\parskip}{10pt}
102 \sloppy
103 \raggedbottom
104 \clubpenalty=10000
105 \widowpenalty=10000
106
107 % Commands for register format figures.
108
109 % New column types to use in tabular environment for instruction formats.
110 % Allocate 0.18in per bit.
111 \newcolumntype{I}{>{\centering\arraybackslash}p{0.18in}}
112 % Two-bit centered column.
113 \newcolumntype{W}{>{\centering\arraybackslash}p{0.36in}}
114 % Three-bit centered column.
115 \newcolumntype{F}{>{\centering\arraybackslash}p{0.54in}}
116 % Four-bit centered column.
117 \newcolumntype{Y}{>{\centering\arraybackslash}p{0.72in}}
118 % Five-bit centered column.
119 \newcolumntype{R}{>{\centering\arraybackslash}p{0.9in}}
120 % Six-bit centered column.
121 \newcolumntype{S}{>{\centering\arraybackslash}p{1.08in}}
122 % Seven-bit centered column.
123 \newcolumntype{O}{>{\centering\arraybackslash}p{1.26in}}
124 % Eight-bit centered column.
125 \newcolumntype{E}{>{\centering\arraybackslash}p{1.44in}}
126 % Ten-bit centered column.
127 \newcolumntype{T}{>{\centering\arraybackslash}p{1.8in}}
128 % Twelve-bit centered column.
129 \newcolumntype{M}{>{\centering\arraybackslash}p{2.2in}}
130 % Sixteen-bit centered column.
131 \newcolumntype{K}{>{\centering\arraybackslash}p{2.88in}}
132 % Twenty-bit centered column.
133 \newcolumntype{U}{>{\centering\arraybackslash}p{3.6in}}
134 % Twenty-bit centered column.
135 \newcolumntype{L}{>{\centering\arraybackslash}p{3.6in}}
136 % Twenty-five-bit centered column.
137 \newcolumntype{J}{>{\centering\arraybackslash}p{4.5in}}
138
139 \newcommand{\instbit}[1]{\mbox{\scriptsize #1}}
140 \newcommand{\instbitrange}[2]{~\instbit{#1} \hfill \instbit{#2}~}
141 \newcommand{\reglabel}[1]{\hfill {\tt #1}\hfill\ }
142
143 \newcommand{\wiri}{\textbf{WIRI}}
144 \newcommand{\wpri}{\textbf{WPRI}}
145 \newcommand{\wlrl}{\textbf{WLRL}}
146 \newcommand{\warl}{\textbf{WARL}}
147
148 \newcommand{\unspecified}{\textsc{unspecified}}