РЕДАКТИРОВАТЬ

РЕДАКТИРОВАТЬ

Рассмотрим три знака бинарного отношения в следующем ММЭ:

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

$\vdash$

$\Vdash$

$\Vvdash$

\end{document}

Как закрыть пробелы между вертикальными чертами в двух последних знаках отношения так, чтобы во втором горизонтальная линия выступала из прямоугольника, а в третьем — из двух выровненных прямоугольников? Как мне поместить горизонтальные черты на вертикальную черту первого бинарного знака отношения, чтобы он был как новообразованный второй знак отношения без его самой левой вертикальной черты?

Будет полезно, если решение позволит вносить коррективы.

Вот ссылка на любительский рисунок, который намекает на то, что я пытаюсь описать:

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}

вариации турникета

РЕДАКТИРОВАТЬ

Исправьте высоту так, чтобы вертикальные линии в измененных турникетах соответствовали высоте и глубине линий в оригиналах для всех трех символов, и убедитесь, что высоты всех трех также равны (как следствие).

Связанный контент