Tikzネットワークで楕円形のノードを取得するにはどうすればよいですか?



How Get Ellipse Shaped Node Tikz Network



解決:

実際、あなたの形は楕円です。これらはデフォルト設定であるため、たまたま同じ高さと幅になっています。あなたは追加のTikZオプションを使用して与えることができますのスタイルオプションバーテックス。

 documentclass {article}  usepackage {tikz-network}  begin {document}  begin {tikzpicture}  Vertex [color = white、x = -1、y = 1、label = A] {A}  Vertex [color =白、x = 1、y = 1、ラベル= B、形状=長方形] {B} 頂点[色=白、x = 0、y = 0、ラベル= 2、形状=楕円、スタイル= {最小幅= 2cm}] {2}  Edge [lw = 1、Direct](A)(2) Edge [lw = 1、Direct](B)(2) end {tikzpicture}  end {document}

MWE出力




パッケージが予想するよりも長い場合、テキストがちょうどオーバーシュートするというあなたとJouleVの観察を詳しく説明することから始めましょう。

 documentclass {article}  usepackage {tikz-network}  begin {document}  begin {tikzpicture}  Vertex [color = white、x = -1、y = 1、label = A] {A}  Vertex [color =白、x = 1、y = 1、ラベル= B、形状=長方形] {B}  Vertex [色=白、x = 0、y = 0、ラベル= 2222222、形状=楕円] {2}  Edge [ lw = 1、直接](A)(2) Edge [lw = 1、直接](B)(2) end {tikzpicture}  end {document}

ここに画像の説明を入力してください



言うまでもなく、これは少し最適ではないように見えます。それが起こる内部的な理由は、テキストがノードの内容。素朴に疑う/期待するかもしれませんが、ラベルが示すように、ラベル。この問題は次のように解決できます。

 documentclass {article}  usepackage {tikz-network}  makeatletter  tikzset {network x offset / .initial = 1ex、network y offset / .initial = 1ex、adjust size / .style = {minimum width = width( ' [電子メールで保護] ')+ 2 *  pgfkeysvalueof {/ tikz / network x offset}、minimum height = height('  [email protected] ')+ 2 *  pgfkeysvalueof {/ tikz / network y offset}}}  makeatother  begin {document}  begin {tikzpicture}  Vertex [color = white、x = -1、y = 1、label = A] {A}  Vertex [color = white、x = 1、y = 1、label = B 、shape = rectangle] {B}  tikzset {every label / .append style = {}}  Vertex [color = white、x = 0、y = 0、label = 2222222、shape = ellipse、style = {adjust size} ] {2}  Edge [lw = 1、Direct](A)(2) Edge [lw = 1、Direct](B)(2) end {tikzpicture}  end {document}

ここに画像の説明を入力してください

だからあなたがする必要があるのは追加することだけですstyle = {サイズを調整}。副作用として、JouleVによって提案されているように、幅の広い(またはより高い)テキストを挿入すると、これは実際には楕円になります。キーネットワークxオフセットとネットワークyオフセットは、通常のpgfキーの類似物と考えることができます。内側のxsepと内側のysep。