On Sun, Feb 09, 2020 at 12:46:33AM +0900, Akira Yokosawa wrote: > On Sat, 8 Feb 2020 07:18:43 -0800, Paul E. McKenney wrote: > > On Sat, Feb 08, 2020 at 11:44:13PM +0900, Akira Yokosawa wrote: > >> On Sat, 8 Feb 2020 05:03:58 -0800, Paul E. McKenney wrote: > >>> On Sat, Feb 08, 2020 at 09:03:10PM +0900, Akira Yokosawa wrote: > >>>> >From 66df1c9aaaefb2ef5ccfd0c23837b33218a24f30 Mon Sep 17 00:00:00 2001 > >>>> From: Akira Yokosawa <akiyks@xxxxxxxxx> > >>>> Date: Sat, 8 Feb 2020 08:29:08 +0900 > >>>> Subject: [PATCH] SMPdesign: Fix meaningless consecutive blank pages > >>>> > >>>> In the introduction of Dining Philosophers, there is two-page > >>>> "think about it" gap before presenting an answer. > >>>> > >>>> Let's see what we need for print editions. > >>>> > >>>> When the question is on an odd page, the answer can be on the next page > >>>> (the other side of the question's page). > >>>> When the question is on an even page, the answer should be on the > >>>> next even page to prevent it from being spotted too early. > >>>> > >>>> For electronic editions, there needs to be a gap of at least one > >>>> page regardless of the question's position. > >>>> > >>>> As \cleardoublepage changes its behavior depending on whether it is > >>>> on an odd page (one blank page) or on an even page (nothing), it > >>>> can not cover the requirement for electronic editions. > >>>> > >>>> For our purpose, the sequence of \clearpage, "((Intentional blank page)", > >>>> and another \clearpage should suffice. > >>>> > >>>> Reported-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > >>>> Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> > >>> > >>> I have queued this, thank you! > >>> > >>> It works as desired with the current setup because the discussion and the > >>> reveal both end up on even pages. You can check this using the "evince" > >>> PDF viewer by putting it into two-page mode (apologies for not saying > >>> so earlier, but I just now remembered myself). > >>> > >>> Wasting the single page isn't a disaster, as you say, but could the > >>> trick shown here avoid even that? > >>> > >>> https://tex.stackexchange.com/questions/6143/if-then-else-for-odd-page-even-page > >>> > >>> I tried this (but leaving out the recommended \strictpagecheck, which > >>> might mean that there could be errors when this occurs near the beginning > >>> of a page?) and it seems to handle both cases. Please see below for a > >>> patchlet on top of your patch. > >> > >> I've not tested it yet, but I think this trick should be enabled only > >> for print editions. > >> I'm wondering what is the right option to distinguish print editions > >> from electronic editions. > >> > >> One way would be to update autodate.sh and define a boolean as true > >> in autodate.tex when you have a tag of "Edition.nP". > >> > >> Does this sound reasonable to you? > > > > It would, except that people really do print non-print editions and > > sometimes they print releases or even random points in the git history. > > So I do not believe that we should distinguish. > > For e-readers, this trick would present Figure 6.4 just next to the > question in contiguous display mode if the question lands on an even page, > which is not ideal for first-time readers. > > So I don't like to enable this trick all the time. > > Or, how about enabling it for 2c layouts only, which most people would > choose to print out. > > Another completely different approach would be to put the answer part > and Figure 6.4 into an Answer to a Quick Quiz. > Then we wouldn't need to play with \clearpage commands. > > Thoughts? You know, this might well be the best approach, the additional quick quizzes notwithstanding. Let me give it some thought, maybe I should just have a list of answers. > > But if there is ever a reliable way to produce an ereader format, then > > agreed, we would want to distinguish. Or if we could figure out that > > the reader was reading it on a smartphone. > > > > Or am I missing a trick here? > > It sounds like we are talking about something different, aren't we? ;-) Which can sometimes be quite productive. Sometimes. ;-) Thanx, Paul > Thanks, Akira > > > > > Thanx, Paul > > > >> Thanks, Akira > >> > >>> > >>> If this really works, could you please fold it into your patch with any > >>> needed adjustments? If it is broken in some way, well, I do have your > >>> existing patch which does represent a much-appreciated improvement! > >>> > >>> Thanx, Paul > >>> > >>> ------------------------------------------------------------------------ > >>> > >>> diff --git a/SMPdesign/partexercises.tex b/SMPdesign/partexercises.tex > >>> index 4ceaefe..82de2b9 100644 > >>> --- a/SMPdesign/partexercises.tex > >>> +++ b/SMPdesign/partexercises.tex > >>> @@ -84,6 +84,8 @@ there will be five forks available to four philosophers. > >>> At least one of these four will have two forks, and will thus be able > >>> to eat. > >>> > >>> +\clearpage // Comment out to see the other option. And move it around. > >>> + > >>> This general technique of numbering resources and acquiring them in > >>> numerical order is heavily used as a deadlock-prevention technique. > >>> However, it is easy to imagine a sequence of events that will result > >>> @@ -107,8 +109,12 @@ philosophers to eat concurrently. > >>> Please think about ways of partitioning the Dining Philosophers Problem > >>> before reading further. > >>> > >>> +\checkoddpage > >>> +\ifoddpage > >>> +\else > >>> \clearpage > >>> (Intentional blank page) > >>> +\fi > >>> \clearpage > >>> > >>> \begin{figure}[tb] > >>>