PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Struktogramm mit Caption



TeacherMC
12-08-2009, 08:48
Hallo zusammen,

ich benutze das Paket struktex um Struktogramme in Latex einzubinden.
Diese werden in einer wohl picture-Umgebung erzeugt.

Kann mir jemand helfen, wie ich zu einem Struktogramm
eine caption einbinden kann?
Innerhalb von

begin{struktogramm}
...
end{struktogramm}

funktioniert nicht.

Minimalbeispiel:

\documentclass{scrbook}
\usepackage{struktex}
\usepackage{lipsum}
%
\begin{document}
\lipsum
\begin{flushleft}
\vspace{\floatsep}
\begin{struktogramm}(145,50)[{fakultaet(n:GZ):GZ}]
\ifthenelse{2}{6}
{$$n<0$$} {ja}{nein}
\assign{\(n\gets -1\)}
\change
\ifthenelse{2}{6}
{$$n==0$$} {ja}{nein}
\assign{\(n\gets 1\)}
\change
\assign{\(n\gets n * fakultaet(n-1)\)}
\ifend
\ifend
\assign{return n}
\end{struktogramm}
\end{flushleft}
%
\lipsum
\end{document}

Gruß

Nico

hakaze
12-08-2009, 09:53
Hi, am einfachsten ist es wohl die flushleft- durch eine figure-Umgebung zu ersetzen:

\documentclass{scrbook}
\usepackage{struktex}
\usepackage{lipsum}
%
\begin{document}
\lipsum
\begin{figure}[htb]
\begin{struktogramm}(145,50)[{fakultaet(n:GZ):GZ}]
\ifthenelse{2}{6}
{$$n<0$$} {ja}{nein}
\assign{\(n\gets -1\)}
\change
\ifthenelse{2}{6}
{$$n==0$$} {ja}{nein}
\assign{\(n\gets 1\)}
\change
\assign{\(n\gets n * fakultaet(n-1)\)}
\ifend
\ifend
\assign{return n}
\end{struktogramm}
\caption{Struktogramm}\label{fig:strukto}
\end{figure}
%
\lipsum
\end{document}
Dann kannst du auch ganz "normal" Captions/Bildunterschriften verwenden.

bobmalaria
12-08-2009, 10:22
hi,

mit dem caption paket kannst du dir per declarecaptiontype eigene umgebungen erstellen. die kannst du dann auch in einem getrennten verzeichnis aufrufen und die bekommen eine eigenen zähler.

gruss

TeacherMC
12-08-2009, 22:51
@hakaze

peinlich...ich dachte das hätte ich bereits ausprobiert.
Funktioniert auf jedenfall einwandfrei.
Da hatte ich wohl einen anderen Fehler eingebaut.:confused:

@bobmalaria
danke für den Tipp!!


Ihr habt mir wiedermal gut und schnell geholfen :D

Danke Euch beiden

Nico