%3F.png)
Ipe ベクターグラフィックエディタ
私は現在、ipe
ベクターグラフィックエディタ非常に魅力的な特徴はテキストオブジェクト内でLaTeXコマンドを使用できる\makebox
これらは、(ラベルの場合) またはミニページの場合、内部で合法である限り、使用できます。ただし、ハイパーリンクを生成するコマンドや外部画像を含めるコマンドなど、PDF への非線形変換を伴うコマンドは使用できません。ただし、追加の LaTeX パッケージで定義されている LaTeX コマンドは、メニューで\usepackage
設定できる LaTeX プリアンブルのコマンドに含めることができます。Document properties
Edit
質問
私が探しているのは、LaTeXコマンドを使用して、左または右の矢印型のボックス内にテキストを囲む方法です。およびのipe
テキストボックスを作成する単純なLaTeXパッケージです。rarrow
larrow
BoxStyle
クラス内matplotlib
(以下のサンプルを参照) で十分です。他のテクニックも歓迎します。LibreOffice Impress と PowerPoint では、テキストにこのような矢印図形 (曲線のものも含む) も用意されています。
試み
\fbox
テキストオブジェクトの周囲に描画すると、ipe
問題なく動作します。回転した図形でも、プリアンブルで\ovalbox
は問題ありません。矢印はありません。\usepackage{rotating, fancybox}
fancybox
、 けれど。- 私は矢印型のボックスを提供するLaTeXパッケージを探しました。CTANの「ボクシング」にリストされているパッケージおそらく私はそれを見ていますが、そのようなパッケージはリストされていないようです。
- ここではみんなTikZの矢印を使っているようなので、試してみましたこの例そしてこの例内部
ipe
。これらの失敗した TikZ 実験の結果は、下の画像に示されています。これは、ipe
前述の LaTeX テキスト オブジェクトの制限のために失敗します。
matplotlib ボックススタイル標本
イペの回転楕円ボックス
TikZ矢印はipeでは機能しません
答え1
これは、LaTeX 画像モードに基づいた「矢印ボックス」マクロです。これでうまくいくでしょうか?
\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}
出力:
編集
OP として、私は に上記の前文を追加しipe
、さらに を追加しました\usepackage{rotating}
。ipe
傾斜したテキスト矢印を生成するために、テキスト オブジェクトには次のものだけが含まれています。
\begin{turn}{56}
\rightarrowbox{\Large\textbf{yahoo!}}
\end{turn}