LuaLaTeX | Beamer | fontspec | 定义无衬线数学字体

LuaLaTeX | Beamer | fontspec | 定义无衬线数学字体

社区,这个问题不符合我的标准研究质量。如果有明显的答案,请原谅。这是一个截止日期的情况,要求有后期更改。

我有一个beamer用 编译的文档LuaTeX。我必须使用系统字体 (ttf)。在下面的 MWE 中,我使用Consolas字体来替代我的实际字体(它是商业字体)。

我想将“普通”无衬线数学字体(通过\usepackage{})与 ttf 字体一起使用。我\usepackage{isomath}在 MWE 中使用。

该文档可以编译,但是数学并非全部都是无衬线的(数字、sin、alpha、\infty 都是衬线的)。我希望一切都是无衬线的。

\documentclass{beamer}
\usepackage{fontspec}
\usepackage{mathtools}
%\setsansfont{PorscheNextTT}
\setsansfont{Consolas} % Should be available on a Windows system
\usepackage{isomath}

\begin{document}

\begin{frame}
Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}

\begin{align}
1 + 2 &= x\\
y(t) &= \int_0^\infty \sin(\alpha) d\text{t}
\end{align}

Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}
\end{frame}

\end{document}

带有 #Consolas# 字体的 MWE

在此处输入图片描述

MWE 与我的#actual#字体

在此处输入图片描述



读完答案后的最终解决方案

\documentclass{beamer}
\usefonttheme{professionalfonts}

% Nice sans serif font
% Loads arevtext and arevmath which is not necessary in this case (arevmath would be enough)
\usepackage{arev}

% Here the magic happens
\usepackage[no-math]{fontspec}

% Never without...
\usepackage{mathtools}

% My system font for the main text
%\setsansfont{PorscheNextTT}
\setsansfont{Consolas}

% Should be the Last Font package
% Uses letters and numbers from the main font for math --> very useful
\usepackage[italic]{mathastext}

\begin{document}

\begin{frame}
Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}

\begin{align}
1 + 2 &= x\\
y(t) &= \int_0^\infty \sin(\alpha) \mathrm{d}t
\end{align}

Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}
\end{frame}

\end{document}

在此处输入图片描述

使用我的实际字体 在此处输入图片描述

答案1

我认为你最好的选择是mathastext

\documentclass{beamer}
\usepackage[no-math]{fontspec}
\setsansfont[Scale=0.9]{DejaVu Sans Mono} % no MS Windows, sorry
\usepackage[italic]{mathastext}
\usepackage{mathtools}
\usepackage{isomath}
\newcommand*\diff{\mathop{}\!\mathrm{d}}

\begin{document}

\begin{frame}
  Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}

  \begin{align}
    1 + 2 &= x\\
    y(t) &= \int_0^\infty \sin(\alpha) \diff t
  \end{align}

  Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}
\end{frame}

\end{document}

在此处输入图片描述

答案2

通常,我arevmath在 beamer 中使用它来进行无衬线数学运算。另外,部分字体iwona也很有用(例如,对于无衬线积分,尽管在此设置中大括号看起来有点奇怪)。

\documentclass[professionalfont]{beamer}
\usepackage{mathtools}
\usepackage{arevmath}
\SetSymbolFont{largesymbols}{normal}{OMX}{iwona}{m}{n}
\usepackage{fontspec}
%\setsansfont{PorscheNextTT}
%\setsansfont{Consolas} % Should be available on a Windows system
\setsansfont{Fira Sans} % I'm not on Windows, so Fira Sans instead

\begin{document}

\begin{frame}
Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}

\begin{align}
1 + 2 &= x\\
y(t) &= \int_0^\infty \sin(\alpha) d\text{t}
\end{align}

Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}
\end{frame}

\end{document}

结果:

在此处输入图片描述

答案3

no-math作为一种快速破解方法,您可以使用选项将文本字体用于数学中的“普通”字母fontspec。对于不属于字体的所有符号,将使用 beamer 的默认无衬线字体。

% !TeX TS-program = lualatex
\documentclass{beamer}
\usepackage[no-math]{fontspec}
\usepackage{mathtools}
%\setsansfont{PorscheNextTT}
\setsansfont{Consolas} % Should be available on a Windows system

\begin{document}

\begin{frame}
Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}

\begin{align}
1 + 2 &= x\\
y(t) &= \int_0^\infty \sin(\alpha) d\text{t}
\end{align}

Testtext. Testtext. \textbf{Testtext.} Testtext. \textcolor{red}{Testtext.}
\end{frame}

\end{document}

在此处输入图片描述

相关内容