Variablen-Indizes in Matheumgebung

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Variablen-Indizes in Matheumgebung

von Arne » Di 10. Nov 2009, 16:13

Zunächst einmal auch von mir noch einmal vielen Dank für das Posten dieser Lösung, sie ist auch für mich sehr nützlich.

Allerdings stört mich noch, dass bei Verwendung von kursiven Symbolen der obere Index nur am unteren Index ausgerichtet ist und nicht noch näher am Symbol steht und das in einer Formel kein Abstand zum vorherigen Symbol gesetzt wir, so dass man nicht erkennt, zu welchem Symbol der Index gehört (s. Beispiel 1).

Gleiches Problem habe ich, wenn ich versuche einen einzelnen Index links oben vom Symbol zu setzen. Hier entsteht komplett der Eindruck, der Index gehöre zum vorherigen Symbol (s. Beispiel 2).

Ich habe schon versucht, den Abstand zu verkleinern, aber "Lösungen" (wahrscheinlich eher "Basteleien") mit z.B. \! gefallen mir nicht, weil sie keine Rücksicht auf das Bezugssymbol nehmen und sich die Buchstaben u.U. berühren.
Eine saubere Lösung habe ich bisher selber nicht gefunden, deswegen meine Frage ans Forum, kann mir da jemand weiterhelfen/einen Tipp geben?

Meine Beispiele:
\documentclass{article}
\usepackage{amsmath}
\usepackage{bm}
\newlength{\sublength}
\newlength{\suplength}
\newcommand\lsubsup[2]{%
  \settowidth{\sublength}{#1}%
  \settowidth{\suplength}{#2}%
  _{\text{%
      \ifdim \sublength<\suplength
        \hphantom{#2}\llap{#1}%
      \else
        #1%
      \fi
    }%
  }%
  ^{\text{%
      \ifdim \suplength<\sublength
        \hphantom{#1}\llap{#2}%
      \else
        #2%
      \fi
    }%
  }%
}

\newcommand{\swrt}[1]{%
	^{\textrm{#1}} {\bm s}
}
			
			
\begin{document}
	%Erstes Beispiel
	\[
		\lsubsup{C}{T} \bm s
	\]
	
	%Zweites Beispiel
	\[
		\swrt{T}
	\]
\end{document}

von KOMA » Sa 29. Nov 2008, 18:35

Nicht doch so umständlich. Mach einfach, was ich gesagt habe und entferne die $:
\documentclass{article} 
\usepackage{amsmath} 
\newlength{\sublength} 
\newlength{\suplength} 
\newcommand\lsubsup[2]{% 
  \settowidth{\sublength}{#1}% 
  \settowidth{\suplength}{#2}% 
  _{\text{% 
      \ifdim \sublength<\suplength 
        \hphantom{#2}\llap{#1}% 
      \else 
        #1%
      \fi 
    }% 
  }% 
  ^{\text{% 
      \ifdim \suplength<\sublength 
        \hphantom{#1}\llap{#2}% 
      \else 
        #2%
      \fi 
    }% 
  }% 
} 
\begin{document} 
\[ 
\lsubsup{LVLH}Ia 
\] 
\end{document}

Danke

von goingeast » Do 27. Nov 2008, 17:52

Hey,
vielen Dank dir! Funktioniert sehr gut!

Mit den Variablen in Textform hast du es richtig erraten.

mache es einfach wie folgt:

\[
\lsubsup{\text{LVLH}}{\text{I}}a
\]

Beste Grüße!

von KOMA » Di 25. Nov 2008, 16:05

Ich gehe mal davon aus, dass Du wirklich alles im Mathemodus setzen willst:
\documentclass{article}
\usepackage{amsmath}
\newlength{\sublength}
\newlength{\suplength}
\newcommand\lsubsup[2]{%
  \settowidth{\sublength}{$#1$}%
  \settowidth{\suplength}{$#2$}%
  _{\text{%
      \ifdim \sublength<\suplength 
        \hphantom{$#2$}\llap{$#1$}%
      \else
        $#1$%
      \fi
    }%
  }%
  ^{\text{%
      \ifdim \suplength<\sublength
        \hphantom{$#1$}\llap{$#2$}%
      \else
        $#2$%
      \fi
    }%
  }%
}
\begin{document}
\[
\lsubsup{LVLH}Ia
\]
\end{document}
Sollen hingegen »LVLH« und »I« gar nicht als Variablen kursiv, sondern eher als Text aufrecht gesetzt werden, dann sind die Dollarzeichen allesamt zu entfernen! Die beiden Längen werden übrigens tatsächlich nur als Vergleichsgrößen verwendet. Dabei wird davon ausgegangen, dass wenn das eine Argument in einer Schriftgröße länger als das andere ist, dies auch in einer anderen Schriftgröße noch der Fall ist. Das ist zwar nicht zwingend, dürfte aber in hinreichend vielen Fällen ausreichend gute Ergebnisse liefern.

von goingeast » Mo 24. Nov 2008, 18:56

also, das Beispiel ist im prinzip der Befehl:

\[
^I_{LVLH}a
\]

Ich möchte, dass das "I" ganz an "a" herangerückt wird, und nicht links über dem "L" steht. Ist eine in der Robotik übliche Schreibweise. Brauche es für meine Diplomarbeit.

Danke!

von DonCube » Mo 24. Nov 2008, 11:55

Hmmm deine Frage kann ich noch niht ganz nachvollziehen. Könntest du ein Minimalbeispiel posten? Hast du dir genau überlegt was du da machen willst und ob es den Mehraufwand lohnt? Oder ist das eine Vorgabe?

Gruß
DonCube

Variablen-Indizes in Matheumgebung

von goingeast » Fr 21. Nov 2008, 13:05

Hallo,
ich habe eine Frage zu der Mathe-Umgebung. Und zwar möchte ich links von einer Variable sowohl oben, als auch unten indizes einfügen. Nun sind die Indizes aber sehr unterschiedlich lang, nämlich einmal {LVLH} und {I}. Bei dem Befehl ^I_{LVLH}a werden die Indizes links ausgerichtet.

Meine Frage: Wie kann ich die Indizes rechts ausrichten?

Herzlichen Dank.

Nach oben