1

Due to the page limit, I now wish to reduce the blank space right after a figure (a TikZ drawing).

I personally find it too big.

Below is my MWE. How may I fix it?

\documentclass[a4paper]{article}

\usepackage{lipsum} % for dummy text only
\usepackage{tikz} % for TikZ drawing

\begin{document}
\lipsum
The system architecture is shown in Figure~\ref{fig:systemarchitecture}.
\begin{figure}
    \centering
    \begin{tikzpicture}[block/.style={draw, fill=white, rectangle, minimum width=0.95*\columnwidth, anchor=west}, font=\small]
\node[block, minimum width=0.9*\columnwidth, minimum height = 3cm, fill=yellow, opacity=1, text opacity=1](phone) at (0,0){};
    \end{tikzpicture}
    \caption{System Architecture}
    \label{fig:systemarchitecture}
\end{figure}
\end{document}
6
  • If you add [htb] to \begin{figure}[htb], the figure will look nice. If you still want to reduce the space, put \usepackage[belowskip=-10pt]{caption} in the preamble. Change -10pt to suit your need. – user11232 Dec 6 '13 at 4:37
  • @HarishKumar Thanks. Merely adding [htb] looks pretty much the same. So I am trying to use \usepackage[belowskip=-10pt]{caption}, but ! LaTeX Error: Command \caption@ContinuedFloat already defined. – Sibbs Gambling Dec 6 '13 at 4:48
  • 2
    If you use [htb] the figure is properly placed (i.e., after it is mentioned in text). Regarding the error, you have something else. Your mwe above works for me. Please add more details. – user11232 Dec 6 '13 at 5:07
  • @HarishKumar my full packages are pastie.org/8533217 I guess it is some sort of conflicts there. – Sibbs Gambling Dec 6 '13 at 12:49
  • With your entire preamble, it works and I don't get the error you mentioned above. – user11232 Dec 6 '13 at 23:11
3

An quick fix without using package is to add a negative length to

`\abovecaptionskip{-<dimension>}` and `\belowcaptionskip{-<dimension>}`

which adjust the vertical space before and after the caption, as shown below.

enter image description here

\documentclass[a4paper]{article}

\usepackage{lipsum} % for dummy text only
\usepackage{tikz} % for TikZ drawing
\addtolength\abovecaptionskip{-10pt}  %%%%
\addtolength\belowcaptionskip{-20pt}  %%%%
\begin{document}
\lipsum
The system architecture is shown in Figure~\ref{fig:systemarchitecture}.
\begin{figure}
    \centering
    \begin{tikzpicture}[block/.style={draw, fill=white, rectangle, minimum width=0.95*\columnwidth, anchor=west}, font=\small]
\node[block, minimum width=0.9*\columnwidth, minimum height = 3cm, fill=yellow, opacity=1, text opacity=1](phone) at (0,0){};
    \end{tikzpicture}
    \caption{System Architecture}
    \label{fig:systemarchitecture}
\end{figure}
\end{document

}

1

Use the caption package and reduce the skip with belowskip.

\documentclass[a4paper]{article}

\usepackage{lipsum} % for dummy text only
\usepackage{tikz} % for TikZ drawing
\usepackage[belowskip=-20pt]{caption} % reduce/increase the skip after the figure with belowskip

\begin{document}
\lipsum
The system architecture is shown in Figure~\ref{fig:systemarchitecture}.
\begin{figure}
    \centering
    \begin{tikzpicture}[block/.style={draw, fill=white, rectangle, minimum width=0.95*\columnwidth, anchor=west}, font=\small]
\node[block, minimum width=0.9*\columnwidth, minimum height = 3cm, fill=yellow, opacity=1, text opacity=1](phone) at (0,0){};
    \end{tikzpicture}
    \caption{System Architecture}
    \label{fig:systemarchitecture}
\end{figure}
\end{document}

Edit: Just read the comments after posting, this solutions was already posted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.