
Hallo, ich versuche, eine lange, exakte Sequenz zu zeichnen, und zwar vor allem mit den Begriffen, die in Dreiergruppen vorkommen. Leider sieht das Ergebnis furchtbar aus. Hat jemand eine Idee, wie man es schöner machen kann? Insbesondere die diagonalen Pfeile sehen hässlich aus. Gibt es vielleicht Möglichkeiten, sie zu biegen oder schöner aussehen zu lassen? Außerdem habe ich in die dritte Reihe „…“ gesetzt, um die Begriffe dazwischen abzudecken, aber das sieht furchtbar aus und die diagonalen Pfeile ordnen sich dann nicht gleichmäßig an. Ich bin für jeden Vorschlag sehr dankbar :)
Ich verwende das Bild xy, hier ist mein Code:
Unsere relativ lange exakte Sequenz ist gegeben durch
\[
\xymatrix{
0 \ar[rr] && H^0(M, \Dd M) \ar[rr] && H^0(M) \ar[rr] && H^0(\Dd M) \ar[dllll] \\
&& H^1(M, \Dd M) \ar[rr] && H^1(M) \ar[rr] && H^1(\Dd M) \ar[dllll] \\
&& \cdots \ar[rr] && \cdots \ar[rr] && \cdots \ar[dllll] & \\
&& H^n(M, \Dd M) \ar[rr] && H^n(M) \ar[rr] && 0} \]
Und so sieht es aus
(Ich habe den doppelten Spaltenabstand verwendet, um den Seitenraum auszufüllen)
Antwort1
Hier ist eine Option mit dem moderneren und vielseitigerentikz-cd
, falls Sie wechseln möchten:
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{calc}
\newcommand\Dd{\partial}
\tikzset{
Curved/.style={
rounded corners,to path={ -- ([xshift=2ex]\tikztostart.east)
|- (#1) [near end]\tikztonodes
-| ([xshift=-2ex]\tikztotarget.west)
-- (\tikztotarget)
}
}
}
\newcommand{\plhold}[1]{%
\makebox[\widthof{$#1$}]{$\vphantom{#1}{\cdots}$}%
}
\begin{document}
\begin{tikzcd}%[column sep=2cm]
0 \ar[r]
& H^0(M, \Dd M) \ar[r]
& H^0(M) \ar[r]\arrow[d, phantom, ""{coordinate, name=A}]
& H^0(\Dd M) \arrow[dll,Curved=A]
\\
& H^1(M, \Dd M) \ar[r]
& H^1(M) \ar[r] \arrow[d, phantom, ""{coordinate, name=B}]
& H^1(\Dd M) \arrow[dll,Curved=B]
\\
& \plhold{H^n(M, \Dd M)} \ar[r]
& \plhold{H^n(M)} \ar[r]\arrow[d, phantom, ""{coordinate, name=C}]
& \plhold{H^1(\Dd M)} \arrow[dll,Curved=C] &
\\
& H^n(M, \Dd M) \ar[r]
& H^n(M) \ar[r]
& 0
\end{tikzcd}
\end{document}
Beachten Sie, dass column sep=<length>
Sie mit eine bessere Kontrolle über die Spaltentrennung haben. Ich habe dies in meinem Beispielcode auskommentiert gelassen, um Ihnen zu zeigen, wie Sie es nach Ihren Wünschen ändern können.
Ich habe das Makro schamlos \plhold
vonegreg's answer
.
Antwort2
Sie können es verbessern, indem Sie dafür sorgen, dass die Punkte horizontal und vertikal genauso viel Platz einnehmen wie die Objekte, die sie ersetzen. Das Verbiegen der Pfeile gefällt mir nicht.
\documentclass{article}
\usepackage{calc}
\usepackage[all,cmtip]{xy}
\newcommand{\Dd}{\partial}
\newcommand{\plhold}[1]{%
\makebox[\widthof{$#1$}]{$\vphantom{#1}{\cdots}$}%
}
\begin{document}
\[
\xymatrix@C+3em{
0 \ar[r]
& H^0(M, \Dd M) \ar[r] & H^0(M) \ar[r] & H^0(\Dd M) \ar[dll] \\
& H^1(M, \Dd M) \ar[r] & H^1(M) \ar[r] & H^1(\Dd M) \ar[dll] \\
& \plhold{H^1(M, \Dd M)} \ar[r] & \plhold{H^1(M)} \ar[r] & \plhold{H^1(\Dd M)} \ar[dll] \\
& H^n(M, \Dd M) \ar[r] & H^n(M) \ar[r] & 0
}
\]
\end{document}
Beachten Sie, dass Sie die Breite besser steuern können, wenn Sie die Spaltentrennung beeinflussen, anstatt leere Spalten zu überspringen.