如何自动将 dot2tex 块置于 tikzpicture 的中心?

如何自动将 dot2tex 块置于 tikzpicture 的中心?

我注意到dot2tex生成的图形在 tikz 图片内没有正确居中。这在下面的示例中尤其明显:

dot2texbadcenter

图表应该或多或少地出现在文本句子之间。

这是用它编译的代码lualatex -shell-escape dot2tex.tex

\documentclass{article}
\usepackage{dot2texi}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}

Some text some text some text some text some text some text some text \newline

\begin{tikzpicture}
\begin{dot2tex}[neato, tikz, scale=0.5]
graph G {
0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99; 
23--98 ; 21--70 ; 19--68 ; 70--77 ; 44--72 ; 62--1 ; 36--65 ; 84--37 ; 99--14 ; 80--85 ; 80--57 ; 14--93 ; 17--76 ; 45--31 ; 35--89 ; 48--54 ; 29--39 ; 84--20 ; 43--2 ; 92--0 ; 41--1 ; 85--73 ; 69--32 ; 28--26 ; 81--44 ; 38--19 ; 96--11 ; 28--17 ; 87--19 ; 79--94 ; 13--51 ; 67--86 ; 44--64 ; 93--57 ; 50--64 ; 32--67 ; 65--66 ; 84--50 ; 88--14 ; 61--92 ; 10--75 ; 84--21 ; 25--69 ; 58--6 ; 7--69 ; 33--21 ; 92--39 ; 40--53 ; 45--48 ; 80--36 ; 27--47 ; 52--89 ; 80--92 ; 11--45 ; 95--46 ; 71--0 ; 40--12 ; 14--11 ; 73--18 ; 15--68 ; 56--42 ; 25--3 ; 38--68 ; 48--44 ; 34--17 ; 36--3 ; 94--69 ; 44--90 ; 82--17 ; 33--28 ; 64--82 ; 18--41 ; 27--28 ; 69--43 ; 12--88 ; 95--12 ; 82--37 ; 63--90 ; 71--15 ; 88--42 ; 57--43 ; 82--70 ; 35--55 ; 72--22 ; 22--84 ; 63--74 ; 48--90 ; 2--44 ; 88--46 ; 7--14 ; 0--69 ; 75--16 ; 88--49 ; 56--2 ; 5--18 ; 35--37 ; 12--18 ; 13--8 ; 44--92 ; 97--37 ; 40--68 ; 60--76 ; 34--49 ; 5--60 ; 71--37 ; 28--69 ; 64--61 ; 71--11 ; 39--11 ; 79--26 ; 26--83 ; 14--40 ; 38--34 ; 44--86 ; 72--76 ; 83--97 ; 76--12 ; 24--93 ; 57--17 ; 57--53 ; 74--93 ; 79--40 ; 92--10 ; 90--28 ; 22--2 ; 28--82 ; 36--53 ; 71--55 ; 53--29 ; 95--26 ; 65--55 ; 49--26 ; 89--79 ; 9--51 ; 68--69 ; 75--36 ; 32--7 ; 88--93 ; 1--5 ; 57--71 ; 15--98 ; 56--18 ; 60--82 ; 35--38 ; 5--2 ; 95--39 ; 71--24 ; 28--47 ; 32--0 ; 23--63 ; 84--10 ; 67--26 ; 13--74 ; 9--78 ; 77--91 ; 85--31 ; 46--32 ; 93--45 ; 92--95 ; 50--98 ; 28--88 ; 30--69 ; 80--67 ; 95--4 ; 13--5 ; 3--79 ; 99--34 ; 51--62 ; 37--2 ; 65--49 ; 67--31 ; 89--75 ; 10--4 ; 59--61 ; 32--83 ; 35--34 ; 41--95 ; 50--58 ; 66--37 ; 44--18 ; 53--26 ; 87--7 ; 95--83 ; 72--6 ; 53--32 ; 46--78 ; 29--31 ; 88--0 ; 66--18 ; 67--40 ; 41--9 ; 48--89 ; 79--85 ; 48--97 ; 93--49 ; 3--59 ; 42--34 ; 2--90 ; 22--78 ; 93--62 ; 
}
\end{dot2tex}
\end{tikzpicture}

Some text some text some text some text some text some text some text \newline

