PSTrix Figuren in Tabelle anzeigen

Tabellen und Grafiken erstellen und anordnen


Tobi123456

Beitrag von Tobi123456 »

Hat super funktioniert.
Nur wie bekommt man nun die Beschriftung unter der Figur zentriert?
\documentclass[12pt]{article} 
\usepackage{caption} 
\usepackage{pst-all} 

\begin{document} 
\noindent\textbf{\Large{Aufgabe 1}}\\

\begin{center} 
\begin{minipage}{\linewidth} 
\psset{unit=.7cm} 
\centering 
\begin{tabular}{p{7.5cm}p{7.5cm}} 
\begin{pspicture}(0,0)(9,2)
\psline[linewidth=1.5pt](0,1.5)(9,1.5)
\multiput(1,0)(2,0){4}{\psframe(0,0)(1,1)}
\end{pspicture}
\captionof*{figure}{Linear}
&
\begin{pspicture}(-5,0)(5,5)
\psframe[linewidth=1.5pt](0,0)(1,1)
\psarc[linewidth=1.5pt](0.5,0){3,35}{0}{180}
\psframe[fillstyle=solid,fillcolor=white,linewidth=1.5pt](0.2,3)(0.8,3.6)
\psframe[fillstyle=solid,fillcolor=white,linestyle=none](-3,0)(-2,1.4)
\psframe[fillstyle=solid,fillcolor=white,linestyle=none](3,0)(4,1.4)
\psline[linewidth=1.5pt](0.2,1)(0.4,3)
\psline[linewidth=1.5pt](0.8,1)(0.6,3)
\uput{4.8}[100](0,0){\rput{-80}{\psframe(0,0)(0.8,0.8)}}
\uput{4.6}[120](0,0){\rput{-60}{\psframe(0,0)(0.8,0.8)}}
\uput{4.4}[140](0,0){\rput{-40}{\psframe(0,0)(0.8,0.8)}}
\uput{4.2}[160](0,0){\rput{-20}{\psframe(0,0)(0.8,0.8)}}
\uput{4}[180](0,0){\psframe(0,0)(0.8,0.8)}
\uput{4.8}[80](1,0){\rput{80}{\psframe(0,0)(-0.8,0.8)}}
\uput{4.6}[60](1,0){\rput{60}{\psframe(0,0)(-0.8,0.8)}}
\uput{4.4}[40](1,0){\rput{40}{\psframe(0,0)(-0.8,0.8)}}
\uput{4.2}[20](1,0){\rput{20}{\psframe(0,0)(-0.8,0.8)}}
\uput{4}[0](1,0){\psframe(0,0)(-0.8,0.8)}
\end{pspicture}
\captionof*{figure}{Semicircular}
\tabularnewline
\tabularnewline
\tabularnewline
\begin{pspicture}(0,0)(7,4)
\multiput(2,0)(2,0){3}{\psframe(0,0)(1,1)}
\psline[linewidth=1.5pt](2,2.8)(7,2.8)
\psframe(0,1.5)(1,2.5)
\psarc[linewidth=1.5pt](2,2){0.8}{90}{270}
\psline[linewidth=1.5pt](2,1.2)(7,1.2)
\multiput(2,3)(2,0){3}{\psframe(0,0)(1,1)}
\end{pspicture}
\captionof*{figure}{U-Shaped}
&
\begin{pspicture}(0,0)(9,6)
\psline[linewidth=1.5pt](2,2)(2,5)
\psline[linewidth=1.5pt](2,2)(5,2)
\psline[linewidth=1.5pt](5,2)(5,5)
\psline[linewidth=1.5pt](5,5)(6.5,5)
\psline[linewidth=1.5pt](6.5,5)(6.5,0.5)
\psframe(0,1.5)(1,2.5)
\psframe(0,3)(1,4)
\psframe(0,4.5)(1,5.5)
\psframe(1.5,0)(2.5,1)
\psframe(3,0)(4,1)
\psframe(4.5,0)(5.5,1)
\psframe(3,3)(4,4)
\psframe(3,4.5)(4,5.5)
\psframe(7.5,0)(8.5,1)
\psframe(7.5,1.5)(8.5,2.5)
\psframe(7.5,3)(8.5,4)
\psframe(7.5,4.5)(8.5,5.5)
\end{pspicture}
\captionof*{figure}{Serpentine}
\end{tabular} 
\end{minipage} 
\end{center}
\end{document}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Passe den angegebenen Platzbedarf an den tatsächlich benötigten an und zentriere die Spalten. Dann sind die Zeichnungen und die Beschriftungen in ihrer Spalte horizontal zentriert.
\documentclass[12pt]{article} 
\usepackage{caption} 
\usepackage{pst-all} 
\usepackage{array}

\begin{document} 
\noindent\textbf{\Large{Aufgabe 1}}

