Archiv verlassen und diese Seite im Standarddesign anzeigen : \newcommand mit nur einem optionalen argument
Hallo,
ich möchte mir ein \newcommand welches nur ein optionales Argutment hat definieren. Ich habe überall immer nur Beispiele mit mindestens zwei Argumenten gefunden und meine eigene Lösung funktioniert nicht richtig.
Meine Lösung:
\newcommand{\foo}[1][\textsf{statischer_text}]{\textsf{#1}}
Es soll so sein, dass wenn ich "\foo" eingebe "\textsf{statischer_text}" herauskommt, und wenn ich "\foo{blah}" eingebe "\textsf{blah}" herauskommt.
Das funktioniert leider nicht und im zweiten Fall kommt immer "\textsf{statischer_text}blah" heraus.
Was mache ich falsch?
ich möchte mir ein \newcommand welches nur ein optionales Argutment hat definieren. Ich habe überall immer nur Beispiele mit mindestens zwei Argumenten gefunden und meine eigene Lösung funktioniert nicht richtig.
Meine Lösung:
\newcommand{\foo}[1][\textsf{statischer_text}]{\textsf{#1}}
Es soll so sein, dass wenn ich "\foo" eingebe "\textsf{statischer_text}" herauskommt, und wenn ich "\foo{blah}" eingebe "\textsf{blah}" herauskommt.
\newcommand{\foo}[1][statischer text]{\textsf{#1}}
sollte gehen.
Herbert
Hallo Herbert,
danke für deine Antwort, leider geht es nicht, ich bekomme den selben Effekt wie bei meiner Lösung, hier ein screenshot des kompilierten Minimalbeispiels (siehe unten):
http://img.skitch.com/20101026-bqhyu3bwny2eer57hfwaab56k4.png
Minimalbeispiel:
\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\newcommand{\foo}[1][statischer text]{\textsf{#1}}
\begin{document}
\foo
\foo{lorem ipsum}
\end{document}
außerdem möchte ich im fertigen Ergebnis das default natürlich formatiert haben (etwa mit \textsf o.ä.)
danke für deine Antwort, leider geht es nicht, ich bekomme den selben Effekt wie bei meiner Lösung, hier ein screenshot des kompilierten Minimalbeispiels (siehe unten):
http://img.skitch.com/20101026-bqhyu3bwny2eer57hfwaab56k4.png
Minimalbeispiel:
\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\newcommand{\foo}[1][statischer text]{\textsf{#1}}
\begin{document}
\foo
\foo[lorem ipsum]
\end{document}
außerdem möchte ich im fertigen Ergebnis das default natürlich formatiert haben (etwa mit \textsf o.ä.)
optionale Parameter musst du natürlich in eckigen Klammern angeben!
Herbert
optionale Parameter musst du natürlich in eckigen Klammern angeben!
oha, wie peinlich :-)
Jetzt klappt's. Danke!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.