编辑

编辑

考虑以下 MWE 中的三个二元关系符号:

\documentclass[]{article}
\usepackage{MnSymbol}
\begin{document}

$\vdash$

$\Vdash$

$\Vvdash$

\end{document}

我该如何关闭最后两个关系符号中垂直线之间的空间,以便第二个关系符号中的水平线从矩形中伸出,第三个关系符号中的水平线从两个对齐的矩形中伸出?我如何在第一个二元关系符号的垂直线上放置水平线,使其与新形成的第二个关系符号一样,没有最左边的垂直线?

如果解决方案允许调整的话,将会很有用。

下面是一个 Dropbox 链接,链接到一幅业余绘画,它暗示了我试图描述的内容:

https://www.dropbox.com/s/xbujdv3cqwy9u5q/20150731_004151.jpg?dl=0

答案1

这是你想要的吗?

\documentclass[]{article}
\usepackage{MnSymbol}

\usepackage{pict2e}

\makeatletter
\DeclareRobustCommand{\cvdash}{%
  \mathrel{\mathpalette\cvd@sh\relax}
}

\newcommand{\cvd@sh}[2]{%
  \sbox\z@{$\m@th#1\vdash$}%
  \setlength{\unitlength}{1.1\wd\z@}%
  \begin{picture}(1,0.75)
  \roundcap\roundjoin
  \polyline(0.125,0)(0.4,0)(0.4,0.75)(0.125,0.75)
  \polyline(0.4,0.375)(0.925,0.375)
  \end{picture}%
}

\DeclareRobustCommand{\cVdash}{%
  \mathrel{\mathpalette\cVd@sh\relax}
}
\newcommand{\cVd@sh}[2]{%
  \sbox\z@{$\m@th#1\vdash$}%
  \setlength{\unitlength}{1.1\wd\z@}%
  \begin{picture}(1,0.75)
  \roundcap\roundjoin
  \polyline(0.125,0)(0.4,0)(0.4,0.75)(0.125,0.75)(0.125,0)
  \polyline(0.4,0.375)(0.925,0.375)
  \end{picture}%
}

\DeclareRobustCommand{\cVvdash}{%
  \mathrel{\mathpalette\cVvd@sh\relax}%
}

\newcommand{\cVvd@sh}[2]{%
  \sbox\z@{$\m@th#1\vdash$}%
  \setlength{\unitlength}{1.1\wd\z@}%
  \begin{picture}(1,0.75)
  \roundcap\roundjoin
  \polyline(0.125,0)(0.55,0)(0.55,0.75)(0.125,0.75)(0.125,0)
  \polyline(.3375,0)(.3375,0.75)
  \polyline(0.6,0.375)(0.925,0.375)
  \end{picture}%
}
\makeatother

\begin{document}

$\vdash\cvdash$

$\Vdash\cVdash$

$\Vvdash\cVvdash$

\end{document}

在此处输入图片描述

答案2

这是基于该turnstile软件包的版本。左侧是您在问题中使用的三个旋转门的标准版本。右侧是使用该软件包\makever命令的修改版本的版本:

\documentclass{article}
\usepackage{turnstile,calc}
\newcommand\mysststile{% single vertical with fins pointing backwards
  \let\oldmakever\makever
  \let\makever\mymakever
  \sststile{}{}%
  \let\makever\oldmakever}
\newcommand\mydststile{% double turnstile with closed top
  \let\oldmakever\makever
  \let\makever\mymakever
  \dststile{}{}%
  \let\makever\oldmakever}
\newcommand\mytststile{% triple turnstile with closed top
  \let\oldmakever\makever
  \let\makever\mymakever
  \tststile{}{}%
  \let\makever\oldmakever}
\newcommand{\mymakever}[4]
{% modified from \makever command
  \setlength\fboxsep{0pt}%
  \setlength\fboxrule{#2}%
  \ifthenelse{\equal{#1}{s}}{%
    \rule[.5#3-\fboxrule]{#4}{#2}%
    \hspace*{-2\fboxrule}%
    \makebox[\fboxrule]{\rule[-.5#3]{#4}{#2}}%
    \rule[-0.5#3]{#2}{#3}%
  }{}
  \ifthenelse{\equal{#1}{d}}{\fbox{%
      \rule[-0.5#3+\fboxrule]{0pt}{#3-2\fboxrule}%
      \hspace{#4}%
      \rule[-0.5#3+\fboxrule]{0pt}{#3-2\fboxrule}%
    }}{}
  \ifthenelse{\equal{#1}{t}}{\fbox{%
      \rule[-0.5#3+\fboxrule]{0pt}{#3-2\fboxrule}%
      \hspace{#4}%
      \rule[-0.5#3+\fboxrule]{#2}{#3-2\fboxrule}%
      \hspace{#4}%
      \rule[-0.5#3+\fboxrule]{0pt}{#3-2\fboxrule}%
    }%
  }{}%
}

\begin{document}

$\sststile{}{}\; \mysststile$

$\dststile{}{}\; \mydststile$

$\tststile{}{}\; \mytststile$

\end{document}

旋转闸门变化

编辑

校正高度,以便修改后的旋转栅门中的垂直规则与所有三个符号的原始高度和深度相匹配,并确保三个符号的高度也相等(因此)。

相关内容