All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] defer/rcuapi: Tweak Table 9.3 with nimbusmononarrow font
@ 2019-02-21 15:38 Akira Yokosawa
  2019-02-21 19:06 ` Paul E. McKenney
  0 siblings, 1 reply; 2+ messages in thread
From: Akira Yokosawa @ 2019-02-21 15:38 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

From 3f0a889f86203934737055e129d574cc1232a8b1 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@gmail.com>
Date: Thu, 21 Feb 2019 23:36:24 +0900
Subject: [PATCH] defer/rcuapi: Tweak Table 9.3 with nimbusmononarrow font

"nimbusmononarrow" font (used in the experimental target "msn")
is slightly narrower than "lmtt". Table 9.3 hardly fits in
a page with the lmtt font. nimbusmononarrow gives us some room
for a possible new API with longer name.

This change affects targets msnt, 1csf, msr, and msn.
Those targets can be built on TeX Live 2015/Debian or later.

As for the other targets, specifying width of every column
makes "tabularx" unnecessary. Plain "tabular" suffices. 

Once everyone (especially our editor) upgrades his/her LaTeX
installation, all the target will be able to use the same font
in this table.

For bold face characters in the table header, use \pmb{} instead
of {\bf ...}, as lmtt's bold face is not bold enough and
nimbusmononarrow lacks bold face font.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 Makefile         | 16 ++++++++++------
 defer/rcuapi.tex | 29 +++++++++++++++++++----------
 perfbook.tex     | 15 +++++++++++----
 3 files changed, 40 insertions(+), 20 deletions(-)

diff --git a/Makefile b/Makefile
index 7a6d156..4547256 100644
--- a/Makefile
+++ b/Makefile
@@ -168,23 +168,27 @@ perfbook-mstx.tex: perfbook.tex
 	sed -e 's/%msfontstub/\\renewcommand*\\ttdefault{txtt}/' < $< > $@
 
 perfbook-msr.tex: perfbook.tex
-	sed -e 's/%msfontstub/\\usepackage[scaled=.94]{nimbusmono}/' < $< > $@
+	sed -e 's/%msfontstub/\\usepackage[scaled=.94]{nimbusmono}/' \
+	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@
 	@echo "## This target requires font package nimbus15. ##"
 
 perfbook-msn.tex: perfbook.tex
 	sed -e 's/%msfontstub/\\usepackage{nimbusmononarrow}/' \
-	    -e 's/{lmttforcode}{true}/{lmttforcode}{false}/' < $< > $@
+	    -e 's/{lmttforcode}{true}/{lmttforcode}{false}/' \
+	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@
 	@echo "## This target requires font package nimbus15. ##"
 
 perfbook-msnt.tex: perfbook.tex
-	sed -e 's/%msfontstub/\\usepackage[zerostyle=a]{newtxtt}/' < $< > $@
-	@echo "## This target requires font package newtxtt. ##"
-	@echo "## If build fails, try target 'mstx' instead. ##"
+	sed -e 's/%msfontstub/\\usepackage[zerostyle=a]{newtxtt}/' \
+	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@
+	@echo "## This target requires font packages newtxtt and nimbus15. ##"
+	@echo "## If build fails, try target 'mstx' instead.               ##"
 
 perfbook-1csf.tex: perfbook-1c.tex
 	sed -e 's/setboolean{sansserif}{false}/setboolean{sansserif}{true}/' \
+	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' \
 	    -e 's/%msfontstub/\\usepackage[var0]{inconsolata}[2013\/07\/17]/' < $< > $@
-	@echo "## This target requires math font package newtxsf. ##"
+	@echo "## This target requires math font packages newtxsf and nimbus15. ##"
 
 # Rules related to perfbook_html are removed as of May, 2016
 
diff --git a/defer/rcuapi.tex b/defer/rcuapi.tex
index a98b5e8..644a937 100644
--- a/defer/rcuapi.tex
+++ b/defer/rcuapi.tex
@@ -758,16 +758,25 @@ Section~\ref{sec:defer:Maintain Multiple Versions of Recently Updated Objects}.
 \caption{RCU-Protected List APIs}
 \label{tab:defer:RCU-Protected List APIs}
 \footnotesize
-\begin{tabularx}{8.4in}{>{\raggedright\arraybackslash}X
-    >{\raggedright\arraybackslash}X
-    >{\raggedright\arraybackslash}X
-    >{\raggedright\arraybackslash}p{1.7in}}
+\newlength{\cwa}\newlength{\cwb}\newlength{\cwc}\newlength{\cwd}
+\IfNimbusAvail{
+  \renewcommand{\ttdefault}{NimbusMonoN}
+  \setlength{\cwa}{1.9in}\setlength{\cwb}{2.1in}
+  \setlength{\cwc}{1.8in}\setlength{\cwd}{1.6in}
+}{
+  \setlength{\cwa}{1.95in}\setlength{\cwb}{2.15in}
+  \setlength{\cwc}{1.9in}\setlength{\cwd}{1.7in}
+}
+\begin{tabular}{>{\raggedright\arraybackslash}p{\cwa}
+    >{\raggedright\arraybackslash}p{\cwb}
+    >{\raggedright\arraybackslash}p{\cwc}
+    >{\raggedright\arraybackslash}p{\cwd}}
 \toprule
-{\bf \tco{list}}: Circular doubly linked list &
-    {\bf \tco{hlist}}: Linear doubly linked list &
-	{\bf \tco{hlist_nulls}}: Linear doubly linked list with marked
-	NULL pointer, with up to 31 bits of marking &
-	    {\bf \tco{hlist_bl}}: Linear doubly linked list with bit locking \\
+\pmb{\tco{list}}: Circular doubly linked list &
+    \pmb{\tco{hlist}}: Linear doubly linked list &
+	\pmb{\tco{hlist_nulls}}: Linear doubly linked list with marked
+	NULL pointer, with up to 31~bits of marking &
+	    \pmb{\tco{hlist_bl}}: Linear doubly linked list with bit locking \\
 \midrule
 \multicolumn{4}{l}{{\bf Initialization}} \\
 &
@@ -832,7 +841,7 @@ Section~\ref{sec:defer:Maintain Multiple Versions of Recently Updated Objects}.
 	&
 	    \\
 \bottomrule
-\end{tabularx}
+\end{tabular}
 \end{sidewaystable*}
 
 The first pair of categories operate on Linux
diff --git a/perfbook.tex b/perfbook.tex
index edf18d5..f79e7b0 100644
--- a/perfbook.tex
+++ b/perfbook.tex
@@ -9,8 +9,6 @@
 \usepackage[T1]{fontenc} % use postscript type 1 fonts
 \usepackage[defaultsups]{newtxtext} % use nice, standard fonts for roman
 \usepackage{textcomp} % use symbols in TS1 encoding
-\renewcommand*\ttdefault{lmtt}
-%msfontstub
 
 % Improves the text layout
 \usepackage{microtype}
@@ -91,6 +89,15 @@
 \newboolean{tblcptop}
 \setboolean{tblcptop}{true}
 \newcommand{\IfTblCpTop}[2]{\ifthenelse{\boolean{tblcptop}}{#1}{#2}}
+\newboolean{nimbusavail}
+\setboolean{nimbusavail}{false}
+\newcommand{\IfNimbusAvail}[2]{\ifthenelse{\boolean{nimbusavail}}{#1}{#2}}
+
+\IfNimbusAvail{
+\usepackage{nimbusmononarrow}
+}{}
+\renewcommand*\ttdefault{lmtt}
+%msfontstub
 
 \newcommand{\OneColumnHSpace}[1]{\IfTwoColumn{}{\hspace*{#1}}}
 
@@ -127,8 +134,8 @@
 \AtBeginEnvironment{verbatim}{\renewcommand{\ttdefault}{lmtt}}
 \AtBeginEnvironment{verbbox}{\renewcommand{\ttdefault}{lmtt}}
 \AtBeginEnvironment{table}{\renewcommand{\ttdefault}{lmtt}}
-\AtBeginEnvironment{tabular}{\renewcommand{\ttdefault}{lmtt}}
-\AtBeginEnvironment{tabularx}{\renewcommand{\ttdefault}{lmtt}}
+\AtBeginEnvironment{table*}{\renewcommand{\ttdefault}{lmtt}}
+\AtBeginEnvironment{sidewaystable*}{\renewcommand{\ttdefault}{lmtt}}
 \AtBeginEnvironment{minipage}{\renewcommand{\ttdefault}{lmtt}}
 \AtBeginEnvironment{listing}{\renewcommand{\ttdefault}{lmtt}}
 \fvset{fontfamily=lmtt}
-- 
2.7.4


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

* Re: [PATCH] defer/rcuapi: Tweak Table 9.3 with nimbusmononarrow font
  2019-02-21 15:38 [PATCH] defer/rcuapi: Tweak Table 9.3 with nimbusmononarrow font Akira Yokosawa
@ 2019-02-21 19:06 ` Paul E. McKenney
  0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2019-02-21 19:06 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Fri, Feb 22, 2019 at 12:38:42AM +0900, Akira Yokosawa wrote:
