使用 TikZ 创建 Twitter 验证徽章

使用 TikZ 创建 Twitter 验证徽章

我正在尝试使用 TikZ 创建蓝色 Twitter 验证徽章。真实版本如下所示:

在此处输入图片描述

(来源:https://twitter.com/verified

这是我迄今为止的 MWE:

\documentclass{article}

\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault} 
\usepackage[T1]{fontenc}
\usepackage[rgb]{xcolor}
\usepackage{tikz}

\definecolor{twitblue}{RGB}{1,156,246}
\newcommand{\verified}[1]{%
\begin{tikzpicture}[#1]%
\fill [twitblue] (0,0) circle (.7ex);
\draw [white,scale=0.1,line cap=round,line width=0.2mm](-.4,-.05) -- (-.1,-.3) -- (.4,.4);
\end{tikzpicture}%
}

\begin{document}
\textbf{Joe Bloggs} \verified{} 

\textbf{Joe Bloggs} \verified{scale=1.5}
\end{document}

在此处输入图片描述

一些问题:

  • 我不确定如何获得圆边缘的弯曲效果。
  • 复选标记的底部不是弯曲的。
  • 我如何才能让它正确缩放?(白色复选标记无法正确缩放)
  • 如何调整符号的垂直对齐方式?

任何指点都将非常感激。

更新

接受的答案提供了 TikZ 解决方案,正如问题最初要求的那样。但是,.svg还提供了两个涉及此徽章的确切文件的解决方案。查看 Kpym 的答案:(如果您希望徽标完全相同,则可以使用 SVG 原图……)(这是一个字体解决方案,没有 TikZ......)

答案1

您可以cloudshapes库中使用:

在此处输入图片描述

您创建一个\node[cloud],指定数量cloud puffs(8,从您的图片来看),以及cloud puff arc(135° 对我来说看起来正确)。

我添加了line join=round勾选,使下部变圆。

另外,我稍微改变了颜色并改变了命令的语法以允许可选参数是可选的。

\documentclass{article}

\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[rgb]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes}

\definecolor{twitblue}{HTML}{1DA1F2}
\newcommand{\verified}[1][1]{%
  \begin{tikzpicture}[scale=#1]%
    \node [draw,fill,twitblue,cloud,cloud puffs=8,cloud puff arc=135, inner sep={#1*0.4ex}] {};
    \draw [white,scale=0.1,line cap=round,line width={#1*0.2mm},line join=round](-.4,-.05) -- (-.1,-.3) -- (.4,.4);
  \end{tikzpicture}}

\begin{document}

\textbf{Twitter Verified} \verified[0.5]

\textbf{Twitter Verified} \verified

\textbf{Twitter Verified} \verified[2]

\textbf{Twitter Verified} \verified[5]

\end{document}

答案2

如果您希望徽标完全相同,则可以将 SVG 原件(单路径图像)与svg.path库一起使用。

\documentclass[tikz,border=7pt]{standalone}
\usetikzlibrary{svg.path}
\definecolor{twitter}{HTML}{1DA1F2}
\tikzset{
  twitter verified/.pic={
    \fill[scale=.01cm/1pt,twitter,#1] svg{M50-2.4a19 19 0 0 1-10 17.2l.9 6.6a19 19 0 0 1-18 19.1c-2.4 0-4.8 0-6.7-1.5-2.9 6.7-9 11-16.2 11s-13.3-4.8-16.2-11c-2.4 1-4.3 1.4-6.7 1.5a19 19 0 0 1-18-19.1c0-2.4 0-4.8 .9-6.6a19 19 0 0 1-10-17.2 19 19 0 0 1 9.5-16.6v-2.4a19 19 0 0 1 17.6-19.1c2.4 0 4.8 0 6.7 1.5 2.9-6.7 9-11 16.2-11s13.3 4.8 16.2 11c2.4-1 4.3-1.4 6.7-1.5a19 19 0 0 1 18 21.5 19 19 0 0 1 9.1 16.6zm-31.4 15.7-20.5-30.9a3.3 3.3 0 0 0-4.8-1l-.9 .5-11.4 11.4a3.4 3.4 0 1 0 4.7 4.8l8.6-8.1 18.1 27.6a3.8 3.8 0 0 0 6.2-4.3z};
  }
}
\begin{document}
  \begin{tikzpicture}[scale=4,transform shape]
    \pic{twitter verified};
    \pic[scale=.7] at (1,0) {twitter verified=purple};
  \end{tikzpicture}
\end{document}

在此处输入图片描述

笔记:路径经过以下调整我最喜欢的工作流程用于徽标。

答案3

这是一个字体解决方案,不含 TikZ。

  1. 获取原始 SVG 文件(例如从这里)。
  2. 丰泰洛并将 SVG 文件拖到里面。然后选择这个新图标。
  3. 选择一个 Unicode 符号:我选择了‘复选标记’ (U+2713). 获取十六进制代码(就我而言2713)并将其作为此图标的代码放入“自定义代码”选项卡中。
  4. 将字体名称设置为“twitterverified”。下载字体(zip 文件)。提取twitterverified.ttf到与你的 tex 文件相同的文件夹。
  5. 使用此字体,例如像这样与 XeLaTeX 一起使用。

    \documentclass[varwidth,border=7pt]{standalone}
    \usepackage{fontspec}
      \newfontfamily{\TwitterVerified}{twitterverified.ttf}
    \usepackage{xcolor}
      \definecolor{twitter}{HTML}{1DA1F2}
    \begin{document}
      \textbf{\textsf{Twitter Verified}} \textcolor{twitter}{\TwitterVerified ✓}
    \end{document}
    

在此处输入图片描述

相关内容