斜體希臘字母在數學模式下變成拉丁字母

斜體希臘字母在數學模式下變成拉丁字母

我使用該mathastext套件是為了不在數學公式中到處使用斜體,特別是函數名稱或向量和矩陣字母。

但這會導致希臘字母出現奇怪的行為,如以下 MWE 所示:

\documentclass{report}
\usepackage{amsmath}
\usepackage[LGRgreek,defaultmathsizes]{mathastext}
\begin{document}

\begin{equation}
\mathit{y} = \mathit{X\beta} + \mathit{\epsilon}
\end{equation}

\begin{equation}
\mathit{y} = \mathit{X}{\beta} + \epsilon
\end{equation}

\end{document}

這使:
希臘字母是拉丁字母

我如何在本地(即在任何特定方程中)強制某些字母為斜體,尤其是希臘字母?

答案1

OP 在評論中指出,“99% 的人都是直立的?我不想單獨標記他們。”因此,雖然有很多理由不這樣做,但我使用解的逆適合電腦現代的直立希臘字體,並引入了宏\slant,它(在 pdflatex 中)可以應用於任何特定的參數。

\documentclass{report}
\usepackage{amsmath}
\usepackage[LGRgreek,defaultmathsizes]{mathastext}
\newsavebox{\foobox}
\newcommand{\slantbox}[2][0]{\mbox{%
        \sbox{\foobox}{#2}%
        \hskip\wd\foobox
        \pdfsave
        \pdfsetmatrix{1 0 #1 1}%
        \llap{\usebox{\foobox}}%
        \pdfrestore
}}
\newcommand\slant[2][.25]{\slantbox[#1]{$#2$}}
\begin{document}

\begin{equation}
\mathit{y} = \mathit{X\beta} + \slant\epsilon
\end{equation}

\begin{equation}
\mathit{y} = \mathit{X}{\beta} + \epsilon
\end{equation}

\centering
$\alpha\beta\gamma\delta\epsilon\eta\mu\phi\sigma\tau\omega\xi\psi\zeta$\par
\slant\alpha\slant\beta\slant\gamma\slant\delta\slant\epsilon%
\slant\eta\slant\mu\slant\phi\slant\sigma\slant\tau\slant\omega%
\slant\xi\slant\psi\slant\zeta

\end{document}

在此輸入影像描述

相關內容