Skip to content

Unexpected behavior with scope and \classoptions #26

Description

@bensteffan

It seems that \classoptions does not pick up options from a surrounding scope. Consider the following code:

\documentclass{article}

\usepackage{spectralsequences}

\begin{sseqdata}[name = scopeissue, classes = {fill}]
	\class (1, 1)
	\begin{scope}[red]
		\classoptions[] (1, 1)
		\class (1, 2)
	\end{scope}
\end{sseqdata}

\begin{document}
\printpage[name = scopeissue]
\end{document}

I would expect that this colors both classes red, but the class at (1, 1) remains black. \classoptions[red] (1, 1) works as expected, so it seems like \classoption does not pick up the option from the scope. This is not specific to coloring, other options are also not picked up.

On the other hand, in

\documentclass{article}

\usepackage{spectralsequences}

\SseqNewFamily{showclasses}
\begin{sseqdata}[name = familyissue, classes = {fill}]
	\class (1, 1)
	\begin{scope}[showclasses]
		\classoptions[] (1, 1)
	\end{scope}
\end{sseqdata}

\begin{document}
\printpage[name = familyissue]
\printpage[name = familyissue, no showclasses]
\end{document}

the class at (1, 1) is not drawn in the second \printpage call, so some information is passed through, but again \printpage[name = familyissue, showclasses style = red] will not color the class red, but will work fine if the \classoptions[] is replaced with \classoptions[showclasses].

As a side note, writing \classoptions (1, 1) without square brackets makes spectralsequences complain loudly with

./mwe.tex:9: Package spectralsequences Error: There is no reason to use \classoptions
(spectralsequences)  without giving options.
(spectralsequences
)  
(spectralsequences)  Error occurred during call "\classoptions(1, 1)" (on
(spectralsequences)  input line 9). 

I would argue that this use with scope is a use case for using \classoptions without giving explicit options, and that if this is made to work the error should be removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions