Tufte-LaTeX / tufte-latex

A Tufte-inspired LaTeX class for producing handouts, papers, and books
https://tufte-latex.github.io/tufte-latex/
1.68k stars 302 forks source link

Tufte-book consistently makes errors in page parity and captioning in margins #144

Open DavidGStork opened 5 years ago

DavidGStork commented 5 years ago

I'm writing a large book in Tufte (LaTeX) in TeXShop on a Mac (OS 10.12.6 Sierra)

\documentclass[twoside,symmetric]{tufte-book}

and consistently get page parity problems... mixing even and odd, and putting figure captions on the wrong side or moving the whole figure and caption, as shown here:

TufteBookProblem.pdf

I'm now certain this is a bug and really hope someone can fix the tufte-book style file!

dtabell commented 5 years ago

Dear David,

Have you tried using either of the commands \forceversofloat or \forcerectofloat? For details see p. 25 of the sample-book.

Cheers, Dan

On 29 Apr 2019, at 21:39, DavidGStork notifications@github.com wrote:

I'm writing a large book in Tufte ($\LaTeX$)

\documentclass[twoside,symmetric]{tufte-book}

and consistently get page parity problems... mixing even and odd, and putting figure captions on the wrong side or moving the whole figure and caption, as shown here:

TufteBookProblem.pdf https://github.com/Tufte-LaTeX/tufte-latex/files/3129880/TufteBookProblem.pdf I'm now certain this is a bug and really hope someone can fix it!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Tufte-LaTeX/tufte-latex/issues/144, or mute the thread https://github.com/notifications/unsubscribe-auth/ACXTUHDIFG65ULTNGZ2MKK3PS65QHANCNFSM4HJII5LQ.

DavidGStork commented 5 years ago

Dan,

Thanks for your suggestion. I just learned about those commands this morning and I will try them later today.

As I understand them they should allow me to force a figure to "think" it is on an even or an odd page, and presumably be typeset properly. However, I will be editing my book many many times, so each figure will sometimes be on an even page, sometimes on an odd page, and I certainly don't want to have to go through the entire book (500 pages!) each time and hand-force each figure into the proper page parity. I think the tufte-book.sty should be fixed once and for all.

I'll try, though, and let you know how things progress.

Thanks again.

--David G. Stork

On Tue, Apr 30, 2019 at 11:58 AM Dan T. Abell notifications@github.com wrote:

Dear David,

Have you tried using either of the commands \forceversofloat or \forcerectofloat? For details see p. 25 of the sample-book.

Cheers, Dan

On 29 Apr 2019, at 21:39, DavidGStork notifications@github.com wrote:

I'm writing a large book in Tufte ($\LaTeX$)

\documentclass[twoside,symmetric]{tufte-book}

and consistently get page parity problems... mixing even and odd, and putting figure captions on the wrong side or moving the whole figure and caption, as shown here:

TufteBookProblem.pdf < https://github.com/Tufte-LaTeX/tufte-latex/files/3129880/TufteBookProblem.pdf

I'm now certain this is a bug and really hope someone can fix it!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144>, or mute the thread < https://github.com/notifications/unsubscribe-auth/ACXTUHDIFG65ULTNGZ2MKK3PS65QHANCNFSM4HJII5LQ .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488073666, or mute the thread https://github.com/notifications/unsubscribe-auth/AL6OIS5FXJQA4A3LNGAT5ITPTCJFRANCNFSM4HJII5LQ .

dtabell commented 5 years ago

Dear David,

Let us know how the commands work for you.

Interacting with the LaTeX float mechanism is challenging, hence the need for the \force*float commands. I'm not even sure that “fixing tufte-book.sty” is really doable in the sense you and all other fans of Tufte-LaTeX desire. (How I would love to be proved wrong!)

It is perfectly understandable that you do not want to sort through 500 some pages to hand-force each figure. Please don't. The Tao of LaTeX (as you surely know) is to insert formatting tweaks on the last pass. Yes, you have to ignore those misplaced captions, but think of it as an opportunity to practice your Zen. ;-)

I tend to tweak the formatting on a chapter-by-chapter basis. This does not work well if your chapters begin sometimes on a recto page and sometimes on a verso. Some people solve this problem with a \cleardoublepage, or \clearemptydoublepage, to force all chapters to begin on a recto page. This works nicely if one uses the twoside option (as you do) and wants to hand out printed copies of a single chapter. The drawback, of course, is that you sometimes have a big gleaming blank page of wasted space staring out at you from some of your double-page spreads.

