43

Is there a way to apply some options to a package which is loaded in the cls file I am using? For instance, suppose that the cls file loads graphicx, and I want to apply the option demo to it from my tex file.

44

If a package is loaded, the option setting code in the package is already processed and gone. Thus in general you cannot change package options later.

\PassOptionsToPackage

But you can specify options earlier, before loading the package. Apart from a global option (with side effects for other packages) \PassOptionsToPackage can be even used before \documentclass, e.g.:

\PassOptionsToPackage{demo}{graphicx}
\documentclass{article}
\usepackage{graphicx}

\begin{document}
\includegraphics{foobar}
\end{document}

Package interface for loading options

Sometimes a package or class allows the setting of a subset of options later. For example, package hyperref provides \hypersetup. Also some options of package graphicx (or rather for \includegraphics) can be set via:

\setkeys{Gin}{<options>}

However, the option demo is not supported this way.

  • I guess there is no way of removing a package option that is set by the class (unless there is a package interface for loading options)? – jpmath Dec 13 '16 at 15:00
  • @jpmath In general no. – Heiko Oberdiek Dec 13 '16 at 17:30
15

Use

\PassOptionsToPackage{demo}{graphicx}

before the line with \documentclass

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.