von Gast » Fr 12. Jan 2018, 10:53
\ENDWHILE beendet erst interne Gruppen und führt dann \algorithmicendwhile aus. Da Du aber \NoEndWhile noch vor \ENDWHILE ausführt, ist die lokale Umdefinierung von \algrorithmicendwhileauf die aktuelle Gruppe beschränkt und damit nicht mehr gültig, wenn es innerhalb von \ENDWHILE verwendet wird. Du müsstest also \NoEndWhile vor dem jeweiligen \WHILE einfügen und nicht erst vor dem \ENDWHILE. Das gilt für ähnliche Befehle in gleicher Weise.
Außerdem sei darauf hingewiesen, dass damit zwar der Text nicht mehr ausgegeben wird, die Zeile aber bleibt, also eine Leerzeile entsteht.
[tt]\ENDWHILE[/tt] beendet erst interne Gruppen und führt dann [tt]\algorithmicendwhile[/tt] aus. Da Du aber [tt]\NoEndWhile[/tt] noch vor [tt]\ENDWHILE[/tt] ausführt, ist die lokale Umdefinierung von [tt]\algrorithmicendwhile[/tt]auf die aktuelle Gruppe beschränkt und damit nicht mehr gültig, wenn es innerhalb von [tt]\ENDWHILE[/tt] verwendet wird. Du müsstest also [tt]\NoEndWhile[/tt] vor dem jeweiligen [tt]\WHILE[/tt] einfügen und nicht erst vor dem [tt]\ENDWHILE[/tt]. Das gilt für ähnliche Befehle in gleicher Weise.
Außerdem sei darauf hingewiesen, dass damit zwar der Text nicht mehr ausgegeben wird, die Zeile aber bleibt, also eine Leerzeile entsteht.