Recolectando tirantes

Recolectando tirantes

Esta es mi primera pregunta en este sitio web. Debo decir que me está siendo muy útil visitar este sitio para aprender cómo funciona LaTeX, así que felicidades.

Entonces la pregunta es ¿cómo puedo hacer esto? Me gustaría que la solución no estuviera en tikz porque nunca la he usado. Estoy buscando algo así como una macro o similar. Esto tiene que estar en un entorno de ecuación. unirse a la abrazadera

¡Gracias!

Respuesta1

Basado en mi respuesta enCómo vincular dos términos en modo matemático, usar

\ubar{left}{middle}{right}{undertext}

donde cada término se toma en modo matemático, incluido el undertext. Los parámetros \rldp, \rlht, \rlwdy \rlbrse pueden modificar para afectar la apariencia.

\rldpes la profundidad de la barra inferior horizontal primaria

\rlhtes la altura de los puntales verticales, tanto por encima como por debajo de la barra inferior horizontal principal.

\rlwdes el ancho (grosor) de la regla

\rlbres la altura de las reglas verticales secundarias, que ciñen los términos matemáticos reales.

\documentclass{article}
\usepackage{stackengine}
\stackMath
\def\rldp{1.4ex}
\def\rlht{.8ex}
\def\rlwd{.8pt}
\def\rlbr{2pt}
\setstackgap{L}{\rldp}
\def\uvbarR#1{%
  \def\stackalignment{r}\def\stacktype{S}\stackunder[-\rlwd]{%
    \def\stackalignment{c}\def\stacktype{L}\stackunder{\ubr{#1}}{\rule{\rlwd}{\rlht}}%
  }{\setbox0\hbox{$#1$}\rule{.5\wd0}{\rlwd}}%
}
\def\uvbarL#1{%
  \def\stackalignment{l}\def\stacktype{S}\stackunder[-\rlwd]{%
    \def\stackalignment{c}\def\stacktype{L}\stackunder{\ubr{#1}}{\rule{\rlwd}{\rlht}}%
  }{\setbox0\hbox{$#1$}\rule{.5\wd0}{\rlwd}}%
}
\def\uvbar#1#2{%
  \def\stacktype{S}\def\stackalignment{c}\def\useanchorwidth{T}\stackunder[0pt]{%
    \def\stacktype{L}\setbox0\hbox{${}#1{}$}%
    \stackunder[\rldp]{{}#1{}}{\rule{\wd0}{\rlwd}}%
  }{\def\stacktype{S}\stackunder[1pt]{\rule{\rlwd}{\rlht}}{\scriptscriptstyle#2}}%
}
\def\ubr#1{\setbox2=\hbox{$#1$}\stackunder[\dimexpr\rldp-\rlht\relax]{#1}{%
  \llap{\rule{\rlwd}{\rlbr}}\rule{\wd2}{\rlwd}\rlap{\rule{\rlwd}{\rlbr}}}}
\newcommand\ubar[4]{\uvbarR{#1} \uvbar{#2}{#4} \uvbarL{#3}}
\begin{document}
$\ubar{ax}{+ by +}{cz}{h} =d$
\end{document}

ingrese la descripción de la imagen aquí

\rlwdComo sugiere egreg, puede ser deseable adelgazar las líneas mediante el uso de . Aquí está \rlwdconfigurado en 0,4 puntos.

ingrese la descripción de la imagen aquí

Respuesta2

Aquí hay una opción usando \underbrace:

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{amsmath}
\newlength{\lwidth}
\newlength{\rwidth}
\begin{document}
\begin{align*}
  \underbrace{\mathstrut zabc}{} + defg + \underbrace{\mathstrut hijklm} &= n \\[-4\jot]
  \settowidth{\lwidth}{zabc}% Left \underbrace width
  \settowidth{\rwidth}{hijklm}% Right \underbrace width
  \underbrace{\hspace{.6\lwidth} \phantom{{} + defg + {}}\hspace{.6\rwidth}}_{opqr}
  \hspace{.4\rwidth}% Due to right-alignment in align
  \mkern 6mu% Adjustment for missing =
\end{align*}
\end{document}

La longitud del contenido de las llaves izquierda y derecha se almacena \lwidthy \rwidthse utiliza para fines de espaciado dentro de la parte inferior \underbrace. Se requieren ajustes menores aquí y allá para posicionar las cosas.

\mathstrutobliga a que el contenido matemático sin descendentes tenga la misma profundidad.

Respuesta3

No perfectamente pero cerca de:

\documentclass{article}
\usepackage{mathtools}

\begin{document}

    \begin{equation*}
        \begin{aligned}
            &\underbracket{ax} +  by + \underbracket{cz} = d \\[-14pt]
            &\hphantom{a\!}%
            \underbracket{\hphantom{a+ by+ c}}
        \end{aligned} 
    \end{equation*}

\end{document}

Buena suerte

ingrese la descripción de la imagen aquí

información relacionada