All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -perfbook 0/5] Misc fixes and updates
@ 2021-03-28  8:48 Akira Yokosawa
  2021-03-28  8:51 ` [PATCH -perfbook 1/5] index: Adjust settings respecting ebook-size build Akira Yokosawa
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-28  8:48 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Hi Paul,

This patch set consists of fixes/updates, some of which take care
of ebook-size build.

Patch 1/5 fixes truncated index pages in ebook-size build.
Patch 2/5 adds check of warning messages from makeindex, which are
sometimes hard to track down after the fact.
Patch 3/5 improves look of final pages of index.
I'd like final pages of chapters in two-column layout to be
balanced similarly, but have not succeeded.
Patch 4/5 fixes the wrong use of \Clnref{} macro, which I failed to
catch before the release of Second Edition.
Patch 5/5 fixes an orphaned heading of Section B.2 in ebook-size
build.

To build ebook-size PDF with index pages enabled, use the sequence
of command below:

    rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix

Resulting perfbook-ix.pdf will be of ebook size.
As was mentioned earlier, make error due to messages of
"LaTeX Warning: Float too large for page by ..." is expected
and can be ignored.

        Thanks, Akira

--
Akira Yokosawa (5):
  index: Adjust settings respecting ebook-size build
  runlatex.sh: Catch warning from makeindex early
  index: Enable balanced layout of last page of multi-column index
  together: Fix usage of \clnref{} for 'lines M and N'
  toyrcu: Move float away from section heading

 appendix/toyrcu/toyrcu.tex | 10 +++++-----
 perfbook-lt.tex            |  8 +++++---
 together/applyrcu.tex      |  2 +-
 utilities/runlatex.sh      |  5 +++++
 4 files changed, 16 insertions(+), 9 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH -perfbook 1/5] index: Adjust settings respecting ebook-size build
  2021-03-28  8:48 [PATCH -perfbook 0/5] Misc fixes and updates Akira Yokosawa
@ 2021-03-28  8:51 ` Akira Yokosawa
  2021-03-28  8:53 ` [PATCH -perfbook 2/5] runlatex.sh: Catch warning from makeindex early Akira Yokosawa
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-28  8:51 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

The \newgeometry{} command is for index pages in 1c-layout can have
three-column layout.
It is not necessary for ebook-size build.

Furthermore, ebook size can not afford the three-column index pages.
Use the two-column layout instead.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 perfbook-lt.tex | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/perfbook-lt.tex b/perfbook-lt.tex
index 1272fc95..8a29310d 100644
--- a/perfbook-lt.tex
+++ b/perfbook-lt.tex
@@ -545,15 +545,17 @@
 \cleardoublepage
 \phantomsection
 \IfTwoColumn{}{
+\IfEbookSize{\idxlayout{columns=2}}{
 \newgeometry{body={6.5in,8.25in},centering=true,columnsep=0.25in}
-}
+}}
 \printindex
 \cleardoublepage
 \phantomsection
 \printindex[api]
 \IfTwoColumn{}{
+\IfEbookSize{}{
 \restoregeometry
-}
+}}
 }{}
 
 % page-layout dimensions
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH -perfbook 2/5] runlatex.sh: Catch warning from makeindex early
  2021-03-28  8:48 [PATCH -perfbook 0/5] Misc fixes and updates Akira Yokosawa
  2021-03-28  8:51 ` [PATCH -perfbook 1/5] index: Adjust settings respecting ebook-size build Akira Yokosawa
@ 2021-03-28  8:53 ` Akira Yokosawa
  2021-03-28  8:55 ` [PATCH -perfbook 3/5] index: Enable balanced layout of last page of multi-column index Akira Yokosawa
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-28  8:53 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Better to fail early than to notice later by inspecting index pages.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 utilities/runlatex.sh | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/utilities/runlatex.sh b/utilities/runlatex.sh
index 2779cf68..5c7db65a 100644
--- a/utilities/runlatex.sh
+++ b/utilities/runlatex.sh
@@ -66,6 +66,11 @@ exerpt_warnings () {
 iterate_latex () {
 	makeindex $basename.idx > /dev/null 2>&1
 	makeindex $basename-api.idx > /dev/null 2>&1
+	if grep -q '## Warning' $basename.ilg $basename-api.ilg
+	then
+		echo "----- Warning in makeindex, see .ilg log files. -----"
+		exit 1
+	fi
 	pdflatex $LATEX_OPT $basename > /dev/null 2>&1 < /dev/null || :
 	if grep -q '! Emergency stop.' $basename.log
 	then
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH -perfbook 3/5] index: Enable balanced layout of last page of multi-column index
  2021-03-28  8:48 [PATCH -perfbook 0/5] Misc fixes and updates Akira Yokosawa
  2021-03-28  8:51 ` [PATCH -perfbook 1/5] index: Adjust settings respecting ebook-size build Akira Yokosawa
  2021-03-28  8:53 ` [PATCH -perfbook 2/5] runlatex.sh: Catch warning from makeindex early Akira Yokosawa
@ 2021-03-28  8:55 ` Akira Yokosawa
  2021-03-28  8:57 ` [PATCH -perfbook 4/5] together: Fix usage of \clnref{} for 'lines M and N' Akira Yokosawa
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-28  8:55 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Seeing this is the default of the idxlayout package and the result
looks better, remove the option disabling it.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 perfbook-lt.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/perfbook-lt.tex b/perfbook-lt.tex
index 8a29310d..1003b153 100644
--- a/perfbook-lt.tex
+++ b/perfbook-lt.tex
@@ -74,7 +74,7 @@
 \usepackage[breakable,skins]{tcolorbox}
 \usepackage[split,makeindex]{splitidx}
 \usepackage[nottoc]{tocbibind}
-\usepackage[columns=3,totoc,indentunit=12pt,justific=raggedright,font=small,columnsep=.15in,unbalanced]{idxlayout}
+\usepackage[columns=3,totoc,indentunit=12pt,justific=raggedright,font=small,columnsep=.15in]{idxlayout}
 \usepackage[bookmarks=true,bookmarksnumbered=true,pdfborder={0 0 0},linktoc=all]{hyperref}
 \usepackage{footnotebackref} % to enable cross-ref of footnote
 \usepackage[all]{hypcap} % for going to the top of figure and table
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH -perfbook 4/5] together: Fix usage of \clnref{} for 'lines M and N'
  2021-03-28  8:48 [PATCH -perfbook 0/5] Misc fixes and updates Akira Yokosawa
                   ` (2 preceding siblings ...)
  2021-03-28  8:55 ` [PATCH -perfbook 3/5] index: Enable balanced layout of last page of multi-column index Akira Yokosawa
