111c84a17ad1a3f86ca23c78d56ab7cdfec80e42
[hwmod.git] / spec / ProtocolHeader.sty
1 \usepackage{fancyhdr}\r
2 \usepackage{graphicx}\r
3 \usepackage{epsfig}\r
4 \usepackage{color}\r
5 \usepackage{listings}\r
6 \usepackage{german}\r
7 \usepackage[T1]{fontenc}\r
8 %\usepackage[utf8]{inputenc}\r
9 \usepackage[latin1]{inputenc}\r
10 \usepackage{times}\r
11 \usepackage[plainpages=false, pdfpagelabels]{hyperref} %Klickbare Links im PDF\r
12 \usepackage{amssymb}\r
13 \usepackage{amsmath}\r
14 \usepackage{longtable,colortbl}\r
15 \usepackage{pdfpages}\r
16 \usepackage{pdflscape}\r
17 \usepackage{longtable}\r
18 \r
19 \hypersetup{%\r
20   colorlinks=true,\r
21   citecolor=black,\r
22   linkcolor=black,\r
23   %bookmarks=true,\r
24   bookmarksnumbered=true,\r
25   %pdfauthor={Bernhard Lewurm, Fabian Ehrentraud}, TODO unanonymize\r
26   pdfcreator={},\r
27   pdfkeywords={Hardware Modelling, Calculator},\r
28   urlcolor=black,\r
29   plainpages=false,\r
30   breaklinks=true,\r
31   pdftitle={Specification of a Calculator to be implemented in VHDL}\r
32 }\r
33 \r
34 \lstset{ %\r
35         language=vhdl,                  % choose the language of the code\r
36         extendedchars=true,\r
37         basicstyle=\footnotesize,       % the size of the fonts that are used for the code\r
38 %       basicstyle=\scriptsize,         % the size of the fonts that are used for the code\r
39         numbers=left,                   % where to put the line-numbers\r
40         numberstyle=\footnotesize,      % the size of the fonts that are used for the line-numbers\r
41         stepnumber=1,                   % the step between two line-numbers. If it's 1 each line will be numbered\r
42         firstnumber=auto,\r
43         numberfirstline=true,\r
44         numbersep=5pt,                  % how far the line-numbers are from the code\r
45         backgroundcolor=\color{white},  % choose the background color. You must add \usepackage{color}\r
46         showspaces=false,               % show spaces adding particular underscores\r
47         showstringspaces=false,         % underline spaces within strings\r
48         showtabs=false,                 % show tabs within strings adding particular underscores\r
49 %       frame=single,                     % adds a frame around the code\r
50         frame={tb},\r
51         tabsize=2,                          % sets default tabsize to 2 spaces\r
52         caption=\lstname,\r
53 %       captionpos=b,                   % sets the caption-position to bottom\r
54         captionpos=t,                   % sets the caption-position to top\r
55         breaklines=true,                % sets automatic line breaking\r
56         breakatwhitespace=false,        % sets if automatic breaks should only happen at whitespace\r
57         escapeinside={\%*}{*)},         % if you want to add a comment within your code\r
58         prebreak={\space\hbox{\ensuremath\hookleftarrow}}\r
59 }\r
60 \r
61 \sloppy\r
62 \newcommand{\MakeTitleAndTOC}{\r
63         \begin{titlepage}\r
64         \setcounter{page}{0}\r
65   %-------------------------------------------------------------------------\r
66   % print title page\r
67   %-------------------------------------------------------------------------\r
68   \thispagestyle{empty}\r
69   ~ \\\r
70   ~ \\\r
71   \begin{center}\r
72   \noindent\r
73   {\LARGE Hardware-Modellierung VL}\r
74   ~ \\\r
75   ~ \\\r
76   {\Huge \bf Spezifikation für das Design eines Taschenrechners in Hardware}\r
77   \end{center}\r
78   ~ \\\r
79   ~ \\\r
80   % Author\r
81   \begin{center}\r
82   \noindent\r
83   %{\large Gruppe 20}\r
84   ~ \\\r
85   ~ \\\r
86   %{\large Fabian Ehrentraud, MatrNr. 0725639, KNZ: 033 535}\\ TODO unanonymize\r
87   {\large Mister X}\\\r
88   %{\small werteplus@gmail.com} \\\r
89   ~ \\\r
90   %{\large Bernhard Urban, MatrNr. 0725771, KNZ: 033 535} \\ TODO unanonymize\r
91   {\large Mister Y} \\\r
92   %{\small lewurm@gmail.com} \\\r
93   ~ \\\r
94   ~ \\\r
95   ~ \\\r
96   ~ \\\r
97   {\large \today}\r
98   \end{center}\r
99   \r
100   \end{titlepage}\r
101 \r
102   \newpage\r
103 \r
104   %-------------------------------------------------------------------------\r
105   % print table of contents\r
106   %-------------------------------------------------------------------------\r
107   \tableofcontents\r
108   \newpage\r
109 \r
110 }\r
111 \r
112 \r
113 \r
114 \newcommand{\mc}[1]{ {{\small \texttt{#1}}}}\r
115 %%footnote hack von http://bushednotes.wordpress.com/2007/03/25/footnotes-tabular-in-latex/\r
116 \newcounter{myfootertablecounter}\r
117 \r
118 \newcommand\myfootnotemark{%\r
119         %\refstepcounter{footnote}%\r
120                 \addtocounter{footnote}{1}%\r
121                 \footnotemark[\thefootnote]%\r
122 }%\r
123 \r
124 \newcommand\myfootnotetext[1]{%\r
125         \addtocounter{myfootertablecounter}{1}\r
126         \footnotetext[\value{myfootertablecounter}]{#1}\r
127 }\r
128 \r
129 % from now on, myfootnote has to be used rather than footnote to\r
130 % adapt the myfootercounter\r
131 \newcommand\myfootnote[1]{%\r
132         \addtocounter{myfootertablecounter}{1}\r
133         \footnote{#1}\r
134 }%\r
135 \r
136 \pagestyle{fancy}\r
137 \setlength{\headheight}{14.5pt}\r
138 \r
139 \newcounter{reqcounter}\r
140 \setcounter{reqcounter}{0}\r
141 \newcommand{\req}[1]{\r
142         \noindent\r
143         \addtocounter{reqcounter}{1}\r
144         \textbf{Req \arabic{reqcounter}} #1\\\r
145         \label{Req \arabic{reqcounter}} %this could be done better with a second argument, but that's tiresome to write in the text\r
146 }\r
147 \r
148 \newcounter{tccounter}\r
149 \setcounter{tccounter}{0}\r
150 \newcommand{\tcc}[1]{\r
151         \mbox{}\\[0.3cm]\r
152         \noindent\r
153         \addtocounter{tccounter}{1}\r
154         \textbf{TC \arabic{tccounter}}: #1\\\r
155         \label{TC \arabic{tccounter}} %this could be done better with a second argument, but that's tiresome to write in the text\r
156 }\r
157 \r
158 \newcommand{\ZE}{\\ \hline}\r
159 \newcommand{\THEAD}{\r
160         \begin{center}\r
161         \begin{longtable}{|l|l|r|l|l|p{6cm}|}\r
162         \hline\r
163         \textbf{Bezeichnung} & \textbf{Direction} & \textbf{Breite} &\r
164         \textbf{Typ} & \textbf{in Verbindung mit} & \textbf{Beschreibung}\r
165         \ZE\r
166         sys\_clk & in & 1 & std\_logic & System & Systemclock \ZE\r
167         sys\_res\_n & in & 1 & std\_logic & System & Systemreset \ZE\r
168 }\r
169 \newcommand{\TEND}{\r
170         \end{longtable}\r
171         \end{center}\r
172 }\r