\newcommand < LaTeX < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:00 Mo 26.11.2007 | Autor: | Ole-Wahn |
Aufgabe | Wie kann ich Befehle deklarieren, die Variablen enthaten? |
Hallo!
ich lasse im Folgenden bei allen Befehlen die \ weg, weil sie sonst umgesetzt werden und ich nicht weiß wie man das verhindert.
Ich geb mal ein Beispiel, damit die Frage klarer wird:
Dem Befehl mathbb{Z} folgt bekanntlich die Ausgabe [mm] $\IZ$. [/mm]
Will ich nun einen mathematischen Text schreiben, in dem ich öfter [mm] \IZ [/mm] schreiben muss, habe ich natürlich keine Lust immer diesen langen Befehl zu schreiben, deswegen deklariere ich:
newcommand{IZ}{mathbb{Z}}
Nun frage ich mich, ob ich das auch allgemein machen kann, für alle Buchstaben des Alphabets, damit ich nicht am Anfang für [mm] $\IZ [/mm] , [mm] \IR [/mm] , [mm] \IC$,etc. [/mm] jeweils einmal deklarieren muss.
Also so was ähnlichhes wie
newcommand{I_}{mathbb{_}}
wobei _ für einen beliebigen Buchstaben steht. Das klappt bei mir leider nicht.
Klar, soweit?
Ich hoffe jemand weiß Rat!
Danke im Voraus
Ole
|
|
|
|
Hallo!
Sowas funktioniert folgendermaßen:
\newcommand{\I_}[1]{{\mathbb{#1}}
Das Kommando heißt \I_.
Es frißt [n] Parameter, die können danach mit #1, #2, #3 angesprochen werden.
Das Ergebnis ist das Mathe-Zeichen, das dem ersten angegebenen Parameter entspricht:
\mathbb{#1}
Anderes beispiel, um einen Bruch einzudeutschen:
\newcommand{\bruch}[2]{{\frac{#1}{#2}}
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:28 Di 27.11.2007 | Autor: | Ole-Wahn |
Erstmal vielen Dank für die prompte Antwort!!
Leider funzt das bei mir leider nicht!!
Gebe ich ein:
[mm] \verb#\newcommand{\I_}[1]{\mathbb{# \#\verb# 1}}#
[/mm]
dann kriege ich erstens die Fehlermeldung [mm] \textit{Missing \$ inserted} [/mm] und [mm] \textit{Undefined Control Sequenz} \verb#\IZ#. [/mm] Also kann da was nicht stimmen!!
Zusätzlich wollte ich noch fragen, wo man die neuen Befehle am besten deklariert, wenn man z.B. einen scrartcl verfasst.
In der Präambel, oder für jeden Teil einzeln?
Gruß,
Ole
|
|
|
|
|
Hallo,
du musst zweierlei beachten:
1. Ein Unterstrich bedeutet einen Tiefstellung. Deshalb kannst du den nicht im Makronamen verwenden.
2. mathbb erfordert eine Math-Umgebung, also fehlen hier noch die Dollarzeichen.
Mit
\newcommand{\I}[1]{$\mathbb{#1}$}
geht es wunderbar.
Gruß
Martin
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:43 Di 27.11.2007 | Autor: | Ole-Wahn |
Danke auch dir Martin!
Allerdings scheint irgendwas noch nicht hinzuhauen! Tex meckert zwar nicht mehr über die Kommandozeile, aber es identifiziert meine [mm] \verb#\IZ# [/mm] nicht mit derselben, sprich ich krieg lauter [mm] \textit{Undefined Control Sequence} \verb#\IZ# [/mm] - Meldungen.
Also, ich glaube, dadurch, dass der Unterstrich weg ist, fehlt jetzt der Platzhalter für einen beliebigen Buchstaben!
Wer noch eine Idee hat, immer her damit !
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:03 Di 27.11.2007 | Autor: | rainerS |
Hallo!
> Danke auch dir Martin!
>
> Allerdings scheint irgendwas noch nicht hinzuhauen! Tex
> meckert zwar nicht mehr über die Kommandozeile, aber es
> identifiziert meine [mm]\verb#\IZ#[/mm] nicht mit derselben, sprich
> ich krieg lauter [mm]\textit{Undefined Control Sequence} \verb#\IZ#[/mm]
> - Meldungen.
Hast du das Kommando \I definiert oder \IZ? Wenn du \I definierst, musst du natürlich \I{Z} schreiben.
Ein Kommando besteht entweder aus einer Folge von Buchstaben oder aus einem Nicht-Buchstaben.
Viele Grüße
Rainer
|
|
|
|