summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-07-19 20:15:07 +0000
committerKarl Berry <karl@freefriends.org>2021-07-19 20:15:07 +0000
commit8e5b8d42fd285921dde3b5fa0a45034f98dba2d1 (patch)
tree75918d0205c8711ceeb614a73250813d16280e2a /Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex
parentef21a6a342dc9620b74140da085c526371b579f5 (diff)
spectralsequences (19jul21)
git-svn-id: svn://tug.org/texlive/trunk@59992 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex')
-rw-r--r--Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex94
1 files changed, 76 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex b/Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex
index 1581a516ec9..03c8c7591ad 100644
--- a/Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex
+++ b/Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex
@@ -1,8 +1,8 @@
%%
-%% Package: spectralsequences v1.2.2
+%% Package: spectralsequences v1.3.0 2021-07-18
%% Author: Hood Chatham
%% Email: hood@mit.edu
-%% Date: 2019-02-18
+%% Date: 2021-07-18
%% License: Latex Project Public License
%%
%% File: sseqkeys.code.tex
@@ -595,8 +595,8 @@
\pgfkeysalso{/sseqpages/alias/.expand once=\detokenize\@xp{\sseq@class@name}}%
},
show name/.store in=\sseq@class@showname,
- page/.code={\sseq@getnumrange\sseq@class@page{#1}},% page & gen are only for \classoptions.
- generation/.code={\sseq@getnumrange\sseq@gen{#1}}, % \class tests if \sseq@class@page is set and throw an error if so.
+ page/.code={\sseq@getnumrange@defaultupperboundinfty\sseq@class@page{#1}},% page & gen are only for \classoptions.
+ generation/.code={\sseq@getnumrange@defaultupperboundinfty\sseq@gen{#1}}, % \class tests if \sseq@class@page is set and throw an error if so.
tag/.code={\sseq@d@addto@macro\sseq@class@tag{#1}},
offset/.store in=\sseq@tempoffset,
tooltip/.sseq @ first pass code={\ifx\sseqtooltip\undefined \sseq@error{no-tooltip}\else \def\sseq@tooltip{#1}\fi},
@@ -604,23 +604,46 @@
}
\pgfqkeys{/sseqpages/struct line}{
- page/.code={\sseq@getnumrange\sseq@structline@page{#1}}
+ page/.code={\sseq@getnumrange@defaultupperboundinfty\sseq@structline@page{#1}}
}
\def\sseq@fitalso{}
\pgfqkeys{/sseqpages/fit}{
fit/.sseq @ first pass code={\sseq@d@addto@macro\sseq@fitalso{#1}},
- page/.code={\sseq@getnumrange\sseq@fit@page{#1}}
+ page/.code={\sseq@getnumrange@defaultupperboundinfty\sseq@fit@page{#1}}
}
-\def\sseq@getnumrange#1#2{
+\def\sseq@getnumrange#1#2{%
+ \pgfutil@in@{--}{#2}\ifpgfutil@in@
+ \sseq@getnumrange@range#1#2\sseq@nil
+ \else
+ \sseq@getnumrange@range#1#2--#2\sseq@nil
+ \fi
+}
+
+\def\sseq@getnumrange@defaultupperboundinfty#1#2{%
\pgfutil@in@{--}{#2}\ifpgfutil@in@
\sseq@getnumrange@range#1#2\sseq@nil
\else
\sseq@getnumrange@range#1#2--\sseq@infinity\sseq@nil
\fi
}
-\def\sseq@getnumrange@range#1#2--#3\sseq@nil{\edef#1{\the\numexpr#2}\@xp\edef\csname\sseq@macroname#1max\endcsname{\the\numexpr#3}}
+
+\def\sseq@getnumrange@range#1#2--#3\sseq@nil{%
+ \ifx\infty#2
+ \edef#1{\sseq@infinity}%
+ \@xp\edef\csname\sseq@macroname#1max\endcsname{\sseq@infinity}%
+ \else
+ \edef#1{\the\numexpr#2}%
+ \ifx\infty#3
+ \@xp\edef\csname\sseq@macroname#1max\endcsname{\sseq@infinity}%
+ \else
+ \@xp\edef\csname\sseq@macroname#1max\endcsname{\the\numexpr#3}%
+ \fi
+ \fi
+}
+
+
%% Needs tikz
% Force \class or \d to fall back to using tikz to render their output
@@ -1116,7 +1139,6 @@
\sseq@temp@ii/.code/.expanded={%
\unexpanded{#3{##1}}{\sseq@temp=\unexpanded{##1}}%
\unexpanded{\edef#1{\unexpanded\@xp{\sseq@sanitize@output}}}%
- %\show\@nx#1
\sseq@breakpoint
},
\sseq@temp@ii/.value required,
@@ -1380,6 +1402,15 @@
update existing/.sseq default code={\sseq@updateexistingtrue}
}
+\def\sseq@printnum@inftytosymbol#1{%
+ \ifnum#1=\sseq@infinity\relax
+ $\infty$%
+ \else
+ #1%
+ \fi
+}
+
+
\sseq@addtostorelist\sseq@grid{\relax}
\sseq@addiftostorelist{hasdegree}
\let\sseq@maybemathswitch\relax
@@ -1388,18 +1419,28 @@
name/.sseq default error,
~page/.code={
\ifsseq@hasname
- \sseq@getnumrange\sseq@thepage{#1}
+ \sseq@getnumrange\sseq@thepage{#1}%
\sseq@thepagecount=\sseq@thepage\relax
\let\page\sseq@thepage
+ \ifnum\sseq@thepage=\sseq@infinity
+ \def\page{$\infty$}%
+ \fi
+ \def\sseq@temp{\sseq@novalue}
+ \ifx\sseq@printpageas\sseq@temp
+ \def\sseq@printpageas{Page \page}
+ \ifnum\sseq@thepage<\sseq@thepagemax
+ \ifnum\sseq@thepagemax=\sseq@infinity\relax
+ \def\sseq@printpageas{Page \page\space(all differentials)}
+ \else
+ \def\sseq@printpageas{Page \page\space(differentials of length $\leq\sseq@thepagemax$)}
+ \fi
+ \fi
+ \fi
\edef\sseq@thepagemm{\the\numexpr\sseq@thepagecount-1\relax}
- \ifx\sseq@thepagemax\sseq@infinity
- \edef\sseq@thepagemaxpp{\the\numexpr\sseq@thepagecount+1\relax}
+ \ifnum\sseq@thepagemax=\z@
+ \let\sseq@thepagemaxpp\sseq@infinity
\else
- \ifnum\sseq@thepagemax=\z@
- \let\sseq@thepagemaxpp\sseq@infinity
- \else
- \edef\sseq@thepagemaxpp{\the\numexpr\sseq@thepagemax+1\relax}
- \fi
+ \edef\sseq@thepagemaxpp{\the\numexpr\sseq@thepagemax+1\relax}
\fi
\else
\sseq@error{page-no-name}
@@ -1465,6 +1506,21 @@
add class placement transform/.value required,
}
+
+\sseq@addiftostorelist@truedefault{rangecheck}
+\sseq@addiftostorelist{rangecheck@sideways}
+\sseq@globalkeys{%
+ range check standard/.code={\sseq@rangechecktrue\sseq@rangecheck@sidewaysfalse},
+ range check standard/.sseq default code={%
+ \def\sseq@rangecheck@default{\global\sseq@rangechecktrue}%
+ \def\sseq@rangecheck@sideways@default{\global\sseq@rangecheck@sidewaysfalse}%
+ },
+ range check sideways/.code=rangecheck@sideways,
+ range check sideways/.sseq default code={\def\sseq@rangecheck@sideways@default{\global\sseq@rangecheck@sidewaystrue}},
+ range check off/.code={\sseq@rangecheckfalse},
+ range check off/.sseq default code={\def\sseq@rangecheck@default{\global\sseq@rangecheckfalse}},
+}
+
\sseq@mathnodestrue
\sseq@addtostorelist\sseq@targetx{}\sseq@addtostorelist\sseq@targety{}
@@ -1600,10 +1656,12 @@
\sseq@addtostorelist{\sseq@xtickfn}{} % These should initially be the identity macro, but addtostorelist doesn't accept functions as default
\sseq@addtostorelist{\sseq@ytickfn}{} % so the default is instated in begin{sseqdata} / begin{sseqpicture}.
+\let\sseq@printpageas\relax
\sseq@globalkeys{%
title/.sseq store in=\sseq@title{},
title style/.sseq append to style={/sseqpages/global/every title}{at={(0.5*\xmin+0.5*\xmax,\ymax)}},
draw title/.sseq is if=drawtitle,
+ print page as/.sseq store in=\sseq@printpageas{\sseq@novalue},
no title/.code=\sseq@drawtitlefalse,
%
x label/.sseq store in=\sseq@xaxislabel{},
@@ -2052,7 +2110,7 @@
page constraint or/.code={
\sseq@updatepageconstraint{#1}{||}
},
- page/.code={\sseq@getnumrange\temp{#1}\sseq@updatepageconstraintrange},
+ page/.code={\sseq@getnumrange@defaultupperboundinfty\temp{#1}\sseq@updatepageconstraintrange},
set page constraint/.store in=\sseq@pageconstraint,
background/.code={\sseq@standardparse\sseq@setsavedpaths{background}\pgfkeysalso{standard parse}},
}