1

Consider the three binary relation signs in the following MWE:

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

$\vdash$

$\Vdash$

$\Vvdash$

\end{document}

How may I close the spaces between the vertical bars in the two last relation signs so that in the second the horisontal line protrudes from a rectangle and in the the third it protrudes from two aligned rectangles? How do I put horisontal bars on the vertical bar of the first binary relation sign so it is as the newly formed second relation sign without its leftmost vertical bar?

It will be useful if the solution allows adjustments.

Here is a dropbox-link to an amateurish drawing that suggests what I attempt to describe:

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

  • Could you draw a picture of what you are aiming for? Part of my confusion is that these symbols are not arrows. I guess you just mean the horizontal lines? – cfr Jul 30 '15 at 22:28
  • Yes, I mean horisontal lines and will edit. I do not know how to draw. – Sapiens Jul 30 '15 at 22:30
  • Do you mean you don't know how to draw here or a more general inability to draw? I can sympathise with either, especially the latter. But a rough sketch would do - it is, as far as I can tell, only a matter of boxes and lines so it shouldn't take too much artistic talent? If the former, you can scan a sketch and upload it. Or you can fake something in a drawing programme or with TeX or even with ASCII art. – cfr Jul 30 '15 at 22:35
  • 4
    Not everybody subscribes to dropbox. You can add the picture to the question – egreg Jul 30 '15 at 22:52
  • 1
    @cfr I logged in and even then I couldn't see the image. – Gonzalo Medina Jul 30 '15 at 23:29
5

Is this what you want?

\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}

enter image description here

  • How may I define the variants of $\nvdash$, $\nVdash$ and a corresponing strike through for $\Vvdash$? – Sapiens Aug 1 '15 at 18:50
  • 1
    @FrodeBjørdal Sorry, but this is something too large for being added here. – egreg Aug 1 '15 at 19:33
  • I am now (temporarily?) using the cancel package. Are there better solutions that merit a question? – Sapiens Aug 3 '15 at 5:06
6

Here's a version based on the turnstile package. On the left are the standard versions of the three turnstiles you used in the question. On the right are versions using a modified version of the package's \makever command:

\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}

turnstile variations

EDIT

Correct heights so the vertical rules in the modified turnstiles match the height and depth of those in the originals for all three symbols, and ensure that the heights of the three are also equal (as a consequence).

  • This is what I am after, but I do not use the turnstyle package: \documentclass[fleqn]{scrartcl} \setkomafont{disposition}{\normalfont\bfseries} \makeatletter\let\TTTemp\cap\makeatother \usepackage[greek,english]{babel} \usepackage{teubner} \makeatletter\let\cap\TTTemp\makeatother \usepackage{eurosym} \usepackage{amssymb} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{lgreek} \usepackage{graphicx} \usepackage{textcomp} \usepackage{cancel} \usepackage{mathtools} \usepackage{MnSymbol} \usepackage{centernot} \usepackage[nottoc,numbib]{tocbibind} \usepackage{bbding} \usepackage{mathtools} – Sapiens Jul 31 '15 at 1:55
  • @FrodeBjørdal OK. You don't have to use my solution, obviously. You have another answer available. My solution requires the turnstile package, as you rightly observe. I don't know why you would especially object to it, but if for some reason you don't want to use it, obviously my solution won't work for you. Nonetheless, it might be of use to somebody else with the same question and less finicky taste in packages, don't you think? That is, I can't see why this would not be a reasonable answer even if it is not a good solution for you personally. But I'm not sure if you are objecting or not. – cfr Jul 31 '15 at 2:18
  • 1
    @FrodeBjørdal I just tested with your extended preamble added and my solution works fine. I get just the same output, no errors. The only things I did was remove duplicate packages and the \makeatletter and \makeatother, all of which are superfluous. – cfr Jul 31 '15 at 2:24
  • You are right that I may use the turnstyle package, of course. However, the turnstyles you define are three times the size as the ones I have with the MnSymbol package, and the proportions between the vertical and horisontal bars are also slightly different. – Sapiens Jul 31 '15 at 12:26
  • 1
    @FrodeBjørdal You can adjust the sizes using the package but probably at that point you are better off using a different approach. Not having any idea how you plan to use these makes it a bit difficult to guess what might work best. Note that it is turnstile - stile as in the things you cross when walking rather than style as in personal flair. – cfr Jul 31 '15 at 13:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.