以下 MWE 已由 pdflatex 和 lualatex 编译。对于 pdflatex,它非常好,但对于 lualatex,方程式的打印不如 pdflatex 正确。
\documentclass{beamer}
\usetheme{metropolis}
\usepackage{amsmath,mathtools,bm}
\newcommand\vm[1]{\bm{\mathrm{#1}}}
\newcommand\pbm[1]{\left(\mathbf{#1}\right)}
\begin{document}
\begin{frame}
\begin{align}
\vm{\Phi}_{,\gamma}^T & = \vm{P}_{,\gamma}^T\pbm{x}\,\vm{A}^{-1}\,\vm{B} = \left\{ \begin{array}{c c c c}
\phi_1 & \phi_2 & \cdots & \phi_n
\end{array} \right\}_{\left(1 \times n\right)},\\
%
\mathbf{\tilde{T}_s} & =%
\left\{%
\begin{array}{ccccc}
T_1 & T_2 & \cdots & T_n & \bm{0}_{\left( 1 \times m \right)}
\end{array}%
\right\}^T
\end{align}
\end{frame}
\end{document}
使用 pdflatex
使用 lualatex
答案1
用于数学的罗马字体显然没有经典 tex 数学编码中所使用的控制字符槽中的希腊字母。只需使用 bm 而不是(看起来相当奇怪的)\bm{\mathrm{#1}}
似乎就可以了:
\RequirePackage{luatex85}
\documentclass[professionalfonts]{beamer}
\usetheme{metropolis}
\usepackage{amsmath,mathtools,bm}
\newcommand\vm[1]{\bm{#1}}
\newcommand\pbm[1]{\left(\mathbf{#1}\right)}
\begin{document}
\begin{frame}
\begin{align}
\vm{\Phi}_{,\gamma}^T & = \vm{P}_{,\gamma}^T\pbm{x}\,\vm{A}^{-1}\,\vm{B} = \left\{ \begin{array}{c c c c}
\phi_1 & \phi_2 & \cdots & \phi_n
\end{array} \right\}_{\left(1 \times n\right)},\\
%
\mathbf{\tilde{T}_s} & =%
\left\{%
\begin{array}{ccccc}
T_1 & T_2 & \cdots & T_n & \bm{0}_{\left( 1 \times m \right)}
\end{array}%
\right\}^T
\end{align}
\end{frame}
\end{document}
答案2
看起来像是数学字体问题(metropolis
主题使用 Fira Sans Light 来表示 LuaLaTeX/XeLaTeX)。以下内容适用于 XeLaTeX;请注意,加载某些包的顺序很重要:
\usepackage{mathtools} %% needs to be loaded before mathspec. already includes amsmath
\usepackage{mathspec}
\setmathsfont(Digits,Latin,Greek)[BoldFont=Fira Sans Bold]{Fira Sans Light}
\newcommand\hmmax{0} %% These two lines needed
\newcommand\bmmax{0} %% to avoid "Too many symbol fonts" error
\usepackage{bm}
\newcommand\vm[1]{\bm{\mathrm{#1}}}
\newcommand\pbm[1]{\left(\mathbf{#1}\right)}
至于\tilde{T}
:使用\widehat{T}
似乎效果更好,但我无法使波浪号本身变为粗体。