Как можно поставить крестик на выражении в математическом режиме, используя Latex, как показано ниже?
решение1
Возможно, это излишне, но вы можете построить оператор с \times
наложением \longrightarrow
на
\documentclass[]{article}
\def\longxrightarrow{\mathrel{%
\mathchoice{\LongXRightArrow}{\LongXRightArrow}{\scriptsize\LongXRightArrow}{\tiny\LongXRightArrow}%
}}
\def\LongXRightArrow{{%
\setbox0\hbox{\ensuremath{\longrightarrow}}%
\rlap{\hbox to \wd0{\ensuremath{\hss\times\hss}}}\box0
}}
\begin{document}
$ a^b \longxrightarrow c^d $
\end{document}
выглядеть как
решение2
\nrightarrow
+ зеркально\nrightarrow
Возможно, крест немного мал, по крайней мере размер и положение креста заданы дизайнером шрифтов, поскольку в примере накладывается \nrightarrow
его зеркальная версия:
\documentclass{article}
\usepackage{amssymb}
\usepackage{graphicx}
\makeatletter
\newcommand*{\crossrightarrow}{%
\mathrel{%
\mathpalette\@crossrightarrow{}%
}%
}
\newcommand*{\@crossrightarrow}[2]{%
% #1: math style
% #2: unused
\sbox0{$#1\nrightarrow\m@th$}%
\sbox2{$#1\vcenter{}$}%
\sbox2{\raisebox{\ht2}{\scalebox{1}[-1]{\raisebox{-\ht2}{\copy0}}}}%
\ht2=\ht0 %
\dp2=\dp2 %
\rlap{\unhcopy2}%
\copy0 %
}
\makeatother
\begin{document}
\[
a^b \crossrightarrow a^c
\]
\end{document}
\rightarrow
+ \setminus
+ зеркально отражено\setminus
Вариант с большим крестом (на мой вкус он слишком большой):
\documentclass{article}
\usepackage{graphicx}
\makeatletter
\newcommand*{\crossrightarrow}{%
\mathrel{%
\mathpalette\@crossrightarrow{}%
}%
}
\newcommand*{\@crossrightarrow}[2]{%
\sbox0{$#1\rightarrow\m@th$}%
\sbox2{$#1\setminus\m@th$}%
\copy0 %
\kern-\wd0 %
\hbox to \wd0{%
\hspace{0pt plus 1fil}%
\rlap{\scalebox{-1}[1]{\copy2}}%
\copy2 %
\hspace{0pt plus 1.5fil}%
% the factor for `fil' controls the horizontal position of the cross
}%
}
\makeatother
\begin{document}
\[
a^b \crossrightarrow a^c
\]
\end{document}
Замечания:
\mathpalette
используется для адаптации символа к четырем математическим стилям.
решение3
Более простой способ наложения \times
на длинную стрелку вправо:
\documentclass{article}
\makeatletter
\newcommand{\longxarrow}[1]{%
\mathrel{\vphantom{\to}\mathpalette\longx@rrow{#1}}% arrows are bigger than \times
}
\newcommand{\longx@rrow}[2]{%
\ooalign{\hidewidth$#1\times\m@th$\hidewidth\cr$#1#2\m@th$\cr}%
}
\makeatother
\newcommand{\longxrightarrow}{\longxarrow{\longrightarrow}}
\newcommand{\longxleftarrow}{\longxarrow{\longleftarrow}}
\begin{document}
$A\longxrightarrow B_{\longxrightarrow}$
$A\longxleftarrow B_{\longxleftarrow}$
\end{document}
решение4
\documentclass{article}
\usepackage{stackengine}
\usepackage{graphicx}
\usepackage{xcolor}
\begin{document}
$a^b
\mathrel{\stackengine{-1.3pt}{$\rightarrow$}%
{\color{red}\scalebox{1.6}{$\times$}\kern3pt}{O}{c}{F}{T}{L}}
a^c$
\end{document}