TikZ를 사용하는 fa-home 아이콘

TikZ를 사용하는 fa-home 아이콘

pdflatex를 사용하여 컴파일하는 문서에 fa-home 아이콘을 얻으려고 합니다. fa-home은 XeLaTeX에서만 작동하는 것으로 알고 있습니다. 어쨌든 Tikz 그림을 사용하여 이 아이콘을 재현할 수 있나요? 어떤 의견이라도 대단히 감사하겠습니다.

답변1

넌 고양이야Font Awesom의 SVG 버전의 정보를 사용하여 크기 조정(및 yshifting)을 통해 ha-home(유니코드: f015) 의 코드를 복사합니다 . 이걸 다 사진에 담아서 이렇게 활용해보세요 .\fill svg={...};<font-face units-per-em="1792" ascent="1536" descent="-256" />\tikz\pic{fa-home};

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{svg.path}

\tikzset {
    fa-home/.pic = {\fill[scale=1em/1792] svg {M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z};}
}

\begin{document}
\foreach \size in {tiny,scriptsize, footnotesize, small, normalsize, large, Large, LARGE, huge, Huge}
{{\csname\size\endcsname \size \ \tikz\pic{fa-home};}\par}

\end{document}

여기에 이미지 설명을 입력하세요

유일한 문제는 컴파일할 때 ! Dimension too large.. 한 가지 가능한 해결책은 모든 좌표를 1792로 나눈 다음 와 함께 사용하는 것입니다 simple scale=1em. 최종 코드는 다음과 같습니다.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{svg.path}

\tikzset {
    fa-home/.pic = {\fill[scale=1em] svg {M0.786 0.304v-0.268q0.0 -0.015 -0.011 -0.025t-0.025 -0.011h-0.214v0.214h-0.143v-0.214h-0.214q-0.015 0.0 -0.025 0.011t-0.011 0.025v0.268q0.0 0.001 0.0 0.002t0.0 0.002l0.321 0.265l0.321 -0.265q0.001 -0.001 0.001 -0.003zM0.91 0.342l-0.035 -0.041q-0.004 -0.005 -0.012 -0.006h-0.002q-0.007 0.0 -0.012 0.004l-0.386 0.322l-0.386 -0.322q-0.007 -0.004 -0.013 -0.004q-0.007 0.001 -0.012 0.006l-0.035 0.041q-0.004 0.006 -0.004 0.013t0.006 0.012 l0.401 0.334q0.018 0.015 0.042 0.015t0.042 -0.015l0.136 -0.114v0.109q0.0 0.008 0.005 0.013t0.013 0.005h0.107q0.008 0.0 0.013 -0.005t0.005 -0.013v-0.228l0.122 -0.102q0.006 -0.004 0.006 -0.012t-0.004 -0.013z};}
}

\begin{document}

\foreach \size in
  {tiny,scriptsize, footnotesize, small, normalsize, large, Large, LARGE, huge, Huge}
  {
      {\csname\size\endcsname \size \ \tikz\pic{fa-home};}\par
  }
\end{document}

정보를 활용하려면 descent="-256"이렇게 -256만큼 yshift를 한 \fill[scale=1em/1792, yscale=-256]baseline이렇게 사용하면 됩니다 \tikz[baseline]\pic{fa-home};. (두 번째 코드를 사용한다면 -256을 -256/1792 = 0.14로 바꿔야 합니다.)

답변2

연습용으로 남겨둔 둥근 모서리(및 지붕 각도의 매개변수화)...

\documentclass[varwidth,border=5]{standalone}
\usepackage{tikz}
\tikzset{pics/home/.style={
  code={
%
\fill [x=1ex/6, y=1ex/6]
  (-1, 3) -- (-1, 0) -- (-5, 0) -- (-5, 4) -- (0,4+5*tan 35) --
  ( 5, 4) -- ( 5, 0) -- ( 1, 0) -- ( 1, 3) -- cycle  
  (-6, 4) -- (0, 4+6*tan 35) -- 
  ( 6, 4) -- (6+sin 35, 4+cos 35) -- 
  ( 5, 4+1*tan 35+sec 35) -- 
  ( 5, 4+5*tan 35+sec 35) -- 
  ( 3, 4+5*tan 35+sec 35) -- 
  ( 3, 4+3*tan 35+sec 35) -- 
  ( 0, 4+6*tan 35+sec 35) -- 
  (-6-sin 35, 4+cos 35) -- cycle;
%
  }
}}
\begin{document}
\foreach \f in {Huge, huge, Large, large, normalsize, small, footnotesize, scriptsize, tiny}{
  \leavevmode\csname\f\endcsname\f~\tikz\pic {home};\par
}

\end{document}

여기에 이미지 설명을 입력하세요

답변3

2015년 7월 버전 4.3.0부터 fontawesome다음에서도 작동합니다 .pdflatex

\documentclass{article}
\usepackage{fontawesome}
\usepackage{pgffor}

\begin{document}

\foreach \size in
  {tiny,scriptsize, footnotesize, small, normalsize, large, Large, LARGE, huge, Huge}
  {
      \csname\size\endcsname \size\ \faHome\par
  }
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보