171 lines
4 KiB
TeX
171 lines
4 KiB
TeX
|
\documentclass[a5paper]{article}
|
||
|
|
||
|
\usepackage[ngerman]{babel}
|
||
|
\usepackage{hyphenat}
|
||
|
\hyphenation{Mathe-matik wieder-gewinnen}
|
||
|
|
||
|
\usepackage{fontspec}
|
||
|
\setmainfont{Liberation Sans}
|
||
|
|
||
|
\usepackage[table]{xcolor}
|
||
|
|
||
|
\usepackage[portrait,margin=0cm]{geometry} % ,showframe
|
||
|
\usepackage{tikz}
|
||
|
\usepackage{graphicx}
|
||
|
\usepackage{array}
|
||
|
\usepackage{tabularx}
|
||
|
\usepackage{csvsimple}
|
||
|
\usepackage{adjustbox}
|
||
|
\usepackage{booktabs}
|
||
|
\usepackage{intcalc}
|
||
|
\usepackage{pgffor}
|
||
|
\usepackage{hyperref}
|
||
|
%\usepackage{fancyhdr}
|
||
|
|
||
|
\usepackage{pgfpages}
|
||
|
\pgfpagesuselayout{2 on 1}[a4paper,landscape,border shrink=1cm]
|
||
|
|
||
|
\usepackage{atbegshi}
|
||
|
\AtBeginShipout{
|
||
|
\pgfpagesshipoutlogicalpage{1}\copy\AtBeginShipoutBox
|
||
|
\pgfpagesshipoutlogicalpage{2}\box\AtBeginShipoutBox
|
||
|
\pgfshipoutphysicalpage
|
||
|
}
|
||
|
|
||
|
\pagestyle{empty}
|
||
|
|
||
|
%\pagestyle{fancy}
|
||
|
%\fancyhf{}
|
||
|
%\renewcommand{\headrulewidth}{0pt}
|
||
|
%\fancyfoot[C]{Powered by \LaTeX}
|
||
|
|
||
|
\setlength{\parindent}{0pt}
|
||
|
|
||
|
\def\persiderowcount{22}
|
||
|
|
||
|
\newcommand{\stimmzettel}[2]{
|
||
|
\noindent
|
||
|
\begin{minipage}[t]{0.49\textwidth}
|
||
|
\vspace{-\fboxsep}
|
||
|
\includegraphics[width=\textwidth]{img/ohg.pdf}
|
||
|
\end{minipage}
|
||
|
\begin{minipage}[t]{0.49\textwidth}
|
||
|
\vspace{-\fboxsep}
|
||
|
\hspace*{0pt}\hfill
|
||
|
\includegraphics[width=0.3\textwidth]{img/smv_neu.pdf}
|
||
|
\end{minipage}
|
||
|
|
||
|
\medskip\medskip\medskip
|
||
|
|
||
|
\begin{center}
|
||
|
\textbf{\LARGE Stimmzettel} \\
|
||
|
{\large für die \underline{\textbf{#1:in}}-Wahl des Otto-Hahn-Gymnasiums} \\
|
||
|
|
||
|
\medskip\medskip
|
||
|
|
||
|
{\large Sie haben \textbf{\LARGE 1} Stimme}
|
||
|
\end{center}
|
||
|
|
||
|
\medskip
|
||
|
|
||
|
\csvreader{#2}{}{}
|
||
|
\edef\totalrows{\thecsvrow}
|
||
|
|
||
|
\edef\colcount{\intcalcDiv{\totalrows}{\persiderowcount}}
|
||
|
\edef\colcount{\intcalcAdd{\colcount}{\ifnum\intcalcMod{\totalrows}{\persiderowcount}>0 1 \else 0 \fi}}
|
||
|
\edef\colwidth{
|
||
|
\ifnum\colcount=0
|
||
|
0
|
||
|
\else\ifnum\colcount=1
|
||
|
1
|
||
|
\else\ifnum\colcount=2
|
||
|
0.49
|
||
|
\else
|
||
|
0
|
||
|
\fi\fi\fi
|
||
|
}
|
||
|
|
||
|
\ifnum\colcount>0
|
||
|
\foreach \n in {0,...,\intcalcSub{\colcount}{1}}{
|
||
|
\noindent
|
||
|
\begin{minipage}[t]{\colwidth\textwidth}
|
||
|
\vspace{-\fboxsep}
|
||
|
\def\arraystretch{2}
|
||
|
|
||
|
|
||
|
\ifnum\totalrows>2
|
||
|
\rowcolors{2}{gray!10}{white}
|
||
|
\fi
|
||
|
|
||
|
\edef\rowcountstart{\intcalcMul{\n}{\persiderowcount}}
|
||
|
\begin{tabularx}{\linewidth}{|r|X|l|>{\centering\arraybackslash}c|}
|
||
|
\rowcolor{white}
|
||
|
\toprule
|
||
|
\multicolumn{1}{r}{\large\textbf{\#}} &
|
||
|
\multicolumn{1}{l}{\large\textbf{Kandidaten}} &
|
||
|
\multicolumn{1}{l}{\large\textbf{Klasse}} &
|
||
|
\multicolumn{1}{c}{
|
||
|
\adjustbox{valign=t}{
|
||
|
\begin{tikzpicture}
|
||
|
\draw (0,0.4) circle(2mm);
|
||
|
\draw (-0.1,0.5) -- (0.1,0.3);
|
||
|
\draw (-0.1,0.3) -- (0.1,0.5);
|
||
|
\end{tikzpicture}}
|
||
|
}
|
||
|
\\
|
||
|
|
||
|
\rowcolor{white}
|
||
|
\bottomrule
|
||
|
\multicolumn{1}{r}{} &
|
||
|
\multicolumn{1}{l}{} &
|
||
|
\multicolumn{1}{l}{} &
|
||
|
\multicolumn{1}{l}{}
|
||
|
\\
|
||
|
|
||
|
\hline
|
||
|
\csvreader[
|
||
|
head to column names,
|
||
|
late after line={\\ \hline},
|
||
|
filter expr={
|
||
|
test{\ifnumgreater{\thecsvinputline-1}{\rowcountstart}}
|
||
|
and test{\ifnumless{\thecsvinputline-1}{\rowcountstart+\persiderowcount+1}}
|
||
|
}
|
||
|
]{#2}{}
|
||
|
{
|
||
|
\large\textbf{\the\numexpr\rowcountstart+\thecsvrow-\n\relax.} &
|
||
|
\large\ifthenelse{\equal{\name}{}}{\givenname}{\givenname~\name} &
|
||
|
\large\year~\class &
|
||
|
\adjustbox{valign=c}{
|
||
|
\begin{tikzpicture}[inner sep=0pt, outer sep=0pt]
|
||
|
\draw[black, fill=white] (0,0) circle(2mm);
|
||
|
\end{tikzpicture}
|
||
|
}
|
||
|
}
|
||
|
\end{tabularx}
|
||
|
\end{minipage}
|
||
|
\hfill
|
||
|
}
|
||
|
\fi
|
||
|
}
|
||
|
|
||
|
\begin{document}
|
||
|
\stimmzettel{Unterstufensprecher}{data/unterstufensprecher.csv}
|
||
|
\newpage
|
||
|
|
||
|
\stimmzettel{Mittelstufensprecher}{data/mittelstufensprecher.csv}
|
||
|
\newpage
|
||
|
|
||
|
\stimmzettel{Realschulsprecher}{data/realschulsprecher.csv}
|
||
|
\newpage
|
||
|
|
||
|
\stimmzettel{Schulsprecher}{data/schulsprecher.csv}
|
||
|
\newpage
|
||
|
|
||
|
\begin{center}
|
||
|
\topskip0pt
|
||
|
\vspace*{\fill}
|
||
|
\textbf{\Large\href{https://git.dergrimm.net/dergrimm/smv-stimmzettel.git}{https://git.dergrimm.net/dergrimm/smv-stimmzettel.git}}
|
||
|
\vspace*{\fill}
|
||
|
\end{center}
|
||
|
\end{document}
|