如何使用 Font Awesome 5 固定宽度

如何使用 Font Awesome 5 固定宽度

我需要的基本上是这样的:如何使用固定宽度的 fontawesome?但使用新的fontawesome5包。

在那里,他们重新定义了\faicon命令,但是在新版本中已被更改。Fontawesome5定义\faIcon为:

\NewDocumentCommand\faIcon{s O{\str_use:N\l_fontawesome_style_str} m}{
  \fontawesome_use_icon:nn{#2}{#3\IfBooleanT{#1}{-alt}}
}

因此,从理论上讲,这应该可行:

\documentclass{article}
\usepackage{fontspec}
\usepackage{fontawesome5}
\usepackage{xparse}

\RenewDocumentCommand\faIcon{s O{\str_use:N\l_fontawesome_style_str} m}{
  \makebox[1.5em][c] \fontawesome_use_icon:nn{#2}{#3\IfBooleanT{#1}{-alt}}
}

\begin{document}

\section{\faGraduationCap \textbackslash faGraduationCap}
\section{\faBook \textbackslash faBook}

\faGraduationCap \textbackslash faGraduationCap\par\noindent
\faBook \textbackslash publications

\end{document}

但事实并非如此...那么问题出在哪里?

答案1

要让原始命令执行此操作,您必须重新定义内部命令。最好提出功能请求以获得合适的样式。

但除此之外你还可以定义自己的命令:

\documentclass{article}
\usepackage{fontspec}
\usepackage{fontawesome5}
\usepackage{xparse}

\NewDocumentCommand\fixfaIcon{ m s}{\makebox[1.5em][c]{\IfBooleanTF{#2}{\csname fa#1\endcsname*}{\csname fa#1\endcsname}}}

\begin{document}

\section{\fixfaIcon{GraduationCap}\textbackslash faGraduationCap}
\section{\fixfaIcon{Book}\textbackslash faBook}

\fixfaIcon{GraduationCap}\textbackslash faGraduationCap\par\noindent
\fixfaIcon{Book}\textbackslash publications
\fixfaIcon{File}*  \fixfaIcon{File}
\end{document}

在此处输入图片描述

答案2

fontawesome52018-10-13 发布的 5.4.1 版本开始,您可以传递选项fixedfontawesome5获取固定宽度的所有图标:

\documentclass{article}
\usepackage[fixed]{fontawesome5}

\begin{document}

\section{\faGraduationCap \string\faGraduationCap}
\section{\faBook \string\faBook}

\faGraduationCap \string\faGraduationCap\par\noindent
\faBook \string\faBook

\end{document}

在此处输入图片描述

相关内容