Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

beamer removes options with equal sign from the class option list #815

Open
u-fischer opened this issue Dec 21, 2022 · 4 comments
Open

beamer removes options with equal sign from the class option list #815

u-fischer opened this issue Dec 21, 2022 · 4 comments

Comments

@u-fischer
Copy link

beamer internally loads the package beamerbaseoptions and then calls \beamer@filterclassoptions. This removes options with equal sign from \@classoptionslist:

\documentclass[bla,abc=blub]{article}
\usepackage{etoolbox}
\usepackage{beamerbaseoptions}
\makeatletter
\show\@raw@classoptionslist
\show\@classoptionslist
\beamer@filterclassoptions
\show\@raw@classoptionslist
\show\@classoptionslist

\begin{document}
xxx
\end{document}

gives

> \@raw@classoptionslist=macro:
->bla,abc=blub.
l.59 \show\@raw@classoptionslist
                                
? 
> \@classoptionslist=macro:
->bla,abc=blub.
l.60 \show\@classoptionslist
                            
? 
> \@raw@classoptionslist=macro:
->bla,abc=blub.
l.62 \show\@raw@classoptionslist
                                
? 
> \@classoptionslist=macro:
->,bla.
l.63 \show\@classoptionslist

(extracted from https://tex.stackexchange.com/q/669273/2388)

@josephwright
Copy link
Owner

'Yes' ... that's all by-design after all: beamer has a very particular view on what should be passed as options. Not sure what you are suggesting is wrong here.

@u-fischer
Copy link
Author

Well it is a bit curious if some options simply disappear, and as far as I can see this is not documentated. Is this cleaning up still needed?

@josephwright
Copy link
Owner

@u-fischer I mean that beamer views class options as exactly that: options for the class. That's why you have to explicitly pass those that beamer knows to pass on to for example hyperref. Giving beamer other stuff is not going to work ... so to me this is user error.

@u-fischer
Copy link
Author

I mean that beamer views class options as exactly that: options for the class.

But that is not true. If you do

\documentclass[ngerman]{beamer}
\usepackage{babel}

then the option is passed without problem. beamer removes only options with equal sign, not the others. And the special options for hyperref and xcolor are only needed because beamer load the packages.

To me it looks as if beamer was trying to avoid that packages fall over the keyval options and so removed them from the list. But perhaps this is no longer needed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants