diff options
author | Karl Berry <karl@freefriends.org> | 2021-07-19 20:15:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-07-19 20:15:07 +0000 |
commit | 8e5b8d42fd285921dde3b5fa0a45034f98dba2d1 (patch) | |
tree | 75918d0205c8711ceeb614a73250813d16280e2a /Master/texmf-dist/tex/latex/spectralsequences/sseqkeys.code.tex | |
parent | ef21a6a342dc9620b74140da085c526371b579f5 (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.tex | 94 |
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}}, } |