3

I am using $\overset{.}{-}$ for the primitive recursive function between natural numbers such that $m\overset{.}{-}n$ is m minus n if m>=n and otherwise 0. Is there a better and more canonical alternative for a mathematical text?

1

4 Answers 4

1

A stack is an option. The vertical gap between the . and - is set with the argument that is currently {-1pt}.

\documentclass{article}
\usepackage{amsmath,stackengine}
\def\prf{\ensurestackMath{\mathbin{\stackengine{-1pt}{-}{.}{O}{c}{F}{F}{S}}}}
\begin{document}
$m \prf n$ is $m$ minus $n$ if $m\geq n$ and otherwise $0$.
\end{document}

enter image description here

3

Only a few math fonts provide the symbol and importing it from them might clash with the other symbols.

You can build it yourself:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\prc}{\mathbin{\mathpalette\prc@inner\relax}}
\newcommand{\prc@inner}[2]{%
  \vbox{\offinterlineskip\m@th
    \ialign{%
      ##\cr
      \hidewidth\raisebox{-1.5\height}[0pt][0pt]{$#1.$}\hidewidth\cr
      $#1-$\cr
    }%
  }%
}
\makeatother

\begin{document}

\[
x\prc y-\sum_{i=a\prc b}^{n}a_i
\]

\end{document}

As you see, it scales well in subscripts. Modify the 1.5 factor if the distance does not suit you.

enter image description here

A possible improvement, suggested by Barbara Beeton, is to compare the symbol with \div. The dot would be slightly smaller, but we can scale it.

\documentclass{article}
\usepackage{amsmath,graphicx}

\makeatletter
\newcommand{\prc}{\mathbin{\mathpalette\prc@inner\relax}}
\newcommand{\prc@inner}[2]{%
  \vbox{\offinterlineskip\m@th
    \halign{%
      ##\cr
      \hidewidth
      \raisebox{-1.45\height}[0pt][0pt]{\scalebox{1.2}{$#1.$}}%
      \hidewidth\cr
      $#1-$\cr
    }%
  }%
}
\makeatother

\begin{document}

\[
x\prc y-\sum_{i=a\prc b}^{n}a_i \quad {\prc}{\div}
\]

\end{document}

enter image description here

3
  • it would be reasonable to use the existing division sign as a model. set this next to a division sign and see if the height of the dots is comparable. Mar 25, 2017 at 2:35
  • @barbarabeeton You might enjoy the edit.
    – egreg
    Mar 25, 2017 at 9:03
  • very nice demonstration. dot is slightly smaller on the construct, but "good enough for government work". Mar 25, 2017 at 12:38
2

enter image description here

\documentclass{article}
\usepackage{MnSymbol}
\begin{document}
$x\dotminus y$
\end{document}

As Barbara points out in the comments, MnSymbol replaces all symbols, which has the advantage that the symbols will be similar in style. If you want to access just this single symbol, you have to extract the relevant parts of MnSymbol.sty.

\documentclass{article}
% http://tex.stackexchange.com/a/36088
\DeclareFontFamily{U}{MnSymbolC}{}
\DeclareFontShape{U}{MnSymbolC}{m}{n}{
    <-6>  MnSymbolC5
   <6-7>  MnSymbolC6
   <7-8>  MnSymbolC7
   <8-9>  MnSymbolC8
   <9-10> MnSymbolC9
  <10-12> MnSymbolC10
  <12->   MnSymbolC12}{}
\DeclareSymbolFont{MnSyC}{U}{MnSymbolC}{m}{n}
\DeclareMathSymbol{\dotminus}{\mathbin}{MnSyC}{24}
\begin{document}
$x\dotminus y$
\end{document}
3
  • MnSymbol replaces all symbols. if only one symbol is wanted, this gives an approach on how to do it: Importing a single symbol from a different font Mar 24, 2017 at 18:49
  • @barbarabeeton Thanks for pointing this out. I've added the code for picking just this single symbol from the font. I'm not sure that this is a good idea since it will not fit the other symbols; even a plain minus looks different.
    – gernot
    Mar 24, 2017 at 23:40
  • 1
    the problem with replacing all symbols is that they may not harmonize well with the text font being used. certainly the MnSymbol fonts do not look good with computer modern; they were designed to complement something else, though i've forgotten what. the stix fonts are designed to go with times or a times clone. etc., etc. care is needed. Mar 25, 2017 at 2:32
1

enter image description here

\documentclass{article}
\usepackage{mathabx}
\begin{document}
$x\dotdiv y$
\end{document}

As Enrico points out in the comments, mathabx replaces all symbols, which has the advantage that the symbols will be similar in style. If you want to access just this single symbol, you have to extract the relevant parts of mathabx.sty.

\documentclass{article}
\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{
      <5> <6> <7> <8> <9> <10> gen * mathb
      <10.95> mathb10 <12> <14.4> <17.28> <20.74> <24.88> mathb12
      }{}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
\DeclareMathSymbol{\dotdiv}{2}{mathb}{"01}
\begin{document}
$x\dotdiv y$

\end{document}

6
  • Unfortunately your sleek solution does not combine with my other packages. Try e.g. the Small WE below which does not compile \documentclass[]{article} \usepackage{amsthm} \usepackage{amsmath} \usepackage{amssymb} \usepackage{mathabx} \begin{document} \dotdiv \end{document}
    – Sapiens
    Mar 23, 2017 at 16:42
  • @FrodeBjørdal Your small example compiles if you use \dotdiv in math mode, i.e., $\dotdiv$. But this is the normal expected behaviour.
    – gernot
    Mar 23, 2017 at 16:45
  • @FrodeBjørdal: See (1) in Documents with typical LaTeX errors.
    – Werner
    Mar 23, 2017 at 16:48
  • @Gernot You are right. So there was a conflict with some other package in my document as I was trying out your definition within the scope of dollar signs.
    – Sapiens
    Mar 23, 2017 at 16:59
  • Note that mathabx changes all symbols, so it may not be good, particularly if the document uses math fonts different from Computer Modern (mathabx is not that different from CM, but quite distinctive anyhow).
    – egreg
    Mar 24, 2017 at 23:42

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.