正常的数学字母表字母不显示为斜体

正常的数学字母表字母不显示为斜体

我遇到了普通数学字体无法以斜体显示的问题。

abc&&\mathit{abc} \\% problem here: non-mathit (abc) not italic!!!!

在此处输入图片描述

我想用以\RequirePackage[math-style=literal]{unicode-math}使所有希腊字符的变体(例如:,,,,\upPhi)正确显示。\Phi\mathbf{\upPhi}\mathbf{\Phi}

软件包中还存在一些问题mathalfa,其中某些字体无法正常显示。我的测试文件 (MWE) 如下所示。

    \documentclass[a4paper]{article}

    \usepackage[bb=px,cal=boondox,frak=boondox,scr=euler]{mathalfa}

    \RequirePackage[margin=2cm]{geometry}
    \RequirePackage{longtable,xspace}
    \RequirePackage{mathspec}

    \RequirePackage[math-style=literal]{unicode-math}

    \def\alphabets{a\ {quick}\ {brown}\ {fox}\ {jumps}\ {over}\ {the}\ {lazy}\ {dog.}}
    \def\Alphabets{A\ {QUICK}\ {BROWN}\ {FOX}\ {JUMPS}\ {OVER}\ {THE}\ {LAZY}\ {DOG.}}
    \def\digits{0123456789}
    \def\Symbols{;:\#@\$!+\%-(\&)[*]\{\}.?|}
    \makeatletter
    \def\test[#1]{&%
     \expandafter\@tfor\expandafter\xx\expandafter:\expandafter=\alphabets\do{%
       \ensuremath{\expandafter\csname #1\endcsname{\xx}}\xspace%
     }&%
     \expandafter\@tfor\expandafter\xx\expandafter:\expandafter=\Alphabets\do{%
       \ensuremath{\expandafter\csname #1\endcsname{\xx}}\xspace%
     }&%
     \expandafter\@tfor\expandafter\xx\expandafter:\expandafter=\digits\do{%
       \ensuremath{\expandafter\csname #1\endcsname{\xx}}\xspace%
     }&%
     \expandafter\@tfor\expandafter\xx\expandafter:\expandafter=\Symbols\do{%
       \ensuremath{\expandafter\csname #1\endcsname{\xx}}\xspace%
     }
    }
    \makeatother
    \parindent=0pt
    \begin{document}

    \pagestyle{empty}

    \begin{center}
    \underline{Testing Greek characters.}\\
    \begin{tabular}{ll}
    Upright &\ensuremath{\upPhi}\\
    Italic &\ensuremath{\Phi}\\
    Bold Upright &\ensuremath{\mathbf{\upPhi}}\\
    Bold Italic & \ensuremath{\mathbf{\Phi}}\\
    \end{tabular}
    \end{center}

    \begin{eqnarray*}\label{eqn1}
    \mbox{text}&&\text{text}\ \mathrm{text}\\% upright text
    abc&&\mathit{abc} \\% problem here: non-mathit not working!!!!
    (a+b)^2&=&a^2+2ab+b^2\\
    E&=&mc^2
    \end{eqnarray*}
    \begin{longtable}{lp{12pc}p{12pc}p{4pc}p{6pc}}
    mathbb \test[mathbb]\\
    mathbbb \test[mathbbb]\\
    mathcal \test[mathcal]\\
    mathbcal \test[mathbcal]\\
    mathfrak \test[mathfrak]\\
    mathbfrak \test[mathbfrak]\\
    mathscr \test[mathscr]\\
    mathbscr \test[mathbscr]\\
    mathrm \test[mathrm]\\
    mathit \test[mathit]\\
    mathbf \test[mathbf]\\
    mathbfit \test[mathbfit]\\
    mathsf \test[mathsf]\\
    mathsfit \test[mathsfit]\\
    mathbfsf \test[mathbfsf]\\
    mathtt \test[mathtt]\\
    %mathttit \test[mathttit]\\
    %mathbftt \test[mathbftt]
    \end{longtable}

    \end{document}

有人可以帮助我将普通字母排序为斜体而不破坏希腊字符吗?

xelatex注意:我在 TL2015 上使用。

答案1

我不太确定你在问什么,特别是因为你的例子不可编译,也没有多大意义。 unicode-math不适用于mathspecmathalfa。所有这些包都是互斥的。

话虽如此,我认为您想要实现的目标已经可以在的默认设置中完成unicode-math

\documentclass{article}
\usepackage{unicode-math}
\begin{document}
$abc, \mathit{abc}$

$\Phi, \symit{\Phi}, \symup{\Phi}, \symbf{\Phi}, \symbfit{\Phi}$
\end{document}

在此处输入图片描述

相关内容