Start LaTeX Projekte Datenschutz Impressum  



LaTeX Extra > LaTeX Befehle > LaTeX Picture     Diese Seite als PDF LaTeX Picture


picture Umgebung
Befehle in Picture Umgebung
Zeichenelemente
Boxen
Text Stapel
Weiterführende Pakete

1  picture

Die picture Umgebung ist eine Umgebung, mit der in LaTeX relativ einfache Zeichnungen gezeichnet werden können. Es sind zwar auch sehr komplexe Zeichnungen möglich, aber diese werden in der Regel durch Programme wie etwa gnuplot in einer picture Umgebung automatisch erstellt.

\begin{picture}(Breite,Höhe)(x Offset,y Offset) 
...
picture Befehle 
...
\end{picture}
Kommazahlen werden mit Punkt getrennt, da das Komma hier dazu dient die X- und Y-Koordinate zu trennen!
(Breite,Höhe)  

Mit den Angaben Breite und Höhe werden die Abmessungen des Bildes festgelegt. Interesanterweise sind die Angaben nicht bindent, das bedeutet das auch eine Zeichnung angefertigt werden kann die größer als die Angaben zur Abmessung sind. Es handelt sich nur um den Platz, den TEX für das Bild bereit hält. Daher ist es auch durchaus möglich die Angaben (0,0) zu wählen.

Es handelt sich bei der Breite und der Höhe um Pflichtangaben.
(x Offset,y Offset)   Mit den zwei optionalen Offset Werte kann das Bild zu Beginn oder auch erst später verschoben werden. Das heißt, Sie können auch nachträglich eingefügt oder geändert werden.
Im Gegensatz zu anderen Optionen, innerhalb von LATEX, werden hier runde anstatt eckiger Klammern verwendet.
Einheitengröße  

Die Angaben sind standardmäßig in der Einheit Punkte (pt) was dazu führt, dass die Einheitenlänge 1 pt beträgt. Mit dem Befehl \setlength{\unitlength}{1 cm} wird die Einheitengröße auf 1 cm festgelegt. Diese Änderung der Einheitenlänge wirkt ab dem Punkt an dem sie gesetzt wurde für alle nachfolgenden Zeichnung beziehungsweise bis zu dem Punkt an dem die Einheitengröße wieder geändert wird.

Die Änderung der Einheitengröße mit \setlength{\unitlength}{Maß} sollte stets außerhalb der picture Umgebung erfolgen.

1.1  Befehle

Die picture Umgebung beinhaltet zusätliche Befehle mit denen einfache Zeichenlemente wie eine Linie oder auch komplexe Figuren wie etwa ein Kreis gezeichnet werden können. Daneben existieren auch Befehlen mit den Boxen erzeugt werden können.

put  

Der wahrscheinlich am häufigsten benutzte Befehl ist aber der put Befehl mit dem nicht nur die Zeichenelemente, sondern auch andere Objekte wie Bilder, Text und Formeln in die Zeichnung gesetzt werden können.

Mit \put(X-Wert,Y-Wert){Objekt} wird ein Element/Objekt auf die bezeichnete Koordinate gesetzt.

multiput  

Will man ein Objekt mehrfach setzen kann auch der multiput Befehl verwendet werden. Der Befehl unterscheidet sich insoweit von dem put Befehl als das er neben den Koordinaten, die als Startpunkt dienen, auch noch einen Verschiebungsvektor (dx, dy) beinhalt, um von einem Punkt zum nächsten zu gelangen, und neben dem Objekt auch noch die Anzahl wie oft es dargestellt werden soll.

\multiput(X-Wert,Y-Wert)(dx, dy){Anzahl}{Objekt}

1.1.1  Zeichenelemente

Die Zeichenelemente lassen sich in fertige Figuren und Elemente unterteilen.

