commit 04242d466b16823bf8ffa6b117034aac3466ca69 Author: Karol Farbiś Date: Sun Aug 21 15:19:26 2022 +0200 wersja na 2022 diff --git a/README.md b/README.md new file mode 100644 index 0000000..9c24148 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +Certyfikaty i dyplomy na obozach WWI +=== + +Zanim zaczniesz +--- +1. Sprawdź, czy masz zainstalowane programy `xelatex`, `pdftk` i `pdfunite`. +1. Popraw `certyfikat.tex`, `dyplom.tex` i `dyplom_wwi.svg`, tak żeby zawierały właściwe miejsce i rok obozu. + +Generowanie certyfikatów +--- +Przygotuj plik z uczestnikami. Plik powinien zawierać imię i nazwisko (w mianowniku) oraz płec (`brał` lub `brała`) uczestników w formacie: +``` +Patryk Czajka;brał +Jowita Drozdrowicz;brała +Iwona Kotlarska;brała +Marek Sokołowski;brał +``` +Następnie uruchom skrypt `drukuj_certyfikaty.sh` z parametrm będącym nazwą pliku z uczestnikami. Skrypt wypluje dużo pdf-ów do katalogu `.out` oraz plik `_ALL.pdf` ze wszystkimi certyfikatami, gotowy do wydruku. + +Generowanie dyplomów +--- +Przygotuj plik z dyplomami. Plik powinien zawierać imię i nazwisko (w dopełniaczu) oraz trzy wiersze zawierające informacje, za co ma być dyplom. Format jest bardzo podobny do certyfikatów: +``` +Patryka Czajki;za zajęcie pierwszego miejsca;w konkursie recytacji monologu skryby;na +``` + +przykład wypluje dyplom mniej więcej taki: +``` + Dyplom + dla + Patryka Czajki + za zajęcie pierszego miejsca + w konkursie recytacji monologu skryby + na +Wakacyjnych Warsztatach Informatycznych 2022 +``` + +Wiersze mogą być puste, byleby w każdym wierszu pliku z dyplomami były dokładnie trzy średniki. + +Następnie uruchom skrypt `drukuj_dyplomy.sh` z parametrm będącym nazwą pliku z dyplomami. Skrypt wypluje dużo pdf-ów do katalogu `.out` oraz plik `_ALL.pdf` ze wszystkimi dyplomami, gotowy do wydruku. \ No newline at end of file diff --git a/certyfikat.tex b/certyfikat.tex new file mode 100755 index 0000000..c3e28aa --- /dev/null +++ b/certyfikat.tex @@ -0,0 +1,59 @@ +\documentclass[a4paper]{article} +\usepackage[MeX]{polski} +%\usepackage[utf8]{inputenc} + + +\usepackage{amsfonts} +\usepackage{amsthm} +\usepackage{amsmath} +\usepackage{float} +\usepackage{graphicx} +\usepackage{multicol} +\usepackage[left=2cm,right=2cm]{geometry} + + +\addtolength{\voffset}{+6.0cm} +%\addtolength{\textheight}{+3cm} + +\addtolength{\hoffset}{-2cm} +\addtolength{\textwidth}{+4cm} + +\pagestyle{empty} + +\begin{document} +\begin{center} + + {\Huge \bf Certyfikat Uczestnictwa} + +\vspace{1.0cm} + +{\huge \emph{FILLER_NAME}} + +\vspace{0.75cm} + + +\linespread{1.2} +{\Large +FILLER_TAKE udział w \\ {\bf Wakacyjnych Warsztatach Informatycznych 2022}\\ +} +\end{center} + +\vspace{1.5cm} +\noindent +\begin{minipage}{0.4999\textwidth} + \centering +\large Kierownik obozu +\end{minipage} +\begin{minipage}{0.4999\textwidth} + \centering +\large Kadra WWI +\end{minipage} + +\vspace{7.75cm} +\begin{center} +{\Huge Płock 2022} +\end{center} + +\pagebreak + +\end{document} diff --git a/drukuj_certyfikaty.sh b/drukuj_certyfikaty.sh new file mode 100755 index 0000000..70e3876 --- /dev/null +++ b/drukuj_certyfikaty.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -e + + +[ -z "$1" ] && { echo 'ERROR: Podaj plik do druku jako pierwszy parametr!'; exit 1; } +OUTDIR="$1.out" + +TMP=$(mktemp -d) +rm -rf $OUTDIR +mkdir $OUTDIR + +NUM=1 + +cat "$1" | while read l; do + osoba="$(echo $l | cut -d\; -f1)" + osoba_no_spaces="${osoba// /_}" + bral=$(echo $l | cut -d\; -f2) + echo $osoba + sed "s/FILLER_NAME/$osoba/; s/FILLER_TAKE/$bral/;" certyfikat.tex > $TMP/cert_tmp.tex + xelatex -output-directory=$TMP $TMP/cert_tmp.tex >/dev/null 2>&1 + pdftk $TMP/cert_tmp.pdf background dyplom_wwi.pdf output "${OUTDIR}/$(printf "%03d" $NUM)_cert_$osoba_no_spaces.pdf" + NUM=$[NUM + 1] +done + +pdfunite $OUTDIR/* $1_ALL.pdf diff --git a/drukuj_dyplomy.sh b/drukuj_dyplomy.sh new file mode 100755 index 0000000..6c6e331 --- /dev/null +++ b/drukuj_dyplomy.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +[ -z "$1" ] && { echo 'ERROR: Podaj plik do druku jako pierwszy parametr!'; exit 1; } + +OUTDIR="$1.out" +rm -rf $OUTDIR +mkdir -p $OUTDIR + +TMP=$(mktemp -d) + +NUM=1 +cat "$1" | while read l; do + osoba=$(echo $l | cut -d\; -f1) + osoba_no_spaces=${osoba// /_} + line1=$(echo $l | cut -d\; -f2 | tr -d \") + line2=$(echo $l | cut -d\; -f3 | tr -d \") + line3=$(echo $l | cut -d\; -f4 | tr -d \") + echo $osoba + + sed "s/FILLER_NAME/$osoba/; s/FILLER_LINE1/$line1/; s/FILLER_LINE2/$line2/; s/FILLER_LINE3/$line3/;" dyplom.tex > $TMP/dyplom_tmp.tex + xelatex -output-directory=$TMP $TMP/dyplom_tmp.tex 2>&1 >/dev/null + pdftk $TMP/dyplom_tmp.pdf background dyplom_wwi.pdf output "${OUTDIR}/$(printf "%03d" $NUM)_dyplom_${osoba_no_spaces}.pdf" + NUM=$[NUM + 1] +done + +pdfunite $OUTDIR/* $1_ALL.pdf diff --git a/dyplom.tex b/dyplom.tex new file mode 100755 index 0000000..32119ac --- /dev/null +++ b/dyplom.tex @@ -0,0 +1,73 @@ +\documentclass{article} +\usepackage[MeX]{polski} +\usepackage[utf8]{inputenc} + + +\usepackage{amsfonts} +\usepackage{amsthm} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{float} +\usepackage{graphicx} + +\addtolength{\voffset}{+5.0cm} +%\addtolength{\textheight}{+3cm} + +\addtolength{\hoffset}{-2cm} +\addtolength{\textwidth}{+4cm} + +\pagestyle{empty} + +\begin{document} +\begin{center} + +{\bf \Huge Dyplom} + +\vspace{0.75cm} + +{\Large dla} + +\vspace{0.75cm} + +{\huge \emph{FILLER_NAME}} + +\vspace{0.65cm} + + +\linespread{1.2} +{\Large +FILLER_LINE1 ~\\ +%za wyróżniającą się aktywność w rozwiązywaniu zadań w \\ +FILLER_LINE2 ~\\ +FILLER_LINE3 ~\\ +%odbywających się na \\ +} + +\vspace{0.20cm} + +{\Large +{\bf Wakacyjnych Warsztatach Informatycznych 2022}\\ +} + +\end{center} + +\vspace{1cm} + +\noindent +\begin{minipage}{0.4999\textwidth} + \centering +\large Kierownik obozu +\end{minipage} +\begin{minipage}{0.4999\textwidth} + \centering +\large Kadra WWI +\end{minipage} + +\vspace{7cm} +\begin{center} +{\Huge Płock 2022} +\end{center} + +\pagebreak + +\end{document} diff --git a/dyplom_wwi.pdf b/dyplom_wwi.pdf new file mode 100644 index 0000000..1748a8f Binary files /dev/null and b/dyplom_wwi.pdf differ diff --git a/dyplom_wwi.svg b/dyplom_wwi.svg new file mode 100644 index 0000000..b590273 --- /dev/null +++ b/dyplom_wwi.svg @@ -0,0 +1,1621 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wakacyjne + Warsztaty + Informatyczne + Płock 2022 + + + +