Ich versuche es mal anhand eines Beispiels zu erklären:
Wenn man zB \usepackage[]{biblatex} benutzt, kann man doch noch viele Einstellungen in der []-Klammer festlegen. Dabei ist es ja völlig egal, in welcher Reihenfolge diese Argumente stehen, oder wie viel Platz dazwischen ist. Ich dachte das könnte man doch dann sicher auch für eine eigene Umgebung verwenden. Also angenommen, man hat eine Umgebung, die ziemlich variabel sein soll - man möchte sich zumindest nicht wie bei NewDocumentEnvironment merken müssen, an welche Stelle welches Argument soll. Da ich meine eigentliche Anwendung schlecht beschreiben kann, hier mal ein Beispiel, welches leichter zu verstehen geht: Die Umgebung (wenn etwas anderes besser passt, gerne) soll in gesprochener Form das machen
\newenvironment{matheSatz}[2]{ \If #1 enthält ''Box'' Filtere die Farbe die direkt hinter ''Box '' also wirklich nach dem Leerzeichen hinter ''Box'' steht, und vor dem nächsten Komma ist oder bis zum Ende von #1 geht, heraus. Wenn nichts da steht, nimm den default-Wert \fbox\parbox in dieser Farbe \If #1 enthält ''Linie'' Mach genau dasselbe, aber zeichne eine Linie in der Farbe neben den Text \If #1 enthält ''Einrücken'' \begin{addmargin}{der Abstand steht rechts neben ''Einrücken'' oder default}... Satz \Nummerierung (klappt): #2 (Titel des Satzes, evtl. freigelassen) \If #1 enthält ''label'' \label(th: das hinter ''label'') \else \IfNoValue{#2}{}{ \label(th: Name des Satzes) }
LG