Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Problem mit Kombination amsmath und newcommand

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.02.2012
    Beiträge
    106

    Problem mit Kombination amsmath und newcommand

    Servus zusammen,

    ich muss einige (viele) Gleichungen etc. erstellen, in denen gewisse Vektoren etc. oft vorkommen, sodass ich mir diese als Command erstellen möchte:

    Code:
    \documentclass{scrreprt}
    \usepackage{amsmath, amsfonts,amsthm}
    
    \newcommand{\blau}[1]{\textcolor{blaugruen}{#1}}
    \newcommand{\e0x}{\vec{e}_\textrm{0x}}
    
    \begin{document}
    			test test
    			$\vec{e}_\textrm{0x}$
    			$\e0x$
    \end{document}
    Mein Dokument funktioniert mit dem neuen Command \blau problemlos, sobald ich wie beim Command \e0x etwas definieren möchte, bekomme ich zwei Fehlermeldungen:
    - Latex error: missing begin document
    - amsmath error: missing $ inserted \vec only allowed in math mode

    ich denke wenn ich $$ um die "Gleichung" machen würde, wäre das Problem zunächst behoben, allerding möchte ich den Befehl \e0x nachher in equation Umgebungen o.Ä. verwenden, sodass die $$ dann ja doppelt wären, oder?

    Hat mir einer einen Tip?

    Grüße und Dankeschön

  2. #2
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Im Mathemodus musst du doch \mathrm und nicht \textrm verwenden, oder sehe ich das falsch?

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Probier's mal so:

    Code:
    \documentclass{scrreprt}
    \usepackage{amsmath, amsfonts,amsthm}
    
    \newcommand{\blau}[1]{\textcolor{blaugruen}{#1}}
    \newcommand{\ezerox}{\vec{e}_{\textrm{0x}}}
    
    \begin{document}
                test test
                $\vec{e}_\textrm{0x}$
                $\vec{e}_\text{0x}$
                $\ezerox$
    \end{document}
    Hintergrund: Soweit ich weiß, sind Ziffern in Makronamen nicht zulässig.

    Anstelle von \textrm kannst Du auch \text nehmen.
    Geändert von LuPi (14-08-2013 um 14:16 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    27.02.2012
    Beiträge
    106
    Dankeschön =) Dass man meine Zahlen in den Befehlsnamen verwenden darf, wusste ich nicht

  5. #5
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Geht doch:
    Code:
    \documentclass{scrreprt}
    \usepackage{amsmath, amsfonts,amsthm}
    
    \newcommand{\blau}[1]{\textcolor{blaugruen}{#1}}
    \def\e0x{\vec{e}_\textrm{0x}}
    
    \begin{document}
    			test test
    			$\vec{e}_\textrm{0x}$
    			$\e0x$
    \end{document}


    Das definiert allerdings ein Makro namens \e, welches zwingend durch '0' und 'x' gefolgt sein muß. Der Trick funktioniert also nur 1x, wenn man z.B. auf die gleiche Art und Weise \e1x definieren möchte, würde man damit die Definition von \e0x überschreiben. So würde es aber wieder funktionieren:
    Code:
    \documentclass{scrreprt}
    \usepackage{amsmath, amsfonts,amsthm}
    
    \newcommand{\blau}[1]{\textcolor{blaugruen}{#1}}
    \def\e#1x{\vec{e}_\textrm{#1x}}
    
    \begin{document}
    			test test
    			$\vec{e}_\textrm{0x}$
    			$\e0x$ $\e1x$
    \end{document}
    Geändert von sommerfee (16-08-2013 um 08:22 Uhr)

  6. #6
    Registrierter Benutzer Avatar von cgnieder
    Registriert seit
    06.04.2011
    Ort
    Herrenberg
    Beiträge
    254
    Zitat Zitat von Steffen1187 Beitrag anzeigen
    Dankeschön =) Dass man meine Zahlen in den Befehlsnamen verwenden darf, wusste ich nicht
    Vielleicht interessieren Dich dann die folgenden Posts:


    Grüße
    Clemens

  7. #7
    Registrierter Benutzer
    Registriert seit
    27.02.2012
    Beiträge
    106
    Tatsächlich sehr interessant Gibt einem ein bisschen Einblick, wie LaTeX arbeitet

Lesezeichen

Berechtigungen

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