Рассмотрим три знака бинарного отношения в следующем ММЭ:
\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}
РЕДАКТИРОВАТЬ
Исправьте высоту так, чтобы вертикальные линии в измененных турникетах соответствовали высоте и глубине линий в оригиналах для всех трех символов, и убедитесь, что высоты всех трех также равны (как следствие).