0

If I use a float in the same page where I have the paracol environment, the floats get placed where it is irrespective from the argument. See my MWE. The float on page 1 should be at the bottom, like the one in page 2, but it stays at the top. Why? (If I comment out the paracol all goes well)

\documentclass{article}
\usepackage[]{lipsum}
\usepackage{paracol}

\begin{document}

\begin{figure}[b] Some text that should go at the bottom. \end{figure}

\columnratio{0.65} \begin{paracol}{2} \sloppy \noindent Some text in two columns. \switchcolumn

\noindent {\scriptsize Some more text in the second column.} \end{paracol}

\lipsum{1} \begin{figure}[b] Some text that should go at the bottom. \end{figure} \lipsum{1}

\end{document}

Haim
  • 487
  • Paracol apparently terminates the existing page (\box255} when it starts, so the first figure goes above the top of paracol. The second figure doesn't get created until you are alreacy on the second page. (see also https://tex.stackexchange.com/questions/295270/how-to-get-rotated-landscape-page-in-latex-without-flushing-other-floats) – John Kormylo Apr 30 '23 at 13:02
  • It works BUT only if I have little text in paracol columns. Try to insert \lipsum{1} in each columns and you will see that the float goes at the bottom of page 3 AFTER the end of the paracol environment. Also, when I tried the code in my real text (book in octavo document class), I had cases in which the float was down in the footer space and overlapping the page number. – Haim Apr 30 '23 at 16:20
  • And sorry I have not enough knowledge to play with your macros... I just copied and pasted. – Haim Apr 30 '23 at 16:21
  • Other functions which change the column width, like \twocolumn, \newgeometry or landscape, cause a \clearpage to empty the queue first. Why should paracol be any different? BTW, I forgot that there can only be one bottom float per page (bottomnumber =1). – John Kormylo Apr 30 '23 at 18:21
  • I'm not complaining! Paracol is a very good package and every day I find a new use. Just wanting to know if there is a way to have bottom floats over several pages of paracol columns, but I guess the answer is not. But thanks for trying John! – Haim Apr 30 '23 at 18:50
  • BTW, \lipsum[1] does one paragraph, while \lipsum{1} is the same as \lipsum{}1. – John Kormylo May 01 '23 at 02:21
  • Understood thanks! – Haim May 01 '23 at 23:05

2 Answers2

1

I tried to get the layout I want using, instead of figure floats, footnotes without marker. Please see this post that thought me how to get rid of the markers: Footnote without a marker. Maybe it is not a very elegant solution but does anyone see an alternative?

\documentclass{article}
\usepackage{paracol}
\usepackage{lipsum}

\newcommand\blfootnote[1]{% \begingroup \renewcommand\thefootnote{}\footnote{#1}% \addtocounter{footnote}{-1}% \endgroup } \renewcommand*\footnoterule{} %\usepackage[hang,flushmargin]{footmisc} \footnotelayout{m} \begin{document}

\columnratio{0.55} \begin{paracol}{2} \sloppy \blfootnote{ {\scriptsize \hspace{-16pt} A bottom float. \lipsum{1}}}\lipsum[1] \switchcolumn\sloppy {\footnotesize \lipsum[1]} \end{paracol} \blfootnote{ {\scriptsize \hspace{-16pt} This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. This is a second bottom float. }}

\end{document}

Haim
  • 487
0

I took your footnote idea and bypsssed \footnote to write directly into \footins. The tricky bit was turning off \footnoterule.

\documentclass{article}
\usepackage{paracol}
\usepackage{lipsum}
\usepackage{afterpage}

\newsavebox{\Bfloat} \let\OldFootnoterule=\footnoterule \newlength{\OldFootnotesep} \setlength{\OldFootnotesep}{\footnotesep}

\makeatletter \newenvironment{Bfigure}{\begin{lrbox}{\Bfloat}% \minipage{\textwidth}% \def@captype{figure}}% {\endminipage% \end{lrbox}% \insert\footins{\noindent\usebox\Bfloat}% \global\let\footnoterule\relax% will need global reset \global\footnotesep=\textfloatsep} \makeatother

\footnotelayout{m}

\begin{document}

\columnratio{0.55} \begin{paracol}{2}

\sloppy

\begin{Bfigure} \caption{A bottom float. \lipsum[1]} \end{Bfigure}
\lipsum[1] \switchcolumn\sloppy {\footnotesize \lipsum[1]} \end{paracol} \afterpage{\global\let\footnoterule\OldFootnoterule \global\footnotesep=\OldFootnotesep}%

\lipsum[1]

Test\footnote{a normal footnote}

\lipsum[2]

\end{document}

John Kormylo
  • 79,712
  • 3
  • 50
  • 120