moderncv/moderncviconstikz.sty

174 lines
8.1 KiB
TeX

%% start of file `moderncviconstikz.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2026 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconstikz}[2026-06-19 v2.6.0 modern curriculum vitae and letter icons: tickz]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
\RequirePackage{tikz}
\usetikzlibrary{babel}
\RequirePackage{etoolbox}
\RequirePackage{xcolor}
%-------------------------------------------------------------------------------
% set colors
%-------------------------------------------------------------------------------
\usepackage{moderncvcolors}
\providecolor{matrix}{named}{default-socialicon-color}
\providecolor{codeberg}{named}{default-socialicon-color}
\providecolor{simplex}{named}{default-socialicon-color}
\providecolor{threema}{named}{default-socialicon-color}
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
% only redefine symbols that are not defined at this level
%-------------------------------------------------------------------------------
% this will act as a normalizer to mimic the same behavior as for fontaewesome icons
\DeclareRobustCommand{\@tikzsocialicon}[1]{%
\mbox{\raisebox{-0.12em}{#1}}%
}%
\ifdefempty{\matrixsocialsymbol} {
\renewcommand*{\matrixsocialsymbol} {
\@tikzsocialicon{%
\protect\begin{tikzpicture}[y=1.8pt, x=1.8pt, yscale=-0.15, xscale=0.15, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box]
(0.0950, -0.1013) rectangle (30.9390, 32.9750);
\protect\path[fill=matrix]
(0.9360,0.7320) .. controls (0.9360,10.9053) and (0.9360,21.0787) ..
(0.9360,31.2520) .. controls (1.6673,31.2520) and (2.3987,31.2520) ..
(3.1300,31.2520) .. controls (3.3452,32.0075) and (2.8778,32.0803) ..
(2.2413,31.9840) .. controls (1.5258,31.9840) and (0.8104,31.9840) ..
(0.0950,31.9840) .. controls (0.0950,21.3240) and (0.0950,10.6640) ..
(0.0950,0.0040) .. controls (1.1063,0.0040) and (2.1177,0.0040) ..
(3.1290,0.0040) .. controls (3.3442,0.7598) and (2.8768,0.8319) ..
(2.2403,0.7344) .. controls (1.8055,0.7336) and (1.3708,0.7328) ..
(0.9360,0.7320) -- cycle(9.3860,10.4070) .. controls (9.4181,10.9043) and
(9.3236,11.5281) .. (9.4300,11.9510) .. controls (10.7306,9.8293) and
(14.1727,9.3918) .. (15.8298,11.2910) .. controls (16.3916,12.8310) and
(17.3334,10.0899) .. (18.5637,10.2414) .. controls (20.4575,9.7636) and
(23.0149,10.3893) .. (23.6011,12.4937) .. controls (24.0197,14.2344) and
(23.7678,16.0478) .. (23.8370,17.8238) .. controls (23.8370,19.1536) and
(23.8370,20.4833) .. (23.8370,21.8130) .. controls (22.7947,21.8130) and
(21.7523,21.8130) .. (20.7100,21.8130) .. controls (20.6777,19.2218) and
(20.7833,16.6250) .. (20.6389,14.0382) .. controls (20.4668,12.0762) and
(17.2764,12.0985) .. (16.8890,13.9332) .. controls (16.5424,15.7480) and
(16.7622,17.6175) .. (16.7000,19.4583) .. controls (16.7000,20.2432) and
(16.7000,21.0281) .. (16.7000,21.8130) .. controls (15.6573,21.8130) and
(14.6147,21.8130) .. (13.5720,21.8130) .. controls (13.5377,19.1909) and
(13.6502,16.5608) .. (13.4952,13.9452) .. controls (13.2700,12.0546) and
(10.3372,12.2098) .. (9.8050,13.8370) .. controls (9.3690,15.2175) and
(9.6378,16.6981) .. (9.5630,18.1268) .. controls (9.5630,19.3556) and
(9.5630,20.5843) .. (9.5630,21.8130) .. controls (8.5200,21.8130) and
(7.4770,21.8130) .. (6.4340,21.8130) .. controls (6.4340,18.0097) and
(6.4340,14.2063) .. (6.4340,10.4030) .. controls (7.4180,10.4043) and
(8.4020,10.4057) .. (9.3860,10.4070) -- cycle(30.0980,31.2470) .. controls
(30.0980,21.0737) and (30.0980,10.9003) .. (30.0980,0.7270) .. controls
(29.3667,0.7270) and (28.6353,0.7270) .. (27.9040,0.7270) .. controls
(27.6888,-0.0285) and (28.1562,-0.1013) .. (28.7927,-0.0050) .. controls
(29.5082,-0.0050) and (30.2236,-0.0050) .. (30.9390,-0.0050) .. controls
(30.9390,10.6550) and (30.9390,21.3150) .. (30.9390,31.9750) .. controls
(29.9273,31.9750) and (28.9157,31.9750) .. (27.9040,31.9750) .. controls
(27.6888,31.2192) and (28.1562,31.1471) .. (28.7927,31.2446) .. controls
(29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
}
}{}\par
\ifdefempty{\codebergsocialsymbol} {
\renewcommand*{\codebergsocialsymbol} {
\@tikzsocialicon{
\protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507, 387)}]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box, scale=0.265]
(11236.4, -1884) rectangle (11273, -1848);
\protect\path[scale=0.265, opacity=0.500, line cap=butt, line join=miter, line width=0.779pt, miter limit=2.00]
(11249.8942,-1872.9296)arc(269.285:169.240:0.201313 and 0.150) --
(11258.5852,-1839.4433)arc(66.699:32.084:23.067) --
(11250.0698,-1872.8557)arc(329.460:269.346:0.201313 and 0.150) -- cycle;
\protect\path[scale=0.265, fill=codeberg, line width=0.426pt]
(11249.3743,-1883.6959)arc(269.785:180.000:23.067)arc(180.001:147.920:23.067)
-- (11249.1480,-1873.2412)arc(209.929:330.071:0.360097 and 0.269) --
(11269.0053,-1848.3766)arc(32.082:-0.002:23.067)arc(360.000:270.000:23.067)arc(270.108:269.892:23.067)
-- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
}
}{}\par
\ifdefempty{\simplexsocialsymbol} {
\renewcommand*{\simplexsocialsymbol} {
\@tikzsocialicon{%
\protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}, rotate=45]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box, scale=0.065]
(0, -100) rectangle (160, 60);
\protect\path[fill=simplex!80, scale=0.065]
(0,0) rectangle +(100,20)
(40,-60) rectangle +(20,120);
\protect\path[fill=simplex, scale=0.065]
(0,-60) rectangle +(160,20)
(40,-100) rectangle +(20,60)
(100,-100) rectangle +(20,160)
(100,0) rectangle +(60,20);
\protect\end{scope}
\protect\end{tikzpicture}}
}
}{}\par
\ifdefempty{\threemasocialsymbol} {
\renewcommand*{\threemasocialsymbol} {
\@tikzsocialicon{%
\protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box, scale=0.015]
(-263, -325) rectangle (537, 621);
\protect\path[fill=threema, scale=0.015]
% speech bubble
(137,25) ellipse (400 and 350)
% lock shackle
(244.5,-51) arc [start angle=0, end angle=-180, radius=107]
(199.5,-51) arc [start angle=0, end angle=-180, radius=62]
(199.5,-51) rectangle +(45,52)
(30.5,-51) rectangle +(45,52)
% lock body
(0, 0) rectangle +(274, 196);
% triangle
\protect\path[fill=threema, scale=0.015]
(-200,213) -- +(-41,168) -- +(157,120) -- cycle;
% three dots
\protect\path[fill=threema, scale=0.015]
(-94,553) circle (68)
(144,553) circle (68)
(390,553) circle (68);
\protect\end{scope}
\protect\end{tikzpicture}}
}
}{}\par
\endinput
%% end of file `moderncviconstikz.sty'.