PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diagramm(XY-Pic) im Dokument zentrieren



JensGottschalk
11-08-2008, 19:55
Hallo!

Ich habe ein wahrscheinlich einfaches Problem, und zwar möchte ich ein mittels XY-Pic erstelltes Diagramm im Dokument zentriert haben.

Also ich habe
Linksbündiger Text
\begin{xy}
\xymatrix{
A \ar[r]^f \ar[d]_i & B \ar[d]^j \\
C \ar[r]_g & D
}
\end{xy}
Linksbündiger Text

Füge ich das Diagramm so ein, wird es ebenfalls linksbündig ausgerichtet.
Was kann ich ändern, damit das Diagramm mittig ausgerichtet wird?

\begin{center} ... funktioniert leider nicht.

Vielen Dank!

bobmalaria
11-08-2008, 20:02
text text text
{
\centering
\begin{xy}
\xymatrix{
A \ar[r]^f \ar[d]_i & B \ar[d]^j \\
C \ar[r]_g & D
}
\end{xy}
}

vielleicht. mal so ganz ungetestet

JensGottschalk
11-08-2008, 20:08
Das funktioniert leider nicht ganz, weil es den darüber und darunter stehenden Text auch mitzentriert...
(Wenn es eine Möglichkeit gibt, dies zu verhindern wäre die Lösung natürlich gut :-) )

localghost
11-08-2008, 20:12
In solchen Fällen hilft der Trick mit einer Box.

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[centering,includeheadfoot,margin=2cm]{geometry}
\usepackage{txfonts}
\usepackage{xypic}
\usepackage{blindtext}

\parindent0em

\begin{document}
\blindtext
\begin{center}
\makebox[0pt]{
\begin{xy}
\xymatrix{
A \ar[r]^f \ar[d]_i & B \ar[d]^j \\
C \ar[r]_g & D
}
\end{xy}
}
\end{center}
\blindtext
\end{document}
Jetzt wird das Diagramm zentriert.


MfG
Thorsten¹

Stefan_K
11-08-2008, 20:15
Hallo,

Du könntest es in eine abgesetzte mathematische Umgebung fassen: \[ ... \]. Am gesamten Beispiel:

Linksbündiger Text
\[
\begin{xy}
\xymatrix{
A \ar[r]^f \ar[d]_i & B \ar[d]^j \\
C \ar[r]_g & D
}
\end{xy}
\]
Linksbündiger Text

Viele Grüße,

Stefan

JensGottschalk
11-08-2008, 20:28
Vielen Dank, ich werde es morgen einmal ausprobieren! :-)

voss
11-08-2008, 20:37
In solchen Fällen hilft der Trick mit einer Box.


\makebox alleine geht auch ...


\documentclass[11pt,a4paper,english]{article}
\usepackage{xypic}
\usepackage{blindtext}
\usepackage[ngerman]{babel}

\parindent0em

\begin{document}
\blindtext

\makebox[\textwidth]{%
\xymatrix{
A \ar[r]^f \ar[d]_i & B \ar[d]^j \\
C \ar[r]_g & D
}}

\blindtext
\end{document}

Herbert

Stefan_K
11-08-2008, 20:50
Hallo Jens,

mit einer abgesetzten mathematischen Umgebung kannst Du das Diagramm nicht nur zentrieren, sondern auch nummerieren oder mit \tag bezeichnen, z.B. mit equation und split.

