Latest additions
[libresoc-isa-manual.git] / powerpc-add / src / preamble.tex
1 % Package includes
2
3 \usepackage{tabularx} % For tables with wide columns
4
5 \usepackage{graphicx}
6 \usepackage{geometry}
7 \usepackage{array}
8 \usepackage{colortbl}
9 \usepackage[svgnames]{xcolor}
10
11 \usepackage[colorlinks,citecolor=Navy,linkcolor=Navy]{hyperref}
12 \usepackage{placeins}
13 \usepackage{longtable}
14 \usepackage{multirow}
15 \usepackage{float}
16 \usepackage{listings}
17 \usepackage{comment}
18 \usepackage{enumitem} % https://ctan.org/pkg/enumitem?lang=en
19 \usepackage{verbatimbox}
20 \usepackage{amsmath}
21
22 \usepackage[olditem,oldenum]{paralist}
23
24 \usepackage[english]{babel}
25 \usepackage{datetime}
26 \longdate % makes \today generate like: Wednesday 18th August, 2020
27
28 % **** Change the 2 lines below to specify a new version/release, also the date:
29 \newcommand{\specrev}{\mbox{20200813-{\em draft}}}
30 \newcommand{\specmonthyear}{\mbox{August 2020}}
31
32
33 % Glossary entries. We want them in the index (toc)
34 \usepackage[toc]{glossaries}
35 \makeglossaries
36 % They have to be defined before used, so bring in here:
37 \input{glossary}
38
39 % Setup margins
40
41 \setlength{\topmargin}{-0.5in}
42 \setlength{\textheight}{9in}
43 \setlength{\oddsidemargin}{0in}
44 \setlength{\evensidemargin}{0in}
45 \setlength{\textwidth}{6.5in}
46
47 % Useful macros
48
49 \newcommand{\note}[1]{{\bf [ NOTE: #1 ]}}
50 \newcommand{\fixme}[1]{{\bf [ FIXME: #1 ]}}
51 \newcommand{\todo}[1]{\marginpar{\footnotesize #1}}
52
53 \newcommand{\wunits}[2]{\mbox{#1\,#2}}
54 \newcommand{\um}{\mbox{$\mu$m}}
55 \newcommand{\xum}[1]{\wunits{#1}{\um}}
56 \newcommand{\by}[2]{\mbox{#1$\times$#2}}
57 \newcommand{\byby}[3]{\mbox{#1$\times$#2$\times$#3}}
58
59 \newlength\savedwidth
60 \newcommand\whline[1]{%
61 \noalign{%
62 \global\savedwidth\arrayrulewidth\global\arrayrulewidth 1.5pt%
63 }%
64 \cline{#1}%
65 \noalign{\vskip\arrayrulewidth}%
66 \noalign{\global\arrayrulewidth\savedwidth}%
67 }
68
69 % Custom list environments
70 % https://ctan.org/pkg/enumitem?lang=en
71 \newlist{tightlist}{itemize}{1}
72 \setlist[tightlist]{label=\textbullet,nosep}
73
74 % Remove too much space before lists:
75 \setlist[itemize]{topsep=0pt, partopsep=0pt}
76
77 \newenvironment{titledtightlist}[1]
78 {\noindent
79 ~~\textbf{#1}
80 \begin{tightlist}}
81 {\end{tightlist}}
82
83 \newenvironment{commentary}
84 { \vspace{-1.5mm}
85 \list{}{
86 \topsep 0mm
87 \partopsep 0mm
88 \listparindent 1.5em
89 \itemindent \listparindent
90 \rightmargin \leftmargin
91 \parsep 0mm
92 }
93 \item
94 \small\em
95 \noindent\nopagebreak\rule{\linewidth}{1pt}\par
96 \noindent\ignorespaces
97 }
98 {\endlist}
99
100 % Other commands and parameters
101
102 \pagestyle{myheadings} % page headers/footers, see \markboth{} in power-spec.tex
103 \setlength{\parindent}{0in}
104
105 % How much after paragraph
106
107 \setlength{\parskip}{10pt}
108 %\setlength{\parskip}{5pt}
109
110 \sloppy
111 \raggedbottom
112 \clubpenalty=10000
113 \widowpenalty=10000
114
115 % Commands for register format figures.
116
117 % New column types to use in tabular environment for instruction formats.
118 % Allocate 0.18in per bit.
119 \newcolumntype{I}{>{\centering\arraybackslash}p{0.18in}}
120 % Two-bit centered column.
121 \newcolumntype{W}{>{\centering\arraybackslash}p{0.36in}}
122 % Three-bit centered column.
123 \newcolumntype{F}{>{\centering\arraybackslash}p{0.54in}}
124 % Four-bit centered column.
125 \newcolumntype{Y}{>{\centering\arraybackslash}p{0.72in}}
126 % Five-bit centered column.
127 \newcolumntype{R}{>{\centering\arraybackslash}p{0.9in}}
128 % Six-bit centered column.
129 \newcolumntype{S}{>{\centering\arraybackslash}p{1.08in}}
130 % Seven-bit centered column.
131 \newcolumntype{O}{>{\centering\arraybackslash}p{1.26in}}
132 % Eight-bit centered column.
133 \newcolumntype{E}{>{\centering\arraybackslash}p{1.44in}}
134 % Ten-bit centered column.
135 \newcolumntype{T}{>{\centering\arraybackslash}p{1.8in}}
136 % Twelve-bit centered column.
137 \newcolumntype{M}{>{\centering\arraybackslash}p{2.2in}}
138 % Sixteen-bit centered column.
139 \newcolumntype{K}{>{\centering\arraybackslash}p{2.88in}}
140 % Twenty-bit centered column.
141 \newcolumntype{U}{>{\centering\arraybackslash}p{3.6in}}
142 % Twenty-bit centered column.
143 \newcolumntype{L}{>{\centering\arraybackslash}p{3.6in}}
144 % Twenty-five-bit centered column.
145 \newcolumntype{J}{>{\centering\arraybackslash}p{4.5in}}
146
147 \newcommand{\instbit}[1]{\mbox{\scriptsize #1}}
148 \newcommand{\instbitrange}[2]{~\instbit{#1} \hfill \instbit{#2}~}
149 \newcommand{\reglabel}[1]{\hfill {\tt #1}\hfill\ }
150
151 \newcommand{\wiri}{\textbf{WIRI}}
152 \newcommand{\wpri}{\textbf{WPRI}}
153 \newcommand{\wlrl}{\textbf{WLRL}}
154 \newcommand{\warl}{\textbf{WARL}}
155
156 \newcommand{\unspecified}{\textsc{unspecified}}
157