在乳胶中更改字体系列(数学模式)

在乳胶中更改字体系列(数学模式)

我使用这个mathptmx包来输入数学公式。在尝试过许多字体包之后,除了无穷大符号,我最喜欢这个。这个包产生的无穷大符号非常小而且窄,我尝试了以下方法进行修复,但无法得到想要的符号。

\documentclass[12pt,fleqn]{book}
\usepackage{exscale,relsize,tikz,avant,microtype,titletoc,fancyhdr}
\usepackage{amsmath,mathrsfs,amsfonts,bm,amssymb,mathtools,amsthm,,mathptmx}

\newcommand{\inftyy}{\mathlarger{\infty}}
\newcommand{\inftyyy}{\Large{\text{$\infty$}}}

\begin{document}
  \begin{equation}
       x \in (-\inftyyy,+\infty), y\in (-\inftyy,+\infty)
  \end{equation}
\end{document}

在这两种情况下(\inftyyy\inftyy),符号都会偏离正常的水平线对齐,看起来很别扭。我可以尝试的另一种可能性是定义一个新命令,以便amsfonts覆盖 的mathptmx无穷大符号,但我不确定如何实现。有人来帮忙吗?如果有新的想法,我将不胜感激。

PS 请不要建议使用其他包,因为我已经尝试了很多。

先感谢您

答案1

由于字体是可扩展的,因此您不需要relsize。主要问题在于强制符号处于正确的高度,特别是在下标中。

\documentclass{article}
\usepackage{amsmath}
\usepackage{mathptmx,graphicx}

\makeatletter
\let\original@infty\infty
\DeclareRobustCommand{\infty}{\mathord{\mathpalette\scale@infty\relax}}
\newcommand\scale@infty[2]{%
  \vcenter{\m@th\hbox{\scalebox{1.3}{$\lower@infty{#1}$}}}%
}
\newcommand\lower@infty[1]{%
  \sbox\z@{$\original@infty$}%
  \dimen0=\dimexpr\ht\z@-2\fontdimen22\style@font{#1}2\relax
  \dimen2=\dimexpr\ht\z@+\dimen0\relax
  \raisebox{\dimen0}[\dimen2][0pt]{$#1\original@infty$}%
}
\def\style@font#1{%
  \ifx#1\displaystyle\textfont\else\ifx#1\textstyle\textfont
  \else\ifx#1\scriptstyle\scriptfont\else\scriptscriptfont\fi\fi\fi
}
\makeatother

\begin{document}

\begin{equation}
x \in (-\infty,+\infty)\quad \infty_{+\infty_{+\infty}}
\end{equation}

\end{document}

在此处输入图片描述

另一方面,您可以使用 获得适当大小的符号newtx

\documentclass{article}
\usepackage{amsmath}
\usepackage{newtxtext,newtxmath}

\begin{document}

$x\in(-\infty,+\infty)\quad \infty_{+\infty_{+\infty}}}$

\end{document}

在此处输入图片描述

答案2

我希望能够通过非常好的用户@egreg 的一个老问题来理解你的问题:使 \infty 符号与 8 水平对齐。这是我对您的问题所做的改进。我增加了无穷大符号的大小,您可以使用比例参数将其调大或调小-0.1(使符号变小)或+0.1调大。

\documentclass[12pt,fleqn]{book}
\usepackage[T1]{fontenc}

\usepackage{exscale,relsize,tikz,avant,microtype,titletoc,fancyhdr}
\usepackage{mathrsfs,bm,amssymb,mathtools,amsthm,,mathptmx}

\newcommand{\inftyy}{\mbox{\larger$\infty$}}
\newcommand{\inftyyy}{\mbox{\larger$\inftyy$}}
\makeatletter
\newcommand{\hinfty}{\raisebox{-0.1\height}{$\m@th\inftyy$}}
\newcommand{\hinftyy}{\raisebox{-0.22\height}{$\m@th\inftyyy$}}
\makeatother
\begin{document}
  \begin{equation}
       x \in (-\hinfty,+\hinfty), y\in (-\hinftyy,+\hinftyy)
  \end{equation}
\end{document}

在此处输入图片描述

相关内容