考慮以下 MWE 中的三個二元關係符號:
\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}
編輯
正確的高度,以便修改後的十字轉門中的垂直規則與所有三個符號的原始高度和深度相匹配,並確保三個符號的高度也相等(因此)。