tikzpictureの横にテキストを配置する
Putting Text Side Tikzpicture
解決:
2つのアプローチがあります:
1.図の一部としてテキストを含める
内にノードを追加するだけですtikzpicture。テキストの幅を制限し、アンカーで遊んで必要な場所に配置すると便利です。例えば:
node [text width = 6cm、anchor = west、right] at(5,0){この図では、$ angle F $、$ angle B $、および$ angle E $について何と言えますか?};
2.テキストをtikzpicture環境。
このソリューションでは、TeXの場合、完全な図は次のようになることに注意する必要があります。 巨大な 文字、文の一部。その「文字」の直後にテキストを置くことができ、TeXはそれを使用して段落を作成します
begin {tikzpicture}%コード end {tikzpicture}この図では、$ angle F $、$ angle B $、および$ angle E $について何と言えますか?ただし、コードでこれを試してみると、次の奇妙な結果が得られます。
これは、この行を図に含めたためです。
clip(-4.3、-5.44)長方形(18.7,6.3);これにより、フィギュアの幅は18.7 cm、高さは6.3cmになります。この行は不要であり、安全に削除できるため、次のようになります。
この図は、「通常の」段落の一部である大きな文字として使用されていることがわかります。ただし、テキストが歪んで図の下に続くため、結果は醜いです。
これは、テキストを内部に配置することを回避できます。 parboxは、テキストを含む固定幅のボックスを生成します。 TeXは、このボックス全体を別の「大きな文字」として扱い、図の横に配置します。
begin {tikzpicture}%コード end {tikzpicture} parbox [b] {4cm} {この図では、$ angle F $、$ angle B $、$ angle E $について何と言えますか? }オプション[b]は、このボックスの「ベースライン」がどこにあるかを指定することです。段落を作成するとき、ベースラインは同じ水平線に配置されます。 tikzの写真の下部にはベースラインがあるので、[b]パーボックスのオプションで、下部でもベースラインになり、両方が整列されます。
省略した場合[b]パーボックスでは、結果のパーボックスのベースラインが中央になります。これにより、パーボックスの中央が図の下部に揃えられますが、これは醜いです。ケース1(tikz画像に埋め込まれたテキスト)と同じ出力を得るには、図のベースラインを変更し、その中央に配置する必要があります。幸運にもtikzにはこれに対する簡単なオプションがあります:
begin {tikzpicture} [baseline = 0、...残りのオプション...]%コード end {tikzpicture} hskip {1cm} parbox {4cm} {この図では、$ angleについて何と言えますかF $、$ angle B $、$ angle E $? }生産:
完全を期すために、トップアラインメントの場合も含めますが、これは他の場合よりも少し注意が必要です。トップアラインメントを得るには、上部のtikz図のベースライン、および使用[t]パーボックスのオプション。ただし、これは期待どおりに機能しません。
まず、tikzの写真。どの値を書くべきかベースラインオプション?下の境界線からのメジャーである数値、またはノードの座標を受け入れることができます。この場合、私は(コードを読んで)円が半径を持っていることを知っています4台なので使えるベースライン= 4cmですが、これはラベルに必要なスペースを考慮していません NS 上にあり、それは一般的な解決策ではありません。一般的な解決策は、オプションを与えることですベースライン=(現在のバウンディングボックス.north)。
第二に、[t]オプションparboxは、ベースラインを「そのボックスの一番上に」配置するのではなく、「そのボックスの一番上の行のベースラインに」配置します。したがって、次の図に示すように、テキストの最初の行のベースラインは図の上部の境界線に揃えられます(問題をより明確にするために図に境界線を追加しました)。
解決策は、「空の」行を最初の行として含めることです。パーボックス。それはで達成することができます vskip0pt。これにより、高さや深さのない線が生成されますが、これはパーボックスの最初の線であるため、ベースラインとして使用され、正確にそのボックスの上部にあります。これはコードです:
fbox { begin {tikzpicture} [baseline =(current bounding box.north)、...]%コード end {tikzpicture}} parbox [t] {4cm} { vskip0ptこの図では、何ができますか$ angle F $、$ angle B $、$ angle E $について言いますか? }
あなたは2つを使うことができますミニページ環境。写真をクリップする必要がある場合は、左にトリミングして説明については、pgfmanualを参照してください。
ロードする必要はありませんpgfのみtikzとあなたはあなたのコードを減らすことができます。
documentclass [10pt] {article} usepackage [utf8] {inputenc} usepackage {tikz} usetikzlibrary {arrows} pagestyle {empty} begin {document} begin {minipage} {0.5 textwidth} begin {tikzpicture } [line cap = round、line join = round、> = triangle 45、scale = .6、font = scriptsize] draw(0,0)circle(4.01cm)node [above] {$ A $}; draw(-4.01,0)node [left] {$ C $}-(0,0)-(4.01,0)node [right] {$ D $}-(-0.28,4)node [上記] {$ B $}-(-4.01,0)-(1.62,3.67)ノード[上記] {$ E $}-(4.01,0)-(-2.27,3.3)ノード[上記] {$ F $}-サイクル; fill [color = black](0,0)circle(1.5pt)(-0.28,4)circle(1.5pt)(-4.01,0)circle(1.5pt)(4.01,0)circle(1.5pt)( 1.62,3.67)円(1.5pt)(-2.27,3.3)円(1.5pt); end {tikzpicture} end {minipage} hfill begin {minipage} {0.5 textwidth}次の図で、$ angle F $、$ angle B $、および$ angle E $について何と言えますか? end {minipage} end {document}
ここで、テキストと図を一番上に配置したい場合
documentclass [10pt] {article} usepackage [utf8] {inputenc} usepackage {tikz} usetikzlibrary {arrows} pagestyle {empty} begin {document} begin {tikzpicture} [baseline =(current bounding box.north )、line cap = round、line join = round、> = triangle 45、scale = .6、font = scriptsize] draw(0,0)circle(4.01cm)node [above] {$ A $}; draw(-4.01,0)node [left] {$ C $}-(0,0)-(4.01,0)node [right] {$ D $}-(-0.28,4)node [上記] {$ B $}-(-4.01,0)-(1.62,3.67)ノード[上記] {$ E $}-(4.01,0)-(-2.27,3.3)ノード[上記] {$ F $}-サイクル; fill [color = black](0,0)circle(1.5pt)(-0.28,4)circle(1.5pt)(-4.01,0)circle(1.5pt)(4.01,0)circle(1.5pt)( 1.62,3.67)円(1.5pt)(-2.27,3.3)円(1.5pt); end {tikzpicture} hfill begin {minipage} {0.5 textwidth}次の図では、$ angle F $、$ angle B $、および$ angle E $について何と言えますか? end {minipage} end {document}
パッケージtcolorboxは、グラフィック/表とテキストを並べて配布する別の方法も提供します。 tcbsidebysideボックスは、左右のコンテンツを並べて配布する2つのパラメータを受け入れます。sidebyside Adaptオプションを使用すると、どの部分が空間分布を定義するかを宣言できます。sidebyside alignは、両方のパーツの垂直方向の配置を定義します。
とアランの答えから取られたTikZコード、結果は次のようになります。
documentclass [10pt] {article} usepackage [utf8] {inputenc} usepackage {tikz} usetikzlibrary {arrows} usepackage [most] {tcolorbox} pagestyle {empty} begin {document} tcbsidebyside [sidebyside Adapt =左、ブランカー、サイドバイサイドギャップ= 1cm、サイドバイサイドアライン=トップシーム] {% begin {tikzpicture} [line cap = round、line join = round、> = triangle 45、scale = .6、font = scriptsize] draw (0,0)円(4.01cm)ノード[上] {$ A $}; draw(-4.01,0)node [left] {$ C $}-(0,0)-(4.01,0)node [right] {$ D $}-(-0.28,4)node [上記] {$ B $}-(-4.01,0)-(1.62,3.67)ノード[上記] {$ E $}-(4.01,0)-(-2.27,3.3)ノード[上記] {$ F $}-サイクル; fill [color = black](0,0)circle(1.5pt)(-0.28,4)circle(1.5pt)(-4.01,0)circle(1.5pt)(4.01,0)circle(1.5pt)( 1.62,3.67)円(1.5pt)(-2.27,3.3)円(1.5pt); end {tikzpicture}%} {次の図では、$ angle F $、$ angle B $、および$ angle E $について何と言えますか?} end {document}
そしてなしブランカーオプション、すべてtcolorboxのベルとホイッスルを適用できます。
documentclass [10pt] {article} usepackage [utf8] {inputenc} usepackage {tikz} usetikzlibrary {arrows} usepackage [most] {tcolorbox} pagestyle {empty} begin {document} tcbsidebyside [title = A texttt { textbackslash {} tcbsidebyside}の例、sidebyside Adapt = left、sidebyside gap = 1cm、bicolor、colback = green!10、colbacklower = yellow!10、droplifted shadow、fonttitle = bfseries] {% begin {tikzpicture } [line cap = round、line join = round、> = triangle 45、scale = .6、font = scriptsize] draw(0,0)circle(4.01cm)node [above] {$ A $}; draw(-4.01,0)node [left] {$ C $}-(0,0)-(4.01,0)node [right] {$ D $}-(-0.28,4)node [上記] {$ B $}-(-4.01,0)-(1.62,3.67)ノード[上記] {$ E $}-(4.01,0)-(-2.27,3.3)ノード[上記] {$ F $}-サイクル; fill [color = black](0,0)circle(1.5pt)(-0.28,4)circle(1.5pt)(-4.01,0)circle(1.5pt)(4.01,0)circle(1.5pt)( 1.62,3.67)円(1.5pt)(-2.27,3.3)円(1.5pt); end {tikzpicture}%} {次の図では、$ angle F $、$ angle B $、および$ angle E $について何と言えますか?} end {document}