
안녕하세요 저는 길고 정확한 순서를 그리려고 노력하고 있으며 중요한 것은 용어가 3개로 나타나는 것입니다. 불행하게도 결과는 끔찍해 보입니다. 더 멋지게 보이게 만드는 방법에 대한 아이디어가 있는 사람이 있습니까? 특히 대각선 화살표가 보기 흉해 보입니다. 화살표를 구부리거나 더 멋지게 보이게 하는 방법이 있나요? 또한 세 번째 행에서는 사이에 있는 용어를 가리기 위해 '...'를 넣었지만 이는 보기에 좋지 않고 대각선 화살표가 균일하게 배열되지 않습니다. 어떤 제안이라도 대단히 감사하겠습니다 :)
나는 xy pic을 사용하고 있습니다. 내 코드는 다음과 같습니다.
상대적으로 긴 정확한 순서는 다음과 같습니다.
\[
\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} \]
그리고 이것이 어떻게 생겼는지입니다
(페이지 공간을 채우기 위해 이중 열 간격을 사용했습니다)
답변1
보다 현대적이고 다재다능한 옵션을 사용하는 옵션은 다음과 같습니다.tikz-cd
, 전환하려는 경우를 대비해 다음을 수행하세요.
\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}
를 사용하면 column sep=<length>
열 분리를 더 효과적으로 제어할 수 있습니다. 원하는 대로 변경하는 방법을 보여드리기 위해 예제 코드에 해당 내용을 주석 처리했습니다.
\plhold
뻔뻔하게 매크로를 빌렸어요egreg's answer
.
답변2
점이 대체하는 개체만큼 수평 및 수직 공간을 차지하도록 하여 이를 개선할 수 있습니다. 화살표를 구부리는 것은 나에게 매력적이지 않습니다.
\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}
빈 열 위로 점프하는 것보다 열 분리를 수행하여 너비를 더 잘 제어할 수 있습니다.