我想创建公式,其中\rightarrow
用双引号括起来,并且像公式中的其他单词一样出现。但我得到的是公式,其中这些引号被拉到相邻的单词上,在引号和 之间留下一个间隙\rightarrow
。
示例:我得到了Some'' -> ''Word
。我想要Some ''->'' Word
。该序列应被视为与或''->''
相同。( ) 应被呈现为在任意数学环境中使用。 我看过Some
Word
->
\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}