summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
diff options
context:
space:
mode:
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.tex412
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}