%%
%% Package: spectralsequences v1.3.3 2023-01-28
%% Author: Hood Chatham
%% Email:
[email protected]
%% Date: 2023-01-28
%% License: Latex Project Public License
%%
%% File: example_hatcher.tex
%%
%% This comes from Hatcher's spectral sequences book. I think it's a good demonstration of the flexibility of sseqpages.
%% Thanks to Antonio Ruiz for suggesting it.
%%
\documentclass{spectralsequence-example}
\usepackage{amssymb}
\def\Z{\mathbb{Z}}
\begin{document}
\sseqset{
0/.sseq style={"0",draw=none},
homological Serre grading,
classes={draw=none,inner sep=0.2em},
%tick gap=0.7em,
}
\begin{sseqdata}[
name=hatcherex1,
permanent cycles={draw,minimum width={width("$Z_2$")+0.85em}},
yscale=0.6,
axes gap=0.5cm,
tick gap=1em,
]
\begin{scope}[background,opacity=0.1]
\foreach \n in {1,3,...,9}{
\fill(-1.3,\n-0.5)--(-1.3,\n+0.5)--(0,\n+0.5)--(\n+0.5,0)--(\n+0.5,-2)--(\n-0.5,-2)--(\n-0.5,0)--(0,\n-0.5)--cycle;
}
\end{scope}
\class["\Z"](0,0)
\foreach\x in {1,3,...,9}{
\class["\Z_2"](\x,0)
}
\foreach \x in {2,4,...,8}{
\class[0](\x,0)
}
\foreach\y in {1,3,...,9}{
\pgfmathparse{9-\y}
\let\xmax\pgfmathresult
\foreach\x in {0,...,\xmax}{
\class["\Z_2"](\x,\y)
}
}
\foreach \y in {2,4,...,8}{
\pgfmathparse{9-\y}
\let\xmax\pgfmathresult
\foreach\x in {0,...,\xmax}{
\class[0](\x,\y)
}
}
\foreach \x in {3,5,...,9}{
\d2(\x,0)
}
\d3(4,1)
\d3(6,1)
\d3(8,1)
\d3(4,3)
\d3(6,3)
\d3(4,5)
\end{sseqdata}
\printpage[name=hatcherex1,page=0]
\vskip30pt
\begin{sseqdata}[
name=hatcherex2,
yscale=0.6,
x axis gap=0.3cm,
]
\begin{scope}[background,opacity=0.1]
\foreach \n in {1,3,...,9}{
\fill(-1.3,\n-0.5)--(-1.3,\n+0.7)--(0,\n+0.7)--(\n+0.5,0)--(\n+0.5,-2)--(\n-0.5,-2)--(\n-0.5,0)--(0,\n-0.5)--cycle;
}
\end{scope}
\foreach\x in {0,2,...,8}{
\class["\Z"](\x,0)
}
\foreach \x in {1,3,...,9}{
\class[0](\x,0)
}
\foreach\y in {1,3,...,9}{
\pgfmathparse{9-\y}
\let\xmax\pgfmathresult
\foreach\x in {0,...,\xmax}{
\pgfmathparse{int(mod(\x,2))}
\ifnum\pgfmathresult=0\relax
\class["\Z_2"](\x,\y)
\else
\class[0](\x,\y)
\fi
}
}
\d2(2,0)
\foreach \x in {4,6,...,8}{
\foreach\r in {2,4,...,\x}{
\d\r(\x,0)
\replaceclass["\Z"](\x,0)
}
}
\foreach \y in {2,4,...,8}{
\pgfmathparse{9-\y}
\let\xmax\pgfmathresult
\foreach\x in {0,...,\xmax}{
\class[0](\x,\y)
}
}
\end{sseqdata}
\printpage[name=hatcherex2,page=0]
\end{document}