algorithmus im pseudocode farbig machen

Formelsatz für Mathematik, Naturwissenschaften und Technik


swizz-john
Forum-Anfänger
Forum-Anfänger
Beiträge: 19
Registriert: Di 4. Jun 2013, 17:20

algorithmus im pseudocode farbig machen

Beitrag von swizz-john »

Hi Leute, ich habe folgendes Problem^^

in meinem header habe ich mir eine umgebung definiert, welche meine Definitionen in farbige boxen setzt--, klappt wunderbar. Jetzt möchte ich das gleiche mit pseudocode machen und das funktioniert iwie nicht!
so sieht der relevante headerpart aus.


\newenvironment{fshaded}{%
\def\FrameCommand{\fcolorbox{framecolor}{shadecolor}}%
\MakeFramed {\FrameRestore}}%
{\endMakeFramed}
\newenvironment{fdef}[1][]{\definecolor{shadecolor}{rgb}{.9,.9,1}%
\definecolor{framecolor}{rgb}{.1,.0,.7}%
\begin{fshaded}\begin{definition}}{\end{definition}\end{fshaded}}

\usepackage{algorithm2e}






Wenn ich jetzt folgendes eingebe kompiliert er nicht, sondern zeigt mir
den fehler an, dass er den befehl \KwData etc nicht kennt.


\begin{fdef}
\begin{algorithm}
\KwData{Graph $G=(V,E)$, Startknoten $s\in V$,
Kantengewichte $c: E \to \mathbb{R}_+$}
\KwResult{K"urzeste-Wege-Baum ausgehend von $s$}
$S := \{s\};\ \bar{S} := V \setminus S$\;
\lForEach{$j \in V$}{$d_j := c_{sj}$\tcp*{$\infty$,
wenn $sj \notin E$}}
\lForEach{$j \in V\setminus S$}{$p_j := s$\;}
\While{$S \neq V$}{
Bestimme $i \in \bar{S}$ mit $d_i = \min_{j
\in \bar{S}}\{d_j\}$\;
$S:=S\cup\{i\};\ \bar{S}:=\bar{S}\setminus\{i\}$\;
\ForEach{$ij \in E$}{
\If{$d_i + c_{ij} < d_j$}{
$d_j := d_i + c_{ij};\ p_j:=i$\;
}
}
}
\end{algorithm}
\end{fdef}

Kann mir einer helfenß? ich würde nur gerne den Pseudocode farblich unterlegen;)

best regards, swizz-john

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Bitte mach ein vollständiges Minimalbeispiel das deinen Fehler zeigt.
Und bitte verwende den CODE-Button.


Grüße
Epllus

swizz-john
Forum-Anfänger
Forum-Anfänger
Beiträge: 19
Registriert: Di 4. Jun 2013, 17:20

Beitrag von swizz-john »

[code]
\documentclass[paper=a4,toc=bibliography,nonchapterprefix,parskip=true]{scrreprt}

