直数学箭头

直数学箭头

有没有办法将数学模式中的所有箭头(、、、、等)重新定义为以\rightarrowTikZ选项结尾的另一个箭头?\leftarrow\Rightarrow\Leftarrow\toangle 90

我已经做了一些尝试,并且在正常数学规模下获得了良好的结果: 在此处输入图片描述

使用以下代码:

\documentclass{minimal}

\usepackage{tikz}
\usetikzlibrary{arrows}

%Redefine \rightarrow
\renewcommand{\rightarrow}{\mathbin{\tikz[baseline]\draw[arrows={-angle 90},yshift=0.75ex] (0,0) -- (.95em,0);}}

\begin{document}

%\mathchar"3221 is just the original code of \rightarrow
\noindent $x^2 - 2x + 1 = 0 \mathchar"3221 (x-1)^2 = 0 \mathchar"3221 x = 1$\\
$x^2 - 2x + 1 = 0 \rightarrow (x-1)^2 = 0 \rightarrow x = 1$

\end{document}

但是当我在限制等特殊情况下使用该箭头时遇到了问题,我希望所有这些箭头都能在这种情况下发挥作用(如果可能的话):

在此处输入图片描述

我知道这个问题还解释了如何获得与我的符号相似的符号,但该包不包含我想要的箭头。此外,我希望新箭头的行为与普通字符一样,因此如果我输入$2x \textcolor{red}{\rightarrow} 0$,我将获得一个红色箭头。

有什么想法或建议吗?

答案1

问题是,你给出的 tikz 定义无法与较小的数学样式一起缩放。为了解决这个问题,我们使用该scalerel包将良好的正常大小箭头(动态)缩放到与要替换的原始箭头相同的垂直范围,在当前的数学风格中

\documentclass{minimal}
\usepackage{scalerel}
\usepackage{tikz}
\usetikzlibrary{arrows}
\let\svrightarrow\rightarrow
\newcommand{\TSrightarrow}{\mathbin{\tikz[baseline]\draw[arrows={-angle 90},yshift=0.75ex] (0,0) -- (.95em,0);}}
\renewcommand\rightarrow{\mathrel{\scalerel*{\TSrightarrow}{\svrightarrow}}}
\parindent 0pt
\begin{document}
$x^2 - 2x + 1 = 0 \svrightarrow (x-1)^2 = 0 \svrightarrow x = 1$\\~\\
$x^2 - 2x + 1 = 0 \rightarrow (x-1)^2 = 0 \rightarrow x = 1$\\~\\
\( \lim_{h\svrightarrow0}\frac{f(x+h)-f(x)}{h} \)\\~\\
\( \lim_{h\rightarrow0}\frac{f(x+h)-f(x)}{h} \)
\end{document}

在此处输入图片描述

答案2

问题是您的箭头无法正确缩放,具体取决于数学样式。只需使用\text\mathchoice即可缓解这种情况,但留下了箭头无法正确缩放的问题。

这是使用和装饰的定义\mathchoice,以便能够适当缩小箭头尖端。也许还需要进行一些调整。

\documentclass{article}

\usepackage{tikz}
\usepackage{amsmath}
\usetikzlibrary{arrows}
\usetikzlibrary{decorations.markings}

%Redefine \rightArrow
\newcommand\rightArrow{%
\mathchoice
  {\mathrel{%
    \tikz[baseline]
    \draw[decoration={markings,mark=at position 1 with {\arrow[scale=0.88]{angle 90}}},postaction=decorate,yshift=0.75ex] 
      (0,0) -- (.95em,0);}%
  }
  {\mathrel{%
    \tikz[baseline]
    \draw[decoration={markings,mark=at position 1 with {\arrow[scale=0.88]{angle 90}}},postaction=decorate,yshift=0.75ex] 
      (0,0) -- (.95em,0);}%
  }
  {\mathrel{%
    \tikz[baseline]
    \draw[decoration={markings,mark=at position 1 with {\arrow[scale=0.6]{angle 90}}},postaction=decorate,yshift=0.43ex] 
      (0,0) -- (.65em,0);}\mkern1.8mu}
  {\mathrel{%
    \tikz[baseline]
    \draw[decoration={markings,mark=at position 1 with {\arrow[scale=0.5]{angle 90}}},postaction=decorate,yshift=0.38ex] 
      (0,0) -- (.58em,0);}\mkern1.5mu}
}

\begin{document}

$x^2 - 2x + 1 = 0 \mathchar"3221 (x-1)^2 = 0 \mathchar"3221 x = 1$

$x^2 - 2x + 1 = 0 \rightArrow (x-1)^2 = 0 \rightArrow x = 1$

$\lim_{x\rightarrow 0}\quad A_{\lim_{x\rightarrow 0}}$

$\lim_{x\rightArrow 0}\quad A_{\lim_{x\rightArrow 0}}$

\end{document}

在此处输入图片描述

相关内容