我想在编写文档时获取文档中字体的名称。
目前我还可以
\newcommand{\FntNmeTitleA}{Felix Titling Regular}
\newfontfamily\FontTitleA[LetterSpace=4.5]{Felix Titling}
\FontTitleA This Text is written in \FntNmeTitleA!
但如果我有很多字体并且想要获取当前名称,那就太糟糕了。有没有像许多编程语言中已知的方法:
\FontTitleA This Text is written in \FontTitleA.name!
干杯
答案1
在标准情况下,当前字体信息存储在一系列以 开头的内部宏中\f@
。
\documentclass{article}
\begin{document}
\makeatletter
encoding \f@encoding\par
family \f@family\par
series \f@series\par
shape \f@shape\par
size \f@size\par
\makeatother
\end{document}
使用 pdfLaTeX 编译:
使用 LuaLaTeX 或(一段时间后)XeLaTeX 进行编译:
使用 LuaLaTeX 中的自定义字体,使用fontspec
:
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\sylfaen{Sylfaen}
\begin{document}
\sylfaen
\makeatletter
encoding \f@encoding\par
family \f@family\par
series \f@series\par
shape \f@shape\par
size \f@size\par
\makeatother
\end{document}