From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: perfbook@vger.kernel.org
Subject: Re: [PATCH] styleguide: Reflect table format conversion
Date: Sat, 28 Oct 2017 20:25:33 -0700 [thread overview]
Message-ID: <20171029032533.GC3659@linux.vnet.ibm.com> (raw)
In-Reply-To: <e199471f-0d88-8b07-e75c-9611559c599c@gmail.com>
On Sun, Oct 29, 2017 at 09:19:18AM +0900, Akira Yokosawa wrote:
> >From 574dbdaffe6d9243921f4ac4f2cfcb9c3e86ae66 Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@gmail.com>
> Date: Sun, 29 Oct 2017 09:15:02 +0900
> Subject: [PATCH] styleguide: Reflect table format conversion
>
> Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Applied, thank you! To me, Table D.3 looks better than either
D.10 or D.11, though I should look again later.
Thanx, Paul
> ---
> appendix/styleguide/styleguide.tex | 268 ++++++++++++++++++-------------------
> 1 file changed, 132 insertions(+), 136 deletions(-)
>
> diff --git a/appendix/styleguide/styleguide.tex b/appendix/styleguide/styleguide.tex
> index 024270c..11f539b 100644
> --- a/appendix/styleguide/styleguide.tex
> +++ b/appendix/styleguide/styleguide.tex
> @@ -733,6 +733,105 @@ As you can see, extra space is placed before the comma.
>
> The \verb|\ldots| macro behaves the same as the \verb|\dots| macro.
>
> +\subsection{Floating Object Format}
> +\label{sec:app:styleguide:Floating Object Format}
> +
> +\subsubsection{Ruled Line in Table}
> +\label{sec:app:styleguide:Ruled Line in Table}
> +
> +They say that tables drawn by using ruled lines of plain \LaTeX\
> +look ugly.\footnote{
> + \url{https://www.inf.ethz.ch/personal/markusp/teaching/guides/guide-tables.pdf}
> +}
> +Vertical lines should be avoided and horizontal lines should be
> +used sparingly, especially in tables of simple structure.
> +
> +\IfTblCpTop{}{
> +\floatstyle{plaintop}
> +\restylefloat{table}
> +\setlength{\abovetopsep}{-2pt}
> +\addtolength{\abovecaptionskip}{-2.5pt}
> +}
> +
> +Table~\ref{tab:app:styleguide:Refrigeration Power Consumption}
> +(corresponding to
> +Table~\ref{tab:future:Refrigeration Power Consumption})
> +is drawn by using the features of ``booktabs'' and ``xcolor'' packages.
> +Note that ruled lines of booktabs can not be mixed with
> +vertical lines in a table.\footnote{
> + There is another package named ``arydshln'' which provides dashed lines
> + to be used in tables. A couple of experimental examples are presented in
> + Section~\ref{sec:app:styleguide:Table Layout Experiment}.
> +}
> +
> +\begin{table}[tbhp]
> +\rowcolors{1}{}{lightgray}
> +\renewcommand*{\arraystretch}{1.2}\centering\small
> +\begin{tabular}{lrrr}\toprule
> +Situation
> + & $T$ (K)
> + & $\CPf$ & \parbox[b]{.75in}{\raggedleft Power per watt\par waste heat (W)} \\
> +\midrule
> +Dry Ice
> + & $195$
> + & $1.990$
> + & 0.5 \\
> +Liquid N$_2$
> + & $77$
> + & $0.356$
> + & 2.8 \\
> +Liquid H$_2$
> + & $20$
> + & $0.073$
> + & 13.7 \\
> +Liquid He
> + & $4$
> + & $0.0138$
> + & 72.3 \\
> +IBM~Q & $0.015$
> + & $0.000051$
> + & 19,500.0 \\
> +\bottomrule
> +\end{tabular}
> +\caption{Refrigeration Power Consumption}
> +\label{tab:app:styleguide:Refrigeration Power Consumption}
> +\end{table}
> +
> +Most tables in the text have been converted to this format.
> +Tables~\ref{tab:future:Comparison of Locking and HTM}
> +and~\ref{tab:future:Comparison of Locking (Augmented by RCU or Hazard Pointers) and HTM}
> +are the exceptions. They are complex and require an alternative
> +approach.\footnote{Any suggestion is welcome!!!}
> +
> +\subsubsection{Position of Caption}
> +\label{sec:app:styleguide:Position of Caption}
> +
> +In \LaTeX\ conventions, captions of tables are usually placed
> +above them. The reason is the flow of your eye movement
> +when you look at them. Most tables have a row of heading at the
> +top. You naturally look at the top of a table at first. Captions at
> +the bottom of tables disturb this flow.
> +The same can be said of code snippets, which are read from
> +top to bottom.
> +
> +For code snippets, the ``ruled'' style chosen for listing
> +environment places the caption at the top.
> +See Listing~\ref{lst:app:styleguide:Sample Code Snippet}
> +for an example.
> +
> +As for tables, the position of caption is tweaked by
> +\verb|\floatstyle{}| and \verb|\restylefloat{}| macros
> +in preamble.
> +
> +Vertical skips below captions are reduced by setting a smaller
> +value to the \verb|\abovecaptionskip| variable,
> +which would also affect captions to figures.
> +
> +In the tables which use horizontal rules of ``booktabs'' package,
> +the vertical skips between captions and tables are further reduced
> +by setting a negative value to the \co{\\abovetopsep} variable,
> +which controls the behavior of \co{\\toprule}.
> +
> \subsection{Improvement Candidates}
> \label{sec:app:styleguide:Improvement Candidates}
>
> @@ -750,9 +849,6 @@ The \verb|\ldots| macro behaves the same as the \verb|\dots| macro.
> \end{minipage}
> \end{figure*}
>
> -\floatstyle{ruled}
> -\restylefloat{listing}
> -
> \begin{listing*}[tbh]%
> \caption{Message-Passing Litmus Test (by subfig)}%
> \label{lst:app:styleguide:Message-Passing Litmus Test (subfig)}%
> @@ -829,38 +925,7 @@ exists (1:r2=2 /\ 1:r3=0)
>
> There are a few areas yet to be attempted in perfbook
> which would further improve its appearance.
> -This section lists up such candidates.
> -
> -\subsubsection{Position of Caption}
> -\label{sec:app:styleguide:Position of Caption}
> -
> -In \LaTeX\ conventions, captions of tables are usually placed
> -above them. The reason is the flow of your eye movement
> -when you look at them. Most tables have a row of heading at the
> -top. You naturally look at the top of a table at first. Captions at
> -the bottom of tables disturb this flow.
> -The same can be said of code snippets, which are read from
> -top to bottom.
> -
> -For code snippets, the ``ruled'' style chosen for listing
> -environment places the caption at the top.
> -See Listing~\ref{lst:app:styleguide:Sample Code Snippet}
> -for an example.
> -
> -As for tables, the position of caption can be tweaked by
> -\verb|\floatstyle{}| and \verb|\restylefloat{}| macros
> -in preamble.
> -
> -In the sample tables shown in
> -Sections~\ref{sec:app:styleguide:Ruled Line in Table}
> -and~\ref{sec:app:styleguide:Table Layout Experiment},
> -vertical skips below captions are reduced by setting a smaller
> -value to the \verb|\abovecaptionskip| variable,
> -which would also affect captions to figures.\footnote{
> - The skip below table captions in these sections is further
> - reduced by setting a negative value to the \co{\\abovetopsep}
> - variable of the ``booktabs'' package which controls the behavior
> - of \co{\\toprule}.}
> +This section lists such candidates.
>
> \subsubsection{Grouping Related Figures/Listings}
> \label{sec:app:styleguide:Grouping Related Figures/Listings}
> @@ -909,75 +974,14 @@ subfloats.
> Otherwise, the resulting caption number would be off by one
> from the actual number.
>
> -\subsubsection{Ruled Line in Table}
> -\label{sec:app:styleguide:Ruled Line in Table}
> -
> -They say that tables drawn by using ruled lines of plain \LaTeX\
> -look ugly.\footnote{
> - \url{https://www.inf.ethz.ch/personal/markusp/teaching/guides/guide-tables.pdf}
> -}
> -Vertical lines should be avoided and horizontal lines should be
> -used sparingly, especially in tables of simple structure.
> -
> -\IfTblCpTop{}{
> -\floatstyle{plaintop}
> -\restylefloat{table}
> -\setlength{\abovetopsep}{-2pt}
> -\addtolength{\abovecaptionskip}{-2.5pt}
> -}
> -
> -For example,
> -Table~\ref{tab:future:Refrigeration Power Consumption}
> -can be tweaked as shown in
> -Table~\ref{tab:app:styleguide:Refrigeration Power Consumption}
> -with the help of ``booktabs'' and ``xcolor'' packages.
> -
> -\begin{table}[tbhp]
> -\rowcolors{1}{}{lightgray}
> -\renewcommand*{\arraystretch}{1.2}\centering\small
> -\begin{tabular}{lrrr}\toprule
> -Situation
> - & $T$ (K)
> - & $\CPf$ & \parbox[b]{.75in}{\raggedleft Power per watt\par waste heat (W)} \\
> -\midrule
> -Dry Ice
> - & $195$
> - & $1.990$
> - & 0.5 \\
> -Liquid N$_2$
> - & $77$
> - & $0.356$
> - & 2.8 \\
> -Liquid H$_2$
> - & $20$
> - & $0.073$
> - & 13.7 \\
> -Liquid He
> - & $4$
> - & $0.0138$
> - & 72.3 \\
> -IBM~Q & $0.015$
> - & $0.000051$
> - & 19,500.0 \\
> -\bottomrule
> -\end{tabular}
> -\caption{Refrigeration Power Consumption}
> -\label{tab:app:styleguide:Refrigeration Power Consumption}
> -\end{table}
> -
> -Note that ruled lines of booktabs can not be mixed with
> -vertical lines in a table.\footnote{
> - There is another package named ``arydshln'' which provides dashed lines
> - to be used in tables. A couple of experimental examples are presented in
> - Section~\ref{sec:app:styleguide:Table Layout Experiment}.
> -}
> -
> \subsubsection{Table Layout Experiment}
> \label{sec:app:styleguide:Table Layout Experiment}
>
> -To see how far we can go without vertical rules in tables,
> -several experiments using booktabs, xcolors, and arydshln packages
> -are presented in this section.
> +This section presents some experimental tables
> +using booktabs, xcolors, and arydshln packages.
> +The corresponding tables in the text have been converted using one of
> +the format shown here. The source of this section can be regarded
> +as a reference to be consulted when new tables are added in the text.
>
> \begin{table}[tb]
> \rowcolors{1}{}{lightgray}
> @@ -1007,25 +1011,26 @@ are presented in this section.
> \label{tab:app:styleguide:Performance of Synchronization Mechanisms of 4-CPU 1.8GHz AMD Opteron 844 System}
> \end{table}
>
> -Table~\ref{tab:cpu:Performance of Synchronization Mechanisms on 4-CPU 1.8GHz AMD Opteron 844 System}
> -can be tweaked as is shown in
> -Table~\ref{tab:app:styleguide:Performance of Synchronization Mechanisms of 4-CPU 1.8GHz AMD Opteron 844 System} using booktabs and xcolors.
> -In this table, original tabular source contains tweaks with
> -\verb|\textcolor{}| commands. They are removed by using ``S'' column
> -specifiers provided by the ``siunitx'' package.
> +In
> +Table~\ref{tab:app:styleguide:Performance of Synchronization Mechanisms of 4-CPU 1.8GHz AMD Opteron 844 System}
> +(corresponding to
> +Table~\ref{tab:cpu:Performance of Synchronization Mechanisms on 4-CPU 1.8GHz AMD Opteron 844 System}),
> +the ``S'' column specifiers provided
> +by the ``siunitx'' package are used to align numbers.
>
> Table~\ref{tab:app:styleguide:Reference Counting and Synchronization Mechanisms}
> -is a tweaked version of
> -Table~\ref{tab:together:Reference Counting and Synchronization Mechanisms},
> -which has more complex header than the tables experimented so far.
> -
> +(corresponding to
> +Table~\ref{tab:together:Reference Counting and Synchronization Mechanisms})
> +is an example of table with a complex header.
> In
> Table~\ref{tab:app:styleguide:Reference Counting and Synchronization Mechanisms},
> the gap in the mid-rule corresponds to the distinction
> -which is represented by double vertical rules in
> -Table~\ref{tab:together:Reference Counting and Synchronization Mechanisms}.
> -The legends in the frame box explain the abbreviations used in the matrix.
> -Two types of memory barrier are denoted by subscripts here.
> +which had been represented by double vertical rules before the conversion.
> +The legends in the frame box appended here explain the abbreviations used
> +in the matrix. Two types of memory barrier are denoted by subscripts here.
> +The legends and subscripts are not present in
> +Table~\ref{tab:together:Reference Counting and Synchronization Mechanisms}
> +since they are redundant there.
>
> \begin{table}[tb]
> \small
> @@ -1062,12 +1067,10 @@ Two types of memory barrier are denoted by subscripts here.
> \label{tab:app:styleguide:Reference Counting and Synchronization Mechanisms}
> \end{table}
>
> -Table~\ref{tab:app:whymb:Cache Coherence Example}
> -can be tweaked as in
> Table~\ref{tab:app:styleguide:Cache Coherence Example}
> -in a similar manner.
> -It is not a ``table'' in the narrow sense, rather a sequence diagram.
> -A ``figure'' environment might be a proper choice here.
> +(corresponding to
> +Table~\ref{tab:app:whymb:Cache Coherence Example})
> +is a sequence diagram drawn as a table.
>
> \begin{table*}[tbh]
> \small
> @@ -1117,12 +1120,15 @@ just below the mid-rules. This change makes it easier for
> properly.
>
> Table~\ref{tab:app:styleguide:RCU Publish-Subscribe and Version Maintenance APIs (colortbl)}
> -is another example which keeps original columns and colors rows only where
> +is another version which keeps original columns and colors rows only where
> a category has multiple rows. This is done by combining \verb|\rowcolors{}|
> of ``xcolor'' and \verb|\cellcolor{}| commands of the ``colortbl''
> package (\verb|\cellcolor{}| overrides \verb|\rowcolors{}|).
>
> -For consistent looks, the latter layout might be our choice.
> +In
> +Table~\ref{tab:defer:RCU Publish-Subscribe and Version Maintenance APIs},
> +the latter layout without partial row coloring has been
> +chosen for simplicity.
>
> \begin{table*}[tbh]
> \rowcolors{2}{}{blue!15}
> @@ -1272,10 +1278,10 @@ Pointer update &
> \label{tab:app:styleguide:RCU Publish-Subscribe and Version Maintenance APIs (colortbl)}
> \end{table*}
>
> -Table~\ref{tab:memorder:Memory Misordering: Store-Buffering Sequence of Events}
> -can be tweaked as shown in
> -Table~\ref{tab:app:styleguide:Memory Misordering: Store-Buffering Sequence of Events}.
> -It is also a sequence diagram drawn as a tabular object.
> +Table~\ref{tab:app:styleguide:Memory Misordering: Store-Buffering Sequence of Events}
> +(corresponding to
> +Table~\ref{tab:memorder:Memory Misordering: Store-Buffering Sequence of Events})
> +is also a sequence diagram drawn as a tabular object.
>
> \begin{table*}[tbh]
> \rowcolors{6}{}{lightgray}
> @@ -1381,11 +1387,6 @@ IBM~Q & $0.015$
> \label{tab:app:styleguide:Refrigeration Power Consumption (arydshln-2)}
> \end{table}
>
> -Tables in Chapter~\ref{chp:Advanced Synchronization: Memory Ordering}
> -have been recently converted to the scheme presented in this section.
> -Refer to \path{memorder/memorder.tex}
> -for examples of tables with complex headings.
> -
> \IfTblCpTop{}{
> \floatstyle{plain}
> \restylefloat{table}
> @@ -1399,11 +1400,6 @@ for examples of tables with complex headings.
> Other improvement candidates are listed in the source of this
> section as comments.
>
> -% Trademarks:
> -% As the Legal page covers trademarks, there is no need to
> -% use trademark symbol in the text. They seems to have been
> -% imported from original publications.
> -%
> % Ugly line break by \co{}
> % __
> % atomic_store()
> --
> 2.7.4
>
prev parent reply other threads:[~2017-10-29 3:25 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-29 0:19 [PATCH] styleguide: Reflect table format conversion Akira Yokosawa
2017-10-29 3:25 ` Paul E. McKenney [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171029032533.GC3659@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akiyks@gmail.com \
--cc=perfbook@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox