
このグラフをLaTeXで描画することは可能ですか?
与えられた画像を回転させて、水平方向の画像を取得できるようにしたいと思います。
使ってみた
\includegraphics[angle=270,origin=c]{pic}
\begin{sidewaysfigure} \includegraphics[scale=0.75]{pic}% \label{fig:fig1} \end{sidewaysfigure}
しかし、どちらの場合も頂点の文字も回転します。
上記のコマンドを使用すると、次のようになります。
頂点$S,[0],T$を持つ水平グラフを作成するにはどうすればよいでしょうか?
誰かこれを描くのを手伝ってくれませんか?
これを描きたい
答え1
ティけZ、これは基本的に、これを使用するか使用しないかの違いですtransform shape
。これを使用するとテキストが回転しますが、使用しない場合は回転しません。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[nodes={circle,draw,fill=red!20,font=\sffamily,inner sep=1pt}]
\draw (0,0) node{T} -- (80:2) node{O} -- ++(80:2) node{S};
\end{tikzpicture}
\bigskip
\begin{tikzpicture}[nodes={circle,draw,fill=red!20,font=\sffamily,inner
sep=1pt},rotate=-90]
\draw (0,0) node{T} -- (80:2) node{O} -- ++(80:2) node{S};
\end{tikzpicture}
\bigskip
\begin{tikzpicture}[nodes={circle,draw,fill=red!20,font=\sffamily,inner
sep=1pt},rotate=-90,transform shape]
\draw (0,0) node{T} -- (80:2) node{O} -- ++(80:2) node{S};
\end{tikzpicture}
\end{document}
図を作成するだけなら、
\documentclass{article}
\usepackage{tikz}
\usepackage{eqparbox}
\newbox\nodebox
\tikzset{equal size/.style={execute at begin
node={\setbox\nodebox=\hbox\bgroup},
execute at end
node={\egroup\eqmakebox[#1][c]{\copy\nodebox}}}}
\begin{document}
\begin{tikzpicture}[nodes={equal size=S,
circle,draw,fill=red!20,font=\sffamily,inner sep=1pt}]
\draw (0,0) node{T} -- (2.5,0) node{[O]} -- ++(2.5,0) node{S};
\end{tikzpicture}
\end{document}
ハードコードされた距離はありませんが、ノードのサイズは同じであることに注意してください。
答え2
方法は次のとおりですpstricks
:
\documentclass[svgnames]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}
\begin{document}
\sffamily
\begin{pspicture}(-3.5,-0.5)(3.5,0.5)
\psset{fillcolor=MistyRose, fillstyle=solid, framesep=3.3pt}
\cnodeput[](-3,0){S}{S}
\cnodeput[framesep=0.6pt](0,0){O}{[0]}
\cnodeput(3,0){T}{T}
\ncline{S}{O}\ncline{O}{T}
\end{pspicture}
\end{document}