Wie kann ich am einfachsten eine Umgebung modifizieren, ohne eine neue definieren zu müssen? So dass ich in längeren Dokumenten nicht alles umbenennen muss, sondern nur etwas in die Präambel einzufügen brauche. Genauer, es soll am Beginn der Umgebung jeweils von mir eingefügter Code ausgeführt werden. Zum Beispiel:
Die Wirkung der eingefügten Formatierungen endet ja automatisch mit dem Ende der Umgebung, recht praktisch. Wie geht sowas? |
Umgebungen wie Einige Möglichkeiten:
Auch wenn es diese Wege gibt, ist es oft besser, eine eigene Umgebung mit neuem Namen zu definieren. Denn sonst kann man Seiteneffekte haben: andere Pakete oder Klassen können diese Umgebung ja implizit verwenden, wie z.B. Man sollte vielleicht erwähnen, dass der Patch mit
(14 Jul '13, 09:42)
cgnieder
Die ersten beiden Möglichkeiten schlagen fehl, sobald die Umgebung ein verpflichtendes Argument hat. Ich rate daher dazu, diese Möglichkeiten nicht gesondert hervorzuheben. Bei
(14 Jul '13, 10:51)
Marco_D
|
Bevor auf Möglichkeiten der Redefinition von Befehlen zurückgegriffen wird, sollte man stets schauen, ob nicht ein Paket (evtl. sogar schon geladen) diverse Modifikationen erlaubt. Im Normalfall ist das robuster als etwaige Hacks. Ich will Hacks nicht verteufeln Für die Code, hier editierbar zum Übersetzen: Wenn sich etwas findet, verwende ich gern fertige Lösungen. Daher danke für den
(14 Jul '13, 11:46)
Helmut
|
Statt eine existierende Umgebung umzudefinieren, ist es oftmals sicherer eine neue Umgebung zu definieren, die auf einer existierenden Umgebung basiert. Grund dafür ist, dass einige Umgebungen auch intern in Klassen oder Paketen verwendet werden. Das trifft beispielsweise in hohem Maße auf die Umgebung Für das Definieren einer eigenen Umgebung unter Verwendung einer existierenden, gibt es zwei unterschiedliche Möglichkeiten: Code, hier editierbar zum Übersetzen: oder Code, hier editierbar zum Übersetzen: Die erste Möglichkeit entspricht dabei der reinen Lehre, dass man in LaTeX nur die LaTeX-Benutzerschnittstelle verwenden sollte, die bei Umgebungen nun einmal aus Code, hier editierbar zum Übersetzen: Die zugehörige Fehlermeldung lautet: Für den eingeweihten Anwender, der um die Definition von Vergleichen wir dieselbe Fehlanwendung mit der zweiten Form der Definition: Code, hier editierbar zum Übersetzen: Hier lautet die Fehlermeldung: Damit entspricht sie den Erwartungen eines durchschnittlichen Anwenders. Hier wurde die Tatsache genutzt, dass LaTeX intern eine Umgebung Um zu verstehen, warum im Aber auch diese Form der Definition hat ihre Grenzen. So gibt es einige Umgebungen, die gar keine echten LaTeX-Umgebungen sind. Dazu gehören beispielsweise die Umgebungen von Zu beachten ist auch, dass die |