2

Old question

see update at the bottom

When the package insbox is used with the package geometry (but not only, see at the end), the wrapping of text is weird.

Here is an example.

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lipsum}

\usepackage[hmargin=1in]{geometry} \input{insbox}

\begin{document}

\lipsum[1-3] \lipsum[1-2]

\InsertBoxL{1}{\includegraphics[width=5cm]{example-image}} \lipsum[1-3]

\InsertBoxL{0}{\includegraphics[width=5cm]{example-image}} \lipsum[1-3]

\end{document}

This give this results.

First page:

enter image description here

Second page:

enter image description here

Third page:

enter image description here

Switch the loading of geometry and insbox (beware: by \input for insbox, not \usepackage) doesn't change anything.

I try insbox because wrapfig and picins also have weird bugs, and insbox seems promising (for exemple, great comment in the answer from Bernard here: Wrong vertical spacing cutwin (clean solution text wrap image)).

The first wrapping is probably weird because the image is too low in the page. But this doesn't explain the weird paragraphs shapes on the second page. Nor the overlapping if the image on the third page.

Note that if I don't change the marging value (i.e. if I load the package geometry with \usepackage{geometry} (no option given), the output is still weird on the third page. Here is the output (partially the second page and completly the third page):

enter image description here

Just before post this question, I tried to change manually the geometry of the pages (to avoid loading the package geometry and obtain the same as hmargin=1in).

So with:

\documentclass[11pt]{article}

\usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{lipsum} \textwidth=6.5in \oddsidemargin=0pt

%\usepackage{geometry} \input{insbox}

\begin{document}

\lipsum[1-3] \lipsum[1-2]

\InsertBoxL{1}{\includegraphics[width=5cm]{example-image}} \lipsum[1-3]

\InsertBoxL{0}{\includegraphics[width=5cm]{example-image}} \lipsum[1-3]

\end{document}

I obtain this weird result:

enter image description here

So It's perhaps because the first image is too low on the page. So I change little the code to add 2 little lines on bottom of the first page :

\documentclass[11pt]{article}

\usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{lipsum} \textwidth=6.5in \oddsidemargin=0pt

%\usepackage{geometry} \input{insbox}

\begin{document}

\lipsum[1-3] \lipsum[1-2]

line

line

\InsertBoxL{0}{\includegraphics[width=5cm]{example-image}} \lipsum[1-3]

\InsertBoxL{0}{\includegraphics[width=5cm]{example-image}} \lipsum[1-3]

\end{document}

the result is disappointing :

enter image description here

What are your suggestions? It seems all wrapping packages have issues.

Update

I'm sorry for the long code, but wrapping text needs long text.

With the next code, the 2 first images wrap correctly the text. The third not (and page 3 is completely destroyed).

I need an image at the top, and an image at the bottom of the page. This is obtained at page 2. Note that if i change the line 38 from \InsertBoxL{3}{\includegraphics[height=4.0cm]{example-image}}[-1] to \InsertBoxL{2}{\includegraphics[height=4.0cm]{example-image}}[-1], the layout obtained at page 3 and 4 is not better. And nor if I cut after the last word of page 2 and add \clearpage.

\documentclass[11pt]{article}

\usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{lipsum} \usepackage{microtype}

\usepackage[hmargin=1in]{geometry}

\input{insbox}

\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut lacinia euismod sollicitudin. Phasellus sit amet accumsan magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque congue eros ut nibh fermentum, sit amet consectetur leo semper. Sed elementum, dolor sed tempus finibus, metus nulla pellentesque nulla, vel consequat sapien dolor vel tortor. In at purus velit. Cras vel turpis quis ligula aliquam feugiat. Donec varius libero a magna luctus laoreet. Duis tellus lectus, facilisis at dui a, blandit mollis odio. Nullam quis enim at mauris interdum auctor vel sit amet dui. Mauris luctus egestas tempor. Praesent luctus neque eget libero fermentum, vitae auctor nibh iaculis. Ut a leo consectetur, maximus metus vitae, congue nunc.

Nulla vel suscipit tellus. Duis sed enim aliquet, rutrum ipsum vel, ultrices erat. Quisque lobortis efficitur lectus, id suscipit tortor vulputate id. Etiam ultricies eget enim ac malesuada. Cras rhoncus id magna vel tempus. In hac habitasse platea dictumst. Aenean nisi enim, feugiat ut erat vitae, rutrum dapibus justo. Suspendisse suscipit scelerisque enim, vitae mattis eros auctor eget. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent maximus odio vel auctor facilisis. Etiam sollicitudin ligula vel quam aliquam egestas. Maecenas auctor eros ante, non tempor ante ullamcorper vel. Etiam eu orci eget turpis tincidunt porta. Quisque ultrices id tellus dignissim ultrices. Donec semper felis nec congue porttitor.

