PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tensor Symbol



schmek
14-10-2009, 14:03
Hallo

Ich bin auf der Suche nach einem Symbol für einen Tensor (Rang 2). Würde gerne eine Art \harpoon symbol verwenden, welches auf beiden Seiten (links, rechts) nach oben gebogen sind.

Wenn jemand den Befehl kennt, solch ein Symbol in Latex einzubinden, schreibt mir bitte.

Falls jemand ein anderes Symbol verwenden würde, helft mir bitte weiter.

Habe bis jetzt leider nichts gefunden außer: \overleftrightarrow, der irgendwie nicht gut aussieht in diesem Zusammenhang.

DANKE,
Willi

Stefan_K
14-10-2009, 15:05
Hallo Willi,

hast Du schon in der großen LaTeX Symbolliste (http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf) geschaut?

Stefan

schmek
14-10-2009, 15:45
Hallo

Ja die Liste habe ich mir schon angesehen, leider gibt es mein symbol nicht.

Gibt es eine Möglichkeit die zwei Symbole \overleftharpoon und \overrightharpoon zu einem Symbol zu vereinen (beide werden über eine Zeichenfolge gesetzt)?

DANKE
Willi

borose
15-10-2009, 11:22
Da anscheinend keiner eine "saubere" Möglichkeit gibt, probier mal das:




\newcommand{\tensor}[1]{
\tikz[baseline, anchor=base]{
\node{#1};
\node[overlay] {$\overleftharpoon {\phantom{\mbox{#1}}}$};
\node[overlay] {$\overrightharpoon{\phantom{\mbox{#1}}}$};
}
}


\tensor{$\sigma$}
\tensor{Tensor}

Vorher noch pgf/tikz in der Preambel einbinden (braucht pdflatex):


\usepackage{tikz}

Grüße!

schmek
15-10-2009, 12:38
Hallo

Habe mir mal die Def. von \overleftharpoon angesehen und folgendes gefunden:

\def\leftharpoonfill@{\arrowfill@\leftharpoondown\ relbar\relbar}

\DeclareRobustCommand{\overleftharpoon}{\mathpalet te{\overarrow@\leftharpoonfill@}

Leider habe ich nichts über \overarrow@ und \arrowfill@ gefunden. Könnte mir von euch jemand weiterhelfen um diesen Pfeil selber zu gestalten.

DANKE
Willi

schmek
15-10-2009, 12:39
Da anscheinend keiner eine "saubere" Möglichkeit gibt, probier mal das:




\newcommand{\tensor}[1]{
\tikz[baseline, anchor=base]{
\node{#1};
\node[overlay] {$\overleftharpoon {\phantom{\mbox{#1}}}$};
\node[overlay] {$\overrightharpoon{\phantom{\mbox{#1}}}$};
}
}


\tensor{$\sigma$}
\tensor{Tensor}

Vorher noch pgf/tikz in der Preambel einbinden (braucht pdflatex):


\usepackage{tikz}

Grüße!


Danke für die Antwort, funktioniert gut, nur leider zeigt das \overleftharpoon nach unten, möchte es gerne nach oben zeigen lassen.

borose
15-10-2009, 13:30
Ohh, da hab ich gar nicht drauf geachtet. Aber das ist schon eigenartig. In der "The Comprehensive LATEX Symbol List" ist unter "Table 161: MnSymbol Extensible Accents " das Symbol "\overleftharpoon{abc}" mit knick nach oben dargestellt.

Weiß jemand warum es aber nach unten gezeichnet wird???

Zum eigentlichen Problem: Ja, ist einfach lösbar: Spiegel wir doch einfach das richtige Symbol!


\newcommand{\tensor}[1]{
\tikz[baseline, anchor=base]{
\node{#1};
\node[overlay] {$\overrightharpoon {\phantom{\mbox{#1}}}$};
\node[overlay] {\reflectbox{$\overrightharpoon{\phantom{\mbox{#1} }}$}};
}
}


\tensor{$\sigma$}
\tensor{Tensor}

schmek
15-10-2009, 14:50
Daran habe ich auch schon gedacht. Leider wird link/rechts gespiegelt nicht up/down.

Habe mir mal die Def. von \overleftharpoon angesehen und folgendes gefunden:

\def\leftharpoonfill@{\arrowfill@\leftharpoondown\ relbar\relbar}

\DeclareRobustCommand{\overleftharpoon}{\mathpalet te{\overarrow@\leftharpoonfill@}

Leider habe ich nichts über \overarrow@ und \arrowfill@ gefunden. Könnte mir von euch jemand weiterhelfen um diesen Pfeil selber zu gestalten.

DANKE
Willi

borose
15-10-2009, 15:13
Oben genannter Befehl erzeugt doch genau das Gewünschte:

Über eine Zeichenfolge ein Harpoon-Symbol "welches auf beiden Seiten (links, rechts) nach oben gebogen" ist.

Ist doch alles okay, oder irre ich mich da???

Das was bei mir durch den Code erstellt wird, habe ich angehängt. Vielleicht unterscheidet sich das ja.

schmek
15-10-2009, 15:46
Hat doch funktioniert, hab noch einmal alles kopiert und mit \tensor{$blabla$} passt alles.

Leider erzeugt das Symbol einen sehr gorßen Abstand zum umgebenden Text. Ist es vielleicht möglich das Symol so zu definieren wie \overrightharpoon definiert ist:

Habe mir mal die Def. von \overleftharpoon angesehen und folgendes gefunden:

\def\leftharpoonfill@{\arrowfill@\leftharpoondown\ relbar\relbar}

\DeclareRobustCommand{\overleftharpoon}{\mathpalet te{\overarrow@\leftharpoonfill@}

Leider habe ich nichts über \overarrow@ und \arrowfill@ gefunden. Könnte mir von euch jemand weiterhelfen um diesen Pfeil selber zu gestalten.

DANKE,
Willi

borose
15-10-2009, 16:28
nun hat der befehl \tensor{abc} exakt die gleiche breite/höhe wie \overrightharpoon{abc}



\newcommand{\tensor}[1]{
\tikz[baseline, anchor=base,inner sep=0pt]{
\node {$\overrightharpoon{\mbox{#1}}$};
\node[overlay]
{\reflectbox{$\overrightharpoon{\phantom{\mbox{#1} }}$}};
}
}


und wenn \tensor{abc} soviel platz wie {abc} einnehmen soll, dann ist folgendes zu nehmen. mehr kann ich dann auch nicht helfen.



\newcommand{\tensor}[1]{
\tikz[baseline, anchor=base,inner sep=0pt]{
\node{\phantom{#1}};
\node[overlay] {$\overrightharpoon{\mbox{#1}}$};
\node[overlay] {\reflectbox{$\overrightharpoon{\phantom{\mbox{#1} }}$}};
}
}