自訂人物符號

自訂人物符號

這有點奇怪,我預計不會有答案。但你必須嘗試一下,對嗎?

我正在嘗試打扮小人物的象徵。我想給他穿上一件 T 卹 - 最好能夠改變 T 恤的顏色。我正在使用 \GentsroomMarVoSym 包中的符號,如下所示:

在此輸入影像描述

我想給他穿上一件黃色的襯衫,讓他看起來像這樣:

在此輸入影像描述

有人可以幫忙嗎?謝謝。

答案1

10點版本

\documentclass{article}
\usepackage{stackengine,marvosym,xcolor,trimclip}
\begin{document}
\stackinset{c}{}{c}{0.9pt}{%
  \color{yellow!80!orange}\clipbox{0pt 4.0pt 0pt 2.2pt}{\Gentsroom}}{%
\stackinset{c}{}{c}{}{%
  \color{yellow!80!orange}\clipbox{1.1pt 2.2pt 1.1pt 2.2pt}{\Gentsroom}}{%
\Gentsroom}}
\end{document}

在此輸入影像描述

12點版本

由於剪輯是以點為單位執行的,因此不同的字體大小需要不同的\clipbox值。

\documentclass[12pt]{article}
\usepackage{stackengine,marvosym,xcolor,trimclip}
\begin{document}
\stackinset{c}{}{c}{1pt}{%
  \color{yellow!80!orange}\clipbox{0pt 4.6pt 0pt 2.6pt}{\Gentsroom}}{%
\stackinset{c}{}{c}{}{%
  \color{yellow!80!orange}\clipbox{1.3pt 2.6pt 1.3pt 2.6pt}{\Gentsroom}}{%
\Gentsroom}}
\end{document}

在此輸入影像描述


當然,我明白你要做什麼...

只需獲取您最喜歡的 PNG 形式的球隊徽標,瞧!

\documentclass[12pt]{article}
\usepackage{stackengine,marvosym,xcolor,trimclip,graphicx}
\begin{document}
\stackinset{c}{}{c}{}{\includegraphics[width=2pt]{Ravens}}{%
\stackinset{c}{}{c}{1pt}{%
  \color{purple!55!blue}\clipbox{0pt 4.6pt 0pt 2.6pt}{\Gentsroom}}{%
\stackinset{c}{}{c}{}{%
  \color{purple!55!blue}\clipbox{1.3pt 2.6pt 1.3pt 2.6pt}{\Gentsroom}}{%
\Gentsroom}}}
\end{document}

在此輸入影像描述

為了使該過程自動化,為了顏色和可擴展性,這裡是\Tshirt[<size>]{<color>}

