Die Mathe-Redaktion - 25.11.2017 12:06 - Registrieren/Login
Auswahl
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 652 Gäste und 19 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von Stefan_K
Matroids Matheplanet Forum Index » Textsatz mit LaTeX » xymatrix: "Schräge" Labels
Druckversion
Druckversion
Autor
Universität/Hochschule J xymatrix: "Schräge" Labels
MrSigma
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 10.01.2004
Mitteilungen: 318
Aus: Aachen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2008-12-30


Hallo zusammen,

ich habe eine Frage zu xymatrix:

Und zwar würde ich gerne den Quellcode
LaTeX
\xymatrix{
A \ar[rd]^{\sim} & B \\
C & D
}

so abändern, dass das \sim-Zeichen parallel zum diagonalen Pfeil positioniert wird (und nicht parallel zu A, B, C, D). Ist das möglich?

Mit freundlichen Grüßen,
Sigma



  Profil  Quote  Link auf diesen Beitrag Link
Stefan_K
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 13.07.2005
Mitteilungen: 4281
Aus: Hamburg
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2008-12-31


Hallo Sigma,

Du könntest \rotatebox aus graphicx verwenden:
LaTeX
\rotatebox[origin=tc]{-45}{$\sim$}

Wenn Diagramme komplexer werden, verwende ich lieber TikZ. Dort würde ich den Pfeil samt Tilde so angeben:
LaTeX
\path[->] (A) edge node[above,sloped] {$\sim$} (D);

Wenn es Dich interessiert, schreibe ich Dir das obige Beispiel einmal in TikZ-Code auf, für das eigentliche Diagramm genügen 3 Zeilen.

Viele Grüße,

StefanK




  Profil  Quote  Link auf diesen Beitrag Link
MrSigma
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 10.01.2004
Mitteilungen: 318
Aus: Aachen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2008-12-31


Hallo Stefan,

erst einmal vielen Dank für deine Antwort! Du bist immer eine große Hilfe in LaTeX-Fragen.

Zu meinem Problem: Ich dachte eigentlich, dass xymatrix das automatisch anpassen könnte, aber dem scheint wohl nicht so zu sein. Schade! Ich muss mal schauen, wie ich das jetzt löse... die bessere Lösung wäre wohl, auf ein anderes Paket umzusteigen. Mit TikZ hab ich noch nie gearbeitet, nur vor Jahren mal kurz mit PSTricks und das soll ja so ähnlich sein. War mir damals allerdings schon etwas zu komplex für meine Bedürfnisse.

Leider ist es so, dass ich dann ja zwecks einheitlichem Layout alle Diagramme anders setzen müsste - und das sind SEHR viele, zum Teil auch recht große (>= 10x10-Matrizen). Das Beispiel von mir war auch nur der Einfachheit so gewählt, um das Prinzip erkennen zu lassen, wenn ich das dauerhaft anwenden würde, müsste ich so einige Winkel berechnen.

Hmmm, ich seh schon, es kommt so oder so ne Menge Arbeit auf mich zu...

Trotzdem noch einmal vielen Dank!

Mit freundlichen Grüßen,
Sigma


PS: Wenn ich mich für TikZ entscheiden sollte, komm ich noch einmal auf dich zurück!



  Profil  Quote  Link auf diesen Beitrag Link
Martin_Infinite
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 15.12.2002
Mitteilungen: 39133
Aus: Münster
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2008-12-31


xypic kann das auch, siehe xy-pic reference, kapitel 12. aber da muss man den winkel wohl auch angeben.



  Profil  Quote  Link auf diesen Beitrag Link
Stefan_K
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 13.07.2005
Mitteilungen: 4281
Aus: Hamburg
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2008-12-31


Hallo Sigma,

