Ich möchte gerne einen eigenen Befehl erstellen, der in Abhängigkeit eines optionalen Parameters etwas ausgibt. Ich denke, mit dem Minimalbeispiel wird es deutlicher:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 05 Dez '17, 17:38

dzaic's gravatar image

dzaic
631175055
Akzeptiert-Rate: 42%

bearbeitet 05 Dez '17, 18:30

gast3's gravatar image

gast3
(ausgesetzt)

2

Da Du eine KOMA-Script-Klasse verwendest: Schau mal in der Anleitung nach \ifstr. Alternative: etoolbox.

(05 Dez '17, 17:42) saputello
1
(05 Dez '17, 18:34) saputello

Im gezeigten Beispiel könnte man eigentlich ganz einfach ein normales optionales Argument verwenden:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Will man unbedingt Y als optionales Argument verwenden, könnte man sich einfach einen Farb-Alias mit xcolor definieren:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Natürlich kann man auch mit Hilfsmakros arbeiten:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Da ich für die Hilfemakros interne Namen mit @ verwende, muss natürlich makeatletter und makeatother zum Einsatz kommen. Um aus Präfix und Argument wiederum einen Befehl zusammenzusetzen, verwende ich \@nameuse, das für Paketautoren in source2e.pdf dokumentiert ist.

Und wenn man unbedingt ein If-Konstrukt haben will, so bietet scrartcl (bzw. das davon verwendete scrbase) ein solches bereits an:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Es gibt diverse weitere Pakete, die conditionals anbieten, beispielsweise etoolbox:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

aber auch l3str (sollte via expl3 geladen werden):

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

wobei man dann natürlich gleich mal überlegen sollte, ob man die Definition nicht direkt mit xparse erledigt:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Durch die jeweils angegebenen Links findet man auch die relevanten Anleitungen, in denen man die verwendeten Anweisungen unbedingt nachlesen sollte.

Permanenter link

beantwortet 05 Dez '17, 18:10

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 05 Dez '17, 18:28

WOW - da habe ich etwas zu studieren. Herzlichen Dank!

(07 Dez '17, 13:36) dzaic
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×14
×13
×3
×1

gestellte Frage: 05 Dez '17, 17:38

Frage wurde gesehen: 5,287 Mal

zuletzt geändert: 07 Dez '17, 13:36

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×