% -------------------------------------------------------------------
%%% Laden elementarer Pakete
%
% Deutsche Schriftpakete
\usepackage[ansinew]{inputenc} % alternativ: 'utf8' oder 'latin9' statt ansinew
\usepackage[TS1,T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage[english,ngerman]{babel}
%
% Mathematische Pakete
\usepackage{amsmath}
\usepackage{amsmath,amssymb,bm,bbm} % Formelsetzung und mathematischen Symbole
\usepackage[amsmath,thmmarks]{ntheorem} % Theorem-Umgebungen, alternativ: 'amsthm'
%
% Grafik-Pakete einbinden
\usepackage{graphicx,psfrag} % Basis-Pakete zum Laden von Bildern (jpg?)
\usepackage{float}
\usepackage{color} % erweitertes Farb-Paket, alternativ: 'xcolor'
\usepackage{pstricks,pst-plot} % weiteres Paket zur Erstellung von LaTeX-Grafiken
\usepackage{pst-node}
\usepackage[margin=10pt,font=small,labelfont=bf]{caption}
\usepackage{footnote}

%\usepackage{setspace}
%\onehalfspacing
%
% erweiterte Tabellen
\usepackage{array} % Basis-Paket
\usepackage{booktabs} % 'schöne' Tabellen
\usepackage{tabularx} % Tabellen mit dynamischer Spaltenbreite
\usepackage{longtable} % Tabellen mit möglichem Seitenumbruch
\usepackage{multirow} % mehrzeilige Zellen
\usepackage{float}

\RequirePackage{framed} %Konstuieren von Farbboxen hinter dem Text

% Stil der Algorithmus - Umgebung
\theoremstyle{nonumberplain}
\theoremseparator{}
\newtheorem{algorithmus}{}

%%%Einstellung und Formatierung der Boxen für Theorem-Umgebung
%
\newenvironment{fshaded}{%
\def\FrameCommand{\fcolorbox{framecolor}{shadecolor}}%
\MakeFramed {\FrameRestore}}%
{\endMakeFramed}
\newenvironment{fdef}[1][]{\definecolor{shadecolor}{rgb}{.9,.9,1}%
\definecolor{framecolor}{rgb}{.1,.0,.7}%
\begin{fshaded}\begin{definition}}{\end{definition}\end{fshaded}}
%\newenvironment{falgo}[1][]{\definecolor{shadecolor}{rgb}{1,.8,.8}%
%\definecolor{framecolor}{rgb}{1,0,0}%
\newenvironment{falgo}[1][]{\definecolor{shadecolor}{RGB}{230,253,219}%
\definecolor{framecolor}{RGB}{119,236,157}%
\begin{fshaded}\begin{algorithmus}}{\end{algorithmus}\end{fshaded}}
%
\usepackage{colortbl}
%\definecolor{hellgrau}{rgb}{0.95,0.95,0.95}
\definecolor{hellgrau}{RGB}{230,253,219}
\usepackage{booktabs}

%Zum Setzen von Hyperlinks in PDF Dateien
\usepackage{url}

\usepackage{listings} %Für Matlab Code

\usepackage{picinpar}
\usepackage{wrapfig}
\setlength{\intextsep}{0pt}
\usepackage{bibgerm}


\usepackage{algorithm2e}


\begin{document}


\begin{falgo}
% \begin{labeling}{\textbf{Schritt 1: }}
\begin{algorithm}[H]
\SetAlgoLined
\KwData{lala}
\KwResult{dasdf}
\While{asdf}{
dasdf.\;
\eIf{adf}{
asdf $c$\;
}{
asdf\;
}
}
%\caption{How to write algorithms}
\end{algorithm}
%\end{labeling}
\end{falgo}


\end{document}[/code]


So das funktioniert jetzt , hatte da wohl ein paket was iwie kollidiert ist.
Also jetzt ist dieser Alg. farblich unterlegt. Wie bekomme ich denn nun eine überschrift ??

laut: http://www.cs.toronto.edu/~frank/Useful/algorithm2e.pdf

müsste \Titleofalgo{thetitle} funktionieren.
Bei mir kommt dann allerding sdie fehlermeldung:

Undefined control sequence \Titleofalgo{thetitle}

Ebenso funktionieren andere Attribute nicht (z.b. \dontprintsemicolon), mit dem Hinweis auf undefinded control sequence. Ich bitte um eure Hilfe

btw: was mahce ich falsch, dass er den latex code nicht erkennt mit der[code][/code] anweisung

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Edit: Die Doku im Link ist sehr veraltet.

Entweder du schaust auf deinem Computer nach der Anleitung mittels
 texdoc algorithm2e 
oder du versuchst es mal mit der Paketoption „oldcommands“, damit müsste es funktionieren.
\usepackage[oldcommands]{algorithm2e} 
[quote="swizz-john"]btw: was mahce ich falsch, dass er den latex code nicht erkennt mit der
 [ /code] anweisung
[/quote]
Manchmal hilft es, wenn man sie „per Hand“ schreibt und nicht den Button verwendet.

Grüße
Epllus

swizz-john
Forum-Anfänger
Forum-Anfänger
Beiträge: 19
Registriert: Di 4. Jun 2013, 17:20

Beitrag von swizz-john »

Hi Epllus,

funktioniert wunderbar mit der option "oldcommends".

Vielen dank!!!;)

Antworten