This commit is contained in:
nobody 2024-12-04 22:42:03 +01:00
parent a1566763e9
commit 1e2da81151
5 changed files with 45 additions and 32 deletions

View file

@ -1,4 +1,10 @@
\documentclass{cccbform} \documentclass[]{cccbform}
\NewDocumentCommand{\ul}{m}{%
\tikz[baseline=(word.base)]{%
\node[inner sep=1pt] (word) {#1};
\draw[thick] (word.south west) -- (word.south east);
}%
}
\begin{document} \begin{document}
\TwoColumns{% \TwoColumns{%
\vbox to 0pt{% \vbox to 0pt{%
@ -20,7 +26,8 @@
\draw[thin] (TR) -- ++(0,-\cornerLength); \draw[thin] (TR) -- ++(0,-\cornerLength);
\node[anchor=north west, text width=\receiptWidth-2*\padding, color=black!60] at (TLp) { \node[anchor=north west, text width=\receiptWidth-2*\padding, color=black!60] at (TLp) {
{\centering\LARGE\bfseries Kopiervorlage}\\[1em] {\centering\LARGE\bfseries Kopiervorlage}\\[1ex]
{\small\bfseries nur für \ul{Bar} bezahlte\\ Auslagen bei \ul{Barerstattung}}\\[1em]
1. Beleg hier auflegen\\[1ex] 1. Beleg hier auflegen\\[1ex]
2. Kopie machen\\[1ex] 2. Kopie machen\\[1ex]
3. Beleg mit einem Streifen Klebeband oben über der Kopie befestigen\\[1em] 3. Beleg mit einem Streifen Klebeband oben über der Kopie befestigen\\[1em]
@ -30,7 +37,13 @@
} }
}{% }{%
\LogoTitle{Beleg + Kopie} \LogoTitle{Beleg + Kopie}
\par\vfill\par \par\vspace{0.4\paperheight}
asdf \TextField{Zweck}
\ShortTextField{Person}
\vspace{1.5cm}
\Notes[Eingang \& Erstattung am / Bearbeiter]
\vspace{1.0cm}
\Notes[Konto / Gegenkonto / Vermerke]
\Notes[Gebucht am / durch]
} }
\end{document} \end{document}

View file

@ -130,7 +130,7 @@
\node[anchor=north west] at (current page.north west) [xshift=2.35cm, yshift=-5cm] {% \node[anchor=north west] at (current page.north west) [xshift=2.35cm, yshift=-5cm] {%
\begin{minipage}{10cm} \begin{minipage}{10cm}
\emph{an den} \par \emph{an den} \par
\vspace{\formskip} \addvspace{\formskip}
\noindent\address \noindent\address
\end{minipage} \end{minipage}
}; };
@ -250,7 +250,7 @@
% Text{text} - just text, with proper spacing % Text{text} - just text, with proper spacing
\NewDocumentCommand{\Text}{+m}{% \NewDocumentCommand{\Text}{+m}{%
\par\vspace{\formskip}#1\par\vspace{\formskip} \par\addvspace{2\formskip}#1\par\addvspace{\formskip}
} }
% TextField*{label} - a single-line input (starred version uses all available space) % TextField*{label} - a single-line input (starred version uses all available space)
@ -270,7 +270,7 @@
\ttfamily\footnotesize #2\strut \ttfamily\footnotesize #2\strut
}; };
\end{tikzpicture}% \end{tikzpicture}%
\par\vspace{\formskip}% \par\addvspace{1.5\formskip}%
} }
% ShortTextField[width]{label} - a single-line input with reduced width % ShortTextField[width]{label} - a single-line input with reduced width
@ -292,12 +292,12 @@
\ttfamily\footnotesize #2\strut \ttfamily\footnotesize #2\strut
}; };
\end{tikzpicture}% \end{tikzpicture}%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
% MultilineTextField*[height]{label} - a multi-line input, starred version uses all available width % MultilineTextField*[height]{label} - a multi-line input, starred version uses all available width
\NewDocumentCommand{\MultilineTextField}{s O{} m}{% \NewDocumentCommand{\MultilineTextField}{s O{} m}{%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
\ifMultiColumn% \ifMultiColumn%
\pgfmathsetmacro{\@tlen}{1.0}% \pgfmathsetmacro{\@tlen}{1.0}%
\else% \else%
@ -312,19 +312,19 @@
\ttfamily\footnotesize #3\strut \ttfamily\footnotesize #3\strut
}; };
\end{tikzpicture} \end{tikzpicture}
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
% Signature[label] - a field not fillable on the computer, big enough for a signature % Signature[label] - a field not fillable on the computer, big enough for a signature
\NewDocumentCommand{\Signature}{O{Datum, Unterschrift}}{% \NewDocumentCommand{\Signature}{O{Datum, Unterschrift}}{%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
\ifMultiColumn% \ifMultiColumn%
\pgfmathsetmacro{\@tlen}{\normalfieldwidth}% \pgfmathsetmacro{\@tlen}{\normalfieldwidth}%
\else% \else%
\pgfmathsetmacro{\@tlen}{\shortfieldwidth}% \pgfmathsetmacro{\@tlen}{\shortfieldwidth}%
\fi% \fi%
\begin{tikzpicture}[baseline] \begin{tikzpicture}[baseline]
\useasboundingbox (0,0) rectangle (\@tlen\textwidth,\formfieldheight); \useasboundingbox (0,0) rectangle (\@tlen\textwidth,1.0cm);
\node[anchor=west] at (0,0) { \node[anchor=west] at (0,0) {
\full@MultilineTextField<1.0cm>[\@tlen] \full@MultilineTextField<1.0cm>[\@tlen]
}; };
@ -332,15 +332,15 @@
\ttfamily\footnotesize #1\strut \ttfamily\footnotesize #1\strut
}; };
\end{tikzpicture} \end{tikzpicture}
\par\vspace{\formskip}% \par\addvspace{2\formskip}%
} }
% Notes[label] - a slightly taller fake field that fills the whole width % Notes[label] - a slightly taller fake field that fills the whole width
\NewDocumentCommand{\Notes}{O{Vermerke}}{% \NewDocumentCommand{\Notes}{O{Vermerke}}{%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
\pgfmathsetmacro{\@tlen}{1.0} \pgfmathsetmacro{\@tlen}{1.0}
\begin{tikzpicture}[baseline] \begin{tikzpicture}[baseline]
\useasboundingbox (0,0) rectangle (\@tlen\textwidth,\formfieldheight); \useasboundingbox (0,0) rectangle (\@tlen\textwidth,1.5cm);
\node[anchor=west] at (0,0) { \node[anchor=west] at (0,0) {
\full@MultilineTextField<1.5cm>[\@tlen] \full@MultilineTextField<1.5cm>[\@tlen]
}; };
@ -348,7 +348,7 @@
\ttfamily\footnotesize #1\strut \ttfamily\footnotesize #1\strut
}; };
\end{tikzpicture} \end{tikzpicture}
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
% Checkbox{label} - a checkbox; label can be long and will linebreak reasonably pretty % Checkbox{label} - a checkbox; label can be long and will linebreak reasonably pretty
@ -358,7 +358,7 @@
\begin{minipage}[t]{\dimexpr \linewidth - \checkboxtextshrink \relax}% \begin{minipage}[t]{\dimexpr \linewidth - \checkboxtextshrink \relax}%
#1% #1%
\end{minipage}% \end{minipage}%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
% InlineCheckbox - just the box % InlineCheckbox - just the box
@ -368,23 +368,23 @@
\NewDocumentCommand{\CheckboxOther}{O{\shortfieldwidth} m}{% \NewDocumentCommand{\CheckboxOther}{O{\shortfieldwidth} m}{%
\par% \par%
\full@CheckBox\quad#2\quad\smash{\full@TextField[#1]}% \full@CheckBox\quad#2\quad\smash{\full@TextField[#1]}%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
% high-level structure % high-level structure
% Section{title} - a form section % Section{title} - a form section
\NewDocumentCommand{\Section}{m}{% \NewDocumentCommand{\Section}{m}{%
\vspace{1.5cm}% \addvspace{1.5cm}%
{\Large\bfseries #1}% {\Large\bfseries #1}%
\par\vspace{2\formskip}% \par\addvspace{2\formskip}%
} }
% Subsection{title} - slightly smaller than section % Subsection{title} - slightly smaller than section
\NewDocumentCommand{\Subsection}{m}{% \NewDocumentCommand{\Subsection}{m}{%
\vspace{1.0cm}% \addvspace{1.0cm}%
{\large\bfseries #1}% {\large\bfseries #1}%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
\NewDocumentCommand{\full@rule}{}{% \NewDocumentCommand{\full@rule}{}{%
@ -400,16 +400,16 @@
\NewDocumentCommand{\Rule}{}{% \NewDocumentCommand{\Rule}{}{%
\par% \par%
\text@rule% \text@rule%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
% RuleSection - rule followed by a small note *immediately* below, before the spacing % RuleSection - rule followed by a small note *immediately* below, before the spacing
% (e.g. to separate public / internal sections of a form) % (e.g. to separate public / internal sections of a form)
\NewDocumentCommand{\RuleSection}{m}{% \NewDocumentCommand{\RuleSection}{m}{%
\par\vspace{\formskip}% \par\addvspace{\formskip}%
\leavevmode\full@rule\\[-1ex]% \leavevmode\full@rule\\[-1ex]%
{\details{(#1)}}% {\details{(#1)}}%
\par\vspace{\formskip} \par\addvspace{\formskip}
} }
% \begin{Indented}[factor] ... \end{Indented} - indent a section % \begin{Indented}[factor] ... \end{Indented} - indent a section
@ -418,7 +418,7 @@
\begin{adjustwidth}{#1\indentstep}{0pt}% \begin{adjustwidth}{#1\indentstep}{0pt}%
}{% }{%
\end{adjustwidth}% \end{adjustwidth}%
\vspace{\formskip} \addvspace{2\formskip}
} }
% TwoColumns{left}{right} - put two sections side-by-side % TwoColumns{left}{right} - put two sections side-by-side
@ -432,7 +432,7 @@
#2% #2%
\end{minipage}% \end{minipage}%
\MultiColumnfalse \MultiColumnfalse
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
\NewDocumentCommand{\ThreeColumns}{+m +m +m}{% \NewDocumentCommand{\ThreeColumns}{+m +m +m}{%
@ -449,7 +449,7 @@
#3% #3%
\end{minipage}% \end{minipage}%
\MultiColumnfalse \MultiColumnfalse
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
\NewDocumentCommand{\FiveColumns}{+m +m +m +m +m}{% \NewDocumentCommand{\FiveColumns}{+m +m +m +m +m}{%
@ -474,7 +474,7 @@
#5% #5%
\end{minipage}% \end{minipage}%
\MultiColumnfalse \MultiColumnfalse
\par\vspace{\formskip}% \par\addvspace{\formskip}%
} }
% details{text} - (use instead of font sizes, small text) % details{text} - (use instead of font sizes, small text)

View file

@ -1,4 +1,4 @@
\documentclass{cccbform} \documentclass[]{cccbform}
\begin{document} \begin{document}
\AddressTitle*{Antrag auf Erstattung von Auslagen} \AddressTitle*{Antrag auf Erstattung von Auslagen}
\TextField{Name} \TextField{Name}

BIN
logo.pdf

Binary file not shown.

View file

@ -1,4 +1,4 @@
\documentclass[noform]{cccbform} \documentclass[]{cccbform}
\begin{document} \begin{document}
\LogoTitle{Antrag auf Mitgliedschaft im\\\strut{\LARGE Chaos Computer Club Berlin / CCC~(B)~e.~V.}} \LogoTitle{Antrag auf Mitgliedschaft im\\\strut{\LARGE Chaos Computer Club Berlin / CCC~(B)~e.~V.}}
\Checkbox{Ja, ich habe die Satzung des Chaos Computer Club Berlin e.~V., die Beitragsordnung in der aktuellen Fassung und die Hinweise zur Mitgliedschaft gelesen und möchte Mitglied im CCCB~e.~V. werden.} \Checkbox{Ja, ich habe die Satzung des Chaos Computer Club Berlin e.~V., die Beitragsordnung in der aktuellen Fassung und die Hinweise zur Mitgliedschaft gelesen und möchte Mitglied im CCCB~e.~V. werden.}
@ -35,7 +35,7 @@
\RuleSection{Vorstand} \RuleSection{Vorstand}
\TwoColumns{ \TwoColumns{
\Text{% \Text{%
\vspace{-2\formskip} \vspace{-4\formskip}
\InlineCheckbox~Abgelehnt \InlineCheckbox~Abgelehnt
\Rule \Rule
\InlineCheckbox~Verpeilt \InlineCheckbox~Verpeilt