如何让文档中的所有 fontawesome5 图标变小?

如何让文档中的所有 fontawesome5 图标变小?

我发现 fontawesome5 图标总是比旁边的文本大一点。所以我必须输入some text before \small\faIcon{youtube}\normalsize some text after...,这有点麻烦。我有没有一种方法可以将文档中的所有 fontawesome5 图标都变小?

而且我知道我可以\def\smallfaIcon#1{\small\faIcon{#1}\normalsize},但是这种方法不能从根本上解决问题,而且这就像是改变包的原始命令,我希望解决方案最好不是这样。

答案1

我认为fontawesome5应该有一个scale选项。以下是你通常得到的

在此处输入图片描述

不幸的是,其他给出的答案并不是很好(请参见最后的比较)。

想法可以工作,但方式不同。此处缩放比例是所有字体大小的默认大小的 80%。您可能想要尝试该系数。

\RequirePackage{fix-cm}% if you use Computer Modern fonts
\documentclass{article}

\usepackage{fontawesome5}

\makeatletter
\AddToHook{cmd/faIcon/before}{%
  \begingroup\fontsize{\fpeval{\f@size*0.8}}{0}\selectfont
}
\AddToHook{cmd/faIcon/after}{\endgroup}
\makeatother

\begin{document}

{\Huge X\faIcon{youtube}Y\par}

some text before \faIcon{youtube} some text after...

\end{document}

在此处输入图片描述

与其他答案的比较

\documentclass{article}

\usepackage{fontawesome5}

\AddToHook{cmd/faIcon/before}{\begingroup\small}
\AddToHook{cmd/faIcon/after}{\endgroup}

\begin{document}

{\Huge X\faIcon{youtube}Y\par}

some text before \faIcon{youtube} some text after...

\end{document}

在此处输入图片描述

虽然\Huge这很夸张,但无论使用哪种字体大小,你都会得到类似的糟糕结果。

答案2

您可以像这样修补命令:

\documentclass{article}

\usepackage{fontawesome5}
\AddToHook{cmd/faIcon/before}{\begingroup\small}
\AddToHook{cmd/faIcon/after}{\endgroup}

\begin{document}

some text before \faIcon{youtube} some text after...

some text before \small\faIcon{youtube}\normalsize\ some text after...

\end{document}

如果您不想要小图标,而只是想要一个较小的图标,那么您可以使用以下relsize包:

\documentclass{article}

\usepackage{fontawesome5}
\usepackage{relsize}
\AddToHook{cmd/faIcon/before}{\begingroup\smaller}
\AddToHook{cmd/faIcon/after}{\endgroup}

\begin{document}

some text before \faIcon{youtube} some text after...

some text before \small\faIcon{youtube}\normalsize\ some text after...

{\Huge\faIcon{youtube}test}

\end{document}

相关内容