Seite 1 von 1

Pgfkeys und RequirePackage

Verfasst: Di 29. Aug 2017, 21:03
von FelixF
Hallo zusammen,
ich versuche mich zur Zeit mal wieder in der Erstellung eines LaTeX Pakets. Dabei bin ich jetzt allerdings auf ein Problem gestoßen.

Ich möchte gerne mit pgfopts Optionen für das Paket bereitstellen. Dabei habe ich ein Boolean (etoolbox) definiert und ändere dies in Abhängigkeit der Option. Dies scheint auch zu funktionieren.

Wenn das Boolean true ist, dann möchte ich gerne zusätzliche Pakete laden und an dieser Stelle scheitere ich jedoch.
\begin{filecontents}{iotestm.sty}
    \ProvidesPackage{iotestm}[mwe for golatex]
    \RequirePackage{etoolbox, pgfopts}
    
    %---------------------------------------------------
    % Defining package options
    %---------------------------------------------------
    \newbool{test@go@if@prettyfont}
    
    \pgfkeys{
        test/.cd,
        pretty-font/.is choice,
            pretty-font/true/.code = \booltrue{test@go@if@prettyfont},
            pretty-font/false/.code= \boolfalse{test@go@if@prettyfont},
            pretty-font/.initial = true
    }
    
    \newrobustcmd\testsetup[1]{\pgfqkeys{/test}{#1}}
    
    \ProcessPgfOptions*
    
    %---------------------------------------------------
    % Defining package commands
    %---------------------------------------------------
    \ifbool{test@go@if@prettyfont}{%
        \RequirePackage{lmodern}%
    }{}
        
    \newcommand{\testfont}{\ifbool{test@go@if@prettyfont}{true}{false}}
\end{filecontents}

\listfiles
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{iotestm}

\testsetup{%
    pretty-font = true
}

\begin{document}
    Font: \testfont
\end{document}
Verwende ich hierfür ein falsches Vorgehen oder ist es eher ein Denkfehler? Wie kann ich Pakete laden, wenn eine bestimmte Option gesetzt ist?

Danke und viele Grüße
Felix

Edit: Zusätzlich gepostet unter: https://tex.stackexchange.com/questions ... -a-package

Verfasst: Do 31. Aug 2017, 09:38
von FelixF