You may have noticed that in most of Tufte’s self-published books (the exception is VDQI) every single chapter opens on a double- page spread, and every single chapter closes on a non-empty double-page spread. This did not happen by chance! Have a look through his chapters, and you will see that some spreads run short or long compared to others. That and, I assume, some artful adjustment to figure sizes enables Tufte to eliminate those gleaming blank pages. I imagine that Tufte will even rewrite a sentence or a paragraph to achieve his aim—as long as said rewrite improves both textual and visual presentations.

To mimic what Tufte does, you can use the commands \enlargethispage{\baselineskip} and \enlargethispage{-\baselineskip} to increase or decrease the number of lines on a page. But, as with the \force*float commands, you should postpone such tweaks until your last pass through a given chapter.

Cheers, Dan

On 30 Apr 2019, at 13:15, DavidGStork notifications@github.com wrote:

Dan,

Thanks for your suggestion. I just learned about those commands this morning and I will try them later today.

As I understand them they should allow me to force a figure to "think" it is on an even or an odd page, and presumably be typeset properly. However, I will be editing my book many many times, so each figure will sometimes be on an even page, sometimes on an odd page, and I certainly don't want to have to go through the entire book (500 pages!) each time and hand-force each figure into the proper page parity. I think the tufte-book.sty should be fixed once and for all.

I'll try, though, and let you know how things progress.

Thanks again.

--David G. Stork

On Tue, Apr 30, 2019 at 11:58 AM Dan T. Abell notifications@github.com wrote:

Dear David,

Have you tried using either of the commands \forceversofloat or \forcerectofloat? For details see p. 25 of the sample-book.

Cheers, Dan

On 29 Apr 2019, at 21:39, DavidGStork notifications@github.com wrote:

I'm writing a large book in Tufte ($\LaTeX$)

\documentclass[twoside,symmetric]{tufte-book}

and consistently get page parity problems... mixing even and odd, and putting figure captions on the wrong side or moving the whole figure and caption, as shown here:

TufteBookProblem.pdf < https://github.com/Tufte-LaTeX/tufte-latex/files/3129880/TufteBookProblem.pdf

I'm now certain this is a bug and really hope someone can fix it!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144>, or mute the thread < https://github.com/notifications/unsubscribe-auth/ACXTUHDIFG65ULTNGZ2MKK3PS65QHANCNFSM4HJII5LQ .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488073666, or mute the thread https://github.com/notifications/unsubscribe-auth/AL6OIS5FXJQA4A3LNGAT5ITPTCJFRANCNFSM4HJII5LQ .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488079375, or mute the thread https://github.com/notifications/unsubscribe-auth/ACXTUHFPAJWIPJG7MIUHTKDPTCLELANCNFSM4HJII5LQ.

DavidGStork commented 5 years ago

Dan,

Each chapter begins on the right-hand page, so indeed each tweaking is chapter-by-chapter—a bit simpler than the general case.

I'll get back to you later today or tomorrow after I test the proposed hack.

I do think, though, that there is a fundamental error in tufte-book.sty. I've written several thousand pages of LaTeX, including a best-selling textbook https://www.amazon.com/Pattern-Classification-Pt-1-Richard-Duda/dp/0471056693/ref=sr_1_1?keywords=duda+hart+stork&qid=1556660072&s=gateway&sr=8-1 and its 450-page dense Solution Manual, and am comfortable tweaking pages, page breaks and such. Tufte-book is fundamentally different. "Tweaks" cannot fix the layout problems. I'm honestly worried that there is simply no "tweak" that forces some figures to have the proper page parity, to extend to the proper column width, and so on. (One of the posters on tex.stackexchange concluded that there are fundamental bugs in Tufte-book.)

Oh... I can send you a single chapter, if you'd like to see how complicated it all gets. (But be forewarned: each chapter is about 50 Mbytes!).

--David Stork

On Tue, Apr 30, 2019 at 2:18 PM Dan T. Abell notifications@github.com wrote:

Dear David,

Let us know how the commands work for you.

Interacting with the LaTeX float mechanism is challenging, hence the need for the \force*float commands. I'm not even sure that “fixing tufte-book.sty” is really doable in the sense you and all other fans of Tufte-LaTeX desire. (How I would love to be proved wrong!)

It is perfectly understandable that you do not want to sort through 500 some pages to hand-force each figure. Please don't. The Tao of LaTeX (as you surely know) is to insert formatting tweaks on the last pass. Yes, you have to ignore those misplaced captions, but think of it as an opportunity to practice your Zen. ;-)

I tend to tweak the formatting on a chapter-by-chapter basis. This does not work well if your chapters begin sometimes on a recto page and sometimes on a verso. Some people solve this problem with a \cleardoublepage, or \clearemptydoublepage, to force all chapters to begin on a recto page. This works nicely if one uses the twoside option (as you do) and wants to hand out printed copies of a single chapter. The drawback, of course, is that you sometimes have a big gleaming blank page of wasted space staring out at you from some of your double-page spreads.

