%3F.png)
Editor de gráficos vectoriales Ipe
Actualmente estoy evaluando elipe
editor 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 \usepackage
comando en el preámbulo de LaTeX, que se puede configurar Document properties
en el Edit
menú.
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 rarrow
y larrow
delBoxStyle
clase 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
- Dibujar
\fbox
alrededor de un objeto de textoipe
funciona perfectamente. Incluso una rotación\ovalbox
con matemáticas no constituye ningún problema\usepackage{rotating, fancybox}
en el preámbulo. No hay flechas enfancybox
, aunque. - 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.
- 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 lasipe
limitaciones de los objetos de texto LaTeX mencionadas anteriormente.
matplotlib espécimen estilo caja
Caja ovalada girada 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:
EDITAR
Como OP, agregué el preámbulo anterior ipe
, junto con un archivo \usepackage{rotating}
. El ipe
objeto de texto solo contiene lo siguiente para generar la flecha de texto inclinada:
\begin{turn}{56}
\rightarrowbox{\Large\textbf{yahoo!}}
\end{turn}