
Actualmente, estoy representando tensores de segundo y cuarto orden con esto (tomado de alguien, y realmente no entiendo cómo funciona):
% tensor 2:
\newcommand{\tend}[1]{\oalign{\mbox{\boldmath$#1$}\crcr\hidewidth$\scriptscriptstyle\sim$\hidewidth}}
%tensor 4:
\newcommand{\tenq}[1]{\tend{\tend #1}\vphantom{#1}}
Que se parece a esto:
No me gusta mucho el resultado: la negrita es extraña, las escalas son malas, hay demasiado espacio para el tensor de cuarto orden... Encontré el paquete untertilde, que parece más robusto para el tensor de segundo orden, pero no veo cómo para hacer el cuarto pedido a partir de él. También encontré este tema,negrita ancha, que no abordan el apilamiento de símbolos de cuarto orden.
¿Existe una forma sencilla y elegante de hacerlo? Mi principal preocupación aquí es la coherencia en negrita para la tilde y la letra, y un espaciado vertical adecuado de cuarto orden.
Gracias
Respuesta1
Aquí uso pilas para colocar recursivamente \sim
debajo del argumento, según el valor del argumento opcional. En la definición, [1pt]
es el espacio inferior del argumento y [0pt]
es la separación vertical entre \sim
caracteres en una pila múltiple. Estos valores se pueden modificar para adaptarlos (incluso hacerlos negativos).
No he utilizado ninguna fuente en negrita para el tensor en sí, aunque podría agregarse, si se desea, a la definición o en el momento de la invocación.
La especificación de \def\useanchorwidth{T}
dice que se debe ignorar el ancho del \sim
rebajo al establecer el espaciado horizontal. El único momento en el que esto podría ser un problema es si, por ejemplo, utilizaste invocaciones adyacentes en argumentos limitados, por ejemplo, \tenq[2]{i}\tenq[3]{j}
. Si bien la \useanchorwidth
línea podría eliminarse, en cuyo caso \tenq
los argumentos estrechos siempre ocuparían al menos el ancho de a \scriptscriptstyle\sim
, mi primer paso sería agregar \,
espacio manualmente en aquellas ocasiones muy raras en las que sea necesario.
\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}
Respuesta2
Si te gusta el primero, puedes usar la misma definición \tenq
pero usando \approx
en lugar de \sim
.
Utilice también \bm
desde el mismo paquete en lugar de \boldmath
.
MWE:
\documentclass{article}
\usepackage{amsmath,bm}
% tensor 2:
\newcommand{\tend}[1]{\hbox{\oalign{$\bm{#1}$\crcr\hidewidth$\scriptscriptstyle\bm{\sim}$\hidewidth}}}
%tensor 4:
\newcommand{\tenq}[1]{\hbox{\oalign{$\bm{#1}$\crcr\hidewidth$\scriptscriptstyle\bm{\approx}$\hidewidth}}}
\begin{document}
\[
\tend{\sigma}\neq\tenq{\Lambda}
\]
\end{document}
Respuesta3
Solo por diversión.
\documentclass{standalone}
\usepackage{amsmath,bm}
\newlength{\fillwidth}
% creates a tilde which slightly overlaps what's above and below, centered in a space \fillwidth wide
\newcommand{\flatsim}{\hbox to \fillwidth{\hfil\raisebox{0pt}[.05ex][.05ex]{$\scriptscriptstyle\bm{\sim}$}\hfil}}
\newcommand{\triple}[1]{\settowidth{\fillwidth}{$\bm{#1}$}%
\vtop{\baselineskip=0pt\hbox{$\bm{#1}$}\hbox{\rule{0pt}{.2ex}}\flatsim\flatsim\flatsim}}
\begin{document}
\triple{\sigma}
\end{document}