RE-REVISED SOLUTION (to make CENTERS of asterisks match CENTERS of \ddag
):
This revised solution allows flexibility to specify the gap between the asterisks, which will necessarily shrink them accordingly. In this MWE, I place 0pt, 3pt, and 6pt, respectively, between the cropped asterisks (and half that again above and below them), before \scalerel
'ing them to the exact vertical dimensions of the cropped \ddag
. The only subjective aspect to the solution is \cropast
and \cropddag
in which the user must crop the extra space surrounding the asterisk and double-daggar, using \addvbuffer
. But the nice thing with this approach is that, if you change fonts, one merely needs to rework the crop in the new font, and the rest of the solution follows directly from that, unaltered. I show that feature below, with this code:
\documentclass{article}
\usepackage{stackengine}
\usepackage{verbatimbox}
\usepackage{scalerel}
\parindent 0in
%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\cropast{\addvbuffer[-0.008ex -0.744ex]{*}}
\def\cropddag{\raisebox{-.02ex}{\addvbuffer[0.02ex 0.02ex]{\ddag}}}
%% for TeX Gyre Schola %%%
%\usepackage{tgschola}
%\usepackage{textcomp}
%\def\cropast{\addvbuffer[0.02ex -0.64ex]{*}}
%\def\cropddag{\raisebox{.35ex}{\addvbuffer[-0.12ex -0.35ex]{\ddag}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\newlength\tmplength
\def\stackedcropast#1{%
\stackengine{#1}{\cropast}{\cropast}{O}{c}{T}{F}{S}%
\tmplength=#1%
\tmplength=.5\tmplength%
\stackengine{\tmplength}{\usebox{\stackedbox}}{}{O}{c}{T}{F}{S}%
\stackengine{\tmplength}{\usebox{\stackedbox}}{}{U}{c}{F}{F}{S}%
}
\newcommand\textastdbl[1][0pt]{\scalerel*{$\stackedcropast{#1}$}{$\cropddag$}}
\begin{document}
\tiny cropast cropddag ddag\\
\Huge
\fboxsep=0pt\fboxrule=.02pt
\fbox{\cropast}~~\fbox{\cropddag}~~\fbox{\ddag}
\ddag\textastdbl\textastdbl[3pt]\textastdbl[6pt]\ddag x
\end{document}
The initial image below is running the code as is:
However, if the commented lines are uncommented, to activate the Tex Gyre Schola font, a slightly more complicated recropping gives the revised result for the new font, even when the original \ddag
had a large buffer space below it. The fact that the central part of the Gyre \ddag
is not symmetric with respect to the outer portion required the crop to place the \ddag
centers at 25% and 75% of the crop-box vertical position.
Here I use stacks to recursively place \sim
under the argument, based on the value of the optional argument. In the definition, the [1pt]
is the under-gap from the argument and the [0pt]
is the vertical separation between \sim
characters in a multi-stack. These values can be altered to suit (including being made negative).
I have not used any bold font for the tensor itself, though it could be added, if desired, to the definition, or at time of invocation.
The specification of \def\useanchorwidth{T}
says to ignore the width of the \sim
underset in setting the horizontal spacing. The only time that could be an issue is if you, for example, used adjacent invocations on narrow arguments, e.g., \tenq[2]{i}\tenq[3]{j}
. While the \useanchorwidth
line could be removed, in which case \tenq
with narrow arguments would always take up at least the width of a \scriptscriptstyle\sim
, my first step would instead be to manually add \,
space on those very rare occasions when needed.
\documentclass{article}
\usepackage{stackengine}
\stackMath
\newcommand\tenq[2][1]{%
\def\useanchorwidth{T}%
\ifnum#1>1%
\stackunder[0pt]{\tenq[\numexpr#1-1\relax]{#2}}{\scriptscriptstyle\sim}%
\else%
\stackunder[1pt]{#2}{\scriptscriptstyle\sim}%
\fi%
}
\begin{document}
\[
\tenq{\sigma}\neq\tenq[2]{\Lambda}\neq\tenq[3]{\Delta}\neq\tenq[4]{\psi}
\]
\end{document}
Best Answer
Rather than
\checkmark
from the amssymb package this symbols looks closure to\checked
from wasysym. You can use:to produce: