我使用該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}