linethickness   Mit dem Befehl \linethickness{Maß} kann die Breite der waagrechten und senkrechten Linien und Bezier Kurven verändert werden. Er hat aber keinen Einfluß auf gebogene Linie wie zum Beispiel in einem Kreis. Dies kann zu überraschenden Effekten führen als Beispiel sei hier die Figur des Ovals genannt. \linethickness{Maß}

thicklines   Mit dem Befehl \thicklines kann die Strichdicke von gebogene Linien, Kreise und Ovale vergrößert werden. \thicklines

thinlines   Mit dem Befehl \thinlines kann die Strichdicke von gebogene Linien, Kreise und Ovale auf den ursprünglichen Wert zurück gesetzt werden. \thinlines

line   Der line Befehl hat zwei Argumente, einen Richtungsvektor dx und dy (Steigung), und eine Länge. Der Befehl erzeugt eine gerade Linie.
\put(x,y){\line(dx,dy){Länge}} Die Werte für dx und dy des Richtungsvektors dürfen ganze Zahlen aus dem Bereich von -6,-5, ..., 5, 6 sein, mit der Einschränkung, dass dx und dy teilerfremd, das heißt von der 1 abgesehen, keinen gemeinsamen Teiler besitzen dürfen. Daraus ergeben sich für jeden Quadranten 25 mögliche Kombinationen. In allen vier Quadranten sind jedoch nur 97 optisch verschiedene Kombination, da 0 und -0 hier optisch den gleichen Effekt besitzen. Für Linien können daher nur die folgenden Kombinationen gewählt werden: (0,1); (1,0); (1,1); (1,2); (1,3); (1,4); (1,5); (1,6); (2,1); (2,3); (2,5); (3,1); (3,2); (3,4); (3,5); (4,1); (4,3); (4,5); (5,1); (5,2); (5,3); (5,4); (5,6); (6,1); (6,5) Für (-dx, dy), (dx, -dy) und (-dx, -dy) entsprechend. Wird eine Kombination aus Zahlen gewählt die einen gemeinsamen Teiler haben gibt es zwar keine Fehlermeldung, aber das Ergebnis weicht doch deutlich von einer Linie ab. Es wird in diesem Fall eine mit Dreiecken gestrichelte Liene der angebenen Steigung gezeichnet.
Die Länge ist aber nicht mit der Länge der Linie selbst zu verwechseln. Sie entspricht vielmehr dem m der Funktionsgleichung y = m ·x. In den Fällen in den die Steigung 0 beziehungsweise 1 ist entspricht die line-Länge auch der Länge der Linie.

Geneigte beziehungsweise gebogene Linien werden nicht gezeichnet, wenn der horizontale Teil kleiner als 10 pt ist.
Quellecode Beispiel 1
\setlength{\unitlength}{1cm}
\begin{picture}(5,5)
\put(-1,0){\vector(1,0){5.5}}
\put(0,-1){\vector(0,1){5.5}}
\put(0,0){\line(3,2){2}}
\put(1,2){\Large Beispiel 1}
\end{picture}
Quellecode Beispiel 2
\setlength{\unitlength}{1cm}
\begin{picture}(5,5)
\put(-1,0){\vector(1,0){5.5}}
\put(0,-1){\vector(0,1){5.5}}
\put(0,0){\line(3,6){2}}
\put(2,2){\Large Beispiel 2}
\end{picture}

vector   Der vector Befehl erstellt einen Pfeil. Der Befehl hat zwei Argumente, einen Richtungsvektor und eine Länge. Diese Argumente entsprechen denen des line Befehls.