@ 2021-03-28  8:57 ` Akira Yokosawa
  2021-03-28  8:58 ` [PATCH -perfbook 5/5] toyrcu: Move float away from section heading Akira Yokosawa
  2021-03-28 16:08 ` [PATCH -perfbook 0/5] Misc fixes and updates Paul E. McKenney
  5 siblings, 0 replies; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-28  8:57 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 together/applyrcu.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/together/applyrcu.tex b/together/applyrcu.tex
index bafda4e2..fb8645ee 100644
--- a/together/applyrcu.tex
+++ b/together/applyrcu.tex
@@ -156,7 +156,7 @@ is invoked by each newly created thread.
 	On the other hand, \co{count_unregister_thread()} can result
 	in the outgoing thread's work being double counted.
 	This can happen when \co{read_count()} is invoked between
-	lines~\Clnref{add} and~\Clnref{null}.
+	\clnref{add,null}.
 	There are efficient ways of avoiding this double-counting, but
 	these are left as an exercise for the reader.
 	\end{fcvref}
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH -perfbook 5/5] toyrcu: Move float away from section heading
  2021-03-28  8:48 [PATCH -perfbook 0/5] Misc fixes and updates Akira Yokosawa
                   ` (3 preceding siblings ...)
  2021-03-28  8:57 ` [PATCH -perfbook 4/5] together: Fix usage of \clnref{} for 'lines M and N' Akira Yokosawa
@ 2021-03-28  8:58 ` Akira Yokosawa
  2021-03-28 16:08 ` [PATCH -perfbook 0/5] Misc fixes and updates Paul E. McKenney
  5 siblings, 0 replies; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-28  8:58 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

This change prevents a potential orphaned heading (section heading
at the bottom of a page/column).
It also allows the removal of \NoIndentAfterThis macro.

The orphaned heading was observed in the ebook-size build.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 appendix/toyrcu/toyrcu.tex | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/appendix/toyrcu/toyrcu.tex b/appendix/toyrcu/toyrcu.tex
index 94177293..7dcf1ea3 100644
--- a/appendix/toyrcu/toyrcu.tex
+++ b/appendix/toyrcu/toyrcu.tex
@@ -36,7 +36,11 @@ provides a summary and a list of desirable RCU properties.
 
 \section{Lock-Based RCU}
 \label{sec:app:toyrcu:Lock-Based RCU}
-\NoIndentAfterThis
+
+Perhaps the simplest RCU implementation leverages locking, as
+shown in
+\cref{lst:app:toyrcu:Lock-Based RCU Implementation}
+(\path{rcu_lock.h} and \path{rcu_lock.c}).
 
 \begin{listing}[htbp]
 \input{CodeSamples/defer/rcu_lock@lock_unlock.fcv}\vspace*{-11pt}\fvset{firstnumber=last}
@@ -45,10 +49,6 @@ provides a summary and a list of desirable RCU properties.
 \label{lst:app:toyrcu:Lock-Based RCU Implementation}
 \end{listing}
 
-Perhaps the simplest RCU implementation leverages locking, as
-shown in
-\cref{lst:app:toyrcu:Lock-Based RCU Implementation}
-(\path{rcu_lock.h} and \path{rcu_lock.c}).
 In this implementation, \co{rcu_read_lock()} acquires a global
 spinlock, \co{rcu_read_unlock()} releases it, and
 \co{synchronize_rcu()} acquires it then immediately releases it.
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-28  8:48 [PATCH -perfbook 0/5] Misc fixes and updates Akira Yokosawa
                   ` (4 preceding siblings ...)
  2021-03-28  8:58 ` [PATCH -perfbook 5/5] toyrcu: Move float away from section heading Akira Yokosawa
@ 2021-03-28 16:08 ` Paul E. McKenney
  2021-03-28 22:15   ` Akira Yokosawa
  5 siblings, 1 reply; 14+ messages in thread
From: Paul E. McKenney @ 2021-03-28 16:08 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Sun, Mar 28, 2021 at 05:48:14PM +0900, Akira Yokosawa wrote:
> Hi Paul,
> 
> This patch set consists of fixes/updates, some of which take care
> of ebook-size build.
> 
> Patch 1/5 fixes truncated index pages in ebook-size build.
> Patch 2/5 adds check of warning messages from makeindex, which are
> sometimes hard to track down after the fact.
> Patch 3/5 improves look of final pages of index.
> I'd like final pages of chapters in two-column layout to be
> balanced similarly, but have not succeeded.
> Patch 4/5 fixes the wrong use of \Clnref{} macro, which I failed to
> catch before the release of Second Edition.
> Patch 5/5 fixes an orphaned heading of Section B.2 in ebook-size
> build.
> 
> To build ebook-size PDF with index pages enabled, use the sequence
> of command below:
> 
>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
> 
> Resulting perfbook-ix.pdf will be of ebook size.
> As was mentioned earlier, make error due to messages of
> "LaTeX Warning: Float too large for page by ..." is expected
> and can be ignored.

Applied, thank you!

Just out of curiosity, what must be typed to get an ebook layout with
index?  My guess of "PERFBOOK_PAPER=EB make ix" did not do the trick.
Of course, "make ix" continues to create a two-column full-size PDF
with index.

							Thanx, Paul

>         Thanks, Akira
> 
> --
> Akira Yokosawa (5):
>   index: Adjust settings respecting ebook-size build
>   runlatex.sh: Catch warning from makeindex early
>   index: Enable balanced layout of last page of multi-column index
>   together: Fix usage of \clnref{} for 'lines M and N'
>   toyrcu: Move float away from section heading
> 
>  appendix/toyrcu/toyrcu.tex | 10 +++++-----
>  perfbook-lt.tex            |  8 +++++---
>  together/applyrcu.tex      |  2 +-
>  utilities/runlatex.sh      |  5 +++++
>  4 files changed, 16 insertions(+), 9 deletions(-)
> 
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-28 16:08 ` [PATCH -perfbook 0/5] Misc fixes and updates Paul E. McKenney
@ 2021-03-28 22:15   ` Akira Yokosawa
  2021-03-29  0:06     ` Paul E. McKenney
  0 siblings, 1 reply; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-28 22:15 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

