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

Last change on this file since 1156 was 1156, checked in by Arno Wacker, 12 years ago

PluginHowTo:

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