#!/bin/bash LANGUAGE=en TMPDIR=i/tmp PDFDIR=i/tmp LAYERS=$TMPDIR/layers.list PDFS=$TMPDIR/pdfs.list OUTPUTDIR=o/free/$LANGUAGE/A2 TMPTEX=$TMPDIR/canvas.tex LOGOLIST=$TMPDIR/vektor.list LOGODIR=i/free/v/logos/layered/chmod+x_logo_100105/ SCRIPTREFERENCE=$TMPDIR/s+fm+sf.list THISDIR=`pwd` PDFMETA=$TMPDIR/metadata.txt NIRVANA=/dev/null CNT=1; while [ $CNT -le 40 ] do FILENUMBER=`echo 000${CNT} | rev | cut -c 1-3 | rev` CHECKEXIST=`find $OUTPUTDIR -name "*$FILENUMBER*.pdf" | wc -l` if [ $CHECKEXIST -lt 1 ]; then rm $TMPDIR/*.* rm $SCRIPTREFERENCE rm $PDFS rm $TMPTEX echo "\newlength{\grids} " >> $TMPTEX echo "\setlength{\grids}{.1\textwidth} " >> $TMPTEX echo "\setlength{\unitlength}{\grids} " >> $TMPTEX echo "\newcommand{\logosingle}[4]{% " >> $TMPTEX echo "\begin{picture}(0,0) " >> $TMPTEX echo "\\put(#1,#2){\includegraphics[height=#3, " >> $TMPTEX echo "viewport=50 50 350 350,clip]{#4}} " >> $TMPTEX echo "\end{picture} " >> $TMPTEX echo "} " >> $TMPTEX ######################## # DECIDE HOW MANY ROWS # ######################## RAND=`echo $RANDOM | rev | tr -d '0' | cut -c 1-5 | cut -c 1 ` ROWSEED="2 2 3 3 3 4 4 4 4" ROWS=`echo $ROWSEED | cut -d " " -f $RAND` ############################# # DECIDE HOW MANY FOOTNOTES # ############################# RAND=`echo $RANDOM | rev | tr -d '0' | cut -c 1-5 | cut -c 1 ` HOWMANYFOOTS=`expr 90 - \( $ROWS \* 15 \)` HOWMANYFOOTS=`expr 90 - \( $ROWS \* 10 \)` echo "HOWMANYFOOTS="${HOWMANYFOOTS}" ROWS="$ROWS rm $TMPDIR/collected/* # TEST SCRIPTS, TAKE THE LAST ONE # -> # SCRIPTS=`cat i/scriptcombinations.list | tail -1 | rl --count=1`; # echo $SCRIPTS SCRIPTS=`cat i/scriptcombinations.list | rl --count=1`; echo $SCRIPTS SCRIPTDIRS=i/scriptdirectories.list NOGO=`cat i/donotloadthisscripts.list` rm $TMPDIR/scripts.list for DIR in `cat $SCRIPTDIRS` do find `echo $DIR | cut -d ":" -f 1` \ -maxdepth `echo $DIR | cut -d ":" -f 2` -name "*.sh" |\ egrep "$SCRIPTS" | egrep -v "$NOGO" >> $TMPDIR/scripts.temp.list done cat $TMPDIR/scripts.temp.list | \ rl --count=$HOWMANYFOOTS > $TMPDIR/scripts.list ############################################## # MAKE FOOTNOTEMARKS FOR SCRIPTS # ############################################## rm $TMPDIR/s+fm.list; COUNT=1; for SCRIPT in `cat $TMPDIR/scripts.list` do echo ${SCRIPT}:$COUNT >> $TMPDIR/s+fm.list COUNT=`expr $COUNT + 1` done ############################################## RND=`expr \`echo $RANDOM | rev | cut -c 1 \` + 0`; echo 0 > $TMPDIR/rnd.ctrl GRAFIKSINAROW=10 HOWMANYGRAFIKS=`expr $ROWS \* $GRAFIKSINAROW` GRFKCOUNT=1; COUNT=0; while [ $GRFKCOUNT -le $HOWMANYGRAFIKS ]; do if [ $COUNT -eq $GRAFIKSINAROW ]; then echo " " >> $TMPTEX echo "\vspace{-2mm} " >> $TMPTEX echo "\hfill " >> $TMPTEX echo " " >> $TMPTEX COUNT=0 fi ############################################################### SCRIPT=`head -n $GRFKCOUNT $TMPDIR/scripts.list | tail -1` SCRIPT=`cat $TMPDIR/scripts.list | rl --count=1` SCRIPTMARK=`grep $SCRIPT $TMPDIR/s+fm.list | cut -d ":" -f 2` SCRIPTPATH=`echo ${SCRIPT%/*}` SCRIPTNAME=`echo ${SCRIPT##*/}` cd $SCRIPTPATH 1> $NIRVANA rm tmp/*.pdf INPUTFILE=`find a/stock/ -name "*.pdf" |\ rl --count=1` echo 9 > tmp/gridsize.i ./$SCRIPTNAME $INPUTFILE 9 FILE=`find tmp -maxdepth 1 -size +0b -name "*.pdf" | \ sort | tail -3 | rl --count=1` if [ `echo $FILE | wc -w` -ge 1 ]; then NAME=`date +%s`-$RANDOM cp $FILE $THISDIR/$TMPDIR/collected/$NAME.pdf cd - 1> $NIRVANA URL="http://makeart.goto10.org/chmod+x/forkable" SCRIPTURL=$URL/generators/wtf/i/$SCRIPTNAME ############################################################## PDFNAME=`echo ${FILE##*/}` PDF=$TMPDIR/collected/$NAME.pdf cat $SCRIPTPATH/$SCRIPTNAME | \ grep http | grep forkable > $TMPDIR/allscriptrelatedurls.list cat $SCRIPTPATH/$SCRIPTNAME | \ grep http | grep -v forkable >> $TMPDIR/allscriptrelatedurls.list SCRIPTURL=`cat $TMPDIR/allscriptrelatedurls.list | \ tail -1 | sed 's/\# //g'` CREDIT=`head -3 $SCRIPTPATH/$SCRIPTNAME | \ tail -1 | sed 's/\# //g' | sed 's/_/\\\_/g'` # FIRSTLETTERUPPERCASE=`echo $CREDIT | cut -c 1 | tr "[:lower:]" "[:upper:]"` # CREDITREST=`echo $CREDIT | cut -c 2-200` # CREDIT=`echo ${FIRSTLETTERUPPERCASE}${CREDITREST} | sed 's/Http/http/g'` SCRIPTNAMEFOOT=`echo $SCRIPTNAME | sed 's/_/\\\_/g'` SCRIPTFOOT=`echo " \textbf{"$SCRIPTNAMEFOOT",} "${CREDIT}", \url{"${SCRIPTURL}"}"` echo ${SCRIPTMARK}:${SCRIPT}:${SCRIPTFOOT} >> $SCRIPTREFERENCE SECTOR=`grep SECTOR $SCRIPTPATH/$SCRIPTNAME | \ cut -d ":" -f 2 |\ rl --count=1` OLDSECTOR=$SECTOR RND=`expr \`echo $RANDOM | rev | cut -c 1 \` + 1` XSTART=`echo $SECTOR | cut -d "{" -f 2 | rev | cut -c 2-10 | rev` XEND=`echo $SECTOR | cut -d "{" -f 4 | rev | cut -c 2-10 | rev` CLIPFACTOR=`expr $XEND \/ $RND + 1` XSTART=`expr ${XSTART} + $CLIPFACTOR` if [ `expr $XEND - $CLIPFACTOR` -le `expr $XSTART + \( 20 \* $RND \) + 50` ]; then XEND=`expr ${XEND} + \`expr $CLIPFACTOR \/ 2 \`` else XEND=`expr ${XEND} - \`expr $CLIPFACTOR \/ 2 \`` fi XSTART="{"${XSTART}"}" XEND="{"${XEND}"}" YSTART=`echo $SECTOR | cut -d "}" -f 2`"}" YEND=`echo $SECTOR | cut -d "}" -f 4`"}" SECTOR=${XSTART}${YSTART}${XEND}${YEND} RND=`echo $RANDOM | rev | tr -d [0] | cut -c 1` if [ $RND -gt 7 ]; then SECTOR=$OLDSECTOR fi echo "\graphic{"$PDF"} " >> $TMPTEX echo $SECTOR"{height=\grids} " >> $TMPTEX echo "{1pt}\footnotemark["$SCRIPTMARK"] " >> $TMPTEX RND=`echo $RANDOM | rev | tr -d [0] | cut -c 1` if [ $RND -gt 6 ]; then echo "\hfill " >> $TMPTEX fi COUNT=`expr $COUNT + 1` GRFKCOUNT=`expr $GRFKCOUNT + 1` else cd - 1> $NIRVANA fi done echo " " >> $TMPTEX echo "\logosingle{4.5}{-5}{7.2\grids}% " >> $TMPTEX echo "{i/\freedompath/v/logos/chmod+x_logo_100117.pdf} " >> $TMPTEX echo " " >> $TMPTEX ######## ULTRA DIRTY WORKAROUND ##################################################### COUNT=1; for FOOTNOTE in `cat $SCRIPTREFERENCE | sort -n | uniq | cut -d ":" -f 1` do echo "\footnotetext[ " >> $TMPTEX cat $SCRIPTREFERENCE |\ sort -n | uniq |\ head -$COUNT | tail -1 | cut -d ":" -f 1 >> $TMPTEX echo "]{ " >> $TMPTEX cat $SCRIPTREFERENCE |\ sort -n | uniq |\ head -$COUNT | tail -1 | cut -d ":" -f 3-4 >> $TMPTEX echo "} " >> $TMPTEX COUNT=`expr $COUNT + 1` done ###################################################################################### CONTAINERTEX=chmod+x.tex rm $CONTAINERTEX echo "\documentclass[10pt]{scrartcl} " >> $CONTAINERTEX echo "\usepackage{geometry} " >> $CONTAINERTEX echo "\geometry{paperwidth=420mm,paperheight=594mm} % A2 " >> $CONTAINERTEX echo " " >> $CONTAINERTEX echo "\usepackage{i/locale/global} " >> $CONTAINERTEX echo "\usepackage{i/locale/"${LANGUAGE}"} " >> $CONTAINERTEX echo " " >> $CONTAINERTEX echo "\setlength\topmargin{-.055\paperwidth} " >> $CONTAINERTEX echo "\setlength\oddsidemargin{-.01525\textwidth} " >> $CONTAINERTEX echo "\setlength\textheight{8.45\universalgrid} " >> $CONTAINERTEX echo "\setlength\textwidth{3.0\universalgrid} " >> $CONTAINERTEX echo "\setlength\parindent{0pt} " >> $CONTAINERTEX echo "\setlength\columnsep{20pt} " >> $CONTAINERTEX echo " " >> $CONTAINERTEX echo "\renewcommand{\mengentextsize}{\normalsize\scalefont{1.12}} " >> $CONTAINERTEX echo "\renewcommand{\spaceabovepoitiers}{-.23} " >> $CONTAINERTEX echo "\renewcommand{\spacebetweensponsorlogos}{\hspace{.001\universalgrid}} " >> $CONTAINERTEX echo " " >> $CONTAINERTEX echo "\renewcommand{\makearturl}[1]{{\scalefont{7.11}{ #1}}} " >> $CONTAINERTEX echo "\renewcommand{\freedompath}{free} " >> $CONTAINERTEX echo " " >> $CONTAINERTEX echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% " >> $CONTAINERTEX echo " " >> $CONTAINERTEX echo "\begin{document} " >> $CONTAINERTEX echo "\begin{minipage}[b][.93\paperheight][t]{\textwidth} " >> $CONTAINERTEX echo " \drawcanvas " >> $CONTAINERTEX echo " \vfill " >> $CONTAINERTEX echo " \smallinfo " >> $CONTAINERTEX echo " \begin{center} " >> $CONTAINERTEX echo " \biginfo " >> $CONTAINERTEX echo " \end{center} " >> $CONTAINERTEX echo " \footer " >> $CONTAINERTEX echo "\end{minipage} " >> $CONTAINERTEX echo "\end{document} " >> $CONTAINERTEX pdflatex -output-directory $OUTPUTDIR $CONTAINERTEX PDFNAME=chmod+x_$LANGUAGE--$FILENUMBER.pdf ########################################################### SUBJECT="This is a poster created for chmod +x 2010." INFO=\ "Built with LaTeX,Processing and BASH, \ for more information visit http://www.forkable.eu . \ Possible Keywords: \ generative, design, linux, sign, chmod +x" ########################################################### echo "InfoKey: Title" > $PDFMETA echo "InfoValue: $PDFNAME" >> $PDFMETA echo "InfoKey: Subject" >> $PDFMETA echo "InfoValue: $SUBJECT" >> $PDFMETA echo "InfoKey: Keywords" >> $PDFMETA echo "InfoValue: $INFO" >> $PDFMETA echo "InfoKey: Author" >> $PDFMETA echo "InfoValue: LAFKON Publishing" >> $PDFMETA ########################################################### pdftk $OUTPUTDIR/${CONTAINERTEX%%.*}.pdf update_info $PDFMETA \ output $OUTPUTDIR/$PDFNAME rm $OUTPUTDIR/${CONTAINERTEX%%.*}.pdf rm $CONTAINERTEX; rm $TMPDIR/allscriptrelatedurls.list else echo The File chmod+x_$LANGUAGE--$FILENUMBER.pdf already exists fi CNT=`expr $CNT + 1` done exit 0;