PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ablaufschaubild mit psmatrix



Zig
06-01-2011, 19:35
Hallo!

Ich habe ein Problem mit einem Ablaufschaubild, welches ich mit psmatrix erstellt hab. Wenn ich das Schaubild auf eine DIN A4 seite packe, dann wird die Schrift zu klein. Kann ich die Abstände zwischen den Boxen so verändern, dass zum Beispiel die Boxen aus (6,1) und (6,3) weiter in der Mitte sind und quasi in (6,2) überlappen ? Ich bin natürlich auch offen für andere Vorschläge um die Schrift größer zu bekommen. Mit \Large geht es nicht wirklich. Hier mein Programmbeispiel (ich hoffe es ist nicht zu unübersichtlich):


\documentclass{scrreprt}

\usepackage[bottom=2cm]{geometry}
\usepackage{ngerman}
\usepackage[ansinew]{inputenc}
\usepackage{pstricks,pst-node,pst-blur,pst-pdf}
\usepackage{amsmath}
\usepackage{array}
\usepackage{color,colortbl}

\begin{document}

\resizebox{\textwidth}{!}{
\psset{shadowcolor=black!70,blur=true}
\psset{linecolor=red}
\begin{psmatrix}[rowsep=1,columnsep=-1]
\psframebox[shadow=true,framesep=10pt]{\begin{tabular}{ll} Gegeben: & \(p_1=2\) bar \\ & \(T_1 = 293\) K \\ & \(c_1 = 7,499\) m/s \\ & \(p_a=1,01325\) bar \end{tabular}} & & \psset{linecolor=black} \psframebox[shadow=true,framesep=10pt]{ \begin{tabular}{cc} Gegeben: & p\textsubscript{0} \\ & T\textsubscript{0} \\ & p\textsubscript{a} \end{tabular}} \\
\psframebox[shadow=true,framesep=10pt]{\begin{tabular}{c} \(T_0=T_1+\cfrac{c_1^2}{2\cdot c_p}\) \\ \\ \(=293K+\cfrac{(7,499m/s)^2}{2\cdot 1005J/(kg\cdot K)}=293,028K\) \\ \\ \(p_0=2bar\cdot \left(\cfrac{293,028K}{293K}\right)^{\frac{1,4}{1, 4-1}}=2,00066bar\) \end{tabular}} \\ & \psframebox[shadow=true,framesep=10pt]{\begin{tabular}{c} Dichte in Rohrleitung: \\ \\ \(\varrho_0=\cfrac{p_0}{R\cdot T_0}\) \\ \\ \(=\cfrac{2,00066bar}{287,14J/(kg\cdot K)\cdot 293,028K}\) \\ \\ \(=2,3778kg/m^3\) \end{tabular}} \\
& \psframebox[shadow=true,framesep=10pt]{\begin{tabular}{c} Kritisches Druckverhältnis: \\ \\ \(\cfrac{p_*}{p_0}=\left(\cfrac{2}{\kappa+1}\right )^{\frac{\kappa}{\kappa-1}}\) \\ \\ \(= \left(\cfrac{2}{1,4+1}\right)^{\frac{1,4}{1,4-1}} = 0,528\) \end{tabular}} \\
& \psdiabox[shadow=true,framesep=10pt]{\(\cfrac{p_a}{p_0} \leq \cfrac{p_*}{p_0}\)} \\
\psset{linecolor=black} \psframebox[shadow=true,framesep=10pt]{\begin{tabular}{c} Im Austrittsquerschnitt A stellt sich der \\Druck p\textsubscript{a} ein: \\ \\ \(p=p_a\) \\ \\ \(T=T_0\cdot \left(\cfrac{p}{p_0}\right)^{\frac{\kappa-1}{\kappa}}\) \\ \\ \(\varrho=\cfrac{p}{R\cdot T}\) \\ \\ \(c=\sqrt{\mathstrut 2\cdot c_p\cdot \left(T_0-T\right)}\) \end{tabular}} && \psframebox[shadow=true,framesep=10pt]{\begin{tabular}{c} Im Austrittsquerschnitt A stellt \\ sich der kritische Zustand ein: \\ \\ \(p=p_*=p_0\cdot \left(\cfrac{2}{\kappa+1}\right)^{\frac{\kappa}{\k appa-1}}\) \\ \\ \(=2,00066bar\cdot \left(\cfrac{2}{1,4+1}\right)^{\frac{1,4}{1,4-1}}=1,057bar\) \\ \\ \\ \(T=T_*=T_0\cdot \cfrac{2}{\kappa+1}\) \\ \\ \(=293,028\cdot \cfrac{2}{1,4+1}=244,190K\) \\ \\ \\ \(\varrho=\varrho_*=\cfrac{p_*}{R\cdot T_*}\) \\ \\ \(=\cfrac{1,057bar}{287,14J/(kg\cdot K)\cdot 244,190K}=1,5074kg/m^3\) \\ \\ \\ \(c=c_*=\sqrt{\mathstrut \kappa\cdot R\cdot T_*}\) \\ \\ \(=\sqrt{\mathstrut 1,4\cdot 287,14J/(kg\cdot K)\cdot 244,190K}=313,31m/s\) \end{tabular}} \\
& \psframebox[shadow=true,framesep=10pt]{\begin{tabular}{c} \(\dot{m}=\mu\cdot A\cdot \varrho\cdot c\) \\ \(=1\cdot 0,000314m^2\cdot 1,5074kg/m^3\cdot 313,13m/s\) \\ \(=0,1484kg/s\) \end{tabular}}

\psset{arrowscale=2}
\psset{linecolor=black}
\ncangle[angleA=270,angleB=90,armB=0.6cm]{->}{1,3}{3,2}
\ncangle[offsetA=-1pt,angleA=180,angleB=90]{->}{5,2}{6,1}^{Nein}
\ncangle[angleA=270,angleB=90,armB=0.5cm]{->}{6,1}{7,2}

\psset{linecolor=red}
\ncline{->}{1,1}{2,1}
\ncangle[angleA=270,angleB=90,armB=0.6cm]{->}{2,1}{3,2}
\ncline{->}{3,2}{4,2}
\ncline{->}{4,2}{5,2}
\ncangle[offsetA=1pt,angleA=0,angleB=90]{->}{5,2}{6,3}^{Ja}
\ncangle[angleA=270,angleB=90,armB=0.5cm]{->}{6,3}{7,2}

\psset{linecolor=black}
\end{psmatrix}%
}
\end{document}


