>From dc553b44983b30584d0f1003a729885b8b7290f2 Mon Sep 17 00:00:00 2001 From: Akira Yokosawa <akiyks@xxxxxxxxx> Date: Thu, 30 Jan 2020 21:13:04 +0900 Subject: [PATCH 0/6] howto: Reduce width of Listings 2.1 and 2.2 Hi Paul, This patch set has quite a large diff stats despite the small changes in the resulting PDF. What I am trying here is to enable (semi-) automatic line breaks in code snippets. The "fvextra" package enhances the capability of fancyvrb. By specifying "breaklines" and "breakafter" options to the VerbatimL environment, snippets with a long line can be typeset as a plain "listing" environment. I see that Listings 2.1 and 2.2 do not deserve the full width of the page and tried to apply the fvextra approach. However, there were unfortunate name collisions of custom environments. "fvextra" requires the "lineno" package, where "linelabel" and "lineref" are used as global variables. So I need to rename the environments to "fcvlabel" and "fcvref". Patch 1/6 does those renames, hence the large diff stats. Patch 2/6 adds checks to detect now erroneous uses of "linelabel" and "lineref". Without this change, as they are defined as LaTeX variables by "lineno", such uses wouldn't be caught by LaTeX as errors, but would end up in undefined references. The remaining warnings in the log file would be far from pin-point. Patch 3/6 actually modifies Listings 2.1 and 2.2. At this point, the symbol representing carriagereturn in Listing 2.1 doesn't look good enough to me. Patch 5/6 takes care of the symbol. It also adds comments to mention the "-jN" option of "make". Patch 4/6 updates FAQ-BUILD.txt. Patch 6/6 is an independent change to loosen the required version of "epigraph". It turned out that the combination of the up-to-date "epigraph" and the "nowidow" packages doesn't work properly on TeX Live 2015/Debian (Ubuntu Xenial). On a more recent TeX Live installation where the combination works, a suggestion to upgrade "epigraph" will be output after the build completes. As this patch set touches Makefile, please test carefully before pushing out. Especially, I'd like you to test Patch 2/6 and see if the error message, displayed when you use "linelabel" or "lineref" in place of "fcvlabel" or "fcvref", looks OK to you. Thanks, Akira -- Akira Yokosawa (6): Rename environments 'linelabel' and 'lineref' Makefile: Check 'linelabel' and 'lineref' used as environment howto: Reduce width of Listings 2.1 and 2.2 FAQ-BUILD: Add 'fvextra' to the list of packages in item 10 howto: Tweak carriagereturn symbol at fvextra's auto line break Remove required version of 'epigraph' FAQ-BUILD.txt | 30 ++- Makefile | 47 ++++ SMPdesign/SMPdesign.tex | 12 +- SMPdesign/beyond.tex | 44 ++-- SMPdesign/partexercises.tex | 32 +-- advsync/advsync.tex | 8 +- advsync/rt.tex | 40 ++-- appendix/questions/after.tex | 4 +- appendix/styleguide/samplecodesnippetfcv.tex | 4 +- appendix/styleguide/styleguide.tex | 52 ++-- appendix/toyrcu/toyrcu.tex | 128 +++++----- appendix/whymb/whymemorybarriers.tex | 16 +- count/count.tex | 200 ++++++++-------- datastruct/datastruct.tex | 80 +++---- debugging/debugging.tex | 12 +- defer/defer.tex | 16 +- defer/hazptr.tex | 20 +- defer/rcuapi.tex | 8 +- defer/rcufundamental.tex | 4 +- defer/rcuintro.tex | 4 +- defer/rcuusage.tex | 52 ++-- defer/refcnt.tex | 20 +- defer/seqlock.tex | 40 ++-- formal/axiomatic.tex | 40 ++-- formal/dyntickrcu.tex | 148 ++++++------ formal/ppcmem.tex | 24 +- formal/spinhint.tex | 44 ++-- future/formalregress.tex | 4 +- future/htm.tex | 28 +-- howto/howto.tex | 57 ++--- locking/locking-existence.tex | 20 +- locking/locking.tex | 76 +++--- memorder/memorder.tex | 240 +++++++++---------- owned/owned.tex | 12 +- perfbook.tex | 9 +- together/applyrcu.tex | 32 +-- together/refcnt.tex | 32 +-- toolsoftrade/toolsoftrade.tex | 184 +++++++------- utilities/checkfcv.pl | 8 +- utilities/fcvextract.pl | 10 +- 40 files changed, 956 insertions(+), 885 deletions(-) -- 2.17.1