\documentclass[12pt]{article}
\usepackage{stackengine,marvosym,xcolor,trimclip,scalerel}
\newcommand\Tshirt[2][8.8pt]{\savestack\theTshirt{%
 \stackinset{c}{}{c}{1pt}{%
  \color{#2}\clipbox{0pt 4.6pt 0pt 2.6pt}{\Gentsroom}}{%
 \stackinset{c}{}{c}{}{%
  \color{#2}\clipbox{1.3pt 2.6pt 1.3pt 2.6pt}{\Gentsroom}}{%
 \Gentsroom}}}%
\scaleto{\theTshirt}{#1}}
\begin{document}
\Gentsroom \Tshirt{yellow!80!orange}%
  \Tshirt[18pt]{red}\Tshirt[30pt]{purple!55!blue}
\end{document}

在此輸入影像描述

答案2

您可以使用picture模式。它隨字體大小縮放,但您也可以決定“絕對”高度。

\documentclass{article}

\usepackage{pict2e,xcolor}
\usepackage{marvosym}% for comparison

\definecolor{yellowshirt}{RGB}{255,211,6}

\newcommand{\Person}[1][0.87\ht\strutbox]{%
  \begingroup\setlength\unitlength{#1}%
  \begin{picture}(0.6,1)
  \put(0.3,0.85){\circle*{0.28}}
  \polygon*(0.075,0.3)(0.15,0.3)(0.15,0.55)(0.075,0.55)% left arm
  \polygon*(0.45,0.3)(0.525,0.3)(0.525,0.55)(0.45,0.55)% right arm
  \polygon*(0.17,0)(0.29,0)(0.29,0.3)(0.17,0.3)% left leg
  \polygon*(0.31,0)(0.43,0)(0.43,0.3)(0.31,0.3)% right leg
  \color{yellowshirt}
  \polygon*(0.17,0.32)(0.43,0.32)(0.43,0.7)(0.17,0.7)% torso
  \polygon*(0.075,0.55)(0.15,0.55)(0.15,0.7)(0.075,0.7)% left arm
  \polygon*(0.45,0.55)(0.525,0.55)(0.525,0.7)(0.45,0.7)% right arm
  \end{picture}\endgroup
}


\begin{document}

\Gentsroom\ \Person {\Huge\Gentsroom\ \Person} \Person[2cm]

\end{document}

在此輸入影像描述

答案3

以下範例使用 FontForge 和 TikZ 取得 Gentroom 字形的 SVG 路徑描述。

  1. 字體檔案TDS:fonts/type1/public/marvosym/marvosym.pfb在 FontForge 中開啟。
  2. 字形 Gentroom 可以在位置 120 找到並開啟。
  3. 字形描述導出為 SVG:

    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
    <svg viewBox="0 -200 1000 1000">
      <g transform="matrix(1 0 0 -1 0 800)">
       <path fill="currentColor"
        d="M220 728c53 0 101 -44 103 -99c0 -58 -34 -101 -87 -109h-32c-20 3 -37 11 -54 24l-19 25c-10 19 -14 33 -14 53c0 60 42 103 103 106zM49 504l52 -2v-294h-52v296zM117 504l206 -2v-278h-206v280zM338 504l52 -2v-294h-52v296zM117 208h94v-208h-94v208zM228 208h95v-208h-95v208z" />
      </g>    
    </svg>
    

    d路徑描述、元素的屬性值path也可以由 TikZ 函式庫解析svg.path。語言相當簡單。運算符字母後面跟著參數。在這裡,我們需要:

    • M :絕對移動到
    • l :相對線對
    • h:水平相對線到
    • v:垂直相對線到
    • z:關閉路徑(cycle在 TikZ 中)
  4. SVG路徑在TikZ中複製並修改。

附註解的 LaTeX 檔案結果:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{svg.path}
\usepackage{xcolor}
\definecolor{GentRoomTShirtColor}{HTML}{FFD800}

\begin{document}
\begin{tikzpicture}[scale=.1]% Adjust the scale factor above to your needs.
  \fill svg{%
    % Head [original]
      M220 728c53 0 101 -44 103 -99c0 -58 -34 -101 -87 -109h-32c-20 3 -37 %
      11 -54 24l-19 25c-10 19 -14 33 -14 53c0 60 42 103 103 106z%
    % Left arm [original]
      % M49 504l52 -2v-294h-52v296z
    % Black part (two thirds) of left arm [new]
      M49 405h52v-196h-52z%
    % Torso [original]
      % M117 504l206 -2v-278h-206v280z
    % Right arm, original
      % M338 504l52 -2v-294h-52v296z
    % Black part (two thirds) of right arm [new]
      M338 405h52v-196h-52z%
    % Left leg [original]
      % M117 208h94v-208h-94v208z
    % Left leg [optimized]
      M117 208h94v-208h-94z%
    % Right leg [original]
      % M228 208h95v-208h-95v208z
    % Right leg [optimized]
      M228 208h95v-208h-95z%
  };
  \fill[GentRoomTShirtColor] svg {%
    % Upper part (one third) of left arm [new]
    M49 503h52v-98h-52z%
    % Torso [optimized]
    M117 503h206v-277h-206z% torso
    % Upper part (one third) of right arm [new]
    M338 503h52v-98h-52z%
    % Add side-bearings (additional white space on the left and right)
    % of the original glyph or comment it , if you do not need them.
    M0 0M439 0%
  };
\end{tikzpicture}
\end{document}

結果

評論:

  • 座標與 FontForge 中的座標相同。
  • 字形描述包含一個奇怪的地方(bug):手臂和軀幹的右上角與左上角相比降低了 2pt。這在 LaTeX 範例中已修復,以獲得清晰的水平線。
  • 我省略了將結果縮小到實際字形大小或類似大小的程式碼,因為我不知道新符號的用途。 (如果需要符號作為大圖像,則縮小到字形大小沒有意義。)
  • 添加了字形的原始側軸承,但如果需要,可以輕鬆移除它們,請參閱評論。
  • 閉合路徑運算子 ( z) 連接到起點,因此無需明確轉到起點。該標記表示刪除[optimized]之前到起點的最後一次換行操作。z

答案4

制定規則:

姆韋

\documentclass{article}
\usepackage{wasysym,xcolor,graphicx}
\parindent0pt

\newcommand\Gent[1]{\resizebox{!}{#1em}{\parbox[b]{4em}{\makebox[3.2em]{\Huge$\CIRCLE$}\\
\rule[-.2em]{.5em}{3.2em}\,%
\rule{2em}{3em}\,\rule[-.2em]{.5em}{3.2em}\\[-2pt]
\rule{.5em}{0em}\,\rule{.8em}{3.2em}\,\,\rule{.8em}{3.2em}}}}

\newcommand\Tshirt[1]{\resizebox{!}{#1em}{\parbox[b]{4em}{\makebox[3.2em]{\color{orange}\Huge$\CIRCLE$}\\
\rlap{\color{yellow}\rule[-.2em]{.5em}{3.2em}}%
{\color{orange}\rule[-.2em]{.5em}{2.2em}}\,{\color{yellow}\rule{2em}{3em}}\,%
\rlap{\color{yellow}\rule[-.2em]{.5em}{3.2em}}%
{\color{orange}\rule[-.2em]{.5em}{2.2em}}\\[-2pt]
\rule{.5em}{0em}\,\rule{.8em}{3.2em}\,\,\rule{.8em}{3.2em}}}}


\begin{document}
\Gent{4} \Tshirt{4} 
\Gent{3} \Tshirt{3} 
\Gent{2} \Tshirt{2} 
\Gent{1} \Tshirt{1} 

\end{document}

相關內容