La creación de sustitutos de modo no matemático para overset y underset no depende del paquete amsmath

Creating Non Math Mode Substitutes

Solución:

Cómo implementar un textunderset macro y su compañero textoverset depende de sus necesidades reales. Aquí hay uno que intenta mantener el texto principal y el subíndice alineados entre sí, evitando choques entre ascendentes y descendientes.

 documentclass {artículo}  makeatletter  newcommand { dynscriptsize} { [correo electrónico protegido]  fontsize { [correo electrónico protegido]} { [correo electrónico protegido]}  selectfont}  makeatother  newcommand  textunderset [2] {%  Leavevmode  vtop { offinterlineskip  halign {%  hfil ##  hfil  cr% center  strut # 2  cr  noalign { kern-.3ex}  dynscriptsize  strut # 1  cr}%}%}  newcommand  textoverset [2] {%  leavevmode  vbox { offinterlineskip  halign {%  hfil ##  hfil  cr% center  dynscriptsize  strut # 1  cr  noalign { kern-.3ex}  strut # 2  cr}%}%}  begin {document} Abc  textunderset {du} {axy}  textunderset {ud} {axy} def  bigskip Abc  textoverset {du} {axy}  textoverset {ud} {axy} def  bigskip Abc  textoverset {du} {axy}  textunderset {ud} {axy} def  end {documento}

ingrese la descripción de la imagen aquí




limits es una primitiva TeX utilizada en la especificación de superíndices y subíndices para operadores matemáticos.



Aún puede usar el modo matemático, pero simplemente forzar que los argumentos se compongan en modo texto mediante alguna manipulación del original overset y definiciones de subconjunto:



 overset y  underset sin AMSmath

 documentclass {artículo}  usepackage {amsmath}% http://ctan.org/pkg/amsmath  begin {document}  mbox {}  phantom {Sin}  llap {Con}  verb | amsmath |: $  overset { text {x}} { text {a}} ~  quad ~  underset { text {x}} { text {a}} $  makeatletter  renewcommand { overset} [2] { suremath {  mathop { kern  [correo electrónico protegido]  mbox {# 2}}  limits ^ { mbox { scriptsize # 1}}}}  renewcommand { underset} [2] { suremath { mathop { kern  [correo electrónico protegido]  mbox {# 2}}  limits _ { mbox { scriptsize # 1}}}}  makeatother  mbox {} Sin  verb | amsmath |:  overset {x} {a} ~  quad ~  underset {x} {a}  end {document}

En el ejemplo mínimo anterior, la redefinición de overset y underset style establece los dos argumentos en modo matemático, aunque no es necesario especificarlo explícitamente. Además, dado que no está interesado en una aplicación en modo matemático, se ha eliminado el espaciado de relación binaria.