Archiv verlassen und diese Seite im Standarddesign anzeigen : "Kopie" eines environments?
Hallo allerseits,
Ich würde gerne ein vorhandenes environment "kopieren" und dann einige Modifikationen vornehmen (caption style, Nummerierung, z.B.), so dass ich nachher die Originalversion sowie die modifizierte Version beide im selben Dokument verwenden kann. Die beiden environments sollten dann völlig unabhängig voneinander sein und u.a. unabhängig nummeriert werden.
Konkret möchte ich die algorithmic/algorithm-Umgebung zweckentfremden. Die Floats vom neuen Typ sollten ihre eigene Nummerierung haben und nicht in \listofalgorithms auftauchen.
Herzlichen Dank für Hinweise.
Ich würde gerne ein vorhandenes environment "kopieren" und dann einige Modifikationen vornehmen (caption style, Nummerierung, z.B.), so dass ich nachher die Originalversion sowie die modifizierte Version beide im selben Dokument verwenden kann. Die beiden environments sollten dann völlig unabhängig voneinander sein und u.a. unabhängig nummeriert werden.
Konkret möchte ich die algorithmic/algorithm-Umgebung zweckentfremden. Die Floats vom neuen Typ sollten ihre eigene Nummerierung haben und nicht in \listofalgorithms auftauchen.
\let\neu\algorithmic
\let\endneu\endalgorithmic
\renewenvironment{neu}{ ... } { ... }
Herbert
SpockinDresden
27-01-2008, 00:21
moment mal, wenn du neu erst algorithmic zuweist und dann überschreibst, kannst du dir doch den \let-spaß vorher sparen ... oder seh ich das falsch?
moment mal, wenn du neu erst algorithmic zuweist und dann überschreibst, kannst du dir doch den \let-spaß vorher sparen ... oder seh ich das falsch?
\let\foo\bar
legt quasi in \foo eine Kopie von \bar an, d. h. Du kannst \foo danach verändern, ohne \bar zu beeinflussen -- oder umgekehrt.
...oder seh ich das jetzt falsch?
MfG,
Besten Dank.
Hab das grad ausprobiert mit:
\let\neu\algorithm
\let\endneu\endalgorithm
und dann:
\begin{neu}
\caption{Test}
\begin{algorithmic}
\STATE Blah blah
\end{algorithmic}
\end{neu}
Funktioniert leider nicht, wie es sollte. Es führt die Nummerierung der algorithm-Umgebung fort und ich kann auch keine Modifikationen vornehmen wie z.B.:
\floatname{neu}{EtwasAnderesAlsAlgorithm}
Andere Ideen?
Besten Dank.
Hab das grad ausprobiert mit:
\let\neu\algorithm
\let\endneu\endalgorithm
und dann:
\begin{neu}
\caption{Test}
\begin{algorithmic}
\STATE Blah blah
\end{algorithmic}
\end{neu}
Funktioniert leider nicht, wie es sollte. Es führt die Nummerierung der algorithm-Umgebung fort und ich kann auch keine Modifikationen vornehmen wie z.B.:
\floatname{neu}{EtwasAnderesAlsAlgorithm}
1. mach komplette Beispiele
2. Erzähle genau, was du erreichen willst
3. dein Beispiel ist doch eh albern, wenn neu wie algorithm angewendet wird
Herbert
sommerfee
27-01-2008, 10:51
Konkret möchte ich die algorithmic/algorithm-Umgebung zweckentfremden. Die Floats vom neuen Typ sollten ihre eigene Nummerierung haben und nicht in \listofalgorithms auftauchen.
Die Umgebung algorithm ist doch auch nur mit \newfloat vom float-Paket definiert (siehe algorithm + float Dokumentationen), was spricht also gegen
\newfloat{neu}...
zur Definition einer eigenen Float-Umgebung mit eigener Numerierung etc.? Kopieren muß man dazu die algorithm-Umgebung nicht.
Gruß,
Axel
SpockinDresden
27-01-2008, 12:57
\let\foo\bar
legt quasi in \foo eine Kopie von \bar an, d. h. Du kannst \foo danach verändern, ohne \bar zu beeinflussen -- oder umgekehrt.
...oder seh ich das jetzt falsch?
nach meinem verständnis ergibt
\let\foo\bar
\renewcommand*\foo{Hello World}
das gleiche ergebnis wie
\newcommand*\foo{Hello World}
in beiden fällen bleibt \bar mit der originalen bedeutung erhalten und \foo macht was anderes.
wenn Du ein makro mit \renewcommand veränderst, dann wird es doch eh komplett neu überschrieben, unabhängig davon, was es vorher gemacht hat...
diese let - \renewcommand sache macht also IHMO nur dann sinn, wenn man \bar verändern möchte, wärend \bar aber woanders schon benutzt wird und ich das originale \bar trotzdem erhalten möchte, also:
\let\foo\bar
\renewcommand*\bar{Hello World}
jetzt ergibt \bar die ausgabe "Hello World". Das original kann aber noch mit \foo erzeugt werden.
ich hoffe, du bist jetzt nicht total verwirrt und wir haben nicht einfach an einander vorbeigeredet ;)
ich hoffe, du bist jetzt nicht total verwirrt und wir haben nicht einfach an einander vorbeigeredet ;)
nö, passt schon -- war wohl gestern schon spät;-)
MfG,
Danke an alle.
Herbert,
1. Mein Beispiel ist komplett. Es enthält alles Relevante. Da noch den gesamten Code des Algorithmus einzufügen, wäre bloss verwirrlich und würde vom Thema ablenken.
2. Was ich genau erreichen möchte, habe ich in meinem Originalpost ausgeführt.
3. Nein, es ist nicht albern. Ich möchte eine eigene Nummerierung für die modifizierte Version von algorithm und Details der Darstellung ändern.
Klaus, ich glaube, Du hast richtig erkannt, was \let macht.
Axel, Dein Vorschlag mit \newfloat{neu}... ist in diesem Fall wohl tatsächlich das einfachste. Danke!
Samuel
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.