summaryrefslogtreecommitdiffstats
path: root/inf
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2022-03-25 20:24:23 +0100
committerAnton Luka Šijanec <anton@sijanec.eu>2022-03-25 20:24:23 +0100
commit07e9e8ac673938a9e2467132dad02c0e4a8c507f (patch)
treefc231daa43d4c4772550cd04cba81c59f8526cdc /inf
parentval (diff)
downloadsola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar
sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.gz
sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.bz2
sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.lz
sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.xz
sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.zst
sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.zip
Diffstat (limited to 'inf')
-rwxr-xr-xinf/rtk/državno/berime.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/inf/rtk/državno/berime.sh b/inf/rtk/državno/berime.sh
new file mode 100755
index 0000000..ce710b3
--- /dev/null
+++ b/inf/rtk/državno/berime.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+# Državno tekmovanje poteka v živo. Naloge se rešuje na papir. Mogoče bo kakšna naloga zahtevala pravilen program, zato s bom za pogosto uporabljene funkcije izpisal pomembne dele manpages.
+#
+# Začel sem z osnovnim ukazom
+#
+# a@ass:~/projects/sola-gimb-2/inf/rtk[0]$ grep -rno '[a-zA-Z_]*\s*(' . 2>/dev/null | cut -d: -f3 | grep -v '^($' | cut -d\( -f1 | sort | uniq | xargs -n1 -- man -S2,3
+#
+# ki učinkovito pokaže omejitve xargs -- izhod man mora iti v tiskalnik. Bolje bi lahko zadevo izpeljal z
+#
+# | while read f
+# do
+# man -S2,3 $f | head -n30 >> /tmp/tisk.txt
+# [ ${PIPESTATUS[0]} -eq 0 ] && echo --------------------------------- >> /tmp/tisk.txt
+# done
+#
+# kjer man širino vrstice itak pobere iz terminala.
+#
+# Tukaj pa izgubimo poudarke, ki jih groff nariše na terminal z ubežnimi kontrolnimi znaki, ki tiskalniku pogosto ne pomenijo ničesar. Sicer bi bilo zanimivo izdelati uniksaški tiskalniški filter, ki bi znal brati te stilizacijske znake, vendar namesto tega lahko man prepričamo, da groff namesto besedila nariše tudi PDF.
+#
+# man -Tpdf man | zathura -
+#
+# da se znebimo dupliciranih vnosov, recimo za fprintf in printf je manpage isti, uporabimo
+#
+# f=`man -dS2,3 $v 2>&1 > /dev/null | grep ult_softlink | head -n1 | rev | cut -d/ -f1 | rev | cut -d. -f1`
+#
+# Celoten ukaz je torej sledeč:
+t=`mktemp -td tekmovanje.XXXXXXX`
+grep -Rno '[a-zA-Z_]*\s*(' . 2>/dev/null | cut -d: -f3 | grep -v '^($' | cut -d\( -f1 | cut -d' ' -f1 | sort | uniq \
+ | while read v
+ do
+ f=`man -dS2,3 $v 2>&1 > /dev/null | grep ult_softlink | head -n1 | rev | cut -d/ -f1 | rev | cut -d. -f1`
+ e=${PIPESTATUS[0]}
+ [ ! $f ] && f=$v
+ [ $e -eq 0 ] && man -S 2,3 -Tpdf $f > $t/$f.pdf && pdfseparate -l 1 $t/$f.pdf $t/%dstran-$f.pdf && pdfcrop --margins "10 10 10 10" $t/1stran-$f.pdf $t/1stran-$f.pdf
+ done
+pdfjam --nup 4x4 --outfile $t/združeni.pdf --clip true --frame true $t/1stran-*.pdf
+pdfcrop --margins "20 10 10 20" $t/združeni.pdf $t/združeni.pdf
+echo $t/združeni.pdf