On , Paul E. McKenney wrote:
> On Sun, Mar 28, 2021 at 05:48:14PM +0900, Akira Yokosawa wrote:
>> Hi Paul,
>>
>> This patch set consists of fixes/updates, some of which take care
>> of ebook-size build.
>>
>> Patch 1/5 fixes truncated index pages in ebook-size build.
>> Patch 2/5 adds check of warning messages from makeindex, which are
>> sometimes hard to track down after the fact.
>> Patch 3/5 improves look of final pages of index.
>> I'd like final pages of chapters in two-column layout to be
>> balanced similarly, but have not succeeded.
>> Patch 4/5 fixes the wrong use of \Clnref{} macro, which I failed to
>> catch before the release of Second Edition.
>> Patch 5/5 fixes an orphaned heading of Section B.2 in ebook-size
>> build.
>>
>> To build ebook-size PDF with index pages enabled, use the sequence
>> of command below:
>>
>>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
>>
>> Resulting perfbook-ix.pdf will be of ebook size.
>> As was mentioned earlier, make error due to messages of
>> "LaTeX Warning: Float too large for page by ..." is expected
>> and can be ignored.
> 
> Applied, thank you!
> 
> Just out of curiosity, what must be typed to get an ebook layout with
> index?  My guess of "PERFBOOK_PAPER=EB make ix" did not do the trick.
> Of course, "make ix" continues to create a two-column full-size PDF
> with index.

At the moment, you need to manually remove perfbook-ix.tex
before the rebuild, which is why I wrote:

>>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix

above.

I think this can be automated by adding some dependency in the Makefile.
Will look into it later.

        Thanks, Akira

> 
> 							Thanx, Paul
> 
>>         Thanks, Akira
>>
>> --
>> Akira Yokosawa (5):
>>   index: Adjust settings respecting ebook-size build
>>   runlatex.sh: Catch warning from makeindex early
>>   index: Enable balanced layout of last page of multi-column index
>>   together: Fix usage of \clnref{} for 'lines M and N'
>>   toyrcu: Move float away from section heading
>>
>>  appendix/toyrcu/toyrcu.tex | 10 +++++-----
>>  perfbook-lt.tex            |  8 +++++---
>>  together/applyrcu.tex      |  2 +-
>>  utilities/runlatex.sh      |  5 +++++
>>  4 files changed, 16 insertions(+), 9 deletions(-)
>>
>> -- 
>> 2.17.1
>>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-28 22:15   ` Akira Yokosawa
@ 2021-03-29  0:06     ` Paul E. McKenney
  2021-03-29 11:54       ` Akira Yokosawa
  0 siblings, 1 reply; 14+ messages in thread
From: Paul E. McKenney @ 2021-03-29  0:06 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Mon, Mar 29, 2021 at 07:15:17AM +0900, Akira Yokosawa wrote:
> On , Paul E. McKenney wrote:
> > On Sun, Mar 28, 2021 at 05:48:14PM +0900, Akira Yokosawa wrote:
> >> Hi Paul,
> >>
> >> This patch set consists of fixes/updates, some of which take care
> >> of ebook-size build.
> >>
> >> Patch 1/5 fixes truncated index pages in ebook-size build.
> >> Patch 2/5 adds check of warning messages from makeindex, which are
> >> sometimes hard to track down after the fact.
> >> Patch 3/5 improves look of final pages of index.
> >> I'd like final pages of chapters in two-column layout to be
> >> balanced similarly, but have not succeeded.
> >> Patch 4/5 fixes the wrong use of \Clnref{} macro, which I failed to
> >> catch before the release of Second Edition.
> >> Patch 5/5 fixes an orphaned heading of Section B.2 in ebook-size
> >> build.
> >>
> >> To build ebook-size PDF with index pages enabled, use the sequence
> >> of command below:
> >>
> >>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
> >>
> >> Resulting perfbook-ix.pdf will be of ebook size.
> >> As was mentioned earlier, make error due to messages of
> >> "LaTeX Warning: Float too large for page by ..." is expected
> >> and can be ignored.
> > 
> > Applied, thank you!
> > 
> > Just out of curiosity, what must be typed to get an ebook layout with
> > index?  My guess of "PERFBOOK_PAPER=EB make ix" did not do the trick.
> > Of course, "make ix" continues to create a two-column full-size PDF
> > with index.
> 
> At the moment, you need to manually remove perfbook-ix.tex
> before the rebuild, which is why I wrote:
> 
> >>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
> 
> above.
> 
> I think this can be automated by adding some dependency in the Makefile.
> Will look into it later.

That works, thank you, and apologies for my blindness!

If we aren't careful, we will end up with a combinatorial explosion
of Makefile targets.  Worse things could happen, I guess.  ;-)

Would it help reduce Makefile complexity by having the default target
do fancy Quick Quizzes like it does for releases and editions?

							Thanx, Paul

> >>         Thanks, Akira
> >>
> >> --
> >> Akira Yokosawa (5):
> >>   index: Adjust settings respecting ebook-size build
> >>   runlatex.sh: Catch warning from makeindex early
> >>   index: Enable balanced layout of last page of multi-column index
> >>   together: Fix usage of \clnref{} for 'lines M and N'
> >>   toyrcu: Move float away from section heading
> >>
> >>  appendix/toyrcu/toyrcu.tex | 10 +++++-----
> >>  perfbook-lt.tex            |  8 +++++---
> >>  together/applyrcu.tex      |  2 +-
> >>  utilities/runlatex.sh      |  5 +++++
> >>  4 files changed, 16 insertions(+), 9 deletions(-)
> >>
> >> -- 
> >> 2.17.1
> >>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-29  0:06     ` Paul E. McKenney
@ 2021-03-29 11:54       ` Akira Yokosawa
  2021-03-29 15:32         ` Paul E. McKenney
  0 siblings, 1 reply; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-29 11:54 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

On Sun, 28 Mar 2021 17:06:56 -0700, Paul E. McKenney wrote:
> On Mon, Mar 29, 2021 at 07:15:17AM +0900, Akira Yokosawa wrote:
>> On , Paul E. McKenney wrote:
>>> On Sun, Mar 28, 2021 at 05:48:14PM +0900, Akira Yokosawa wrote:
>>>> Hi Paul,
>>>>
>>>> This patch set consists of fixes/updates, some of which take care
>>>> of ebook-size build.
>>>>
>>>> Patch 1/5 fixes truncated index pages in ebook-size build.
>>>> Patch 2/5 adds check of warning messages from makeindex, which are
>>>> sometimes hard to track down after the fact.
>>>> Patch 3/5 improves look of final pages of index.
>>>> I'd like final pages of chapters in two-column layout to be
>>>> balanced similarly, but have not succeeded.
>>>> Patch 4/5 fixes the wrong use of \Clnref{} macro, which I failed to
>>>> catch before the release of Second Edition.
>>>> Patch 5/5 fixes an orphaned heading of Section B.2 in ebook-size
>>>> build.
>>>>
>>>> To build ebook-size PDF with index pages enabled, use the sequence
>>>> of command below:
>>>>
>>>>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
>>>>
>>>> Resulting perfbook-ix.pdf will be of ebook size.
>>>> As was mentioned earlier, make error due to messages of
>>>> "LaTeX Warning: Float too large for page by ..." is expected
>>>> and can be ignored.
>>>
>>> Applied, thank you!
>>>
>>> Just out of curiosity, what must be typed to get an ebook layout with
>>> index?  My guess of "PERFBOOK_PAPER=EB make ix" did not do the trick.
>>> Of course, "make ix" continues to create a two-column full-size PDF
>>> with index.
>>
>> At the moment, you need to manually remove perfbook-ix.tex
>> before the rebuild, which is why I wrote:
>>
>>>>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
>>
>> above.
>>
>> I think this can be automated by adding some dependency in the Makefile.
>> Will look into it later.
> 
> That works, thank you, and apologies for my blindness!
> 
> If we aren't careful, we will end up with a combinatorial explosion
> of Makefile targets.  Worse things could happen, I guess.  ;-)