\put(x,y){\vector(dx,dy){Länge}}
Im Unterschied zum line Befehl dürfen hier die Werte für dx und dy nur ganze Zahlen aus dem Bereich -4 bis 4 sein. Weiterhin gilt das es sich bei der gewählten Kombination um teilerfremde Zahlen handeln muss. Daher sind die folgenden Kombinationen zulässig: (0,1); (1,0); (1,1); (1,2); (1,3); (1,4); (2,1); (2,3); (3,1); (3,2); (3,4); (4,1); (4,3) und für (-dx, dy), (dx, -dy) und (-dx, -dy) entsprechend. Bei Kombinationen mit nicht teilerfremden Zahlenpaaren tritt das gleiche Phänomen wie beim line Befehl auf.
Quellcode Beispiel 3
\setlength{\unitlength}{1cm}
\begin{picture}(5,5)
\put(0,0){\vector(1,0){4}}
\put(0,0){\vector(2,3){1.5}}
\put(0,0){\vector(4,2){2}}
\put(0,0){\vector(-3,2){1}}
\put(-1,2){\Large Beispiel 3}
\end{picture}

circle   Der Befehl circle zeichnet einen Kreis um die angebenenen Kordinaten mit einem gegebenen Durchmesser. Der Befehl circle* zeichnet einen gefüllten Kreis.

\put(X-Wert,Y-Wert){\circle{Durchmesser}}
Die Anzahl der möglichen Durchmesser ist dabei aber begrenzt. So sind im Bereich von 1pt bis 16pt für jeden einzelnen Wert ungefüllte Kreise möglich und im Bereich von 20pt bis 40pt nur in 4pt Schritten. Das bedeutet der kleinste Durchmesser ist 1pt und der größte ist 40pt. Bei den gefüllten Kreisen sind nur ganzzahlige Werte von 1pt bis 15pt für den Durchmesser möglich.
Quellecode Beispiel 4
\setlength{\unitlength}{1cm}
\linethickness{1pt}
\begin{picture}(0,0)
\put(5,-1){\circle*{1}}
\put(5,-1){\circle{2}}
\put(4,0){\Large Beispiel 4}
\end{picture}

Wenn eine Größe gewählt wurde, die nicht vorhanden ist, erscheint die folgende Warnung: LaTeX Warning: \oval, \circle, or \line size unavailable on input line ... und es wird die nächstgröße Größe gesetzt.

Oval   Der Befehl oval zeichnet ein Oval um die angebenenen Kordinaten mit gegebener Breite und Höhe.

\put(X-Wert,Y-Wert){\oval(Breite,Höhe)}
Für den Fall, dass nur Teile des Ovals gezeichnet werden sollen, verfügt der Befehl über eine Option die vier Werte ermöglicht. Diese Werte können zum Teil auch kombiniert werden.
\put(X-Wert,Y-Wert){\oval(Breite,Höhe)[Option]}
Insgesamt gibt es 9 mögliche Einzelkombination:
 
komplettes Oval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)}
oberes Halboval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[t]}
unteres Halboval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[b]}
linkes Halboval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[l]}
rechtes Halboval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[r]}
oberes linkes Vierteloval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[tl]}
unteres linkes Vierteloval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[bl]}
oberes rechtes Vierteloval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[tr]}
unteres rechtes Vierteloval \put(X-Wert,Y-Wert){\oval(Breite,Höhe)[br]}
 
 
Theoretisch lassen sich auch noch die Einzelkombination zum Teil untereinander kombinieren, das erfordert aber die mehrmalige Verwendung des oval Befehls.

Bezier Kurven   Bezier Kurven stellen die Möglichkeit dar auch gebogene Kurven und Striche zeichen zu können. Dazu wird dem Befehl qbezier neben einem Start- und einem Endpunkt, ein dritter Punkt der als Kontrollpunkt da zwischen dient, angebeben.

\qbezier(XStart, YStart)(XKP, YKP)(XEnde, YEnde)
Im Fall, dass anstelle einer durchgehenden Linie, Punkte verwendet werden sollen, kann die Option des Befehls qbezier genutzt werden.
\qbezier[Anzahl Punkt -1](XStart, YStart)(XKP, YKP)(XEnde, YEnde)

1.1.2  Boxen

