Anzeige:
Ergebnis 1 bis 10 von 10

Thema: mehr als einen optionalen Parameter

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.07.2004
    Beiträge
    13

    mehr als einen optionalen Parameter

    Hi,

    wie kann man ein Makro mit mehr als einen optionalen Parameter definieren???



    Es soll dann auf diese Weise aufgerufen werden.

    \mycommand[textcolor={red}, textform={bold}]


    Danke

  2. #2
    Registrierter Benutzer Avatar von badera
    Registriert seit
    02.11.2004
    Ort
    Schweiz
    Beiträge
    109
    ich weiss nicht einmal, wie man macht, dass man einen optionalen Parameter angeben kann

    - Adrian

  3. #3
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    ... versuch es mal so:
    ...
    \newcommand{\myfont}[1]{ \textcolor{red}{{\bf #1}} }
    ...
    \myfont{Diese Zeichen werden fett und mit roter Tinte gesetzt}.
    ...
    edico
    Geändert von edico (19-12-2004 um 19:25 Uhr)

  4. #4
    Registrierter Benutzer Avatar von badera
    Registriert seit
    02.11.2004
    Ort
    Schweiz
    Beiträge
    109

    Wo ist denn da der optionale Parameter??

    - Adrian

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    @badera: schau dir die mapage an ... und warum kompliziert, wenns einfach geht. Aber vielleicht hab ich auch alles und den Sinn der Ausgangafrage falsch verstanden ...

    Ansonsten kann man sich bei Dante informieren:
    5.1.8 Wie kann ich in LaTeX eine Anweisung mit mehr als einem optionalen Parameter definieren?
    Mit \newcommand kann man nur ein Makro mit einem einzigen optionalen Parameter definieren. Will man ein Makro mit mehr als einem optionalen Parameter definieren, so muß man hierzu mehrere Makros mit jeweils einem optionalen Parameter definieren, die den Wert des Parameters zwischenspeichern und ...
    edico

  6. #6
    Registrierter Benutzer Avatar von badera
    Registriert seit
    02.11.2004
    Ort
    Schweiz
    Beiträge
    109
    Naja, vielleicht hab auch ich alles falsch verstanden.
    Unter einem optionalen Parameter verstehe ich einen Parameter, den man angeben kann oder nicht, und wenn man ihn nicht angibt, passiert irgendwas, das per default gesetzt ist. So wie das bei Latex üblicherweise in Eckigen Klammern vor den eigentlichen Parametern gemacht wird. Beispiel
    Code:
    \minipage[t]{10cm}
    Der optionale Parameter ist hier t, und wenn er weggelassen wird, ist eben eigentlich c gesetzt...

    Soviel zu dem, um was es meiner Ansicht nach geht. Gefragt wäre nun, wie dass man mehr als einen solchen optionalen Parameter machen kann, siehe Post zuoberst. Aber möglicherweise habe ich alles falsch verstanden...

    - Adrian

  7. #7
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Nee, das mit den optionalen Parametern ist schon ok. Aber warum? Egal , sonst das mal probieren:
    ... optparams.sty - macros with multiple optinal parameters
    http://www.tug.org/tex-archive/help/...optparams.html
    edico

  8. #8
    Registrierter Benutzer
    Registriert seit
    26.07.2004
    Beiträge
    13
    Hi,

    also ich hab einen Beispiel auf der manpage gefunden, dass gewissermaßen das Problem löst.

    ____________________________________________
    Beispiel :

    \cubic[a][b][c]{d} mit drei optionalen Argumenten:

    \newcommand{\erstesargument}{}
    \newcommand{\zweitesargument}{}

    \newcommand{\cubic}[1][a]{
    \begingroup
    \renewcommand{\erstesargument}{#1}
    \cubicZwei}
    \newcommand{\cubicZwei}[1][b ]{
    \renewcommand{\zweitesargument}{#1}
    \cubicDrei}
    \newcommand{\cubicDrei}[2][c ]{ \({\erstesargument}x^3+{\zweitesargument}x^2+#1x+# 2\)
    \endgroup}
    ____________________________________________

    Jedoch ist die Paramaterreihenfolge in diesem Beispiel festvorgegeben , d.h. wenn ich diesen Makro mit einem optionalen Parameter aufrufe, z.B.

    \cubic[k]{n}

    wird dieser übergebene Paramater k immer an erster Stelle, anstelle von a eingesetzt. Wie kann ich nun TeX oder LaTeX mitteilen, dass der optionale Parameter k nicht a sondern c ersetzen soll. Dabei hatte ich mir vorgestellt, dass man vielleicht dieses Problem in dieser Schreibform
    \cubic[param3=k]{n} elegant lösen könnte.

  9. #9
    Registrierter Benutzer Avatar von blubb
    Registriert seit
    12.08.2004
    Beiträge
    862
    Wer Dokus lesen kann ist im Vorteil :D
    Das Forum hat eine Suchfunktion.
    FAQ: http://www.dante.de/faq/de-tex-faq/html/de-tex-faq.html
    Minimalbeispiel:http://www-users.rwth-aachen.de/Chri...mmer/mini.html

  10. #10
    Registrierter Benutzer
    Registriert seit
    26.07.2004
    Beiträge
    13
    Hi blubb,

    danke für die Links. Ich hab im xkeyval-Package die entsprechende Lösung gesehen.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •