summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/spectralsequences/README.md
blob: 3d53d32c31e080ff5edc88320cfca8e089411dfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

spectralsequences v1.3.2
========================
Author: Hood Chatham  
Email: hood@mit.edu  
Date: 2022-02-19
License: All files have the Latex Project Public License.  
Description: Print spectral sequence diagrams using pgf/tikz.  


See the file manual/spectralsequencesmanual.pdf for a manual. See the examples
directory for a large number of example files. The current development copy is
hosted at https://github.com/SpectralSequences/latex. Open an issue on the
github issue tracker https://github.com/SpectralSequences/latex/issues/new to
submit bug reports, request new features, etc.

Changelog:
==========
## [1.3.2] (2022-02-19)

### Fixed:
- Bent edges now enter the shapes at their endpoints at the correct angle.
- Fixed an incompatibility with versions of latex3 starting with 2022-01-12

## [1.3.1] (2022-01-04)

### Fixed:
- Extensions now should have all of the same features as structlines. Before, a
  bunch of things were missing or broken.
- Various issues with range checks for rotated figures are fixed.
- The `u` argument works again in `\DeclareSseqCommand` in versions of TeXLive
  prior to 2021.

## [1.3.0] (2021-07-18)
### Added:
- Added more control over page indicator in title and "print page as" key.
- Added `page=\infty`.
- Added `\extension` and `\extensionoptions`
- Added `\replacestructlines`
- Added `range check off`, `range check on`, and `range check sideways` global
  keys to control range checks. The `sideways` environment from `rotating`
  environment automatically uses `range check sideways` (issue #11). 

### Fixed:
- Removed `\replaceclass` in `{sseqpage}` without `keep changes` error (suggested by Junhou Fung).
- Fixed `\doptions` and `\structlineoptions` so that they can be used to add an edge label -- `needs tikz` wasn't handled correctly (reported by idlaviV)
- Fixed title positioning when the `xrange` that doesn't start at 0 (reported by Robert Burklund)
- Fixed relative tikz coordinates (reported by Dexter Chua).
- Fixed foreach loops nested inside of plain tikz commands (e.g., `\draw (0,0) foreach \x in {1,2,3} {--(\x,\x)};`)
- Fixed `this page structlines` (reported by Irina Bobkova)
- Fixed `fit classes` to accomodate new version of `\tikz@calc@anchor` in tikz version 3.1.5
- Fixed various other incompatiblities with latex3 with various versions of expl3.

### Changed:
- \replaceclass now pushes the class replaced onto the stack.

## [1.2.2] (2019-02-18)
### Fixed:
- expl3 defined \exp_after:NNNf recently, so I changed \cs_new:Npn \exp_after:NNNf to \cs_set:Npn \exp_after:NNNf and copied the definition given by
  expl3.
- expl3 changed the definition of \peek_meaning_ignore_spaces to be in terms of \peek_meaning so \letting \peek_meaning to \peek_meaning_ignore_spaces 
  caused an infite regress. 
- expl3 changed \c__xparse_no_value_tl to \c__novalue_tl, so now I try to use each of them in sequence.
- Fixed U argument type.
- \sseqnewfamily was broken by an update to tikz that added a \scantokens call to the .ecode key handler, causing issues with @.
- If \d was called without a source or target argument and was followed by a macro, \d would eat the first token of the expansion of that macro
  causing an error. 
- Draft mode works a lot better now, though it's probably still buggy.

## [1.2.1] (2018-10-08)
### Fixed:
- Tick style didn't work, now it does.
- Orphan edges are consistently oriented correctly now (reported by Eric Peterson).
- Fixed name class in copypage
- Fixed incompatibility with new expl3 version (reported by Eric Peterson). The fix amounts to replacing a \cs_new:Npn with a \cs_gset:Npn.

### Added:
- \sseqlastlabel

## [1.2.0] (2017-12-10)
### Added:
- \replacesource and \replacetarget
- \copypage
- "name handler" option
- \SseqAHSSNameHandler
- \SseqNormalizeMonomialSetVariables
- "show name" option
- predicates \IfExistsTF, \IfAliveTF, \IfValidDifferentialTF, and \DrawIfValidDifferentialTF
- "quiet" environment

### Changed:
- class label handlers now must output result into \result
- renamed \sseqnormalizemonomial to \SseqNormalizeMonomial, and now outputs into \result
- renamed \sseqifempty to \SseqIfEmptyTF 
- renamed \sseqerrortowarning to \SseqErrorToWarning
- tooltips now disabled unless you use the package option "tooltips" to prevent extraneous auxiliary files.

### Fixed:
- A bug that made "y axis gap" adjust both axes and "x axis gap" do nothing (reported by Achim Krause).
- A bug where a random definition of \\ was leaked into global scope (reported by Achim Krause).
- Now a \structline defined with option page=n will not be deleted by a shorter differential.
- A parser error that caused infinite recurse under certain conditions
- Class names now work with commands in their name (particularly, greek letters)
- \sseq@ifintexpr no longer breaks if the expression ends in \empty
- Using \sseqset to give default scaling values for xscale and yscale now works as expected.

    
## [1.1.1] (2017-09-18)

### Fixed:
- Groups defined with \SseqNewGroup now correctly handle arithmetic in their arguments.
- Labels inside a node now replace each other if two are given so you can make the label change on a given page with \classoptions (reported by Steve Wilson). 
- \kill had a bug in it that sometimes caused it to act on the wrong page (reported by Steve Wilson).


## [1.1.0] (2017-08-06)

### Added:
- \sseqparseint
- \parsecoordinate and \parsedifferential
- \IfInBoundsTF, \IfOutOfBoundsTF
- New loop constructs \Do, \DoUntilOutOfBounds, \DoUntilOutOfBoundsThenNMore
- \kill which kills a class without having to put a differential
- \lastclass as default arguments for \replaceclass, \classoptions, \d/\doptions, \structline/\structlineoptions
- Pin key for labels
- Families 
- Insert key for new classes allows control over relative class placement without reordering commands
- Draw differentials from a range of pages.
- Frame axis type, tick marks.

### Changed:
- Ticks are now placed at values congruent to tick offset mod tick step, tick offset defaults to 0
- What was called "x axis style" is now called "x axis type".

### Fixed: 
- The \tagclass command works now.
- Scopes now nest properly.
- Fixed a big performance issue with nested scopes and shifts. 
- Adobe reader grid color is now correct (or more correct)
- Fixed the grid drawing so that grids are handled correctly when the range includes negative numbers
- The package now works with xparse after 2017/02/08 when changes were made that broke my original code
- Fixed a bug where if you used a structline in two sseqpage environments with the same name, it would give an error. 
- Now if you say \structline(0,0)(0,1) \structlineoptions(0,1)(0,0) it will work correctly.
- Big ranges like 0 - 600 now work, provided that you provide an appropriate scale
- Big range like 600 - 700 no longer will cause an overflow
- Labels now are rectangle nodes so they don't shift down if they are very wide
- Fixed a bug with ranges and the sseqpage environment where classes lying outside the printed range would enlarge the range even if an explicit range was specified.
- The chess grid works correctly now

## [1.0.0] (2017-06-21)