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