3

I am trying to create a custom binary operator from < with an arc convex upwards below it. I found \scoh from package smll a sensible way to model the latter, but I cannot figure out how to stack them close enough. My current attempt,

\mathrel{\raisebox{-1em}{$<$}\atop\raisebox{1em}{$\scoh$}}

still does not bring the characters sufficiently close enough; if I try to increase shifts, the characters still refuse to go closer, but only line height increases; apparently, \atop does not want the outline boxes of characters to overlap. How do I bring them close enough, to the \leqslant amount of distance (and preferrably with sensible capline and baseline, so that the usage of the character does not push the line far away from the neighbouring lines)?

This is the closest distance I could achieve:

enter image description here

\documentclass{article}
\usepackage{amsmath,amssymb,amsthm,cmll,lipsum}

\begin{document}
\lipsum[1]$\mathrel{\raisebox{-1em}{$<$}\atop\raisebox{1em}{$\scoh$}}$\lipsum[1]
\end{document}
2

2 Answers 2

2

Here is one possible option.
The values 0.45ex and -0.45ex align the < symbol and the arc precisely. You can fine-tune them slightly to suit your taste or font.

\documentclass{article}
\usepackage{amsmath,amssymb,cmll,lipsum}

\newcommand{\larc}{%
  \mathrel{%
    \ooalign{%
      \raisebox{0.45ex}{$<$}\cr
      \raisebox{-0.45ex}{$\scoh$}\cr
    }%
  }%
}

\begin{document}
\lipsum[1][1-3] $a \larc b$ \lipsum[1][4-5]

$a \larc b\quad a < b \quad a \leqslant b$
\end{document} 

enter image description here

2
  • 1
    \ooalign is for superimposing, not for stacking. Commented 20 hours ago
  • Thank you, @egreg for your comment. You're right. Still, it works well enough for this use case — at least in these tests. Commented 11 hours ago
2

The \scoh symbol has a large height. We can move it to the baseline and remove the excess height.

\documentclass{article}
\usepackage{amsmath,amssymb,amsthm,cmll,lipsum}

\newcommand{\fixscoh}{%
  \raisebox{-0.2\height}[0.35\height][0pt]{$\scoh$}%
}
\NewDocumentCommand{\lessscoh}{}{%
  \mathrel{\vcenter{\offinterlineskip\ialign{##\cr$<$\cr\fixscoh\cr}}}%
}

\begin{document}

abc de $\lessscoh$ abc de

\end{document}

output

In context

Context

If you plan to use this also in subscripts, here's the needed change. We also get the reverse symbol for free.

\documentclass{article}
\usepackage{amsmath,amssymb,amsthm,cmll,lipsum}

\makeatletter
\newcommand{\fixscoh@}[1]{%
  \raisebox{-0.2\height}[0.35\height][0pt]{$\m@th#1\scoh$}%
}
\NewDocumentCommand{\lessscoh}{}{%
  \mathrel{\mathpalette\lgscoh@{<}}%
}
\NewDocumentCommand{\greaterscoh}{}{%
  \mathrel{\mathpalette\lgscoh@{>}}%
}
\newcommand{\lgscoh@}[2]{%
  \vcenter{\offinterlineskip\ialign{##\cr$\m@th#1#2$\cr\fixscoh@{#1}\cr}}%
}

\begin{document}

$a \lessscoh b_{a \lessscoh b}$ $a \greaterscoh b_{a \greaterscoh b}$

abc de $\lessscoh$ abc de $\greaterscoh$ abc de

\lipsum[1][1-3] $a\lessscoh b$ \lipsum[1][4-5]

\lipsum[1][1-3] $a\greaterscoh b$ \lipsum[1][4-5]

\end{document}

scaling symbols

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.