我如何排版顶部和底部带有符号的长 vdash?

我如何排版顶部和底部带有符号的长 vdash?

本质上,我正在尝试在数学模式下排版一个如下所示的符号:顶部和底部带有符号的长划线。有没有什么方法可以让我轻松地用一个包来完成这个任务,还是我必须自己摆弄命令?

我尝试过vdash^*_M,但是这导致 vdash 太短并且 * 和 M 位置错误。

答案1

您可以使用该turnstile包:

\documentclass{article}
\usepackage{turnstile}

\begin{document}

$x\sststile{M}{*}y$ $x\sdtstile{M}{*}y$

\end{document}

在此处输入图片描述

您还可以查看https://tex.stackexchange.com/a/29091/4427实现方式略有不同。

答案2

有许多样式选择(大小、位置等)未指定,所以我猜测了一下。当然可以更改。

\documentclass{article}
\usepackage{stackengine}
\def\ruleoffset{1pt}
\newcommand\specialvdash[2]{\mathrel{\ensurestackMath{
  \mkern2mu\rule[-\dp\strutbox]{.4pt}{\baselineskip}\stackon[\ruleoffset]{
    \stackunder[\dimexpr\ruleoffset-.5\ht\strutbox+.5\dp\strutbox]{
      \rule[\dimexpr.5\ht\strutbox-.5\dp\strutbox]{2.5ex}{.4pt}}{
        \scriptstyle #1}}{\scriptstyle#2}\mkern2mu}}
}
\begin{document}
$(x+y) \specialvdash{M}{*} y \specialvdash{Q}{+} z \specialvdash{y}{*} p \vdash q$
\end{document}

在此处输入图片描述

相关内容