Coder Social home page Coder Social logo

spectralsequences / latex Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 4.0 41.41 MB

Latex package to print spectral sequence diagrams using pgf/tikz.

TeX 96.23% Shell 1.52% Dockerfile 0.45% Lua 1.69% Python 0.10%
pgf tikz algebraic-topology latex-package

latex's People

Contributors

caramdir avatar hoodmane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

latex's Issues

Issue with spectralsequences and expl3

I was trying to use spectralsequences on my Mac (literally just copied the intro example into my pset document), and I got this error:

/usr/local/texlive/2021/texmf-dist/tex/latex/spectralsequences/sseqcheckdefinitions.code.tex:78: Package spectralsequences Error: Internal error: Since this version of
(spectralsequences)                spectralsequences, the expl3 definition
(spectralsequences)                of \peek_meaning_ignore_spaces:NTF  was
(spectralsequences)                updated in an incompatible way. Contact
(spectralsequences)                package author Hood Chatham at
(spectralsequences)                [email protected].

I tried updating all my TexLive packages (tlmgr update --all) but that didn't help; not sure how to proceed from here...

Incompatible with sideways environment

If we put a spectral sequence in a sideways environment from the rotating
package, it complains that the x range is too large, even thought it is
actually fine.

Bent structlines do not start at center of class

Minimal example:

\documentclass{article}
\usepackage{spectralsequences}

\begin{document}
  \begin{sseqpage}
    \class(0, 0)
    \class(1, 1)
    \structline[bend left = 50]
  \end{sseqpage}
\end{document}

Instead of the structline starting from the center of the class, it starts at the point where it would have left the node if it were straight. This looks extremely odd for a very bent structline.

Screenshot from 2022-01-03 17-15-45

Compatibility issue with tikz v3.1.5b?

The package throws the following fit-patch-failed warning when loaded, both with the version in the latest texlive release, and the unreleased version.

Package spectralsequences Warning: Internal error: Failed to patch fit.
(spectralsequences)                \circleclasses won't work. Your copy of
(spectralsequences)                tikz is newer than the version
(spectralsequences)                spectralsequences was designed for and
(spectralsequences)                seems to be incompatible with
(spectralsequences)                \circleclasses. Contact package author Hood
(spectralsequences)                Chatham at [email protected].

The version of tikz in use is as follows, without modification, from the latest texlive release.

Package: tikz 2020/01/08 v3.1.5b (3.1.5b)

`totalxmargin` and `totalymargin` errors

When trying to draw a single page of a rather simple spectral sequence which is provided with the arguments axes type=center, xrange and yrange together with classes that are out of bounds, I get the following errors:

Missing number, treated as zero.

<to be read again> 
                   \sseq@totalxmargin 
l.19     \end{sseqpage}
Illegal unit of measure (pt inserted).

<to be read again> 
                   \sseq@totalxmargin 
l.19     \end{sseqpage}

and similarly for totalymargin. A minimal example is as follows:

\documentclass{article}
\usepackage{spectralsequences}
\begin{document}

\begin{center}
    \begin{sseqdata}[name = basic, xscale = 1.5, yscale=1.5,
    cohomological Serre grading, classes = {draw = none }, axes type=center,  x range = {-1}{4}, y range = {-1}{4}]
    \end{sseqdata}
    \begin{sseqpage}[name=basic, page = 0]
        \foreach \x in {-15,...,15}
            \foreach \y in {-15,...,15}{
            \class["E_{\page}^{\x,\y}"](\x,\y)
            }
            \foreach \x in {-4,...,6}
            \foreach \y in {-4,...,6}{
                \d\page(\x,\y)
        }
    \end{sseqpage}
\end{center}

\end{document}

I have taken the liberty of publishing this exampleon my ShareLatex account for ease of viewing: https://www.sharelatex.com/9384197184dfpjvctcxxby. Perhaps I am misunderstanding how one should go about typesetting such a spectral sequence?

Note also that in this example, the negatively graded objects in the spectral sequence seem to have a larger than normal vertical bounding box. I am also not sure if this is a bug or not.

This error occurs when compiling with ShareLatex. I have not tried another compiler/parser but I don't see a reason why this error should be compiler related.

grid = go incompatible with no axes

The following snippet:

\documentclass{article}
\usepackage{spectralsequences}
\begin{document}
\begin{sseqpage}[grid = go, no axes]
  \class(0,0)
\end{sseqpage}
\end{document}

results in the following non-fatal error:

./test.tex:8: Undefined control sequence.
\sseq@bottomgridpadding ->\sseqxaxisgap

l.8 \end{sseqpage}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

./test.tex:8: Missing number, treated as zero.
<to be read again>
                   <
l.8 \end{sseqpage}

A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

./test.tex:8: Illegal unit of measure (pt inserted).
<to be read again>
                   <
l.8 \end{sseqpage}

Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.
To recover gracefully from this error, it's best to
delete the erroneous units; e.g., type `2' to delete
two letters. (See Chapter 27 of The TeXbook.)

./test.tex:8: Undefined control sequence.
\sseq@bottomgridpadding ->\sseqxaxisgap

l.8 \end{sseqpage}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

./test.tex:8: Missing number, treated as zero.
<to be read again>
                   p
l.8 \end{sseqpage}

A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

use of internal xparse commands will break

spectralsequences uses a number of commands internal and private to xparse. Such commands are allowed to change without notice, and exactly this will happen in the next latex, and so your style will break. Please use only public functions from other packages.

bend + scale is broken

The following does not produce the desired outcome:

\documentclass{article}
\usepackage{spectralsequences}

\begin{document}
\begin{sseqpage}[scale=0.3]
  \class(0, 0)
  \class(3, 3)
  \structline [bend left = 10] (0, 0)(3, 3)
\end{sseqpage}
\end{document}

Removing the [scale = 0.3] "fixes" the problem.

Not able to pass label options to differential via \doptions

Hi,

I propably got something wrong, but the following code does not what I want it to do:
example.txt (MWE)
I wanted to have and print a spectral sequence and then print it again, but with an additional label at a differential (usecase: revealing stuff in a beamerfile).

Changing the color of the differential and label works, but passing a labeltext to the differential via \doptions does not seem to have an effect. Although the manual says, that the universal options in 4.1 could be used with \doptions.

What do I do wrong?

Thanks anyways for the great package! I love it!

Beamer compatibility

Doug says:

If you write code for a spectral sequence within a frame, the results will not be what you hope for, even if the sseq code is correct and works fine a separate test file. You should instead write this code BETWEEN FRAMES (so Beamer itself does not try to process it), and just put the printpage command in the frame environment.

A paragraph about this in your manual could save some users a LOT of grief.

Problems with uploading the package in overleaf

HI! I'm new using GitHub and I wanted to use the package for drawing spectral sequences in overleaf. My problem is that I don't know how to upload the package in overleaf because there are many folders and records, and I'don't know which ones I've to choose.

xmirror/ymirror produce mirrored coordinate labels

Using xmirror and ymirror causes the labels on the horizontal coordinate axis to be flipped.

xmirror

\begin{sseqpage}[xmirror, classes = {draw = none}]
\class["A"](0,0)

\class["B"](2,2)
\end{sseqpage}

ymirror

\begin{sseqpage}[ymirror, classes = {draw = none}]
\class["A"](0,0)

\class["B"](2,2)
\end{sseqpage}

both

\begin{sseqpage}[xmirror, ymirror, classes = {draw = none}]
\class["A"](0,0)

\class["B"](2,2)
\end{sseqpage}

produces the attached output.
min.pdf

Latest CTAN version incompatible with ShareLatex

The most up to date version of spectralsequences that is available on CTAN (v1.2.0) is incompatible with ShareLatex. I circumvented this issue by simply downloading the latest source from this git repository and uploading it for ShareLatex to use instead of the one that is obtained by default from CTAN.

Perhaps an update to CTAN's stashed version is in order?

Great work with this package by the way, I can see it becoming as useful to me as tikzcd is!

Cannot style extensions

The following produces an error:

\documentclass{article}
\usepackage{spectralsequences}

\begin{document}
  \begin{sseqpage}
    \class(0, 0)
    \class(1, 1)
    \extension[red]
  \end{sseqpage}
\end{document}

Error:

Package pgfkeys Error: I do not know the key '/sseqpages/extension/red' and I am going to ignore it. Perhaps you misspelled it.

Draft Mode + DrawIfValidDifferential fails to compile

This compiles without draft but fails to compile with draft.

\documentclass{article}
\usepackage[draft]{spectralsequences}

\begin{document}
\begin{sseqpage}
  \class(0, 2)
  \class(1, 0)
  \DrawIfValidDifferential2(1, 0)(0, 2)
\end{sseqpage}
\end{document}

Temporary workaround: Add the line

\DeclareDocumentCommand \sseq@DrawIfValidDifferential@ { mmO{} } {}

to line 1519 of sseqmain.code.tex

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.