%% %% The LaTeX Companion, 3rd ed %% %% Example ``article'' class for use with the Companion examples. %% %% Copyright (C) 2017-2022 Frank Mittelbach %% %% It may be distributed and/or modified under the conditions %% of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% %% See https://www.latex-project.org/lppl.txt for details. %% % \LoadClass[twoside]{article} \ifx\Umathcode\@undefined \RequirePackage[T1]{fontenc} \RequirePackage{tgtermes} \RequirePackage[matchuppercase]{tgheros} \renewcommand{\ttdefault}{lmtt} \else % typesetting with LuaLaTex ... \fi \let\StartShownPreambleCommands\relax \let\StopShownPreambleCommands\relax \let\ps@origplain\ps@plain \let\ps@plain\ps@empty % this class doesn't produces page numbers % since this would make examples too big % but if necessary there is origplain % fmi: bug fix for kernel + bigfoot \newinsert\foobarX \newinsert\foobarY \newinsert\foobarZ % Improve \LaTeX and \TeX logo when used with slanted fonts \DeclareRobustCommand\TeX{T% \ifdim\fontdimen1\font>\z@ \kern-.04em\fi % new \kern-.1667em\lower.5ex\hbox{E}% \ifdim\fontdimen1\font>\z@ \kern.07em\fi % new \kern-.125emX\@} \DeclareRobustCommand{\LaTeX}{L% \ifdim\fontdimen1\font>\z@ \kern.1em\fi % new \kern-.36em% {\sbox\z@ T% \vbox to\ht\z@{\hbox{\check@mathfonts \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }% \kern-.15em% \TeX} % Book version restricts to two colors. This is set up in the % code below after \endinput. % \endinput % As the book is printed in two colors only (black and blue) we need % to ensure that other colors are replaced by gray if necessary: %shadings defined in the preamble muss use cmyk: \PassOptionsToPackage{cmyk}{xcolor} \AddToHook{package/xcolor/after}{% \def\XC@col@rlet[#1]#2[#3]#4% {\begingroup \edef\@@cls{#1}\XC@edef\@@nam{#2}\XC@sdef\@@mod{#3}\XC@edef\@@clr{#4}% \XC@info\@@clr\@@tmp\XC@@tstfalse \ifnum\@@tmp<2 \ifx\@@mod\@empty %instead of =\@ne \ifx\@@cls\@empty \XC@@tsttrue \else \edef\@@tmp {\expandafter\expandafter\expandafter\@secondoffive \csname\@backslashchar color@\@@clr\endcsname}% \ifx\@@cls\@@tmp\XC@@tsttrue\fi \fi \fi\fi \ifXC@@tst \XC@logdef\@@nam\XC@c@l@rlet\@@nam\@@clr \else \extractcolorspec\@@clr\@@clr \ifx\@@mod\@empty\else \expandafter\convertcolorspec\@@clr\@@mod\@@clr \edef\@@clr{{\@@mod}{\@@clr}}\fi \edef\@@tmp{\noexpand\XC@definecolor[\@@cls]{\@@nam}\@@clr}% \fi \expandafter\endgroup\@@tmp\xglobal@stop}% } \ExplSyntaxOn %if the color is not a spot color, color space shouldn't set it. %this is a simple test looking if the specification starts with a /: \AddToHook{package/colorspace/after}{% \cs_set:cpn {pgfsys@color@&spot@fill} #1{% \spc@getir{\string\color@pgffillcolor}% \tl_if_head_eq_charcode:fNT {\spc@ir}/ { \pgfsysprotocol@literal{\spc@ir\space cs}% \pgfsysprotocol@literal{#1~sc} }} \cs_set:cpn {pgfsys@color@&spot@stroke} #1{% \spc@getir{\string\color@pgfstrokecolor}% \tl_if_head_eq_charcode:fNT {\spc@ir}/ { \pgfsysprotocol@literal{\spc@ir\space CS}% \pgfsysprotocol@literal{#1~SC} }}} %for the deviceN we need to declare a few pgf commands % they don't harm if not used \def\pgfsys@color@bluexblack@fill#1#2{ \spc@getir{\string\color@pgffillcolor} \tl_if_head_eq_charcode:fNT {\spc@ir}/ { \pgfsysprotocol@literal{\spc@ir\space cs}% \pgfsysprotocol@literal{#1~#2~scn} }} \def\pgfsys@color@bluexblack@stroke#1#2{ \spc@getir{\string\color@pgfstrokecolor} \tl_if_head_eq_charcode:fNT {\spc@ir}/ { \pgfsysprotocol@literal{\spc@ir\space CS}% \pgfsysprotocol@literal{#1~#2~SCN} }} \def\pgfsys@color@bluexblack#1#2{\pgfsys@color@bluexblack@stroke{#1}{#2}% \pgfsys@color@bluexblack@fill{#1}{#2}} \ExplSyntaxOff \AddToHook{begindocument/before}{ \ifx\color\@undefined \else \def\pgfutil@colorlet#1#2{\colorlet{#1}{#2}} %in case it hasn't been loaded \usepackage{xcolor} %we need natural model when setting up the spot colors \selectcolormodel{natural} \usepackage{colorspace} \definespotcolor{blue}{PANTONE 3005 U}{1,0.56,0,0} % what we call ``blue'' in this book \definecolorspace{bluexblack}{mixed}{blue,black} \definecolor{spotblack}{bluexblack}{0,1} \definecolor{spotblue}{bluexblack}{1,0} % \definecolor{red}{gray}{.7} \definecolor{green}{gray}{.8} \definecolor{yellow}{gray}{.9} % \definecolor{orange}{gray}{.75} % for todo notes %for shadings defined later \selectcolormodel{cmyk} %don't convert colors anymore! \convertcolorsUfalse \convertcolorsDfalse \fi } \AtBeginDocument{\IfPackageLoadedTF{crop}{\CROP@defmarkcolor{blue}}{}} \endinput