Die drei Box Befehl die in der picture Umgebung vorhanden sind ermöglichen unter anderem auch das Setzen von normalen Text innerhalb eines Bildes.

makebox   Der Befehl makebox erzeugt eine Box ohne Rahmen.

\put(X-Wert,Y-Wert){\makebox(Breite,Höhe)[Ausrichtung/Position]{Objekt}}

framebox   Der Befehl framebox erzeugt eine Box mit einem durchgehenden Rahmen.

\put(X-Wert,Y-Wert){\framebox(Breite,Höhe)[Ausrichtung/Position]{Objekt}}

dashbox   Der Befehl dashbox erzeugt eine Box mit einem gestricheltem Rahmen.

\put(X-Wert,Y-Wert){\dashbox{Strichlänge}(Breite,Höhe)[Ausrichtung/Position]{Objekt}}

Hinweis: Ein gestrichelte Box sieht dann am besten aus, wenn die Breite und Höhe Vielfache der Strichlänge sind. Im einfachsten Fall wählt man als Strichlänge 1, da diese die Anforderung immer erfüllt.
Hinweis: Für den Fall, dass die Strichlänge größer gleich der Breite und auch größer gleich der Höhe gesetzt wurde, wird die Box mit einem durchgehenden Strich umgeben und das Ergebnis entspricht der framebox.

Für die Ausrichtung und Positionierung innerhalb der Boxen stehen optionale Parameter zur Verfügung. Dabei wird zwischen dem Ausrichten und dem Positionieren unterschieden. Im Fall, dass keine Angaben gemacht werden, wird der Text in der Box zentriert.

Ausrichtung   Für das Textausrichtung stehen drei Möglichkeit zur Verfügung.

Hinweis: Wenn keine Angabe zur Positionierung gemacht wird, dann wird der Inhalt vertikal zentriert.

Position   Für die Positionierung stehen vier mögliche Werte zur Verfügung. Diese können auch mit der Ausrichtung kombiniert werden.

Ausrichtung Positionierung
- t (top) b (bottom) l (left) r (right)
l (left) linksbündig vertikal zentriert linksbündig oben linksbündig unten linksbündig vertikal zentriert angepasst vertikal zentriert
r (right) rechtsbündig vertikal zentriert rechtsbündig oben rechtsbündig unten angepasst vertikal zentriert rechtsbündig vertikal zentriert
s (angepasst) angepasst vertikal zentriert angepasst oben angepasst unten angepasst vertikal zentriert angepasst vertikal zentriert
 
 
Neben der Ausrichtung und der Positionierung kann auch die Breite und Höhe der Box angegeben werden.
Hinweis: Wenn keine Breite und Höhe angeben werden, wird der Inhalt der Box auf die angebenen Koordianten gesetzt. Es können dann auch keine Angaben zur Ausrichtung beziehungsweise zur Positionierung gemacht werden.

1.1.3  shortstack

Für den Fall, dass zum Beispiel ein Satz mit Zeilenumbruch gesetzt werden soll bietet sich der Befehl shortstack an.

\put(X-Wert,Y-Wert){\shortstack[Ausrichtung]{... \\ ... \\ ...}}
Für die Ausrichtung gibt es drei Möglichkeiten.
Standardmäßig ist die Ausrichtung auf zentriert gestellt.

2  Weiterführende Pakete

Die picture Umgebung und ihre doch zum Teil stark eingeschränkten Befehle sind heute nicht mehr zeitgemäß um Zeichnung zu erstellen. Das Paket pict2e hebt die Begrenzungen der bisherigen Befehle in der picture Umgebung auf und erweitert den Befehlsatz. Das overpic Paket erleichter es über Bilder zu schbreiben also nachträglich über ein bereits bestehendes Bild einen Text zu setzen.


Wir verwenden Cookies. Wenn Sie weiter auf unseren Seiten surfen, stimmen Sie der Nutzung von Cookies zu. mehr Informationen hier