数学模式下运算符两侧的引号

数学模式下运算符两侧的引号

我想创建公式,其中\rightarrow用双引号括起来,并且像公式中的其他单词一样出现。但我得到的是公式,其中这些引号被拉到相邻的单词上,在引号和 之间留下一个间隙\rightarrow

示例:我得到了Some'' -> ''Word。我想要Some ''->'' Word。该序列应被视为与或''->''相同。( ) 应被呈现为在任意数学环境中使用。 我看过SomeWord->\rightarrow
这个答案,但我无法将其变成有用的东西,正如我的 MWE 所示。另外,我不希望破坏我的数学环境,因为引号是公式的一部分。

渲染不佳

\documentclass{standalone}
\usepackage{varwidth}
\usepackage{amsmath}
\DeclareMathSymbol{\mlq}{\mathord}{operators}{``}
\DeclareMathSymbol{\mrq}{\mathord}{operators}{`'}

\begin{document}
\begin{varwidth}{\linewidth}
$Op \mapsto Op ``\rightarrow'' Op$%large gap on left; ' treated as prime

$Op \mapsto Op {``\rightarrow''} Op$%large gap on left; ' treated as prime

$Op \mapsto Op \mlq\rightarrow\mrq Op$%large gaps on left & right

$Op \mapsto Op {\mlq\rightarrow\mrq} Op$%large gaps on left & right

Quotation marks close\\
to arrow: ``$\rightarrow$''
\end{varwidth}
\end{document}

答案1

\mlq将等声明为\mathrel,因为 TeX 不会在连续的关系符号之间添加空格:

\documentclass[varwidth,border=3pt]{standalone}
\usepackage{amsmath}
\DeclareMathSymbol{\mlq}{\mathrel}{operators}{``}
\DeclareMathSymbol{\mrq}{\mathrel}{operators}{`'}
\DeclareMathSymbol{\mlqq}{\mathrel}{operators}{"5C}
\DeclareMathSymbol{\mrqq}{\mathrel}{operators}{`"}

\begin{document}

$Op \mapsto Op \mlq\rightarrow\mrq Op$

$Op \mapsto Op \mlqq\rightarrow\mrqq Op$

Quotation marks close to arrow: ``$\rightarrow$''
\end{document}

在此处输入图片描述

如果你需要在其他符号周围加引号,你可以采用不同的方法;将引号声明为普通符号(使用\mathord)并定义

\newcommand{\qto}{\mathrel{\mlq}\to\mathrel{\mrq}}
\newcommand{\qqto}{\mathrel{\mlqq}\to\mathrel{\mrqq}}

所以你可以得到类似

$\mlq A\mrq \qqto \mlqq B\mrqq$

无需担心间距。

答案2

正如我的评论所指出的,您必须将其括\rightarrow在括号中,以防止其对周围的引号进行操作。

\documentclass{standalone}
\usepackage{varwidth}
\usepackage{amsmath}
\DeclareMathSymbol{\mlq}{\mathord}{operators}{``}
\DeclareMathSymbol{\mrq}{\mathord}{operators}{`'}

\begin{document}
\begin{varwidth}{\linewidth}
$Op \mapsto Op ``{\rightarrow}\mrq\mrq Op$%large gap on left; ' treated as prime

$Op \mapsto Op {``{\rightarrow}\mrq\mrq} Op$%large gap on left; ' treated as prime

$Op \mapsto Op \mlq{\rightarrow}\mrq Op$%large gaps on left & right

$Op \mapsto Op {\mlq{\rightarrow}\mrq} Op$%large gaps on left & right

\end{varwidth}
\end{document}

在此处输入图片描述

如果你想要数学“空间”外部引号,你可以将整个组变为\mathrel

\documentclass{standalone}
\usepackage{varwidth}
\usepackage{amsmath}
\DeclareMathSymbol{\mlq}{\mathord}{operators}{``}
\DeclareMathSymbol{\mrq}{\mathord}{operators}{`'}
\begin{document}
\begin{varwidth}{\linewidth}
$Op \mapsto Op \mathrel{``{\rightarrow}\mrq\mrq} Op$

$Op \mapsto Op \mathrel{\mlq{\rightarrow}\mrq} Op$
\end{varwidth}
\end{document}

在此处输入图片描述

相关内容