Seite 1 von 1

Bildunterschrift under algorithm

Verfasst: Mi 21. Mär 2012, 11:10
von xisme
Hallo,

In meinem Dokument habe ich mittles algorithm und algorithmic einen Abschnitt mit Pseudocode. Für den Code hätte ich gerne eine Bildunterschrift, die mit dem Rest meines Dokumentes konform ist. Wenn ich den caption Befehl in der algorithm Umgebung verwendet, erscheint mir in der Kopfzeile Algorithmus 1. Ich hätte dies aber gerne unter dem Dokument stehen, vergleichbar wie bei Bildern mit Abbildung 1 etc.

Meine Lösung für das Problem war einfach eine table Umgebung zu erstellen mit der Bildunterschrift. Das funktioniert so prinzipiell aber führt zu Problemen, wenn latex den Algorithmus aus Platzgründen auf die nächste Seite verschiebt. Denn die caption in der table Umgebung wird nicht verschoben.

Kann ich die beiden Umgebungen miteinander bündeln, dass beide verschoben werden oder gibt es irgendeine andere Möglichkeit eine Bildunterschrift unter den Algorithmus zu bekommen?

Danke schonmal für die Antworten und hier ein Minimalbeispiel:
\begin{algorithm}
\caption*{\textbf{Algorithmus}}
\begin{algorithmic}
\State $i = 1$
\end{algorithmic}
\end{algorithm}
\begin{table}[h!]
  \caption{Hier die Bildunterschrift.}
\label{ta}
\end{table}

Verfasst: Mi 21. Mär 2012, 11:54
von Sepp99
Meinst du so etwas?
\listfiles
\documentclass[ngerman]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[plain]{algorithm}
\usepackage{algorithmic}

\begin{document}

\begin{algorithm}
\caption{\textbf{Algorithmus}}
	\begin{algorithmic}
		\STATE $i = 1$
	\end{algorithmic}
\end{algorithm}

\begin{table}[h!]
  \caption{Hier die Bildunterschrift.}
\label{ta}
\end{table}

\end{document}
Ergebnis im Anhang. Siehe dazu Paketdoku Abschnitt 4.3. Bitte gewöhne dir an, lauffähige Minimalbeispiele [2] zu liefern - es ist mühsam, sich die Pakete immer selbst zusammensuchen zu müssen.
Gruß, Sepp.-

Verfasst: Mi 21. Mär 2012, 13:22
von Besserwisser
Ich würde schlicht auf das Paket algorithm verzichten und die Umgebung dafür entweder mit caption oder tocbasic (bei KOMA-Script-Klassen ist das ohnehin schon geladen) machen:
\listfiles 
\documentclass[ngerman]{scrartcl}% Wahlweise kann auch eine Standardklasse
                                % verwendet werden.

\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{babel} 
\usepackage{algorithmic}

\usepackage{tocbasic}% So geht das auch mit einer Standardklasse.
\providecommand*{\autodot}{}% So geht das auch mit einer Standardklasse.

\DeclareNewTOC[%
  type=algorithm,
  name=Algorithmus,
  listname={List der Algorithmen},
  float, % definiere die Gleitumgebung algorithm
  nonfloat % definiere die nicht gleitende Umgebung algorithm-
]{alg}

\begin{document} 

\listofalgorithms

\begin{algorithm} 
   \begin{algorithmic} 
      \STATE $i = 1$ 
   \end{algorithmic} 
   \caption{Das ist ein Algorithmus} 
\end{algorithm} 

\end{document}

Verfasst: Mi 21. Mär 2012, 14:25
von xisme
Sepp99 hat geschrieben: Bitte gewöhne dir an, lauffähige Minimalbeispiele [2] zu liefern - es ist mühsam, sich die Pakete immer selbst zusammensuchen zu müssen.
Sry, Newbie und so. Ich gelobe Besserung beim nächsten mal.

Vielen Dank an euch zwei. Beide Lösungsvorschläge führen zum gewünschten Ergebnis. :D