\NeedsTeXFormat{LaTeX2e} \ProvidesClass{wifi}[2024/05/11 Print WiFi password] % Options \RequirePackage{kvoptions} \DeclareStringOption[45]{size} % font size \DeclareStringOption[7cm]{qrcode} % QR codes height \DeclareBoolOption{border} % QR codes border \ProcessKeyvalOptions* \LoadClass[landscape]{article} % Metadatas \RequirePackage[ pdftitle={Code Wi-Fi}, pdfsubject={Wi-Fi}, pdfkeywords={wifi, code}, pdfcreator={TeX}, hidelinks, ]{hyperref} % Font style \RequirePackage[T1]{fontenc} \renewcommand{\familydefault}{\sfdefault} \RequirePackage[nopatch=footnote]{microtype} % Font size \RequirePackage{pgf} \pgfmathsetmacro{\wifi@sizebaseline}{\wifi@size*1.2} \renewcommand{\normalsize}{\fontsize{\wifi@size}{\wifi@sizebaseline}\selectfont} \RequirePackage{anyfontsize} % Change page dimensions \RequirePackage[a4paper,landscape,margin=0pt]{geometry} % Landscape \RequirePackage{pdflscape} \pagenumbering{gobble} % QR codes \RequirePackage{qrcode} \newcommand{\qrc}[2]{% \ifwifi@border \fbox{% \fi \qrcode[height=\wifi@qrcode]{WIFI:T:WPA;P:#1;S:#2;H:false;}% \ifwifi@border% } \fi } % Spaces for password visibility every 4 char \RequirePackage{xstring,pgffor} \newcommand{\insertspaces}[1]{ \StrLen{#1}[\length]% \foreach \i in {1,5,...,\length} {% \StrMid{#1}{\i}{\numexpr\i+3} \ifnum\i<\length\relax\,\fi }% } \AtBeginDocument{\centering\vspace*{\fill}} \AtEndDocument{\vspace*{\fill}}