
Редактировать:@cfr сообщил, что в новой версии 4.4.0 ошибка исправлена.
Я написал небольшой пример для проверки, еслишрифтпотрясающий скрипт(v. 4.3.0-1) масштабируется вместе с нужным мне размером шрифта, но этого не происходит :(
\documentclass{article}
\usepackage{fontawesome}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
Я отрендерил tex-файл с помощью pdflatex.
Я что-то упустил?
решение1
Автор темы не написал код, чтобы шрифт масштабировался. Вы можете адаптировать его:
\documentclass{article}
\usepackage{fontawesome}
\DeclareFontFamily{U}{fontawesomeOne}{}
\DeclareFontShape{U}{fontawesomeOne}{m}{n}
{<-> FontAwesome--fontawesomeone}{}
\DeclareRobustCommand\FAone{\fontencoding{U}\fontfamily{fontawesomeOne}\selectfont}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
Вам придется написать аналогичные определения для \FAtwo
и \FAthree
.
решение2
Файл fontawesome.sty
делает очень неправильную вещь. В конце вы найдете
%-------------------------------------------------------------------------------
% pdflatex implementation
%-------------------------------------------------------------------------------
\else
% definition of \FA... as a shortcut to load the Font Awesome font
\pdfmapline{+FontAwesome--fontawesomeone FontAwesome "fontawesomeone ReEncodeFont" <[fontawesomeone.enc <FontAwesome.pfb}
\font\FAone=FontAwesome--fontawesomeone.enc
\pdfmapline{+FontAwesome--fontawesometwo FontAwesome "fontawesometwo ReEncodeFont" <[fontawesometwo.enc <FontAwesome.pfb}
\font\FAtwo=FontAwesome--fontawesometwo.enc
\pdfmapline{+FontAwesome--fontawesomethree FontAwesome "fontawesomethree ReEncodeFont" <[fontawesomethree.enc <FontAwesome.pfb}
\font\FAthree=FontAwesome--fontawesomethree.enc
% icon-specific commands
\input{fontawesomesymbols-pdftex.tex}
\fi
и общеизвестно, что использование \font
в LaTeX всегда неправильно.
Вы можете исправить это , правильно определив \FAone
и сделав правильно:\FAtwo
\FAthree
\documentclass{article}
\usepackage{fontawesome}
\DeclareFontFamily{U}{fontawesome1}{}
\DeclareFontShape{U}{fontawesome1}{m}{n}{<->FontAwesome--fontawesomeone}{}
\DeclareFontFamily{U}{fontawesome2}{}
\DeclareFontShape{U}{fontawesome2}{m}{n}{<->FontAwesome--fontawesometwo}{}
\DeclareFontFamily{U}{fontawesome3}{}
\DeclareFontShape{U}{fontawesome3}{m}{n}{<->FontAwesome--fontawesomethree}{}
\DeclareRobustCommand{\FAone}{\usefont{U}{fontawesome1}{m}{n}}
\DeclareRobustCommand{\FAtwo}{\usefont{U}{fontawesome2}{m}{n}}
\DeclareRobustCommand{\FAthree}{\usefont{U}{fontawesome3}{m}{n}}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
Правильный код в пакете должен быть
%-------------------------------------------------------------------------------
% pdflatex implementation
%-------------------------------------------------------------------------------
\else
% definition of \FA... as a shortcut to load the Font Awesome font
\pdfmapline{+FontAwesome--fontawesomeone FontAwesome "fontawesomeone ReEncodeFont" <[fontawesomeone.enc <FontAwesome.pfb}
\pdfmapline{+FontAwesome--fontawesometwo FontAwesome "fontawesometwo ReEncodeFont" <[fontawesometwo.enc <FontAwesome.pfb}
\pdfmapline{+FontAwesome--fontawesomethree FontAwesome "fontawesomethree ReEncodeFont" <[fontawesomethree.enc <FontAwesome.pfb}
\DeclareFontFamily{U}{fontawesome1}{}
\DeclareFontShape{U}{fontawesome1}{m}{n}{<->FontAwesome--fontawesomeone}{}
\DeclareFontFamily{U}{fontawesome2}{}
\DeclareFontShape{U}{fontawesome2}{m}{n}{<->FontAwesome--fontawesometwo}{}
\DeclareFontFamily{U}{fontawesome3}{}
\DeclareFontShape{U}{fontawesome3}{m}{n}{<->FontAwesome--fontawesomethree}{}
\DeclareRobustCommand{\FAone}{\usefont{U}{fontawesome1}{m}{n}}
\DeclareRobustCommand{\FAtwo}{\usefont{U}{fontawesome2}{m}{n}}
\DeclareRobustCommand{\FAthree}{\usefont{U}{fontawesome3}{m}{n}}
% icon-specific commands
\input{fontawesomesymbols-pdftex.tex}
\fi
решение3
Автор пакета исправил пакет, чтобы предоставить соответствующую конфигурацию для LaTeX, и теперь пакет поддерживает масштабирование с (pdf)TeX. С текущей версией CTAN (v4.4.0), которая также теперь есть в TeX Live, MWE OP:
\documentclass{article}
\usepackage{fontawesome}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
выдает ожидаемый результат:
Таким образом, если у вас установлена обновленная копия пакета, ручные исправления, обсуждавшиеся в других ответах здесь, больше не нужны ;).
решение4
КакУльрике Фишер сказала, пакет не устанавливает шрифты правильно для pdfLaTeX. В результате их нельзя масштабировать с помощью обычных команд изменения размера шрифта. Это относится только к использованию pdfLaTeX и не влияет на XeLaTeX/LuaLaTeX.
Ульрике Фишер опубликовала свой ответ, пока я писал свой. Поскольку мой включает более полную конфигурацию, я надеюсь, что она не будет против его публикации.
\documentclass{article}
\usepackage{fontawesome}
\DeclareFontFamily{U}{FontAwesomeOne}{}
\DeclareFontShape{U}{FontAwesomeOne}{m}{n}{<-> FontAwesome--fontawesomeone}{}
\DeclareRobustCommand\FAone{\fontencoding{U}\fontfamily{FontAwesomeOne}\fontseries{m}\fontshape{n}\selectfont}
\DeclareFontFamily{U}{FontAwesomeTwo}{}
\DeclareFontShape{U}{FontAwesomeTwo}{m}{n}{<-> FontAwesome--fontawesometwo}{}
\DeclareRobustCommand\FAtwo{\fontencoding{U}\fontfamily{FontAwesomeTwo}\fontseries{m}\fontshape{n}\selectfont}
\DeclareFontFamily{U}{FontAwesomeThree}{}
\DeclareFontShape{U}{FontAwesomeThree}{m}{n}{<-> FontAwesome--fontawesomethree}{}
\DeclareRobustCommand\FAthree{\fontencoding{U}\fontfamily{FontAwesomeThree}\fontseries{m}\fontshape{n}\selectfont}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
Стоит также отметить, что нет никаких причин - помимо решений автора пакета - по которым шрифты не могут использоваться с обычным движком TeX. Однако, насколько я могу судить, поддержка pdfLaTeX ограничена, а LaTeX вообще отсутствует.