¿Cuadros de texto en forma de flecha (para usar en el editor de gráficos vectoriales ipe)?

¿Cuadros de texto en forma de flecha (para usar en el editor de gráficos vectoriales ipe)?

Editor de gráficos vectoriales Ipe

Actualmente estoy evaluando elipeeditor de gráficos vectoriales. Una característica muy atractiva es quese pueden usar comandos LaTeX dentro de sus objetos de textosiempre y cuando estos sean legales dentro de una \makebox(para etiquetas) o dentro de una minipágina (para minipáginas). Sin embargo, no se pueden utilizar comandos que impliquen una traducción no lineal a PDF, como comandos para generar hipervínculos o incluir imágenes externas. No obstante, los comandos LaTeX que están definidos en paquetes LaTeX adicionales se pueden incluir con un \usepackagecomando en el preámbulo de LaTeX, que se puede configurar Document propertiesen el Editmenú.

Pregunta

Lo que estoy buscando es una forma de encerrar texto dentro de un cuadro con forma de flecha izquierda o derecha con comandos LaTeX en ipe? Un paquete LaTeX simple que crearía cuadros de texto muy parecidos a rarrowy larrowdelBoxStyleclase enmatplotlib(ver muestra a continuación) estaría bien. Otras técnicas también son bienvenidas. LibreOffice Impress y PowerPoint también ofrecen este tipo de formas de flecha con texto, incluso curvas.

Intentos

  1. Dibujar \fboxalrededor de un objeto de texto ipefunciona perfectamente. Incluso una rotación \ovalboxcon matemáticas no constituye ningún problema \usepackage{rotating, fancybox}en el preámbulo. No hay flechas enfancybox, aunque.
  2. Busqué un paquete LaTeX que ofreciera cuadros con forma de flecha entrelos paquetes listados entre "boxeo" en CTAN. Quizás lo estoy revisando, pero no aparece ningún paquete de ese tipo en la lista.
  3. Todo el mundo aquí parece usar flechas TikZ, así que lo intenté.este ejemployeste ejemploadentro ipe. El resultado de estos experimentos fallidos de TikZ se muestra en la imagen inferior. Falla debido a las ipelimitaciones de los objetos de texto LaTeX mencionadas anteriormente.

matplotlib espécimen estilo caja

matplotlib espécimen estilo caja

Caja ovalada girada en ipe

caja ovalada girada en ipe

Las flechas TikZ no funcionan en ipe

Las flechas TikZ no funcionan en ipe

Respuesta1

Aquí hay una macro de "cuadro de flechas" basada en el modo de imagen LaTeX. ¿Quizás esto funcione para ti?

\documentclass{article}

\makeatletter
\newdimen\ab@texttotalheight
\newdimen\ab@arrowstemwidth
\newdimen\ab@arrowheadwidth
\newdimen\ab@arrowwidth
\newdimen\ab@arrowstemheight
\newdimen\ab@arrowheight
\newcommand\rightarrowbox{\@arrowbox+}
\newcommand\leftarrowbox{\@arrowbox-}
\newcommand\@arrowbox[2]
{%
  \begingroup
    \setbox\@tempboxa=\hbox{#2}%
    \ab@texttotalheight\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax
    \ab@arrowstemwidth\dimexpr\wd\@tempboxa\relax
    \ab@arrowheadwidth\dimexpr2\fboxsep+.5\ab@texttotalheight\relax
    \ab@arrowwidth\dimexpr\ab@arrowstemwidth+\ab@arrowheadwidth\relax
    \ab@arrowstemheight\dimexpr2\fboxsep+\ab@texttotalheight\relax
    \ab@arrowheight\dimexpr4\fboxsep+\ab@texttotalheight\relax
    \thicklines
    \unitlength\p@
    \edef\@temp{{picture}(\strip@pt\ab@arrowwidth,\strip@pt\ab@arrowheight)\if#1-(-\strip@pt\ab@arrowwidth,0)\fi}%
    \expandafter\raisebox\expandafter{\the\dimexpr-\dp\@tempboxa-2\fboxsep\relax}
    {%
    \expandafter\begin\@temp
      \put(#1\strip@pt\@halfwidth,\strip@pt\fboxsep){\line(0,1){\strip@pt\ab@arrowstemheight}}
      \@tempdima\dimexpr2\fboxsep+\dp\@tempboxa\relax
      \@tempdimb\if#1-\dimexpr\fboxsep+\wd\@tempboxa\relax\else\fboxsep\fi\relax
      \put(#1\strip@pt\@tempdimb,\strip@pt\@tempdima){\box\@tempboxa}
      \@tempdima\dimexpr3\fboxsep+\ab@texttotalheight\relax
      \@tempdimb\dimexpr\ab@arrowstemwidth+\@halfwidth\relax
      \put(0,\strip@pt\@tempdima){\line(#11,0){\strip@pt\@tempdimb}}
      \put(0,\strip@pt\fboxsep){\line(#11,0){\strip@pt\@tempdimb}}
      \put(#1\strip@pt\ab@arrowstemwidth,\strip@pt\@tempdima){\line(0,1){\strip@pt\fboxsep}}
      \put(#1\strip@pt\ab@arrowstemwidth,0){\line(0,1){\strip@pt\fboxsep}}
      \advance\@tempdima\fboxsep
      \put(#1\strip@pt\ab@arrowstemwidth,\strip@pt\@tempdima){\line(#11,-1){\strip@pt\ab@arrowheadwidth}}
      \put(#1\strip@pt\ab@arrowstemwidth,0){\line(#11,1){\strip@pt\ab@arrowheadwidth}}
    \end{picture}%
    }%
  \endgroup
}
\begin{document}

\leftarrowbox{\Large\textsf{foo}} \rightarrowbox{\Large\textsf{foo}}
\fbox{\Large\textsf{foo}}

\bigskip

\leftarrowbox{\Large\textsf{goo}} \rightarrowbox{\Large\textsf{goo}} 
\fbox{\Large\textsf{goo}}

\bigskip
\leftarrowbox{\Large\textsf{\strut foo}} \rightarrowbox{\Large\textsf{\strut goo}} 

\bigskip

\leftarrowbox{\Large\textsf{\begin{tabular}{l}foo\\goo\end{tabular}}}
\rightarrowbox{\Large\textsf{\begin{tabular}{l}foo\\goo\end{tabular}}}
\fbox{\Large\textsf{\begin{tabular}{l}foo\\goo\end{tabular}}}

\end{document}

Producción:

Salida de ejemplo

EDITAR

Como OP, agregué el preámbulo anterior ipe, junto con un archivo \usepackage{rotating}. El ipeobjeto de texto solo contiene lo siguiente para generar la flecha de texto inclinada:

\begin{turn}{56}
  \rightarrowbox{\Large\textbf{yahoo!}}
\end{turn}

flecha de texto inclinada

información relacionada