My plan was to enable indexing by default when my WIP branch is
ready to be merged.

> 
> Would it help reduce Makefile complexity by having the default target
> do fancy Quick Quizzes like it does for releases and editions?

Yes, it is high time to do some refactoring of make targets.

Before changing Makefile, how does the provisional "make help-full" text
at the bottom look to you?  Still too complex?

Its commit log would be something like:

EXP Makefile: (help text only) Refactor build targets
    
Main points:
    
    o Promote qq+ix (- highlighting) -> default "perfbook.pdf"
    o "df" (draft) as the same as current default (no QQZ framing, no indexing)
      for quicker build
    o "ix" for draft check of indexing (with indexed terms/names highlighted),
      no QQZ framing
    o Promote "nq", "sf" "sfnq" as semi-official targets. (some might prefer
      sans serif font for ebook)
    o Prepare ebook specific targets "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
      and "ebdf" (independent of PERFBOOK_PAPER).
    o Prepare 1c* variants for all the 2c targets. (there is no "1ceb*" nor
      "eb1c*", as "eb" implies "1c".)

Not-Signed-off-by: Akira Yokosawa <akiyks@gmail.com>

        Thanks, Akira

> 
> 							Thanx, Paul
> 
>>>>         Thanks, Akira
>>>>
>>>> --
>>>> Akira Yokosawa (5):
>>>>   index: Adjust settings respecting ebook-size build
>>>>   runlatex.sh: Catch warning from makeindex early
>>>>   index: Enable balanced layout of last page of multi-column index
>>>>   together: Fix usage of \clnref{} for 'lines M and N'
>>>>   toyrcu: Move float away from section heading
>>>>
>>>>  appendix/toyrcu/toyrcu.tex | 10 +++++-----
>>>>  perfbook-lt.tex            |  8 +++++---
>>>>  together/applyrcu.tex      |  2 +-
>>>>  utilities/runlatex.sh      |  5 +++++
>>>>  4 files changed, 16 insertions(+), 9 deletions(-)
>>>>
>>>> -- 
>>>> 2.17.1
>>>>

------
$ make help-full
Official targets (Latin Modern Typewriter for monospace font):
  Full,              Abbr.
  perfbook.pdf,      2c:   (default) 2-column layout
  perfbook-1c.pdf,   1c:   1-column layout
Note:
  Official targets now enable indexing and Quick-Quiz framing.

Set env variable PERFBOOK_PAPER to change paper size:
   PERFBOOK_PAPER=A4: a4paper
   PERFBOOK_PAPER=HB: hard cover book
   PERFBOOK_PAPER=EB: ebook reader, always 1c layout (WIP)
   other (default):   letterpaper
Note:
  Modified PERFBOOK_PAPER takes effect after "make paper-clean".

Paper-size specific targets (independent of PERFBOOK_PAPER):
  perfbook-lt.pdf,   lt:   2c layout on letterpaper
  perfbook-hb.pdf,   hb:   2c layout for hard cover book
  perfbook-a4.pdf,   a4:   2c layout on a4paper
  perfbook-eb.pdf,   eb:   1c layout for ebook reader (WIP)

Semi-official targets:
  Full,              Abbr.
  perfbook-nq.pdf,   nq:   2c without inline Quick Quizzes (chapterwise Q&As)
  perfbook-sf.pdf,   sf:   2c with sans serif font
  perfbook-sfnq.pdf, sfnq: sf + nq

Targets for draft check, non-framed Quick Quizzes (quicker build)
  perfbook-ix.pdf,   ix:   for draft check, with indexed terms highlighted
  perfbook-df.pdf,   df:   for draft check, without indexing

Prefixed targets:
  "1c*" such as "1cnq", "1csf", and "1cix" are for 1c-layout.
  "ebnq", "ebsf", "ebsfnq", "ebix", and "ebdf" are for ebook-size 1c-layout,
     independent of PERFBOOK_PAPER. (WIP)

Experimental targets:
  perfbook-msnt.pdf, msnt: newtxtt as monospace (non-slashed 0)
  perfbook-mstx.pdf, mstx: txtt as monospace
  perfbook-msr.pdf,  msr:  regular thickness courier clone as monospace
  perfbook-msn.pdf,  msn:  narrow courier clone as monospace

Historical targets:
  perfbook-tcb.pdf,  tcb:  table caption at bottom (First Edition)
  perfbook-msns.pdf, msns: non-scaled courier (First Edition)
  perfbook-mss.pdf,  mss:  scaled courier (default in early 2017)

Notes:
  - "msnt" requires "newtxtt". "mstx" is a fallback target for older TeX env.
  - "msr" and "msn" require "nimbus15".
  - "msn" doesn't cover bold face monospace.
  - "sf" requires "newtxsf".
  - All the targets except for "msn" use "Latin Modern Typewriter" font
    for code snippets.
