我发现 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}