Merge branch 'master' of github.com:kivitendo/kivitendo-erp
[kivitendo-erp.git] / templates / print / Standard / kivitendo.sty
1 \ProvidesFile{kivitendo.sty}
2 \usepackage{colortbl}
3 \usepackage{eurosym}
4 \usepackage{german}
5 \usepackage{graphicx}
6 \usepackage{ifthen}
7 \usepackage[utf8]{inputenc}
8 \usepackage{latexsym}
9 \usepackage{longtable}
10 \usepackage{textcomp}
11
12 %% Paketoptionen
13 \newboolean{defaultbg}\setboolean{defaultbg}{true}
14 \newboolean{draftbg}
15 \newboolean{reqspeclogo}
16 \newboolean{secondpagelogo}
17 \DeclareOption{nologo}{\setboolean{defaultbg}{false}}
18 \DeclareOption{draftlogo}{\setboolean{defaultbg}{false}\setboolean{draftbg}{true}}
19 \DeclareOption{reqspeclogo}{\setboolean{reqspeclogo}{true}}
20 \DeclareOption{secondpagelogo}{\setboolean{defaultbg}{false}\setboolean{secondpagelogo}{true}}
21 \ProcessOptions
22
23 %% Seitenlayout
24 \setlength{\voffset}{-1.5cm}
25 \setlength{\hoffset}{-2.5cm}
26 \setlength{\topmargin}{0cm}
27 \setlength{\headheight}{0.5cm}
28 \setlength{\headsep}{1cm}
29 \setlength{\topskip}{0pt}
30 \setlength{\oddsidemargin}{2cm}
31 \setlength{\textwidth}{16.4cm}
32 \setlength{\textheight}{25cm}
33 \setlength{\footskip}{1cm}
34 \setlength{\parindent}{0pt}
35 \setlength{\tabcolsep}{0.2cm}
36
37 \setlength{\unitlength}{1cm}
38
39 \newcommand{\kivitendobgsettings}{%
40   \setlength{\headsep}{2.5cm}
41   \setlength{\textheight}{22.5cm}
42   \setlength{\footskip}{0.9cm}
43 }
44
45 %% Standardschrift
46 \newcommand{\defaultfont}{\fontfamily{cmss}\fontsize{10pt}{12pt}\fontseries{m}\selectfont}
47 \renewcommand{\familydefault}{cmss}
48
49 %% Checkboxen
50 \newsavebox{\checkedbox}
51 \savebox{\checkedbox}(0.2,0.4){
52   \put(-0.15,-0.425){$\times$}
53   \put(-0.15,-0.45){$\Box$}
54 }
55 \newsavebox{\uncheckedbox}
56 \savebox{\uncheckedbox}(0.2,0.4){
57   \put(-0.15,-0.45){$\Box$}
58 }
59
60 %% Farben
61 \definecolor{kivitendoorange}{rgb}{1,0.4,0.2}
62 \definecolor{kivitendodarkred}{rgb}{0.49,0,0}
63 \definecolor{kivitendoyellow}{rgb}{1,1,0.4}
64 \definecolor{kivitendobggray}{gray}{0.9}
65 \definecolor{kivitendowhite}{gray}{1}
66
67 %% Kopf- und Fußzeilen
68 \newcommand{\kivitendofirsthead}{}
69 \newcommand{\kivitendofirstfoot}{}
70 \newcommand{\kivitendosecondhead}{}
71 \newcommand{\kivitendosecondfoot}{\centerline{\defaultfont\small Seite \thepage}}
72
73 \newcommand{\myhead}{%
74   \ifthenelse{\boolean{defaultbg}}{%
75     \begin{picture}(0,0)
76       \put(-2.025,-28.1){\includegraphics*[width=\paperwidth,keepaspectratio=true]{images/hintergrund_seite1.png}}
77     \end{picture}%
78   }{}%
79   \ifthenelse{\boolean{secondpagelogo}}{%
80     \begin{picture}(0,0)
81       \put(-2.025,-28.1){\includegraphics*[width=\paperwidth,keepaspectratio=true]{images/hintergrund_seite2.png}}
82     \end{picture}%
83   }{}%
84   \ifthenelse{\boolean{draftbg}}{%
85     \begin{picture}(0,0)
86       \put(-2.025,-26.9){\includegraphics*[width=\paperwidth,keepaspectratio=true]{images/draft.png}}
87     \end{picture}%
88   }{}%
89   \ifthenelse{\boolean{reqspeclogo}}{%
90     \begin{picture}(0,0)
91       \put(3,-22){\includegraphics*[width=13cm,keepaspectratio=true]{images/schachfiguren.jpg}}
92       \put(0.275,-4.1){\colorbox{kivitendoorange}{\begin{minipage}[t][4.5cm]{2.5cm}\hspace*{2.5cm}\end{minipage}}}
93       \put(0.275,-8.8){\colorbox{kivitendodarkred}{\begin{minipage}[t][4.5cm]{2.5cm}\hspace*{2.5cm}\end{minipage}}}
94       \put(0.275,-13.5){\colorbox{kivitendoyellow}{\begin{minipage}[t][4.5cm]{2.5cm}\hspace*{2.5cm}\end{minipage}}}
95     \end{picture}%
96   }{}%
97   \kivitendofirsthead
98 }
99
100 \newcommand{\mysecondhead}{%
101   \ifthenelse{\boolean{defaultbg} \or \boolean{secondpagelogo}}{%
102     \begin{picture}(0,0)
103       \put(-2.025,-28.1){\includegraphics*[width=\paperwidth,keepaspectratio=true]{images/hintergrund_seite2.png}}
104     \end{picture}%
105   }{}%
106   \ifthenelse{\boolean{draftbg}}{%
107     \begin{picture}(0,0)
108       \put(-2.025,-26.9){\includegraphics*[width=\paperwidth,keepaspectratio=true]{images/draft.png}}
109     \end{picture}%
110   }{}%
111   \kivitendosecondhead
112 }
113
114 \newcommand{\myfoot}{\kivitendofirstfoot}
115 \newcommand{\mysecondfoot}{\kivitendosecondfoot}
116
117 \renewcommand{\ps@headings}{%
118   \renewcommand{\@oddhead}{\myhead}
119   \renewcommand{\@evenhead}{\@oddhead}%
120   \renewcommand{\@oddfoot}{\myfoot}
121   \renewcommand{\@evenfoot}{\@oddfoot}%
122 }
123
124 \renewcommand{\ps@plain}{%
125   \renewcommand{\@oddhead}{\mysecondhead}
126   \renewcommand{\@evenhead}{\@oddhead}%
127   \renewcommand{\@oddfoot}{\mysecondfoot}
128   \renewcommand{\@evenfoot}{\@oddfoot}%
129 }
130
131 \pagestyle{plain}
132 \thispagestyle{headings}
133
134 % Abschnitte mit Kasten hinterlegt
135
136 \newcommand{\reqspecsectionstyle}{%
137 \renewcommand{\thesection}{\alph{section}}
138 \makeatletter
139 \def\section{\@ifstar\unnumberedsection\numberedsection}
140 \makeatother
141 }
142
143 \makeatletter
144 \def\numberedsection{\@ifnextchar[%]
145   \numberedsectionwithtwoarguments\numberedsectionwithoneargument}
146 \def\unnumberedsection{\@ifnextchar[%]
147   \unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
148 \def\numberedsectionwithoneargument#1{\numberedsectionwithtwoarguments[#1]{#1}}
149 \def\unnumberedsectionwithoneargument#1{\unnumberedsectionwithtwoarguments[#1]{#1}}
150 \def\numberedsectionwithtwoarguments[#1]#2{%
151   \ifhmode\par\fi
152   \removelastskip
153   \vskip 3ex\goodbreak
154   \refstepcounter{section}%
155   \noindent
156   \begingroup
157   \leavevmode\Large\bfseries\raggedright
158   \begin{picture}(0,0)
159     \put(0,0){\colorbox{kivitendoorange}{\parbox{0.7cm}{\hspace*{0.7cm}\\\vspace*{0.2cm}}}}
160   \end{picture}%
161   \hspace*{0.3cm}\textcolor{white}{\thesection{}.}%
162   \quad%
163   #2
164   \par
165   \endgroup
166   \vskip 2ex\nobreak
167   \addcontentsline{toc}{section}{\protect\numberline{\thesection{}.}#1}%
168   }
169 \def\unnumberedsectionwithtwoarguments[#1]#2{%
170   \ifhmode\par\fi
171   \removelastskip
172   \vskip 3ex\goodbreak
173   \noindent
174   \begingroup
175   \leavevmode\Large\bfseries\raggedright
176   \leavevmode\Large\bfseries\raggedright
177   #2
178   \par
179   \endgroup
180   \vskip 2ex\nobreak%
181 }
182 \makeatother