------


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-29 11:54       ` Akira Yokosawa
@ 2021-03-29 15:32         ` Paul E. McKenney
  2021-03-29 23:24           ` Akira Yokosawa
  0 siblings, 1 reply; 14+ messages in thread
From: Paul E. McKenney @ 2021-03-29 15:32 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Mon, Mar 29, 2021 at 08:54:05PM +0900, Akira Yokosawa wrote:
> On Sun, 28 Mar 2021 17:06:56 -0700, Paul E. McKenney wrote:
> > On Mon, Mar 29, 2021 at 07:15:17AM +0900, Akira Yokosawa wrote:
> >> On , Paul E. McKenney wrote:
> >>> On Sun, Mar 28, 2021 at 05:48:14PM +0900, Akira Yokosawa wrote:
> >>>> Hi Paul,
> >>>>
> >>>> This patch set consists of fixes/updates, some of which take care
> >>>> of ebook-size build.
> >>>>
> >>>> Patch 1/5 fixes truncated index pages in ebook-size build.
> >>>> Patch 2/5 adds check of warning messages from makeindex, which are
> >>>> sometimes hard to track down after the fact.
> >>>> Patch 3/5 improves look of final pages of index.
> >>>> I'd like final pages of chapters in two-column layout to be
> >>>> balanced similarly, but have not succeeded.
> >>>> Patch 4/5 fixes the wrong use of \Clnref{} macro, which I failed to
> >>>> catch before the release of Second Edition.
> >>>> Patch 5/5 fixes an orphaned heading of Section B.2 in ebook-size
> >>>> build.
> >>>>
> >>>> To build ebook-size PDF with index pages enabled, use the sequence
> >>>> of command below:
> >>>>
> >>>>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
> >>>>
> >>>> Resulting perfbook-ix.pdf will be of ebook size.
> >>>> As was mentioned earlier, make error due to messages of
> >>>> "LaTeX Warning: Float too large for page by ..." is expected
> >>>> and can be ignored.
> >>>
> >>> Applied, thank you!
> >>>
> >>> Just out of curiosity, what must be typed to get an ebook layout with
> >>> index?  My guess of "PERFBOOK_PAPER=EB make ix" did not do the trick.
> >>> Of course, "make ix" continues to create a two-column full-size PDF
> >>> with index.
> >>
> >> At the moment, you need to manually remove perfbook-ix.tex
> >> before the rebuild, which is why I wrote:
> >>
> >>>>     rm perfbook-ix.tex; env PERFBOOK_PAPER=EB make ix
> >>
> >> above.
> >>
> >> I think this can be automated by adding some dependency in the Makefile.
> >> Will look into it later.
> > 
> > That works, thank you, and apologies for my blindness!
> > 
> > If we aren't careful, we will end up with a combinatorial explosion
> > of Makefile targets.  Worse things could happen, I guess.  ;-)
> 
> My plan was to enable indexing by default when my WIP branch is
> ready to be merged.
> 
> > 
> > Would it help reduce Makefile complexity by having the default target
> > do fancy Quick Quizzes like it does for releases and editions?
> 
> Yes, it is high time to do some refactoring of make targets.
> 
> Before changing Makefile, how does the provisional "make help-full" text
> at the bottom look to you?  Still too complex?
> 
> Its commit log would be something like:
> 
> EXP Makefile: (help text only) Refactor build targets
>     
> Main points:
>     
>     o Promote qq+ix (- highlighting) -> default "perfbook.pdf"
>     o "df" (draft) as the same as current default (no QQZ framing, no indexing)
>       for quicker build
>     o "ix" for draft check of indexing (with indexed terms/names highlighted),
>       no QQZ framing
>     o Promote "nq", "sf" "sfnq" as semi-official targets. (some might prefer
>       sans serif font for ebook)
>     o Prepare ebook specific targets "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
>       and "ebdf" (independent of PERFBOOK_PAPER).
>     o Prepare 1c* variants for all the 2c targets. (there is no "1ceb*" nor
>       "eb1c*", as "eb" implies "1c".)
> 
> Not-Signed-off-by: Akira Yokosawa <akiyks@gmail.com>

As long as "make help" is short, I am fine with "make help-full" being
long and detailed.  It does look like some of the options might be ready
to be removed, but I will trust your judgment on that.

							Thanx, Paul

>         Thanks, Akira
> 
> > 
> > 							Thanx, Paul
> > 
> >>>>         Thanks, Akira
> >>>>
> >>>> --
> >>>> Akira Yokosawa (5):
> >>>>   index: Adjust settings respecting ebook-size build
> >>>>   runlatex.sh: Catch warning from makeindex early
> >>>>   index: Enable balanced layout of last page of multi-column index
> >>>>   together: Fix usage of \clnref{} for 'lines M and N'
> >>>>   toyrcu: Move float away from section heading
> >>>>
> >>>>  appendix/toyrcu/toyrcu.tex | 10 +++++-----
> >>>>  perfbook-lt.tex            |  8 +++++---
> >>>>  together/applyrcu.tex      |  2 +-
> >>>>  utilities/runlatex.sh      |  5 +++++
> >>>>  4 files changed, 16 insertions(+), 9 deletions(-)
> >>>>
> >>>> -- 
> >>>> 2.17.1
> >>>>
> 
> ------
> $ make help-full
> Official targets (Latin Modern Typewriter for monospace font):
>   Full,              Abbr.
>   perfbook.pdf,      2c:   (default) 2-column layout
>   perfbook-1c.pdf,   1c:   1-column layout
> Note:
>   Official targets now enable indexing and Quick-Quiz framing.
> 
> Set env variable PERFBOOK_PAPER to change paper size:
>    PERFBOOK_PAPER=A4: a4paper
>    PERFBOOK_PAPER=HB: hard cover book
>    PERFBOOK_PAPER=EB: ebook reader, always 1c layout (WIP)
>    other (default):   letterpaper
> Note:
>   Modified PERFBOOK_PAPER takes effect after "make paper-clean".
> 
> Paper-size specific targets (independent of PERFBOOK_PAPER):
>   perfbook-lt.pdf,   lt:   2c layout on letterpaper
>   perfbook-hb.pdf,   hb:   2c layout for hard cover book
>   perfbook-a4.pdf,   a4:   2c layout on a4paper
>   perfbook-eb.pdf,   eb:   1c layout for ebook reader (WIP)
> 
> Semi-official targets:
>   Full,              Abbr.
>   perfbook-nq.pdf,   nq:   2c without inline Quick Quizzes (chapterwise Q&As)
>   perfbook-sf.pdf,   sf:   2c with sans serif font
>   perfbook-sfnq.pdf, sfnq: sf + nq
> 
> Targets for draft check, non-framed Quick Quizzes (quicker build)
>   perfbook-ix.pdf,   ix:   for draft check, with indexed terms highlighted
>   perfbook-df.pdf,   df:   for draft check, without indexing
> 
> Prefixed targets:
>   "1c*" such as "1cnq", "1csf", and "1cix" are for 1c-layout.
>   "ebnq", "ebsf", "ebsfnq", "ebix", and "ebdf" are for ebook-size 1c-layout,
>      independent of PERFBOOK_PAPER. (WIP)
> 
> Experimental targets:
>   perfbook-msnt.pdf, msnt: newtxtt as monospace (non-slashed 0)
>   perfbook-mstx.pdf, mstx: txtt as monospace
>   perfbook-msr.pdf,  msr:  regular thickness courier clone as monospace
>   perfbook-msn.pdf,  msn:  narrow courier clone as monospace
> 
> Historical targets:
>   perfbook-tcb.pdf,  tcb:  table caption at bottom (First Edition)
>   perfbook-msns.pdf, msns: non-scaled courier (First Edition)
>   perfbook-mss.pdf,  mss:  scaled courier (default in early 2017)
> 
> Notes:
>   - "msnt" requires "newtxtt". "mstx" is a fallback target for older TeX env.
>   - "msr" and "msn" require "nimbus15".
>   - "msn" doesn't cover bold face monospace.
>   - "sf" requires "newtxsf".
>   - All the targets except for "msn" use "Latin Modern Typewriter" font
>     for code snippets.
> ------
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-29 15:32         ` Paul E. McKenney
@ 2021-03-29 23:24           ` Akira Yokosawa
  2021-03-30  0:07             ` Balbir Singh
  0 siblings, 1 reply; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-29 23:24 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Balbir Singh, Akira Yokosawa

