summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/numerica/numerica-tables.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/numerica/numerica-tables.tex')
-rw-r--r--macros/latex/contrib/numerica/numerica-tables.tex1801
1 files changed, 0 insertions, 1801 deletions
diff --git a/macros/latex/contrib/numerica/numerica-tables.tex b/macros/latex/contrib/numerica/numerica-tables.tex
deleted file mode 100644
index b16f90e3b7..0000000000
--- a/macros/latex/contrib/numerica/numerica-tables.tex
+++ /dev/null
@@ -1,1801 +0,0 @@
-%% LyX 2.4.0-alpha1 created this file. For more info, see https://www.lyx.org/.
-%% Do not edit unless you really know what you are doing.
-\documentclass[english,tableposition=top]{report}
-\usepackage{lmodern}
-\renewcommand{\sfdefault}{lmss}
-\renewcommand{\ttdefault}{lmtt}
-\usepackage[T1]{fontenc}
-\usepackage{textcomp}
-\usepackage[latin9]{inputenc}
-\setcounter{secnumdepth}{3}
-\usepackage{color}
-\definecolor{shadecolor}{rgb}{0.667969, 1, 1}
-\usepackage{babel}
-\usepackage{array}
-\usepackage{float}
-\usepackage{booktabs}
-\usepackage{framed}
-\usepackage{url}
-\usepackage{multirow}
-\usepackage{amsmath}
-\usepackage[unicode=true,pdfusetitle,
- bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,bookmarksopenlevel=2,
- breaklinks=false,pdfborder={0 0 1},backref=section,colorlinks=true]
- {hyperref}
-
-\makeatletter
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
-%% Because html converters don't know tabularnewline
-\providecommand{\tabularnewline}{\\}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
-\newenvironment{centred}%
- {\begin{center}\baselineskip=13pt\parskip=1pt}{\end{center}}
-\newenvironment{lyxcode}
- {\par\begin{list}{}{
- \setlength{\rightmargin}{\leftmargin}
- \setlength{\listparindent}{0pt}% needed for AMS classes
- \raggedright
- \setlength{\itemsep}{0pt}
- \setlength{\parsep}{0pt}
- \normalfont\ttfamily}%
- \item[]}
- {\end{list}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
-\usepackage[tables]{numerica}
-
-\newcommand\rel{\,\varrho\;}
-\DeclareMathOperator{\erf}{erf}
-\DeclareMathOperator{\gd}{gd}
-
-\reuse
-
-\usepackage{upquote}
-
-\makeatother
-
-\begin{document}
-\title{\texttt{numerica-tables}~\\
-}
-\author{Andrew Parsloe\\
-(\url{ajparsloe@gmail.com})}
-\maketitle
-\begin{abstract}
-In this module of the \verb`numerica` package a command is defined
-which enables the creation of multi-column tables of function values
-in a wide variety of table styles. \\
-\\
-\noindent\begin{minipage}[t]{1\columnwidth}%
-\begin{shaded}%
-
-\paragraph*{Note:}
-\begin{itemize}
-\item {\normalsize This document applies to version 1.0.0 of }{\normalsize\texttt{numerica-tables.def}}{\normalsize .}{\small\par}
-\item {\normalsize Reasonably recent versions of the \LaTeX 3 bundles }{\normalsize\texttt{l3kernel}}{\normalsize{}
-and }{\normalsize\texttt{l3packages}}{\normalsize{} are required.}{\small\par}
-\item {\normalsize The }{\normalsize\texttt{booktabs}}{\normalsize{} package
-is required.}{\small\par}
-\item {\normalsize I refer many times in this document to }{\normalsize\emph{Handbook
-of Mathematical Functions}}{\normalsize , edited by Milton Abramowitz
-and Irene A. Segun, Dover, 1965. This is abbreviated to }{\normalsize\emph{HMF}}{\normalsize ,
-often followed by a reference to a specific table like Table 1.2.}{\small\par}
-\end{itemize}
-\end{shaded}%
-\end{minipage}
-
-\tableofcontents{}
-\end{abstract}
-
-\chapter{Introduction}
-
-Calling \texttt{numerica} with the \texttt{tables} package option
-in the preamble,
-\begin{lyxcode}
-~\textbackslash usepackage{[}tables{]}\{numerica\}
-\end{lyxcode}
-\noindent gives access to a command \verb`\nmcTabulate` for creating
-tables of function values. This command is defined in the package
-\texttt{numerica-tables.def} which is loaded with \texttt{numerica.sty}
-when the \texttt{tables} option is used. Note that \verb`\nmcTabulate`
-uses the \texttt{booktabs} package for the construction of its tables.
-The \texttt{booktabs} package is loaded automatically (provided it
-is available in your \TeX{} system) when \texttt{numerica} is loaded
-with the \texttt{tables} option.
-
-\section{Shared syntax}
-
-The \verb`\nmcTabulate` command (short-name form \verb`\tabulate`)
-shares the syntax of \verb`\nmcEvaluate` (see \texttt{numerica-basics.pdf})
-and of \verb`\nmcIterate`, \verb`\nmcSolve` and \verb`\nmcRecur`
-(see \texttt{numerica-plus.pdf}). When all options are used the command
-looks like
-\begin{lyxcode}
-\noindent \textbackslash nmcTabulate{*}{[}settings{]}\{expr.\}{[}vv-list{]}{[}num.~format{]}
-\end{lyxcode}
-\begin{enumerate}
-\item \verb`*` optional switch; if present ensures a single number output
-with no formatting or an appropriate error message if the single number
-cannot be produced;
-\item \verb`[settings]` comma-separated list of \emph{key=value }settings;
-\item \verb`{expr.}` mandatory argument specifying the mathematical expression
-in \LaTeX{} form to be tabulated;
-\item \verb`[vv-list]` comma-separated list of \emph{variable=value }items;
-\item \verb`[num. format]` optional format specification for presentation
-of the numerical result (rounding, padding with zeros, scientific
-notation)
-\end{enumerate}
-Unlike \verb`\nmcEvaluate` and the other commands, for \verb`\nmcTabulate`
-\begin{itemize}
-\item it makes no difference to the display of the result whether the command
-wraps around math delimiters, is wrapped within math delimters, or
-if there are no math delimiters involved whatever;
-\item the two apparently optional arguments straddling the main argument
-(\verb`settings` and \verb`vv-list`) are \emph{essential}; although
-neither is mandatory in the \LaTeX{} sense, each contains items necessary
-for the construction of any table of function values.
-\end{itemize}
-
-\subsection{Inherited settings}
-
-\label{subsec:Inherited-settings}
-\begin{table}
-\noindent \centering{}\caption{\protect\label{tab:introSettingsInherited}Settings options inherited
-from \texttt{\textbackslash nmcEvaluate}}
-\noindent \begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}>{\raggedright}p{4cm}}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{dbg}} & {\small int} & {\small debug `magic' integer} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{\textasciicircum}} & {\small char} & {\small exponent mark for sci. notation input} & {\small\texttt{e}}\tabularnewline
-{\small\texttt{xx}} & {\small int (}{\small\texttt{0}}{\small /}{\small\texttt{1}}{\small )} & {\small multi-token variable switch} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{()}} & {\small int (}{\small\texttt{0}}{\small /}{\small\texttt{1}}{\small /}{\small\texttt{2}}{\small )} & {\small trig. function arg. parsing} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{o}} & & {\small degree switch for trig. functions} & \tabularnewline
-{\small\texttt{log}} & {\small num} & {\small base of logarithms for }{\small{\small\verb`\log`}} & {\small\texttt{10}}\tabularnewline
-{\small\texttt{vvmode}} & {\small int (0/1)} & {\small vv-list calculation mode} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{vvd}} & {\small tokens} & {\small vv-list display-style spec.} & {\small\texttt{\{,\}\textbackslash mskip 12mu plus 6mu minus 9mu(vv)}}\tabularnewline
-{\small\texttt{vvi}} & {\small tokens} & {\small vv-list text-style spec.} & {\small\texttt{\{,\}\textbackslash mskip 36mu minus 24mu(vv)}}\tabularnewline
-{*} & & {\small suppress equation numbering if }{\small\texttt{\textbackslash\textbackslash}}{\small{}
-in }{\small\texttt{vvd}} & \tabularnewline
-{\small\texttt{S+}} & {\small int} & {\small extra rounding for stopping criterion for sums} & {\small\texttt{2}}\tabularnewline
-{\small\texttt{S?}} & {\small$\text{int}\ge0$} & {\small stopping criterion query terms for sums} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{P+}} & {\small int} & {\small extra rounding for stopping criterion for products} & {\small\texttt{2}}\tabularnewline
-{\small\texttt{P?}} & {\small$\text{int}\ge0$} & {\small stopping criterion query terms for products} & {\small\texttt{0}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\end{table}
-To create a table we need to specify a function to tabulate \textendash{}
-this fills the main (mandatory) argument. We also need to decide how
-the function values are to be displayed \textendash{} to how many
-decimal places and whether padded with zeros. These matters are determined
-by what is entered in the trailing optional argument, just as with
-\verb`\eval`, \verb`\iter`, \verb`\solve` and \verb`\recur`, although
-there are some addtional complications peculiar to tables which are
-more appropriately treated in the next chapter.
-
-Many of the settings available to the \verb`\eval` command are also
-available to \verb`\nmcTabulate`. To save switching between documents
-I reproduce the table of options found in \texttt{numerica-basics.pdf}
-(with only the punctuation \texttt{p} setting missing), although for
-discussion of the options you will need to refer to that document.
-But note that the \texttt{dbg} key is of limited usefulness for tables:
-\texttt{dbg=5} and \texttt{dbg=7} display floating point values in
-their `internal' format, and for \texttt{dbg=7}, no result is displayed.
-
-\chapter{\texttt{\textbackslash nmcTabulate}-specific settings}
-
-In addition to the shared settings, \verb`\nmcTabulate` has many
-settings specific to it. They are discussed in groups in subsequent
-sections, some in more than one place.
-
-\section{Row variable settings}
-
-\label{sec:Row-variable-settings}Deciding on a function to tabulate
-(entered in the main or mandatory argument of \verb`\nmcTablate`)
-will inevitably also mean deciding on the tabulation variable (the
-\emph{row} variable \verb`rvar`), and then what value to start tabulating
-from (specified in the vv-list), what value to tabulate to (\verb`rstop`),
-and how fine-grained the tabulation is to be, the step size (\verb`rstep`).
-
-\begin{table}[b]
-\centering{}\caption{Row variable specification}
-\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}>{\raggedright}p{3cm}}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small comment}\tabularnewline
-\midrule
-{\small\texttt{rvar}} & {\small token(s)} & {\small row variable} & \tabularnewline
-{\small\texttt{rstep}} & {\small real num.} & {\small step size} & \tabularnewline
-{\small\texttt{rstop}} & {\small real num.} & {\small stop value} & \multirow{2}{3cm}{either {\small\texttt{rstop}}{\small{} or }{\small\texttt{rows}}}\tabularnewline
-{\small\texttt{rows}} & {\small int} & {\small number of rows} & \tabularnewline
-{\small\texttt{rspec}} & {\small comma list} & {\small\texttt{\{start}}{\small , }{\small\texttt{step}}{\small , }{\small\texttt{stop\}}}{\small{}
-or }{\small\texttt{\{start}}{\small , }{\small\texttt{step}}{\small ,
-}{\small\texttt{(rows)\}}} & {\small short form spec.}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\end{table}
-The two tables in the first example below tabulate $\sin x$ and $\cos x$
-between $0$ and $1$ in increments of $0.2$. Note the start value
-of the tabulation variable in the vv-list. The reason for this placement
-is that for more complicated functions other parameters in the function
-and therefore in the vv-list may depend on the row variable. Therefore
-it is always placed in the vv-list.
-
-The difference in appearance of the tables results from padding with
-zeros in the second (the asterisk in the trailing optional argument).
-As you can see, padding applies not only to the values of the function
-but also to the values of the row variable \textendash{} and makes
-an obvious improvement to the table's appearance.
-\begin{verbatim}
- \tabulate[rvar=x,rstep=0.2,rstop=1]
- { \sin x }[x=0]\qquad
- \tabulate[rvar=x,rstep=0.2,rstop=1]
- { \cos x }[x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rvar=x,rstep=0.2,rstop=1]
- { \sin x }[x=0] \qquad
- \tabulate[rvar=x,rstep=0.2,rstop=1]
- { \cos x }[x=0][*]\medskip{}
-
-Sometimes (perhaps often) it may prove more convenient to specify
-the number of rows (\texttt{rows}) rather than a stop value. Only
-one of \texttt{rows} and \texttt{rstop} should be given, but if both
-(inadvertently) are present, it is the value of \texttt{rows} that
-prevails.
-
-The second and third tables in the next example use an abbreviated
-form of the row variable specification (\texttt{rspec}). This is a
-$3$-element comma list of the form \verb`{rvar,rstep,rstop}` or
-\verb`{rvar,rstep,(rows)}`. Parentheses around the third item signify
-that it is \verb`rows` rather than \verb`rstop` that is being specified.
-In the example below, the second table specifies \texttt{rstop} (value
-\texttt{1}), the third \texttt{rows} (value \texttt{6}).
-
-It is worth noting that \verb`rstep` and \verb`rstop` can be \LaTeX{}
-expressions \textendash{} for instance \texttt{rstop=\textbackslash sin
-\textbackslash pi/2} (just as the expression for the initial value
-in the vv-list can be). However \verb`rows` can only be a simple
-integer expression \textendash{} an integer or integers linked by
-some or all of \verb`+ - * / ( )`.
-\begin{verbatim}
- \tabulate[rvar=x,rstep=0.2,rows=6]
- { \sin x/\cos x }[x=0][*] \qquad
- \tabulate[rspec={x,0.2,1}]
- { \tan x }[x=0][*] \qquad
- \tabulate[rspec={x,0.2,(6)}]
- { \sqrt{\sec^2 x - 1} }[x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rvar=x,rstep=0.2,rows=6]
- { \sin x/\cos x }[x=0][*] \qquad
- \tabulate[rspec={x,0.2,1}]
- { \tan x }[x=0][*] \qquad
- \tabulate[rspec={x,0.2,(6)}]
- { \sqrt{\sec^2 x - 1} }[x=0][*]
-
-\subsection{Row-variable column formatting}
-
-\label{subsec:Row-var-col-formatting}Various settings are available
-to format the row variable column in addition to the padding option
-({*}) of the trailing optional argument.
-\begin{table}[H]
-\centering{}\caption{Row-variable column formatting}
-\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{rround}} & {\small int} & {\small rounding} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{ralign}} & {\small char (}{\small\texttt{r/c/l}}{\small )} & {\small horizontal alignment} & {\small\texttt{r}}\tabularnewline
-{\small\texttt{rfont}} & {\small chars} & {\small font (}{\small\verb`\math<chars>`}{\small )} & \tabularnewline
-{\small\texttt{rhead}} & {\small tokens} & {\small header} & {\small\texttt{rvar}}\tabularnewline
-{\small\texttt{rhnudge}} & int & {\small nudge header }{\small{\small\verb`<int>`}}{\small{} mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small column position(s) } & {\small\texttt{1}}\tabularnewline
-{\small\texttt{rvar'}} & {\small tokens} & {\small 2nd row variable col. spec. } & {\small\texttt{rvar}}\tabularnewline
-{\small\texttt{rhead'}} & {\small tokens} & {\small header of 2nd rv col. (if it exists)} & {\small\texttt{rvar'}}\tabularnewline
-{\small\texttt{rhnudge'}} & int & {\small nudge 2nd rv col. header }{\small{\small\verb`<int>`}}{\small{}
-mu} & {\small\texttt{0}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\end{table}
-
-
-\subsubsection{Rounding: \texttt{rround}}
-
-After studying the previous tables, we might decide to adjust the
-step size, say from $0.2$ to $0.25$. But changing \texttt{rstep}
-to the new value gives a disconcerting and \emph{prima facie} false
-result (the first table below). \texttt{numerica} uses a default rounding
-value of $1$ for the row variable and has rounded $0.25$ down to
-$0.2$ and $0.75$ up to $0.8$ accordingly. The second table corrects
-matters by adjusting the row variable rounding (\texttt{rround}) to
-\texttt{2}.
-\begin{verbatim}
- \tabulate[rvar=x,rstep=0.25,rstop=1]
- { \sin x }[x=0][*]\qquad
- \tabulate[rvar=x,rstep=0.25,rstop=1,rround=2]
- { \sin x }[x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rvar=x,rstep=0.25,rstop=1]
- { \sin x }[x=0][*] \qquad
- \tabulate[rvar=x,rstep=0.25,rstop=1,rround=2]
- { \sin x }[x=0][*]
-
-\subsubsection{Alignment: \texttt{ralign}}
-
-By default, the alignment of all columns is to the right, as in the
-previous examples. This lends itself to neat output when padding with
-zeros is activated (the \verb`*` in the trailing argument) and when
-some values are negative \textendash{} the minus signs can interfere
-with neat output in left or centred alignments. But in a case like
-the second table in the last example, you might prefer to centre the
-headers for both the row and function value columns. These alignments
-are independently set. For the row variable column the default alignment
-is to the right \texttt{ralign=r}; \texttt{ralign=l} (lowercase L)
-aligns entries in the row variable column to the left, and \texttt{ralign=c}
-centres entries in the row variable column. The tables of the next
-example use a \texttt{c} alignment to centre the row variable column
-header. The third of those tables shows how minus signs spoil the
-effect.
-
-\subsubsection{Font: \texttt{rfont}}
-
-In the second table bolding (\texttt{rfont=bf}) has been applied to
-emphasize the distinction between the row variable values and the
-function values. Possible values for this key are those characters
-that can be adjoined to \verb`\math` to give a meaningful result.
-Thus other valid values are \verb`it` (italic), \verb`sf` (sans
-serif), \verb`tt` (typewriter); \verb`frak` (Fraktur); also \verb`rm`
-(roman) is available, but that is the default.
-
-\subsubsection{Header: \texttt{rhead}}
-
-In the second and third tables, the header for the row variable column
-has also been bolded. The default header is the row variable. That
-can be replaced by giving a value to the key \texttt{rhead}. I have
-used \texttt{rhead=\textbackslash boldsymbol\{x\}} (rather than \verb`\mathbf{x}`)
-in order to get an italicized bold symbol.
-\begin{verbatim}
- \tabulate
- [rvar=x,rstep=0.25,rstop=1,
- rround=2,ralign=c]
- { \sin x }[x=0][*]\qquad
- \tabulate
- [rvar=x,rstep=0.25,rstop=1,rround=2,
- ralign=c,rfont=bf,rhead=\boldsymbol{x}]
- { \sin x }[x=0][*]
- \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- ralign=c,rfont=bf,rhead=\boldsymbol{x}]
- { \sin x }[x=-0.5][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rvar=x,rstep=0.25,rstop=1,
- rround=2,ralign=c]
- { \sin x }[x=0][*]\qquad
- \tabulate
- [rvar=x,rstep=0.25,rstop=1,
- rround=2,ralign=c,rfont=bf,rhead=\boldsymbol{x}]
- { \sin x }[x=0][*]\qquad
- \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- ralign=c,rfont=bf,rhead=\boldsymbol{x}]
- { \sin x }[x=-0.5][*]\medskip{}
-
-In these tables the row variable column has been given a centred alignment.
-The third table shows what goes wrong when \emph{some} values are
-negative. Better then is to use padding, a right alignment (the default),
-and to use a phantom in the header. The first table below does this.
-The second table incorporates kerning into the header to achieve the
-same effect:
-\begin{verbatim}
- \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- rfont=bf,rhead=\boldsymbol{x}\hphantom{0}]
- { \sin x }[x=-0.5][*]\qquad
- \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- rfont=bf,rhead=\boldsymbol{x}\mkern 9 mu]
- { \sin x }[x=-0.5][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- rfont=bf,rhead=\boldsymbol{x}\hphantom{0}]
- { \sin x }[x=-0.5][*]\qquad
- \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- rfont=bf,rhead=\boldsymbol{x}\mkern 9 mu]
- { \sin x }[x=-0.5][*]\medskip{}
-
-(To my eye, aligning the $\boldsymbol{x}$ above the first column
-of digits after the decimal point gives a better result than truly
-centring it in the column; compare these examples with the first two
-tables of the previous example.)
-
-\subsubsection{Nudging~the~header: \texttt{rhnudge}}
-
-However, you might prefer to avoid inserting positioning commands
-into the actual row variable header, obscuring its true content. You
-can avoid doing this by using \texttt{numerica}'s nudge setting \texttt{rhnudge}.
-
-The first table below reverts to the default right alignment, avoids
-any positioning commands in the row variable header, but instead nudges
-it into position with the setting \texttt{rhnudge=9}. For positive
-nudge values, nudging works in the opposite sense to the alignment.
-The units for nudging are mu (math units, 18 to a quad), but only
-a number \textendash{} generally an integer \textendash{} should be
-specified; the mu is supplied by \texttt{numerica}.
-
-In the second table below the row variable takes single digit integer
-values, while the row variable name now occupies more than one character.
-With a right alignment the header would protrude out to the left.
-Giving \texttt{rhnudge} a \emph{negative} value (\texttt{rhnudge=-12}
-in the example) brings it back to a centred position in the row variable
-column.
-\begin{verbatim}
- \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- rfont=bf,rhead=\boldsymbol{x},rhnudge=9]
- { \sin x }[x=-0.5][4*]\qquad
- \tabulate
- [rvar=x_{\text{int}},rstep=1,rstop=4,
- rround=0,rfont=bf,rhnudge=-12,
- rhead=\boldsymbol{x_{\text{int}}}]
- { \sin x_{\text{int}} }[x_{\text{int}}=0][4*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rvar=x,rstep=0.25,rstop=0.5,rround=2,
- rfont=bf,rhead=\boldsymbol{x},rhnudge=9]
- { \sin x }[x=-0.5][4*]\qquad
- \tabulate
- [rvar=x_{\text{int}},rstep=1,rstop=4,
- rround=0,rfont=bf,rhnudge=-12,
- rhead=\boldsymbol{x_{\text{int}}}]
- { \sin x_{\text{int}} }[x_{\text{int}}=0][4*]
-
-\subsubsection{Position in the table: \texttt{rpos}}
-
-\label{subsec:Row-var-col-pos}By default, the row variable column
-is the \emph{first} column of the table. Its position is determined
-by the value of the key \texttt{rpos}:
-\begin{itemize}
-\item \texttt{rpos=0}, suppressed (no row variable column);
-\item \texttt{rpos=1}, first column (the default);
-\item \texttt{rpos=2}, last column;
-\item \texttt{rpos=3}, first and last columns;\texttt{ }
-\item \texttt{rpos=4}, first and last columns, with the values in the last
-column a user-defined function of the first; see §\ref{subsec:Second-row-var-col};
-\item Any other integer acts like \texttt{rpos=1}.
-\end{itemize}
-An example with \texttt{rpos=3} is given shortly below, §\ref{subsec:Multiple-function-tables}.
-
-\subsubsection{\texttt{rvar'}, \texttt{rhead'}, \texttt{rhnudge'}}
-
-These settings become relevant only when \texttt{rpos=4}; see §\ref{subsec:Second-row-var-col}.
-
-\subsection{Multiple function tables}
-
-How might one tabulate multiple functions simultaneously? \emph{HMF}
-has many, many examples where multiple functions (like the trigonometric
-or the hyperbolic functions) are tabulated in separate columns of
-the same table.
-
-\subsubsection{By adjoining tables}
-
-\label{subsec:Adjoining-tables} With the settings described so far,
-one way is to adjoin single column tables. In the tables below, which
-display as a single multi-columned table, I have used three different
-\texttt{rpos} settings (\texttt{rpos=1} is implicit in the first).
-This is one way to build a table that displays as multi-column. If
-you use this method, note that the \texttt{\%} comment characters
-are essential at the end of the last argument of the \verb`\tabulate`
-commands if you want the tables to abut exactly. Omitting them results
-in a space between the tables.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rhnudge=9]
- { \sin x }[x=0][*]%
- \tabulate
- [rpos=0,rspec={x,0.2,(6)},rround=2]
- { \cos x }[x=0][*]%
- \tabulate
- [rpos=2,rspec={x,0.2,(6)},rhnudge=9]
- { \tan x }[x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rhnudge=9]
- { \sin x }[x=0][*]%
- \tabulate
- [rpos=0,rspec={x,0.2,(6)},rround=2]
- { \cos x }[x=0][*]%
- \tabulate
- [rpos=2,rspec={x,0.2,(6)},rhnudge=9]
- { \tan x }[x=0][*]
-
-\subsubsection{Multiple functions in a single table}
-
-\label{subsec:Multiple-function-tables}However, tabulating more than
-one function at a time is too common a need to have to resort to adjoining
-tables. Instead, it suffices to enter the functions in the main argument
-separated by commas. The critical thing to do is to \emph{precede
-the first function with a comma}. That initial comma is the signal
-\texttt{numerica} needs to make the internal adjustments for a multi-function
-table (and note the \verb`o` setting, to indicate the arguments of
-$\sin$ and $\cos$ are in degrees):
-\begin{verbatim}
- \tabulate[o,rpos=3.rvar=\theta,rstep=10,rstop=90,
- rround=0,rules=ThB]
- { ,\sin \theta,\cos \theta }[\theta=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[o,rpos=3,rvar=\theta,rstep=10,rstop=90,
- rround=0,rules=ThB]
- { ,\sin \theta,\cos \theta }[\theta=0][*]\medskip{}
-
-This table also suggests a space saving possibility: since $\sin$
-and $\cos$ are complementary functions ($\cos\theta=\sin(90-\theta)$),
-the values in the bottom half of the table duplicate values in the
-top half, only with the columns reversed. This is the reason for the
-space saving \texttt{rpos=4} setting (§\ref{subsec:Second-row-var-col})
-which enables complementary functions to be tabulated in `half tables';
-see \emph{HMF} Tables 4.10\textendash 4.12 for the trigonometric functions.
-
-\section{Column variable settings}
-
-\label{sec:Column-variable-settings}When a function of \emph{two}
-variables is being tabulated, we generally think of one variable as
-the primary variable and the other as a parameter. To tabulate such
-a function, one way to proceed, would be to create and adjoin separate
-tables, one per parameter value. But this is clumsy. A more systematic
-procedure is to specify, in addition to the row variable, a \emph{column}
-variable and its start, step and stop values.
-
-\begin{table}[b]
-\caption{Column variable specification}
-
-\centering{}\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{cvar}} & {\small token(s)} & {\small column variable} & \tabularnewline
-{\small\texttt{cstep}} & {\small real num.} & {\small step size} & \tabularnewline
-{\small\texttt{cstop}} & {\small real num.} & {\small stop value} & {\small either }{\small\texttt{cstop}}\tabularnewline
-{\small\texttt{cols}} & {\small int} & {\small number of columns} & {\small or }{\small\texttt{cols}}\tabularnewline
-{\small\texttt{cspec}} & {\small comma list} & {\small\texttt{\{cvar,cstep}}{\small , }{\small\texttt{cstop\}}}{\small{}
-or}{\small\texttt{ \{cvar,cstep}}{\small ,}{\small\texttt{(cols)\}}} & {\small short form spec.}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\end{table}
-In the following example \verb`cvar=k` is the column variable. I
-have chosen a step size (\texttt{cstep}) of \texttt{2} and a stop
-value (\texttt{cstop}) of \texttt{9}. As with the row variable, the
-start value (\texttt{k=3}) of the column variable is specified in
-the vv-list. Although in the example these values are numbers, all
-three values could be \LaTeX{} expressions that evaluate to numbers.
-Note also the setting for \texttt{rhead} which shows the reader of
-the table that the numerical values displayed in the column headers
-are values of \verb`k`. This usage occurs throughout \emph{HMF}.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,
- rhead=x\backslash k,
- cvar=k,cstep=2,cstop=9]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rround=2,rhead=x\backslash k,
- cvar=k,cstep=2,cstop=9]
- { \sin kx }[k=3,x=0][*] \medskip{}
-
-Again, as with the row variable, rather than using an explicit stop
-value (\texttt{cstop}), you might prefer to specify the number of
-columns (\texttt{cols}) explicitly. I could have replaced \texttt{cstop=9}
-with \texttt{cols=4} to get the same result. Note that the number
-of columns specified here is the number of \emph{function value} columns;
-the row variable column is ignored for this count.
-
-And again, as with the row variable, it is possible to condense the
-specification into a comma list (\texttt{cspec}). This is a $3$-element
-comma list of the form \verb`{cvar,cstep,cstop}` or \verb`{cvar,cstep,(cols)}`
-where the parentheses distinguish \texttt{cols} from \texttt{cstop}
-in the third item. Thus, for the preceding table I could have written
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,rhead=x\backslash k,
- cvar=k,cstep=2,cols=4]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-or
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,rhead=x\backslash k,
- cspec={k,2,(4)}]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-or
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,rhead=x\backslash k,
- cspec={k,2,9}]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-and produced the same table.
-
-Although \verb`cstep` and \verb`cstop` can be \LaTeX{} expressions
-\textendash{} for instance \texttt{cstop=\textbackslash pi/2} \textendash{}
-\verb`cols` can only be a simple integer expression \textendash{}
-an integer, or integers linked by some or all of \verb`+ - * / ( )`.
-
-\subsection{Column header formatting}
-
-\label{subsec:Column-header-formatting}
-\begin{table}
-\begin{centering}
-\caption{Column variable header formatting}
-\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{chstyle}} & {\small int (0/1/2/3)} & {\small header style} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{ctitle}} & {\small tokens} & {\small single col. alternative header} & \tabularnewline
-{\small\texttt{chead}} & {\small tokens} & {\small user-defined header} & \tabularnewline
-{\small\texttt{calign}} & {\small char (r/c/l)} & {\small column alignment} & {\small\texttt{r}}\tabularnewline
-{\small\texttt{chnudge}} & {\small int} & {\small nudge header }{\small{\small\verb`int`}}{\small{} mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{chround}} & {\small int} & {\small column header rounding} & {\small\texttt{0}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{centering}
-\end{table}
-There are four built-in style settings for the header to the column
-variable (or function value) columns (the `ch' prefix evoking `column
-header'). If these don't meet your needs or otherwise satisfy, then
-it is possible to define your own header to the function value columns
-using the key \texttt{chead}. First I discuss the built-in styles.
-
-\subsubsection{Header style: single-column case}
-
-When there is only one column of function values, the function being
-tabulated is by default set as the header to the column. This corresponds
-to setting \texttt{ctitle={*}} (see §\ref{subsec:Title:-ctitle-setting}
-below). You may want some other header. Then give \texttt{ctitle}
-some other value (although note that giving it the value \texttt{{*}{*}}
-will set both the function and the vv-list as the header; again see
-§\ref{subsec:Title:-ctitle-setting}). Whatever value you set, it
-will be typeset between math delimiters (\verb`$` signs) and can
-be nudged (see §\ref{subsec:Nudgingtheheaders:-chnudge}) left or
-right to fine-tune its position in the column. (If you want an asterisk
-as the header, you will need to place it between two pairs of braces,
-\texttt{ctitle=\{\{{*}\}\}} to prevent it being misinterpreted as
-the default setting.)
-
-If you want some more complicated header, perhaps not constrained
-by the \verb`$` delimiters, then give \texttt{chead} a value. This
-key I discuss below in §\ref{subsec:chead}. \texttt{chead} is entirely
-up to the user to specify, including any math environment and positioning.
-
-If both \texttt{ctitle} and \texttt{chead} are given, the \texttt{chead}
-value prevails.
-
-\subsubsection{Header~style: multi-column case}
-
-\texttt{chstyle=0} which is the default gives a header of the form
-displayed in the last example, with only the column-variable value
-at the head of each column. This style generally requires the row-variable
-header to indicate what the values denote, as in \texttt{rhead=x\textbackslash backslash
-k} where the backslash separates row from column variable. \emph{HMF}
-contains a multitude of instances; see Tables~9.7, 17.5, 21.1, 24.3,
-27.4, etc. for examples.
-
-\texttt{chstyle=1} changes the header of the \emph{first} function
-value column to the form \emph{variable=value} \textendash{} in the
-example below, to $k=3$. This may be an apt choice when the columns
-are narrow, perhaps from using a small rounding value. I can find
-only one real instance in \emph{HMF}, Table~26.7. Note that the row
-variable setting \texttt{rhead} no longer needs the `\texttt{\textbackslash backslash
-k}' part since the column variable is now explicitly indicated.
-
-\texttt{chstyle=2} changes the header of all function value columns
-to the form \emph{variable=value}.\emph{ }In \emph{HMF} examples are
-Tables~7.4, 7.9, 10.10, 16.6, etc. Note that the row variable setting
-\texttt{rhead} no longer needs the `\texttt{\textbackslash backslash
-k}' part since the column variable is now explicitly indicated (the
-right-hand table).
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,
- cspec={k,2,(2)},chstyle=1]
- { \sin kx }[k=3,x=0][3*]\quad
- \tabulate
- [rspec={x,0.2,(6)},rround=2,
- cspec={k,2,(3)},chstyle=2]
- { \sin kx }[k=3,x=0][3*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rround=2,
- cspec={k,2,(3)},chstyle=1]
- { \sin kx }[k=3,x=0][3*]\quad
- \tabulate
- [rspec={x,0.2,(6)},rround=2,
- cspec={k,2,(3)},chstyle=2]
- { \sin kx }[k=3,x=0][3*]\medskip{}
-
-Finally, \texttt{chstyle=3} fills each column-variable header with
-the expression being tabulated but with the column variable replaced
-by its respective values. See \emph{HMF} Tables~5.4, 8.1, 9.1, 19.1,
-etc. for examples.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,
- cspec={k,2,(3)},chstyle=3]
- { \sin kx }[k=3,x=0][4*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rround=2,
- cspec={k,2,(3)},chstyle=3]
- { \sin kx }[k=3,x=0][4*]
-
-\subsubsection{User-defined header: \texttt{chead}}
-
-\label{subsec:chead}Perhaps none of the built-in styles appeal? By
-assigning content to the key \texttt{chead}, users can create their
-own header to the function value columns. \texttt{chead} must contain
-the correct number of tab characters (\verb`&`), allowing for any
-\verb`\multicolumn`-s used, but ignoring the row variable column
-or columns. It is a header only to the function value columns. The
-user will need to insert \verb`$` signs as appropriate.
-
-Non-empty content for the \texttt{chead} key overrides any \texttt{chstyle}
-setting and in the case of a single function value column, overrides
-any \texttt{ctitle} setting.
-
-\subsubsection{Alignment: \texttt{calign}}
-
-The function value columns are aligned right (\texttt{calign=r}) by
-default. Also available are \texttt{calign=c} for centred alignment
-and \texttt{calign=l} (lowercase L) for left alignment. Using centred
-alignment with {\ttfamily\verb`chstyle=2`} in the now familiar
-example table gives
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,ralign=c,
- cspec={k,2,(3)},chstyle=2,calign=c]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rround=2,rhead=x,ralign=c,
- cspec={k,2,(3)},chstyle=2,calign=c]
- { \sin kx }[k=3,x=0][*]\medskip{}
-
-\noindent The first column of function values looks better, but the
-minus signs spoil the effect in the others. Handling signs in tables
-is discussed below; see §\ref{subsec:Signs}.
-
-\subsubsection{Nudging~the~headers: \texttt{chnudge}}
-
-\label{subsec:Nudgingtheheaders:-chnudge}In left or right alignment
-it is possible to nudge the headers in the opposite direction by giving
-a numerical value to the the key \texttt{chnudge}. The header is moved
-by the specified number of mu (math units; 18 to a quad). Note that
-the `mu' does not need to be written. \texttt{numerica} provides
-that. In the example I have chosen \texttt{chnudge=12} to nudge the
-column headers to the left to give a centred effect to the header
-but leaving the function values with their (potentially) awkward minus
-signs right aligned.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,rhnudge=9,
- cspec={k,2,(3)},chstyle=2,chnudge=12]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rround=2,rhnudge=9,
- cspec={k,2,(3)},chstyle=2,chnudge=12]
- { \sin kx }[k=3,x=0][*]\medskip{}
-
-The \texttt{chnudge} value does not need to be positive. Negative
-nudges can be useful when a column header is \emph{longer} than the
-rounded function values. In the second example below, I've reduced
-the rounding value for function values to $3$, and chosen an initial
-$k$ value of $100$ to ensure this circumstance. To centre the column
-headers I have used \texttt{chnudge=-9}.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,rhnudge=9,
- cspec={k,2,(3)},chstyle=2,chnudge=-9]
- { \sin kx }[k=100,x=0][3*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rround=2,rhnudge=9,
- cspec={k,2,(3)},chstyle=2,chnudge=-9]
- { \sin kx }[k=100,x=0][3*]
-
-\subsubsection{Rounding: \texttt{chround}}
-
-In the examples so far, the column variable has incremented in integer
-steps. The default rounding value for the column variable is $0$
-(for the row variable it is $1$), so if it increments by some non-integer
-amount, the result will be confusing \textendash{} if $k$ incremented
-by, say, $0.25$, starting from $k=3$, then the next column would
-also have a header $k=3$ (since $3.25$ with a rounding value $0$
-rounds to $3$). The appropriate key to remedy this state of affairs
-is \texttt{chround}. For a step size of $0.25$ the appropriate setting
-is \texttt{chround=2}.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.2,(6)},rround=2,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,chround=2]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.2,(6)},rround=2,rhead=x,ralign=r,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,chround=2]
- { \sin kx }[k=3,x=0][*]
-
-\section{Whole-of-table formatting}
-
-\label{sec:Whole-of-table-formatting}There are a number of settings
-pertaining to the appearance of the table as a whole, things like
-the position of the row variable column, division of the function
-values into blocks to aid readability, the presence of horizontal
-rules or of a collective column title or of a footer row. I discuss
-these here.
-
-\begin{table}[H]
-\noindent \centering{}\caption{\protect\label{tab:Table-formatting-settings}Table formatting}
-\noindent \begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{ctitle}} & {\small tokens} & {\small collective title for function-value columns} & \tabularnewline
-{\small\texttt{rules}} & {\small chars} & {\small horizontal rules template} & {\small\texttt{ThB}}\tabularnewline
-{\small\texttt{foot}} & {\small tokens} & {\small content of footer line} & \tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small row-variable column position(s)} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{rbloc}} & {\small comma list} & {\small division of rows into blocks} & \tabularnewline
-{\small\texttt{rblocsep}} & {\small length} & {\small extra spacing between blocks of rows} & {\small\texttt{1 ex}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\end{table}
-
-
-\subsection{Title for function-value columns: \texttt{ctitle}}
-
-\label{subsec:Title:-ctitle-setting}The function value columns have
-individual headers, formatted in the various ways provided by the
-settings discussed above, but it can also be helpful to have a collective
-title for these columns. This is provided by the \texttt{ctitle} key.
-This can be set to whatever you like (e.g. \texttt{ctitle=\textbackslash text\{Fred\}}),
-but for more relevant titles there are two in-built settings: \texttt{ctitle={*}},
-which makes the formula the title, and \texttt{ctitle={*}{*}}, which
-makes a title of the formula and vv-list. In the example below, it
-makes no sense to display the vv-list since it contains only the initial
-values of the row and column variables, already obvious in the table;
-hence \texttt{ctitle={*}}.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.25,(5)},rround=2,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,chround=2,ctitle=*]
- { \sin kx }[k=3,x=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.25,(5)},rround=2,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,chround=2,ctitle=*]
- { \sin kx }[k=3,x=0][*]\medskip{}
-
-For an example of \texttt{ctitle={*}{*}} see §\ref{subsec:Rules:-rules-setting}.
-
-\subsection{Rules: \texttt{rules} setting}
-
-\label{subsec:Rules:-rules-setting}The \texttt{booktabs} package
-which \texttt{numerica} uses is most emphatic that one should `1.
-Never, ever use vertical rules. 2. Never use double rules.' Most
-of the tables proper in \emph{HMF} lack rules of any kind although
-closer inspection shows smaller tables within the text generally \emph{are}
-delimited by horizontal rules (often also with vertical rules).\footnote{The tables in \emph{HMF} are often inelegantly typeset, and sometimes
-ugly. For all that, I have used it as a source of table types, of
-the variety of structures that the editors found necessary or at least
-useful for presenting a multitude of different kinds of numerical
-data.} I have used horizontal rules in the various examples in the present
-document because these too are tables within text. Some form of delineation
-seems necessary. Also, to my eye, the table title, $\sin kx$, in
-the last example seems `naked' without a rule to emphasize its domain.
-
-The \texttt{rules} key enables precisely which rules are used to be
-specified. The value of the key is a `word' \textendash{} a sequence
-of letters \textendash{} where the characters have the significance
-and default thicknesses (from \texttt{booktabs}) shown in Table~\ref{tab:Rules}.
-The default setting is \texttt{rules=ThB}. To insert a rule beneath
-the title, for example, change this to \texttt{rules=TthB}. If in
-addition you are using a footer row and want a rule above it, then
-the specification is \texttt{rules=TthfB}.
-
-\begin{table}[H]
-\noindent \centering{}\caption{\protect\label{tab:Rules}Rules}
-\noindent \begin{center}
-\begin{tabular}{llll}
-\toprule
-{\small char} & {\small rule} & {\small position} & {\small default rule thickness}\tabularnewline
-\midrule
-{\small\texttt{T}} & {\small top rule} & {\small above table} & {\small\texttt{\textbackslash heavyrulewidth=.08em}}\tabularnewline
-{\small\texttt{t}} & {\small title rule} & {\small below title} & {\small\texttt{\textbackslash cmidrulewidth =.03em}}\tabularnewline
-{\small\texttt{h}} & {\small header rule} & {\small below header} & {\small\texttt{\textbackslash lightrulewidth=.05em}}\tabularnewline
-{\small\texttt{f}} & {\small footer rule} & {\small above footer} & {\small\texttt{\textbackslash cmidrulewidth =.03em}}\tabularnewline
-{\small\texttt{B}} & {\small bottom rule} & {\small below table} & {\small\texttt{\textbackslash heavyrulewidth=.08em}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\end{table}
-If you wish to change the thickness of a rule from its default, then
-enter new values for any or all of {\small\texttt{\textbackslash heavyrulewidth}},
-{\small\texttt{\textbackslash lightrulewidth}}, {\small\texttt{\textbackslash cmidrulewidth}}
-in the preamble. The values listed in Table~\ref{tab:Rules} are
-the default values in the \texttt{booktabs} package (except for the
-footer rule, which \texttt{booktabs} does not cover; in \texttt{numerica}
-the footer rule is assigned a thickness of {\small\texttt{\textbackslash cmidrulewidth}}).
-
-In the example table below, a rule for the column title has been specified
-(the \verb`t` in the setting \verb`rules=TthB`). Also note the use
-of \texttt{ctitle={*}{*}}. The fornula contains an extra parameter
-$a$, assigned a value in the vv-list. It now makes sense to display
-the vv-list in the column title (but note the braces around \texttt{k}
-and \texttt{x} so that they don't show in the vv-list).
-\begin{verbatim}
- \tabulate
- [rspec={x,0.25,(5)},rround=2,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,chround=2,
- ctitle=**,rules=TthB]
- { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.25,(5)},rround=2,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,chround=2,
- ctitle=**,rules=TthB]
- { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*]
-
-\subsection{Footer row: \texttt{foot} setting}
-
-Some tables have a footer row and \texttt{numerica} allows such a
-row to be inserted, but its entire content, with one exception, is
-the responsibility of the user, including insertion of the necessary
-number of tab characters \verb`&`. This will be $1$ less than the
-total number of columns (including row variable columns) in the table
-\textendash{} or some adjustment thereof if you use \verb`\multicol`.
-You can put into the footer what you wish.
-\begin{lyxcode}
-foot=<tokens>
-\end{lyxcode}
-\emph{HMF} uses the footer mainly for cryptic descriptions of the
-accuracy and needs of interpolation methods.
-
-The one exception is when \texttt{foot={*}}. This will fill the footer
-with the header, but \emph{reversed}. This is useful for tabulating
-complementary functions like the sine and cosine or, more generally,
-$f(x)$ and $g(x)$ where $g(x)=f(k-x)$ for some constant $k$. Values
-for the complementary function are read from the bottom up and require
-a reversed row variable column on the right of the table; see §\ref{subsec:Second-row-var-col}.
-
-\subsubsection{Footer functions}
-
-It is also possible to use the footer for displaying the values of
-certain column functions. \texttt{numerica} provides five of these.
-They can be used in the footer (and only in the footer): \verb`SUM`,
-\verb`AVE` (average), \verb`MAX`, \verb`MIN` and \verb`DEL` (for
-$\Delta$=\verb`MAX-MIN`). These functions act on the function values
-of the column they are in. They \emph{do not} combine mathematically:
-entering \verb`MAX-MIN` in the footer of a given column will produce
-a footer entry containing two values (those of \verb`MAX` and \verb`MIN`)
-separated by a minus sign, not the value of \verb`DEL`. The numerical
-output from each function is automatically wrapped in math delimiters
-(\verb`$`) so that minus signs display correctly.
-
-In the following example, I have chosen a column variable step size
-of zero. This is possible because in the column spec., I have also
-specified the exact number of columns. Zeroing the step size means
-the same set of figures can be used for the five footer functions
-to act on.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.25,(5)},rround=2,rhead=x,ralign=r,rhnudge=9,
- cspec={k,0,(5)},chstyle=2,
- chround=2,calign=r,ctitle=**,rules=TthfB,
- foot={\small Func:} & SUM & AVE & MAX & MIN & DEL ]
- { a\sin kx }[a=2/\pi,{k}=3.5,{x}=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.25,(5)},rround=2,rhead=x,ralign=r,rhnudge=9,
- cspec={k,0,(5)},chstyle=2,
- chround=2,calign=r,ctitle=**,rules=TthfB,
- foot={\small Func:}&SUM&AVE&MAX&MIN&DEL]
- { a\sin kx }[a=2/\pi,{k}=3.5,{x}=0][*]
-
-\subsection{Second row variable column}
-
-\label{subsec:Second-row-var-col}In §\ref{subsec:Row-var-col-pos}
-I discussed \texttt{rpos=0,1,2,3}. There is another value available
-for this key, \texttt{rpos=}4. Like \texttt{rpos=3} this adds the
-row variable column to both left and right sides of the table, but
-for the right column the values are functions of those in the left
-column.
-
-For example, the sine and cosine are complementary functions; when
-working in degrees $\cos\theta=\sin(90-\theta)$. We can exploit this
-fact to halve the table size needed to tabulate the two functions.
-\begin{verbatim}
- \tabulate[o,rpos=4,rspec={\theta,5,45},rround=0,
- chnudge=14,rvar'=90-\theta,rhead'=\theta',
- rules=ThfB,foot=*]
- { ,\sin\theta,\cos\theta }[\theta=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[o,rspec={\theta,5,45},rround=0,rpos=4,
- chnudge=14,rvar'=90-\theta,rhead'=\theta',
- rules=ThfB,foot=*]
- { ,\sin\theta,\cos\theta }[\theta=0][*]\ \medskip{}
-
-\noindent where $\theta'=90-\theta$. The first half of the tabulation
-is read normally, down and from the left. The second half of the tabulation
-is read up and from the right. Note the degree setting \verb`o` in
-the settings option and
-\begin{itemize}
-\item the use of \verb`rvar'` to specify the values tabulated on the right
-(\verb`rvar'` defaults to \verb`rvar`);
-\item the use of \verb`rhead'` to specify the content of the header for
-the right-hand row variable column (\verb`rhead'` defaults to \verb`rvar'`);
-\item the footer setting \texttt{foot={*}} to obtain the header reversed
-in the footer;
-\item a rule \emph{above} the footer row specified by the \verb`f` added
-to the \verb`rules` setting, \verb`rules=ThfB`.
-\end{itemize}
-Although there is a significant space saving with tables of this kind
-(see \emph{HMF} Tables 4.10, 4.11, 4.12), they are not `kind to the
-reader'. They require a certain concentration to read and in my view
-should be avoided unless space is seriously constrained.
-
-\emph{HMF} Tables 6.1 and 6.2 are tables of the gamma function and
-its relatives where $y=x-1$ is used (stemming from $y!=\Gamma(x-1)$)
-in the row variable column on the right; Table 6.5 in effect uses
-$\langle1/x\rangle$ (the nearest integer to $1/x$) for the row variable
-on the right.
-
-\subsection{Separating blocks of rows: \texttt{rbloc}}
-
-Readability of long columns of figures can be aided by breaking the
-columns into blocks with extra white space between blocks of rows.
-This is achieved with the \texttt{rbloc} key:
-\begin{lyxcode}
-rbloc~=~<comma~list~of~positive~integers>
-\end{lyxcode}
-specifies how many rows belong to each block. For example, \texttt{rbloc=\{5,5,6\}}
-breaks the table into blocks of $5$ rows, $5$ rows, then $6$ rows.
-If the number of rows in the table is greater than the sum of the
-entries in the comma list, then division into blocks continues as
-specified by the last entry in the comma list. Thus \texttt{rbloc=5}
-(strictly \texttt{rbloc=\{5\}} but the braces can be omitted in this
-case since no comma is enclosed) divides a table into blocks of $5$
-rows; \texttt{rbloc=\{1,5\}} divides a table into $1$ row followed
-by blocks of $5$ rows. A division of this kind may be appropriate
-when, say, the row variable runs from $0$ to $1$ in increments of
-$0.1$ \textendash{} there are $11$ rows of which the first (when
-the row variable is zero) may have distinctive values.
-
-\noindent\begin{minipage}[t]{1\columnwidth}%
-\begin{shaded}%
-
-\subsubsection*{The pull of the nice round number}
-
-However, this is not how \emph{HMF} sets out its tables.\emph{ }The
-dominant practice in \emph{HMF} is division into blocks of (generally)
-$5$ rows, many of which start with a zero value for the row variable.
-Rather than isolate this initial value, they include it in the first
-block of $5$, then continue with blocks of $5$ until a single isolated
-row is left at the bottom of the page or the table. There seems to
-be a psychological need to finish a page or table with the row variable
-set to a nice round number. Thus: tabulate from $0$ to $10$ rather
-than $0$ to $9$, from $0$ to $1$ rather than $0$ to $0.9$, and
-even from $0$ to $30$ or $0$ to $2$ rather than $0$ to $29$
-or $0$ to $1.9$. Using blocks of $5$ the consequence is that there
-is always an isolated line at the end \textendash{} a kind of punctuation,
-marking the end of the page or the table.\end{shaded}%
-\end{minipage}
-
-\medskip{}
-In the next example I have divided the columns into blocks of $5$
-rows by means of the setting \texttt{rbloc=5}.
-\begin{verbatim}
- \tabulate[o,rspec={\theta,10,90},rround=0,rbloc=5]
- { ,\sin \theta, \cos \theta}[\theta=0][*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[o,rspec={\theta,10,90},rround=0,rbloc=5]
- { ,\sin \theta, \cos \theta}[\theta=0][*]
-
-\subsubsection{Adjusting the extra space\texttt{ rblocsep} }
-
-By default \texttt{numerica} sets the extra space between blocks of
-rows at \verb`1 ex`. This value can easily by changed with the setting
-\texttt{rblocsep=<length>}. The units need to be included in the specification.
-The default is $1$ \texttt{ex.}
-
-\section{Function value formatting}
-
-\label{sec:Function-value-formatting}
-\begin{table}
-
-\noindent \begin{centering}
-\caption{\protect\label{tab:Function-value-formatting}Function value formatting}
-\noindent \begin{center}
-\begin{tabular}{cc>{\raggedright}p{4cm}c}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{(pad)}} & {\small int} & {\small (t-notation) phantom padding} & \tabularnewline
-{\small\texttt{signs}} & {\small int} & {\small sign handling for function values} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{diffs}} & {\small int } & {\small insert differences \& pre-pad with zeros} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{Q?}} & {\small tokens} & {\small special cell conditional} & \tabularnewline
-{\small\texttt{A!}} & {\small tokens} & {\small special cell formatting } & \tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{centering}
-\end{table}
-In the examples used so far, function values have been limited to
-a narrow range, generally $[-1,1]$. What happens when function values
-span orders of magnitude?
-
-\subsection{Trailing optional argument}
-
-The primary tool for function value formatting is the trailing optional
-argument of the \verb`\tabulate` command where the rounding value
-is specified, padding with zeros is set or not (generally \emph{set}),
-and scientific notation is set or not. Elegant scientific notation,
-set with an \texttt{x} in the trailing optional argument, is generally
-not appropriate for use in tables; see the first table below. Adding
-a prime to the \texttt{x} in the trailing optional argument (the second
-table) so that scientific notation extends to numbers in the range
-$[1,10)$ helps, particularly with the \emph{left} alignment chosen
-for the function value column, but the result is wasteful of space
-and the repetition of the `$\times10$' is borderline distracting
-and would certainly be so for a larger table. The \texttt{x} specification
-should be used in tables, if at all, only for small tables \textendash{}
-a few function values at most.
-\begin{verbatim}
- \tabulate[rspec={x,1,3},rround=0]
- { e^x}[x=-5][*x]\qquad
- \tabulate[rspec={x,1,3},rround=0,calign=l]
- { e^x}[x=-3][*x']\qquad
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={x,1,3},rround=0]
- { e^x }[x=-3][*x]\qquad
- \tabulate[rspec={x,1,3},rround=0,calign=l]
- { e^x}[x=-3][*x']\qquad
-
-\subsubsection{The \texttt{t} option}
-
-\emph{HMF} uses a special notation for coping with function values
-spanning orders of magnitude. This notation can be invoked by inserting
-\texttt{t} in the trailing optional argument. Repeating the previous
-two tables, and adding a \texttt{chnudge} value, gives a more compact
-and visually appealing result:
-\begin{verbatim}
- \tabulate[rspec={x,1,3},rround=0,chnudge=24]
- { e^x}[x=-3][*t]\qquad
- \tabulate[rspec={x,1,3},rround=0,chnudge=24]
- { e^x}[x=-3][*t']
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={x,1,3},rround=0,chnudge=24]
- { e^x}[x=-3][*t]\qquad
- \tabulate[rspec={x,1,3},rround=0,chnudge=24]
- { e^x}[x=-3][*t']
-
-\subsection{Padding the exponent: \texttt{(pad)}}
-
-In the second table of the last example some might quibble at the
-lack of alignment of the left parentheses. \emph{HMF} tends to align
-these and \texttt{numerica} offers the setting
-\begin{lyxcode}
-(pad)~=~<integer>
-\end{lyxcode}
-to achieve the effect. \texttt{<integer>} is the number of digits/characters
-to pad to. In the last example, the setting is \texttt{(pad)=2}. Here
-it is repeated with this setting:
-\begin{verbatim}
- \tabulate[rspec={x,1,3},rround=0,chnudge=24,(pad)=2]
- { e^x}[x=-3][*t]\qquad
- \tabulate[rspec={x,1,3},rround=0,chnudge=24,(pad)=2]
- { e^x}[x=-3][*t']
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={x,1,3},rround=0,chnudge=24,(pad)=2]
- { e^x}[x=-3][*t]\qquad
- \tabulate[rspec={x,1,3},rround=0,chnudge=24,(pad)=2]
- { e^x}[x=-3][*t']\medskip{}
-
-Note that this setting is relevant only when the \texttt{t} option
-is used in the trailing number-formatting argument of the \verb`\tabulate`
-command. Examples in \emph{HMF} of the style exemplified by the first
-table are, among others, Tables 8.6, 9.2, 20.1, and of the style exemplified
-by the second table, among many, Tables 9.9, 10.5, 13.1, 14.1, 19.1.
-
-\subsection{Accommodating signs: \texttt{signs}}
-
-\label{subsec:Signs}Instead of $e^{x}$ as the test function, use
-$e^{x}-1.$ Now there are positive, zero and negative function values
-to contend with. Recall that in the `t-notation' the \emph{exponent}
-is the parenthesized integer part of a number, the \emph{significand}
-the following decimal figures. \texttt{numerica} offers the \texttt{signs}
-key to align (or not) the exponents. The setting is
-\begin{lyxcode}
-signs~=~<integer>
-\end{lyxcode}
-There are four effective values for \texttt{<integer>} and the do-nothing
-default (\texttt{signs=0}):
-\begin{itemize}
-\item \texttt{signs=2 }inserts a $+$ sign between exponent and significand
-of every non-negative number;
-\item \texttt{signs=1 }inserts a $+$ sign between exponent and significand
-of every non-negative number immediately preceding or following a
-negative number;
-\item \texttt{signs=-1 }inserts a $+$ sign between exponent and significand
-of any non-negative number immediately preceding or following a negative
-number, and a phantom $-$ sign between exponent and significand of
-every other non-negative number;
-\item \texttt{signs=-2 }inserts a phantom $-$ sign between exponent and
-significand of every non-negative number;
-\end{itemize}
-With the `t-notation', the negative values and \verb`signs=2` seem
-the appropriate ones to use :
-\begin{verbatim}
- \tabulate[rspec={x,1,3},rround=0,chnudge=9,
- (pad)=2,signs=-2]
- { e^x-1}[x=-3][4*t']\qquad
- \tabulate[rspec={x,1,3},rround=0,chnudge=9,
- (pad)=2,signs=-1]
- { e^x-1}[x=-3][4*t']\qquad
- \tabulate[rspec={x,1,3},rround=0,chnudge=9,
- (pad)=2,signs=2]
- { e^x-1}[x=-3][4*t']
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={x,1,3},rround=0,chnudge=9,
- (pad)=2,signs=-2]
- { e^x-1}[x=-3][4*t']\quad
- \tabulate[rspec={x,1,3},rround=0,chnudge=9,
- (pad)=2,signs=-1]
- { e^x-1}[x=-3][4*t']\quad
- \tabulate[rspec={x,1,3},rround=0,chnudge=9,
- (pad)=2,signs=2]
- { e^x-1}[x=-3][4*t']\medskip{}
-
-\noindent In \emph{HMF} Table 23.2 illustrates \verb`signs=-2`; Tables
-10.1, 13.1, 14.1, 19.1 among many others illustrate \verb`signs=-1`;
-and Tables 9.4, 10.6, 20.2, 22.11 among others illustrate \verb`signs=2`.
-
-However the \texttt{signs} key is not limited to the `t-notation'.
-In the following tables where the notation is not used, positive values
-for the key give appropriate results (I've included also the default
-setting):
-\begin{verbatim}
- \tabulate[rspec={x,0.1,0.4},(pad)=2,signs=2]
- { 10\sin 5x}[x=-0.4][*4]\qquad
- \tabulate[rspec={x,0.1,0.4},(pad)=2,signs=1]
- { 10\sin 5x}[x=-0.4][*4]\qquad
- \tabulate[rspec={x,0.1,0.4},(pad)=2]
- { 10\sin 5x}[x=-0.4][*4]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={x,0.1,0.4},(pad)=2,signs=2]
- { 10\sin 5x}[x=-0.4][*4]\qquad
- \tabulate[rspec={x,0.1,0.4},(pad)=2,signs=1]
- { 10\sin 5x}[x=-0.4][*4]\qquad
- \tabulate[rspec={x,0.1,0.4},(pad)=2]
- { 10\sin 5x}[x=-0.4][*4]\medskip{}
-
-\emph{HMF} seems to use \verb`signs=2` when the sign of function
-values changes every few entries and \verb`signs=1` when there are
-runs of entries of the same sign. They would use the middle table
-of the three here.
-
-\subsection{Differences: \texttt{diffs}}
-
-In fine-grained tables where function values change only slowly from
-entry to entry it can be helpful to include a difference entry between
-function value entries as an aid to interpolation (and a test of eyesight).
-By entering
-\begin{lyxcode}
-diffs~=~<non-negative~integer>
-\end{lyxcode}
-the \verb`tabulate` command will include differences in a table.
-The \texttt{<non-negative integer>} is the maximum number of digits
-in a difference.
-\begin{verbatim}
- \tabulate[rspec={x,0.01,1.05},rround=2,
- rhnudge=9,chnudge=21,diffs=3]
- { \sinh x }[x=1][*4]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={x,0.01,1.05},rround=2,
- rhnudge=9,chnudge=21,diffs=3]
- { \sinh x }[x=1][*4]\medskip{}
-
-I have deliberately chosen the function and settings here \textendash{}
-particularly \texttt{diffs=3} \textendash{} to give a good result.
-It is easy to get this wrong. The evidence will be in the misalignment
-of the first row of function values or unnecessary padding of differences
-with leading zeros. It is a good idea to create your table first,
-see how function values change between successive rows and judge how
-many digits there will be in a difference. In the following examples
-I have deliberately put \texttt{diffs=2} and \texttt{diffs=4} to show
-the effect of a misjudgement. In the second table the function is
-\emph{decreasing}, $-\sinh x$, to show how it is the absolute value
-of the difference between successive function values that is tabulated.
-A difference is always a non-negative value.
-\begin{verbatim}
- \tabulate[rspec={x,0.01,1.05},rround=2,
- rhnudge=9,chnudge=21,diffs=2]
- { \sinh x }[x=1][*4]\qquad
- \tabulate[rspec={x,0.01,1.05},rround=2,
- rhnudge=9,chnudge=21,diffs=4]
- { -\sinh x }[x=1][*4]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={x,0.01,1.05},rround=2,
- rhnudge=9,chnudge=21,diffs=2]
- { \sinh x }[x=1][*4]\qquad
- \tabulate[rspec={x,0.01,1.05},rround=2,
- rhnudge=9,chnudge=21,diffs=4]
- { -\sinh x }[x=1][*4]\medskip{}
-
-\noindent When the \texttt{diffs} setting is too small, function values
-in the first row are misaligned, the amount depending on how much
-too small. When the \texttt{diffs} setting is too big, alignment is
-fine but differences are padded with unnecessary leading zeros, meaning
-the column header will need a bigger nudge to bring \emph{it} into
-alignment.
-
-\subsection{Formatting special values: \texttt{Q?} and \texttt{A!}}
-
-You may wish to highlight or display in some special way a particular
-function value or values. \verb`\nmcTabulate` has two related settings
-that enable this: \texttt{Q?=<tokens>} and \texttt{A!=<tokens>}. As
-the names suggest: Question? and Answer!
-
-The question should be an expression that \texttt{l3fp} can digest
-and produce a boolean answer to (1 for `true' or 0 for `false').
-\texttt{numerica} uses \texttt{@} to denote the current function value,
-so queries like \texttt{Q?=@<0} (Is the current function value negative?)
-or \texttt{Q?=\{}@\texttt{>=pi\}} (Is the current function value greater
-than or equal to $\pi$?) are valid questions. (Note the braces in
-the second question, used to hide the equality sign.) Other possible
-useful components of such questions are \texttt{exp(1)} for the number
-$e$, || for logical Or, \texttt{\&\&} for logical And, and \texttt{!}
-for logical Not,\texttt{ }as well as the familiar arithmetic symbols,
-\texttt{+ - {*} /} and \texttt{\textasciicircum}, relation symbols
-\texttt{< > =} and their combinations like \texttt{!= >= <=} etc.,
-and parentheses. For everything \texttt{l3fp} makes available see
-the relevant chapter in \texttt{Interface3.pdf}, part of the documentation
-that comes with the \LaTeX 3 package \texttt{l3kernel}. In addition
-to these components, \texttt{numerica} offers \texttt{MAX} and \texttt{MIN}
-which are the maximum and minimum function values tabulated, so that,
-e.g., \texttt{Q?=\{@=MIN\}} (note the braces) is the question: Is
-the current function value equal to the minimum function value for
-the whole table?
-
-The answer must be in the form of a \LaTeXe{} formatting statement,
-again using \texttt{@} to denote the current function value. Thus
-\texttt{A!=\textbackslash mathbf\{@\}} is a valid answer; so is \texttt{A!=\textbackslash color\{red\}\{@\}}
-(provided you have \texttt{\textbackslash usepackage\{color\}} in
-the preamble); and so is \texttt{A!=(@)}. Another valid answer is
-\texttt{A!=} , meaning that function values satisfying the \texttt{Q?}
-question are omitted from the output.
-
-For example, suppose we wish to focus on the values of $\cos(m\pi/n)$
-lying between $0$ and $\tfrac{1}{2}$ inclusive for certain values
-of $m$ and $n$. Rather than cluttering the table with values outside
-that interval, we suppress them (the two occurrences of `\texttt{1e-14}'
-in the query are there to prevent rounding errors confusing the result):
-\begin{verbatim}
- \tabulate
- [rspec={n,1,15},rround=0,rpos=2,rules=Tth,
- cspec={m,1,5},ctitle=*,chstyle=2,
- Q?={@<-1e-14||@>0.5+1e-14},A!=]
- { \cos(m\pi/n) }[n=4,m=2][*4]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={n,1,15},rround=0,rpos=2,rules=Tth,
- cspec={m,1,5},ctitle=*,chstyle=2,
- Q?={@<-1e-14||@>0.5+1e-14},A!=]
- { \cos(m\pi/n)}[n=4,m=2][*4]
-
-\section{Table placement}
-
-\label{sec:Table-placement}There is only one setting in this category
-that is part of \texttt{numerica} as such, the tabular vertical alignment
-option; see §\ref{subsec:Verticalalignment}. But \LaTeX{} allows one
-to insert vertical space with its \verb`\bigskip`, \verb`\medskip`,
-\verb`\smallskip`, usually about one line space, a half line space,
-and a quarter line space (with stretch and shrink), and \verb`booktabs`
-provides \verb`\abovetopsep` and \verb`\belowbottomsep`, both set
-by default to \verb`0ex` (or any other unit you care to use) and
-easily changed by writing, e.g., \verb`\abovetopsep=1.25ex` if you
-want to insert \verb`1.25ex` of space above the table (perhaps to
-fit captions).
-
-\subsection{Vertical~alignment}
-
-\label{subsec:Verticalalignment}By writing\texttt{ }
-\begin{lyxcode}
-valign~=~<char>~
-\end{lyxcode}
-where \texttt{<char>} is one of \texttt{t} or \texttt{b} the vertical
-alignment of the table can be set relative to the text baseline.\texttt{ valign=t
-}aligns the top of the table with the text baseline, \texttt{valign=b}
-the bottom of the table with the text baseline. By default (no \texttt{valign}
-setting or \texttt{valign} equated to some character other than \texttt{t}
-or \texttt{b}) the middle of the table is aligned with the text baseline.
-Repeating an example from earlier (§\ref{sec:Row-variable-settings})
-I have added letters A, B, C to show where the baseline is. In the
-first table the top of the table aligns with the baseline; in the
-second table (default case) the middle of the table aligns with the
-baseline; in the third table, the bottom of the table aligns with
-the baseline.
-\begin{verbatim}
- A \tabulate[valign=t,rvar=x,rstep=0.2,rows=6]
- { \sin x/\cos x }[x=0][*] \qquad
- B \tabulate[rspec={x,0.2,1}]
- { \tan x }[x=0][*] \qquad
- C \tabulate[valign=b,rspec={x,0.2,(6)}]
- { \sqrt{\sec^2 x - 1} }[x=0][*]
-\end{verbatim}
-$\Longrightarrow$ A \tabulate[valign=t,rvar=x,rstep=0.2,rows=6,rstop=2]
- { \sin x/\cos x }[x=0][*] \qquad
- B \tabulate[rspec={x,0.2,1}]
- { \tan x }[x=0][*] \qquad
- C \tabulate[valign=b,rspec={x,0.2,(6)}]
- { \sqrt{\sec^2 x - 1} }[x=0][*]\medskip{}
-
-As explained in §\ref{subsec:Adjoining-tables}, tables can be adjoined
-to give the appearance of a single larger table. If tables with different
-numbers of rows are adjoined in this manner, then a middle alignment
-fails and either a top or bottom alignment is necessary.
-
-\section{Star option}
-
-If the \texttt{Q?} question is satisfied by at least one function
-value then adding a star (asterisk) to the \verb`\tabulate` command
-will display the first such instance. I.e., like the other starred
-commands, \verb`\eval*`, \verb`\iter*`, \verb`\solve*` and \verb`\recur*`,
- \verb`\tabulate*` outputs a single number:
-\begin{verbatim}
- \tabulate*
- [rspec={n,1,15},cspec={m,1,5},
- Q?={@<-1e-14||@>0.5+1e-14}]
- { \cos(m\pi/n) }[n=4,m=2][*4]
-\end{verbatim}
-$\Longrightarrow$ \tabulate*
- [rspec={n,1,15},cspec={m,1,5},
- Q?={@<-1e-14||@>0.5+1e-14}]
- { \cos(m\pi/n) }[n=4,m=2][*4]. Ineed, if you omit the \texttt{Q?} and \texttt{A!} settings from
-the previous table then this is the value that follows $0.5000$ in
-the \texttt{m=2} column \textendash{} the first function value encountered
-satisfying the query \texttt{Q?}.
-
-If \emph{no} function value satisfies the query then a message is
-generated:
-\begin{verbatim}
- \tabulate*
- [rspec={n,1,15},cspec={m,1,5},
- Q?=|@>1]
- { \cos(m\pi/n) }[n=4,m=2][*4]
-\end{verbatim}
-$\Longrightarrow$ \tabulate*
- [rspec={n,1,15},cspec={m,1,5},
- Q?=@>1]
- { \cos(m\pi/n) }[n=4,m=2][*4]
-
-And if there is no query at all when the star option is chosen, another
-message is shown:
-\begin{verbatim}
- \tabulate*
- [rspec={n,1,15},cspec={m,1,5}]
- { \cos(m\pi/n) }[n=4,m=2][*4]
-\end{verbatim}
-$\Longrightarrow$ \tabulate*
- [ rspec={n,1,15}, cspec={m,1,5}]
- { \cos(m\pi/n) }[n=4,m=2][*4]
-
-\subsection{Scientific notation}
-
-If you want the number output in scientific notation when the star
-option is chosen, then enter the exponent mark in the trailing number-format
-option. This is straightforward for a letter like the commonly used
-\texttt{e}, but remember that if it is the \texttt{x} option that
-you enter, then you will need to place the \verb`\tabulate*` command
-between math delimiters, otherwise the \verb`\times` symbol resulting
-from the \texttt{x} option will generate a \LaTeX{} error (`Missing
-\$ inserted'):
-\begin{verbatim}
- $
- \tabulate*
- [rspec={n,1,15},cspec={m,1,5},
- Q?={@<-1e-14||@>0.5+1e-14},A!=]
- { \cos(m\pi/n) }[n=4,m=2][*4x]
- $
-\end{verbatim}
-$\Longrightarrow$ $
- \tabulate*
- [rspec={n,1,15},cspec={m,1,5},
- Q?={@<-1e-14||@>0.5+1e-14},A!=]
- { \cos(m\pi/n) }[n=4,m=2][*4x]
- $.
-
-\section{The \texttt{reuse} setting}
-
-By entering
-\begin{lyxcode}
-reuse~=~<non-negative~integer>
-\end{lyxcode}
-it is possible to specify what is saved when the \verb`\tabulate`
-command is followed by a \verb`\reuse` command.
-\begin{itemize}
-\item \texttt{reuse=0} saves the table as displayed (the default);
-\item \texttt{reuse=n} saves the $n$-th \emph{column} of function values
-\begin{itemize}
-\item if \texttt{rpos} is non-zero: in a comma-separated list of braced
-pairs \texttt{\{row-variable value,function value}\};
-\item if \texttt{rpos=0}: in a comma-separated list of function values.
-\end{itemize}
-\item \texttt{reuse=-n} saves the $n$-th \emph{row} of function values
-in a comma-separated list that includes the row variable value in
-its appropriate position(s) if \texttt{rpos} is non-zero.
-\end{itemize}
-In the following example the third row is saved to the control sequence
-\verb`\rowiii` by using the setting \verb`reuse=-3`.
-\begin{verbatim}
- \tabulate
- [rspec={x,0.25,(5)},rround=2,rhead=x,ralign=r,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,
- chround=2,calign=r,ctitle=**,
- rules=TthB,reuse=-3]
- { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*] \reuse[rowiii]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.25,(5)},rround=2,
- rhead=x,ralign=r,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,
- chround=2,calign=r,ctitle=**,rules=TthB,reuse=-3]
- { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*] \reuse[rowiii]\medskip{}
-
-\noindent Now test the content of the control sequence
-\begin{lyxcode}
-\noindent \verb`\rowiii`~$\Longrightarrow$~\rowiii ~
-\end{lyxcode}
-\noindent You can see that indeed the third row has been `captured
-for posterity'.
-
-Alternatively, we could save the second column in the control sequence
-\verb`\colii`:
-\begin{verbatim}
- [rspec={x,0.25,(5)},rround=2,rhead=x,ralign=r,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,
- chround=2,calign=r,ctitle=**,
- rules=TthB,reuse=2]
- { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*] \reuse[colii]
-\end{verbatim}
-$\Longrightarrow$ \tabulate
- [rspec={x,0.25,(5)},rround=2,
- rhead=x,ralign=r,rhnudge=9,
- cspec={k,0.25,(3)},chstyle=2,
- chround=2,calign=r,ctitle=**,rules=TthB,reuse=2]
- { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*] \reuse[colii]\medskip{}
-
-To see what is saved in \verb`\colii` I use \TeX 's \verb`\meaning`
-command to show that it is indeed braced pairs:
-\begin{verbatim}
- \meaning \colii
-\end{verbatim}
-$\Longrightarrow$ \meaning\colii
-
-\chapter{Nesting}
-
-\label{sec:tableNesting}Provided the starred form of any one of \verb`\eval`,
-\verb`\iter`, \verb`\solve`, \verb`recur` actually does produce
-a numerical result and not an error message then it can be nested
-within the main argument of any one of the other commands, including
-itself. The associated document \texttt{numerica-plus.pdf} has a number
-of illustrations of this. The starred form can also be used in the
-vv-list of any one of the commands, including itself. \texttt{numerica-plus.pdf}
-has an example of \verb`\solve*` being used in the vv-list of an
-\verb`\eval` command, and the document \texttt{numerica-basics.pdf}
-shows examples of \verb`\eval*` being used in the vv-list of an \verb`\eval`
-command.
-
-These nesting properties are also true of \verb`\tabulate`. It's
-starred form can be used in other commands. Other commands' starred
-forms can be used in \verb`\tabulate`.
-
-For the first, \verb`\tabulate*` inside \verb`\eval`, I have also
-used the example to show how formatting settings (shown for the first
-\verb`\tabulate*` in the example) can in fact be dispensed with (as
-shown for the second \verb`\tabulate*`). Only \emph{functional} settings
-are required. Hence there is no \verb`A!` setting in either. It is
-the \emph{question}, \verb`Q?`, not the answer, that isolates the
-single-value that is the result of \verb`\tabulate*`.
-\begin{verbatim}
- \eval{$
- (\tabulate*
- [rspec={n,1,15},rround=0,rpos=2,rules=Tth,
- cspec={m,1,5},ctitle=*,chstyle=2,
- Q?={@=MAX}]
- { \cos(m\pi/n) }[n=4,m=2][*4])\sinh t +
- (\tabulate*
- [rspec={n,1,15},cspec={m,1,5},
- Q?={@=MIN}]
- { \sin(m\pi/n) }[n=4,m=2][*4])\cosh t
- $}[t=2][4]
-\end{verbatim}
-$\Longrightarrow$ \eval{$
- (\tabulate*
- [rspec={n,1,15},rround=0,rpos=2,rules=Tth,
- cspec={m,1,5},ctitle=*,chstyle=2,
- Q?={@=MAX}]
- { \cos(m\pi/n) }[n=4,m=2][*4])\sinh t +
- (\tabulate*
- [rspec={n,1,15},rround=0,rpos=2,rules=Tth,
- cspec={m,1,5},ctitle=*,chstyle=2,
- Q?={@=MIN}]
- { \sin(m\pi/n) }[n=4,m=2][*4])\cosh t
- $}[t=2][4].
-
-For using the starred forms of other commands inside \verb`\tabulate`,
-it makes more sense to use one or more of \verb`\iter*`, \verb`\solve*`
-or \verb`\recur*` inside \verb`\tabulate` than it does \verb`\eval*`,
-but that assumes the reader is familiar with those com$\frac{}{}$mands
-and that \texttt{numerica-plus.def} is loaded for this document, which
-it is not. So, here is a rather pointless illustration of nesting
-\verb`\eval*` in \verb`\tabulate`. (At least it is reassuring that
-the values of $\Delta(N)$ are identical in the two columns.)
-\begin{verbatim}
- \tabulate[rspec={N,100,500},rround=0,ctitle=\Delta(N),
- chead=eval*&direct]
- { ,\eval*{ \sum_{n=1}^N 1/n-\ln N-\gamma },
- \sum_{n=1}^N 1/n-\ln N-\gamma }[N=100][4*]
-\end{verbatim}
-$\Longrightarrow$ \tabulate[rspec={N,100,500},rround=0,ctitle=\Delta(N),
- chead=eval*&direct]
- { ,\eval*{ \sum_{n=1}^N 1/n-\ln N-\gamma },
- \sum_{n=1}^N 1/n-\ln N-\gamma }[N=100][4*]
-
-\chapter{Reference summary}
-
-\section{Commands defined in \texttt{numerica-tables}}
-
-\texttt{\textbackslash nmcTabulate, \textbackslash tabulate}
-
-\section{Settings for \texttt{\textbackslash nmcTabulate}}
-
-\subsubsection*{Row variable specification §\ref{sec:Row-variable-settings}}
-\begin{center}
-\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}>{\raggedright}p{3cm}}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small comment}\tabularnewline
-\midrule
-{\small\texttt{rvar}} & {\small token(s)} & {\small row variable} & \tabularnewline
-{\small\texttt{rstep}} & {\small real num.} & {\small step size} & \tabularnewline
-{\small\texttt{rstop}} & {\small real num.} & {\small stop value} & \multirow{2}{3cm}{either {\small\texttt{rstop}}{\small{} or }{\small\texttt{rows}}{\small ,
-not both}}\tabularnewline
-{\small\texttt{rows}} & {\small int} & {\small number of rows} & \tabularnewline
-{\small\texttt{rspec}} & {\small comma list} & {\small\texttt{\{start}}{\small , }{\small\texttt{step}}{\small , }{\small\texttt{stop\}}}{\small{}
-or }{\small\texttt{\{start}}{\small , }{\small\texttt{step}}{\small ,
-}{\small\texttt{(rows)\}}} & {\small short form spec.}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{center}
-
-\subsubsection*{Row variable column formatting §\ref{subsec:Row-var-col-formatting}}
-\begin{center}
-\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{rround}} & {\small int} & {\small rounding} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{ralign}} & {\small char (}{\small\texttt{r/c/l}}{\small )} & {\small horizontal alignment} & {\small\texttt{r}}\tabularnewline
-{\small\texttt{rfont}} & {\small chars} & {\small font (}{\small\verb`\math<chars>`}{\small )} & \tabularnewline
-{\small\texttt{rhead}} & {\small tokens} & {\small header} & {\small\texttt{rvar}}\tabularnewline
-{\small\texttt{rhnudge}} & int & {\small nudge header }{\small{\small\verb`<int>`}}{\small{} mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small column position(s)} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{rvar'}} & {\small tokens} & {\small 2nd row variable col. spec.} & {\small\texttt{rvar}}\tabularnewline
-{\small\texttt{rhead'}} & {\small tokens} & {\small header of 2nd rv col. (if it exists)} & {\small\texttt{rvar'}}\tabularnewline
-{\small\texttt{rhnudge'}} & int & {\small nudge 2nd rv col. header }{\small{\small\verb`<int>`}}{\small{}
-mu} & {\small\texttt{0}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{center}
-
-\subsubsection*{Column variable specification §\ref{sec:Column-variable-settings}.}
-\begin{center}
-\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{cvar}} & {\small token(s)} & {\small column variable} & \tabularnewline
-{\small\texttt{cstep}} & {\small real num.} & {\small step size} & \tabularnewline
-{\small\texttt{cstop}} & {\small real num.} & {\small stop value} & {\small either }{\small\texttt{cstop}}\tabularnewline
-{\small\texttt{cols}} & {\small int} & {\small number of columns} & {\small or }{\small\texttt{cols}}{\small , not both}\tabularnewline
-{\small\texttt{cspec}} & {\small comma list} & {\small\texttt{\{cvar,cstep}}{\small , }{\small\texttt{cstop\}}}{\small{}
-or}{\small\texttt{ \{cvar,cstep}}{\small ,}{\small\texttt{(cols)\}}} & {\small short form spec.}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{center}
-
-\subsubsection*{Column variable header formatting §\ref{subsec:Column-header-formatting}.}
-\begin{center}
-\begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{chstyle}} & {\small int (0/1/2/3)} & {\small header style} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{ctitle}} & {\small tokens} & {\small single col. alternative header} & \tabularnewline
-{\small\texttt{chead}} & {\small tokens} & {\small user-defined header} & \tabularnewline
-{\small\texttt{calign}} & {\small char (r/c/l)} & {\small column alignment} & {\small\texttt{r}}\tabularnewline
-{\small\texttt{chnudge}} & {\small int} & {\small nudge header }{\small{\small\verb`int`}}{\small{} mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{chround}} & {\small int} & {\small column header rounding} & {\small\texttt{0}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}\newpage{}
-\par\end{center}
-
-\subsubsection*{Function value formatting §\ref{sec:Function-value-formatting}.}
-\noindent \begin{center}
-\noindent \begin{center}
-\begin{tabular}{cc>{\raggedright}p{4cm}c}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{(pad)}} & {\small int} & {\small (t-notation) phantom padding} & \tabularnewline
-{\small\texttt{signs}} & {\small int} & {\small sign handling for function values} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{diffs}} & {\small int} & {\small insert differences \& pre-pad with zeros} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{Q?}} & {\small tokens} & {\small special cell conditional} & \tabularnewline
-{\small\texttt{A!}} & {\small tokens} & {\small special cell formatting} & \tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{center}
-
-\subsubsection*{Whole-of-table formatting §\ref{sec:Whole-of-table-formatting}.}
-\noindent \begin{center}
-\noindent \begin{center}
-\begin{tabular}{ll>{\raggedright}p{4cm}l}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{ctitle}} & {\small tokens} & {\small collective title for function-value columns} & \tabularnewline
-{\small\texttt{rules}} & {\small chars} & {\small horizontal rules template} & {\small\texttt{ThB}}\tabularnewline
-{\small\texttt{foot}} & {\small tokens} & {\small content of footer line} & \tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small row-variable column position(s)} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{rbloc}} & {\small comma list} & {\small division of rows into blocks} & \tabularnewline
-{\small\texttt{rblocsep}} & {\small length} & {\small extra spacing between blocks of rows} & {\small\texttt{1 ex}}\tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{center}
-
-\subsubsection*{Table placement §\ref{subsec:Verticalalignment}.}
-\noindent \begin{center}
-\noindent \begin{center}
-\begin{tabular}{cc>{\raggedright}p{4cm}c}
-\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
-\midrule
-{\small\texttt{valign}} & {\small char (t/b)} & {\small vertical alignment} & \tabularnewline
-\bottomrule
-\end{tabular}
-\par\end{center}
-\par\end{center}
-\end{document}