Aliquam erat volutpat. In mollis urna nisi, eu placerat dolor eleifend venenatis. Nunc tortor risus, feugiat ac ullamcorper eget, vulputate vitae libero. Nullam fringilla sem nunc, id congue sapien euismod eget. Ut sollicitudin vitae quam eget fermentum. Vivamus porta est augue, et vehicula felis molestie non. Donec fringilla eros turpis, eget consectetur nulla dapibus non. Sed vitae diam ipsum. Phasellus porttitor venenatis vehicula. Aliquam consectetur nisl erat, at fermentum nisi imperdiet vitae. Nam sapien lectus, pulvinar sed mi eu, pellentesque tincidunt nulla. Integer in molestie ante. Sed mattis nulla at dui bibendum hendrerit. Sed interdum faucibus mauris, quis imperdiet erat maximus maximus. Nulla nunc mauris, finibus at consectetur ac, vehicula sit amet est.

Donec euismod eros dui, vitae rutrum orci porta vitae. Quisque volutpat enim erat, euismod sollicitudin eros mollis quis. Morbi elementum elit eu metus iaculis commodo. Quisque cursus lobortis quam, vel posuere elit. Duis mauris magna, ultricies nec imperdiet sed, mollis fermentum sapien. Donec tellus lectus, aliquet sit amet quam sit amet, porttitor consectetur leo. Aenean sit amet dapibus lorem, eu imperdiet elit. Phasellus dui dui, feugiat ut felis id, condimentum ornare sapien.

Morbi vitae interdum diam, nec consequat ante. Proin interdum semper ante vel vulputate. Maecenas non quam non mauris maximus ultricies. Donec ac dictum arcu. Proin consectetur laoreet elit, eu scelerisque ex ullamcorper vel. Duis tristique tempor gravida. Fusce vehicula, ligula interdum imperdiet egestas, metus sapien cursus erat, id consequat massa lacus sed est. Aliquam aliquet urna augue, ac imperdiet mi ullamcorper id. Integer sed diam eget magna suscipit maximus ut vel enim.

Morbi vitae interdum diam, nec consequat ante. Proin interdum semper ante vel vulputate. Maecenas non quam non mauris maximus ultricies. Donec ac dictum arcu. Proin consectetur laoreet elit, eu scelerisque ex ullamcorper vel. Duis tristique tempor gravida. Fusce vehicula, ligula interdum imperdiet egestas, metus sapien cursus erat, id consequat massa lacus sed est. Aliquam aliquet urna

\clearpage

\InsertBoxL{0}{\includegraphics[height=4cm]{example-image}} \noindent augue, ac imperdiet mi ullamcorper id. Integer sed diam eget magna suscipit maximus ut vel enim.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut lacinia euismod sollicitudin. Phasellus sit amet accumsan magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque congue eros ut nibh fermentum, sit amet consectetur leo semper. Sed elementum, dolor sed tempus finibus, metus nulla pellentesque nulla, vel consequat sapien dolor vel tortor. In at purus velit. Cras vel turpis quis ligula aliquam feugiat. Donec varius libero a magna luctus laoreet. Duis tellus lectus, facilisis at dui a, blandit mollis odio. Nullam quis enim at mauris interdum auctor vel sit amet dui. Mauris luctus egestas tempor. Praesent luctus neque eget libero fermentum, vitae auctor nibh iaculis. Ut a leo consectetur, maximus metus vitae, congue nunc.

Nulla vel suscipit tellus. Duis sed enim aliquet, rutrum ipsum vel, ultrices erat. Quisque lobortis efficitur lectus, id suscipit tortor vulputate id. Etiam ultricies eget enim ac malesuada. Cras rhoncus id magna vel tempus. In hac habitasse platea dictumst. Aenean nisi enim, feugiat ut erat vitae, rutrum dapibus justo. Suspendisse suscipit scelerisque enim, vitae mattis eros auctor eget. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent maximus odio vel auctor facilisis. Etiam sollicitudin ligula vel quam aliquam egestas. Maecenas auctor eros ante, non tempor ante ullamcorper vel. Etiam eu orci eget turpis tincidunt porta. Quisque ultrices id tellus dignissim ultrices. Donec semper felis nec congue porttitor.