+CC: Barbir

On Mon, 29 Mar 2021 08:32:10 -0700, Paul E. McKenney wrote:
> On Mon, Mar 29, 2021 at 08:54:05PM +0900, Akira Yokosawa wrote:
>> On Sun, 28 Mar 2021 17:06:56 -0700, Paul E. McKenney wrote:
[...]
>>> Would it help reduce Makefile complexity by having the default target
>>> do fancy Quick Quizzes like it does for releases and editions?
>>
>> Yes, it is high time to do some refactoring of make targets.
>>
>> Before changing Makefile, how does the provisional "make help-full" text
>> at the bottom look to you?  Still too complex?
>>
>> Its commit log would be something like:
>>
>> EXP Makefile: (help text only) Refactor build targets
>>     
>> Main points:
>>     
>>     o Promote qq+ix (- highlighting) -> default "perfbook.pdf"
>>     o "df" (draft) as the same as current default (no QQZ framing, no indexing)
>>       for quicker build
>>     o "ix" for draft check of indexing (with indexed terms/names highlighted),
>>       no QQZ framing
>>     o Promote "nq", "sf" "sfnq" as semi-official targets. (some might prefer
>>       sans serif font for ebook)
>>     o Prepare ebook specific targets "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
>>       and "ebdf" (independent of PERFBOOK_PAPER).
>>     o Prepare 1c* variants for all the 2c targets. (there is no "1ceb*" nor
>>       "eb1c*", as "eb" implies "1c".)
>>
>> Not-Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
> 
> As long as "make help" is short, I am fine with "make help-full" being
> long and detailed.  It does look like some of the options might be ready
> to be removed, but I will trust your judgment on that.

Looks like there is some room to simplify.
See inline comment below.

> 
> 							Thanx, Paul
> 
>>         Thanks, Akira
>>
>>>
>>> 							Thanx, Paul
[...]
>>
>> ------
>> $ make help-full
>> Official targets (Latin Modern Typewriter for monospace font):
>>   Full,              Abbr.
>>   perfbook.pdf,      2c:   (default) 2-column layout
>>   perfbook-1c.pdf,   1c:   1-column layout
>> Note:
>>   Official targets now enable indexing and Quick-Quiz framing.
>>
>> Set env variable PERFBOOK_PAPER to change paper size:
>>    PERFBOOK_PAPER=A4: a4paper
>>    PERFBOOK_PAPER=HB: hard cover book
>>    PERFBOOK_PAPER=EB: ebook reader, always 1c layout (WIP)

I think "PERFBOOK_PAPER=EB" is not necessary if we add ebook-size
specific targets like "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
and "ebdf". (See "Prefixed targets:" below.)

Balbir, do you mind if I drop support of PERFBOOK_PAPER=EB ?

        Thanks, Akira