das kriegt man auch mit xy-pic-Bordmitteln hin, da bin ich sicher, die Syntax empfinde ich nur als sehr kryptisch, wenn es an kompliziertere Diagrammteile geht.
Einmal das Beispiel mit \rotatebox, zusätzlich \smash, um es ein wenig näher an den Pfeil zu rücken, ohne mit xy zu basteln:
LaTeX
\documentclass{article}
\usepackage[all]{xy}
\usepackage{graphicx}
\begin{document}
\xymatrix{
A \ar[rd]^{\smash{\rotatebox[origin=tc]{-45}{$\sim$}}} & B\\
C & D }
\end{document}

Hier ein entsprechendes compilierbares Beispiel mit TikZ:
LaTeX
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \foreach \name/\angle in {A/135,B/45,C/225,D/315}
    \node (\name) at (\angle:1) {$\name$};
  \path[->] (A) edge node[above,sloped] {$\sim$} (D);
\end{tikzpicture}
\end{document}

Für komplexe Diagramme bietet TikZ zum Beispiel matrix of math nodes oder chains als Werkzeuge. Obiges einmal direkt als Matrix geschrieben:
LaTeX
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
  \matrix (m) [matrix of math nodes, row sep=3em, column sep=3em]
    { A & B \\
      C & D \\ };
  { \path[->] (m-1-1) edge node[above,sloped] {$\sim$} (m-2-2);}
\end{tikzpicture}
\end{document}

Das sieht doch recht übersichtlich aus, oder? Beispiele, die node matrix und chains demonstrieren, findest Du hier: TikZ: chains with labeled edges.

Viele Grüße,

StefanK



[Die Antwort wurde nach Beitrag No.2 begonnen.]



  Profil  Quote  Link auf diesen Beitrag Link
MrSigma
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 10.01.2004
Mitteilungen: 318
Aus: Aachen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, vom Themenstarter, eingetragen 2009-01-01


Hallo Stefan,

vielen Dank für deine Mühe. Das Ergebnis sieht wirklich gut aus! Ich habe jetzt aber noch eine Frage: Kann "matrix of math nodes" das Ganze auch ohne Knotenbeschriftungen? Meine Diagramme sind oftmals so beschaffen, dass ich nur die Pfeile brauche, Knoten würden die Diagramme nur aufblähen und auch nicht zum Verständnis beitragen.

Mit xymatrix würde ich mein obiges Beispiel dann so schreiben:
LaTeX
\[\xymatrix{
\ar[rd]^{\sim} & \\
& 
}\]

Der offensichtliche Versuch
LaTeX
\begin{tikzpicture}
  \matrix (m) [matrix of math nodes, row sep=3em, column sep=3em]
    { & \\
      & \\ };
  { \path[->] (m-1-1) edge node[above,sloped] {$\sim$} (m-2-2);}
\end{tikzpicture}
ergibt leider eine Fehlermeldung...

Ich hab natürlich noch viele weitere Bedürfnisse, bei denen ich mich erst einmal vergewissern müsste, ob tikz die kann, bevor ich umsteige. Aber bevor ich jetzt noch weitere Fragen stelle, erst mal grundsätzlich: Gibt es eine vernünftige Literatur (im Netz?) zu "matrix of math nodes"? Ein Manual zu pgf (pgfmanual.pdf) hab ich im Netz gefunden, die Volltextsuche nach matrix of math nodes ergab aber leider keine Treffer.
[EDIT: Hab jetzt doch im Manual was gefunden - ich hatte zuerst eine alte Version des manuals, in der neueren Version steht jetzt was drin. Ist 2.00 die aktuellste Version?]

(Die von Martin angesprochene xypic-Referenz empfinde ich zum Beispiel nicht als nützlich... das User-Guide geht ja noch, da kann ich mich an Beispielen entlanghangeln und mit try and error behelfen, aber die eigentliche Referenz finde ich ziemlich unlesbar. Das mag zwar an mir liegen, aber ich habe mit mindestens zwei anderen Personen gesprochen, denen es genauso geht. Vielleicht liegt es aber auch an der von dir angesprochenen kryptischen Syntax von xypic, die keineswegs selbsterklärend ist.)

Mit freundlichen Grüßen,
Sigma
[ Nachricht wurde editiert von MrSigma am 01.01.2009 14:06:43 ]



  Profil  Quote  Link auf diesen Beitrag Link
