Discontinuo \Uparrow

Discontinuo \Uparrow

Estoy tratando de definir un guión \Uparrow: mi primer intento, usando tikz, consiste simplemente en dibujar dos rectángulos blancos sobre el normal \Uparrow, tratando manualmente de encontrar una buena posición de los rectángulos.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}

\newcommand{\Dasheduparrow}{
\begin{tikzpicture}[x=1, y=1]
\node (0,0) [inner sep=0] {$\Uparrow$};
\fill[fill=white] (-3,0.5) rectangle (2,-1);
\fill[fill=white] (-3,-2) rectangle (2,-3.5);
\end{tikzpicture}}

Escribiendo ahora

\begin{document}
Text $\Dasheduparrow$ $\Downarrow$ $\Uparrow$ text.
\end{document}

entiendo esto

1

y estoy bastante satisfecho con el resultado. Sin embargo, tengo tres preguntas:

  1. ¿Cómo conseguir la misma alineación de lo normal \Downarrowy \Uparrow? Mi nuevo símbolo está alineado con la línea base del texto, mientras que los dos predeterminados están un poco desplazados hacia abajo.
  2. ¿Cómo hacer que este nuevo símbolo se pueda estirar correctamente? Al hacer \LARGE Text $\Dasheduparrow$ $\Downarrow$ $\Uparrow$ text.la salida es 2 donde es evidente que el subyacente \Uparrowse ha ampliado, mientras que los rectángulos blancos no.
  3. ¿Existe una solución mejor que la que propuse?

Respuesta1

RESPUESTA REVISADA

El OP comenta que, con mi respuesta original, los espacios no se escalan en diferentes tamaños de fuente (y estilos matemáticos). Esto se puede remediar prescindiendo tikzy empleando mi stackenginepaquete, mientras se escala el tamaño del espacio con el estilo matemático (usando el [Local-Mathstyle ex] scalereldel paquete \LMexen lugar de cmo ptcomo la dimensión de las superposiciones del rectángulo blanco).

Para responder a otra pregunta del OP, la \ThisStyle{...\SavedStyle...}sintaxis permite que el estilo matemático actual se lleve a una construcción donde normalmente se perdería, en este caso, en el \hboxque se está \vcentereditando y apilando. Es equivalente a un glorificado \mathchoice, pero con frecuencia reducirá la cantidad de escritura necesaria en una cantidad significativa.

\documentclass{article}
\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage{scalerel,stackengine,xcolor}
\newcommand{\Dasheduparrow}{\ThisStyle{\vcenter{\hbox{$%
\stackengine{0.45\LMex}{\stackengine{-.15\LMex}{$\SavedStyle\Uparrow$}
  {\textcolor{white}{\rule{1.1\LMex}{0.3\LMex}}}{O}{c}{F}{T}{L}%
 }{\textcolor{white}{\rule{1.1\LMex}{0.3\LMex}}}{O}{c}{F}{T}{L}%
$}}}}
\begin{document}
Text $\Dasheduparrow$ $\Downarrow$ $\Uparrow$ text.

$\Dasheduparrow \scriptstyle \Dasheduparrow \scriptscriptstyle \Dasheduparrow$

\LARGE
Text $\Dasheduparrow$ $\Downarrow$ $\Uparrow$ text.

\end{document}

ingrese la descripción de la imagen aquí

RESPUESTA ORIGINAL

Aquí, comienzo con las definiciones del OP.

Sin embargo, luego \vcenterlo centro en el eje matemático y también uso scalerelfunciones para preservar el estilo matemático.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{scalerel}
\newcommand{\Dasheduparrow}{\ThisStyle{\vcenter{\hbox{$
\begin{tikzpicture}[x=1, y=1]
\node (0,0) [inner sep=0] {$\SavedStyle\Uparrow$};
\fill[fill=white] (-3,0.5) rectangle (2,-1);
\fill[fill=white] (-3,-2) rectangle (2,-3.5);
\end{tikzpicture}$}}}}
\begin{document}
Text $\Dasheduparrow$ $\Downarrow$ $\Uparrow$ text.

$\Dasheduparrow \scriptstyle \Dasheduparrow \scriptscriptstyle \Dasheduparrow$
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Una solución rápida (puede ser un poco sucia):

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz,calc}

\newcommand{\Dasheduparrow}{
\begin{tikzpicture}[x=1, y=1]
\node (0,0) [inner sep=0] {$\Uparrow$};
\fill[fill=white] (-3,0.5) rectangle (2,-1);
\fill[fill=white] (-3,-2) rectangle (2,-3.5);
\end{tikzpicture}}

\begin{document}
Text \parbox{\widthof{$\Dasheduparrow$}}{$\Dasheduparrow$} $\Downarrow$ $\Uparrow$ text.
\end{document}

ingrese la descripción de la imagen aquí

Donde he usado a parboxpara centrar su contenido.

\parbox{\widthof{$\Dasheduparrow$}}{$\Dasheduparrow$}

Otra posibilidad es utilizar el comando de centrado matemático:

\vcenter{\hbox{\Dasheduparrow}}

información relacionada