SpectralSequences / latex

Latex package to print spectral sequence diagrams using pgf/tikz.
9 stars 4 forks source link

use of internal xparse commands will break #12

Open u-fischer opened 3 years ago

u-fischer commented 3 years ago

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.

hoodmane commented 3 years ago

Thanks for the warning! Much appreciated. (How did you track this down? Did you grep the ctan package repository?)

dalcde commented 3 years ago

The following snippet now fails to compile:

\documentclass{article}

\usepackage{spectralsequences}

\begin{document}
\DeclareSseqCommand\foo{u(u,u)} {
  \class(#2, #3)
}
\begin{sseqpage}
  \foo(0, 0)
\end{sseqpage}
\end{document}
hoodmane commented 3 years ago

Seems to work with texlive 2021 but not work with older versions of texlive. I will try to fix it.

hoodmane commented 3 years ago

Okay I fixed it. Thanks Dexter!

u-fischer commented 3 years ago

Sorry but your code is still wrong. You only exchanged the use of one set of private commands ...__xparse... with another set ...__cmd.... You shouldn't use them at all, private functions are private and can change without notice. If you miss a public function or interface then make a feature request.

hoodmane commented 3 years ago

@u-fischer Right. I wouldn't make it this way if I was doing it now. I had never done any software maintenance when I wrote this code and existing latex packages do not respect each others' privacy very well. On the other hand, people are using the package in the current form and there is some value to fixing breakages even if the code might break again in the future. I can't even remember why I did it this way well enough to determine easily if it is adding value or just extra maintenance burden. Maybe I will figure out what I was up to and strip it out later.