我正在尝试为下面的 tikzpicture 添加标题,但它在下面创建了一个巨大的空间。我不知道如何解决这个问题。
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\usetikzlibrary{angles, calc, intersections, positioning, quotes, backgrounds}
\usepackage{pgfplots,caption}
\pgfplotsset{compat=1.9}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{scope}
\clip (-2,-3.5) rectangle (0,3.5);
\draw (0,2) circle(1);
\end{scope}
\draw[->] (0,-1) -- (0,4);
\draw[->] (-2,0) -- (2,0);`
\node at (0,3)[right] (1){\footnotesize $a_{2}$};
\node at (0,1)[right] (2){\footnotesize $a_{1}$};
\node at (-1,3)[right] (3){\footnotesize $\gamma$};
\filldraw[black] (0,1) circle (1pt);
\filldraw[black] (0,3) circle (1pt);
\end{tikzpicture}
\captionof{figure}{Example}
\end{center}
\end{document}
答案1
你有
\clip (-2,-3.5) rectangle (0,3.5);
在您的文档中,除了裁剪之外,它还添加了一个矩形路径,该路径在边界框计算中被考虑在内。您可以将矩形缩小,例如
\clip (-2,-0) rectangle (0,3.1);
或者只是通过从边界框计算中排除矩形overlay
,
\clip[overlay] (-2,-3.5) rectangle (0,3.5);
MWE(删除了不必要的包和库):
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\usepackage{caption}
\begin{document}
\begin{center}
\begin{tikzpicture}[node font=\footnotesize]
\begin{scope}
\clip[overlay] (-2,-3.5) rectangle (0,3.5);
\draw (0,2) circle[radius=1];
\end{scope}
\draw[->] (0,-1) -- (0,4);
\draw[->] (-2,0) -- (2,0);`
\node at (0,3)[right] (1){$a_{2}$};
\node at (0,1)[right] (2){$a_{1}$};
\node at (-1,3)[right] (3){$\gamma$};
\filldraw[black] (0,1) circle[radius=1pt];
\filldraw[black] (0,3) circle[radius=1pt];
\end{tikzpicture}
\captionof{figure}{Example}
\end{center}
\end{document}
不用说,您只需画一条弧线然后放弃\clip
就可以获得相同的结果。