Seite 1 von 1

Nassi-Shneiderman mit struktex.sty: Text um 90° drehen?

Verfasst: Do 29. Jul 2010, 22:39
von Sunny2010
Hallo zusammen,

nachdem ich erfolgreich ein Package gefunden habe, dass es ermöglicht Nassi-Shneiderman-Diagramme zu erstellen, hab ich jetzt ein kleines Problem.
Anbei ein Minibeispiel mit meinem Diagramm:
\documentclass[
  	fontsize=11pt,
	ngerman]{scrbook}
\usepackage[pict2e]{struktex} %Nassi-Shneiderman-Diagramme
\usepackage{eso-pic,graphicx,picinpar}
\usepackage{float}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{fancybox}

\begin{document}

\sProofOn
\begin{figure}[htb]
\centering
\begin{struktogramm}(120,180)
\descriptionwidth=80pt
  \assign {Funktion Config\_Data(sRefNo, rngConfigMatrix, sCriteria): Zuordnung zwischen Referenznr und Eigenschaften}
\assign
{
	\begin{declaration}[Parameter:]
		 \description{\pVar{sRefNo}} {\pKey{String}-Parameter}
		 \description{\pVar{rngConfigMatrix}} {\pKey{Range}-Parameter}
 		 \description{\pVar{sCriteria}} {\pKey{String}-Parameter}
		 \description{\pVar{iColumns, iRows, i}} {\pKey{Integer}-Parameter}
	\end{declaration}
}
\assign
{	Initialisierung:\\
	iColumns = Anzahl der Spalten von rngConfigMatrix;\\
 	iRows = Anzahl der Reihen von rngConfigMatrix
}
\while[6]{for i=1 to iRows}
	\ifthenelse[15]{2}{1}{if rngConfigMatrix.Text = sRefNo}{\sTrue}{\sFalse}
	\assign[10]{EXIT FOR-Schleife}
	\change
	\assign[10]{nächste Reihe von rngConfigMatrix}
	\ifend
	\assign[10]{i=i+1}
\whileend
\ifthenelse[15]{1}{2}{Keine Übereinstimmung gefunden}{\sTrue}{\sFalse}
	\ifthenelse[25]{3}{1}{if Criteria = PF}{\sTrue}{\sFalse}
		\assign[10]{Return:\\Keine Materialnummer vorhanden}
		\change
		\assign[14]{\strut}
	\ifend
		\change
		\case{4}{9}{Criteria}{PF}
			\assign[19]{return PF}
			\switch{Cl}
			\assign[19]{return Cl}
			\switch{L}
			\assign[19]{return L}
			\switch{BL}
			\assign[19]{return BL}
			\switch{BS}
			\assign[19]{return BS}
			\switch{CHS}
			\assign[19]{return CHS}
			\switch{BGA}
			\assign[19]{return BGA}
			\switch{Cu}
			\assign[19]{return Cu}
			\switch{Else}
			\assign[19]{return ND}
		\caseend
\ifend
\end{struktogramm}
\caption{Funktion Config\_Data}
\end{figure}
\sProofOff
\end{document}
Nun wird das ganze bei der Case-Unterscheidung sehr eng. Ich hab schon ein paar Sachen ausprobiert: \usepackage{rotating} mit \begin{rotate}{90} Text \end{rotate} und auch \rotatebox{90}{Text}, aber leider tut sich da nix.

Kann mir jemand von Euch helfen?
Danke schonmal,
viele Grüße
Sunny

Verfasst: Fr 30. Jul 2010, 14:25
von Sunny2010
Hallo zusammen,
leider habe ich noch keine Lösung für mein Problem gefunden, ist mein Thema so außergewöhnlich, dass niemand Rat weiß?

Wäre wirklich dankbar. Denn so, wie die Nassi-Shneiderman-Diagramme jetzt aussehen, ist das ja nicht gut in einer Diplomarbeit zu verwenden...

