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, 2013 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. Dec 6, 2013 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, 2013 at 5:07
  • @HarishKumar my full packages are pastie.org/8533217 I guess it is some sort of conflicts there. Dec 6, 2013 at 12:49
  • With your entire preamble, it works and I don't get the error you mentioned above.
    – user11232
    Dec 6, 2013 at 23:11

2 Answers 2

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .