重新定义数学符号以获得更大的表示形式

重新定义数学符号以获得更大的表示形式

我如何才能正确地重新定义 libertinust1math 字体中时间符号的命令以使符号变大?

我尝试了以下方法,但我不知道这是否是正确的方法。

\documentclass[a4paper,12pt]{article}
\usepackage[sansmath]{libertinust1math}

%\usepackage{scalerel}
%%\newcommand\Times{\scaleobj{2.5}{\times}}

\let\Oldtimes\times
\renewcommand{\times}{\mathop{\mathchoice
  {\vcenter{\hbox{\LARGE$\Oldtimes$}}}
  {\vcenter{\hbox{\large$\Oldtimes$}}}
  {\vcenter{\hbox{\footnotesize$\Oldtimes$}}}
  {\vcenter{\hbox{\scriptsize$\Oldtimes$}}}
}\displaylimits}

\begin{document}

\begin{equation*}
\vec{a}\times\vec{b}=
  \begin{pmatrix}
    1 \\
    2 \\
    3
  \end{pmatrix}
  \times
  \begin{pmatrix}
    4 \\
    5 \\
    6
  \end{pmatrix}
\end{equation*}
\end{document}

在此处输入图片描述

答案1

由于奇怪的原因,\times符号从基线凸起,因此“垂直居中”不会产生令人满意的结果。另一方面,与固定大小相比,最好缩放符号,这样它就可以独立于当前字体大小工作。

\documentclass[a4paper,12pt]{article}
\usepackage[sansmath]{libertinust1math}
\usepackage{graphicx}

\mathchardef\originaltimes\times
\renewcommand{\times}{%
  \mathbin{%
    \mathpalette\makebigger{{2.2}{\originaltimes}}% fix the factor to suit
  }%
}
\makeatletter
\newcommand{\makebigger}[2]{\make@bigger#1#2}
\newcommand\make@bigger[3]{%
  \vcenter{\hbox{%
    \scalebox{#2}{%
      \raisebox{-.2\height}[.8\height][0pt]{$\m@th#1#3$}% lower to the baseline
    }%
  }}%
}
\makeatother

\begin{document}

\begin{equation*}
\vec{a}\times\vec{b}=
  \begin{pmatrix}
    1 \\
    2 \\
    3
  \end{pmatrix}
  \times
  \begin{pmatrix}
    4 \\
    5 \\
    6
  \end{pmatrix}
\end{equation*}
\end{document}

我选择 2.2 缩放因子只是为了举例。请尝试其他值,直到您满意为止。

在此处输入图片描述

相关内容