Es wäre gut, wenn man einfach innerhalb eines bestimmten Bereichs den Text um 90° drehen könnte, um die Lesbarkeit des Diagramms zu verbessern.

Danke vielmals für Hilfe oder auch Ideen, wie ich Hilfe bekommen könnte!

Schöne Grüße
Sunny

Verfasst: Fr 30. Jul 2010, 14:43
von Xenara
Ich kenne mich mit solchen Darstellungen absolut überhaupt nicht aus, daher habe ich dich vielleicht falsch verstanden.

In diesem Code habe ich an verschiedenen Stellen eine rotatebox eingebaut, und es funktioniert:
\documentclass[ 
     fontsize=11pt, 
   ngerman]{scrbook} 
\usepackage[pict2e]{struktex} %Nassi-Shneiderman-Diagramme 
\usepackage{eso-pic,graphicx,picinpar} 
\usepackage{float} 
\usepackage{babel} 
\usepackage[T1]{fontenc} 
\usepackage[latin1]{inputenc} 
\usepackage{amsmath} 
\usepackage{fancybox} 

\begin{document} 

\sProofOn 
\begin{figure}[htb] 
\centering 
\begin{struktogramm}(120,180) 
\descriptionwidth=80pt 
  \assign {Funktion Config\_Data(sRefNo, rngConfigMatrix, sCriteria): Zuordnung zwischen Referenznr und Eigenschaften} 
\assign 
{ 
   \begin{declaration}[Parameter:] 
       \description{\pVar{sRefNo}} {\pKey{String}-Parameter} 
       \description{\pVar{rngConfigMatrix}} {\pKey{Range}-Parameter} 
        \description{\pVar{sCriteria}} {\pKey{String}-Parameter} 
       \description{\pVar{iColumns, iRows, i}} {\pKey{Integer}-Parameter} 
   \end{declaration} 
} 
\assign 
{   Initialisierung:\\ 
   iColumns = Anzahl der Spalten von rngConfigMatrix;\\ 
    iRows = Anzahl der Reihen von rngConfigMatrix 
} 
\while[6]{for i=1 to iRows} 
   \ifthenelse[15]{2}{1}{if rngConfigMatrix.Text = sRefNo}{\sTrue}{\sFalse} 
   \assign[10]{\rotatebox{90}{EXIT FOR-Schleife} }
   \change 
   \assign[10]{nächste Reihe von rngConfigMatrix} 
   \ifend 
   \assign[10]{i=i+1} 
\whileend 
\ifthenelse[15]{1}{2}{Keine Übereinstimmung gefunden}{\sTrue}{\sFalse} 
   \ifthenelse[25]{3}{1}{if Criteria = PF}{\rotatebox{90}{\sTrue}}{\rotatebox{90}{\sFalse}}
      \assign[10]{Return:\\Keine Materialnummer vorhanden} 
      \change 
      \assign[14]{\strut} 
   \ifend 
      \change 
      \case{4}{9}{\rotatebox{90}{Criteria}}{PF} 
         \assign[19]{return PF} 
         \switch{Cl} 
         \assign[19]{return Cl} 
         \switch{L} 
         \assign[19]{return L} 
         \switch{BL} 
         \assign[19]{return BL} 
         \switch{BS} 
         \assign[19]{return BS} 
         \switch{CHS} 
         \assign[19]{return CHS} 
         \switch{BGA} 
         \assign[19]{return BGA} 
         \switch{Cu} 
         \assign[19]{return Cu} 
         \switch{Else} 
         \assign[19]{return ND} 
      \caseend 
\ifend 
\end{struktogramm} 
\caption{Funktion Config\_Data} 
\end{figure} 
\sProofOff 
\end{document}

Verfasst: Sa 31. Jul 2010, 13:00
von Sunny2010
Hallo Xenara,
interessanter Weise hat's mit deinem Programm geklappt. Es hat auch in meinem großen Dokument geklappt.
Die DVI-Vorschau kriegt's anscheinend nur nicht hin.

Danke für die Hilfe!
Viele Grüße
Sunny