11.07.2015 Aufrufe

Paket zur Erstellung wissenschaftlicher Arbeiten in LaTeX

Paket zur Erstellung wissenschaftlicher Arbeiten in LaTeX

Paket zur Erstellung wissenschaftlicher Arbeiten in LaTeX

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

ImplementierungDie Beschränkung auf maximal neun Argumente je Kommando kann zwar mitHilfe e<strong>in</strong>es Tricks 4 durchbrochen werden, jedoch war dessen Anwendung für e<strong>in</strong>eerfolgreiche Umsetzung nicht notwendig. Denn für das e<strong>in</strong>zige davon betroffeneKommando wurde aus Gründen der besseren Übersichtlichkeit e<strong>in</strong>e andereAlternative gewählt.Optionale KommandoparameterE<strong>in</strong>e größere Herausforderung stellte die Bereitstellung mehrerer optionalerKommandoparameter dar. Zur Lösung dieses Problems wurde das aus der objektorientiertenProgrammierung bekannte Verfahren der Methodenüberladungangewendet und an die Gegebenheiten des L A TEX-Systems angepasst.Da leider e<strong>in</strong>e genaue Adaption der Überladung von Kommandos <strong>in</strong> L A TEX nichtumsetzbar ist, wurde hierfür e<strong>in</strong> kle<strong>in</strong>er Trick angewendet. Dabei wird e<strong>in</strong> zweites,be<strong>in</strong>ahe gleichnamiges Kommando erzeugt, das über e<strong>in</strong>e äquivalente Listevon Parametern verfügt. Nur s<strong>in</strong>d die Argumente des Zwill<strong>in</strong>gs so def<strong>in</strong>iert, dasssie bei e<strong>in</strong>em Aufruf angegeben werden müssen. Die Übergabe aller optionalenParameter erfolgt dann <strong>in</strong> eckigen Klammern.Die Aufgabe des Hauptkommandos, oder besser des Hauptmakros, besteht nundar<strong>in</strong>, alle durch den Anwender angegebenen Parameter <strong>in</strong> die benötigte Formzu überführen und mit diesen das Zwill<strong>in</strong>gsmakro auf<strong>zur</strong>ufen. Wurden durchden Anwender e<strong>in</strong> oder mehrere optionale Parameter ausgelassen, dann wirddas Hauptmakro an se<strong>in</strong>en Zwill<strong>in</strong>g stattdessen die hier def<strong>in</strong>ierten Standardwerteübergeben. Die Def<strong>in</strong>ition e<strong>in</strong>es Makros mit zwei optionalen und e<strong>in</strong>emPflichtparameter zeigt das Beispiel <strong>in</strong> Quelltext 1.Quelltext 1:Makro mit zwei optionalen Parametern (Beispiel)% Makro für den Benutzer\ newcommand {\ Macro }[1][ A]{% A = Standard für Parameter 1!\ @ifnextchar [%] % Zweiter optionaler Parameter vorhanden ?{\ @iiMacro [#1]}{\ @iiMacro [#1][ B]} % B = Standard für Parameter 2!}% Internes Makro mit allen Parametern .\ def \ @iiMacro [#1][#2]#3{ % Übergabe aller Parameter .Param 1=#1; % Verwendung optionaler Parameter 1.Param 2=#2; % Verwendung optionaler Parameter 2.Param 3=#3} % Verwendung Pflichtparameter des Makros !Zur Vermeidung e<strong>in</strong>es direkten Durchgriffs auf das nur <strong>in</strong>tern verwendete Makrowird diesem e<strong>in</strong> @-Zeichen beigefügt. Hierdurch wird sichergestellt, dass e<strong>in</strong>4Der Trick <strong>zur</strong> Umgehung der limitierten Anzahl der Kommandoargumente kann <strong>in</strong> denTeX Frequently Asked Questions on the Web unter http://www.tex.ac.uk/cgi-b<strong>in</strong>/texfaq2html?label=moren9 (letzter Zugriff: 2007-12-25) nachgeschlagen werden.32

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!