MrSigma
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 10.01.2004
Mitteilungen: 318
Aus: Aachen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2009-01-01


Okay, ich hab nun selbst herausgefunden, wie man auch mit "leeren" Zellen arbeiten kann: Man muss einfach nur ein zusätzliches Argument "nodes in empty cells" an das \matrix-Kommando übergeben.

Der folgende Code tut's also:
LaTeX
\begin{tikzpicture}
  \matrix (m) [matrix of math nodes, row sep=3em, column sep=3em, nodes in empty cells]
    { & \\
      & \\ };
  { \path[->] (m-1-1) edge node[above,sloped] {$\sim$} (m-2-2);}
\end{tikzpicture}

Ich hake jetzt mal vorerst ab, wenn noch Probleme auftreten, melde ich mich noch einmal.

Mit freundlichen Grüßen,
Sigma
[ Nachricht wurde editiert von MrSigma am 01.01.2009 23:06:32 ]



  Profil  Quote  Link auf diesen Beitrag Link
MrSigma
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 10.01.2004
Mitteilungen: 318
Aus: Aachen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2009-01-02


Und ich dachte schon, dass es mit der "nodes in empty cells"-Option getan sei... leider nicht, wie sich an folgendem Beispiel nun herausstellte, in welchem manche Zellen Beschriftungen haben, manche nicht:
LaTeX
\[\begin{tikzpicture}
  \matrix (m) [matrix of math nodes, row sep=3em, column sep=3em,
  nodes in empty cells]{
    \mathcal{L} & \mathcal{D} \\
    \mathcal{C} & \\};
  \path[font=\scriptsize][->]
    (m-1-1) edge[dotted] node[above] {\(\widehat{F}\)} (m-1-2)
    (m-2-1) edge node[left] {\(\Gamma\)} (m-1-1) edge node[below right] {\(F\)} (m-1-2);
\end{tikzpicture}\]

Problem hier: TikZ legt den Referenzpunkt für die Pfeile bei den leeren Zellen auf die Grundlinie. Dadurch sind der erste und der letzte Pfeil in dieser Kette nicht gerade sondern leicht schräg, was natürlich unschön ist. Dasselbe Problem tritt auch schon auf, wenn die Beschriftungen unterschiedlich groß sind, also zum Beispiel bei Pfeilen X -> a.

Gibt es eine Möglichkeit den Referenzpunkt auf eine feste Höhe zu setzen (zum Beispiel 0.5ex oder so, am Besten die gleiche Höhe, die der \rightarrow-Pfeil von Standard-LaTeX hat)?

Gute Nacht,
Sigma

EDIT: Auch dieses Problem konnte ich nun selbst lösen: Man kann als Argument die Optionen "text height" und "text width" übergeben, ich denke, "text height=1.4ex" und "text width=0.25ex" sind ganz gute Werte. Damit tut auf jeden Fall mal mein Beispiel!

[ Nachricht wurde editiert von MrSigma am 02.01.2009 02:57:04 ]



  Profil  Quote  Link auf diesen Beitrag Link
Stefan_K
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 13.07.2005
Mitteilungen: 4281
Aus: Hamburg
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2009-01-02


Hallo Sigma,

hier findest Du übrigens eine Fülle von Beispielen zu TikZ: TikZ and PGF examples auf texample.net.

Viele Grüße,

StefanK



  Profil  Quote  Link auf diesen Beitrag Link
MrSigma
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 10.01.2004
Mitteilungen: 318
Aus: Aachen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2009-01-02


Hallo Stefan,

der Link scheint im Moment gerade nicht zu gehen, aber ich glaube, ich hab diese Beispielquelle ohnehin schon einmal gesehen. Werds nachher noch einmal versuchen. Sind leider nicht so viele Diagrammbildchen dabei. Aber die allgemeinen Möglichkeiten sind schon beeindruckend!



  Profil  Quote  Link auf diesen Beitrag Link
MrSigma hat die Antworten auf ihre/seine Frage gesehen.
MrSigma hat selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]