CiteSeeing (deutsch)

Worum handelt es sich?

CiteSeeing ist ein Programm, um SharePics von Zitaten aus Büchern vor dekoriertem Hintergrund zu erstellen, um sie auf Social Media zu teilen. Es ist inspiriert durch Canva, aber nutzt LaTeX, und außerdem von SPBuchsatz, einer auf LaTeX basierenden Software von Karl-Heinz Zimmer, um deutsche Bücher zu setzen.

Link zur Software mit Installationsanleitung und so.

Einige hübsche Beispiele

Hier seht ihr einige Beispiele für Sharepics, die ich mit dieser Software gebaut habe. Sie werden im Laufe des Artikels jeweils nochmal auftauchen, wenn ihr die Einstellungen kennt, mit denen ihr sie erzeugen könnt.

Drei Sharepics im selben Format, ähnlich eines A-Hochformats. Alle drei zeigen mein Lieblingszitat, das ihr bald kennenlernt. Das erste Sharepic hat eine stürmische See als Hintergrund. Das Zitat hat einen Rahmen aus Ornamenten. Manche der Ornamente sind Segelschiffe. Der Text ist hellblau auf einem dunkelblauen Hintergrund.Das zweite zeigt ebenfalls das Meer als Hintergrund, aber der Kunststil ist klarer mit Lineart. Der größte Anteil des digitalen Bildes ist Unterwasser mit Sonnenstrahlen, die durch die Wasseroberfläche brechen. Es ist auch hier ein Segelboot im Hintergrund. Der Text ist dunkelgrün auf sehr hellgrünem, teiltransparentem Hintergrund, der auf jeder Seite 1cm schmaler ist als das Hintergrundbild. Er hat einen goldenen Rahmen. Der dritte Hintergrund ist eine Szene mit einer Glas-Teekanne auf einem Tisch, aber ebenso auf dem Tisch ist ein kleiner rosa Ohrensessel mit einer Person darin. Der Text ist dunkelpink auf hellblauem, teiltransparentem Hintergrund, ebenso 1cm kleiner als der Bildhintergrund, und hellpink gerahmt. Am Rahmen oben rechts sind Musiknoten und so, und unten rechts im Rahmen dampft eine pinke Tasse.

Haupt-Nachteile

CiteSeeing bastelt Dateien des Typs pdf, keine Bilddateien. Ihr werdet sie konvertieren müssen. Dazu könnt ihr gimp, krita, die meisten Bildverarbeitungs-Softwares oder ein Konvertierungstool wie Magick nutzen. Ich nutze

magick -density 300 input.pdf output.png

auf der Kommandozeile.

Voreinstellungen (bisschen technisch)

Ihr erzeugt euer Sharepic aus einer Datei, in der ihr die Farben, Dekorationen und den Text wählt. Eine minimale Datei, in der ihr nichts selbst auswählt, sieht so aus:

\input {preamble.tex}
\input {montage.tex}

Und kreiert das folgende Bild:

Eine dunkelblaue Fläche mit sehr hell grünem Text, der sagt, Bitte füge in die Variable \csquote in deiner SharePic.tex-Kopie dein Zitat ein. Und selbiges darüber auf Englisch.

Das Sharepic wird aus einigen minimalistischen Voreinstellungen kreiert (festgehalten in defaultdefinitions.tex). Konkret werden dort:

  • alle Dekorationen deaktiviert,
  • der Text wie im Bild gesetzt,
  • die Farben (von denen ihr nur zwei im Resultat seht, die Hintergrund- und die Vordergrundfarbe, weil keine Dekorationen enthalten sind) festgelegt,
  • die Textbreite und der Zeilenabstand gewählt
  • und spezifische Einstellungen zu Dekorationen voreingestellt, falls ihr jene aussucht aber nicht selbst feinjustiert.

Ein sinnvolles Beispiel

Die Datei SharePic.tex enhält zu jeder Auswahl, die du treffen kannst, eine Erklärung und erzeugt das folgende sinnvolle Sharepic mit meinem Lieblingszitat:

Ein SharePic mit dunkelblauem Hintergrund, einem schimmernden, blauen Rahmen, sechs Schneeflocken oben rechts und unten eine Dekoration, die an drei Wellen oder Tropfen erinnern, in verschiedenen Blautönen. Der Text ist hellblau und lautet: »Sowas kann man nicht abkönnen. Nicht, wenn man keine Herzwesen hat. Oder wenn man mal lange keine hatte. Und selbst wenn man es könnte, wieso sollte es in Ordnung sein, sich in einer Weise zu verhalten, die andere höchstens abkönnen könnten, aber die dennoch schlecht ist?« Myrie sagte dies sachlich und ruhig. Von skalabyrinth, Myrie Zange, Die Symmetrie der Schneeflocken. Es ist mein Lieblingszitat und ich werde es in den Bildbeschreibungen nicht wiederholen, sondern von meinem Lieblingszitat reden.

Um ein SharePic mit eurem eigenen Design zu erzeugen, könnt ihr die Datei kopieren, die Kopie z. B. MeinSharePic.tex nennen und den Inhalt anpassen. Vielleicht ist das schon alles, was ihr wissen müsst, aber in diesem Artikel werde ich ausführlicher und mit Beispielen über die Software reden.

Jedes Feature mit Beispiel-SharePics erklärt

In diesem langen Abschnitt werde ich jede Funktion von CiteSeeing vorstellen und euch Beispiele, Erklärungen und ein paar Tricks zeigen.

Grundfunktionen

Farben