Aliquam erat volutpat. In mollis urna nisi, eu placerat dolor eleifend venenatis. Nunc tortor risus, feugiat ac ullamcorper eget, vulputate vitae libero. Nullam fringilla sem nunc, id congue sapien euismod eget. Ut sollicitudin vitae quam eget fermentum. Vivamus porta est augue, et vehicula felis molestie non. Donec fringilla eros turpis, eget consectetur nulla dapibus non. Sed vitae diam ipsum. Phasellus porttitor venenatis vehicula. Aliquam consectetur nisl erat, at fermentum nisi imperdiet vitae. Nam sapien lectus, pulvinar sed mi eu, pellentesque tincidunt nulla. Integer in molestie ante. Sed mattis nulla at dui bibendum hendrerit. Sed interdum faucibus mauris, quis imperdiet erat maximus maximus. Nulla nunc mauris, finibus at consectetur ac, vehicula sit amet est.

\InsertBoxL{3}{\includegraphics[height=4.0cm]{example-image}}[-1] Donec euismod eros dui, vitae rutrum orci porta vitae. Quisque volutpat enim erat, euismod sollicitudin eros mollis quis. Morbi elementum elit eu metus iaculis commodo. Quisque cursus lobortis quam, vel posuere elit. Duis mauris magna, ultricies nec imperdiet sed, mollis fermentum sapien. Donec tellus lectus, aliquet sit amet quam sit amet, porttitor consectetur leo. Aenean sit amet dapibus lorem, eu imperdiet elit. Phasellus dui dui, feugiat ut felis id, condimentum ornare sapien.

Morbi vitae interdum diam, nec consequat ante. Proin interdum semper ante vel vulputate. Maecenas non quam non mauris maximus ultricies. Donec ac dictum arcu. Proin consectetur laoreet elit, eu scelerisque ex ullamcorper vel. Duis tristique tempor gravida. Fusce vehicula, ligula interdum imperdiet egestas, metus sapien cursus erat, id consequat massa lacus sed est. Aliquam aliquet urna augue, ac imperdiet mi ullamcorper id. Integer sed diam eget magna suscipit maximus.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut lacinia euismod sollicitudin. Phasel-lus sit amet accumsan magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque congue eros ut nibh fermentum, sit amet consectetur leo semper. Sed elementum, dolor sed tempus finibus, metus nulla pellentesque nulla, vel consequat sapien dolor vel tortor. In at purus velit. Cras vel turpis quis ligula aliquam feugiat. Donec varius libero a magna luctus laoreet. Duis tellus lectus, facilisis at dui a, blandit mollis odio. Nullam quis enim at mauris interdum auctor vel sit amet dui. Mauris luctus egestas tempor. Praesent luctus neque eget libero fermentum, vitae auctor nibh iaculis. Ut a leo consectetur, maximus metus vitae, congue nunc.

Nulla vel suscipit tellus. Duis sed enim aliquet, rutrum ipsum vel, ultrices erat. Quisque lobortis efficitur lectus, id suscipit tortor vulputate id. Etiam ultricies eget enim ac malesuada. Cras rhoncus id magna vel tempus. In hac habitasse platea dictumst. Aenean nisi enim, feugiat ut erat vitae, rutrum dapibus justo. Suspendisse suscipit scelerisque enim, vitae mattis eros auctor eget. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent maximus odio vel auctor facilisis. Etiam sollicitudin ligula vel quam aliquam egestas. Maecenas auctor eros ante, non tempor ante ullamcorper vel. Etiam eu orci eget turpis tincidunt porta. Quisque ultrices id tellus dignissim ultrices. Donec semper felis nec congue porttitor.

\InsertBoxL{0}{\includegraphics[width=5cm]{example-image}} Aliquam erat volutpat. In mollis urna nisi, eu placerat dolor eleifend venenatis. Nunc tortor risus, feugiat ac ullamcorper eget, vulputate vitae libero. Nullam fringilla sem nunc, id congue sapien euismod eget. Ut sollicitudin vitae quam eget fermentum. Vivamus porta est augue, et vehicula felis molestie non. Donec fringilla eros turpis, eget consectetur nulla dapibus non. Sed vitae diam ipsum. Phasellus porttitor venenatis vehicula. Aliquam consectetur nisl erat, at fermentum nisi imperdiet vitae. Nam sapien lectus, pulvinar sed mi eu, pellentesque tincidunt nulla. Integer in molestie ante. Sed mattis nulla at dui bibendum hendrerit. Sed interdum faucibus mauris, quis imperdiet erat maximus maximus. Nulla nunc mauris, finibus at consectetur ac, vehicula sit amet est.

Donec euismod eros dui, vitae rutrum orci porta vitae. Quisque volutpat enim erat, euismod sollicitudin eros mollis quis. Morbi elementum elit eu metus iaculis commodo. Quisque cursus lobortis quam, vel posuere elit. Duis mauris magna, ultricies nec imperdiet sed, mollis fermentum sapien. Donec tellus lectus, aliquet sit amet quam sit amet, porttitor consectetur leo. Aenean sit amet dapibus lorem, eu imperdiet elit. Phasellus dui dui, feugiat ut felis id, condimentum ornare sapien.

