¿Cómo crear nuevos símbolos como estos solo con códigos?

¿Cómo crear nuevos símbolos como estos solo con códigos?

Necesito algunos símbolos nuevos y no tengo idea de cómo crearlos. Intenté averiguar si estos símbolos ya estaban en un paquete LaTeX pero no estaba. Así que finalmente pregunto aquí.

Cada respuesta será de gran ayuda para mí porque soy un novato en el uso de TeX.

Los comandos que quiero se usarán en modo matemático. Quiero tres comandos, pero dos de ellos son sólo variantes del otro llamado \lrod{ }. El nombre proviene de la herramienta de radiestesia 'L-rod', que se agarra con la mano izquierda.

  1. \lrod{ }. La barra cuya punta izquierda se doblaba perpendicularmente. Vea la imagen a continuación.
  2. \rrod{ }. La versión del lado derecho de \lrod{ }.
  3. \stapler{ }. La versión de ambos lados de \lrod{ }.

\lrod{ }toma como argumento una letra o una cadena de letras. Luego nos da la (cadena de) letras cubiertas por la 'varilla L izquierda' de la longitud horizontal adecuada encima de ella. Es decir, si escribo

$\lrod{a}$, $\lrod{abc}$ and $\lrod{a \vphantom b},

entonces debería obtener lo siguiente: /El ejemplo de lrod

Como puedes ver, la altura superior debe ser diferente para cada letra. Pero si uso \vphantom, debería poder solucionarlo.

Además, me gustaría poder recortar por mi cuenta la longitud de cada segmento \lrod: el segmento vertical largo y el horizontal corto. Entonces, por favor, no me des una respuesta usando una imagen en pdf, sino solo usando los códigos.

Los comandos \rrod{ }y \stapler{ }se pueden describir de manera similar. Aquí hay una imagen de ejemplo.

ejemplo-símbolos

Como puede ver, la altura y el ancho superiores de tres símbolos deben ser iguales para la misma letra.

Finalmente, el ancho de los símbolos tiene que ser ligeramente más estrecho que el de la letra de abajo, para que dejen espacios entre ellos cuando escribo, digamos, lo siguiente.

$\lrod{b}\rrod{b}\stapler{b}$

Muchas gracias.

Respuesta1

Tu \stapleres básicamente la macro \overbracketdefinida por mathtools. El paquete también permite modificar el ancho de las reglas. El ancho predeterminado es algo grande, así que lo hago más pequeño. Defino lrody \rrodde manera análoga a la definición de\overbracket

\documentclass{article}

\usepackage{mathtools}

\newcommand*{\stapler}[1]{{\overbracket[.4pt][.4\fontdimen5\textfont2]{#1}}}

\makeatletter
\newcommand*{\lrod}[1]{%
   \vbox{\m@th\ialign{##\crcr
          \downbracketend{.4pt}{.4\fontdimen5\textfont2}%
          \leaders \vrule \@height .4pt \@depth \z@ \hfil
        \crcr
          \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
          $\displaystyle{#1}$%
        \crcr}}%
}

\newcommand*{\rrod}[1]{%
   \vbox{\m@th\ialign{##\crcr
          \leaders \vrule \@height .4pt \@depth \z@ \hfil
          \downbracketend{.4pt}{.4\fontdimen5\textfont2}%
        \crcr
          \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
          $\displaystyle{#1}$%
        \crcr}}%
}

\makeatother

\begin{document}

$\lrod{a}$
$\lrod{\vphantom{b}a}$
$\lrod{b}$
$\lrod{ab}$
$\lrod{abc}$

\medskip
$\rrod{a}$
$\rrod{\vphantom{b}a}$
$\rrod{b}$
$\rrod{ab}$
$\rrod{abc}$

\medskip
$\stapler{a}$
$\stapler{\vphantom{b}a}$
$\stapler{b}$
$\stapler{ab}$
$\stapler{abc}$

\end{document}

ingrese la descripción de la imagen aquí

Adopté el parámetro delante \fontdimen5\textfont2del mathtoolscódigo. Puede modificarlo para adaptarlo a sus necesidades.

Respuesta2

A continuación se proporciona su símbolo dibujando las reglas usando LaTeX \ruledespués de medir el tamaño del argumento usando \sbox(dentro de \mathpalettepara permitir subíndices y superíndices).

\documentclass[]{article}

\makeatletter
\newcommand*\stapler@ht{.2ex} % height of the ticks on both ends
\newcommand*\stapler@wd{.1ex} % thickness of the rules
\newcommand*\stapler@dv{.2ex} % padding vertically between argument and symbol
\newcommand*\stapler@di{.2ex} % padding applied on either end of the argument
\newcommand*\stapler@do{.2ex} % padding applied on either end around the symbol
\newsavebox\stapler@box
\newif\ifstapler@left
\newif\ifstapler@right
\newcommand*\@stapler[2]
  {%
    \kern\stapler@do\relax
    \sbox\stapler@box{$#1\kern\stapler@di\relax#2\kern\stapler@di\relax$}%
    \ifstapler@left
      \rule
        [\dimexpr\ht\stapler@box+\stapler@dv]
        {\stapler@wd}
        {\dimexpr\stapler@ht+\stapler@wd/2}%
      \kern-\stapler@wd
    \fi
    \rlap
      {%
        \rule
          [\dimexpr\ht\stapler@box+\stapler@dv+\stapler@ht-\stapler@wd/2]
          {\wd\stapler@box}
          {\stapler@wd}%
      }%
    \usebox\stapler@box
    \ifstapler@right
      \kern-\stapler@wd
      \rule
        [\dimexpr\ht\stapler@box+\stapler@dv]
        {\stapler@wd}
        {\dimexpr\stapler@ht+\stapler@wd/2}%
    \fi
    \kern\stapler@do\relax
  }
\newcommand*\stapler{\stapler@lefttrue\stapler@righttrue\mathpalette\@stapler}
\newcommand*\lrod{\stapler@lefttrue\stapler@rightfalse\mathpalette\@stapler}
\newcommand*\rrod{\stapler@leftfalse\stapler@righttrue\mathpalette\@stapler}
\makeatother

\begin{document}
$\lrod{a}\rrod{b}$

$\lrod{abc}\lrod{\vphantom{abc}a}$

$\lrod{b}\stapler{b}\rrod{b}$

$E^{\lrod{b}\stapler{b}\rrod{b}^{\lrod{a}\stapler{a}\rrod{a}}}$
\end{document}

Puede personalizar su apariencia cambiando las definiciones de los parámetros.

ingrese la descripción de la imagen aquí

información relacionada