Farben werden über ihren html Code definiert. Wenn ihr krita oder gimp benutzt und eine Farbe auswählt (in krita über das Farbauswahl-Tool oben im Menü), werdet ihr einen html Code für die ausgewählte Farbe in diesem Tool/Extra-Fenster finden (eine sechs-stellige Zahl, womöglich mit einem # am Anfang). Ihr könnt alternativ auch eure Lieblingssuchmaschine benutzen um so etwas wie “html Farbe wählen” (auf Englisch z. B. “html color picker”) zu suchen, und eine von den dann vorgeschlagenen Webseiten nutzen. Bitte kümmert euch um Accessibility/Barrierearmut und schaut nach, welche Kontraste barrierearm sind oder welche Farben für farbenblinde Leute gut gehen.

Ich nutze üblicherweise ungefähr die gleiche Farbe in verschiedenen Helligkeitsabstufungen und wähle einen Kontrast zwischen Text und Hintergrund, der so hoch wie möglich ist unter der Bedingung, dass er mir nicht in den Augen wehtut.

Vier Farben können festgelegt werden:

Eine Hintergrundfarbe, die für Hintergrund und Dekoration genutzt wird:

\def \bgcol {001729}

Eine Vordergrundfarbe, die für Text und Dekoration genutzt wird:

\def \fgcol {79b5e4}

Und zwei zusätzliche Farben, die ebenfalls für Dekoration genutzt werden:

\def \mgcol {0c2f4a}
\def \mgcolb {037bdb}

Die oben definierten Farben sind im folgenden Bild dargestellt:

Text: \bgcol, gefolgt von einem dunkelblauen, wenig gesättigtem Blau, Text: \fgcol, gefolgt von einem sehr hellem Blau, Text: \mgcol, gefolgt von einer Farbe zwischen den bisherigen beiden, und Text: \mgcolb, gefolgt von einem eher leuchtendem Blau.

Wenn ihr ein Sharepic erzeugen mit bloß Hintergrund in einer und Text in einer anderen Farbe erstellen wollt, wäre die folgende Datei ausreichend:

\input {preamble.tex}
\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
\def \csauthor {– skalabyrinth, Myrie
Zange\\Die Symmetrie der Schneeflocken}
\def \bgcol {001729}
\def \fgcol {79b5e4}
\input {montage.tex}

und das würde folgendes Bild erzeugen:

Mein Lieblingszitat in Hellblau auf dunkelblauem Hintergrund.

Mit Dekorationen (manchen) kommen die anderen zwei Farben ins Spiel. Zum Beispiel könntet ihr die Wellen-/Tropfen-Form wie im Beispiel oben auswählen, indem ihr \csthreewaves mit einem ‘x’ (oder einem beliebigen anderen Text außer Leerlassen) auswählt, zusammen mit den anderen beiden Farben:

...
\def \mgcol {0c2f4a}
\def \mgcolb {037bdb}
\def \csthreewaves {x}
...

(oder \def \csthreewaves {Flederfluff} – die exakte Eingabe spielt keine Rolle). Es würde diese Datei erzeugen:

Das gleiche Sharepic wie eben, aber mit drei verschieden großen Wellenformen, die sich überlappen, teils semitransparent. Die Farben sind verschiedene mittlere Blautöne und Weiß.

Wenn ihr mgcol und mgcolb vertauscht, wie hier:

...
\def \mgcolb {0c2f4a}
\def \mgcol {037bdb}
\def \csthreewaves {x}
...

sieht das Sharepic so aus:

Das gleiche Sharepic wie eben, aber die mittlere Wellenform ist auf der rechten Seite heller und die obere ist auf der rechten Seite dunkler. Es ist umgekehrt auf der linken Seite der Formen.

Vielleicht könnt ihr hier dran sehen, welchen Effekt die beiden zusätzlichen Farben auf das Sharepic haben.

Text, Autory, Titel und Überschrift

Vielleicht erinnert ihr euch, dass das Zitat über die Einstellung \def \csquote {} festgelegt werden kann: Ihr schreibt euer Zitat in die geschweiften Klammern wie hier:

...
\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
...

Wenn ihr Zeilenumbrüche im Zitat in eurer Datei habt, aber keine Zeile freilasst, dann hat es keine Auswirkungen auf das Ergebnis. Wenn ihr im Ergebnis eine neue Zeile sehen möchtet, dann könnt ihr eine Zeile freilassen, oder die Zeile mit \\ beenden.

Wir kommen zum ersten Trick: Wenn ihr eine Zeile mit \\[0.5em] abschließt, dann erzeugt es im Ergebnis eine neue Zeile mit dem angegebenen Abstand zur letzten. Dieser Abstand lässt sich mit der Zahl beeinflussen. Hier ein Beispiel. Der Code

\input {preamble.tex}
\def \csquote {Erste Zeile.\\
Zweite Zeile.\\[0.5em]
Dritte Zeile.\\
Vierte Zeile.}
\input {montage.tex}

Erzeugt dieses Ergebnis:

Ein Sharepic in den Default-Farben, nur Hintergrund und Text. Die ersten zwei Zeilen und die zweiten zwei Zeilen haben einen normalen Zeilenabstand wie Text in Büchern. Der Abstand zwischen der zweiten und dritten Zeile ist etwas größer, so wie Dialoge auf Internetseiten vielleicht.

Neben \csquote gibt es noch zwei weitere Felder für Text:

  1. \csauthor{}: Dieses Feld ist dafür gedacht, den Namen des Autorys oder der Autor*innen und vielleicht den Titel des Buchs oder der Geschichte einzutragen, zu der das Zitat gehört. Der Text wird unter das Zitat in etwas kleinerer Schrift gesetzt.
  2. \csheading{}: Dieses Feld ist für eine Überschrift gedacht, wie zum Beispiel den Buchtitel, wenn ihr ihn lieber über dem Text als darunter haben wollt. Oder für den Namen des Projekts oder der Anthologie oder sowas wie ‘Winter-Challenge’ oder ‘#PhantasticPrompts 6.12.’ oder was auch immer. Es wird über den Text in leicht größerer Schriftgröße gesetzt.

Beide Felder können eigentlich mit beliebigem Text ausgefüllt werden oder leergelassen werden. Der Code

\input {preamble.tex}
\def \csheader{Lieblingszitat:}
\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
\def \csauthor {– skalabyrinth, Myrie
Zange\\Die Symmetrie der Schneeflocken}
\input {montage.tex}

erzeugt folgendes Sharepic:

Nur Text auf Hintergrund in Default-Farben, aber es gibt eine Überschrift: Lieblingszitat, gefolgt vom Lieblingszitat, und danach, gefolgt von einem Gedankenstrich, skalabyrinth, Myrie Zange, Die Symmetrie der Schneeflocken.

Hier noch ein paar Tricks: Wenn ihr kursiven Text haben möchtet, könnt ihr den Text, der kursiv werden soll, wie folgt in einen Befehl schreiben:: \textit{example text}. Ähnliche Befehle sind:

  • \textit für kursiven Text (kursiv heißt italic auf Englisch).
  • \textbf für fett gedruckten Text (fett im Kontext von Schrift heißt bold auf Englisch).
  • \texttt für Schreibmaschinen-Schrift (Schreibmaschine heißt typewriter auf Englisch).
  • \textunderline für unterstrichenen Text.
  • \emph, um Text hervorzuheben (hervorheben heißt emphasising auf Englisch) – dieser Befehl tut Dinge abhängig vom Kontext.

Ihr könnt mehrere dieser Befehle ineinander verschachteln.

Ihr könnt außerdem mit den folgenden Befehlen herumexperimentieren: \tiny (winzig), \scriptsize (Skript-Größe), \footnotesize (Fußnotengröße), \small (klein), \normalsize (normalgroß), \large (groß), \Large (groß, aber großgeschrieben), \LARGE (groß, aber Capslock), \huge (riesig) and \Huge (riesig, aber großgeschrieben) mit geschweiften Klammern um den Teil des Texts herum, von dem ihr die Schriftgröße verändern wollt. Aber diese Befehle arbeiten potenziell nicht gut zusammen mit Voreinstellungen, also seid vorsichtig. Es könnte schlecht aussehen oder Fehler erzeugen.

Textbreite und Zeilenabstand

Im Gegensatz zu dem, was ich gerade erklärte, existiert keine vorgesehene Option, die Schriftgröße zu beeinflussen. Der Grund dafür ist, dass die produzierte pdf-Datei kein spezifisches Format wie A5 oder was auch immer hat. Es ist eine Vektor-Grafik, die wie gewünscht skaliert werden kann.

Es gibt allerdings Optionen, um die Breite des Textblocks und den Zeilenabstand festzulegen:

\def \cstxtwidth {6.2cm}
\def \cstxtspacing {1.5em}

Eine gute Wahl für die Textbreite ist zwischen 5cm und 30cm, aber es ist frei wählbar. Es bestimmt außerdem, wie groß das Sharepic wird.

Allerdings gibt es einen Spezialfall (bisher): Wenn als Hintergrund ein Bild gewält wird statt eines (gegebenenfalls dekorierten) Farbhintergrunds, wird die Größe des Sharepics durch jenes bestimmt statt durch die Textbreite. In diesem Fall muss eine gute Textbreite abhängig vom ausgewählten Hintergrundbild gesucht werden. Andernfalls wird der Text nicht gut aufs Bild passen. Ihr werdet ein wenig experimentieren müssen. Dann wiederum ist es sinnig, in jedem Fall etwas mit der Textbreite abhängig vom jeweiligen Text rumzuprobieren: Ihr mögt eine Textbreite finden, bei der keine großen Lücken zwischen den Wörtern entstehen.

Die Einheit des Zeilenabstands hängt (soweit ich das verstehe) von der Schriftgröße ab. Das heißt, wenn ihr über so einen Befehl wie \large den Text größer macht, wächst der Zeilenabstand entsprechend mit.

Nun kennt ihr die absoluten Grundfunktionen des Programms.

Beispiel-Code 1

Für alle folgenden Beispiele ich das Zitat- und Autory-Feld gleich ausgefüllt benutzen. Für den Teil über Hintergrund-Dekorationen und Rahmen werde ich die Farben aus der Datei SharePic.tex nutzen, wie auch im Abschnitt über Farben definiert. In dem Abschnitt gibt es sogar ein Bild, das die vier Farben zeigt. Der Teil-Code, der im folgenden gleich bleibt, sieht so aus:

\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
\def \csauthor {– skalabyrinth, Myrie
Zange\\Die Symmetrie der Schneeflocken}
\input {preamble.tex}
\def \bgcol {001729}
\def \fgcol {79b5e4}
\def \mgcol {0c2f4a}
\def \mgcolb {037bdb}
...
% additional options
...
\input {montage.tex}

Ich nenne diesen Code-Teil Beispiel 1, und werde mich so darauf beziehen. Zusätzliche Optionen, über die ich im Folgenden reden werde, kommen dorthin, wo % additional options im obigen Code-Block steht (es heißt “weitere Optionen” auf Deutsch).

(Es ist quasi das gleiche wie SharePic.tex, reduziert aufs Minimum, und ohne die Wellen.)

Hintergrundbild

Mit dem Feld \def \csbackgroundimage{} könnt ihr euch entscheiden, ob ihr ein Hintergrundbild oder einen einfarbigen Hintergrund haben wollt. Anders als die bisher eingeführten Felder darf in diesem Feld nicht einfach irgendwas stehen, sondern es muss ein Pfad zu eurem Hintergrundbild sein. Ein Beispiel-Hintergrundbild befindet sich im Ordner img (und es handelt sich um eines meiner liebsten Fotos). Wird dieses eingebunden, würde der zusätzliche Code so aussehen:

...
\def \csbackgroundimage{img/backgroundlr.jpg}
...

Das Bild wird in Originalgröße verwendet, das heißt, ihr könnt die Größe des Sharepics festlegen, indem ihr das gewählte Hintergrundbild mit eurem Lieblings-Graphik-Programm entsprechend skaliert. Ich habe diesen Ansatz aus zwei Gründen gewählt:

  1. Wenn ihr eine extre große Bilddatei habt, würde die pdf-Datei mehrere MegaBytes groß werden, ohne einen sinnvollen Grund.
  2. Es wäre eine weitere Option, die bestimmt werden muss.

Vielleicht werde ich es in Zukunft ändern, je nachdem, was sich Nutzende wünschen.

Wie zuvor erklärt, bestimmt normalerweise die Textbreite die Größe des Sharepics, außer, es gibt ein Hintergrundbild. In letzterem Fall bestimmt die Größe jenes Bildes die des SharePics. Auf diese Weise würde Beispiel 1 ergänzt mit folgendem Code:

...
\def \cstxtwidth {15cm}
...

dieses sehr breite Sharepic ergeben:

Lieblingszitat in hellblau auf dunkelblauem Hintergrund. Das Bild ist ungefähr zweimal so breit wie hoch.

Während das Beispiel 1 ergänzt mit der gleichen Textbreite und einem Hintergrundbild

...
\def \cstxtwidth {15cm}
\def \csbackgroundimage{img/backgroundlr.jpg}
...

das folgende Sharepic ergibt (Anmerkung: Für die Homepage skaliere ich alle Bilder auf eine Einheitsbreite, sodass die Bilder nicht die Originalgröße repräsentieren.):

Lieblingszitat in hellblau auf einem Hintergrundbild mit einer hölzernen Brücke über aufgewühltem Wasser in einem Wald. Ein kleines Haus im Hintergrund. Alles ist alt und moosig. Das Sharepic ist etwa doppelt so hoch wie breit. Der Text hat allerdings die gleichen Ausmaße wie im Bild zuvor, was bedeutet, dass der größte Teil des Textes nichtmal sichtbar ist, sondern links und rechts abgeschnitten. Darüber hinaus ist der Text schwer lesbar, weil der Kontrast sehr schlecht ist.

Ihr seht, es gibt hier zwei Probleme:

  1. Ihr müsstet eine andere Textbreite wählen, die zu den Bildausmaßen passen.
  2. Ihr müsstet auch irgendeinen Farbhintergrund hinter dem Text für einen guten Kontrast wählen.

Hier ist ein einfaches Beispiel, das ganz gut funktioniert:

...
\def \cstxtwidth {6.2cm}
\def \csbackgroundimage{img/backgroundlr.jpg}
\def \cssimpleshadow {x}
...

Daraus ergibt sich folgendes Sharepic:

Das gleiche Hintergrundbild, aber nun ist der hellblaue Text auf einer dunkelblauen, semitransparenten Fläche, die ungefähr so groß wie der Text selbst ist.

Für die meisten Hintergründe würde ich die Option \csframeshadow {} empfehlen. Das ist ein Schatten, der auf jeder Seite 1cm kleiner als das Hintergrundbild ist. Ich würde ihn besonders dann empfehlen, wenn ihr zusätzlich einen Rahmen auswählt, aber mehr dazu später.

Derzeit wähle ich meist 90dpi als Auflösung für Hintergrundbilder, was sehr wenig ist. Es reicht bisher für meine Bedürfnisse.

Schatten

Es gibt bisher drei Typen von Schatten. Da wir Schatten sehr viel benutzen werden, werde ich hier nur kurz die Befehle erklären.

  • \cssimpleshadow erzeugt einen Schatten, der nur kaum größer als der Text ist. Es ist quasi ein semitransparentes Rechteck in Hintergrundfarben. Wenn ihr eine Graphik hinter dem Text habt (das ist was anderes als das Hintergrundbild, siehe später), dann ist dieser Schatten passend.
  • \csblurryshadow erzeugt einen Schatten derselben Größe, ebenfalls semitransparent in Hintergrundfarbe, allerdings hat dieser Schatten einen zusätzlichen verschwommenen Schatten. Er ist für die Nutzung mit Hintergrundbildern gedacht. (Eigentlich wollte ich einen Schatten mit verschwommenen Kanten haben, aber ich war unerfolgreich. Ich kriege es nicht hin, verschwommene Rechtecke zu erzeugen, ähnlich wie den verschwommenen blauen Kreis aus der Dokumentation. Der Befehl \tikzfading macht Unfug, und wenn ich die Option transparent nutze, dann verblasst die Farbe nicht, sondern geht stattdessen in schwarz über. Wenn ihr Ideen habt, sagt gern Bescheid.)
  • \csframeshadow erzeugt einen Schatten wie den zuvor mit dem Extra-Schatten, aber in der Größe des Rahmens, ob ein Rahmen ausgewählt wurde oder nicht. Das heißt, er ist 1cm kleiner als das Resultat-Bild auf jeder Seite. Er ist auch für die Nutzung mit Hintergrundbildern gedacht, besonders, wenn zusätzlich auch ein Rahmen gewählt wird.

Rahmen

Bis jetzt sind Rahmen vielleicht eines der zwei Hauptaufgaben dieser Software. Es gibt die folgenden Optionen:

  • Ein schimmernder Rahmen: \csshinyframe {}.
  • Ein massiver Rahmen: \csmassivframe {}
  • Ein Ornament-Rahmen: \csornamentframe {}
  • Ein anderer Ornament-Rahmen mit Ecken: \csornamentframecorners {}
  • Ein Fußspur-Rahmen: \csfeetframe {}

Schimmernder und massiver Rahmen:

Die ersten beiden Optionen sind die einfachsten, denn sie haben nicht so viele Unter-Optionen. Der schimmernde Rahmen ist leicht mit einem Farb-Gradienten. Der massive Rahmen wirkt eher schwer, vielleicht wie ein Rahmen eines Gemäldes, und ihr solltet für eine gute Wirkung eine strahlende Farbe für \mgcolb wählen.

Im folgenden ist auf der linken Seite das Ergebnis für \csshinyframe {x} und auf der rechten das für \def \csmassivframe {x} zu sehen:

Lieblingszitat in hellblau auf dunkelblauem Hintergrund. Auf der linken seite in einem Rahmen, der oben links weiß und unten rechts mittelblau ist. Er wirkt ein wenig semitransparent. Der Rahmen auf der rechten Seite ist eher dunkel. Es ist ein Rahmen mit mittelblauen Umrandungslinien, zwischen denen hellere und dunklere Schattierungen eines Blaus schimmern, sodass es metallisch wirkt.

Wenn für \mgcol und \mgcolb Farben wie gelb und beige oder braun genutzt werden, macht der Rahmen as der \csmassivframe-Option den Eindruck, aus Gold zu sein.

Ornament-Rahmen

Ornament-Rahmen bestehen aus Ornamenten aus der pgfornament-Bibliothek. Es gibt Ornamente für Ecken und Kanten. Die Kanten eines Ornament-Rahmens bestehen aus sich wiederholenden Ornamenten.

Ihr könntet für das Kanten-Ornament \csornamentedge{85} wählen und für das Eck-Ornament \csornamentvertex{41}.

Mit den Extra-Optionen \csornamentrepeatx{4} und \csornamentrepeaty{4} lässt sich einstellen, wie oft sich das Kanten-Ornament wiederholt.

Eine vollständige Liste aller Ornamente mit zugeordneten Nummern befindet sich in der Datei ornamentlist.pdf im Ordner ‘docs’. Falls ihr Spaß haben wollt, könntet ihr auch 6 Eulen pro Kante als Rahmen nutzen (für das folgende Bild habe ich eine mittlere Farbe mit mehr Kontrast gewählt):

...
\def \mgcol {b2b7ff}
\def \csornamentedge{123}
\def \csornamentrepeatx{6}
\def \csornamentrepeaty{6}
\def \csornamentframe {x}
...

Das würde das folgende Bild erzeugen:

Hellblaues Lieblingszitat auf dunkelblauem Hintergrund. Sehr hellblaue Eulen bilden ein Rechteck um den Text herum. Ihre Köpfe zeigen zum Text und mit ihren ausgebreiteten Flügeln und ihrem Kopf bilden sie beinahe eine gerade Linie innen. Auf diese Art sieht der innere Teil tatsächlich wie ein Rahmen aus, während der äußere Teil eher ein Zickzack-Muster hat.

Eine sinnigere Wahl könnten einfachere Ornamente wie diese sein:

...
\def \csornamentedge{47}
\def \csornamentframe {x}
...

Das folgende Bild zeigt, was der obige Code mit den folgenden Zahleneingaben für \csornamentedge erzeugen würde:

Obere Zeile, links nach rechts: 47, 49, 84, untere Zeile, links nach rechts: 85, 87, 88.

Sechs Sharepics, gleiches hellblaues Lieblingszitat auf dunkelblauem Hintergrund. Die Rahmen sind mittelblau, nicht so hoher Kontrast. Die obere Reihe, links nach rechts: 1: Kringel, 2. auch Kringel, aber sie machen Herzformen, 3: ein weniger geschwungenes Muster mit paralellen Linien und einem Kreis. Zweite Reihe: 1: Sehr einfach und leicht geschwungen, 2: Blätter, 3: auch einfach, beinahe nur eine dicker und dünner werdende Linie

Ornament-Rahmen mit Ecken funktionieren sehr ähnlich, außer, dass auch ein Eck-Ornament gewählt werden muss. Die Einstellungen sehen so aus:

...
\def \csornamentvertex{41}
\def \csornamentedge{85}
\def \csornamentframecorners {x}
...

Diese Einstellung (zusammen mit denen aus Beispiel 1 für diesen ganzen Abschnitt) erzeugen das folgende Sharepic:

Gleiche Farbtöne, gleicher Text. Der Rahmen hat geschwungene Linien mit Herzen als Ecken. Die Kanten bestehen aus dem wenig geschwungenen, einfach dünnem Ornament

Zum Abschluss des Abschnitts über Ornament-Rahmen möchte ich ein vollständiges Beispiel eines Sharepics zeigen, dass ich tatsächlich so verwende, mit einem Hintergrundbild, das hier heruntergeladen werden kann:

\input {preamble.tex}
%
\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
\def \csauthor {– skalabyrinth, Myrie
Zange\\Die Symmetrie der Schneeflocken}
%
\def \cstxtwidth {5.0cm}
\def \cstxtspacing {1.2em}
%
\def \bgcol {0c2434}
\def \fgcol {a4b9c8}
\def \mgcol {b0c3d4}
\def \mgcolb {74a8fa}
%
\def \csbackgroundimage{mycode/sWASUSbg.png}
%
\def \csmassivframe {x}
\def \csframeshadow {x}
%
\def \csornamentedge{75}
\def \csornamentvertex{127}
\def \csornamentrepeatx{1}
\def \csornamentrepeaty{12}
\def \csornamentframecorners {x}
%
\input {montage.tex}

Das Hintergrundbild ist ein digitales Gemälde einer stürmischen See mit grauen Wolken. Das Lieblingszitat ist sehr hellgrau und steht auf einem gräulich dunkelblauem semitransparentem Hintergrund auf dem Bild. Der Hintergrund des Text füllt den Rahmen aus. Es ist ein Ornamentrahmen mit einigen wellenartigen Schnörkeln an den Kanten. Oben und unten ist jeweils nur eines davon, sodass das Ornament dort jeweils recht groß wird. Links und rechts sind je 12 Ornamente. Die Eck-Ornamente sind Schiffe. Hinter dem Ornament-Rahmen ist ein anderer Rahmen, der massive Rahmen. Er schimmert wie Stahl durch die Ornamente hindurch.

Fußspur-Rahmen

Schließlich könnt ihr einen Rahmen aus Fußspuren wählen. Dazu habe ich die TikZ-Bibliothek decorations.footprints verwendet. Aus ihr ergeben sich die folgenden Optionen:

  • bird für Vogel,
  • felis silvestris (was so viel heißt wie “europäische Wildkatze”),
  • gnome für Gnom,
  • und human für Mensch (was der Default ist, das heißt: Wenn ihr irgendeinen anderen Text in die Klammern setzt als eines der in den ersten Stichpunkten aufgeführten Wörter, wird es ein Menschen-Fußspur-Rahmen.)

Der Beispielcode 1 ergänzt mit diesem Befehl

...
\def \csfeetframe {human}
...

würde folgendes Sharepic ergeben:

Text und Hintergrundfarbe wie üblich. Kleine barfüßige menschliche Fußspuren spazieren in einem Rechteck um den Text.

Alle anderen, von links nach rechts: Vogel, felis silvestris und Gnom, sehen so aus:

Die anderen Fußspuren sind von einem Vogel, von sowas wie einer Katze, und Fußspuren ähnlich menschlichen, aber mit sehr kurezen Füßen.

Symbole und Graphiken hinter dem Text

Worum geht es?

In diesem Abschnitt gehe ich Dinge ein bisschen anders an als im letzten. Statt alles der Reihe nach durchzugehen, werde ich meine Coding-Ziele darlegen und erzählen, wie ich zurechtkam. Ich denke, das wird euch einen guten Eindruck verschaffen sowohl, wie die Software funktioniert, als auch wie sie zustande kam.

Graphik hinter dem Text

Ich habe das Projekt zunächst mit dem Ziel begonnen, ein SharePic nachzuahmen, das mit der Software Canva erstellt worden ist. Ähnlich, aber besser. Das Sharepic bestand aus:

  • einem Text, einem Titel der Geschichte und einem Autory,
  • dreimal der gleichen abstrakten Form zwischen Tropfen und Welle in goldenen Farben (dazu kommen wir später),
  • einem goldenen Rahmen,
  • und hinter dem Text war ein Dolch in einfarbiger Line-Art, teils hinter einer semitransparenten grünen Fläche, um den Text mehr Kontrast zu schenken.

Mein erster Zwischenschritt war, diesen Dolch mit einem Farb-Auswahl-Tool aus dem Sharepic zu extrahieren. Ich habe ihn ausgeschnitten, neu eingefärbt, um die veränderten Farben durch die Überschneidung mit dem semitransparenten Layer zu reparieren, und schließlich habe ich ihn hinter meinen Text als Bild ins Sharepic eingefügt. Ich werde das Ergebnis nicht zeigen, weil ich keine Ahnung über Lizensen bezüglich dieses Bildes habe. Im nächsten Schritt habe ich mit krita selbst einen Dolch gemalt, an dem ich alle Rechte habe, um ihn hinter dem Text einzufügen. (Aus diesem Grund findet ihr eine Datei dolch.png mit einer sehr unprofessionell gezeichneten Beispiel-Graphik im Ordner ‘img’.) Es ist nicht schön, aber so sieht’s aus:

Beispiel Code 1, ergänzt mit diesem Zeilen:

...
\def \csgraphic {img/dolch.png}
\def \cssimpleshadow {x}
\def \csshinyframe {x}
...

Lieblingszitat in Hellblau auf Dunkelblau. Schimmernder Rahmen. Hinter dem Text ist ein schlecht gezeichneter, gelber Dolch. Zwischen dem Dolch und dem Text befindet sich eine semitransparente Ebene in der Hintergrundfarbe, die ein wenig der Helligkeit der Dolch-Zeichnung abdämpft, sodass der Text besser lesbar ist. Der Dolch ist nicht vollständig hinter dieser Ebene, sodass der obere und untere Teil doller gelb hervorscheint, wo kein Text mehr ist.

Wie dargelegt, kann mit der Option \csgraphic eine Hintergrundgrafik festgelegt werden, die hinter dem Text erscheint. Ähnlich wie bei \csbackgroundimage darf nicht einfach irgendwas im Feld stehen, sondern der Pfad zur Bilddatei. Im Gegensatz zu \csbackgroundimage bestimmt die Option \csgraphic nicht die Größe des Bildes, und es gibt sogar eine Option, um die Größe der Grafik festzulegen:

\def \graphicSize {8cm}

8cm ist eine gute Wahl für Zitate, die nicht extrem lang sind, also ist diese Breite als Default festgelegt.

Unicode-Symbole hinter dem Text

Die Grafik hinter dem Text war einfarbig, und das brachte mich auf eine Idee: Es gibt ein Dolch-Emoji, und es gibt Fonts, in denen alle Emoji in schwarz-weiß encodet sind (allerdings habe ich später herausfinden müssen, dass sie nicht einfach zu finden sind). Meine Idee war, eine Option zu bauen, Unicode-Symbole hinter dem Text zu platzieren, gedacht für einfarbige Emojis. Das war ein Pfad mit vielen, vielen Stunden Suche ohne eine schöne, einfache Lösung. (Auf dem Weg habe ich beschlossen, zu lualatex zu wechseln, statt weiterhin pdflatex als Kompilations-Tool zu nutzen, weil es vielversprechend klang, dass lualatex mit mehr Optionen zu Fonts und Symbolen daherkommt, aber am Ende hat es nicht geholfen. Ich bin trotzdem bei lualatex geblieben, weil die Software so noch ähnlicher zu SPBuchsatz funktioniert.)

Zuerst habe ich allerdings tatsächlich eine Möglichkeit gebaut, Unicode-Symbole hinter den Text zu setzen, – nur wenn diese im Font enthalten sind –, und zwar so:

...
\def \csbgsymbol {†}
\def \mgcol {e1c062} % hellgelb
\def \csbgsymbolangl {20}
\def \cssimpleshadow {x}
\def \csshinyframe {x}
...

Hellblaues Lieblingszitat auf dunkelblauem Hintergrund. Schimmernder Rahmen, aber in Gelb. Hinter dem Text ist ein Symbol, das wie eine Mischung aus Dolch und dem Kreuz-Symbol aus Kartenspielen aussieht. Der semitransparente Layer verdeckt das Symbol fast vollständig.

In den Befehl \csbgsymbol kann ein Unicode-Symbol ge-copy-pasted werden, das hinter dem Text gezeigt werden soll. Leider habe ich nicht viele gefunden, die mit den typischen LaTeX-Fonts funktionieren. Tatsächlich nur: †, ‡ ∢.

Das erste heißt tatsächlich Dolch, und weil ein Dolch eine Option war, die ich wollte, habe ich diesen Teil des Codes behalten.

Der Befehl \csbgsymbolangl rotiert das Symbol. Die Einheit ist so, dass 360 eine volle Rotation bedeutet, und die Drehung geht gegen den Uhrzeigersinn.

Die anderen Befehle sind zuvor schon erklärt worden.

TikZ- und Marvo-Symbole hinter dem Text

Mein Problem bestand fort, einen Weg zu finden, Unicode-Symbole mit einfarbigen Emojis hinter dem Text zu platzieren. Ich wusste, dass Minecraft ein Font mit einfarbigen Emojis hat, aber dieses Font ist höchstwahrscheinlich nicht offen und ich weiß auch nicht, wie ich ihn in LaTeX laden könnte.

Während der Suche stolperte ich über zwei Bibliotheken mit hübschen Symbolen:

Beide haben einen Befehl für \Coffeecup (Kaffee-Tasse), das ein Symbol erzeugt, das entsprechend eine Kaffee-Tasse darstellt. Um mit diesen Symbolen zu arbeiten, wird nicht das Symbol copy-pasted, sondern stattdessen der Befehl für das jeweilige Symbol eingefügt, wie hier (das ist der gleiche Code wie oben, nur das Dolch-Symbol ist durch den \Coffeecup-Befehl ausgetauscht):

...
\def \csbgsymbol {\Coffeecup}
\def \mgcol {e1c062} % hellgelb
\def \csbgsymbolangl {20}
\def \cssimpleshadow {x}
\def \csshinyframe {x}
...

Gleiches sharepic wie wie oben, aber statt des Dolches mit einer Kaffee-Tasse als Symbol hinter dem Text.

Es gibt allerlei Symbole. Ihr könnt in die Dokumentationen schauen, um eine vollständige Liste zu finden. Aber hier sind einige, die ich für besonders dienlich halte:

Aus der MarvoSym-Bibliothek, von links nach rechts: \Football, \Bicycle, \Moon, \Mercury (und die anderen Planeten), \Mundus und \Bat.

Hellgelbe Symbole auf dunkelblauem Hintergrund, schimmernder Rahmen, kein Text, keine semi-transparente Ebene, nur um zu zeigen, wie die Symbole aussehen.

Und aus der TikZSym-Bibliothek, links nach rechts: \Heart, \Candle, \Coffeecup, \Fire, \Tribar, \Snowman.

Wie oben, mit den gerade genannten anderen Symbolen.

Musik-Symbole hinter dem Text

Ich habe ein anderes ToDo vorziehen wollen, um später zu Symbolen zurückzukehren: Ich wollte Musik-Notation als Dekoration haben. Da habe ich mir überlegt, Musik-Notation eignet sich auch als Symbol hinter dem Text.

Also habe ich die musicography- Bibliothek geladen, die Viertel, Achtel, Schlüssel und all sowas enthält. Aber für den Violin- und Bassschlüssel waren es leider nicht einfach Befehle. Siehe musicography-Dokumentation für Einzelheiten.

Ich habe einen Befehl für einen sinnvoll großen Violin- und Bassschlüssel aus der Bibliothek zusammengebastelt, sodass diese nun auch als Symbol hinter dem Text genutzt werden können.

...
\def \csbgsymbol {\musViolinKey}
\def \mgcol {e1c062} % hellgelb
\def \cssimpleshadow {x}
\def \csshinyframe {x}
...

Das gleiche Sharepic wie oben mit nur einem Symbol hinter dem Text. Es ist der Violinschlüssel. Er ist leicht nach rechts verschoben und nicht rotiert.

Hier wieder eine Auswahl nützlicher Symbole aus der musicography-Bibliothek, links nach rechts: \musFlat, \musSharp, \musNatural, \musWhole, \musHalf, \musQuarter, \musEighth, \musHalfDotted, \musQuarterDotted, \musViolinKey, \musBassKey.

Hellgelbe Symbole auf dunkelblauem Hintergrund, schimmernder Rahmen, kein Text, keine semitransparente Ebene. Die oben aufgelisteten Symbole.

Fortgeschrittener Trick: Wenn ihr weitere Symbole wie die Notenschlüssel haben möchtet, die nicht mit einem einfachen Befehl funktionieren, könnt ihr einen Blick in die Präambel preamble.tex werfen. Ich habe zum Beispiel diese Code-Zeilen geschrieben, um den Violinschlüssel-Befehl \musViolinKey zu definieren:

\NewDocumentCommand{\musViolinKey}{}
{\musSymbol{0.955em}{0.55ex}{0pt}{\symbol{71}}}

Ich habe die Zeile aus der Doku kopiert und etwas angepasst, um ihn zu erhalten. Ihr könnt auf ähnliche Art eure eigenen Befehle mit anderen Zahlen basteln.

Allerdings: Wenn ihr die Software neu herunterladet, dann müsstet ihr entsprechend preamble.tex jedes Mal wieder anpassen. Wenn ihr euer Symbol definiert habt, schickt mir gern die Code-Zeilen und ich werde sie dem Code dauerhaft beifügen. (Das gleiche gilt für selbstgebaute Ornament-Symbole, wie ich sehr bald erklären werde.)

Ding-Symbole hinter dem Text

Ich kehrte zurück zur Suche nach einer Lösung für Emoji-Symbole, für einen Font für LaTeX für solche in einfarbig, hinter dem Text. Unerfolgreich. Ich habe es sogar hingekriegt, Noto-Fonts mit Emojis zu nutzen, aber diese waren so bunt, und ich mochte das nicht. Der Font dejavu hat einige einfarbige Emojis, aber es waren nur Smilys.

Aber auf meiner Suche stolperte ich als nächstes über pifont mit dem Befehl ding. Diese Möglichkeit bietet wenigstens einige Unicode-Symbole, die vorher nicht zugänglich waren.

Der Code sieht dann so aus:

...
\def \csbgsymbol {\ding{73}}
\def \mgcol {e1c062} % hellgelb
\def \cssimpleshadow {x}
\def \csshinyframe {x}
...

Das gleiche Beispiel für Hintergrund-Befehle wie bisher. Das Symbol ist ein nicht ausgefüllter Stern mit einer verschieden dicken Umrandung.

Ich mag diese Implementierung nicht sonderlich, weil man in einer Tabelle nachschauen muss, welches Symbol welche Nummer hat, und weil es ein Befehl ist, der in einen anderen Befehl eingefügt werden muss, in der Definitions-Datei. Ich wollte die Software einfacher halten. Aber so ist es halt. Hier ist eine Liste nützlicher Symbole:

  • Stifte und Federn: 46: ✎, 47: ✏, 48: ✐, 49: ✑, 50: ✒,
  • Symbole mit 4-Symmetrie: 66: ✢, 67: ✣, 68: ✤, 69: ✥, 70: ✦, 71: ✧,
  • Fünfzackige Sterne: 72: ★, 73: ✩, 74: ✪, 75: ✫, 76: ✬, 77: ✭, 78: ✮, 79: ✯, 80: ✰,
  • Mehrzackige Sterne und Sonnen: 82: ✲, 83: ✳, 84: ✴, 85: ✵, 86: ✶, 87: ✷, 88: ✸, 89: ✹, 90: ✺,
  • Andere sternartige Symbole: 91: ✻, 92: ✼, 93: ✽, 94: ✾, 95: ✿, 96: ❀, 97: ❁, 98: ❂, 99: ❃,
  • Schneeflocken und ähnliche Symbole: 100: ❄,101: ❅,102: ❆,103: ❈,104: ❉,105: ❊,106: ❋,107: ❇.

Weitere ding-Symbole können auf Wikipedia eingesehen werden.

Fazit zu Symbolen hinter dem Text

Ihr seht, mit dem Befehl \cssymbol können auf allerlei Arten Symbole hinter den Text platziert werden. Die drei verschiedenen Notationen sehen so aus:

  • \def \cssymbol{†},
  • \def \cssymbol{\Coffeecup} oder \def \cssymbol{\musViolinKey},
  • \def \cssymbol{\ding{73}}.

Und noch mehr: Ornamente hinter dem Text

In der Ornament-Bibliothek (im Abschnitt über Rahmen bereits eingeführt) gibt es wunderschöne Symbole, und ich zögerte nicht, auch diese auf ähnliche Art wie die Musik-Symbole hinter den Text zu setzen. Ich wollte auch hierfür das Feld \cssymbol nutzen, aber das hat nicht gut geklappt, weil der Code dahinter die Ornament-Symbole auf falsche Weise skaliert, das sieht nicht gut aus. Während es mit allen anderen Symbolen gut geht, wird bei den Ornament-Symbolen irgendwie die Outline mit-skaliert. Also musste ich dafür einen anderen Weg basteln, um Ornamente anders zu skalieren, so wie es die Bibliothek vorsieht.

Ähnlich zu Musik-Notation habe ich neue Befehle für die Ornament-Symbole in der Präambel gebaut. Sie können so genutzt werden:

...
\def \csornament {\ornWatch}
\def \graphicSize {5cm}
\def \mgcol {e1c062} % hellgelb
\def \cssimpleshadow {x}
\def \csshinyframe {x}
...

Hellblauer Text, dunkelblauer Hintergrund, schimmernder gelber Rahmen, Schatten hinterm Text, hellgelbe Taschenuhr als Symbol hinter dem Text. Es sieht elegant handgemalt aus.

Vielleicht habt ihr bemerkt, dass ich die Zeile \def \graphicSize {5cm} zum Code hinzugefügt habe. Die Grafik-Größe bestimmt auch die Breite des Ornaments hinter dem Text.

Hier ein Bild aller eingebauten Ornament-Symbole, die in der \csornament-Option genutzt werden können, von links nach rechts: \ornLeaf, \ornWildRose, \ornWildFlower, \ornOldFlower, \ornDove, \ornButterfly, \ornOwl, \ornBird, \ornFish, \ornHorse, \ornBlackHorse \ornShoe, \ornQuill, \ornWatch, \ornShip, \ornTophat, \ornHat.

Ein breites Bild mit all den oben genannten Ornamenten in hellgelb auf dunkelblauem Hintergrund, gerahmt.

Fortgeschrittener Trick: Wenn ihr ein anderes Symbol aus der Ornament-Bibliothek haben wollt, sagen wir, ein Schwein (Englisch: pig), dann schaut in die Präambel preamble.tex. Ich habe zum Beispiel diese Code-Zeilen genutzt, um den Befehl für das Blatt \ornLeaf zu definieren:

\NewDocumentCommand{\ornLeaf}{}
{\pgfornament[color=mgcol,width=\graphicSize]{1}}

Ihr könnt in die Datei ornamentlist.pdf im Ordner ‘docs’ nach der Nummer eures gewünschten Ornaments sehen, sagen wir das Schwein, das die Nummer 111 hat, und diese Zeile hinzufügen:

\NewDocumentCommand{\ornPig}{}
{\pgfornament[color=mgcol,width=\graphicSize]{111}}

Auf diese Art hättet ihr erfolgreich den Befehl \ornPig gebaut, und ihr könnt ihn in \csornament nutzen.

Allerdings: Mit jedem neuen Download der Software müsstet ihr die Präambel wieder anpassen. Wenn ihr euer Symbol kreiert habt, schickt mir gern die Zeilen und ich füge sie dem Code dauerhaft hinzu.

Fortgeschritten: Eigene Dekoration hinter dem Text

Wenn ihr euch mutig fühlt, könnt ihr euren eigenen Code bauen, indem ihr zum Beispiel Dateien aus dem Ordner decorations in euer eigenes Verzeichnis (z. B. ‘mycode’) kopiert und verändert. Es gibt sogar einige Dateien, die für diesen Zweck vorgesehen sind: Ihr könntet zum Beispiel die Datei cscustomsymbolbehindtext.tex in euren Ordner mycode kopieren und es auf diese Art in euer sharepic laden:

...
\def \cscustomdecorationbehind {mycode/cscustomsymbolbehindtext.tex}
\def \cssimpleshadow {x}
\def \csshinyframe {x}
...

Das würde folgendes Sharepic erzeugen:

Hellblaues Lieblingszitat auf dunkelblauem Hintergrund, schimmernder, blauer Rahmen,. Hinter dem Text ist ein riesiger, halbtransparenter grüner Schmetterling. Zwischen Text und Schmetterling ist ein semitransparenter Schatten in Hintergrundfarben, um den Text lesbar zu machen.

Der Inhalt der Datei cscustomsymbolbehindtext.tex ist wie folgt:

% A custom symbol behind the text: work in progress.
% The coordinates should not be dependent on the corners
% *** A butterfly behind the text ***
% #1: coodinates of center
% #2: size (approximately)
% #3: angle
% #4: color
% #5: left or right
\butterfly{5.0cm,-7.0cm}{5.5}{40}{green!80!white}{left}

Übersetzung der Kommentare:

% Ein eigenes Symbol hinter dem Text: Work in Progress.
% Die Koordinaten sollten nicht abhängig von den Ecken sein.
% *** Ein Schmetterling hinter dem Text***
% #1: Koordinaten der Mitte
% #2: Größe (ungefähr)
% #3: Drehwinkel
% #4: Farbe
% #5: left für links, oder right für rechts

Alle Zeilen, die mit einem % beginnen, sind Kommentare, das heißt, sie haben keinen Einfluss auf das Ergebnis. Nur Erklärung. Das Bedeutet, eigentlich besteht die Datei aus einer eizigen Code-Zeile:

\butterfly{5.0cm,-7.0cm}{5.5}{40}{green!80!white}{left}

(Schmetterling heißt Butterlfy auf Englisch.) Ihr könnt die Farbe ändern, die Größe, den Winkel, und so weiter, und auf diese Art euer eigenes Symbol hinter dem Text erzeugen. Ihr könnt aus anderen Dateien im Ordner ‘decorations’ Zeilen in diese Datei kopieren. Wenn ihr in eurer eigenen Kopie in eurem eigenen Ordner arbeitet, verliert ihr auch eure Implementierungen nicht, wenn ihr den Rest bei einer neuen Version neu herunterladet, während ihr den eigenen Ordner behaltet.

Wenn ihr etwas hübsches gebastelt habt, schickt mir gern das Ergebnis, dann werde ich es vielleicht dem Code hinzufügen und euch erwähnen, wenn ihr wollt.

Randnotiz: Das Code-Beispiel mit dem Schmetterling ist ein Work In Progress. Ich möchte eine Möglichkeit bauen, als Dekoration auch die Grafiken aus den nächsten Abschnitten hinter den Text zu setzen. Die derzeitige Implementierung ist aber noch nicht sinnvoll, weil die Grafik zentriert hinter dem Text sein sollte, und nicht zur Mitte hin geschoben von der oberen linken Ecke aus. Wahrscheinlich werde ich eine Option ‘center’ bauen, die in die geschweiften Klammern des Schmetterling-Befehls geschrieben wird.

Beispiel-Code 2

Für alle folgenden Beispiele werde ich weiterhin das gleiche Zitat- und Autory-Feld benutzen. Im folgenden Abschnitt über Vordergrund-Dekorationen werde ich andere Farben verwenden: ein Blaugrün als Hintergrund und ein sehr helles Grün als Vordergrundfarbe, und Braun- und Dunkelgelbtöne als Zwischenfarben um einen Goldeffekt zu erzeugen.

Das folgende Bild zeigt die Farben:

Die oben erwähnten Farben.

Manchmal werde ich die Vorder- und Hintergrundfarbe vertauschen, um den Einfluss davon auf die Dekoration zu veranschaulichen.

Hier sind die Einstellungen:

\input {preamble.tex}
\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
\def \csauthor {– skalabyrinth, Myrie
Zange\\Die Symmetrie der Schneeflocken}
\def \bgcol {00302b}
\def \fgcol {d1fde7}
\def \mgcol {724f03}
\def \mgcolb {c8c065}
...
% additional options
...
\input {montage.tex}

Ich werde Beispiel 2 schreiben, um mich hierauf zu beziehen. Die zusätzlichen Optionen, über die ich reden werde, werden dort eingefügt, wo % additional options im obigen Code-Block steht.

Vordergrund-Dekoration

Vordergrund-Dekorationen sind ähnlich wie die Symbole hinter dem Text, aber sie sind für den Vordergrund gedacht. Sie sind weniger zurückhaltend, glitzern mehr, haben mehr Details und einige haben sogar mehr als eine Farbe. Einige, wie den Schmetterling, habe ich selbst implementiert, indem ich Befehle für die Linien und Ausfüll-Optionen aus der Bibliothek TikZ passend zusammengebaut habe. TikZ ist sowas wie eine Programmiersprache, um Vektor-Graphiken auf sehr lesbare Art aus Befehlen zusammenzusetzen, und ich liebe es sehr.

Aber diese Dokumentation soll hauptsächlich darum gehen, wie CiteSeeing benutzt werden kann und nicht, wie der Code dahinter aussieht. In diesem Abschnitt werde ich euch alle Vordergrund-Dekorationen vorstellen.

Sparkles (Glitzer)

Es gibt (bisher) drei Arten von Sparkles. (Ich kenne keine adequate Übersetzung von Sparkle, es bedeutet so etwas wie Funkel, diese Sterne, die mit sehr langen Spitzen gemalt werden, um darzustellen, das etwas funkelt.)

  • \cssixsparkles: gedacht für dunkle Hintergründe,
  • \cssixdaysparkles: gedacht für helle Hintergründe,
  • \cssixlightsparkles: ebenfalls für helle Hintergründe gedacht, aber passen auch zu dunklen.

Ihr könnt sie wie folgt setzen:

...
\def \csshinyframe {x}
\def \cssixsparkles {right}
...

Hellgrünes Lieblingszitat auf einem tannengrünen Hintergrund. Schimmernder Goldrahmen. Fünf Sparkles in verschiedenen Größen oben rechts, die hell-golden schimmern. Sie sind vierzackige Sterne mit sehr langen, dünnen Zacken, und ein teiltransparenter heller Kreis, der nach außen verblasst, ist dahinter.

(Sparkles wirken mit Rahmen besser, aber gehen auch ohne.)

Wie ihr seht, habe ich die Sterne nicht mit einem ‘x’ eingeschaltet, sondern ‘right’ (Englisch für rechts) in das Feld geschrieben. Wenn ihr irgendetwas anderes als ‘right’ in das Feld schreibt, werden sie auf der linken Seite erscheinen – es ist default. (Vielleicht wird es in Zukunft weitere Optionen geben, aber Sparkels scheinen bisher besser oben links oder rechts gut auszusehen, als unten.)

Das folgende Bild zeigt den Output aller drei Sparkle-Varianten auf der rechten Seite, zusammen mit einem schimmernden Rahmen.

Gleiches Farbsetup, aber dieses mal ist nur der obere rechte Teil des Sharepic zu sehen. Das erste Bild zeigt die gleichen Sparkles wie oben. Im zweiten verblasst der Kreis nicht, sondern ist stattdessen massiv und golden. Im dritten sind die Farben blasser und das Innere des vierzackigen Sterns ist transparenter.

Die rechten und linken Sparkles sehen meiner Ansicht nach gut aus. Vielleicht wirken die rechten etwas fragil. Aber die in der Mitte sind eher für helleren Hintergrund gedacht. Betrachtet dies:

Der Code:

...
\def \fgcol {00302b}
\def \bgcol {d1fde7} % vertauschte Hinter- und Vordergrundfarbe 
\def \csshinyframe {x}
\def \cssixdaysparkles {right}
...

ergibt das folgende Sharepic:

Tannengrünes Lieblingszitat auf sehr hellgrünem Hintergrund. Gleicher goldener Rahmen. Die mittleren Sparkles mit dem nicht verblassenden Kreis sind ausgewählt. Das Innere leuchtet hell gegen den dunkelgoldenen Kreis. Sie bringen mit jenem ihren eigenen Kontrast mit.

Das folgende Bild zeigt das Ergebnis der drei Sparkle-Varianten auf der rechten Seiten mit einem schimmernden Rahmen, aber mit vertauschter Hinter- und Vordergrund-Farbe gegenüber zuvor:

Wieder nur der obere rechte Teil des Sharepics, dreimal. Das erste zeigt eher dunkle Sparkle. Das dritte zeigt sehr helle Sparkle. Das mittlere zeigt die Sparkle wie im letzten Bild beschrieben. Es ist die Sparkle-Option, in der der Kreis nicht ins Nichts verblasst, sondern zu einer dunklen Farbe.

Wie ihr seht, passt die mittlere Option gut zum hellen Farbschema. Das letzte sieht auch ganz gut aus. Aber die ersten Sparkles sind zu dunkel gefärbt und leuchten nicht so hell.

Randnotitz 1: Vielleicht habt ihr nur fünf Sparkle gezählt, während der Befehl behauptet, es wären sechs. Das liegt daran, dass ich nicht so gut zählen kann und ich mich nicht entscheiden konnte, wie ich es korrigieren soll. Sollte ich einen weiteren Sparkle hinzufügen oder den Namen der Option ändern? Also blieb es dabei.

Randnotitz 2: Vielleicht erinnert ihr euch, dass ich im Abschnitt über Schatten behauptet habe, ich wisse nicht, wie ich mit TikZ etwas nach außen hin verblassen lassen kann. Das stimmt weiterhin. Wenn ihr genau hinseht, dann verblasst das schimmernde Weiß des Kreises gar nicht, sondern geht in die Hintergrundfarbe über. Ihr könnt es dort sehen, wo die Sparkle auf dem Rahmen liegen: Der Kreis ist oberhalb des Rahmens. Ich denke, es sieht gut so aus, aber wenn ihr eine Option für das Verblassen findet, sodass es in echte Transparenz verblasst, erzählt es mir!

Abschließend zum Abschnitt über Sparkle möchte ich euch ein vollständiges Beispiel zeigen, dass sehr ähnlich zu einem Sharepic-Design ist, das ich tatsächlich nutze. Nur die Farben sind anders. Die Farben hier sind nämlich die gleichen von zuvor mit getauschter Hinter- und Fordergrundfarbe. Das Hintergrundbild für das Setup kann hier heruntergeladen werden:

\input {preamble.tex}
%
\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
\def \csauthor {– skalabyrinth, Myrie
Zange\\Die Symmetrie der Schneeflocken}
%
\def \cstxtwidth {5.0cm}
\def \cstxtspacing {1.2em}
%
\def \fgcol {00302b}
\def \bgcol {d1fde7}
\def \mgcol {724f03}
\def \mgcolb {c8c065}
%
\def \csbackgroundimage{mycode/sDFDMbg.png}
%
\def \csmassivframe {x}
\def \csframeshadow {x}
%
\def \cssixdaysparkles {right}
%
\input {montage.tex}

Der Hintergrund ist ein digital gemaltes Bild mit Lineart, ein wenig wie ein Comic, das ein Segelschiff, stürmische Wolken und die See zeigt. Über die Hälfte des Bildes ist Unterwasser, wo helle Sonnenstrahlen durch die Wellen brechen. Das dunkelgrüne Lieblingszitat steht auf sehr hellgrünem Hintergrund, der ein bisschen transparent ist. Goldene Sparkles sind oben rechts, die vielleicht ein wenig wie Kompassrosen aussehen.

Schneeflocken

Schneeflocken funktionieren sehr ähnlich wie Sparkles, außer, dass es nur eine Variante gibt:

...
\def \cssixsnowflakes {left}
...

Zusammen mit Beispiel 2 erzeugt es dieses Sharepic:

Lieblingszitat in hellgrün auf dunkelgrünem Hintergrund ohne Rahmen. Oben links sind sechs Schneeflocken im Bild.

Sie sehen wahrscheinlich am besten mit einem blauen oder blau-ähnlichen Farbschema am besten aus. Am Anfang des Artikels ist ein Beispiel.

Kurze Exkursion in den Code

Ich habe bisher den Code, so gut es geht, außenvor gelassen und mache hier eine Ausnahme, weil dieses Beispiel einen ganz guten Eindruck ermöglicht, was TikZ so kann und wie es funktioniert.

Ihr könnt den Code für die Schneeflocken-Generierung in der Datei ‘snowflakes.tex’ im Ordner ‘src’ (kurz für “source code”, zu Deutsch Quellcode) finden.

Der Kern des Codes mögen diese Zeilen sein:

\shade[
	inner color=#5,
	outer color=#6,
	shading=radial,
	opacity=#7,
	even odd rule
	]
	% starts from the outer vertex of the star at t angle
	   ($(ms) + (\angl+0*360/6:\rado) $)
	% goes to the inner vertex next to it
	-- ($(ms) + (\angl+0*360/6+180/6:\radi)$)
	% repeats it for all outer vertexes of the snowflake
\foreach \p in {1,...,5}
{
	-- ($(ms) + (\angl+\p*360/6:\rado) $)
	-- ($(ms) + (\angl+\p*360/6+180/6:\radi)$)
}
% closes the shape.
-- cycle
% four circles intersecting the star at four differend distances.
(ms) circle (\radi+0.1*\rado)
(ms) circle (\radi+0.2*\rado)
(ms) circle (\radi+0.3*\rado)
(ms) circle (\radi+0.4*\rado);

Ich werde mit euch die einzelnen Zeilen betrachten. Vielleicht mag die folgende Visualisierung beim Verstehen helfen:

Das Bild zeigt Schritt für Schritt, wie die Schneeflocke gemalt wird. In den ersten drei Schritten wird ein sechszackiger Stern gemalt. 1. Von einer äußeren Ecke zu einer inneren Ecke. 2. Alle weiteren Ecken, außer der letzten. 3. Die letzte Kante, und außerdem wird der Stern blau gefüllt. 4. Ein kleiner Kreis auf dem Stern drauf. Der Stern ist dort, wo er den Kreis schneidet, nicht mehr gefüllt. Aber der Kreis ist dort, wo kein Stern ist, blau gefüllt. 5. Ein weiterer größerer Kreis auf dem Stern, um den ersten Kreis herum. Was darin vorher gefüllt war und was nicht, wird im kleineren Kreis ausgetauscht. Im größeren Kreis ist ansonsten der Stern nicht gefüllt, der Kreis aber schon. 6. Zwei weitere Kreise um die ersten zwei, ergänztes Füll-Muster. 7. Ein grauer, größerer Stern ist auf den ersten gezeichnet. 8. Alles, was außerhab des größeren Sterns liegt, wird weggeschnitten.

Mit \shade wird definiert, dass der definierte geschlossene Pfad danach eine Füllung mit Farbverlauf bekommt. Ich habe einen radialen Farbverlauf von der inneren zur äußeren Farbe gewählt, was dazu führt, dass die Form in der Mitte mit einer Farbe gefüllt ist, die nach außen hin zur anderen übergeht.

Ich habe (ms) als die Koordinaten definiert, die in der Mitte der Schneeflocke liegt. Wir fangen an, einen sechs-zackigen Stern von der Spitze eines Zacken zu zeichnen. Dazu gehen um die Länge des äußeren Radius von der Mitte weg, und zwar im gegebenen Anfangswinkel:

	   ($(ms) + (\angl+0*360/6:\rado) $)

Die Notation (Winkel:Abstand) definiert einen Vektor der Länge Abstand in die Richtung, in die der Winkel zeigt.

Von dieser Zackenspitze gehen wir zur inneren Ecke. Alle inneren Ecken liegen auf einem Kreis mit einem inneren Radius, den wir radi nennen. Wir müssen außerdem zum letzten Winkel 180°/6 hinzuzählen, weil unsere Schneeflocke eine 6-zählige Symmetrie hat.

	-- ($(ms) + (\angl+0*360/6+180/6:\radi)$)

Die Zeichen -- verbinden den letzten Punkt mit dem nächsten.

Anschließend wiederholen wir diesen Vorgang für alle anderen 5 Zacken, jeweils gedreht um ein Sechstel von 360°, mit einer Schleife:

\foreach \p in {1,...,5}
{
	-- ($(ms) + (\angl+\p*360/6:\rado) $)
	-- ($(ms) + (\angl+\p*360/6+180/6:\radi)$)
}

Der \foreach-Befehl (“for each” heißt “für alle”) wiederholt alles, was in den folgenden geschweiften Klammern steht für jedes Element aus der Menge, in diesem Fall {1,...,5}, was wiederum kurz für {1,2,3,4,5} ist. In dieser Schleife können wir sogar die Variable \p benutzen, die die Werte 1 bis 5 haben wird.

Das heißt, der obige Code ist kurz für:

	-- ($(ms) + (\angl+1*360/6:\rado) $)
	-- ($(ms) + (\angl+1*360/6+180/6:\radi)$)
	-- ($(ms) + (\angl+2*360/6:\rado) $)
	-- ($(ms) + (\angl+2*360/6+180/6:\radi)$)
	-- ($(ms) + (\angl+3*360/6:\rado) $)
	-- ($(ms) + (\angl+3*360/6+180/6:\radi)$)
	-- ($(ms) + (\angl+4*360/6:\rado) $)
	-- ($(ms) + (\angl+4*360/6+180/6:\radi)$)
	-- ($(ms) + (\angl+5*360/6:\rado) $)
	-- ($(ms) + (\angl+5*360/6+180/6:\radi)$)

Und zum Schluss schließen wir den Pfad mit einem --cycle ab, was den ersten und den letzten Punkt des Pfades verbindet.

Das würde bisher einen einfachen sechs-zackigen Stern zeichnen, nichts weiter.

Nun kommt die Magie ins Spiel, die den Stern in eine Schneeflocke verwandelt:

(ms) circle (\radi+0.1*\rado)
(ms) circle (\radi+0.2*\rado)
(ms) circle (\radi+0.3*\rado)
(ms) circle (\radi+0.4*\rado);

Das Semikolon am Ende beschließt, was alles vom shade-Befehl eingeschlossen wird. Ich habe die Option even odd rule (zu Deutsch “gerade ungerade Regel”) gesetzt, was bedeutet, dass die erste geschlossene Form gefüllt wird, die nächste wird gefüllt, aber dort, wo sie die erste schneidet, wird diese würde unbefüllt, und so weiter. Ich habe vier Kreise mit wachsendem Radius über den Stern um die Mitte gelegt. Das erzeugt ein Muster wie dieses:

Weiße, leicht transparente Formen, ähnlich Schneeflocken, auf grünem Hintergrund. Es sind sechs-zackige Sterne mit vier konzentrischen Kreisen auf ihnen drauf. Das Muster sieht ein wenig aus wie ein Schachbrett in Kreisform, und es ist auf ähnliche Weise gefüllt.

Zum Schluss wird ein weiterer sechs-zackiger Stern darauf gemalt, den wir nutzen, um aus dem zuvor gemalten eine Schneeflocke auszustanzen. Auf diese Art bekommen wir eine Schneeflocke, die etwas transparenter als die anderen wirkt.

	\clip[]
		% starts from the outer vertex of the star at angle
		   ($(ms) + (\angl+0*360/6:\rado*\clipr) $)
		% goes to the inner vertex next to it
		-- ($(ms) + (\angl+0*360/6+180/6:\radi*\clipr)$)
		% repeats it for all outer vertexes of the snowflake
		\foreach \p in {1,...,6}
		{
			-- ($(ms) + (\angl+\p*360/6:\rado*\clipr) $)
			-- ($(ms) + (\angl+\p*360/6+180/6:\radi*\clipr)$)
		}
		% closes the shape.
		-- cycle;

Für die anderen, etwas helleren Schneeflocken, fügen wir einen weiteren weniger transparenten Stern über den ersten.

Randnotitz: Der Code hat Code-Dopplungen. Es könnte eleganter programmiert sein, wenn ich wüsste, wie man Formen definiert und sowas. Aber ich hab weder Hirn noch Nerv, um es besser zu machen. Es ist okay, denke ich.

Schmetterlinge

Ich habe eine Methode gebaut, um Schmetterlinge irgendwo hinzutun. Ihr könnt einen machen:

...
\def \csbutterfly {right}
...

Hellgrünes Lieblingszitat auf dunkelgrünem Hintergrund, kein Rahmen. Ein Schmetterling ist oben rechts in vordergrundfarben, also hellgrün. Die Flügel sind halbdurchsichtig.

Oder, wenn ihr einige auf dem Rahmen sitzen haben wollt, gibt es diese Möglichkeit:

...
\def \csmassivframe {x}
\def \csbutterfliesonframe {x}
...

Gleiches wie eben, aber mit massivem, goldenem Rahmen, auf dem fünf Schmetterlinge in verschiedenen Größen und verschieden gedreht sitzen, auf beiden Seiten des Rahmens.

Vielleicht braucht das erzeugen dieser Datei ein wenig länger bei euch. Die Fühler sind teuer in ihrer Berechnung, vermute ich.

Musik-Noten

Der Hauptgrund, weshalb ich die musicography-Bibliothek eingebunden habe, war, um im Vordergrund mit Musik-Noten zu dekorieren. Ich habe Symbole aus dieser genommen und versucht, sie hübsch zueinander passend platzieren. Sie sind in Vordergrundfarben, aber mit den Zwischen-Farbtönen als Schatten.

Hier ein Beispiel, zusammen mit einem schimmernden Rahmen:

...
\def \csshinyframe {x}
\def \csmusnotes {right}
...

Hellgrünes Lieblingszitat mit dunkelgrünem Hintergrund. Der Rahmen ist golden unten rechts und hellgelb oben links. Die Noten sind ebenfalls hellgelb mit einem goldenen, scharfen Schatten. Es gibt den Noten einen Effekt, als wären sie 3D-Sticker.

Die Noten können mit der Eingabe ‘left’ auch links eingefügt werden.

Qualm und Dampf

Mein erstes Usery-Request war Qualm. Das war nicht einfach, ich geb’s zu, aber ich bin recht glücklich mit dem Ergebnis.

Es gibt Qualm, starken Qualm, Dampf und starken Dampf, der jeweils rechts oder links, oder – Besonderheit hierfür – auf beiden Seiten erscheinen kann!

Ich habe starken Qualm gebastelt, weil es Fälle gibt, in denen mehr Kontrast gebraucht wird, zum Beispiel zusammen mit einem Hintergrundbild.

Diese Code-Ergänzung von Beispiel 2:

...
\def \csshinyframe {x}
\def \cssmoke {left}
\def \csstrongsmoke {right}
...

würde dieses Bild ergeben:

Hellgründes Lieblingszitat auf dunkelgrünem Hintergrund. Schimmernder Rahmen wie eben. Vor der linken Rahmenkante steigt Qualm auf, der einigermaßen realistisch wirkt. Auf der rechten Seite enthält der Qualm viele seltsame Formen und wirkt abstrakt-künstlerisch.

Vielleicht stimmt ihr zu, dass der Qualm links mehr oder weniger natürlich aussieht, während der starke Qualm (strong smoke) auf der rechten Seite überhaupt nicht gut aussieht. Vielleicht wundert ihr euch, in welchem Kontext dieser Qualm überhaupt gut aussehen könnte.

Lasst uns die Hinter- und Vordergrundfarbe vertauschen und ein Hintergrundbild hinzufügen:

...
\def \fgcol {00302b}
\def \bgcol {d1fde7}
\def \csbackgroundimage{mycode/sDFDMbg.png}
\def \cstxtwidth {5.0cm}
\def \cstxtspacing {1.2em}
\def \csframeshadow {x}
\def \csmassivframe {x}
\def \cssmoke {left}
\def \csstrongsmoke {right}
...

Nun sieht das Ergebnis so aus:

Der Hintergrund ist jener mit dem Segelschiff unter dunklen Wolken auf See, auf dem der größte Teil Unterwasser ist mit durchbrechenden Sonnenstrahlen, die diesen Teil erleuchten. Der Text ist dunkelgrün auf einem semitransparenten, hellgrünen Rechteck, gerahmt in einem goldenen Rahmen. Der Qualm auf der rechten Seite ist der gleiche wie im letzten Bild, aber wegen der vielen Farben im Hintergrund, kaum sichtbar. Der Qualm auf der rechten Seite jedoch hat einen guten Kontrast und die seltsamen Formen sehen nicht schlecht aus, weil sie nicht durch einen einfarbigen Hintergrund hervorgehoben werden.

Gleiches gilt für Dampf.

Das Bild zeigt die gleichen Ergebnisse wie zuvor, nur mit Dampf. Dafür habe ich fast denselben Code benutzt und nur alle Vorkommnisse der Zeichenkette ‘smoke’ (Rauch) mit ‘steam’ (Dampf) ersetzt, und den massiven statt dem schimmernden Rahmen für beide Fälle genutzt.

Beinahe die gleichen zwei Bilder wie zuvor, nebeneinander als ein Bild. Der Unterschied ist: Was zuvor Rauch war, mit mehr schwarz und weiß Gemischen, ist nun Dampf mit eher weiß mit Zwischenfarbton-Mischungen.

Tasse mit Dampf

Weil es nun Dampf gibt, und weil ich Tee sehr mag, habe ich auch eine dampfende Tasse hinzugefügt. Ich konnte dafür nicht die Kaffee-Tasse mit \Coffeecup aus der TikZ-Symbol-Bibliothek verwenden, weil die bereits drei geschwungene Linien als Repräsentation von Dampf hat. Außerdem wollte ich eine bunt gefüllte Tassen.

Ihr könnt meine Kreation mit diesem Code benutzen:

...
\def \csmassivframe {x}
\def \cscupwithsteam {x}
...

Hellgrünes Lieblingszitat auf dunkelgrünem Hintergrund, goldener Rahmen. Unten rechts innerhalb des Rahmens ist eine goldene Tasse, von der Dampf aufsteigt.

Weil sich hier mit bunten Hintergründen dasselbe Problem wie zuvor ergibt, gibt es auch eine zweite Version der Tasse, bei der die Umrandung eine andere Farbe (die Vordergrundfarbe) hat und der Dampf starker Dampf ist. Ich führe den Effekt mit vertauschter Hinter- und Vordergrundfarbe vor:

...
\def \fgcol {00302b}
\def \bgcol {d1fde7}
\def \csmassivframe {x}
\def \csdaycupwithsteam {x}
...

Dunkelgrünes Lieblingszitat auf hellgrünem Hintergrund, goldener Rahmen. Unten rechts innerhalb des Rahmens ist eine goldene Tase mit dunkelgrüner Umrandung. Dampf steigt von dieser auf.

Ein weiteres meiner Beispiele

An dieser Stelle präsentiere ich ein weiteres Beispiel eines Sharepics, das ich tatsächlich so benutze. Ich nutze Musik-Notation als Dekoration, weil der zugehörige Roman ein Konzert als Thema hat, und ich nutze die dampfende Tasse, weil es in dem Roman viel um Gemütlichkeit mit Tee und so geht. Ihr könnt das Hintergrundbild für den Roman hier herunterladen..

Dies ist das Setup:

\input {preamble.tex}
%
\def \csquote {»Sowas kann man nicht
abkönnen. Nicht, wenn man keine Herzwesen
hat. Oder wenn man mal lange keine hatte. Und
selbst wenn man es könnte, wieso sollte
es in Ordnung sein, sich in einer Weise zu
verhalten, die andere höchstens abkönnen
könnten, aber die dennoch schlecht
ist?« Myrie sagte dies sachlich und ruhig.}
\def \csauthor {– skalabyrinth, Myrie
Zange\\Die Symmetrie der Schneeflocken}
%
\def \cstxtwidth {5.3cm}
\def \cstxtspacing {1.5em}
%
\def \bgcol {a2d9ff}
\def \fgcol {760d3f}
\def \mgcol {cea0ef}
\def \mgcolb {cea0ef}
%
\def \csbackgroundimage{mycode/sWENPbg.png}
%
\def \csshinyframe {x}
\def \csframeshadow {x}
\def \csmusnotes {right}
\def \csdaycupwithsteam {x}
\input {montage.tex}

und es erzeugt dieses Bild:

Das Hintergrundbild zeigt eine Szenerie auf einem Tisch. Eine große Glasteekanne steht darauf. Aber auch eine kleine Person in einem pinken Ohrensessel. Das Lieblingszitat steht in dunkelpink auf semitransparentem hellblauem Hintergrund in einem rosa Rahmen. Eine dampfende Tasse mit pinkem Farbverlauf ist unten rechts. Oben rechts sind dunkel-pinke Musik-Notationen mit einem hell-pink schimmernden Glanz darum herum.

Drei Wellen

Die erste Dekoration, die ich gebaut habe, waren drei Wellen. Oder wie auch immer ich diese Dinge nennen soll … Eine abstrakte Form, die wie eine Mischung aus Welle und um 90° gedrehtem Tropfen aussieht. Die Form ist ähnlich zu einer, die ich in einem Canva Sharepic gesehen habe. Sie war sehr interessant zu bauen.

Schaut sie euch hier an:

...
\def \csmassivframe {x}
\def \csthreewaves {x}
...

Hellgrünes Lieblingszitat auf dunkelgrünem Hintergrund, goldener massiver Rahmen. Die erwähnte Form, dreimal in verschiedenen Größen, überlappen einander. Die unter den anderen gelegene ist höher platziert, kleiner, hell gold auf der linken seite, wo der Tropfen-Kopf ist, und dunkelgolden auf der rechten, ihrer Schwanzseite. Die mittlere ist die größte Form, und der Farbverlauf ist andersrum als zu der zuvor. Die vordere, die zu unterst platziert ist, verläuft von weiß zu Transparenz, verblasst also zu ihrem Schweif hin.

Das ist quasi alles, was es an Vordergrund-Deko gibt.

(Randnotitz: Die dritte Wellenform verblasst tatsächlich zu Transparenz, wovon ich zuvor behauptet habe, dass ich das nicht hinkriege. Aber es ist ein anderer Fall hier: Sie verblasst von links nach rechts. Ich finde nicht heraus, wie ich etwas radial, oder in irgendeiner anderen Richtung als Nord, Süd, Ost oder West verblassen lasse.)

Wenn ihr interessiert seid, wie ich diese Form gebaut habe, mag euch vielleicht das folgende Bild erfreuen:

Das gleiche Bild wie zuvor, aber statt der drei Wellen ist da bloß eine. Sie ist fast durchsichtig und beschriftet. Die rechte Spitze heißt p0. p1 und p4 sind die Koordinaten auf jeder Seite in der Mitte der Form. Durch diese Punkte geht je eine Tangente. p2 und p3 sind zwei Punkte am Topfenkopf und auch durch diese verläuft jeweils eine Tangente.

Hier findet ihr fünf Punkte und Tangenten, die durch diese Punkte verlaufen, die die Form definieren. Es ist eine Bézier-Kurve.

Ihr könnt mit den Hilfslinien im Code herumspielen, wenn ihr wollt.

Eigene Vordergrund-Dekorationen

Ich habe das letzte Bild erzeugt, indem ich die Datei cscustomwaves.tex aus dem Ordner ‘decorations’ in einen eigenen Ordner ‘mycode’ kopiert habe und die ergänzenden Einstellungen wie folgt angepasst habe:

...
\def \csmassivframe {x}
\def \cscustomdecoration {mycode/cscustomwaves.tex}
...

Die Datei cscustomwaves.tex enthält außer Kommentaren nur diese Zeile:

\decodrophelp{(b.south west) + (7.6cm,2.35cm)}{-3.0cm,-0.8cm}
{-5.9cm, 0.4cm}{0.60cm}{mgcolb}{mgcol}{0.3}{0.9}{}

Wenn ihr bloß \decodrop ohne das help (zu Deutsch: Hilfe) schreiben würdet, käme die selbe Form ohne Beschriftung heraus.

Ihr könnt eure eigenen Dinge basteln, indem ihr beliebige Dekoration in euren Ordner kopiert und mit dem \cscustomdecoration-Befehl ladet. Die Dateien im Ordner ‘decorations’, die den Namen custom (für eigenes) enthalten, sind für solche Zwecke gedacht. Für mehr Informationen schaut in den Abschnitt über eigene Hintergrund-Dekorationen. Die zwei Befehle funktionieren unterscheiden sich nur darin, dass die Hintergrunddekorationen hinter Text, Rahmen und Schatten gehen, und Vordergrunddekorationen vor alles davon.

Winziges Buch oder Cover

Endlich! Die letzte Dekoration, die ich gebaut habe, ist ein winziges Buchcover oder ein winziges Buch. Ihr könnt das Cover eures Buchs skalieren, als winziges Bild speichern und es so auf euer Sharepic setzen:

...
\def \csmassivframe {x}
\def \cstinybook {img/tinycover.png}
\def \cstinybookcoverangl {-5}
...

Hellgrünes Lieblingszitat auf dunkelgrünem Hintergrund, goldener Rahmen. Unten rechts ist ein kleines Buch mit einem blauen Cover. Der Titel in hellblauer Schrift ist: Example Book Cover.

(Example Book Cover heißt Beispielbuch-Cover auf Deutsch.)

Ihr könnt das Bild tinycover.png aus dem Ordner ‘img’ als Orientierung nehmen, um euer Cover auf ähnliche Art zu skalieren.

Ihr könnt auch einen anderen Drehwinkel als -5 auswählen.

Ihr könnt auch den Befehl \cstinycover statt cstinybook nehmen, dann sieht das Ergebnis so aus:

Das gleiche Bild wie eben, aber statt des Buchs nur das Cover. Es ist um 5° im Uhrzeigersinn gedreht.

Statt eines Fazits

Ich bin fix und fertig. Ich hoffe, ihr hattet wenigstens etwas Spaß oder es war auf andere Art hilfreich. Statt eines typischen Fazits werde ich euch einige Outtakes während meiner Herumprogrammiererei zeigen.

Als ich gelernt habe Bézier-Kurven sinnvoll zu nutzen:

Die Beschreibung dieses Bildes befindet sich im Text darunter.

Ihr seht ein hellgelbes Quadrat, wie ich es oft male, um zu sehen, ob ich überhaupt male. Außerdem eine gelbe gerade Linie von dort nach Nordosten. Zwei Punkte entlang dieser Linie haben Namen beza und bezb. Und dann ist da eine dritte, schwarze Linie. Sehr wahrscheinlich habe ich sie vom Punkt, wo auch die gelbe Linie beginnt, angefangen und horizontal nach links gemalt. Aber ich habe ihr gesagt, du, auf dem Weg dahin bieg dich mal in Richtung beza und bezb. Und die schwarze Linie tat es. Entsprechend macht sie einen Bogen zu ihrer rechten Seite.

Unten seht ihr eine Tropfenartige Form, die noch nichts wellenförmiges an sich hat. Außerdem verlässt sie den grünen Hintergrund, und das Bild wird noch nicht auf den Hintergrund runtergeschnitten, was zur Folge hat, dass da ein weißer Streifen unten auf dem Sharepic ist.

Unwissend war ich damals noch. Ich hab viel über Bézier-Kurven und Zuschneiden in den nächsten Stunden Programmiererei gelernt.

Ihr seht außerdem, dass ich viele Teile des Text und Hintergrunds ver-unscharft habe. Damals habe ich einen Text und eine Hintergrundgrafik benutzt, zu der ich keine Rechte besitze.

Als ich realisierte, dass ich keine absoluten Koordinaten nutzen sollte, sondern relative

Dunkler Text auf hellblauem Hintergrund. Es handelt sich um mein Lieblingszitat, das vielfach ohne Zeilenumbrüche wiederholt wird. Ein massiver blauer Rahmen ist darum herum angebracht, der sinnvolle Abstände zu Text und Rand hat. Aber die Schneeflocken, Sparkle und Wellenformen, die auch da sind, sind hinter dem langen Text.

Einige Zeit nachdem ich die Sparkle, Schneeflocken und Wellenformen gebaut habe, habe ich realisiert, dass ich absolute Koordinaten genutzt habe, um sie zu platzieren. Eine absolute Größe für die Formen zu wählen, ist keine schlechte Entscheidung, weil der Text eh nicht zu breit werden sollte. Wenn der Text noch lesbar bleibt, sind die Symbole noch groß genug und umgekehrt. Aber wenn der Text zu lang wird (ich habe mein Lieblingszitat mehrfach aneinandergehängt, um einen langen Text zu erzeugen), dann spielt es eine Rolle, wohin die Formen platziert werden. Sie müssen relativ zum Rahmen und nicht relativ zur Mitte gesetzt werden.

Ich habe den Fehler korrigiert.

Als ich verschiedene Farb-Schemata probiert habe

Dunkelgrünes Lieblingszitat auf sehr hellgrünem Hintergrund, womöglich schmerzhaft in den Augen. Ein schimmernder, dunkelgrüner Rahmen umgibt den Text. Einige Sparkles für ein dunkles Farbschema. Sie leuchten nicht so gut. Ein gelber, schlecht gezeichneter Dolch befindet sich hinter dem Text, der keinen guten Kontrast zum Grün hat. Und die drei Wellenformen verlaufen von dunkelgrün zu sehr dunklem grün, und weiß, und sehen tatsächlich ganz gut aus.

Ich wollte nur rausfinden, ob meine Dekorationen auch mit helleren Farb-Schemata gut herauskommen. Die Sparkles, die ich zuerst implementiert habe, taten es nicht. Aber die drei Wellen schon, denke ich, selbst mit diesem fürchterlichen Farbschema!

Es ist ein so dermaßen fürchterliches Sharepic, dass ich es euch irgendwie des möglichen Gekicheres wegen vorführen wollte.

Die Sonne

Dies ist eigentlich kein Scheitern:

Ein 17-zackiger, hellgelber leuchtender Sparkle auf dunkelgrünem Hintergrund.

Ich habe die Zackenanzahl einstellbar programmiert. Ihr könnt den Code für die Sparkles also nutzen, um Sparkles mit mehr als vier Zacken zu erzeugen:

% *** SIX SPARKLES ***
% #1: coodinates of center
% #2: number of vertices
% #3: inner radius: the radius of the circle where the inner vertices are placed.
% #4: outer radius, see above.
% #5: start angle: where the first outer vertex is placed from the center.
% #6: color
% #7: background color: transparency isn't easily provided by TikZ's shading library.
% #8: left or right
\sparkle{2.5cm,-2.2cm}{17}{0.045}{0.45}{10}{mgcol}{bgcol}{right}

Übersetzung:

*** SECHS SPARKLES ***
% #1: Koordinaten der Mitte
% #2: Anzahl der Ecken
% #3: Innerer Radius: Der Radius des Kreises, auf dem die inneren Ecken liegen.
% #4: Äußerer Radius, siehe oben.
% #5: Startwinkel: Wo die erste äußere Ecke von der Mitte aus liegt.
% #6: Farbe
% #7: Hintergrundfarbe: Transparenz geht mit TikZ nicht gut.
% #8: left für links oder right für right

Das zweite Feld ist für die Anzahl der Stacheln. Ihr könnt auch andere Farben und so weiter wählen. Habt Spaß, damit herumzuspielen, wenn ihr möchtet, die Option für eigene Hinter- oder Vordergrund-Dekorationen dafür benutzend.

Das Ende

Und nun überlasse ich euch diese Sache.