Re: [PATCH] styleguide: Update code snippet section

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 11, 2018 at 11:44:54PM +0900, Akira Yokosawa wrote:
> >From c821c6c678197b760a4c08c7bfdba370bdd31a71 Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@xxxxxxxxx>
> Date: Mon, 11 Nov 2018 23:30:04 +0900
> Subject: [PATCH] styleguide: Update code snippet section
> 
> Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
> ---
> Hi Paul,
> 
> This updates Style Guide to describe new scheme of code snippet.
> Although there still remain rough edges, hopefully it would cover
> essential info.

Very good, thank you!  I was unaware of some of the restrictions for
comments in litmus tests, so this is very welcome documentation.  ;-)

Queued, will be pushed soon.

							Thanx, Paul

>         Thanks, Akira
> --
>  appendix/styleguide/samplecodesnippet.c         |  11 +
>  appendix/styleguide/samplecodesnippetfcv.tex    |  17 +
>  appendix/styleguide/samplecodesnippetlst.tex    |   4 +-
>  appendix/styleguide/samplecodesnippetlstlbl.tex |  19 ++
>  appendix/styleguide/styleguide.tex              | 399 ++++++++++++++++++------
>  5 files changed, 359 insertions(+), 91 deletions(-)
>  create mode 100644 appendix/styleguide/samplecodesnippet.c
>  create mode 100644 appendix/styleguide/samplecodesnippetfcv.tex
>  create mode 100644 appendix/styleguide/samplecodesnippetlstlbl.tex
> 
> diff --git a/appendix/styleguide/samplecodesnippet.c b/appendix/styleguide/samplecodesnippet.c
> new file mode 100644
> index 0000000..f58f656
> --- /dev/null
> +++ b/appendix/styleguide/samplecodesnippet.c
> @@ -0,0 +1,11 @@
> +//\begin{snippet}[labelbase=ln:base1,commandchars=\$\[\]]
> +/*
> + * Sample Code Snippet
> + */
> +#include <stdio.h>
> +int main(void)
> +{
> +	printf("Hello world!\n");	//\lnlbl{printf}
> +	return 0;			//\lnlbl{return}
> +}
> +//\end{snippet}
> diff --git a/appendix/styleguide/samplecodesnippetfcv.tex b/appendix/styleguide/samplecodesnippetfcv.tex
> new file mode 100644
> index 0000000..4e03b2a
> --- /dev/null
> +++ b/appendix/styleguide/samplecodesnippetfcv.tex
> @@ -0,0 +1,17 @@
> +\begin{listing}[tb]
> +\begin{linelabel}[ln:base1]			%lnlbl~linelabel^
> +\begin{VerbatimL}[commandchars=\$\[\]]
> +/*
> + * Sample Code Snippet
> + */
> +#include <stdio.h>
> +int main(void)
> +{
> +	printf("Hello world!\n");	$lnlbl[printf]
> +	return 0;			$lnlbl[return]
> +}
> +\end{VerbatimL}
> +\end{linelabel}
> +\caption{Sample Code Snippet}
> +\label{lst:app:styleguide:Sample Code Snippet}
> +\end{listing}
> diff --git a/appendix/styleguide/samplecodesnippetlst.tex b/appendix/styleguide/samplecodesnippetlst.tex
> index 06df5cc..65a1f48 100644
> --- a/appendix/styleguide/samplecodesnippetlst.tex
> +++ b/appendix/styleguide/samplecodesnippetlst.tex
> @@ -14,6 +14,6 @@ int main(void)
>  }
>  \centering
>  \theverbbox
> -\caption{Sample Code Snippet}
> -\label{lst:app:styleguide:Sample Code Snippet}
> +\caption{Sample Code Snippet (Obsolescent)}
> +\label{lst:app:styleguide:Sample Code Snippet (Obsolesc)}
>  \end{listing}
> diff --git a/appendix/styleguide/samplecodesnippetlstlbl.tex b/appendix/styleguide/samplecodesnippetlstlbl.tex
> new file mode 100644
> index 0000000..8ee8b5d
> --- /dev/null
> +++ b/appendix/styleguide/samplecodesnippetlstlbl.tex
> @@ -0,0 +1,19 @@
> +\begin{listing}
> +{ \scriptsize
> +\begin{verbbox}[\LstLineNo] %lnlbl@lineno$
> +/*				%lnlbl@b$
> + * Sample Code Snippet
> + */
> +#include <stdio.h>
> +int main(void)
> +{
> +  printf("Hello world!\n");
> +  return 0;
> +}				%lnlbl@e$
> +\end{verbbox}
> +}
> +\centering
> +\theverbbox			%lnlbl@theverbbox$
> +\caption{Sample Code Snippet (Obsolescent)}
> +\label{lst:app:styleguide:Sample Code Snippet (Obsolesc)}
> +\end{listing}
> diff --git a/appendix/styleguide/styleguide.tex b/appendix/styleguide/styleguide.tex
> index f375f77..0a94c1c 100644
> --- a/appendix/styleguide/styleguide.tex
> +++ b/appendix/styleguide/styleguide.tex
> @@ -322,106 +322,322 @@ This section explains the use cases of such macros and environments.
>  \subsubsection{Code Snippet}
>  \label{sec:app:styleguide:Code Snippet}
>  
> -Although the ``verbatim'' environment is commonly used to include
> -listings, we use the ``verbbox'' environment provided by the
> -``verbatimbox'' package for most code snippets to enable the
> -centering layout.
> +Although the \qco{verbatim} environment is a primitve way to include
> +listings, we are transitioning to a new scheme which uses
> +the \qco{fancyvrb} package for code snippets.
> +
> +Three customized environments of \qco{Verbatim} are defined
> +for perfbook.
> +
> +\qco{VerbatimL} is for floating snippets within the \qco{listing}
> +environment. \qco{VerbatimN} is for inline snippets with line count
> +enabled. \qco{VerbatimU} is for inline snippets without line count.
> +They are defined in the preamble as shown below:
> +
> +\begin{VerbatimU}
> +\DefineVerbatimEnvironment{VerbatimL}{Verbatim}%
> +  {fontsize=\scriptsize,numbers=left,numbersep=5pt,%
> +    xleftmargin=9pt,obeytabs=true,tabsize=2}
> +\AfterEndEnvironment{VerbatimL}{\vspace*{-9pt}}
> +\DefineVerbatimEnvironment{VerbatimN}{Verbatim}%
> +  {fontsize=\scriptsize,numbers=left,numbersep=3pt,%
> +    xleftmargin=5pt,xrightmargin=5pt,obeytabs=true,%
> +    tabsize=2,frame=single}
> +\DefineVerbatimEnvironment{VerbatimU}{Verbatim}%
> +  {fontsize=\scriptsize,numbers=none,xleftmargin=5pt,%
> +    xrightmargin=5pt,obeytabs=true,tabsize=2,%
> +    samepage=true,frame=single}
> +\end{VerbatimU}
> +
> +We used to use the \qco{verbbox} environment provided
> +by the \qco{verbatimbox} package. As will be described later in
> +Section~\ref{sec:app:styleguide:Code Snippet (Obsolesc)},
> +\co{verbbox} has the capability of automatic
> +line numbering. However, it is not possible to embed labels on lines
> +in the snippet to refer from the text.
> +
> +The \co{fancyvrb} package allows us to do that by the help of
> +escaping feature.
> +And the \LaTeX\ sources of snippets can be extracted from code samples under
> +the \path{CodeSamples} directory of perfbook tree.
> +
> +Conversion to the new scheme is currently underway.
>  
>  % Another option would be the ``lstlisting'' environment provided
>  %  by the ``listings'' package. We are already using its ``lstinline''
>  %  command in the definition of \co{\\co\{\}} macro.
>  
> -\begin{listing}[tbh]
> -{ \scriptsize
> -\verbfilebox[{\makebox[5ex][r]{\arabic{VerbboxLineNo}:\hspace{2ex}}}]
> -	{appendix/styleguide/samplecodesnippetlst.tex}
> -}
> -\centering
> -\theverbbox
> +\begin{listing}[tb]
> +\fvset{fontsize=\scriptsize,numbers=left,numbersep=5pt,xleftmargin=9pt,obeytabs=true,tabsize=8,commandchars=\%\~\^}
> +\begin{linelabel}[ln:app:styleguide:LaTeX Source of Sample Code Snippet (Current)]
> +\VerbatimInput{appendix/styleguide/samplecodesnippetfcv.tex}
> +\end{linelabel}
> +\vspace*{-9pt}
>  \caption{\LaTeX\ Source of Sample Code Snippet (Current)}
>  \label{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Current)}
>  \end{listing}
>  
> -\input{appendix/styleguide/samplecodesnippetlst}
> +\input{appendix/styleguide/samplecodesnippetfcv.tex}
>  
>  The \LaTeX\ source of a sample code snippet is shown in
>  Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Current)}
> -and is typeset as show in
> +and is typeset as shown in
>  Listing~\ref{lst:app:styleguide:Sample Code Snippet}.
>  
> -Note that the verbbox environment is placed inside the listing environment.
> -This is to avoid a side effect of verbbox environment that interferes
> -with the ``afterheading\-/ness'' of a section's first sentence
> -when a verbbox is placed just below a heading.
> +Labels to lines are specified in \qco{$lnlbl[]} command. The characters
> +specified by \qco{commandchars} option to \co{VarbatimL} environment are
> +used by the \co{fancyvrb} package to substitute \qco{\\lnlbl\{\}}
> +for \qco{$lnlbl[]}. Those characters should be selected so that they
> +don't appear elsewhere in the code snippet.
>  
> -Until recently, code snippets were coded using a different scheme.
> -A sample \LaTeX\ source is shown in
> -Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolescent)}
> -and is typeset as shown in
> -Figure~\ref{fig:app:styleguide:Sample Code Snippet}.
> +Labels \qco{printf} and \qco{return} in
> +Listing~\ref{lst:app:styleguide:Sample Code Snippet}
> +can be referred to as shown below:
>  
> -\begin{listing}[tbh]
> -{ \scriptsize
> -\verbfilebox[{\makebox[5ex][r]{\arabic{VerbboxLineNo}:\hspace{2ex}}}]
> -	{appendix/styleguide/samplecodesnippetfig.tex}
> +\begin{VerbatimU}
> +\begin{lineref}[ln:base1]
> +Lines~\lnref{printf} and~\lnref{return} can be referred
> +to from text.
> +\end{lineref}
> +\end{VerbatimU}
> +
> +Above code results in the paragraph below:
> +
> +\begin{quote}
> +\begin{lineref}[ln:base1]
> +Lines~\lnref{printf} and~\lnref{return} can be referred
> +to from text.
> +\end{lineref}
> +\end{quote}
> +
> +\LaTeX\ source shown in
> +Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Current)}
> +can be extracted from a code sample of
> +Listing~\ref{lst:app:styleguide:Source of Code Sample} by a perl script
> +\path{utilities/fcvextract.pl}. All the relevant rules of extraction
> +are described as recipes in the top level \path{Makefile} and
> +a script to generate dependencies (\path{utilities/gen_snippet_d.pl}).
> +
> +\begin{listing}[tb]
> +\fvset{fontsize=\scriptsize,numbers=left,numbersep=5pt,xleftmargin=9pt,obeytabs=true,tabsize=8}
> +\VerbatimInput{appendix/styleguide/samplecodesnippet.c}
> +\vspace*{-9pt}
> +\caption{Source of Code Sample with ``snippet'' meta command}
> +\label{lst:app:styleguide:Source of Code Sample}
> +\end{listing}
> +
> +As you can see, Listing ~\ref{lst:app:styleguide:Source of Code Sample}
> +has meta commands in comments of C (C++ style). These meta commands
> +are interpreted by \path{utilities/fcvextract.pl}, which distinguishes
> +the type of comment style by the suffix of code sample's file name.
> +
> +Meta commands which can be used in code samples are shown below:
> +
> +\begin{VerbatimU}
> +\begin{snippet}[option]
> +\end{snippet}
> +\lnlbl{<label string>}
> +\end{VerbatimU}
> +
> +Options to the \co{\\begin\{snippet\}} meta command are as the following:
> +
> +\begin{VerbatimU}
> +labelbase=<label base string>
> +commandchars=\X\Y\Z
> +\end{VerbatimU}
> +
> +The string given to \qco{labelbase} will be converted to
> +``\co{\\begin\{linelabel\}[<label base string>]}'' command as shown on
> +line~\ref{ln:app:styleguide:LaTeX Source of Sample Code Snippet (Current):linelabel} of
> +Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Current)}.
> +\qco{commandchars} option is given to the \co{VerbatimL} environment as is.
> +Other types of options, if any, are also passed to the \co{VerbatimL}
> +environment.
> +The \qco{lnlbl} commands are converted to reflect the escape-character choice
> +along the way.
> +
> +There can be multiple pairs of \co{\\begin\{snippet\}} and \co{\\end\{snippet\}}
> +as long as they have unique \qco{labelbase} strings.
> +
> +Our naming scheme of \qco{labelbase} for unique name space is as follows:
> +
> +\begin{VerbatimU}
> +ln:<Chapter/Subdirectory>:<File Name>:<Function Name>
> +\end{VerbatimU}
> +
> +Litmus tests, which are handled by \qco{herdtools7} commands such as
> +\qco{litmus7} and \qco{herd7}, were problematic for this scheme.
> +Those commands have particular rules of where comments can be
> +placed and restriction on characters in comments.
> +They also forbid a couple of tokens to appear in comments.
> +(Tokens in comments might sound strange, but they do have such restriction.)
> +
> +For example, the first token in a litmus test must be one of
> +\qco{C}, \qco{PPC}, \qco{X86}, \qco{LISA}, etc., which indicates
> +the flavour of the test. This means no comment is allowed
> +at the beginning of a litmus test.
> +
> +Similarly, several tokens such as \qco{exists}, \qco{filter},
> +and~\qco{locations} indicate the end of litmus test's body.
> +Once one of them appears in a litmus test, no comment is
> +allowed to appear thereafter.  Those tokens keep the same meaning
> +even when they appear in comments!
> +
> +The pair of characters \qco{\{} and \qco{\}} also have special
> +meaning in the C flavour tests. They are used to seperate portions
> +in a litmus test.
> +
> +First pair of \qco{\{} and \qco{\}} encloses initialization part.
> +Comments in this part should be of the form \qco{(* ... *)}.
> +
> +You can't use \qco{\{} and \qco{\}} in comments in litmus tests, either.
> +
> +Example of disallowed comments in a litmus test are shown below:
> +
> +\begin{linelabel}[ln:app:styleguide:Bad comments in Litmus Test]
> +\begin{VerbatimN}[tabsize=8]
> +// Comment at first
> +C C-sample
> +// Comment with { and } characters
> +{
> +x=2;  // C style comment in initialization
>  }
> -\centering
> -\theverbbox
> +
> +P0(int *x}
> +{
> +	int r1;
> +
> +	r1 = READ_ONCE(*x);  // Comment with "exists"
> +}
> +
> +[...]
> +
> +exists (0:r1=0)  // comment after test body
> +\end{VerbatimN}
> +\end{linelabel}
> +
> +To avoid parse error, meta commands in litmus tests (C flavour) are embedded
> +in the following way.
> +
> +\begin{linelabel}[ln:app:styleguide:Sample Source of Litmus Test]
> +\begin{VerbatimN}[tabsize=8]
> +C C-SB+o-o+o-o
> +//\begin[snippet][labelbase=ln:base,commandchars=\%\@\$]
> +
> +{
> +1:r2=0			(*\lnlbl[initr2]*)
> +}
> +
> +P0(int *x0, int *x1)		//\lnlbl[P0:b]
> +{
> +	int r2;
> +
> +	WRITE_ONCE(*x0, 2);
> +	r2 = READ_ONCE(*x1);
> +}				//\lnlbl[P0:e]
> +
> +P1(int *x0, int *x1)
> +{
> +	int r2;
> +
> +	WRITE_ONCE(*x1, 2);
> +	r2 = READ_ONCE(*x0);
> +}
> +
> +//\end[snippet][existslabel=exists_]
> +exists (1:r2=0 /\ 0:r2=0)
> +\end{VerbatimN}
> +\end{linelabel}
> +
> +To support labeling lines after the test body, \co{\\end[snippet]}
> +can have following options:
> +
> +\begin{VerbatimU}
> +exsitslabel=<label of exists>
> +filterlabel=<label of filter>
> +locationslabel=<label of locations>
> +\end{VerbatimU}
> +
> +Example above is converted to the following intermediate code
> +by a script \path{utilities/reorder_ltms.pl}.\footnote{
> +	Currently, only C flavour litmus tests are supported.
> +}
> +The intermediate code can be handled
> +by the common script \path{utilities/fcvextract.pl}.
> +
> +\begin{linelabel}[ln:app:styleguide:Intermediate Source of Litmus Test]
> +\begin{VerbatimN}[tabsize=8]
> +// Do not edit!
> +// Generated by utillities/reorder_ltms.pl
> +//\begin{snippet}[labelbase=ln:base,commandchars=\%\@\$]
> +C C-SB+o-o+o-o
> +
> +{
> +1:r2=0			//\lnlbl{initr2}
> +}
> +
> +P0(int *x0, int *x1)		//\lnlbl{P0:b}
> +{
> +	int r2;
> +
> +	WRITE_ONCE(*x0, 2);
> +	r2 = READ_ONCE(*x1);
> +}				//\lnlbl{P0:e}
> +
> +P1(int *x0, int *x1)
> +{
> +	int r2;
> +
> +	WRITE_ONCE(*x1, 2);
> +	r2 = READ_ONCE(*x0);
> +}
> +
> +exists (1:r2=0 /\ 0:r2=0)\lnlbl{exists_}
> +//\end{snippet}[existslabel=exists_]
> +\end{VerbatimN}
> +\end{linelabel}
> +
> +Note that each litmus test's source file can contain at most one
> +pair of \co{\\begin[snippet]} and \co{\\end[snippet]} because of
> +the restriction of comments.
> +
> +\subsubsection{Code Snippet (Obsolescent)}
> +\label{sec:app:styleguide:Code Snippet (Obsolesc)}
> +
> +Sample \LaTeX\ source of a code snippet coded using
> +the \qco{verbatimbox} package is shown in
> +Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolesc)}
> +and is typeset as shown in
> +Listing~\ref{lst:app:styleguide:Sample Code Snippet (Obsolesc)}.
> +
> +\begin{listing}[tb]
> +\begin{linelabel}[ln:app:styleguide:samplecodesnippetlstlbl]
> +\fvset{fontsize=\scriptsize,numbers=left,numbersep=5pt,xleftmargin=9pt,commandchars=\%\@\$}
> +\VerbatimInput{appendix/styleguide/samplecodesnippetlstlbl.tex}
> +\end{linelabel}
> +\vspace*{-9pt}
>  \caption{\LaTeX\ Source of Sample Code Snippet (Obsolescent)}
> -\label{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolescent)}
> +\label{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolesc)}
>  \end{listing}
>  
> -\input{appendix/styleguide/samplecodesnippetfig}
> -
> -In Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolescent)},
> -the code snippet is coded as a ``figure'' object.
> -Line numbers are manually placed for ease of referencing them within
> -\LaTeX\ sources.
> -
> -However, strictly speaking, code snippets are \emph{not} figures
> -and they deserve their own floating environment.
> -The ``float'' package provides the feature to define additional
> -floating environments.\footnote{
> -  The ``floatrow'' package provides us even more flexible
> -  control of floating objects. However, because of an issue
> -  in two-column layout, we can not use it at the moment.}
> -
> -Transition to the auto-numbering scheme of verbbox and
> -the ``listing'' environment defined for code snippets
> -has recently started in
> -Chapter~\ref{chp:Advanced Synchronization: Memory Ordering}.
> -In other chapters, code snippets have been converted to the
> -``listing'' environments without auto-numbering.
> -Auto-numbering can be enabled when the renumbering of line
> -numbers becomes necessary.
> -The transition has allowed us to choose distinct looks
> -for code snippets, including moving captions to top of the
> -listings
> -(discussed in Section~\ref{sec:app:styleguide:Position of Caption}).
> -
> -The auto\-/numbering feature of verbbox is enabled by
> -the \verb|\LstLineNo| macro specified in the option to verbbox
> -(line~3 in
> -Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Current)}).
> +\input{appendix/styleguide/samplecodesnippetlst.tex}
> +
> +The auto\-/numbering feature of \co{verbbox} is enabled by
> +the ``\verb|\LstLineNo|'' macro specified in the option to verbbox
> +(line~\ref{ln:app:styleguide:samplecodesnippetlstlbl:lineno} in
> +Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolesc)}).
>  The macro is defined in the preamble of \path{perfbook.tex}
>  as follows:
>  
> -\noindent\begin{minipage}{\columnwidth}
> -{ \scriptsize
> -\begin{verbbox}
> +\begin{VerbatimU}
>  \newcommand{\LstLineNo}
>    {\makebox[5ex][r]{\arabic{VerbboxLineNo}\hspace{2ex}}}
> -\end{verbbox}
> -}
> -\vspace{10pt}
> -\centering
> -\theverbbox
> -\vspace{10pt}
> -\end{minipage}
> +\end{VerbatimU}
>  
> -The verbatim environment is used for listings with too many lines
> +The \qco{verbatim} environment is used for listings with too many lines
>  to fit in a column. It is also used to avoid overwhelming
> -\LaTeX\ with a lot of floating objects.
> +\LaTeX\ with a lot of floating objects. They are being converted to the
> +scheme using the \co{VerbatimN} environment.
>  
>  \subsubsection{Identifier}
>  \label{sec:app:styleguide:Identifier}
> @@ -442,8 +658,8 @@ a white space, or an operator \tco{->}.
>  
>  Although \verb|\co{}| command is convenient for inlining within text,
>  it is fragile because of its capability of line break.
> -When it is used inside a ``tabular'' environment or its derivative
> -such as ``tabularx'', it confuses column width
> +When it is used inside a \qco{tabular} environment or its derivative
> +such as \qco{tabularx}, it confuses column width
>  estimation of those environments.
>  Furthermore, \verb|\co{}| can not be safely used in section headings nor
>  description headings.
> @@ -460,7 +676,7 @@ white spaces.
>  \label{sec:app:styleguide:Other Use Cases of Monospace Font}
>  
>  For URLs, we use ``\verb|\url{}|'' command provided by the
> -``hyperref'' package. It will generate hyper references to the
> +\qco{hyperref} package. It will generate hyper references to the
>  URLs.
>  
>  For path names, we use ``\verb|\path{}|'' command. It won't
> @@ -505,11 +721,12 @@ If they are escaped by a~\qco{\\},
>  they appear in the end result with the escape character.
>  The \qco{\\verb} macro can be used in running text if you
>  need to use monospace font for a string which contains
> -many characters to escape.\footnote{
> -  \co{\\verb} is not almighty though. For example, you can't use it
> -  within a footnote. If you do so, you will see a fatal latex error.
> -  There are several workarounds of this problem, but as for perfbook,
> -  \co{\\co\{\}} should suffice.}
> +many characters to escape.\VerbatimFootnotes\footnote{
> +  \verb|\verb| macro is not almighty though. For example, you can't
> +  use it within a footnote. If you do so, you will see a fatal \LaTeX\ error.
> +  The \qco{fancyvrb} package provides a workaround by
> +  the name of \verb|\VerbatimFootnotes| macro. This footnote
> +  contains \verb|\verb| macro.}
>  
>  \subsection{Non Breakable Spaces}
>  \label{sec:app:styleguide:Non Breakable Spaces}
> @@ -552,7 +769,7 @@ In plain \LaTeX, compound words such as ``high-frequency''
>  can be hyphenated only at the hyphen. This sometimes results
>  in poor typesetting. For example:
>  
> -\begin{center}\begin{minipage}{2.55in}\vspace{0.6\baselineskip}
> +\begin{center}\begin{minipage}{2.6in}\vspace{0.6\baselineskip}
>    High-frequency radio wave, high-frequency radio wave,
>    high-frequency radio wave, high-frequency radio wave,
>    high-frequency radio wave, high-frequency radio wave.
> @@ -568,7 +785,7 @@ words is enabled in perfbook.\footnote{
>  
>  Example with \qco{\\-/}:
>  
> -\begin{center}\begin{minipage}{2.55in}\vspace{0.6\baselineskip}
> +\begin{center}\begin{minipage}{2.6in}\vspace{0.6\baselineskip}
>    High\-/frequency radio wave, high\-/frequency radio wave,
>    high\-/frequency radio wave, high\-/frequency radio wave,
>    high\-/frequency radio wave, high\-/frequency radio wave.
> @@ -646,19 +863,23 @@ changes.
>  Example with a simple dash:
>  
>  \begin{quote}
> -  Lines~4\=/12 in
> -  Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Current)}
> +\begin{lineref}[ln:app:styleguide:samplecodesnippetlstlbl]
> +  Lines~\lnref{b}\=/\lnref{e} in
> +  Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolesc)}
>    are the contents of the verbbox environment. The box is output
> -  by the \co{\\theverbbox} macro on line~16.
> +  by the \co{\\theverbbox} macro on line~\lnref{theverbbox}.
> +\end{lineref}
>  \end{quote}
>  
>  Example with an en dash:
>  
>  \begin{quote}
> -  Lines~4\==12 in
> -  Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Current)}
> +\begin{lineref}[ln:app:styleguide:samplecodesnippetlstlbl]
> +  Lines~\lnref{b}\==\lnref{e} in
> +  Listing~\ref{lst:app:styleguide:LaTeX Source of Sample Code Snippet (Obsolesc)}
>    are the contents of the verbbox environment. The box is output
> -  by the \co{\\theverbbox} macro on line~16.
> +  by the \co{\\theverbbox} macro on line~\lnref{theverbbox}.
> +\end{lineref}
>  \end{quote}
>  
>  \subsubsection{Numerical Minus Sign}
> -- 
> 2.7.4
> 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux