#zitat #bash #LaTeX #ImageMagick
Heute möchte ich mal kurz erklären, wie ich die Grafiken für die Zitate im Blog erstelle und die Veröffentlichung vorbereite. Dazu nutze ich die Prozesskette bash
-Skript → LaTeX (pdflatex
) → ImageMagick (convert
,mogrify
)
Nach Auswertung der Parameter (siehe README) erzeugt das Skript eine LaTeX-Datei (HERE-Dokument) – aus der pdflatex
eine PDF-Datei erstellt – und filename.wp
als Vorlage für WordPress. Mithilfe der ImageMagick-Tools convert
und mogrify
erfolgt die Umwandlung der PDF-Datei in eine HiRes-JPG-Datei, die abschließend in eine “gute” JPG-Datei für den Blog umgewandelt wird (300dpi, ca. 600*300). Life Can Be So Easy! 😉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
#!/bin/bash # version="v1.1 (2017/05/15)" work_dir="/cygdrive/c/Users/Josef/Documents/TeX/Projekte/Zitat" # check_prog() { hash "$1" 2>/dev/null || { echo -e "\n$1 is not installed.\nAborting." >&2; exit 1; } } # check_prog date check_prog cut check_prog sed check_prog pdflatex check_prog convert check_prog mogrify # cite="$1" author="$2" author_bio="$3" date="$4" date_default=$(date +'%Y%m%d') year=$(date +'%Y') month=$(date +'%m') # author_hashtag=$(echo "$author" | cut -d '(' -f1 | sed -e 's/ //g') author_wp=$(echo "$author" | sed -e 's/--/-/g') if [ -z "$date" ] then date="$date_default" fi # tex_file="${date}.tex" # cd "$work_dir" cat >"$tex_file" <<EOF \documentclass[border=10pt]{standalone} \usepackage[german]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{textcomp} \usepackage[german=guillemets]{csquotes} \usepackage[osf]{libertine} \usepackage{microtype} \begin{document} \libertineSB \vbox to 7\baselineskip{\vfil\hbox to 6cm{% \parbox{6cm}{\enquote{% $cite% }% \medskip\footnotesize% \hfill $author% \hfill $author_bio% }} \vfil}% \end{document} EOF # cat >"${date}.wp" <<EOF <p style="text-align: right;">#Zitat #$author_hashtag</p> <hr /> <img class="aligncenter" src="https://www.kleberj.de/wp-content/uploads/${year}/${month}/${date}.jpg" alt="$cite - $author_wp - $author_bio" /> <hr /> <blockquote>$cite</blockquote> <p style="text-align: right;">$author_wp $author_bio</p> EOF # pdflatex "$tex_file" convert -units PixelsPerInch -density 2400 "${date}.pdf" "${date}.jpg" mogrify -units PixelsPerInch -density 300 -resize 10% "${date}.jpg" rm *.tex *.log *.aux *.pdf exit 0 |
README
zitat 'zitat' 'Autor (Lebenszeit)' 'Autorinfo' '[filename]'
erzeugt eine JPG-Datei mit dem Zitat sowie die Datei filename.wp zur Übernahme in
Wordpress. Der Parameter `filename` ist optional; per default ist `filename` mit dem
aktuellen Datum im YYYYMMDD-Format besetzt.
Beispielsweise erzeugt der Aufruf die folgende Grafik
zitat 'Willst du den Charakter eines Menschen erkennen, so gib ihm Macht.'
'Abraham Lincoln (1809--1865)' 'amerikanischer Politiker' 20170512
sowie diese Wordpress-Vorlage:
<p style="text-align: right;">#Zitat #AbrahamLincoln</p> <hr /> <img class="aligncenter" src="https://www.kleberj.de/wp-content/uploads/2017/05/20170512.jpg" alt="Willst du den Charakter eines Menschen erkennen, so gib ihm Macht. - Abraham Lincoln (1809-1865) - amerikanischer Politiker" /> <hr /> <blockquote>Willst du den Charakter eines Menschen erkennen, so gib ihm Macht.</blockquote> <p style="text-align: right;">Abraham Lincoln (1809-1865) amerikanischer Politiker</p>