PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Caption bei Algorithm2e ohne Nummerierung



1of1
08-05-2008, 14:15
Hallo zusammen!



\usepackage[german,vlined,boxed]{algorithm2e}


Wie bekomm ich hin, dass er beim Algorithm2e-Paket in der "caption-Unterschrift" anstatt

Algorithmus 1: blabla

schreibt

Algorithmus: blabla

??

Ich verwende



\Titleofalgo{blabla}

\caption{blabla}


damit er mir oben den Titel hinschreibt (passt so, ohne Nummerierung) und unten hätt ich gern das Gleiche, auch ohne Nummerierung.

:confused:

Danke schonmal im Voraus!!

sommerfee
08-05-2008, 14:26
\makeatletter
% Original:
% \def\fnum@algocf{{\AlCapFnt\AlTitleFnt{\algorithmc fname\nobreakspace\thealgocf}}}
\renewcommand\fnum@algocf{{\AlCapFnt\AlTitleFnt{\a lgorithmcfname}}}
\makeatother

1of1
08-05-2008, 15:05
:)
Sehr cool, danke!!

[Für nachfolgende Leser: obiger Code ist im Header des Dokuments einzufügen!]


Eine Sache ist mir aber eben noch aufgefallen. Ich hab auch eine Funktion drin:



\begin{function}[!hht]

\Titleofalgo{blabla}

...

\caption{Zwangskoppelnde\_SAs(i)}

\end{function}


Da hat die Unterschrift keinen Doppelpunkt, also "Funktion blabla" anstatt "Funktion : blabla"! :eek:

Generell wär vielleicht das Entfernen des Leerzeichens vor dem Doppelpunkt auch noch schön, sowohl bei Titleofalgo als auch bei caption - die Abbildungen und Tabellen werden normal ja auch so dargestellt, also

Algorithmus: blabla
Funktion: blabla
(Abbildung: blabla)

Vielen Dank nochmal!!!!

sommerfee
08-05-2008, 15:14
Da hat die Unterschrift keinen Doppelpunkt, also "Funktion blabla" anstatt "Funktion : blabla"! :eek:

Der passende Codeteil in algorithm2e ist wohl:


\newcommand{\algocf@captionproctext}[2]{%
{\AlCapFnt{}\AlTitleFnt{\algocf@procname} %
\ProcNameSty{\algocf@captname #2@}% Name of the procedure in ProcName Style.
\ifthenelse{\equal{\algocf@captparam #2@}{\arg@e}}{}% if no argument, write nothing
{% else put arguments in ProcArgSty:
\ProcNameSty{(}\ProcArgSty{\algocf@captparam #2@}\ProcNameSty{)}%
}% endif
\algocf@captother #2@%
}
}


Da müsste man dann wohl den ":" an geeigneter Stelle einbauen.



Generell wär vielleicht das Entfernen des Leerzeichens vor dem Doppelpunkt auch noch schön, sowohl bei Titleofalgo als auch bei caption

Wenn ich das richtig deute, ist wohl \algocf@typo für das zusätzliche Leerzeichen verantwortlich, also sollte


\def\algocf@typo{}

(zwischen \makeatletter und \makeatother) helfen.

1of1
08-05-2008, 15:58
Ok, die Sache mit dem Leerzeichen ging schonmal... :)


Das mit dem Doppelpunkt ist haarig... :(
Ich meld mich, wenn ich's hab - darf aber auch gern jemand schon seine Lösung präsentieren, falls es die schon gibt... :)

(wer macht denn sowas überhaupt, die Captions im Package unterschiedlich zu definieren?!) :eek:

1of1
09-05-2008, 10:05
Mmh... bekomm die Sache mit dem Doppelpunkt wohl leider doch nicht hin - bin zu blöd... :(

Hat jemand vielleicht nochmal ne Hilfestellung?! Wäre sehr dankbar!

LG, Flo

notube
09-09-2011, 10:25
Mmh... bekomm die Sache mit dem Doppelpunkt wohl leider doch nicht hin - bin zu blöd... :(

Hat jemand vielleicht nochmal ne Hilfestellung?! Wäre sehr dankbar!

LG, Flo

Die Antwort kommt reichlich spät, aber da ich eben auch 10min für die Lösung gebraucht habe schreib ich es hier noch ein mal für alle hin:

\makeatletter
\def\algocf@typo{}
\makeatother