summaryrefslogtreecommitdiff
path: root/macros/generic/expkv-bundle/preamble-logos.tex
blob: f5c963134c83255a14f7453e82e101a41c1f6f25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
\definecolor{ekvred}{HTML}{9F393D}
\colorlet{ekvgrey}{black!75}
\makeatletter
\newcommand*\kvstyle%>>=
  {\normalfont\rmfamily\bfseries\color{ekvred}}%=<<
\newcommand*\expFormat % used for the title only >>=
  {%
    {%
      \rmfamily
      \bfseries
      {\color{ekvgrey}e\kern-.05em x\kern-.05em}%
      \lower.493ex\hbox{{\color{ekvgrey}P}}%
    }%
  }%=<<
\newcommand\expnotation% >>=
  {%
    \begingroup
    \BeginAccSupp{ActualText=exp|notation,E=expansion-notation}%
      \rmfamily
      \bfseries
      \color{ekvgrey}%
      e\kern-.05em x\kern-.05em%
      \lower.493ex\hbox{{\color{ekvgrey}P}}%
      \kern-.05em:%
      \kern.05em\textsc{notation}%
    \EndAccSupp{}%
    \endgroup
  }% =<<
\newcommand\expkvLogoFormat[1]% >>=
  {%
    \begingroup
      \rmfamily
      \bfseries
      {\color{ekvgrey}e\kern-.05em x\kern-.05em}%
      \lower.493ex\hbox{{\color{ekvgrey}P}\kern-.1em{\color{ekvred}k}}%
      \kern-.18em{\color{ekvred}v}%
      \IfValueT{#1}
        {%
          \begingroup
            \color{ekvgrey}%
            \kern.05em\rule[-.1ex]{.08em}{1.2ex}%
            \kern.05em\textsc{#1}%
          \endgroup
        }%
    \endgroup
  }% =<<
\NewDocumentCommand \expkvLogo { o }%>>=
  {%
    \mbox
      {%
        \BeginAccSupp{ActualText=expkv\IfValueT{#1}{-#1}}%
          \ifodd\ekvdoc@insection
            \href{https://gitlab.com/islandoftex/texmf/expkv-bundle}%
              {\expkvLogoFormat{#1}}%
          \else
            \hyperref[sec:expkv\IfValueT{#1}{-#1}]{\expkvLogoFormat{#1}}%
          \fi
        \EndAccSupp{}%
      }%
  }%=<<
\newcommand*\expkv%>>=
  {%
    \texorpdfstring
      {\expkvLogo}
      {expkv}%
  }%=<<
\newcommand*\expkvpkg[1]%>>=
  {%
    \texorpdfstring
      {\expkvLogo[{#1}]}%
      {expkv-#1}%
  }%=<<
\newcommand*\expkvbundle% >>=
  {%
    \texorpdfstring
      {\begingroup\chardef\ekvdoc@insection1 \expkvpkg{bundle}\endgroup}%
      {\expkvpkg{bundle}}%
  }% =<<
\newcommand*\expkvc{\expkvpkg{cs}}
\newcommand*\expkvd{\expkvpkg{def}}
\newcommand*\expkvo{\expkvpkg{opt}}
\newcommand*\expkvp{\expkvpkg{pop}}
\ExplSyntaxOn
\cs_new_protected:Npn \pkglogo #1%>>=
  {
    \texorpdfstring
      {
        \mbox
          {
            \BeginAccSupp{ActualText=#1}
            \rmfamily
            \str_case:nn {#1}
              {
                {yax}
                  {
                    Y\kern-.1em
                    \raise.15em\hbox{\scshape a}
                    \kern-.1em \lower.15em\hbox{X}%
                  }
              }
            \EndAccSupp{}
          }
      }
      {#1}
  }%=<<
\newcommand*\yax{\pkglogo{yax}}
\ExplSyntaxOff