Morbi vitae interdum diam, nec consequat ante. Proin interdum semper ante vel vulputate. Maecenas non quam non mauris maximus ultricies. Donec ac dictum arcu. Proin consectetur laoreet elit, eu scelerisque ex ullamcorper vel. Duis tristique tempor gravida. Fusce vehicula, ligula interdum imperdiet egestas, metus sapien cursus erat, id consequat massa lacus sed est. Aliquam aliquet urna augue, ac imperdiet mi ullamcorper id. Integer sed diam eget magna suscipit maximus ut vel enim.

\end{document}

Result:

enter image description here

quark67
  • 4,166

2 Answers2

3

If I run your first example, the package warns

+--------------------------------------------------------------+
| The box will not fit in the page. Please, re-edit your text. |
+--------------------------------------------------------------+

as the image is too low. If I remove some text at the start so the document starts

\lipsum[1-2]
\lipsum[1]

I get

So this does not appear to be a package bug as the package is warning you that it can not place the image at that position.


With the update note insbox is very old and written for plain Tex so it's not that surprising that it needs help sometimes. It seems to struggle with images near the page break but you can always make the page breaks explicit and help it:

Here I just forced a page break at the same place the automatic page break happened and started a faked rest-of paragraph on the next page.

so the second image included by


\InsertBoxL{3}{\includegraphics[height=4.0cm]{example-image}}[-1]
Donec euismod eros dui, vitae rutrum orci porta vitae. Quisque volutpat enim erat, euismod sollicitudin eros mollis quis. Morbi elementum elit eu metus iaculis commodo. Quisque cursus lobortis quam, vel posuere elit. Duis mauris magna, ultricies nec imperdiet sed, mollis fermentum sapien. Donec tellus lectus, aliquet sit amet quam sit amet, porttitor consectetur leo. Aenean sit amet dapibus lorem, eu imperdiet elit. Phasellus dui dui, feugiat ut felis id, condimentum ornare sapien.

Morbi vitae interdum diam, nec consequat ante. Proin interdum semper ante vel vulputate. Maecenas non quam non mauris maximus ultricies. Donec ac dictum arcu. Proin consectetur laoreet elit, eu scelerisque ex ullamcorper vel. Duis tristique tempor gravida. Fusce vehicula, ligula interdum imperdiet egestas, metus sapien cursus erat, id consequat massa lacus sed est. Aliquam aliquet{\parfillskip=0pt\par}

\MoveBelowBox \clearpage

\noindent urna augue, ac imperdiet mi ullamcorper id. Integer sed diam eget magna suscipit maximus.

David Carlisle
  • 757,742
  • My apology, my editor has not explicitely shown the warning. But If I try the last example, and comment the two lines before end document, I also obtain the warning. Why? The place is suffisant, not? – quark67 Sep 06 '21 at 07:35
  • @quark67 If your editor is not showing you warnings from the log you should configure it to do so, or always look at the log (or at least the terminal output) from every run. – David Carlisle Sep 06 '21 at 07:37
  • @quark67 no the image does not fit in the example you describe. if you add \clearpage after the second line to force the page break before the figure then you get no warning and the expected output. – David Carlisle Sep 06 '21 at 07:40
  • I wasn't aware about the necessity to use \clearpage before having a wrapped paragraphe at the top of a page. So my entire post is a mistake, it's nothing about the geometry of the page. What to do? – quark67 Sep 06 '21 at 08:13
  • @quark67 Just accept one of the answers and move on I guess. Basically the answer is "don't ignore package warnings" – David Carlisle Sep 06 '21 at 08:57
  • I'm sorry, I still don't understand why my new added image don't wrap the text. And I don't have warnings. Must I update my question or create a new one? As I use dummy lorem ipsum text (so I can cut a paragraph anywhere, if needed) the code is long (1500 words). – quark67 Sep 06 '21 at 13:47
  • some people get upset if you change the question after answering it but in this case it's fine as this answer doesn't really say much other than there is no problem. – David Carlisle Sep 06 '21 at 13:50
2

You are changing the geometry and so the image doesn't fit. insbox is warning you about it:

+--------------------------------------------------------------+
| The box will not fit in the page. Please, re-edit your text. |
+--------------------------------------------------------------+

To get rid of the "shadow" cut outs, replace \lipsum[1-3] by

\lipsum[1] \lipsum[1] \lipsum[1]

Then every one is a paragraph of its own and doesn't inherit the settings of the first.

Ulrike Fischer
  • 327,261
  • Thanks, this also help, I made the mistake to use generated text for concise mwe. I wasn't aware about the necessity to use \clearpage. – quark67 Sep 06 '21 at 08:14