>>    other (default):   letterpaper
>> Note:
>>   Modified PERFBOOK_PAPER takes effect after "make paper-clean".
>>
>> Paper-size specific targets (independent of PERFBOOK_PAPER):
>>   perfbook-lt.pdf,   lt:   2c layout on letterpaper
>>   perfbook-hb.pdf,   hb:   2c layout for hard cover book
>>   perfbook-a4.pdf,   a4:   2c layout on a4paper
>>   perfbook-eb.pdf,   eb:   1c layout for ebook reader (WIP)
>>
>> Semi-official targets:
>>   Full,              Abbr.
>>   perfbook-nq.pdf,   nq:   2c without inline Quick Quizzes (chapterwise Q&As)
>>   perfbook-sf.pdf,   sf:   2c with sans serif font
>>   perfbook-sfnq.pdf, sfnq: sf + nq
>>
>> Targets for draft check, non-framed Quick Quizzes (quicker build)
>>   perfbook-ix.pdf,   ix:   for draft check, with indexed terms highlighted
>>   perfbook-df.pdf,   df:   for draft check, without indexing
>>
>> Prefixed targets:
>>   "1c*" such as "1cnq", "1csf", and "1cix" are for 1c-layout.
>>   "ebnq", "ebsf", "ebsfnq", "ebix", and "ebdf" are for ebook-size 1c-layout,
>>      independent of PERFBOOK_PAPER. (WIP)
>>
>> Experimental targets:
>>   perfbook-msnt.pdf, msnt: newtxtt as monospace (non-slashed 0)
>>   perfbook-mstx.pdf, mstx: txtt as monospace
>>   perfbook-msr.pdf,  msr:  regular thickness courier clone as monospace
>>   perfbook-msn.pdf,  msn:  narrow courier clone as monospace
>>
>> Historical targets:
>>   perfbook-tcb.pdf,  tcb:  table caption at bottom (First Edition)
>>   perfbook-msns.pdf, msns: non-scaled courier (First Edition)
>>   perfbook-mss.pdf,  mss:  scaled courier (default in early 2017)
>>
>> Notes:
>>   - "msnt" requires "newtxtt". "mstx" is a fallback target for older TeX env.
>>   - "msr" and "msn" require "nimbus15".
>>   - "msn" doesn't cover bold face monospace.
>>   - "sf" requires "newtxsf".
>>   - All the targets except for "msn" use "Latin Modern Typewriter" font
>>     for code snippets.
>> ------
>>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-29 23:24           ` Akira Yokosawa
@ 2021-03-30  0:07             ` Balbir Singh
  2021-03-30  0:34               ` Akira Yokosawa
  0 siblings, 1 reply; 14+ messages in thread
From: Balbir Singh @ 2021-03-30  0:07 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: Paul E. McKenney, perfbook

On Tue, Mar 30, 2021 at 08:24:22AM +0900, Akira Yokosawa wrote:
> +CC: Barbir
> 
> On Mon, 29 Mar 2021 08:32:10 -0700, Paul E. McKenney wrote:
> > On Mon, Mar 29, 2021 at 08:54:05PM +0900, Akira Yokosawa wrote:
> >> On Sun, 28 Mar 2021 17:06:56 -0700, Paul E. McKenney wrote:
> [...]
> >>> Would it help reduce Makefile complexity by having the default target
> >>> do fancy Quick Quizzes like it does for releases and editions?
> >>
> >> Yes, it is high time to do some refactoring of make targets.
> >>
> >> Before changing Makefile, how does the provisional "make help-full" text
> >> at the bottom look to you?  Still too complex?
> >>
> >> Its commit log would be something like:
> >>
> >> EXP Makefile: (help text only) Refactor build targets
> >>     
> >> Main points:
> >>     
> >>     o Promote qq+ix (- highlighting) -> default "perfbook.pdf"
> >>     o "df" (draft) as the same as current default (no QQZ framing, no indexing)
> >>       for quicker build
> >>     o "ix" for draft check of indexing (with indexed terms/names highlighted),
> >>       no QQZ framing
> >>     o Promote "nq", "sf" "sfnq" as semi-official targets. (some might prefer
> >>       sans serif font for ebook)
> >>     o Prepare ebook specific targets "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
> >>       and "ebdf" (independent of PERFBOOK_PAPER).
> >>     o Prepare 1c* variants for all the 2c targets. (there is no "1ceb*" nor
> >>       "eb1c*", as "eb" implies "1c".)
> >>
> >> Not-Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
> > 
> > As long as "make help" is short, I am fine with "make help-full" being
> > long and detailed.  It does look like some of the options might be ready
> > to be removed, but I will trust your judgment on that.
> 
> Looks like there is some room to simplify.
> See inline comment below.
> 
> > 
> > 							Thanx, Paul
> > 
> >>         Thanks, Akira
> >>
> >>>
> >>> 							Thanx, Paul
> [...]
> >>
> >> ------
> >> $ make help-full
> >> Official targets (Latin Modern Typewriter for monospace font):
> >>   Full,              Abbr.
> >>   perfbook.pdf,      2c:   (default) 2-column layout
> >>   perfbook-1c.pdf,   1c:   1-column layout
> >> Note:
> >>   Official targets now enable indexing and Quick-Quiz framing.
> >>
> >> Set env variable PERFBOOK_PAPER to change paper size:
> >>    PERFBOOK_PAPER=A4: a4paper
> >>    PERFBOOK_PAPER=HB: hard cover book
> >>    PERFBOOK_PAPER=EB: ebook reader, always 1c layout (WIP)
> 
> I think "PERFBOOK_PAPER=EB" is not necessary if we add ebook-size
> specific targets like "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
> and "ebdf". (See "Prefixed targets:" below.)
> 
> Balbir, do you mind if I drop support of PERFBOOK_PAPER=EB ?
>


I'd love to use the eb format with an index if possible, I presume
it has no impact on the target as such? 

Balbir Singh.
 
>         Thanks, Akira
> 
> >>    other (default):   letterpaper
> >> Note:
> >>   Modified PERFBOOK_PAPER takes effect after "make paper-clean".
> >>
> >> Paper-size specific targets (independent of PERFBOOK_PAPER):
> >>   perfbook-lt.pdf,   lt:   2c layout on letterpaper
> >>   perfbook-hb.pdf,   hb:   2c layout for hard cover book
> >>   perfbook-a4.pdf,   a4:   2c layout on a4paper
> >>   perfbook-eb.pdf,   eb:   1c layout for ebook reader (WIP)
> >>
> >> Semi-official targets:
> >>   Full,              Abbr.
> >>   perfbook-nq.pdf,   nq:   2c without inline Quick Quizzes (chapterwise Q&As)
> >>   perfbook-sf.pdf,   sf:   2c with sans serif font
> >>   perfbook-sfnq.pdf, sfnq: sf + nq
> >>
> >> Targets for draft check, non-framed Quick Quizzes (quicker build)
> >>   perfbook-ix.pdf,   ix:   for draft check, with indexed terms highlighted
> >>   perfbook-df.pdf,   df:   for draft check, without indexing
> >>
> >> Prefixed targets:
> >>   "1c*" such as "1cnq", "1csf", and "1cix" are for 1c-layout.
> >>   "ebnq", "ebsf", "ebsfnq", "ebix", and "ebdf" are for ebook-size 1c-layout,
> >>      independent of PERFBOOK_PAPER. (WIP)
> >>
> >> Experimental targets:
> >>   perfbook-msnt.pdf, msnt: newtxtt as monospace (non-slashed 0)
> >>   perfbook-mstx.pdf, mstx: txtt as monospace
> >>   perfbook-msr.pdf,  msr:  regular thickness courier clone as monospace
> >>   perfbook-msn.pdf,  msn:  narrow courier clone as monospace
> >>
> >> Historical targets:
> >>   perfbook-tcb.pdf,  tcb:  table caption at bottom (First Edition)
> >>   perfbook-msns.pdf, msns: non-scaled courier (First Edition)
> >>   perfbook-mss.pdf,  mss:  scaled courier (default in early 2017)
> >>
> >> Notes:
> >>   - "msnt" requires "newtxtt". "mstx" is a fallback target for older TeX env.
> >>   - "msr" and "msn" require "nimbus15".
> >>   - "msn" doesn't cover bold face monospace.
> >>   - "sf" requires "newtxsf".
> >>   - All the targets except for "msn" use "Latin Modern Typewriter" font
> >>     for code snippets.
> >> ------
> >>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH -perfbook 0/5] Misc fixes and updates
  2021-03-30  0:07             ` Balbir Singh
