LaTeXでトレース決定図を描く
Drawing Trace Determinant Diagram Latex
解決:
%ポアンカレ図:(det A、Tr A)平面の位相ポートの分類%作成者:Gernot Salzer%Douglas R. Hundley、people.whitman.edu / 〜hundledr / courses / M244 / Poincareによる図面に基づく。 pdf documentclass [border = 1mm] {standalone} usepackage {tikz} usetikzlibrary {decorations.markings、arrows} tikzset {every pin / .style = {pin edge = {= stealth、flow / .style = {decoration = {markings、mark = at position#1 with { arrow {>}}}、postaction = {decorate}}、flow / .default = 0.5} newcommand inlayscale {} newcommand inlaycaption [1] {{ sffamily scriptsize#1}} newcommand newinlay [4] [0.18]%{ renewcommand inlayscale {#1}% newsavebox#2% savebox#2%{ begin {tabular} {@ {} [メール保護] {}}#4 \ [-1ex] inlaycaption {#3} \ [-1ex] end {tabular}%}%} newcommand inlay [1] { usebox {#1}} newcommand Tr { mathop { mathrm {Tr}}} newinlay saddle {saddle}%{ begin {tikzpicture} [scale = inlayscale] foreach sx in {+、-} { draw [flow]( sx4,0)-(0,0); draw [flow](0,0)-(0、 sx4); foreach sy in {+、-} foreach a / b / c / d in {2.8 / 0.3 / 0.7 / 0.6,3.9 / 0.4 / 1.3 / 1.1} draw [flow]( sx a、 sy b)..コントロール( sx c、 sy d)および( sx d、 sy c)..( sx b、 sy a); } end {tikzpicture}%} newinlay think {sink}%{ begin {tikzpicture} [scale = inlayscale] foreach sx in {+、-} { draw [flow]( sx4,0) -(0,0); draw [flow](0、 sx4)-(0,0); foreach sy in {+、-} foreach a / b in {1 / 1,3 / 0.44} draw [flow、domain = sx a:0] plot( x、{ sy b * x * x}); } end {tikzpicture}%} newinlay source {source}%{ begin {tikzpicture} [scale = inlayscale] foreach sx in {+、-} { draw [flow](0,0)- -( sx4,0); draw [flow](0,0)-(0、 sx4); foreach sy in {+、-} foreach a / b in {1 / 1,3 / 0.44} draw [flow、domain = 0: sx a] plot( x、{ sy b * x * x}); } end {tikzpicture}%} newinlay stablefp {安定した固定小数点の線}%{ begin {tikzpicture} [scale = inlayscale] draw(-4,0)-(4,0); foreach s in {+、-} { draw [flow](0、 s4)-(0,0); foreach x in {-3、-2、-1,1,2,3} draw [flow]( x、 s3)-( x、0); } end {tikzpicture}%} newinlay unstablefp {不安定な固定小数点の線}%{ begin {tikzpicture} [scale = inlayscale] draw(-4,0)-(4,0); foreach s in {+、-} { draw [flow](0,0)-(0、 s4); foreach x in {-3、-2、-1,1,2,3} draw [flow]( x、0)-( x、 s3); } end {tikzpicture}%} newinlay spiralsink {spiralsink}%{ begin {tikzpicture} [scale = inlayscale] draw(-4,0)-(4,0); draw(0、-4)-(0,4); draw [samples = 100、smooth、domain = 27:7]プロット({ x r}:{0.005 * x * x}); draw [->]({26 r}:{0.005 * 26 * 26})-+(0.01、-0.01); end {tikzpicture}%} newinlay spiralsource {spiral source}%{ begin {tikzpicture} [scale = inlayscale] draw(-4,0)-(4,0); draw(0、-4)-(0,4); draw [samples = 100、smooth、domain = 10:28] plot({- x r}:{0.005 * x * x}); draw [](0、-0.3)-(0、4.7)座標(+ y); draw [line width = 1pt、->](-5,0)-(5,0)座標(+ x); draw [line width = 1pt、domain = -4:4] plot( x、{0.25 * x * x}); node at(+ y)[label = {[above、yshift = 0.8cm]%{ sffamily large Poincar 'e図:$( det A、 Tr A)$平面の位相ポートの分類}}] {}; node at(+ x)[label = {[right、yshift = -0.5ex] $ scriptstyle Tr A $}] {}; node at(+ y)[label = {[above] $ scriptstyle det A $}] {}; node at(-4,4)[pin = {[above] $ scriptstyle Delta = 0 $}] {}; node at(4,4)[pin = {[above、align = left] {%$ scriptstyle Delta = 0 $:\ $ scriptstyle det A = frac {1} {4}( Tr A)^ 2 $}}] {}; %インレイ node at(0、-1.4){ inlay saddle}; node at(0,1.2)[pin = {[draw、right、xshift = 0.3cm] inlay center}] {}; node at(0,0)[pin = {[draw、above left、align = center、xshift = -0.3cm]% inlaycaption {uniform} \ [-1ex] inlaycaption {motion}}] {}; node at(-4,1){ inlay think}; node at(4,1){ inlay source}; node at(-3,0)[pin = {[draw、below、yshift = -1cm] inlay stablefp}] {}; node at(3,0)[pin = {[draw、below、yshift = -1cm] inlay unstablefp}] {}; node at(-1.8,3.7){ inlay spiralsink}; node at(1.8,3.7){ inlay spiralsource}; node at(-3.5、{0.25 * 3.5 * 3.5})[pin = {[draw、left、xshift = -1.15cm、yshift = -0.3cm] inlay degensink}] {}; node at(3.5、{0.25 * 3.5 * 3.5})[pin = {[draw、right、xshift = 0.9cm、yshift = -0.3cm] inlay degensource}] {}; end {tikzpicture} end {document}
彼の最終的な勝利の答えを投稿する前に、gernotはいくつかの答えを投稿しました。それぞれが最終的な絵の単一のグラフィックコンポーネントを表しています。最終的な回答を投稿すると、彼はコンポーネントの回答を削除しました。
この回答のために、私はそれらの部分を持ち上げました-gernotの[削除されたので]コンポーネントとOPの質問からの部分は、すべてのコンポーネントが揃ったら、使用できることを示していますおそらく、ベースグラフにそれらをオーバーレイするための stackinset。
彼のコンポーネントには、次のMWEで次のように識別されるtikzパーツ螺旋、 spiralB、 degensink、 degensource、 nondegensink、および nondegensource、
documentclass [10pt] {article} usepackage {pgf、tikz} usetikzlibrary {arrows} usepackage {mathrsfs} usepackage {amssymb、fancyhdr、txfonts、pxfonts} pagestyle {empty} usetikzlibrary {decorations.markings} usepackage {stackengine} renewcommand stacktype {L} setstackgap {L} {8pt} begin {document} savestack mygraph {% begin {tikzpicture} [%line cap = round、line join = round、> = triangle 45 、x = 1.0cm、y = 1.0cm%]% clip(-5.8、-3.58)長方形(5.56,5.64); draw [line width = 1.2pt](0.、4.68)-(0。、-0.74); draw [line width = 1.2pt](-4。、0。)-(4.3,0。); draw [thick、domain = -2:2] plot( x、{ x * x}); draw(3.62、-0.12)node [anchor = north west] {$ mathrm {Tr} 、A $}; draw(-。4,5.1)node [anchor = north west] {$ scriptstyle det A $}; draw(-2.35,4.7)node [anchor = north west] {% stackunder {$ scriptstyle Delta = 0 $} {$ downarrow $}}; draw(1.08,5.1)node [anchor = north west] { ensurestackMath { stackunder [11pt] {% Longstack [l] { scriptstyle Delta = 0: scriptstyle det A = frac {1} { 4}(% mathrm {Tr} A)^ 2}} { downarrow}}}; draw(1。、-1。)-(-1。、-3。); draw(-1。、-1。)-(1。、-3。); draw [dash pattern = on 2pt off 2pt](-1。、-2。)-(1。、-2。); draw [dash pattern = on 2pt off 2pt](0。、-1。)-(0。、-3。); end {tikzpicture}%} savestack spiralA {% begin {tikzpicture} [decoration = {markings、mark = at position 0.1 with { arrow {stealth}}}、scale = 0.5] draw(-4,0 )-(4,0); draw(0、-4)-(0,4); draw [postaction = {decorate}、domain = 27:7、variable = t、smooth、samples = 100] plot({ t r}:{0.005 * t * t}); end {tikzpicture}%} savestack spiralB {% begin {tikzpicture} [decoration = {markings、mark = at position 0.99 with { arrow {stealth}}}、scale = 0.5] draw(-4,0 )-(4,0); draw(0、-4)-(0,4); draw [postaction = {decorate}、domain = 10:28.5、variable = t、smooth、samples = 100] plot({- t r}:{0.005 * t * t}); end {tikzpicture}} savestack degensink {% begin {tikzpicture} [decoration = {markings、mark = at position 0.5 with { arrow {stealth}}}、scale = 0.5] draw(0、-4) -(0,4); draw [postaction = {decorate}](-4,0)-(0,0); draw [postaction = {decorate}](4,0)-(0,0); draw [postaction = {decorate}](-3.5,3.5)..コントロール(4,1.5)および(4,1)..(0,0); draw [postaction = {decorate}](3.5、-3.5)..コントロール(-4、-1.5)および(-4、-1)..(0,0); draw [postaction = {decorate}](-3.5,2.5)..コントロール(2,1)および(2,0.8)..(0,0); draw [postaction = {decorate}](3.5、-2.5)..コントロール(-2、-1)および(-2、-0.8)..(0,0); end {tikzpicture}%} savestack degensource {% begin {tikzpicture} [decoration = {markings、mark = at position 0.5 with { arrow {stealth}}}、scale = 0.5] draw(0、-4 )-(0,4); draw [postaction = {decorate}](0,0)-(-4,0); draw [postaction = {decorate}](0,0)-(4,0); draw [postaction = {decorate}](0,0)..コントロール(4,1.5)および(4,1)..(-3.5,3.5); draw [postaction = {decorate}](0,0)..コントロール(-4、-1.5)および(-4、-1)..(3.5、-3.5); draw [postaction = {decorate}](0,0)..コントロール(2,1)および(2,0.8)..(-3.5,2.5); draw [postaction = {decorate}](0,0)..コントロール(-2、-1)および(-2、-0.8)..(3.5、-2.5); end {tikzpicture}%} savestack nondegensink {% begin {tikzpicture} [decoration = {markings、mark = at position 0.5 with { arrow {stealth}}}、scale = 0.5、plotsettings / .style = {postaction = {decorate}}] draw [postaction = {decorate}](0、-4)-(0,0); draw [postaction = {decorate}](0,4)-(0,0); draw [postaction = {decorate}](-4,0)-(0,0); draw [postaction = {decorate}](4,0)-(0,0); draw [plotsettings、domain = -2:0] plot( x、{ x * x}); draw [plotsettings、domain = 0:2] plot( x、{ x * x}); draw [plotsettings、domain = -2:0] plot( x、{- x * x}); draw [plotsettings、domain = 0:2] plot( x、{- x * x}); draw [plotsettings、domain = -3:0] plot( x、{0.44 * x * x}); draw [plotsettings、domain = 0:3] plot( x、{0.44 * x * x}); draw [plotsettings、domain = -3:0] plot( x、{-0.44 * x * x}); draw [plotsettings、domain = 0:3] plot( x、{-0.44 * x * x}); end {tikzpicture}%} savestack nondegensource {% begin {tikzpicture} [decoration = {markings、mark = at position 0.5 with { arrow {stealth}}}、scale = 0.5、plotsettings / .style = {postaction = {decorate}}] draw [postaction = {decorate}](0,0)-(-4,0); draw [postaction = {decorate}](0,0)-(4,0); draw [postaction = {decorate}](0,0)-(0、-4); draw [postaction = {decorate}](0,0)-(0,4); draw [plotsettings、domain = 0:-2] plot( x、{ x * x}); draw [plotsettings、domain = 2:0] plot( x、{ x * x}); draw [plotsettings、domain = 0:-2] plot( x、{- x * x}); draw [plotsettings、domain = 2:0] plot( x、{- x * x}); draw [plotsettings、domain = 0:-3] plot( x、{0.44 * x * x}); draw [plotsettings、domain = 3:0] plot( x、{0.44 * x * x}); draw [plotsettings、domain = 0:-3] plot( x、{-0.44 * x * x}); draw [plotsettings、domain = 3:0] plot( x、{-0.44 * x * x}); end {tikzpicture}%} stackinset {c} {-55pt} {c} {2pt} { stackunder [24pt] {$ vcenter { hbox { scalebox {.3} {% nondegensink}}} $ } { scriptsize Longunderstack [l] {sink}}%} {% stackinset {c} {60pt} {c} {2pt} { stackunder [24pt] {$ vcenter { hbox { scalebox {.3 } {% nondegensource}}} $} { scriptsize Longunderstack [l] {source}}%} {% stackinset {c} {-71pt} {c} {56pt} { stackunder [24pt] {$ vcenter { hbox { scalebox {.3} {% fbox { degensink}}}} $} { scriptsize Longunderstack [l] {degenerateシンク}}%$ ! rightarrow $} {% stackinset { c} {78pt} {c} {56pt} {$ leftarrow !$% stackunder [24pt] {$ vcenter { hbox { scalebox {.3} {% fbox { degensink}}}} $ } { scriptsize Longunderstack [r] {degenerate source}}%} {% stackinset {c} {-20pt} {c} {62pt} { stackunder { scalebox {.35} { spiralA}} {% scriptsizeスパイラルシンク}} {% stackinset {c} {27pt} {c} {62pt} { stackunder { scalebox {.35} { spiralB}} {% scriptsizespiral source}} {% mygraph% }}}}}} end {document}