2

I am using the ACM latex template and trying to place a wide figure on the bottom of the page using \begin{figure*}[b]. However, it always goes to the next page. I also tried using [!hb] but it does not work. When I was using the IEEE template it worked nicely. But with the ACM template does not work. I also tried using these two packages but they provide the same result.

\usepackage{float}
\usepackage{dblfloatfix}
\begin{figure*}[!b]
  \centering
  \includegraphics[width=\linewidth]{figures/Tpch01-ThroughputVsLatency-BufferVsPreAggParam}
  \caption{text.}
  \label{fig:TPC-H-01}
\end{figure*}

Solutions like this do not work because the capital H is not recognized anymore.

6
  • 1
    You can try the stfloats package (from the sttools bundle) and write \begin{figure*}[b] ... \end{figure*}.
    – Bernard
    Commented Jul 17, 2020 at 16:04
  • I get this error LaTeX Error: File sttools.sty' not found`. Do I have to download the file from somewhere or install a package?
    – Felipe
    Commented Jul 17, 2020 at 17:34
  • Wait… sttools is not a package by itself. It is a bundle of packages. This bundle might be installed on your system. What is your distribution?
    – Bernard
    Commented Jul 17, 2020 at 17:37
  • Ubuntu 18.04.4 LTS
    – Felipe
    Commented Jul 17, 2020 at 17:38
  • 1
    I guess it's probably installed. Anyway, what you have to load is stfloats. If it's not installed, use TeX Live Package Manager to install sttools.
    – Bernard
    Commented Jul 17, 2020 at 17:41

2 Answers 2

2

If you are using ACM's styles, I presume it's for publishing in their journals. Then you can not use external packages (that they don't specifically allow), nor are many "tricks" allowable (they do process the LaTeX files to their specifications of page size, page heads/footers and so on).

Best bet would be to move the figure/float definition somewhat before in the source, so it shows up (more or less) where you want. You might want to get in contact with someone who can help you with the final layout in the journal through the journal staff...

1
  • It is not for a journal but for the ACM EDBT conference. It is also no the final version because it needs to be accepted before. Even that do you think that I cannot use different latex packages?
    – Felipe
    Commented Jul 19, 2020 at 20:51
2

I had the same problem and tried for hours, but I could not find an explanation or solution. % Using [H] is not a good solution because it tells LaTeX to treat the figure/table/etc as a non-float, forcing it to place in the exact declaration position. However, this often leads to weird section breaks, making you lose a lot of space.

It turns out ACM template loads a lot of packages, and some might conflict with the ones you loaded.

In my case, I had used \usepackage{nidanfloat} for fixing my floats position with an IEEE template. By removing this package, the ACM template places the floats normally for me when using \documentclass[manuscript,screen,review]{acmart}

1
  • Turns out that ACM conferences usually do not allow to change the template by removing packages. But adding packages are usually allowed. I solved by merging two figures into one using gnuplot or even latex packages help in this situation. Nevertheless, thank you for your answer
    – Felipe
    Commented Jun 12, 2021 at 13:24

You must log in to answer this question.

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