Ich versuche, ein fa-home-Symbol in einem Dokument zu erhalten, das ich mit pdflatex kompiliere. Mir ist bewusst, dass fa-home nur unter XeLaTeX funktioniert. Gibt es sowieso, ich könnte dieses Symbol mit Tikz-Zeichnung reproduzieren? Jede Eingabe wird sehr geschätzt.
Kommentare
- Was ' ist ein Fa-Home-Symbol?
- Es ist ein Befehl, der von font awesome unter XeLaTeX verwendet wird, um ein Home-Symbol zu erhalten. Überprüfen Sie Folgendes: fortawesome.github.io/Font-Awesome/icon/home
- , wenn ich ein zufälliges Symbol aus einer Symbolschrift benötige Was für LaTeX nicht ' verfügbar ist, verwende ich normalerweise icomoon.io/app/#/select/library zum Generieren a .svg / .png des gewünschten Symbols, das in
\includegraphics
enthalten sein soll. - Ich habe darüber nachgedacht. Ich kann jedoch nie erreichen, dass die Grafiken der Größe des Textes entsprechen und vor allem mit dem Text übereinstimmen.
- Ich habe es geschafft, eines der Symbole mithilfe von / insertgraphics als PNG-Datei zu verwenden. Ich habe es auf 3,5 mm verkleinert und es stimmt mit dem Text überein. Vielen Dank für den Tipp.
Antwort
Sie nehmen die SVG-Version von Font Awesom Kopieren Sie den Code von ha-home
(Unicode: f015) in \fill svg={...};
durch Skalieren (und Verschieben) ) unter Verwendung der Informationen aus <font-face units-per-em="1792" ascent="1536" descent="-256" />
. Fügen Sie all dies in ein Bild ein und verwenden Sie es wie folgt: \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}
Das einzige Problem ist das beim Kompilieren Sie erhalten ! Dimension too large.
. Eine mögliche Lösung besteht darin, alle Koordinaten durch 1792 zu teilen und sie dann mit simple scale=1em
zu verwenden. Hier ist der endgültige Code:
\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}
Wenn Sie die Informationen descent="-256"
verwenden möchten, können Sie um – verschieben 256 wie folgt \fill[scale=1em/1792, yscale=-256]
und verwenden Sie es dann mit baseline
wie folgt \tikz[baseline]\pic{fa-home};
(wenn Sie verwenden Im zweiten Code sollten Sie -256 durch -256/1792 = 0,14 ersetzen.
Antwort
Abgerundete Ecken (und Parametrisierung von der Dachwinkel) als Übung übrig …
\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}
Antwort
Seit Version 4.3.0 vom Juli 2015 funktioniert fontawesome
auch mit 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}