是否有一个 latex 命令可以打印用于文本和数学的字体名称?

是否有一个 latex 命令可以打印用于文本和数学的字体名称?

有时我会更改用于构建 latex 文档的字体来查看其外观。因此,我有一些使用不同字体构建的旧 pdf 文件。

在编译 PDF 时,是否有 latex 命令可以在其中打印用于文本和数学的官方字体名称或规格?所以这些信息不会丢失或难以找到?

我知道有些 PDF 阅读器会允许查找 PDF 中使用的字体,但有时很难找到,而且并非所有阅读器都具有此功能。我还喜欢将其打印在文档本身中,可能在页边空白处或作为脚注,以便于查看。

这是 MWE

\documentclass[12pt]{article}
\usepackage{amsmath}

\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{baskervald}

\begin{document}

%\footnote{This document was compiled using text font \textFontName 
%and math font \mathFontName} 

This is some math $\sin(x)$
\end{document}

如果有办法的话,我想做类似上面注释的代码。假设文档中只使用一种字体,如上例所示。

例如,对于默认字体,我预计脚注将是

  This document was compiled using text font "Computer Modern"
  and math font "Computer Modern"

使用 TL 2018

答案1

我的答案可以在数学上得到改进,但它最多有 16 组,您可以检查 \makeatletter\meaning\mv@normal\makeatother产生的结果以了解所涉及的内容。

\documentclass[12pt]{article}
\usepackage{amsmath}

\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{baskervald}

\begin{document}

%\footnote{This document was compiled using text font \textFontName 
%and math font \mathFontName} 

This is some math $\sin(x)$.

\makeatletter
\edef\textFontName{\fontname\csname
  \f@encoding/\f@family/\f@series/\f@shape/\f@size\endcsname}
\edef\mathFontName{\fontname\textfont0}
\edef\mathLetterFontName{\fontname\textfont1}
\makeatother

See\footnote{Text Font: \textFontName

Math Operator Font: \mathFontName

Math Letter Font: \mathLetterFontName\par
}
\end{document}

在此处输入图片描述


使用 xetex:

\documentclass[12pt]{article}
\usepackage{amsmath}

\usepackage{fontspec}

\begin{document}

%\footnote{This document was compiled using text font \textFontName 
%and math font \mathFontName} 

This is some math $\sin(x)$.

\makeatletter
\edef\textFontName{\fontname\csname
  \f@encoding/\f@family/\f@series/\f@shape/\f@size\endcsname}
\edef\mathFontName{\fontname\textfont0}
\edef\mathLetterFontName{\fontname\textfont1}
\makeatother

See\footnote{Text Font: \texttt{\textFontName}

Math Operator Font: \texttt{\mathFontName}

Math Letter Font: \texttt{\mathLetterFontName}\par
}
\end{document}

在此处输入图片描述

答案2

是的,但它不会提供您想要的显示名称。\f@family宏将扩展为类似于cmrComputer Modern Roman 的内容,\the\fam在数学模式下为数字。

相关内容