> >From 3f0a889f86203934737055e129d574cc1232a8b1 Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@gmail.com>
> Date: Thu, 21 Feb 2019 23:36:24 +0900
> Subject: [PATCH] defer/rcuapi: Tweak Table 9.3 with nimbusmononarrow font
> 
> "nimbusmononarrow" font (used in the experimental target "msn")
> is slightly narrower than "lmtt". Table 9.3 hardly fits in
> a page with the lmtt font. nimbusmononarrow gives us some room
> for a possible new API with longer name.
> 
> This change affects targets msnt, 1csf, msr, and msn.
> Those targets can be built on TeX Live 2015/Debian or later.
> 
> As for the other targets, specifying width of every column
> makes "tabularx" unnecessary. Plain "tabular" suffices. 
> 
> Once everyone (especially our editor) upgrades his/her LaTeX
> installation, all the target will be able to use the same font
> in this table.
> 
> For bold face characters in the table header, use \pmb{} instead
> of {\bf ...}, as lmtt's bold face is not bold enough and
> nimbusmononarrow lacks bold face font.
> 
> Signed-off-by: Akira Yokosawa <akiyks@gmail.com>

Applied and pushed, thank you!

							Thanx, Paul

> ---
>  Makefile         | 16 ++++++++++------
>  defer/rcuapi.tex | 29 +++++++++++++++++++----------
>  perfbook.tex     | 15 +++++++++++----
>  3 files changed, 40 insertions(+), 20 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 7a6d156..4547256 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -168,23 +168,27 @@ perfbook-mstx.tex: perfbook.tex
>  	sed -e 's/%msfontstub/\\renewcommand*\\ttdefault{txtt}/' < $< > $@
>  
>  perfbook-msr.tex: perfbook.tex
> -	sed -e 's/%msfontstub/\\usepackage[scaled=.94]{nimbusmono}/' < $< > $@
> +	sed -e 's/%msfontstub/\\usepackage[scaled=.94]{nimbusmono}/' \
> +	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@
>  	@echo "## This target requires font package nimbus15. ##"
>  
>  perfbook-msn.tex: perfbook.tex
>  	sed -e 's/%msfontstub/\\usepackage{nimbusmononarrow}/' \
> -	    -e 's/{lmttforcode}{true}/{lmttforcode}{false}/' < $< > $@
> +	    -e 's/{lmttforcode}{true}/{lmttforcode}{false}/' \
> +	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@
>  	@echo "## This target requires font package nimbus15. ##"
>  
>  perfbook-msnt.tex: perfbook.tex
> -	sed -e 's/%msfontstub/\\usepackage[zerostyle=a]{newtxtt}/' < $< > $@
> -	@echo "## This target requires font package newtxtt. ##"
> -	@echo "## If build fails, try target 'mstx' instead. ##"
> +	sed -e 's/%msfontstub/\\usepackage[zerostyle=a]{newtxtt}/' \
> +	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' < $< > $@
> +	@echo "## This target requires font packages newtxtt and nimbus15. ##"
> +	@echo "## If build fails, try target 'mstx' instead.               ##"
>  
>  perfbook-1csf.tex: perfbook-1c.tex
>  	sed -e 's/setboolean{sansserif}{false}/setboolean{sansserif}{true}/' \
> +	    -e 's/{nimbusavail}{false}/{nimbusavail}{true}/' \
>  	    -e 's/%msfontstub/\\usepackage[var0]{inconsolata}[2013\/07\/17]/' < $< > $@
> -	@echo "## This target requires math font package newtxsf. ##"
> +	@echo "## This target requires math font packages newtxsf and nimbus15. ##"
>  
>  # Rules related to perfbook_html are removed as of May, 2016
>  
> diff --git a/defer/rcuapi.tex b/defer/rcuapi.tex
> index a98b5e8..644a937 100644
> --- a/defer/rcuapi.tex
> +++ b/defer/rcuapi.tex
> @@ -758,16 +758,25 @@ Section~\ref{sec:defer:Maintain Multiple Versions of Recently Updated Objects}.
>  \caption{RCU-Protected List APIs}
>  \label{tab:defer:RCU-Protected List APIs}
>  \footnotesize
> -\begin{tabularx}{8.4in}{>{\raggedright\arraybackslash}X
> -    >{\raggedright\arraybackslash}X
> -    >{\raggedright\arraybackslash}X
> -    >{\raggedright\arraybackslash}p{1.7in}}
> +\newlength{\cwa}\newlength{\cwb}\newlength{\cwc}\newlength{\cwd}
> +\IfNimbusAvail{
> +  \renewcommand{\ttdefault}{NimbusMonoN}
> +  \setlength{\cwa}{1.9in}\setlength{\cwb}{2.1in}
> +  \setlength{\cwc}{1.8in}\setlength{\cwd}{1.6in}
> +}{
> +  \setlength{\cwa}{1.95in}\setlength{\cwb}{2.15in}
> +  \setlength{\cwc}{1.9in}\setlength{\cwd}{1.7in}
> +}
> +\begin{tabular}{>{\raggedright\arraybackslash}p{\cwa}
> +    >{\raggedright\arraybackslash}p{\cwb}
> +    >{\raggedright\arraybackslash}p{\cwc}
> +    >{\raggedright\arraybackslash}p{\cwd}}
>  \toprule
> -{\bf \tco{list}}: Circular doubly linked list &
> -    {\bf \tco{hlist}}: Linear doubly linked list &
> -	{\bf \tco{hlist_nulls}}: Linear doubly linked list with marked
> -	NULL pointer, with up to 31 bits of marking &
> -	    {\bf \tco{hlist_bl}}: Linear doubly linked list with bit locking \\
> +\pmb{\tco{list}}: Circular doubly linked list &
> +    \pmb{\tco{hlist}}: Linear doubly linked list &
> +	\pmb{\tco{hlist_nulls}}: Linear doubly linked list with marked
> +	NULL pointer, with up to 31~bits of marking &
> +	    \pmb{\tco{hlist_bl}}: Linear doubly linked list with bit locking \\
>  \midrule
>  \multicolumn{4}{l}{{\bf Initialization}} \\
>  &
> @@ -832,7 +841,7 @@ Section~\ref{sec:defer:Maintain Multiple Versions of Recently Updated Objects}.
>  	&
>  	    \\
>  \bottomrule
> -\end{tabularx}
> +\end{tabular}
>  \end{sidewaystable*}
>  
>  The first pair of categories operate on Linux
> diff --git a/perfbook.tex b/perfbook.tex
> index edf18d5..f79e7b0 100644
> --- a/perfbook.tex
> +++ b/perfbook.tex
> @@ -9,8 +9,6 @@
>  \usepackage[T1]{fontenc} % use postscript type 1 fonts
>  \usepackage[defaultsups]{newtxtext} % use nice, standard fonts for roman
>  \usepackage{textcomp} % use symbols in TS1 encoding
> -\renewcommand*\ttdefault{lmtt}
> -%msfontstub
>  
>  % Improves the text layout
>  \usepackage{microtype}
> @@ -91,6 +89,15 @@
>  \newboolean{tblcptop}
>  \setboolean{tblcptop}{true}
>  \newcommand{\IfTblCpTop}[2]{\ifthenelse{\boolean{tblcptop}}{#1}{#2}}
> +\newboolean{nimbusavail}
> +\setboolean{nimbusavail}{false}
> +\newcommand{\IfNimbusAvail}[2]{\ifthenelse{\boolean{nimbusavail}}{#1}{#2}}
> +
> +\IfNimbusAvail{
> +\usepackage{nimbusmononarrow}
> +}{}
> +\renewcommand*\ttdefault{lmtt}
> +%msfontstub
>  
>  \newcommand{\OneColumnHSpace}[1]{\IfTwoColumn{}{\hspace*{#1}}}
>  
> @@ -127,8 +134,8 @@
>  \AtBeginEnvironment{verbatim}{\renewcommand{\ttdefault}{lmtt}}
>  \AtBeginEnvironment{verbbox}{\renewcommand{\ttdefault}{lmtt}}
>  \AtBeginEnvironment{table}{\renewcommand{\ttdefault}{lmtt}}
> -\AtBeginEnvironment{tabular}{\renewcommand{\ttdefault}{lmtt}}
> -\AtBeginEnvironment{tabularx}{\renewcommand{\ttdefault}{lmtt}}
> +\AtBeginEnvironment{table*}{\renewcommand{\ttdefault}{lmtt}}
> +\AtBeginEnvironment{sidewaystable*}{\renewcommand{\ttdefault}{lmtt}}
>  \AtBeginEnvironment{minipage}{\renewcommand{\ttdefault}{lmtt}}
>  \AtBeginEnvironment{listing}{\renewcommand{\ttdefault}{lmtt}}
>  \fvset{fontfamily=lmtt}
> -- 
> 2.7.4
> 


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

end of thread, other threads:[~2019-02-21 19:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-21 15:38 [PATCH] defer/rcuapi: Tweak Table 9.3 with nimbusmononarrow font Akira Yokosawa
2019-02-21 19:06 ` Paul E. McKenney

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.