source: trunk/Documentation/Developer/PluginHowTo/HowToDeveloper.tex @ 1145

Last change on this file since 1145 was 1145, checked in by Patrick Vacek, 12 years ago

PluginHowTo: further comprehensive revisions, i.e. grammar, formatting, labeling, clarity, etc.

File size: 7.2 KB
Line 
1\documentclass[11pt, a4paper, titlepage]{scrreprt}
2
3\usepackage[latin1]{inputenc}
4\usepackage[english]{babel}
5\usepackage{graphicx}
6\usepackage{booktabs}
7\usepackage{geometry}
8\usepackage{setspace}
9\usepackage{fancyhdr}
10\usepackage{url}
11\usepackage{wrapfig}
12\usepackage[usenames,dvipsnames]{color}
13\usepackage{colortbl}
14\usepackage{eso-pic}
15\usepackage{listings}
16
17%\usepackage[automark]{scrpage2}
18%\usepackage[absolute]{textpos}
19
20\lstset{language=[Sharp]C, % base language is C and dialect is Sharp (C#)
21captionpos=b, % descriptions are underneath
22frame=lines, % above und underneath the code listing are horizontal lines
23basicstyle=\ttfamily, % font
24keywordstyle=\color{blue}, % Color for keywords like public, void, object, etc.
25commentstyle=\color{ForestGreen}, % Color for comments
26stringstyle=\color{BrickRed}, % Color for strings
27numbers=left, % line numbers to the left of the code
28numberstyle=\tiny, % small line numbers
29numbersep=5pt,
30tabsize=2,
31breaklines=true, % Wordwrap activated
32showstringspaces=false,
33% emph defines certain colors for specific words
34emph={double,bool,int,unsigned,char,true,false,void},
35emphstyle=\color{blue},
36emph={Assert,Test},
37emphstyle=\color{BrickRed},
38emph={[2]\using,\#define,\#ifdef,\#endif}, emphstyle={[2]\color{blue}}
39}
40
41\geometry{a4paper, portrait, left=2cm, right=2cm, top=2cm, bottom=2cm, includefoot}
42
43%\pagestyle{headings}
44%\pagestyle{scrheadings}
45\pagestyle{fancy} % self-made page style
46\fancyhf{} % clear all header and footer fields
47\fancyhead[L]{\leftmark} % left header
48\fancyhead[C]{\AddToShipoutPicture*{\BackgroundHeaderPic}} % center header
49%\fancyhead[R]{\rightmark} % right header --> Removed because it overflows on the leftmark if the text is too long
50
51\fancyfoot[C]{\thepage\AddToShipoutPicture*{\BackgroundFooterPic}} % center footer
52%\fancyfoot[EL,OR]{\thepage} % page number
53%\fancyfoot[ER,OL]{\includegraphics[height=0.3cm]{figures/ct_logo}}
54
55\renewcommand{\headrulewidth}{2pt} % upper separator
56\renewcommand{\footrulewidth}{2pt} % lower separator
57
58\newlength{\headbgwidth}
59\setlength{\headbgwidth}{\headwidth}
60%\addtolength{\headbgwidth}{0.3mm}
61%\addtolength{\headwidth}{\marginparwidth}
62
63
64\renewcommand{\headrule}{{\color{orange}\hrule width\headwidth height\headrulewidth \vskip-\headrulewidth}}
65\renewcommand{\footrule}{{\color{orange}\vskip-\footruleskip\vskip-\footrulewidth\hrule width\headwidth height\footrulewidth\vskip\footruleskip}}
66
67
68\makeatletter
69\newcommand\BackgroundHeaderPic{
70%\AddToShipoutPicture{%
71    \setlength{\@tempdimb}{1.87cm}%
72    \setlength{\@tempdimc}{28.4cm}%
73    \setlength{\unitlength}{1pt}%
74    \put(\strip@pt\@tempdimb,\strip@pt\@tempdimc){
75        \includegraphics[width=\headbgwidth, height=\headheight]{figures/ct_page_header}%
76    }
77}
78
79\newcommand\BackgroundFooterPic{
80%\AddToShipoutPicture{%
81    \setlength{\@tempdimb}{1.87cm}%
82    \setlength{\@tempdimc}{1.8cm}%
83    \setlength{\unitlength}{1pt}%
84    \put(\strip@pt\@tempdimb,\strip@pt\@tempdimc){
85        \includegraphics[width=\headbgwidth, height=0.7cm]{figures/ct_page_footer_pure}%
86    }
87}
88
89\newcommand\WaterMarkPic{%
90    \setlength{\@tempdimb}{1.85cm}%
91    \setlength{\@tempdimc}{2.7cm}%
92    \setlength{\unitlength}{1pt}%
93    \put(\strip@pt\@tempdimb,\strip@pt\@tempdimc){
94            \includegraphics[width=0.6\textwidth]{figures/ct_logo_watermark}%
95    }
96}
97\makeatother
98
99% finetune the gaps between figure and text in the subfigure environment (basically close the gap as much as possible)
100%\renewcommand{\subfigtopskip}{0pt}
101%\renewcommand{\subfigbottomskip}{0pt}
102
103% some color definitions for the pdf statements below
104\definecolor{mygrey}{rgb}{0.45,0.45,0.45}
105\definecolor{mydarkgrey}{rgb}{0.2,0.2,0.2}
106\definecolor{red}{rgb}{1.0,0.33,0.33}
107\definecolor{orange}{rgb}{1.00,0.73,0.33}
108\definecolor{yellow}{rgb}{0.95,0.92,0.}
109\definecolor{lightgreen}{rgb}{0.3,0.95,0.46}
110\definecolor{titleblue}{rgb}{0.03,0.10,0.46}
111
112
113\input{frontpage}
114
115
116\title{Plugin Developer Manual}
117\subtitle{How to build your own plugins for CrypTool 2.0}
118\author{S.\ Przybylski, A.\ Wacker, M.\ Wander and F.\ Enkler}
119\email{\{przybylski$|$wacker$|$wander$|$enkler\}@cryptool.org}
120\version{0.1}
121\date{\today}
122
123% Metadata and configuration of the pdf output:
124% Do not forget to enter the correct title, author, subject und keywords
125
126% For screen viewing it is nice to have references marked in a slightly different
127% color than the rest of the text, since they will be hyperlinks to the
128% referenced objects.
129\usepackage[pdftex,
130             pdftitle={\@title},
131             colorlinks,
132             linkcolor={mydarkgrey},
133             citecolor={mygrey},
134             urlcolor={blue},
135             plainpages={false},
136             bookmarksnumbered={true},
137             bookmarksopenlevel={3},
138             pdfauthor={\@author},
139             pdfsubject={\@subtitle},
140             pdfkeywords={CrypTool,Cryptography,eLearning,Cryptanalysis},
141             pdfstartview={Fit}]{hyperref}
142
143%\usepackage{pdfsync}
144
145% To avoid nasty mistakes like having comments directly in the textflow
146% the following \todo macro was defined. With that you can enter
147% \todo{What I still have to do here}
148% inside of your text and a marker will appear at the page's margin with the
149% text "What I still have to do here".
150% The first line activates this feature. If you comment it out and uncomment
151% the second line below there will be no error messages and no todos will be shown
152% anymore. So - even if you have forgotten to delete one of them - they will not appear
153% in the final printout.
154\newcommand{\todo}[1]{\marginpar{\textcolor{red}{ToDo:} #1}}
155
156
157
158%\AtBeginDocument{\markboth{\@author}{\@title}}
159\begin{document}
160        \maketitle
161       
162        \begin{abstract}
163     CrypTool 2 is the modern successor of the well-known e-learning platform for cryptography and cryptanalysis \htmladdnormallink{CrypTool 1}{http://www.cryptool.org}, which is used world-wide for educational purposes at school and universities and in companies and agencies.
164     
165     Since the first launch of CrypTool 1 in 1999 the art of software development has changed dramatically. The CrypTool 2 team began working in 2008 to develop a completely new e-learning application, embracing the newest trends in both didactics and software architecture to delight the end-user with an entirely new experience.
166     
167     CrypTool 2 is built using
168
169\begin{itemize}
170        \item .NET (a modern software framework with solutions to common programming problems form Microsoft),
171        \item C\# (a modern object-oriented programming language, comparable to Java), and
172    \item WPF (a modern purely vector-based graphical subsystem for rendering user interfaces in Windows-based applications), plus
173    \item Visual Studio 2008 (a development environment) and
174        \item Subversion (a source code and documentation version management system).
175\end{itemize}
176
177This document is intended for plugin developers who want to contribute new visual or mathematical functionality to CT2. As of January 2010, the code consists of about 7000 lines of C\# code in the core system and about 240,641 lines of C\# code in 115 plugins.
178
179For further news and more screenshots please see the developer page \htmladdnormallink{http://www.cryptool2.vs.uni-due.de}{http://www.cryptool2.vs.uni-due.de}.
180    \end{abstract}
181
182        \tableofcontents
183
184    \AddToShipoutPicture{\WaterMarkPic}
185
186        \include{part1}
187        \include{part2}
188
189\end{document}
Note: See TracBrowser for help on using the repository browser.