我需要的基本上是这样的:如何使用固定宽度的 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
从fontawesome5
2018-10-13 发布的 5.4.1 版本开始,您可以传递选项fixed
来fontawesome5
获取固定宽度的所有图标:
\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}