\end{document}

答案1

好的,检查代码后我明白了。问题是默认情况下dot2tex会生成自己的tikzpicture环境,这会打乱对齐(为什么?)。

我发现的解决方案是使用选项codeonly。但是,缩放必须由外部tikzpicture环境处理,并且还必须缩放文本。

\documentclass{article}
\usepackage{dot2texi}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}

Some text some text some text some text some text some text some text \newline

\begin{tikzpicture}[scale=0.6, every node/.style={scale=0.6}]
\begin{dot2tex}[neato, codeonly]
graph G {
0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99; 
23--98 ; 21--70 ; 19--68 ; 70--77 ; 44--72 ; 62--1 ; 36--65 ; 84--37 ; 99--14 ; 80--85 ; 80--57 ; 14--93 ; 17--76 ; 45--31 ; 35--89 ; 48--54 ; 29--39 ; 84--20 ; 43--2 ; 92--0 ; 41--1 ; 85--73 ; 69--32 ; 28--26 ; 81--44 ; 38--19 ; 96--11 ; 28--17 ; 87--19 ; 79--94 ; 13--51 ; 67--86 ; 44--64 ; 93--57 ; 50--64 ; 32--67 ; 65--66 ; 84--50 ; 88--14 ; 61--92 ; 10--75 ; 84--21 ; 25--69 ; 58--6 ; 7--69 ; 33--21 ; 92--39 ; 40--53 ; 45--48 ; 80--36 ; 27--47 ; 52--89 ; 80--92 ; 11--45 ; 95--46 ; 71--0 ; 40--12 ; 14--11 ; 73--18 ; 15--68 ; 56--42 ; 25--3 ; 38--68 ; 48--44 ; 34--17 ; 36--3 ; 94--69 ; 44--90 ; 82--17 ; 33--28 ; 64--82 ; 18--41 ; 27--28 ; 69--43 ; 12--88 ; 95--12 ; 82--37 ; 63--90 ; 71--15 ; 88--42 ; 57--43 ; 82--70 ; 35--55 ; 72--22 ; 22--84 ; 63--74 ; 48--90 ; 2--44 ; 88--46 ; 7--14 ; 0--69 ; 75--16 ; 88--49 ; 56--2 ; 5--18 ; 35--37 ; 12--18 ; 13--8 ; 44--92 ; 97--37 ; 40--68 ; 60--76 ; 34--49 ; 5--60 ; 71--37 ; 28--69 ; 64--61 ; 71--11 ; 39--11 ; 79--26 ; 26--83 ; 14--40 ; 38--34 ; 44--86 ; 72--76 ; 83--97 ; 76--12 ; 24--93 ; 57--17 ; 57--53 ; 74--93 ; 79--40 ; 92--10 ; 90--28 ; 22--2 ; 28--82 ; 36--53 ; 71--55 ; 53--29 ; 95--26 ; 65--55 ; 49--26 ; 89--79 ; 9--51 ; 68--69 ; 75--36 ; 32--7 ; 88--93 ; 1--5 ; 57--71 ; 15--98 ; 56--18 ; 60--82 ; 35--38 ; 5--2 ; 95--39 ; 71--24 ; 28--47 ; 32--0 ; 23--63 ; 84--10 ; 67--26 ; 13--74 ; 9--78 ; 77--91 ; 85--31 ; 46--32 ; 93--45 ; 92--95 ; 50--98 ; 28--88 ; 30--69 ; 80--67 ; 95--4 ; 13--5 ; 3--79 ; 99--34 ; 51--62 ; 37--2 ; 65--49 ; 67--31 ; 89--75 ; 10--4 ; 59--61 ; 32--83 ; 35--34 ; 41--95 ; 50--58 ; 66--37 ; 44--18 ; 53--26 ; 87--7 ; 95--83 ; 72--6 ; 53--32 ; 46--78 ; 29--31 ; 88--0 ; 66--18 ; 67--40 ; 41--9 ; 48--89 ; 79--85 ; 48--97 ; 93--49 ; 3--59 ; 42--34 ; 2--90 ; 22--78 ; 93--62 ; 
}
\end{dot2tex}
\end{tikzpicture}

Some text some text some text some text some text some text some text \newline

\end{document}

导致

dot2texoknow

相关内容