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? gefragt 14 Jul '13, 00:29 Helmut |
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. beantwortet 14 Jul '13, 00:39 stefan ♦♦ 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
|
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:
oder
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
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:
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 beantwortet 14 Jul '13, 12:26 saputello |
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
beantwortet 14 Jul '13, 11:06 Marco_D Wenn sich etwas findet, verwende ich gern fertige Lösungen. Daher danke für den
(14 Jul '13, 11:46)
Helmut
|