我使用 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}
此外,应尽可能避免使用float
packages选项。人们通常使用它,因为他们忘记了如何使用H
[htbp]
选项。人们通常使用它,因为他们忘记了如何使用选项,并且他们忘记了应该使用 float附近不是这里