@ 2021-03-30  0:34               ` Akira Yokosawa
  0 siblings, 0 replies; 14+ messages in thread
From: Akira Yokosawa @ 2021-03-30  0:34 UTC (permalink / raw)
  To: Balbir Singh; +Cc: Paul E. McKenney, perfbook

On Tue, 30 Mar 2021 11:07:00 +1100, Balbir Singh wrote:
> On Tue, Mar 30, 2021 at 08:24:22AM +0900, Akira Yokosawa wrote:
>> +CC: Barbir
>>
>> On Mon, 29 Mar 2021 08:32:10 -0700, Paul E. McKenney wrote:
>>> On Mon, Mar 29, 2021 at 08:54:05PM +0900, Akira Yokosawa wrote:
>>>> On Sun, 28 Mar 2021 17:06:56 -0700, Paul E. McKenney wrote:
>> [...]
>>>>> Would it help reduce Makefile complexity by having the default target
>>>>> do fancy Quick Quizzes like it does for releases and editions?
>>>>
>>>> Yes, it is high time to do some refactoring of make targets.
>>>>
>>>> Before changing Makefile, how does the provisional "make help-full" text
>>>> at the bottom look to you?  Still too complex?
>>>>
>>>> Its commit log would be something like:
>>>>
>>>> EXP Makefile: (help text only) Refactor build targets
>>>>     
>>>> Main points:
>>>>     
>>>>     o Promote qq+ix (- highlighting) -> default "perfbook.pdf"
>>>>     o "df" (draft) as the same as current default (no QQZ framing, no indexing)
>>>>       for quicker build
>>>>     o "ix" for draft check of indexing (with indexed terms/names highlighted),
>>>>       no QQZ framing
>>>>     o Promote "nq", "sf" "sfnq" as semi-official targets. (some might prefer
>>>>       sans serif font for ebook)
>>>>     o Prepare ebook specific targets "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
>>>>       and "ebdf" (independent of PERFBOOK_PAPER).
>>>>     o Prepare 1c* variants for all the 2c targets. (there is no "1ceb*" nor
>>>>       "eb1c*", as "eb" implies "1c".)
>>>>
>>>> Not-Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
>>>
>>> As long as "make help" is short, I am fine with "make help-full" being
>>> long and detailed.  It does look like some of the options might be ready
>>> to be removed, but I will trust your judgment on that.
>>
>> Looks like there is some room to simplify.
>> See inline comment below.
>>
>>>
>>> 							Thanx, Paul
>>>
>>>>         Thanks, Akira
>>>>
>>>>>
>>>>> 							Thanx, Paul
>> [...]
>>>>
>>>> ------
>>>> $ make help-full
>>>> Official targets (Latin Modern Typewriter for monospace font):
>>>>   Full,              Abbr.
>>>>   perfbook.pdf,      2c:   (default) 2-column layout
>>>>   perfbook-1c.pdf,   1c:   1-column layout
>>>> Note:
>>>>   Official targets now enable indexing and Quick-Quiz framing.
>>>>
>>>> Set env variable PERFBOOK_PAPER to change paper size:
>>>>    PERFBOOK_PAPER=A4: a4paper
>>>>    PERFBOOK_PAPER=HB: hard cover book
>>>>    PERFBOOK_PAPER=EB: ebook reader, always 1c layout (WIP)
>>
>> I think "PERFBOOK_PAPER=EB" is not necessary if we add ebook-size
>> specific targets like "eb", "ebnq", "ebsf", "ebsfnq", "ebix",
>> and "ebdf". (See "Prefixed targets:" below.)
>>
>> Balbir, do you mind if I drop support of PERFBOOK_PAPER=EB ?
>>
> 
> 
> I'd love to use the eb format with an index if possible, I presume
> it has no impact on the target as such? 

New perfbook-eb.pdf will have index as well as Quick Quiz framing.
Please wait for a while until my indexing-scheme branch gets ready,
hopefully, by this weekend.

Of course, we need to continue indexing after the merge.

        Thanks, Akira

> 
> Balbir Singh.
>  
>>         Thanks, Akira
>>
>>>>    other (default):   letterpaper
>>>> Note:
>>>>   Modified PERFBOOK_PAPER takes effect after "make paper-clean".
>>>>
>>>> Paper-size specific targets (independent of PERFBOOK_PAPER):
>>>>   perfbook-lt.pdf,   lt:   2c layout on letterpaper
>>>>   perfbook-hb.pdf,   hb:   2c layout for hard cover book
>>>>   perfbook-a4.pdf,   a4:   2c layout on a4paper
>>>>   perfbook-eb.pdf,   eb:   1c layout for ebook reader (WIP)
>>>>
>>>> Semi-official targets:
>>>>   Full,              Abbr.
>>>>   perfbook-nq.pdf,   nq:   2c without inline Quick Quizzes (chapterwise Q&As)
>>>>   perfbook-sf.pdf,   sf:   2c with sans serif font
>>>>   perfbook-sfnq.pdf, sfnq: sf + nq
>>>>
>>>> Targets for draft check, non-framed Quick Quizzes (quicker build)
>>>>   perfbook-ix.pdf,   ix:   for draft check, with indexed terms highlighted
>>>>   perfbook-df.pdf,   df:   for draft check, without indexing
>>>>
>>>> Prefixed targets:
>>>>   "1c*" such as "1cnq", "1csf", and "1cix" are for 1c-layout.
>>>>   "ebnq", "ebsf", "ebsfnq", "ebix", and "ebdf" are for ebook-size 1c-layout,
>>>>      independent of PERFBOOK_PAPER. (WIP)
>>>>
>>>> Experimental targets:
>>>>   perfbook-msnt.pdf, msnt: newtxtt as monospace (non-slashed 0)
>>>>   perfbook-mstx.pdf, mstx: txtt as monospace
>>>>   perfbook-msr.pdf,  msr:  regular thickness courier clone as monospace
>>>>   perfbook-msn.pdf,  msn:  narrow courier clone as monospace
>>>>
>>>> Historical targets:
>>>>   perfbook-tcb.pdf,  tcb:  table caption at bottom (First Edition)
>>>>   perfbook-msns.pdf, msns: non-scaled courier (First Edition)
>>>>   perfbook-mss.pdf,  mss:  scaled courier (default in early 2017)
>>>>
>>>> Notes:
>>>>   - "msnt" requires "newtxtt". "mstx" is a fallback target for older TeX env.
>>>>   - "msr" and "msn" require "nimbus15".
>>>>   - "msn" doesn't cover bold face monospace.
>>>>   - "sf" requires "newtxsf".
>>>>   - All the targets except for "msn" use "Latin Modern Typewriter" font
>>>>     for code snippets.
>>>> ------
>>>>

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2021-03-30  0:34 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-28  8:48 [PATCH -perfbook 0/5] Misc fixes and updates Akira Yokosawa
2021-03-28  8:51 ` [PATCH -perfbook 1/5] index: Adjust settings respecting ebook-size build Akira Yokosawa
2021-03-28  8:53 ` [PATCH -perfbook 2/5] runlatex.sh: Catch warning from makeindex early Akira Yokosawa
2021-03-28  8:55 ` [PATCH -perfbook 3/5] index: Enable balanced layout of last page of multi-column index Akira Yokosawa
2021-03-28  8:57 ` [PATCH -perfbook 4/5] together: Fix usage of \clnref{} for 'lines M and N' Akira Yokosawa
2021-03-28  8:58 ` [PATCH -perfbook 5/5] toyrcu: Move float away from section heading Akira Yokosawa
2021-03-28 16:08 ` [PATCH -perfbook 0/5] Misc fixes and updates Paul E. McKenney
2021-03-28 22:15   ` Akira Yokosawa
2021-03-29  0:06     ` Paul E. McKenney
2021-03-29 11:54       ` Akira Yokosawa
2021-03-29 15:32         ` Paul E. McKenney
2021-03-29 23:24           ` Akira Yokosawa
2021-03-30  0:07             ` Balbir Singh
2021-03-30  0:34               ` Akira Yokosawa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.