我正在写一本书,遇到了一个困惑的问题!当我在单个文件(1 页)中运行代码时,获得了所需的图片(图 1)。
然而,当它放入主文件时,tikzpictures 会出现在一列中(图 2)。
我想要图片连成一排。请帮帮我!
\begin{center}
\begin{tikzpicture}[scale=1.0]
\draw [very thin,fill=lightgray] (0,0) rectangle (3,3);
\node at (1.5,1.5) {$A$} ;
\node at (3.3,1.5) {$=$}; % the label
\end{tikzpicture}
\begin{tikzpicture}[scale=1.0]
\fill[green!20] (0,0)--(0,3)--(3,0)--cycle ; % the filled triangle
\draw (0,0)--(0,3)--(3,3)--(3,0)--cycle ; % the square
\draw (0,3)--(3,0) ; % the diagonal
\node at (0.5,0.5) {$L$} ; % the label
\end{tikzpicture}\quad
\begin{tikzpicture}[scale=1.0]
\fill[blue!20] (3,3)--(0,3)--(3,0)--cycle ;
\draw (0,0)--(0,3)--(3,3)--(3,0)--cycle ;
\draw (0,3)--(3,0) ;
\node at (2.5,2.5) {$U$} ;
\end{tikzpicture}
\end{center}
答案1
另一个答案显示了该怎么做,但我在这里评论为什么这种行为并不奇怪(并且与您在问题中展示的任何代码无关)atikzpicture
就像\includegraphics
或 aminipage
或字母X
:它根本没有定位逻辑。
你有
\begin{center}
X X X
\end{center}
因此,无论这里的 X 是否确实是 X,或者它是否是一个tikzpicture
居中段落,其中包含三个项目,每个项目都由正常的词间空间隔开。
此段落受 TeX 常规换行算法约束,因此可能会被分成 1、2 或 3 行,具体取决于此时文本块的宽度。在第一个示例中,文本块的宽度足以容纳一行中的三个文本块,但在第二个示例中,您的文本块肯定太窄,无法在同一行中容纳两个文本块,因此每行只能容纳一个文本块,并且两个单词之间的空格将被丢弃。
答案2
这样,您就可以一次性绘制它们tikzpicture
。
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[very thin,fill=lightgray] (0,0) rectangle (3,3);
\node at (1.5,1.5) {$A$} ;
\node at (3.3,1.5) {$=$}; % the label
\begin{scope}[xshift=3.6cm]
\fill[green!20] (0,0)--(0,3)--(3,0)--cycle ; % the filled triangle
\draw (0,0)--(0,3)--(3,3)--(3,0)--cycle ; % the square
\draw (0,3)--(3,0) ; % the diagonal
\node at (0.5,0.5) {$L$} ; % the label
\end{scope}
\begin{scope}[xshift=6.6cm+1em]
\fill[blue!20] (3,3)--(0,3)--(3,0)--cycle ;
\draw (0,0)--(0,3)--(3,3)--(3,0)--cycle ;
\draw (0,3)--(3,0) ;
\node at (2.5,2.5) {$U$} ;
\end{scope}
\end{tikzpicture}
\end{document}