Cómo crear una nueva notación de acentos

Cómo crear una nueva notación de acentos

Necesito usar una nueva notación de acentos para indicar una operación que defino yo mismo. Es una barra con dos puntas en el extremo izquierdo/derecho.

\documentclass{article}
\begin{document}
\[myaccents{A}\]
\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

\documentclass{article}
\usepackage{amsmath,xcolor}
\begin{document}
\[\overset{\textcolor{red}{\cdot}\!-\!\textcolor{red}{\cdot}}{A}\]
\end{document}

O para simplificar con un \myaccentcomando:

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

\def\myaccent#1{\overset{\textcolor{red}{\cdot}\!-\!\textcolor{red}{\cdot}}{#1}}

\begin{document}
\[\myaccent{A}\]
\end{document}

MWE

La distancia vertical de la barra se puede ajustar agregando un \raisebox. También podría verse mejor con barras más pequeñas y caracteres verticales porque las barras están en cursiva.pareceno centrado. Ejemplo:

\documentclass{article}
\usepackage{xcolor}
\usepackage{amsmath}
\def\myaccent#1{\overset{%
\hskip0pt   
\raisebox{-.2ex}[0ex][0ex]{%   
$_{\textcolor{red}{\cdot}\text{-}\textcolor{red}{\cdot}}$%
}}{\text{#1}}}
\begin{document}
\[\myaccent{t} \neq \myaccent{\i} \neq \myaccent{m} \neq \myaccent{e} \]
\[\myaccent{T} = \myaccent{I} = \myaccent{M} = \myaccent{E} \]
\end{document}

\begin{document}
\[\myaccent{t} \myaccent{m} \myaccent{M}  \myaccent{g} \]
\end{document}

MWE

Para hacer que la barra sea lo más larga posible, se puede usar el carácter \widthtof{}del paquete calc. En el ejemplo acorté esta regla 2ptdebido a los puntos. Quizás debería ser un poco más corto, pero la regla es muy poco en caracteres estrechos como \i. Ajuste como desee:

\documentclass{article}
\usepackage{xcolor,calc}
\usepackage{amsmath}
\def\myaccent#1{\overset{
\hskip0pt % add 2 or 3 pt if you change \text{#1} to #1 to use italics 
\raisebox{-.3ex}[0ex][0ex]{%   
$_{\textcolor{red}{\cdot}\rule[.35ex]{\widthof{#1}-2pt}{.4pt}\textcolor{red}{\cdot}}$%
}}{\text{#1}}}
\begin{document}
\[\myaccent{t} \neq \myaccent{\i} \neq \myaccent{m} \neq \myaccent{e} \]
\[\myaccent{T} = \myaccent{I} = \myaccent{M} = \myaccent{E} \]
\end{document}

MWE3

Respuesta2

Si entiendo la pregunta, debes poner tu acento encima de las variables matemáticas. Por lo general, están en cursiva (cursiva matemática). La \mathaccentprimitiva hace la colocación horizontal del acento por kern entre la base y \skewchar. Podemos simular este comportamiento mediante macros. Entonces tu acento se verá mejor por encima de las variables en cursiva.

\mathchardef\myskewchar="717F 

\def\myaccent#1{\vbox{\offinterlineskip \lineskip=-.066em
   \setbox0=\hbox{$#1\myskewchar$}\dimen0=\wd0
   \setbox0=\hbox{$#1\kern0pt\myskewchar$}\advance\dimen0 by-\wd0
   \setbox0=\hbox{$#1$}\dimen1=\wd0 \advance\dimen1 by-.3em
                       \ifdim\dimen1<.2em \dimen1=.2em \fi
   \ialign{\hfil##\hfil\cr \hbox to0pt{\hss\kern2\dimen0
       ${\cdot}\hbox to\dimen1{\leaders\vrule height .28em depth-.23em\hfil}{\cdot}$%
       \hss}\cr$#1$\cr}}}

$\myaccent A \dot A + \myaccent x + \dot x + \myaccent t + \myaccent {xx}$.

skewchar02

Edité mi código para variar el ancho del acento según el ancho de la base.

Hay tres problemas que se dejan como ejercicio:

  • para agregar el color de los puntos (depende de la otra macro utilizada, OPmac, xcolor.sty, etc.)
  • complicar la macro para que funcione en subíndice y subíndice, es decir, usar \mathchoiceo \mathpalette.
  • para intentar emular el \accentcomportamiento primitivo sobre las letras en cursiva en modo texto.

información relacionada