From 04242d466b16823bf8ffa6b117034aac3466ca69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Farbi=C5=9B?= Date: Sun, 21 Aug 2022 15:19:26 +0200 Subject: [PATCH] wersja na 2022 --- README.md | 40 + certyfikat.tex | 59 ++ drukuj_certyfikaty.sh | 25 + drukuj_dyplomy.sh | 26 + dyplom.tex | 73 ++ dyplom_wwi.pdf | Bin 0 -> 22407 bytes dyplom_wwi.svg | 1621 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 1844 insertions(+) create mode 100644 README.md create mode 100755 certyfikat.tex create mode 100755 drukuj_certyfikaty.sh create mode 100755 drukuj_dyplomy.sh create mode 100755 dyplom.tex create mode 100644 dyplom_wwi.pdf create mode 100644 dyplom_wwi.svg 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 0000000000000000000000000000000000000000..1748a8fb411ea3628be05b42229b2de0a2da4a8e GIT binary patch literal 22407 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 qRv{wt=2|m7spIA4;;$$6CYnRH$3 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 E0Q#cldjJ3c literal 0 HcmV?d00001 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 + + + +