Falls es Dich interessiert, hier ist ein Beispiel, wie man es mit pgf/TikZ (http://www.ctan.org/pkg/pgf) umsetzen könnte:

\documentclass[a4paper,10pt]{article}
\usepackage{tikz}
\usetikzlibrary{matrix,arrows}
\begin{document}

\begin{center}
\begin{tikzpicture}[every node/.style={anchor=center},>=stealth']
\matrix (m) [matrix of math nodes, row sep=3em, column sep=3em]
{ A & B \\
C & D \\ };
\draw[->] (m-1-1) -- node[above] {$\scriptstyle f$} (m-1-2);
\draw[->] (m-1-2) -- node[right] {$\scriptstyle j$} (m-2-2);
\draw[->] (m-1-1) -- node[left] {$\scriptstyle i$} (m-2-1);
\draw[->] (m-2-1) -- node[below] {$\scriptstyle g$} (m-2-2);
\end{tikzpicture}
\end{center}

\end{document}
Das lässt sich direkt mit pdflatex übersetzen, der Weg über dvi und postscript wie bei xy-pic ist nicht nötig. Für den Fall, dass Du TikZ noch nicht installiert hast, habe ich einmal die Ausgabe des Beispiels im pdf-Format (mit pdfcrop beschnitten) angehängt.

Viele Grüße,

Stefan

voss
11-08-2008, 21:13
Das lässt sich direkt mit pdflatex übersetzen, der Weg über dvi und postscript wie bei xy-pic ist nicht nötig. Für den Fall, dass Du TikZ noch nicht installiert hast, habe ich einmal die Ausgabe des Beispiels im pdf-Format (mit pdfcrop beschnitten) angehängt.


xymatrix geht auch mit pdflatex ...

Herbert

Stefan_K
11-08-2008, 23:01
xymatrix geht auch mit pdflatex ...


Gut, dass Du das erwähnst. Weder im Reference Manual noch im User Guide (auf CTAN) wird nämlich pdflatex bzw. pdf erwähnt, auch bei den dort gelisteten Treibern taucht pdftex nicht auf. Sehr gut, dass xy-pic auch mit pdftex weiterhin funktioniert.

Auf der (TUG-) Homepage von xy-pic sind etliche Links tot, wie ebenfalls die in den begleitenden TRAILER-Dateien erwähnte Autor-Homepage zu xy-pic, die neuesten Dokumente auf CTAN datieren auf Anfang 1999. Daher, obwohl ich xy-pic früher auch verwendet habe und als wertvoll schätze, ziehe ich aktuell gepflegte Alternativen in Betracht, deswegen mein kleines Demo-Beispiel oben. U.a. mit matrix of math nodes und der chains library von TikZ lassen sich nämlich sehr gut kommutative Diagramme erstellen, deren Code dazu noch in meinen Augen erheblich besser lesbar und damit wartbar sind als die xy-Syntax.

Viele Grüße,

Stefan

voss
11-08-2008, 23:32
Gut, dass Du das erwähnst. Weder im Reference Manual noch im User Guide (auf CTAN) wird nämlich pdflatex bzw. pdf erwähnt, auch bei den dort gelisteten Treibern taucht pdftex nicht auf. Sehr gut, dass xy-pic auch mit pdftex weiterhin funktioniert.

Wieso soll hier ein Treiber erwähnt werden??
Es handelt sich um ordinäre TeX-Grafikelemente. Das hat nix mit einem Treiber
zu tun.


Auf der (TUG-) Homepage von xy-pic sind etliche Links tot, wie ebenfalls die in den begleitenden TRAILER-Dateien erwähnte Autor-Homepage zu xy-pic, die neuesten Dokumente auf CTAN datieren auf Anfang 1999. Daher, obwohl ich xy-pic früher auch verwendet habe und als wertvoll schätze, ziehe ich aktuell gepflegte Alternativen in Betracht, deswegen mein kleines Demo-Beispiel oben. U.a. mit matrix of math nodes und der chains library von TikZ lassen sich nämlich sehr gut kommutative Diagramme erstellen, deren Code dazu noch in meinen Augen erheblich besser lesbar und damit wartbar sind als die xy-Syntax.

Was heißt denn gepflegte Alternativen? TeX wird auch nicht mehr
gepflegt und die xy-Pakete sind nicht veraltet, sondern sie können
genau das, was sie eben können. Und die Syntax ist imemr eine
Geschmackassache, schließlich ist die von pgf auch gewöhnungsbedürftig.

Kommutative Diagramme sind nun nicht gerade eine Spielwiese für tikZ
und PSTricks und daher würde ich nie auf diese Pakete verweisen.
amscd kann beispielsweise auch einiges sehr gut darstellen.

Herbert

Stefan_K
12-08-2008, 01:17
Wieso soll hier ein Treiber erwähnt werden??
Es handelt sich um ordinäre TeX-Grafikelemente. Das hat nix mit einem Treiber
zu tun.

Die Dokumentation bespricht etliche Treiber und für sie verfügbare Erweiterungen, auch wenn nur Standard-TeX und Metafont verwendet wurden.


Was heißt denn gepflegte Alternativen? TeX wird auch nicht mehr gepflegt und die xy-Pakete sind nicht veraltet, sondern sie können genau das, was sie eben können.
Gepflegt heißt für mich beispielsweise: nicht in der Doku auf eine nicht mehr existente Homepage verweisen, keine toten Links auf einer alternativen Homepage. So etwas kann passieren und ich sehe keinen Anspruch auf Aktualität, ich stieß eben nur auf falsche Verweise, als ich selbst nach der dort verlinkten Doku suchte.


Kommutative Diagramme sind nun nicht gerade eine Spielwiese für tikZ und PSTricks und daher würde ich nie auf diese Pakete verweisen.

Dann sind wir unterschiedlicher Meinung. Ich gebe gern Hinweise auf alternative Möglichkeiten und überlasse es dem Leser, eine Anregung auf den Nutzen für ihn selbst einzuschätzen.

Ich hoffe, meine Vorschläge oben für xy-pic, neben dem TikZ-Beispiel, sind für Jens interessant zu lesen und er findet unter diesen und den anderen Vorschlägen von Dir und den weiteren Schreibern <i>seine</i> Lösung. Jetzt hat er eben noch eine weitere Meinung von Dir zum Lesen, umso besser.

Stefan