You may have noticed that in most of Tufte’s self-published books (the exception is VDQI) every single chapter opens on a double- page spread, and every single chapter closes on a non-empty double-page spread. This did not happen by chance! Have a look through his chapters, and you will see that some spreads run short or long compared to others. That and, I assume, some artful adjustment to figure sizes enables Tufte to eliminate those gleaming blank pages. I imagine that Tufte will even rewrite a sentence or a paragraph to achieve his aim—as long as said rewrite improves both textual and visual presentations.

To mimic what Tufte does, you can use the commands \enlargethispage{\baselineskip} and \enlargethispage{-\baselineskip} to increase or decrease the number of lines on a page. But, as with the \force*float commands, you should postpone such tweaks until your last pass through a given chapter.

Cheers, Dan

On 30 Apr 2019, at 13:15, DavidGStork notifications@github.com wrote:

Dan,

Thanks for your suggestion. I just learned about those commands this morning and I will try them later today.

As I understand them they should allow me to force a figure to "think" it is on an even or an odd page, and presumably be typeset properly. However, I will be editing my book many many times, so each figure will sometimes be on an even page, sometimes on an odd page, and I certainly don't want to have to go through the entire book (500 pages!) each time and hand-force each figure into the proper page parity. I think the tufte-book.sty should be fixed once and for all.

I'll try, though, and let you know how things progress.

Thanks again.

--David G. Stork

On Tue, Apr 30, 2019 at 11:58 AM Dan T. Abell notifications@github.com wrote:

Dear David,

Have you tried using either of the commands \forceversofloat or \forcerectofloat? For details see p. 25 of the sample-book.

Cheers, Dan

On 29 Apr 2019, at 21:39, DavidGStork notifications@github.com wrote:

I'm writing a large book in Tufte ($\LaTeX$)

\documentclass[twoside,symmetric]{tufte-book}

and consistently get page parity problems... mixing even and odd, and putting figure captions on the wrong side or moving the whole figure and caption, as shown here:

TufteBookProblem.pdf <

https://github.com/Tufte-LaTeX/tufte-latex/files/3129880/TufteBookProblem.pdf

I'm now certain this is a bug and really hope someone can fix it!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144>, or mute the thread <

https://github.com/notifications/unsubscribe-auth/ACXTUHDIFG65ULTNGZ2MKK3PS65QHANCNFSM4HJII5LQ

.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488073666 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AL6OIS5FXJQA4A3LNGAT5ITPTCJFRANCNFSM4HJII5LQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488079375>, or mute the thread < https://github.com/notifications/unsubscribe-auth/ACXTUHFPAJWIPJG7MIUHTKDPTCLELANCNFSM4HJII5LQ .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488119326, or mute the thread https://github.com/notifications/unsubscribe-auth/AL6OISZ6QXZXTQUSHVT2OQTPTCZS5ANCNFSM4HJII5LQ .

DavidGStork commented 5 years ago

Dan,

I confirmed that \forceversofloat works as advertised. A very valuable option.... thanks for pointing it out.

However this is not a fully satisfactory solution because I set \forceversofloat and \forcerectofloat, as appropriate, but later when I add more text, some of the figures get pushed to new pages and must have this command switched.

Isn't there a way to have an even-versus-odd page identity implement the appropriate command?

Or really: Isn't there a way to fix the Tufte-book.sty file so this problem never arrives in the first place?

--David

On Tue, Apr 30, 2019 at 2:40 PM David Stork davidgstork@gmail.com wrote:

Dan,

Each chapter begins on the right-hand page, so indeed each tweaking is chapter-by-chapter—a bit simpler than the general case.

I'll get back to you later today or tomorrow after I test the proposed hack.

I do think, though, that there is a fundamental error in tufte-book.sty. I've written several thousand pages of LaTeX, including a best-selling textbook https://www.amazon.com/Pattern-Classification-Pt-1-Richard-Duda/dp/0471056693/ref=sr_1_1?keywords=duda+hart+stork&qid=1556660072&s=gateway&sr=8-1 and its 450-page dense Solution Manual, and am comfortable tweaking pages, page breaks and such. Tufte-book is fundamentally different. "Tweaks" cannot fix the layout problems. I'm honestly worried that there is simply no "tweak" that forces some figures to have the proper page parity, to extend to the proper column width, and so on. (One of the posters on tex.stackexchange concluded that there are fundamental bugs in Tufte-book.)

Oh... I can send you a single chapter, if you'd like to see how complicated it all gets. (But be forewarned: each chapter is about 50 Mbytes!).

--David Stork

On Tue, Apr 30, 2019 at 2:18 PM Dan T. Abell notifications@github.com wrote:

Dear David,

Let us know how the commands work for you.

