0

To create a double-page spread, in which an image is spread across two pages of an open book, with no white space (no margins, headers, and footers), the package hvfloat is recommended.

This package, however, does not seem to be working for me in a two-column book. If the figure is placed after the last page of a chapter, whose left column is longer than the right column, then the left side of the figure is near the middle of the page, rather than flush with the left side of the page, as the documentation promises.

Inserting \clearpage before the float fails to solve the problem, and creates more problems with columns and caption in the following chapter (not shown).

The hvfloat syntax is copied exactly from the hvfloat example document doublepage2s2c.tex.

Minimum working example below.

\documentclass[12pt, twoside]{book}

\usepackage[letterpaper,
bindingoffset=5mm,
left=16mm,
right=16mm,
top=20mm,
bottom=20mm,
footskip=5mm]{geometry}

\usepackage{hvfloat}
\usepackage{lipsum}

\begin{document}
\twocolumn
\chapter{1}
\lipsum[1-5]


\hvFloat[doubleFULLPAGE,capWidth=n,twoColumnCaption,capPos=after,separatorLine]%
{figure}%
{\includegraphics[doubleFULLPAGE]{example-image-b}}%
[A doublepage image with a caption on the page following.]%
{A caption for a double-sided image that will be placed on the bottom of the page after the right side of the image. The illustration begins on the left edge of the paper. A short form is used for the LOF. The parameter is \texttt{doubleFULLPAGE}}%
{fig:doubleFULLPAGE0after2col}

\chapter{2}

\lipsum[1-5]


\end{document}
2
  • Thank you for your feedback!! If the answer meets your requirement, please accept it by checking the green tickmark on left side of the answer. Commented Aug 22, 2023 at 14:51
  • @SimonDispa thank you for your answer! Although the problem is solved in the MWE, it remains in the actual document. I will troubleshoot and edit the original question adding a new MWE if it remains unresolved. Commented Aug 23, 2023 at 17:02

1 Answer 1

1

Change the geometry settings to:

\usepackage[letterpaper, 
left=21mm,%16mm +5mm
right=16mm, 
top=20mm,
bottom=20mm,
includefoot,% 
showframe % optional, show the margins
]{geometry}

and place \hvFloat before the text so that it stays within the chapter. Also add bindCorr=5mm to the float.

\documentclass[12pt, twoside]{book}

\usepackage[letterpaper, 
left=21mm,%16mm +5mm
right=16mm, 
top=20mm,
bottom=20mm,
includefoot,% 
showframe
]{geometry}


\usepackage{hvfloat}

\usepackage{lipsum}

\begin{document}
    \twocolumn
    \chapter{1}

    \hvFloat[doubleFULLPAGE,capWidth=n,twoColumnCaption,capPos=after,separatorLine, bindCorr=5mm]% here <<<<
    {figure}%
    {\includegraphics[doubleFULLPAGE]{example-image-b}}%
    [A doublepage image with a caption on the page following.]%
    {A caption for a double-sided image that will be placed on the bottom of the page after the right side of the image. The illustration begins on the left edge of the paper. A short form is used for the LOF. The parameter is \texttt{doubleFULLPAGE}}%
    {fig:doubleFULLPAGE0after2col}
    
    \lipsum[1-5] 
        
    \chapter{2}
    
    \lipsum[1-5]
    
    
\end{document}

c

In a real document you can use the option nonFloat=true to insert the float close to the desired place. For example:

% !TeX TS-program = pdflatex
\documentclass[12pt, twoside]{book}

\usepackage[letterpaper, 
left=21mm,%16mm +5mm
right=16mm, 
top=20mm,
bottom=20mm,
includefoot,% 
showframe % optional, show the margins
]{geometry}


\usepackage{hvfloat}

\usepackage{lipsum}

\begin{document}
    \twocolumn
    \chapter{1}
    
    \lipsum[1] 

    \hvFloat[doubleFULLPAGE,capWidth=n,twoColumnCaption,capPos=after,separatorLine, bindCorr=5mm, nonFloat=true]% here <<<<
    {figure}%
    {\includegraphics[doubleFULLPAGE]{example-image-b}}%
    [A doublepage image with a caption on the page following.]%
    {A caption for a double-sided image that will be placed on the bottom of the page after the right side of the image. The illustration begins on the left edge of the paper. A short form is used for the LOF. The parameter is \texttt{doubleFULLPAGE}}%
    {fig:doubleFULLPAGE0after2col}
    
    \lipsum[2-5] 
        
    \chapter{2}
    
    \lipsum[1-5]
    
    
\end{document}
8
  • For your MWE directly above I do not get the same pdflatex compiled result. I don't think I can post images in a comment, so I'll describe: my pages 1 and 2 are identical to yours. My page 3 has text overlain on the figure, on the upper right side. That text is the same as yours on page four. My page four has no document text, and just the caption in the middle of the page with separator line. My pages 5 and 6 are identical to yours. I copied your MWE directly in a separate .tex file in TexStudio and compiled with pdflatex. Commented Aug 19, 2023 at 18:48
  • @Sowberry Hagan I added the complete code. Commented Aug 19, 2023 at 19:11
  • I get the same compilation regardless of whether nonFloat is true or not: the additional text that does not fit on the page immediately before the float is printed over the right half of the image, on the upper right corner. And, the following page is empty except for the caption in the middle of the page. The remaining two pages are identical. I copied your example code verbatim into a new .text file in TexStudio and compiled with pdflatex. Commented Aug 19, 2023 at 19:22
  • @Sowberry Hagan I am using This is pdfTeX, Version 3.141592653-2.6-1.40.24 (MiKTeX 22.10; LaTeX2e <2022-06-01> patch level 5 ; Package: hvfloat 2022/10/02 v2.42 special floating objects (hv) Commented Aug 19, 2023 at 19:26
  • @Sowberry Hagan Try removing the geometry package. You are right: nonFloat is irrelevant here. No difference using hvfloat 2023/05/16 v2.46 Commented Aug 19, 2023 at 19:39

You must log in to answer this question.

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