Vielen Dank!

Gruß
Zig

voss
07-01-2011, 15:23
Ich habe ein Problem mit einem Ablaufschaubild, welches ich mit psmatrix erstellt hab. Wenn ich das Schaubild auf eine DIN A4 seite packe, dann wird die Schrift zu klein. Kann ich die Abstände zwischen den Boxen so verändern, dass zum Beispiel die Boxen aus (6,1) und (6,3) weiter in der Mitte sind und quasi in (6,2) überlappen ? Ich bin natürlich auch offen für andere Vorschläge um die Schrift größer zu bekommen. Mit \Large geht es nicht wirklich. Hier mein Programmbeispiel (ich hoffe es ist nicht zu unübersichtlich):


Der PArameter heißt colsep! Hier nochmal eine Vereinfachung, damit es übersichtlicher wird:

\documentclass{scrreprt}

\usepackage[bottom=2cm]{geometry}
\usepackage{ngerman}
\usepackage[utf8]{inputenc}
\usepackage{pstricks,pst-node,pst-blur,pst-pdf}
\usepackage{amsmath}
\usepackage{array}
\usepackage{color,colortbl}

\newcommand\psfbox[2][c]{%
\psframebox[shadow,framesep=10pt]{%
\begin{tabular}{#1} #2 \end{tabular}}}

\begin{document}

\resizebox{\linewidth}{!}{%
\psset{shadowcolor=black!70,blur=true}
\psset{linecolor=red}
\begin{psmatrix}[rowsep=1,colsep=-1]
\psfbox[ll]{Gegeben: & \(p_1=2\) bar \\ & \(T_1 = 293\) K \\ & \(c_1 = 7,499\) m/s \\ & \(p_a=1,01325\) bar }
& & \psfbox[ll]{Gegeben: & p\textsubscript{0} \\ & T\textsubscript{0} \\ & p\textsubscript{a}} \\
\psfbox{\(T_0=T_1+\cfrac{c_1^2}{2\cdot c_p}\) \\ \\
\(=293K+\cfrac{(7,499m/s)^2}{2\cdot 1005J/(kg\cdot K)}=293,028K\) \\ \\
\(p_0=2bar\cdot \left(\cfrac{293,028K}{293K}\right)^{\frac{1,4}{1, 4-1}}=2,00066bar\)} \\
& \psfbox{Dichte in Rohrleitung: \\ \\
\(\varrho_0=\cfrac{p_0}{R\cdot T_0}\) \\ \\
\(=\cfrac{2,00066bar}{287,14J/(kg\cdot K)\cdot 293,028K}\) \\ \\
\(=2,3778kg/m^3\)} \\
& \psfbox{Kritisches Druckverhältnis: \\ \\
\(\cfrac{p_*}{p_0}=\left(\cfrac{2}{\kappa+1}\right )^{\frac{\kappa}{\kappa-1}}\) \\ \\
\(= \left(\cfrac{2}{1,4+1}\right)^{\frac{1,4}{1,4-1}} = 0,528\)} \\
& \psdiabox[shadow=true,framesep=10pt]{\(\cfrac{p_a}{p_0} \leq \cfrac{p_*}{p_0}\)} \\
\psset{linecolor=black} %
\psfbox{Im Austrittsquerschnitt A stellt sich der \\
Druck p\textsubscript{a} ein: \\ \\
\(p=p_a\) \\ \\
\(T=T_0\cdot \left(\cfrac{p}{p_0}\right)^{\frac{\kappa-1}{\kappa}}\) \\ \\
\(\varrho=\cfrac{p}{R\cdot T}\) \\ \\
\(c=\sqrt{\mathstrut 2\cdot c_p\cdot \left(T_0-T\right)}\)}
& & \psfbox{Im Austrittsquerschnitt A stellt \\
sich der kritische Zustand ein: \\
\(p=p_*=p_0\cdot \left(\cfrac{2}{\kappa+1}\right)^{\frac{\kappa}{\k appa-1}}\) \\ \\
\(=2,00066bar\cdot \left(\cfrac{2}{1,4+1}\right)^{\frac{1,4}{1,4-1}}=1,057bar\) \\ \\ \\
\(T=T_*=T_0\cdot \cfrac{2}{\kappa+1}\) \\ \\
\(=293,028\cdot \cfrac{2}{1,4+1}=244,190K\) \\ \\ \\
\(\varrho=\varrho_*=\cfrac{p_*}{R\cdot T_*}\) \\ \\
\(=\cfrac{1,057bar}{287,14J/(kg\cdot K)\cdot 244,190K}=1,5074kg/m^3\) \\ \\ \\
\(c=c_*=\sqrt{\mathstrut \kappa\cdot R\cdot T_*}\) \\ \\
\(=\sqrt{\mathstrut 1,4\cdot 287,14J/(kg\cdot K)\cdot 244,190K}=313,31m/s\)} \\
& \psfbox{\(\dot{m}=\mu\cdot A\cdot \varrho\cdot c\) \\
\(=1\cdot 0,000314m^2\cdot 1,5074kg/m^3\cdot 313,13m/s\) \\
\(=0,1484kg/s\)}
\psset{arrowscale=2}
\psset{linecolor=black}
\ncangle[angleA=270,angleB=90,armB=0.6cm]{->}{1,3}{3,2}
\ncangle[offsetA=-1pt,angleA=180,angleB=90]{->}{5,2}{6,1}^{Nein}
\ncangle[angleA=270,angleB=90,armB=0.5cm]{->}{6,1}{7,2}

\psset{linecolor=red}
\ncline{->}{1,1}{2,1}
\ncangle[angleA=270,angleB=90,armB=0.6cm]{->}{2,1}{3,2}
\ncline{->}{3,2}{4,2}
\ncline{->}{4,2}{5,2}
\ncangle[offsetA=1pt,angleA=0,angleB=90]{->}{5,2}{6,3}^{Ja}
\ncangle[angleA=270,angleB=90,armB=0.5cm]{->}{6,3}{7,2}
\end{psmatrix}%
}
\end{document}

Herbert

Zig
07-01-2011, 16:50
Super!
Vielen Dank!

Falls du mal Zeit und Lust hast, könntest du ja vielleicht noch kurz erklären wie sich genau der neue Befehl \psfbox zusammensetzt ?!? Also für mich sieht das so aus, als würdest du einer Tabelle eine Box zuweisen, die zwei Spalten breit ist. Ist das in etwa richtig ?!?

Gruß
Zig

voss
07-01-2011, 21:13
Falls du mal Zeit und Lust hast, könntest du ja vielleicht noch kurz erklären wie sich genau der neue Befehl \psfbox zusammensetzt ?!? Also für mich sieht das so aus, als würdest du einer Tabelle eine Box zuweisen, die zwei Spalten breit ist. Ist das in etwa richtig ?!?


\psfbox{...\\...} setzt das Innere einfach in eine Tabelle, die nur eine Spalte
hat, weil der optionale Parameter hier fehlt und daher durch c ersetzt wird.
\psfbox[ll]{a & b \\ ...} hat ein optionales Argument und nimmt dieses für
die Definition der Tabelle, jetzt also ll, sodass du zwei Spalten benutzen kannst.

Verstanden?
Herbert