Tikz 图形出现在子部分上方

Tikz 图形出现在子部分上方

我使用 TikZ 制作了一个图形,我想让它位于几个句子之后的子部分内,如下所示:

\newpage
    \section{Modeling}
    \subsection{Modeling Trajectory}
    This subsection's content...
    at this point I will....

\begin{figure}
\begin{center}
    \begin{tikzpicture}
    \draw[thick,->] (0,0) -- (6,0) node[anchor=north west] {x};
    \draw[thick,->] (0,0) -- (0,6) node[anchor=south east] {y};
    \draw[thick,->] (3,3) -- (5,2) node[anchor=north west] {$V_{T}$};
    \draw[thick,->] (3,3) -- (1,4) node[anchor=south west] {$F_{Drag}$};
    \draw[thick,->] (3,3) -- (3,1) node[anchor=north west] {g};
    \draw [dashed] (3,3) -- (6,3);
    \draw (4,3) arc (0:-28:1) node[] at (30:5.3)  {$\gamma_{T}$};
    \end{tikzpicture}
    \caption{Ballistic target geometry}
\end{center}
\end{figure}

但是,我得到的是页面顶部的图形,然后是章节标题和小节标题。

我需要的结果是:

section title
subsection title
figure

我尝试使用\floatbarrier但它将整个图形移动到其他页面的中心。

谢谢。

答案1

使用包H中的选项float

\documentclass[a4paper, 12pt]{article}
\usepackage{tikz,float}
\begin{document}
\newpage
\section{Modeling}
\subsection{Modeling Trajectory}
This subsection's content...
at this point I will....

\begin{figure}[H]
    \centering
        \begin{tikzpicture}
        \draw[thick,->] (0,0) -- (6,0) node[anchor=north west] {x};
        \draw[thick,->] (0,0) -- (0,6) node[anchor=south east] {y};
        \draw[thick,->] (3,3) -- (5,2) node[anchor=north west] {$V_{T}$};
        \draw[thick,->] (3,3) -- (1,4) node[anchor=south west] {$F_{Drag}$};
        \draw[thick,->] (3,3) -- (3,1) node[anchor=north west] {g};
        \draw [dashed] (3,3) -- (6,3);
        \draw (4,3) arc (0:-28:1) node[] at (30:5.3)  {$\gamma_{T}$};
        \end{tikzpicture}
        \caption{Ballistic target geometry}
\end{figure}
\end{document}

这里!!

答案2

这里的主要问题是,默认浮动tbp位置h如果可能的话必须手动添加。因此使用

\begin{figure}[htbp]

figure和envs都center引入了垂直空间,因此图形内部居中的正确方法是:

\begin{figure}[htbp]
\centering
 ....
\end{figure}

此外,应尽可能避免使用floatpackages选项。人们通常使用它,因为他们忘记了如何使用H[htbp]选项。人们通常使用它,因为他们忘记了如何使用选项,并且他们忘记了应该使用 float附近不是这里

相关内容