51739
MathJax において、`\iff` の上に `\overset` で文字列を置くとやや左側に寄って表示されます。LaTeX
で同じことをしたときのように文字列の中心と矢印の中心を合わせたいのですが、どのように書けば良いのでしょうか？

```

    <script type="math/tex; mode=display">% <![CDATA[
    a \sim b \overset{\text{def}}{\iff} a - b \equiv 0 \pmod{p} %]]></script>
    <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
```

[![上のスニペットを実行したときのスクリーンショットです](https://i.stack.imgur.com/qpuYr.png)](https://i.stack.imgur.com/qpuYr.png)

※黄色くマーカーを付けた「def」が少し左に寄っています。

### 手元の実行環境

  * Windows 10
  * Google Chrome 71.0.3578.98
CC BY-SA 4.0
2019-01-05T12:58:53.883
51735
2019-01-18T12:11:57.370
2019-01-06T03:28:21.313
19110
19110
question
latex mathjax
MathJax で矢印上部のちょうど真ん中に文字列を配置したい
試してみたところ，`\mathrel{\overset{\text{def}}{\iff}}` のように `\mathrel{}` で囲むと def
の出力位置（というより `\iff` の出力位置）が次のように変わるようでした。

上：`\overset{\text{def}}{\iff}`  
下：`\mathrel{\overset{\text{def}}{\iff}}`

[![比較](https://i.stack.imgur.com/Zomga.png)](https://i.stack.imgur.com/Zomga.png)
CC BY-SA 4.0
2019-01-05T14:55:56.997
51739
2019-01-05T14:55:56.997
2663
51735
answer
[@YusukeTerada
さんの回答](https://ja.stackoverflow.com/a/51739/19110)と実質的に同じことをしているのですが、[`\stackrel`](https://github.com/mathjax/MathJax/blob/419b0a6eee7eefc0f85e47f7d4f8227ec28b8e57/unpacked/jax/input/TeX/jax.js#L825)
を使って解決することもできるようでした。

```

    \stackrel{\text{def}}{\iff}
    
```
CC BY-SA 4.0
2019-01-18T12:11:57.370
52085
2019-01-18T12:11:57.370
19110
51735
answer