
Я хотел бы построить следующую диаграмму в LaTeX. Как лучше всего это сделать? Я бы хотел избежать использования внешнего программного обеспечения. (У меня сейчас есть «линейная» последовательность, \cdots\to H_p(L)\to H_p(K)\to\cdots
но я хотел бы переделать ее так, чтобы она выглядела как на изображении.)
решение1
Самая сложная часть, пожалуй, в том, как вписать его в ширину текста:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}[column sep=small]
\cdots \arrow[r,"\varepsilon_*"] &
H_{p+2}(K,L) \arrow[d,"\partial_*"] \\
& H_{p+1}(L) \arrow[r,"i_*"] &
H_{p+1}(K) \arrow[r,"\varepsilon_*"] &
H_{p+1}(K,L) \arrow[d,"\partial_*"] \\
&&& H_{p}(L) \arrow[r,"i_*"] &
H_{p}(K) \arrow[r,"\varepsilon_*"] &
H_{p}(K,L) \arrow[d,"\partial_*"] \\
&&&&& H_{p-1}(L) \arrow[r,"i_*"] & \cdots
\end{tikzcd}
\]
\end{document}
С этим кодом
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}[column sep=.5em]
\cdots \arrow[r,"\varepsilon_*"] &[.5em]
H_{p+2}(K,L) \arrow[d,"\partial_*"] \\
& H_{p+1}(L) \arrow[r,"i_*"] &
H_{p+1}(K) \arrow[r,"\varepsilon_*"] &[.5em]
H_{p+1}(K,L) \arrow[d,"\partial_*"] \\
&&& H_{p}(L) \arrow[r,"i_*"] &
H_{p}(K) \arrow[r,"\varepsilon_*"] &[.5em]
H_{p}(K,L) \arrow[d,"\partial_*"] \\
&&&&& H_{p-1}(L) \arrow[r,"i_*"] &[.5em] \cdots
\end{tikzcd}
\]
\end{document}
и стандартной ширины текста article
мы получаем переполненный блок менее 1 пт, и вывод кажется вполне приемлемым.
решение2
Основываясь на ответе egreg, я хочу показать, что эту диаграмму можно задать с помощью макросов, определенных исключительно простым TeX.
\def\rar#1{\mathop{\longrightarrow}\limits^{#1}}
\def\dar#1{\bigg\downarrow\rlap{$\scriptstyle#1$}}
$$
\ialign{\hfil$#$\hfil&&\hskip.1em\hfil$#$\hfil\crcr
\cdots & \rar{\varepsilon_*} & H_{p+2}(K,L) \cr
&& \dar{\partial_*} \cr
&& H_{p+1}(L) & \rar{i_*} & H_{p+1}(K) & \rar{\varepsilon_*} & H_{p+1}(K,L) \cr
&&&&&& \dar{\partial_*} \cr
&&&&&& H_{p}(L) & \rar{i_*} & H_{p}(K) & \rar{\varepsilon_*} & H_{p}(K,L) \cr
&&&&&&&&&& \dar{\partial_*} \cr
&&&&&&&&&& H_{p-1}(L) & \rar{i_*} & \cdots \cr
}
$$
\bye