它是一个已知错误dot2tex 在组合时会产生奇怪的concentrate=true
输出蒂克兹代码输出。它创建了多个波浪形边缘,而不是一个漂亮的曲线边缘。但是,在生成 PGF 代码时,我们得到了还算不错的输出,但仍然不太正确。
有人找到这个错误的修复方法了吗?或者可能有一个解决方法来获得我想要的最终结果?我希望两个传入的边缘能够很好地融合在一起,并且在箭头一侧有一个标签。
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes}
\usepackage{dot2texi}
\begin{document}
\tikzstyle{var} = [draw,shape=rectangle,minimum size=2em,
inner sep=2pt,fill=white!20]
\begin{figure}
\centering
\begin{dot2tex}[dot,pgf,options=-tmath]
digraph G {
[concentrate=true, rankdir=LR]
node [style="var"]
x [label="x"]
y [label="y"]
i_1 [texlbl="i1 = 0"]
i_2 [texlbl="i2 = 1"]
o_1 [texlbl="o2 = 0"]
o_2 [texlbl="o2 = 1"]
x -> i_1;
x -> i_2;
i_1 -> o_1 [texlbl="fib", label="fib", rankdir="LR"];
i_2 -> o_2 [texlbl="fib", label="fib", rankdir="LR"];
o_1 -> y [rankdir="LR"]
o_2 -> y [rankdir="LR"]
}
\end{dot2tex}
\caption{PGF output}
\end{figure}
\begin{figure}
\centering
\begin{dot2tex}[dot,tikz,options=-tmath]
digraph G {
[concentrate=true, rankdir=LR]
node [style="var"]
x [label="x"]
y [label="y"]
i_1 [texlbl="i1 = 0"]
i_2 [texlbl="i2 = 1"]
o_1 [texlbl="o2 = 0"]
o_2 [texlbl="o2 = 1"]
x -> i_1;
x -> i_2;
i_1 -> o_1 [texlbl="fib", label="fib", rankdir="LR"];
i_2 -> o_2 [texlbl="fib", label="fib", rankdir="LR"];
o_1 -> y [rankdir="LR"]
o_2 -> y [rankdir="LR"]
}
\end{dot2tex}
\caption{TIKZ output}
\end{figure}
\end{document}
答案1
从技术上来说,该解决方案属于解决方法我想是的。我只用 画了它tikz
。
代码:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning}
\begin{document}
\begin{tikzpicture}[
-latex,
ell/.style={draw,ellipse,minimum height=3em,minimum width=5em}
]
\node[ell] at (0,0) (x) {$x$};
\node[ell,right=of x] (i1) {i$1=0$};
\node[ell,below=of i1] (i2) {i$2=1$};
\node[ell,right=of i1] (o2t) {o$2=0$};
\node[ell,below=of o2t] (o2b) {o$2=1$};
\node[ell,right=of o2t] (y) {$y$};
\draw (x) -- (i1) coordinate[pos=0.25] (branch);
\draw (o2t) -- (y) coordinate[pos=0.75] (merge);
\draw (i1) -- (o2t) node[midway,above] {fib};
\draw (i2) -- (o2b) node[midway,above] {fib};
\draw (branch) to[out=0] (i2);
\draw[-] (o2b) to[in=180] (merge);
\end{tikzpicture}
\end{document}
输出:
如果需要的话,可以轻松改变out
和角度in
以及分支和合并部分。pos