Interacting with the LaTeX float mechanism is challenging, hence the need for the \force*float commands. I'm not even sure that “fixing tufte-book.sty” is really doable in the sense you and all other fans of Tufte-LaTeX desire. (How I would love to be proved wrong!)

It is perfectly understandable that you do not want to sort through 500 some pages to hand-force each figure. Please don't. The Tao of LaTeX (as you surely know) is to insert formatting tweaks on the last pass. Yes, you have to ignore those misplaced captions, but think of it as an opportunity to practice your Zen. ;-)

I tend to tweak the formatting on a chapter-by-chapter basis. This does not work well if your chapters begin sometimes on a recto page and sometimes on a verso. Some people solve this problem with a \cleardoublepage, or \clearemptydoublepage, to force all chapters to begin on a recto page. This works nicely if one uses the twoside option (as you do) and wants to hand out printed copies of a single chapter. The drawback, of course, is that you sometimes have a big gleaming blank page of wasted space staring out at you from some of your double-page spreads.

You may have noticed that in most of Tufte’s self-published books (the exception is VDQI) every single chapter opens on a double- page spread, and every single chapter closes on a non-empty double-page spread. This did not happen by chance! Have a look through his chapters, and you will see that some spreads run short or long compared to others. That and, I assume, some artful adjustment to figure sizes enables Tufte to eliminate those gleaming blank pages. I imagine that Tufte will even rewrite a sentence or a paragraph to achieve his aim—as long as said rewrite improves both textual and visual presentations.

To mimic what Tufte does, you can use the commands \enlargethispage{\baselineskip} and \enlargethispage{-\baselineskip} to increase or decrease the number of lines on a page. But, as with the \force*float commands, you should postpone such tweaks until your last pass through a given chapter.

Cheers, Dan

On 30 Apr 2019, at 13:15, DavidGStork notifications@github.com wrote:

Dan,

Thanks for your suggestion. I just learned about those commands this morning and I will try them later today.

As I understand them they should allow me to force a figure to "think" it is on an even or an odd page, and presumably be typeset properly. However, I will be editing my book many many times, so each figure will sometimes be on an even page, sometimes on an odd page, and I certainly don't want to have to go through the entire book (500 pages!) each time and hand-force each figure into the proper page parity. I think the tufte-book.sty should be fixed once and for all.

I'll try, though, and let you know how things progress.

Thanks again.

--David G. Stork

On Tue, Apr 30, 2019 at 11:58 AM Dan T. Abell <notifications@github.com

wrote:

Dear David,

Have you tried using either of the commands \forceversofloat or \forcerectofloat? For details see p. 25 of the sample-book.

Cheers, Dan

On 29 Apr 2019, at 21:39, DavidGStork notifications@github.com wrote:

I'm writing a large book in Tufte ($\LaTeX$)

\documentclass[twoside,symmetric]{tufte-book}

and consistently get page parity problems... mixing even and odd, and putting figure captions on the wrong side or moving the whole figure and caption, as shown here:

TufteBookProblem.pdf <

https://github.com/Tufte-LaTeX/tufte-latex/files/3129880/TufteBookProblem.pdf

I'm now certain this is a bug and really hope someone can fix it!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144>, or mute the thread <

https://github.com/notifications/unsubscribe-auth/ACXTUHDIFG65ULTNGZ2MKK3PS65QHANCNFSM4HJII5LQ

.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488073666 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AL6OIS5FXJQA4A3LNGAT5ITPTCJFRANCNFSM4HJII5LQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488079375>, or mute the thread < https://github.com/notifications/unsubscribe-auth/ACXTUHFPAJWIPJG7MIUHTKDPTCLELANCNFSM4HJII5LQ .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-488119326, or mute the thread https://github.com/notifications/unsubscribe-auth/AL6OISZ6QXZXTQUSHVT2OQTPTCZS5ANCNFSM4HJII5LQ .

Daniel-Dane commented 4 years ago

Put this immediately after your \begin{figure} and \begin{table}:

\checkoddpage \ifoddpage \forcerectofloat \else \forceversofloat \fi

You need to compile twice (maybe even thrice if your figures pile up) to get things right.

DavidGStork commented 4 years ago

Oh.... thanks so much! This works!

--David Stork

On Thu, Aug 13, 2020 at 1:51 AM Daniel-Dane notifications@github.com wrote:

Put this immediately after your \begin{figure} and \begin{table}:

\checkoddpage \ifoddpage \forcerectofloat \else \forceversofloat \fi

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Tufte-LaTeX/tufte-latex/issues/144#issuecomment-673351503, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL6OISZNPZSIMVTUIOHGIMLSAOSQTANCNFSM4HJII5LQ .

bartneck commented 7 months ago

Thank you for this solution. It saved my day!