wersja na 2022

master
Karol Farbiś 4 years ago
commit 04242d466b
  1. 40
      README.md
  2. 59
      certyfikat.tex
  3. 25
      drukuj_certyfikaty.sh
  4. 26
      drukuj_dyplomy.sh
  5. 73
      dyplom.tex
  6. BIN
      dyplom_wwi.pdf
  7. 1621
      dyplom_wwi.svg

@ -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 `<nazwa_pliku_z_uczestnikami>.out` oraz plik `<nazwa_pliku_z_uczestnikami>_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 `<nazwa_pliku_z_dyplomami>.out` oraz plik `<nazwa_pliku_z_dyplomami>_ALL.pdf` ze wszystkimi dyplomami, gotowy do wydruku.

@ -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}

@ -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

@ -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

@ -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}

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 78 KiB

Loading…
Cancel
Save