\begin{center} 
\begin{minipage}{\linewidth} 
\psset{unit=.7cm} 
\centering 
\begin{tabular}{@{}*{2}{>{\centering\arraybackslash}p{6.5cm}}@{}} 
\begin{pspicture}(0,0)(9,2) 
\psline[linewidth=1.5pt](0,1.5)(9,1.5) 
\multiput(1,0)(2,0){4}{\psframe(0,0)(1,1)} 
\end{pspicture}
\captionof*{figure}{Linear} 
& 
\begin{pspicture}(-4,0)(5,5) 
\psframe[linewidth=1.5pt](0,0)(1,1) 
\psarc[linewidth=1.5pt](0.5,0){3,35}{0}{180} 
\psframe[fillstyle=solid,fillcolor=white,linewidth=1.5pt](0.2,3)(0.8,3.6) 
\psframe[fillstyle=solid,fillcolor=white,linestyle=none](-3,0)(-2,1.4) 
\psframe[fillstyle=solid,fillcolor=white,linestyle=none](3,0)(4,1.4) 
\psline[linewidth=1.5pt](0.2,1)(0.4,3) 
\psline[linewidth=1.5pt](0.8,1)(0.6,3) 
\uput{4.8}[100](0,0){\rput{-80}{\psframe(0,0)(0.8,0.8)}} 
\uput{4.6}[120](0,0){\rput{-60}{\psframe(0,0)(0.8,0.8)}} 
\uput{4.4}[140](0,0){\rput{-40}{\psframe(0,0)(0.8,0.8)}} 
\uput{4.2}[160](0,0){\rput{-20}{\psframe(0,0)(0.8,0.8)}} 
\uput{4}[180](0,0){\psframe(0,0)(0.8,0.8)} 
\uput{4.8}[80](1,0){\rput{80}{\psframe(0,0)(-0.8,0.8)}} 
\uput{4.6}[60](1,0){\rput{60}{\psframe(0,0)(-0.8,0.8)}} 
\uput{4.4}[40](1,0){\rput{40}{\psframe(0,0)(-0.8,0.8)}} 
\uput{4.2}[20](1,0){\rput{20}{\psframe(0,0)(-0.8,0.8)}} 
\uput{4}[0](1,0){\psframe(0,0)(-0.8,0.8)} 
\end{pspicture} 
\captionof*{figure}{Semicircular} 
\tabularnewline 
\tabularnewline 
\tabularnewline 
\begin{pspicture}(0,0)(7,4) 
\multiput(2,0)(2,0){3}{\psframe(0,0)(1,1)} 
\psline[linewidth=1.5pt](2,2.8)(7,2.8) 
\psframe(0,1.5)(1,2.5) 
\psarc[linewidth=1.5pt](2,2){0.8}{90}{270} 
\psline[linewidth=1.5pt](2,1.2)(7,1.2) 
\multiput(2,3)(2,0){3}{\psframe(0,0)(1,1)} 
\end{pspicture}
\captionof*{figure}{U-Shaped} 
& 
\begin{pspicture}(0,0)(8.5,5.5) 
\psline[linewidth=1.5pt](2,2)(2,5) 
\psline[linewidth=1.5pt](2,2)(5,2) 
\psline[linewidth=1.5pt](5,2)(5,5) 
\psline[linewidth=1.5pt](5,5)(6.5,5) 
\psline[linewidth=1.5pt](6.5,5)(6.5,0.5) 
\psframe(0,1.5)(1,2.5) 
\psframe(0,3)(1,4) 
\psframe(0,4.5)(1,5.5) 
\psframe(1.5,0)(2.5,1) 
\psframe(3,0)(4,1) 
\psframe(4.5,0)(5.5,1) 
\psframe(3,3)(4,4) 
\psframe(3,4.5)(4,5.5) 
\psframe(7.5,0)(8.5,1) 
\psframe(7.5,1.5)(8.5,2.5) 
\psframe(7.5,3)(8.5,4) 
\psframe(7.5,4.5)(8.5,5.5) 
\end{pspicture}
\captionof*{figure}{Serpentine} 
\end{tabular} 
\end{minipage} 
\end{center} 
\end{document}
Wenn Du die Zeichnungen aber links ausgerichtet haben möchtest und unter diesen die Beschriftungen zentriert, dann musst Du auch den Zeichenbereich korrigieren, darfst aber die Spalten nicht zentrieren. Dafür kannst Du jede Zeichnung mit ihrer Beschriftung in eine \parbox oder minipage setzen, deren Breite mit der Breite des Zeichenbereiches übereinstimmt.

Gruß
Elke

PS: Dein Code legt für mich übrigens die Verwendung von Schleifen nahe.

Tobi123456

Beitrag von Tobi123456 »

Ich danke dir vielmals für die Mühe.
Ich verstehe zwar nicht, wie du es gemacht hast aber das Ergebnis ist super.

Große Danke für deine Hilfe.

PS: Ich bin schon froh das ich die Zeichnungen überhaupt hinbekommen habe :D

Antworten