在方程式环境中自定义字体

在方程式环境中自定义字体

我正在使用该Gill Sans字体,但我注意到 I、l 和 1 混淆了。所以我想在公式环境中为这些字母使用另一种字体,我以前也\fontspec这样做过,但它不会改变公式环境中的字体!

我的 MWE (使用 XeLaTeX 编译):

  \documentclass{beamer}
     \usepackage[T1]{fontenc}
     \usepackage{lmodern}
     \usepackage[no-math]{fontspec}
     \defaultfontfeatures{Mapping=tex-text}
     \setmainfont{Gill Sans}    
      \setsansfont[ItalicFont={Gill Sans MT  Italic}]{Gill Sans}


     \newcommand{\vl}{\fontspec{BrushScript}{l}}%BrushScript for l
     \newcommand{\vI}{\fontspec{Courier BOLD}{I}} % Courier BOLD for I
     \newcommand{\un}{\fontspec{Courier BOLD}{1}} % Courier BOLD for 1
    \begin{document}


    \begin{frame}{}
       \fontspec{Gill Sans}{(l,I,1)}, \vl, \vI,\un. In the equation environment:
               \begin{equation*}
                   \vl, \vI,\un 
              \end{equation*}   


    \end{frame}

    \end{document}

这使: 在此处输入图片描述

答案1

如果使用您自己的配置,则需要使用professionalfonts主题,以避免在不方便的时刻出现意外的怪异情况。

你不需要丰滕克据我所知。

需要现代因为否则默认数学仍然会使用计算机现代,尽管字体规格将文本切换为拉丁现代文本。

我不确定你到底想做什么。如果你想要在数学模式下使用文本字符,而不需要明确切换到文本,你可以使用\text{}使用数学在宏的定义中。

请注意,它\fontspec{}[]需要一个强制参数和一个可选参数。它不接受第二个强制参数,并且定义中的第二组括号不执行任何操作。

所以

\fontspec{<font name>}[<options>] <whatever>

但是,最好定义一个额外的字体系列,而不是继续使用\fontspec相同的字体/设置。

\newfontfamily\tgschola{TeXGyreSchola}
\newfontfamily\helvetica{Helvetica Neue}

我没有你在这里使用的字体,所以我用我有的字体替换了。然后我们可以这样说

\newcommand*{\vl}{\text{\tgschola\textit{l}}}
\newcommand*{\vI}{\text{\helvetica I}}
\newcommand*{\un}{\text{\helvetica 1}}

确保\text{}切换到文本模式。

输出如下

数学模式下的文本字符

但请注意,如果这些是数学字符,这可能不是您想要的解决方案,您应该将它们定义为数学符号或其他任何符号。

\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage{lmodern,amsmath}
\usepackage[no-math]{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont{Gill Sans}
\setsansfont[ItalicFont={Gill Sans Italic}]{Gill Sans}
\newfontfamily\tgschola{TeXGyreSchola}
\newfontfamily\helvetica{Helvetica Neue}
\newcommand*{\vl}{\text{\tgschola\textit{l}}}
\newcommand*{\vI}{\text{\helvetica I}}
\newcommand*{\un}{\text{\helvetica 1}}
\begin{document}
\begin{frame}{}
  (l,I,1), \vl, \vI,\un. In the equation environment:
  \begin{equation*}
    \vl, \vI, \un
  \end{equation*}
\end{frame}
\end{document}

相关内容