diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex | 412 |
1 files changed, 340 insertions, 72 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex index 9deedd2e504..f86b6f59187 100644 --- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex +++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex @@ -9,17 +9,23 @@ \pgfname\ supports number printing in different styles and rounds to arbitrary precision. \begin{command}{\pgfmathprintnumber\marg{x}} -Generates pretty-printed output for the (real) number \marg{x}. The input number \marg{x} is parsed using |\pgfmathfloatparsenumber| which allows arbitrary precision. + Generates pretty-printed output for the (real) number \meta{x}. The + input number \meta{x} is parsed using |\pgfmathfloatparsenumber| + which allows arbitrary precision. -Numbers are typeset in math mode using the current set of number printing options, see below. Optional arguments can also be provided using |\pgfmathprintnumber[|\meta{options}|]|\marg{x}. + Numbers are typeset in math mode using the current set of number + printing options, see below. Optional arguments can also be provided + using |\pgfmathprintnumber[|\meta{options}|]|\meta{x}. \end{command} -\begin{command}{\pgfmathprintnumberto\marg{x}\marg{\textbackslash macro}} - Returns the resulting number into \marg{\textbackslash macro} instead of typesetting it directly. +\begin{command}{\pgfmathprintnumberto\marg{x}\marg{macro}} + Returns the resulting number into \meta{macro} + instead of typesetting it directly. \end{command} \begin{key}{/pgf/number format/fixed} -Configures |\pgfmathprintnumber| to round the number to a fixed number of digits after the period, discarding any trailing zeros. + Configures |\pgfmathprintnumber| to round the number to a fixed + number of digits after the period, discarding any trailing zeros. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,fixed,precision=2} @@ -30,11 +36,13 @@ Configures |\pgfmathprintnumber| to round the number to a fixed number of digits \pgfmathprintnumber{123456.12345} \end{codeexample} -See section~\ref{sec:number:styles} for how to change the appearance. + See section~\ref{sec:number:styles} for how to change the + appearance. \end{key} \begin{key}{/pgf/number format/fixed zerofill=\marg{boolean} (default true)} -Enables or disables zero filling for any number drawn in fixed point format. + Enables or disables zero filling for any number drawn in fixed point + format. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,fixed,fixed zerofill,precision=2} @@ -44,7 +52,8 @@ Enables or disables zero filling for any number drawn in fixed point format. \pgfmathprintnumber{24415.98123}\hspace{1em} \pgfmathprintnumber{123456.12345} \end{codeexample} -This key affects numbers drawn with |fixed| or |std| styles (the latter only if no scientific format is chosen). + This key affects numbers drawn with |fixed| or |std| styles (the + latter only if no scientific format is chosen). \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,std,fixed zerofill,precision=2} \pgfmathprintnumber{4.568}\hspace{1em} @@ -53,11 +62,15 @@ This key affects numbers drawn with |fixed| or |std| styles (the latter only if \pgfmathprintnumber{123456.12345} \end{codeexample} -See section~\ref{sec:number:styles} for how to change the appearance. + See section~\ref{sec:number:styles} for how to change the + appearance. \end{key} \begin{key}{/pgf/number format/sci} -Configures |\pgfmathprintnumber| to display numbers in scientific format, that means sign, mantissa and exponent (basis~$10$). The mantissa is rounded to the desired |precision| (or |sci precision|, see below). + Configures |\pgfmathprintnumber| to display numbers in scientific + format, that means sign, mantissa and exponent (basis~$10$). The + mantissa is rounded to the desired |precision| (or |sci precision|, + see below). \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,sci,precision=2} @@ -68,11 +81,13 @@ Configures |\pgfmathprintnumber| to display numbers in scientific format, that m \pgfmathprintnumber{123456.12345} \end{codeexample} -See section~\ref{sec:number:styles} for how to change the exponential display style. +See section~\ref{sec:number:styles} for how to change the exponential +display style. \end{key} \begin{key}{/pgf/number format/sci zerofill=\marg{boolean} (default true)} -Enables or disables zero filling for any number drawn in scientific format. + Enables or disables zero filling for any number drawn in scientific + format. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,sci,sci zerofill,precision=2} @@ -82,19 +97,25 @@ Enables or disables zero filling for any number drawn in scientific format. \pgfmathprintnumber{24415.98123}\hspace{1em} \pgfmathprintnumber{123456.12345} \end{codeexample} -As with |fixed zerofill|, this option does only affect numbers drawn in |sci| format (or |std| if the scientific format is chosen). + As with |fixed zerofill|, this option does only affect numbers drawn + in |sci| format (or |std| if the scientific format is chosen). -See section~\ref{sec:number:styles} for how to change the exponential display style. + See section~\ref{sec:number:styles} for how to change the + exponential display style. \end{key} \begin{stylekey}{/pgf/number format/zerofill=\marg{boolean} (default true)} - Sets both, |fixed zerofill| and |sci zerofill| at once. + Sets both |fixed zerofill| and |sci zerofill| at once. \end{stylekey} \begin{keylist}{/pgf/number format/std,% /pgf/number format/std=\meta{lower e}, /pgf/number format/std=\meta{lower e}:\meta{upper e}} -Configures |\pgfmathprintnumber| to a standard algorithm. It chooses either |fixed| or |sci|, depending on the order of magnitude. Let $n=s \cdot m \cdot 10^e$ be the input number and $p$ the current precision. If $-p/2 \le e \le 4$, the number is displayed using |fixed| format. Otherwise, it is displayed using |sci| format. + Configures |\pgfmathprintnumber| to a standard algorithm. It chooses + either |fixed| or |sci|, depending on the order of magnitude. Let + $n=s \cdot m \cdot 10^e$ be the input number and $p$ the current + precision. If $-p/2 \le e \le 4$, the number is displayed using + |fixed| format. Otherwise, it is displayed using |sci| format. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,std,precision=2} @@ -104,12 +125,168 @@ Configures |\pgfmathprintnumber| to a standard algorithm. It chooses either |fix \pgfmathprintnumber{24415.98123}\hspace{1em} \pgfmathprintnumber{123456.12345} \end{codeexample} -The parameters can be customized using the optional integer argument(s): if $\text{\meta{lower e}} \le e \le \text{\meta{upper e}}$, the number is displayed in |fixed| format, otherwise in |sci| format. Note that \meta{lower e} should be negative for useful results. The precision used for scientific format can be adjusted with |sci precision| if necessary. + The parameters can be customized using the optional integer + argument(s): if $\text{\meta{lower e}} \le e \le \text{\meta{upper + e}}$, the number is displayed in |fixed| format, otherwise in + |sci| format. Note that \meta{lower e} should be negative for useful + results. The precision used for the scientific format can be + adjusted with |sci precision| if necessary. +\end{keylist} + +\begin{keylist}{/pgf/number format/relative*=\meta{exponent base 10}} + Configures |\pgfmathprintnumber| to format numbers relative to an + order of magnitude, $10^r$, where $r$ is an integer number. + + This key addresses different use-cases. + + \paragraph{First use-case:} provide a unified format for a + \emph{sequence} of numbers. Consider the following test: +\begin{codeexample}[] +\pgfkeys{/pgf/number format/relative*={1}} +\pgfmathprintnumber{6.42e-16}\hspace{1em} +\pgfmathprintnumber{1.2}\hspace{1em} +\pgfmathprintnumber{6}\hspace{1em} +\pgfmathprintnumber{20.6}\hspace{1em} +\pgfmathprintnumber{87} +\end{codeexample} + \noindent With any other style, the |6.42e-16| would have been + formatted as an isolated number. Here, it is rounded to |0| because + when viewed relative to $10^1$ (the exponent $1$ is the argument for + |relative|), it has no significant digits. + +\begin{codeexample}[] +\pgfkeys{/pgf/number format/relative*={2}} +\pgfmathprintnumber{123.345}\hspace{1em} +\pgfmathprintnumber{0.0012}\hspace{1em} +\pgfmathprintnumber{0.0014}\hspace{1em} +\end{codeexample} + \noindent The example above applies the initial |precision=2| to + |123.345| -- relative to $100$. Two significant digits of |123.345| + relative to $100$ are |123|. Note that the ``$2$ significant digits + of |123.345|'' translates to ``round |1.2345| to $2$ digits'', which + would yield |1.2300|. Similarly, the other two numbers are |0| + compared to $100$ using the given |precision|. + +\begin{codeexample}[] +\pgfkeys{/pgf/number format/relative*={-3}} +\pgfmathprintnumber{123.345}\hspace{1em} +\pgfmathprintnumber{0.0012}\hspace{1em} +\pgfmathprintnumber{0.0014}\hspace{1em} +\end{codeexample} + + \paragraph{Second use-case:} improve rounding in the presence of + \emph{inaccurate} numbers. Let us suppose that some + limited-precision arithmetics resulted in the result |123456999| + (like the |fpu| of \pgfname). You know that its precision is about + five or six significant digits. And you want to provide a fixed + point output. In this case, the trailing digits |....999| are a + numerical artifact due to the limited precision. Use + |relative*=3,precision=0| to eliminate the artifacts: +\begin{codeexample}[] +\pgfkeys{/pgf/number format/.cd,relative*={3},precision=0} +\pgfmathprintnumber{123456999}\hspace{1em} +\pgfmathprintnumber{123456999.12} +\end{codeexample} + \noindent Here, |precision=0| means that we inspect |123456.999| and + round that number to $0$ digits. Finally, we move the period back to + its initial position. Adding |relative style=fixed| results in fixed + point output format: +\begin{codeexample}[] +\pgfkeys{/pgf/number format/.cd,relative*={3},precision=0,relative style=fixed} +\pgfmathprintnumber{123456999}\hspace{1em} +\pgfmathprintnumber{123456999.12} +\end{codeexample} + \noindent Note that there is another alternative for this use-case + which is discussed later: the |fixed relative| style. +\begin{codeexample}[] +\pgfkeys{/pgf/number format/.cd,fixed relative,precision=6} +\pgfmathprintnumber{123456999}\hspace{1em} +\pgfmathprintnumber{123456999.12} +\end{codeexample} + + You might wonder why there is an asterisk in the key's name. The + short answer is: there is also a \declareandlabel{/pgf/number + format/relative} number printer which does unexpected things. The + key |relative*| repairs this. Existing code will still use the old + behavior. + + Technically, the key works as follows: as already explained above, + |relative*=3| key applied to |123456999.12| moves the period by + three positions and analyzes |123456.99912|. Mathematically + speaking, we are given a number $x = \pm m \cdot 10^e$ and we + attempt to apply |relative*=|$r$. The method then rounds $x / 10^r$ + to |precision| digits. Afterwards, it multiplies the result by + $10^r$ and typesets it. +\end{keylist} + +\begin{stylekey}{/pgf/number format/every relative} + A style which configures how the |relative| method finally displays + its results. + + The initial configuration is +\begin{codeexample}[code only] +\pgfkeys{/pgf/number format/every relative/.style=std} +\end{codeexample} + + Note that rounding is turned off when the resulting style is being + evaluated (since |relative| already rounded the number). + + Although supported, I discourage from using |fixed zerofill| or + |sci zerofill| in this context -- it may lead to a suggestion of higher + precision than is actually used (because |fixed zerofill| might + simply add |.00| although there was a different information before + |relative| rounded the result). +\end{stylekey} + +\begin{key}{/pgf/number format/relative style=\marg{options}} + The same as |every relative/.append style=|\marg{options}. +\end{key} + +\begin{keylist}{/pgf/number format/fixed relative} + Configures |\pgfmathprintnumber| to format numbers in a similar way + to the |fixed| style, but the |precision| is interpreted relatively + to the number's exponent. + The motivation is to get the same rounding effect as for |sci|, but + to display the number in the |fixed| style: +\begin{codeexample}[] +\pgfkeys{/pgf/number format/.cd,fixed relative,precision=3} +\pgfmathprintnumber{1000.0123}\hspace{1em} +\pgfmathprintnumber{100.0567}\hspace{1em} +\pgfmathprintnumber{0.000010003452}\hspace{1em} +\pgfmathprintnumber{0.010073452}\hspace{1em} +\pgfmathprintnumber{1.23567}\hspace{1em} +\pgfmathprintnumber{1003.75}\hspace{1em} +\pgfmathprintnumber{1006.75}\hspace{1em} +\end{codeexample} + + The effect of |fixed relative| is that the number is rounded to + \emph{exactly} the first \meta{precision} non-zero digits, no matter + how many leading zeros the number might have. + + Use |fixed relative| if you want |fixed| and if you know that only + the first $n$ digits are correct. Use |sci| if you need a scientific + display style and only the first $n$ digits are correct. + + Note that |fixed relative| ignores the |fixed zerofill| flag. + + See also the |relative*| key. Note that the + |relative=|\marg{exponent} key explicitly moves the period to some + designated position before it attempts to round the + number. Afterwards, it ``rounds from the right'', i.e.\ it rounds to + that explicitly chosen digit position. In contrast to that, + |fixed relative| ``rounds from the left'': it takes the \emph{first} + non-zero digit, temporarily places the period after this digit, and + rounds that number. The rounding style |fixed| leaves the period + where it is, and rounds everything behind that digit. The |sci| + style is similar to |fixed relative|. \end{keylist} + \begin{key}{/pgf/number format/int detect} -Configures |\pgfmathprintnumber| to detect integers automatically. If the input number is an integer, no period is displayed at all. If not, the scientific format is chosen. + Configures |\pgfmathprintnumber| to detect integers + automatically. If the input number is an integer, no period is + displayed at all. If not, the scientific format is chosen. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,int detect,precision=2} @@ -122,12 +299,15 @@ Configures |\pgfmathprintnumber| to detect integers automatically. If the input \end{key} \begin{command}{\pgfmathifisint\marg{number constant}\marg{true code}\marg{false code}} - A command which does the same check as |int detect|, but it invokes \meta{true code} if the \meta{number constant} actually is an integer and the \meta{false code} if not. - - As a side--effect, |\pgfretval| will contain the parsed number, either in integer format or as parsed floating point number. + A command which does the same check as |int detect|, but it invokes + \meta{true code} if the \meta{number constant} actually is an + integer and the \meta{false code} if not. + As a side-effect, |\pgfretval| will contain the parsed number, + either in integer format or as parsed floating point number. - The argument \meta{number constant} will be parsed with |\pgfmathfloatparsenumber|. + The argument \meta{number constant} will be parsed with + |\pgfmathfloatparsenumber|. \begin{codeexample}[] 15 \pgfmathifisint{15}{is an int: \pgfretval.}{is no int}\hspace{1em} 15.5 \pgfmathifisint{15.5}{is an int: \pgfretval.}{is no int} @@ -135,8 +315,8 @@ Configures |\pgfmathprintnumber| to detect integers automatically. If the input \end{command} \begin{key}{/pgf/number format/int trunc} -Truncates every number to integers (discards any digit after the period). - + Truncates every number to integers (discards any digit after the + period). \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,int trunc} \pgfmathprintnumber{4.568}\hspace{1em} @@ -148,7 +328,7 @@ Truncates every number to integers (discards any digit after the period). \end{key} \begin{key}{/pgf/number format/frac} -Displays numbers as fractionals. + Displays numbers as fractionals. \begin{codeexample}[width=3cm] \pgfkeys{/pgf/number format/frac} @@ -169,10 +349,12 @@ Displays numbers as fractionals. \end{codeexample} \begin{key}{/pgf/number format/frac TeX=\marg{\textbackslash macro} (initially \texttt{\textbackslash frac})} - Allows to use a different implementation for |\frac| inside of the |frac| display type. + Allows to use a different implementation for |\frac| inside of the + |frac| display type. \end{key} + \begin{key}{/pgf/number format/frac denom=\meta{int} (initially empty)} - Allows to provide a custom denominator for |frac|. + Allows to provide a custom denominator for |frac|. \begin{codeexample}[width=3cm] \pgfkeys{/pgf/number format/.cd,frac, frac denom=10} \pgfmathprintnumber{0.1}\hspace{1em} @@ -183,7 +365,9 @@ Displays numbers as fractionals. \end{codeexample} \end{key} \begin{key}{/pgf/number format/frac whole=\mchoice{true,false} (initially true)} - Configures whether complete integer parts shall be placed in front of the fractional part. In this case, the fractional part will be less then $1$. Use |frac whole=false| to avoid whole number parts. + Configures whether complete integer parts shall be placed in front + of the fractional part. In this case, the fractional part will be + less then $1$. Use |frac whole=false| to avoid whole number parts. \begin{codeexample}[width=3cm] \pgfkeys{/pgf/number format/.cd,frac, frac whole=false} \pgfmathprintnumber{20.1}\hspace{1em} @@ -194,41 +378,59 @@ Displays numbers as fractionals. \end{codeexample} \end{key} \begin{key}{/pgf/number format/frac shift=\marg{integer} (initially 4)} - In case you experience problems because of stability problems, try experimenting with a different |frac shift|. - Higher shift values $k$ yield higher sensitivity to inaccurate data or inaccurate arithmetics. + In case you experience problems because of stability problems, try + experimenting with a different |frac shift|. Higher shift values $k$ + yield higher sensitivity to inaccurate data or inaccurate + arithmetics. - Technically, the following happens. If $r < 1$ is the fractional part of the mantissa, then a scale $i = 1/r \cdot 10^k$ is computed where $k$ is the shift; fractional parts of $i$ are neglected. The value $1/r$ is computed internally, its error is amplified. + Technically, the following happens. If $r < 1$ is the fractional + part of the mantissa, then a scale $i = 1/r \cdot 10^k$ is computed + where $k$ is the shift; fractional parts of $i$ are neglected. The + value $1/r$ is computed internally, its error is amplified. - If you still experience stability problems, use |\usepackage{fp}| in your preamble. The |frac| style will then automatically employ the higher absolute precision of |fp| for the computation of $1/r$. + If you still experience stability problems, use |\usepackage{fp}| in + your preamble. The |frac| style will then automatically employ the + higher absolute precision of |fp| for the computation of $1/r$. \end{key} \end{key} \begin{key}{/pgf/number format/precision=\marg{number}} -Sets the desired rounding precision for any display operation. For scientific format, this affects the mantissa. + Sets the desired rounding precision for any display operation. For + scientific format, this affects the mantissa. \end{key} \begin{key}{/pgf/number format/sci precision=\meta{number or empty} (initially empty)} - Sets the desired rounding precision only for |sci| styles. + Sets the desired rounding precision only for |sci| styles. - Use |sci precision={}| to restore the initial configuration (which uses the argument provided to |precision| for all number styles). + Use |sci precision={}| to restore the initial configuration (which + uses the argument provided to |precision| for all number styles). \end{key} \subsection{Changing display styles}% \label{sec:number:styles}% -You can change the way how numbers are displayed. For example, if you use the `\texttt{fixed}' style, the input number is rounded to the desired precision and the current fixed point display style is used to typeset the number. The same is applied to any other format: first, rounding routines are used to get the correct digits, afterwards a display style generates proper \TeX-code. + +You can change the way how numbers are displayed. For example, if you +use the `\texttt{fixed}' style, the input number is rounded to the +desired precision and the current fixed point display style is used to +typeset the number. The same is applied to any other format: first, +rounding routines are used to get the correct digits, afterwards a +display style generates proper \TeX-code. \begin{key}{/pgf/number format/set decimal separator=\marg{text}} -Assigns \marg{text} as decimal separator for any fixed point numbers (including the mantissa in sci format). + Assigns \marg{text} as decimal separator for any fixed point numbers + (including the mantissa in sci format). -Use |\pgfkeysgetvalue{/pgf/number format/set decimal separator}\value| to get the current separator into |\value|. + Use |\pgfkeysgetvalue{/pgf/number format/set decimal separator}\value| + to get the current separator into |\value|. \end{key} \begin{stylekey}{/pgf/number format/dec sep=\marg{text}} - Just another name for |set decimal separator|. + Just another name for |set decimal separator|. \end{stylekey} \begin{key}{/pgf/number format/set thousands separator=\marg{text}} -Assigns \marg{text} as thousands separator for any fixed point numbers (including the mantissa in sci format). + Assigns \marg{text} as thousands separator for any fixed point + numbers (including the mantissa in sci format). \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd, @@ -271,17 +473,48 @@ Assigns \marg{text} as thousands separator for any fixed point numbers (includin set thousands separator={{{,}}}} \pgfmathprintnumber{1234567890} \end{codeexample} -The last example employs commas and disables the default comma-spacing. + The last example employs commas and disables the default + comma-spacing. -Use |\pgfkeysgetvalue{/pgf/number format/set thousands separator}\value| to get the current separator into |\value|. + Use |\pgfkeysgetvalue{/pgf/number format/set thousands separator}\value| + to get the current separator into |\value|. \end{key} \begin{stylekey}{/pgf/number format/1000 sep=\marg{text}} - Just another name for |set thousands separator|. + Just another name for |set thousands separator|. \end{stylekey} +\begin{key}{/pgf/number format/1000 sep in fractionals=\marg{boolean} (initially false)} + Configures whether the fractional part should also be grouped into + groups of three digits. + + The value |true| will active the |1000 sep| for both, integer and + fractional parts. The value |false| will active |1000 sep| only for the integer part. +\begin{codeexample}[] +\pgfkeys{/pgf/number format/.cd, + fixed, + precision=999, + set thousands separator={\,}, + 1000 sep in fractionals, + } +\pgfmathprintnumber{1234.1234567} +\end{codeexample} +\begin{codeexample}[] +\pgfkeys{/pgf/number format/.cd, + fixed,fixed zerofill, + precision=9, + set thousands separator={\,}, + 1000 sep in fractionals, + } +\pgfmathprintnumber{1234.1234567} +\end{codeexample} +\end{key} + \begin{key}{/pgf/number format/min exponent for 1000 sep=\marg{number} (initially 0)} - Defines the smallest exponent in scientific notation which is required to draw thousand separators. The exponent is the number of digits minus one, so $\meta{number}=4$ will use thousand separators starting with $1e4 = 10000$. + Defines the smallest exponent in scientific notation which is + required to draw thousand separators. The exponent is the number of + digits minus one, so $\meta{number}=4$ will use thousand separators + starting with $1e4 = 10000$. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd, int detect, @@ -304,11 +537,14 @@ Use |\pgfkeysgetvalue{/pgf/number format/set thousands separator}\value| to get min exponent for 1000 sep=4} \pgfmathprintnumber{10000}; \pgfmathprintnumber{1000000} \end{codeexample} -\noindent A value of |0| disables this feature (negative values are ignored). + \noindent A value of |0| disables this feature (negative values are + ignored). \end{key} \begin{key}{/pgf/number format/use period} -A predefined style which installs periods `\texttt{.}' as decimal separators and commas `\texttt{,}' as thousands separators. This style is the default. + A predefined style which installs periods ``\texttt{.}'' as decimal + separators and commas ``\texttt{,}'' as thousands separators. This + style is the default. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,fixed,precision=2,use period} @@ -321,7 +557,8 @@ A predefined style which installs periods `\texttt{.}' as decimal separators and \end{key} \begin{key}{/pgf/number format/use comma} -A predefined style which installs commas `\texttt{,}' as decimal separators and periods `\texttt{.}' as thousands separators. + A predefined style which installs commas ``\texttt{,}'' as decimal + separators and periods ``\texttt{.}'' as thousands separators. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,fixed,precision=2,use comma} @@ -334,7 +571,8 @@ A predefined style which installs commas `\texttt{,}' as decimal separators and \end{key} \begin{key}{/pgf/number format/skip 0.=\marg{boolean} (initially false)} - Configures whether numbers like $0.1$ shall be typeset as $.1$ or not. + Configures whether numbers like $0.1$ shall be typeset as $.1$ or + not. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd, fixed, @@ -352,7 +590,8 @@ A predefined style which installs commas `\texttt{,}' as decimal separators and \end{key} \begin{key}{/pgf/number format/showpos=\marg{boolean} (initially false)} - Enables or disables display of plus signs for non-negative numbers. + Enables or disables the display of plus signs for non-negative + numbers. \begin{codeexample}[] \pgfkeys{/pgf/number format/showpos} \pgfmathprintnumber{12.345} @@ -370,11 +609,11 @@ A predefined style which installs commas `\texttt{,}' as decimal separators and \end{key} \begin{stylekey}{/pgf/number format/print sign=\marg{boolean}} - A style which is simply an alias for |showpos=|\marg{boolean}. + A style which is simply an alias for |showpos=|\marg{boolean}. \end{stylekey} \begin{key}{/pgf/number format/sci 10e} -Uses $m \cdot 10^e$ for any number displayed in scientific format. + Uses $m \cdot 10^e$ for any number displayed in scientific format. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,sci,sci 10e} @@ -383,11 +622,12 @@ Uses $m \cdot 10^e$ for any number displayed in scientific format. \end{key} \begin{key}{/pgf/number format/sci 10\textasciicircum e} -The same as `|sci 10e|'. + The same as `|sci 10e|'. \end{key} \begin{key}{/pgf/number format/sci e} -Uses the `$1e{+}0$' format which is generated by common scientific tools for any number displayed in scientific format. + Uses the `$1e{+}0$' format which is generated by common scientific + tools for any number displayed in scientific format. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,sci,sci e} @@ -396,7 +636,7 @@ Uses the `$1e{+}0$' format which is generated by common scientific tools for any \end{key} \begin{key}{/pgf/number format/sci E} -The same with an uppercase `\texttt{E}'. + The same with an uppercase `\texttt{E}'. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,sci,sci E} @@ -405,7 +645,8 @@ The same with an uppercase `\texttt{E}'. \end{key} \begin{key}{/pgf/number format/sci subscript} -Typesets the exponent as subscript for any number displayed in scientific format. This style requires very few space. + Typesets the exponent as subscript for any number displayed in + scientific format. This style requires very little space. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,sci,sci subscript} @@ -414,7 +655,8 @@ Typesets the exponent as subscript for any number displayed in scientific format \end{key} \begin{key}{/pgf/number format/sci superscript} -Typesets the exponent as superscript for any number displayed in scientific format. This style requires very few space. + Typesets the exponent as superscript for any number displayed in + scientific format. This style requires very little space. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd,sci,sci superscript} @@ -423,13 +665,17 @@ Typesets the exponent as superscript for any number displayed in scientific form \end{key} \begin{key}{/pgf/number format/sci generic=\marg{keys}} -Allows to define an own number style for the scientific format. Here, \meta{keys} can be one of the following choices (omit the long key prefix): + Allows to define an own number style for the scientific + format. Here, \meta{keys} can be one of the following choices (omit + the long key prefix): \begin{key}{/pgf/number format/sci generic/mantissa sep=\marg{text} (initially empty)} - Provides the separator between a mantissa and the exponent. It might be |\cdot|, for example, + Provides the separator between a mantissa and the exponent. It might + be |\cdot|, for example, \end{key} \begin{key}{/pgf/number format/sci generic/exponent=\marg{text} (initially empty)} - Provides text to format the exponent. The actual exponent is available as argument |#1| (see below). + Provides text to format the exponent. The actual exponent is + available as argument |#1| (see below). \end{key} \begin{codeexample}[] @@ -440,33 +686,50 @@ Allows to define an own number style for the scientific format. Here, \meta{keys \pgfmathprintnumber{12.345}; \pgfmathprintnumber{0.00012345} \end{codeexample} - The \meta{keys} can depend on three parameters, namely on |#1| which is the exponent, |#2| containing the flags entity of the floating point number and |#3| is the (unprocessed and unformatted) mantissa. + The \meta{keys} can depend on three parameters, namely on |#1| which + is the exponent, |#2| containing the flags entity of the floating + point number and |#3| is the (unprocessed and unformatted) + mantissa. - Note that |sci generic| is \emph{not} suitable to modify the appearance of fixed point numbers, nor can it be used to format the mantissa (which is typeset like fixed point numbers). Use |dec sep|, |1000 sep| and |print sign| to customize the mantissa. + Note that |sci generic| is \emph{not} suitable to modify the + appearance of fixed point numbers, nor can it be used to format the + mantissa (which is typeset like fixed point numbers). Use |dec sep|, + |1000 sep| and |print sign| to customize the mantissa. \end{key} -\begin{key}{/pgf/number format/@dec sep mark=\marg{text}} - Will be placed right before the place where a decimal separator belongs to. However, \marg{text} will be inserted even if there is no decimal separator. It is intended as place-holder for auxiliary routines to find alignment positions. +\begin{key}{/pgf/number format/\protect\atmarktext dec sep mark=\marg{text}} + Will be placed right before the place where a decimal separator + belongs to. However, \marg{text} will be inserted even if there is + no decimal separator. It is intended as place-holder for auxiliary + routines to find alignment positions. - This key should never be used to change the decimal separator! Use |dec sep| instead. + This key should never be used to change the decimal separator! + Use |dec sep| instead. \end{key} -\begin{key}{/pgf/number format/@sci exponent mark=\marg{text}} - Will be placed right before exponents in scientific notation. It is intended as place-holder for auxiliary routines to find alignment positions. +\begin{key}{/pgf/number format/\protect\atmarktext sci exponent mark=\marg{text}} + Will be placed right before exponents in scientific notation. It is + intended as place-holder for auxiliary routines to find alignment + positions. - This key should never be used to change the exponent! + This key should never be used to change the exponent! \end{key} \begin{key}{/pgf/number format/assume math mode=\marg{boolean} (default true)} - Set this to |true| if you don't want any checks for math mode. The initial setting checks whether math mode is active using |\pgfutilensuremath| for each final number. + Set this to |true| if you don't want any checks for math mode. The + initial setting checks whether math mode is active using + |\pgfutilensuremath| for each final number. - Use |assume math mode=true| if you know that math mode is active. In that case, the final number is typeset as-is, no further checking is performed. + Use |assume math mode=true| if you know that math mode is active. In + that case, the final number is typeset as-is, no further checking is + performed. \end{key} \begin{stylekey}{/pgf/number format/verbatim} - A style which configures the number printer to produce verbatim text output, i.e.\ it doesn't contain \TeX\ macros. + A style which configures the number printer to produce verbatim text + output, i.\,e., it doesn't contain \TeX\ macros. \begin{codeexample}[] \pgfkeys{ /pgf/fpu, @@ -478,9 +741,14 @@ Allows to define an own number style for the scientific format. Here, \meta{keys \pgfmathparse{exp(15)} \pgfmathprintnumber{\pgfmathresult} \end{codeexample} - The style resets |1000 sep|, |dec sep|, |print sign|, |skip 0.| and sets |assume math mode|. Furthermore, it installs a |sci generic| format for verbatim output of scientific numbers. + The style resets |1000 sep|, |dec sep|, |print sign|, |skip 0.| and + sets |assume math mode|. Furthermore, it installs a |sci generic| + format for verbatim output of scientific numbers. - However, it will still respect |precision|, |fixed zerofill|, |sci zerofill| and the overall styles |fixed|, |sci|, |int detect| (and their variants). It might be useful if you intent to write output files. + However, it will still respect |precision|, |fixed zerofill|, + |sci zerofill| and the overall styles |fixed|, |sci|, |int detect| + (and their variants). It might be useful if you intend to write + output files. \end{stylekey} %-------------------------------------------------- % \subsubsection{Defining own display styles} |