diff options
author | Karl Berry <karl@freefriends.org> | 2011-04-17 22:40:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-04-17 22:40:08 +0000 |
commit | 40e44782519393652e58da7648eab79685783805 (patch) | |
tree | 90169fede512a4b033599b0e393779c7d1e45fe6 /Master/texmf-dist/source/latex/siunitx | |
parent | 28e4833279c49989c8090e430ae116426000128b (diff) |
siunitx (17apr11)
git-svn-id: svn://tug.org/texlive/trunk@22108 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/siunitx')
-rw-r--r-- | Master/texmf-dist/source/latex/siunitx/siunitx.dtx | 302 |
1 files changed, 178 insertions, 124 deletions
diff --git a/Master/texmf-dist/source/latex/siunitx/siunitx.dtx b/Master/texmf-dist/source/latex/siunitx/siunitx.dtx index 640c97b8c57..5db38c5667b 100644 --- a/Master/texmf-dist/source/latex/siunitx/siunitx.dtx +++ b/Master/texmf-dist/source/latex/siunitx/siunitx.dtx @@ -57,6 +57,7 @@ need the packages: - cancel - caption - cleveref + - colortbl - csquotes - datatool - helvet @@ -142,8 +143,10 @@ This work consists of the file siunitx.dtx %<*driver> \documentclass[german,french,english,UKenglish]{l3doc} +\usepackage[table]{xcolor} + \usepackage{amsmath,babel,booktabs,cancel,caption,colortbl,csquotes} -\usepackage{datatool,helvet,multirow,pgfplots,siunitx,xcolor,xtab} +\usepackage{datatool,helvet,multirow,pgfplots,siunitx,xtab} \IfFileExists{xfrac.sty} {\usepackage{xfrac}} {% @@ -158,6 +161,20 @@ This work consists of the file siunitx.dtx \usepackage[final]{listings} \usepackage[osf]{mathpazo} +\crefformat{section}{#2Section~#1#3} +\Crefformat{section}{#2Section~#1#3} +\crefformat{subsection}{#2Section~#1#3} +\Crefformat{subsection}{#2Section~#1#3} +\crefformat{figure}{#2Figure~#1#3} +\Crefformat{figure}{#2Figure~#1#3} +\crefformat{table}{#2Table~#1#3} +\Crefformat{table}{#2Table~#1#3} +\crefrangeformat{table}{#3Tables~#1#4 to~#5#2#6} +\Crefrangeformat{table}{#3Tables~#1#4 to~#5#2#6} +\crefmultiformat{table}{#2Tables~#1#3}{ and~#2#1#3}{, #2#1#3}{, and~#2#1#3} +\Crefmultiformat{table}{#2Tables~#1#3}{ and~#2#1#3}{, #2#1#3}{, and~#2#1#3} + + % Silence annoying fp package messages \FPmessagesfalse \pgfplotsset{compat = newest} @@ -399,7 +416,11 @@ This work consists of the file siunitx.dtx % }^^A %} %\author{^^A -% Joseph Wright\thanks{E-mail: joseph.wright@morningstar2.co.uk}^^A +% Joseph Wright\thanks +% {^^A +% E-mail: \href{mailto:joseph.wright@morningstar2.co.uk} +% {\texttt{joseph.wright@morningstar2.co.uk}}^^A +% }^^A %} %\date{Released \filedate} % @@ -452,7 +473,7 @@ This work consists of the file siunitx.dtx %\changes{v2.0v}{2010/09/26}{Internal changes reflecting \pkg{expl3} % updates} %\changes{v2.0w}{2010/09/29}{Deal with internal function used by -% REV\TeX\ in tables} +% REV\TeX{} in tables} %\changes{v2.0x}{2010/10/05}{Fix bug when detecting single prefixes % and converting prefixes to numbers} %\changes{v2.1a}{2010/11/05}{Ensure that output of list separators is @@ -494,6 +515,16 @@ This work consists of the file siunitx.dtx % contain comparators fixed} %\changes{v2.1p}{2011/04/04}{Poor position of comparators in % numbers fixed} +%\changes{v2.2a}{2011/04/15}{Fix issue with \texttt{*} tokens in +% tabular preambles} +%\changes{v2.2a}{2011/04/15}{Expand macros with arguments correctly +% in tables} +%\changes{v2.2a}{2011/04/16}{Group digits for input containing symbolic +% entries} +%\changes{v2.2a}{2011/04/16}{Insert tokens correctly when last tabular cell +% does not end \cs{\\}} +%\changes{v2.2a}{2011/04/16}{Fix bug with literal units and auto-insertion +% of \num{1} when \opt{per-mode} is \opt{symbol}} % %\begin{abstract} % Physical quantities have both numbers and units, and each physical @@ -528,7 +559,7 @@ This work consists of the file siunitx.dtx % conventions for correctly displaying both numbers and units exist to % ensure that no loss of meaning occurs in printed matter. % -% \pkg{siunitx} aims to provide a unified method for \LaTeX\ users to +% \pkg{siunitx} aims to provide a unified method for \LaTeX{} users to % typeset numbers and units correctly and easily. The design % philosophy of \pkg{siunitx} is to follow the agreed rules by % default, but to allow variation through option settings. In this way, @@ -553,7 +584,7 @@ This work consists of the file siunitx.dtx % zip files. Suitable versions are available in MiK\TeX~2.9 and % \TeX~Live 2010 (updating the relevant packages online may be % necessary). \LaTeX3, and so \pkg{siunitx}, requires the \eTeX\ -% extensions: these are available on all modern \TeX\ systems. +% extensions: these are available on all modern \TeX{} systems. % % Typesetting the documentation requires a number of packages in % addition to those needed to use the package. This is mainly @@ -565,6 +596,7 @@ This work consists of the file siunitx.dtx % \item \pkg{cancel} % \item \pkg{caption} % \item \pkg{cleveref} +% \item \pkg{colortbl} % \item \pkg{csquotes} % \item \pkg{helvet} % \item \pkg{mathpazo} @@ -593,7 +625,8 @@ This work consists of the file siunitx.dtx % \item \cs{tablenum}\oarg{options}\marg{number} %\end{itemize} % plus the \texttt{S} and \texttt{s} column types for decimal -% alignments and units in tables. These macros are designed for +% alignments and units in tabular environments. These user macros and +% column types are designed for % typesetting numbers and units with control of appearance and with % intelligent processing. % @@ -607,7 +640,7 @@ This work consists of the file siunitx.dtx %\end{LaTeXdemo} % % The unit system can interpret units given as text to be used directly -% or as macro-based units. In the later case, different formatting is +% or as macro-based units. In the latter case, different formatting is % possible. %\begin{LaTeXdemo} % \si{kg.m.s^{-1}} \\ @@ -634,7 +667,7 @@ This work consists of the file siunitx.dtx % %\subsection{Loading the package} % -% The package should be loaded in the usual \LaTeXe\ way. +% The package should be loaded in the usual \LaTeXe{} way. %\begin{LaTeXdemo}[code only] % \usepackage{siunitx} %\end{LaTeXdemo} @@ -896,7 +929,7 @@ This work consists of the file siunitx.dtx % within the SI (\cref{tab:unit:physical}, \cite{SI:4.1.T7}). % There are also a set of non-SI units which are used in certain % defined circumstances (\cref{tab:unit:other}), although they are -% not necessarily official sanctioned \cite{SI:4.1.T8}. +% not necessarily officially sanctioned \cite{SI:4.1.T8}. %\begin{table} % \caption{Non-SI units accepted for use with the % International System of Units.} @@ -1207,7 +1240,7 @@ This work consists of the file siunitx.dtx % maintain the alignment of the numerical data % (\cref{tab:S:extras}). If the material could be mistaken for % part of a number, it should be protected by braces. The use of -% \cs{color} in a table cell will also be detected an will override any +% \cs{color} in a table cell will also be detected and will override any % general colour applied by \pkg{siunitx}. %\begin{LaTeXdemo}[code and float] % \begin{table} @@ -1237,7 +1270,7 @@ This work consists of the file siunitx.dtx % the argument of \cs{multicolumn} or % \cs{multirow}.\footnote{Provided by the \pkg{multirow} package} The % \cs{tablenum} function is available to achieve alignment in these -% situations: this is in effect a macro version of the \texttt{S} macro +% situations: this is, in effect, a macro version of the \texttt{S} macro % (\cref{tab:tablenum}). %\begin{LaTeXdemo}[code and float] % \begin{table} @@ -1270,7 +1303,7 @@ This work consists of the file siunitx.dtx % \end{table} %\end{LaTeXdemo} % -% As a complement to the \texttt{S} column, \pkg{siunitx} also provides +% As a complement to the \texttt{S} column type, \pkg{siunitx} also provides % a second column type, \texttt{s}. This is intended for producing % columns of units. This allows both macro-based and explicit units to % be printed easily (\cref{tab:s:demo}). @@ -1295,7 +1328,7 @@ This work consists of the file siunitx.dtx % column cannot validate the input. \emph{Everything} in an \texttt{s} % column is therefore passed to the \cs{si} macro for processing. To % prevent this, you have to use \cs{multicolumn}, as is shown in -% \cref{tab:s:processing}. Notice that the braces do not prevent +% \cref{tab:s:processing}. Notice that braces alone do not prevent % processing and colouring of the cell contents. %\begin{LaTeXdemo}[code and float] % \begin{table} @@ -1314,7 +1347,9 @@ This work consists of the file siunitx.dtx % \end{table} %\end{LaTeXdemo} % -%\section{The key--value control system} +%\section{Comprehensive details of package control options} +% +%\subsection{The key--value control system} % %\DescribeMacro{\sisetup} % The behaviour of the \pkg{siunitx} package is controlled by a @@ -1462,11 +1497,12 @@ This work consists of the file siunitx.dtx % \[ y = \SI{3}{\metre\second\mole} \] %\end{LaTeXdemo} % -%\subsection{Output font families} +%\subsection{Font settings} % % The relationship between font family detected and font family used % for output is not fixed. The font detected by the package in the -% surrounding material does not have to match that used for output. +% surrounding material does not have to match that used for +% output (\cref{tab:opt:font:set}). % %\begin{table} % \centering @@ -1531,8 +1567,8 @@ This work consists of the file siunitx.dtx % option. When no colour is given, printing follows the surrounding % text. In contrast, when a specific colour is given, it is used % irrespective of the surroundings. As there are a number of different -% colour models available, it is left to to user to load \pkg{color} or -% a more powerful colour package. +% colour models available, it is left to user to load \pkg{color} or +% a more powerful colour package such as \pkg{xcolor}. %\begin{LaTeXdemo} % \color{red} % Some text \\ @@ -1669,7 +1705,7 @@ This work consists of the file siunitx.dtx % and off. The option is made available for two reasons. First, if % all of the numbers in a document are to be reproduced \enquote{as % given}, turning off the parser will represent a significant saving in -% processing required. Second, it allows the use of arbitrary \TeX\ +% processing required. Second, it allows the use of arbitrary \TeX{} % code in numbers. If the parser is turned off, the input will be % printed in math mode (requiring \cs{text} to protect any text % in the number). @@ -1914,6 +1950,7 @@ This work consists of the file siunitx.dtx %\end{table} % %\DescribeOption{group-digits} +%\changes{v2.2a}{2011/04/15}{Add missing default for \opt{group-digits} option} %\DescribeOption{group-decimal-digits} %\DescribeOption{group-integer-digits} %\DescribeOption{group-four-digits} @@ -2085,55 +2122,6 @@ This work consists of the file siunitx.dtx % \num[tight-spacing = true]{1 \pm 2i e3} %\end{LaTeXdemo} % -% Lists and ranges of numbers have a small number of specialised -% options, which apply on to these more unusual input forms -% (\cref{tab:opt:num:list}). -% -%\begin{table} -% \centering -% \caption{Output options for lists and ranges of numbers.} -% \label{tab:opt:num:list} -% \begin{tabular}{>{\ttfamily}ll>{\ttfamily}l} -% \toprule -% \multicolumn{1}{l}{Option name} & -% Type & -% \multicolumn{1}{l}{Default} \\ -% \midrule -% list-final-separator & Literal & \verb*= and = \\ -% list-separator & Literal & \verb*=, = \\ -% range-phrase & Literal & \verb*= to = \\ -% \bottomrule -% \end{tabular} -%\end{table} -% -%\DescribeOption{list-final-separator} -%\DescribeOption{list-separator} -% Lists of numbers are printed with a separator between each item, -% which is stored using the \opt{list-separator} option. The -% separator before the last item of a list may be different, and -% is therefore set using the \opt{list-final-separator} option. Any -% spaces needed should be included in the option settings: none are -% added within the code. These two items are printed in text mode. -%\begin{LaTeXdemo} -% \numlist{0.1;0.2;0.3} \\ -% \numlist[list-separator = {; }]{0.1;0.2;0.3} \\ -% \numlist[list-final-separator = {, }]{0.1;0.2;0.3} \\ -% \numlist[ -% list-separator = { and }, -% list-final-separator = { and finally } -% ]{0.1;0.2;0.3} -%\end{LaTeXdemo} -% -%\DescribeOption{range-phrase} -% Ranges of numbers can be given as input. These will have an -% appropriate word or symbol inserted between the two entries: this -% is stored using the \opt{range-phrase} option. The phrase should -% include any necessary spaces: no extra space is added. -%\begin{LaTeXdemo} -% \numrange{5}{100} \\ -% \numrange[range-phrase = --]{5}{100} -%\end{LaTeXdemo} -% %\subsection{Multi-part numbers} % % \pkg{siunitx} recognises the idea of products and quotients in @@ -2209,6 +2197,57 @@ This work consists of the file siunitx.dtx % \num[fraction-function = \tfrac]{1 / 4} %\end{LaTeXdemo} % +%\subsection{Lists and ranges of numbers} +% +% Lists and ranges of numbers have a small number of specialised +% options, which apply to these more unusual input forms +% (\cref{tab:opt:num:list}). +% +%\begin{table} +% \centering +% \caption{Output options for lists and ranges of numbers.} +% \label{tab:opt:num:list} +% \begin{tabular}{>{\ttfamily}ll>{\ttfamily}l} +% \toprule +% \multicolumn{1}{l}{Option name} & +% Type & +% \multicolumn{1}{l}{Default} \\ +% \midrule +% list-final-separator & Literal & \verb*= and = \\ +% list-separator & Literal & \verb*=, = \\ +% range-phrase & Literal & \verb*= to = \\ +% \bottomrule +% \end{tabular} +%\end{table} +% +%\DescribeOption{list-final-separator} +%\DescribeOption{list-separator} +% Lists of numbers are printed with a separator between each item, +% which is stored using the \opt{list-separator} option. The +% separator before the last item of a list may be different, and +% is therefore set using the \opt{list-final-separator} option. Any +% spaces needed should be included in the option settings: none are +% added within the code. These two items are printed in text mode. +%\begin{LaTeXdemo} +% \numlist{0.1;0.2;0.3} \\ +% \numlist[list-separator = {; }]{0.1;0.2;0.3} \\ +% \numlist[list-final-separator = {, }]{0.1;0.2;0.3} \\ +% \numlist[ +% list-separator = { and }, +% list-final-separator = { and finally } +% ]{0.1;0.2;0.3} +%\end{LaTeXdemo} +% +%\DescribeOption{range-phrase} +% Ranges of numbers can be given as input. These will have an +% appropriate word or symbol inserted between the two entries: this +% is stored using the \opt{range-phrase} option. The phrase should +% include any necessary spaces: no extra space is added. +%\begin{LaTeXdemo} +% \numrange{5}{100} \\ +% \numrange[range-phrase = --]{5}{100} +%\end{LaTeXdemo} +% %\subsection{Angles} % % Angle processing provided by the \cs{ang} function has a set of @@ -2575,7 +2614,7 @@ This work consists of the file siunitx.dtx % the units which where provided in version 1 are as follows. %\begin{LaTeXdemo}[code only] % % Astronomy -% \DeclareSIUnit\parse{pc} +% \DeclareSIUnit\parsec{pc} % \DeclareSIUnit\lightyear{ly} % % % Chemical engineering @@ -2654,7 +2693,7 @@ This work consists of the file siunitx.dtx % The separator between each unit is stored using the % \opt{inter-unit-product} option. The standard setting is a thin % space: another common choice is a centred dot. To get the correct -% spacing it is necessary to use "{}\cdot{}" in the later case. +% spacing it is necessary to use "{}\cdot{}" in the latter case. %\begin{LaTeXdemo} % \si{\farad\squared\lumen\candela} \\ % \si[inter-unit-product={}\cdot{}]{\farad\squared\lumen\candela} @@ -2897,15 +2936,15 @@ This work consists of the file siunitx.dtx % %\DescribeOption{list-units} %\DescribeOption{range-units} -% The \opt{list-units} and \opt{range-units} options determines how -% the \cs{SIlist} and\cs{SIrange} function displays units, +% The \opt{list-units} and \opt{range-units} options determine how +% the \cs{SIlist} and \cs{SIrange} functions display units, % respectively. The standard setting for both is \opt{repeat}, where % each number will be printed with a unit. Alternatives are % \opt{brackets} and \opt{single}. Any brackets needed on individual % numbers within a product are controlled by the \opt{brackets-numbers} % option (\emph{i.e}.~they are treated as pure numbers). % These options do not affect the application of brackets for each -% number within the list or range: they only sets those around the +% number within the list or range: they only set those around the % entire group. %\begin{LaTeXdemo} % \SIlist{2;4;6;8}{\tesla} \\ @@ -3127,7 +3166,7 @@ This work consists of the file siunitx.dtx % \end{table} %\end{LaTeXdemo} % The table-printing code will omit any part of a number which has no -% space reserved, placing a warning in the \LaTeX\ log. This means that +% space reserved, placing a warning in the \LaTeX{} log. This means that % uncertainties and exponents will not be printed if no space is % reserved for them. % @@ -3693,7 +3732,7 @@ This work consists of the file siunitx.dtx %\end{LaTeXdemo} % As units are always declared, overwriting any existing definition, % units may safely be created in the configuration file even when also -% included in individual \LaTeX\ document headers. +% included in individual \LaTeX{} document headers. % %\section{Localisation} % @@ -3746,15 +3785,15 @@ This work consists of the file siunitx.dtx %\label{sec:expanding} % % When processing tables, \pkg{siunitx} will expand anything stored -% inside a macro, unless it is long or protected. \LaTeXe\ robust +% inside a macro, unless it is long or protected. \LaTeXe{} robust % commands are also detected and are not expanded % (\cref{tab:xmpl:macro}). Values which would otherwise be expanded -% can be protected by wrapping them in a set of braces. As \TeX\ itself +% can be protected by wrapping them in a set of braces. As \TeX{} itself % will expand the first token in a table cell before \pkg{siunitx} % can act on it, using the \eTeX\ protected mechanism is the % recommended course of action to prevent expansion of macros in % table cells. (As is shown in the table, \TeX's expansion of -% \LaTeXe\ robust commands can lead to unexpected results.) +% \LaTeXe{} robust commands can lead to unexpected results.) %\begin{LaTeXdemo}[code and float] % \begin{table} % \centering @@ -3782,7 +3821,7 @@ This work consists of the file siunitx.dtx % % It is possible to use calculated values in tables. For this to % work, the calculation must take place before attempting to parse -% the number. An added complication is that \TeX\ itself will +% the number. An added complication is that \TeX{} itself will % expand the first macro in a table cell until it finds % something unexpandable. The \eTeX\ protected mechanism can be % used to prevent this; using the \pkg{etoolbox} package provides @@ -3875,7 +3914,7 @@ This work consists of the file siunitx.dtx % A small number of non-Latin symbols are needed by \pkg{siunitx}, % notably \SIUnitSymbolOhm\ and \SIUnitSymbolMicro. The package picks % glyphs for these which are correct in the sense that they are upright -% (not italic) symbols, and match the \LaTeX\ standard Computer Modern +% (not italic) symbols, and match the \LaTeX{} standard Computer Modern % font. However, this does not make them the best choice if other % fonts are in use, which is particularly common when \XeTeX\ is % being used. @@ -3926,7 +3965,7 @@ This work consists of the file siunitx.dtx %\subsection{Maximising performance} % % Both the number and unit parsers require significant effort in -% terms of \TeX\ programming. For input that does not require +% terms of \TeX{} programming. For input that does not require % such processing, the maximum performance for \pkg{siunitx} can % therefore be obtained by turning off both systems: %\begin{LaTeXdemo} @@ -4015,10 +4054,11 @@ This work consists of the file siunitx.dtx % % When using the \pkg{array} package \enquote{\texttt{<}} construct % to insert material after an \texttt{S} or \texttt{s} column, the -% spacing will be wrong. This is due to the way that \LaTeX\ constructs +% alignment of the final column may be wrong if the standard tabular row +% terminator |\\| is used. +% This is due to the way that \LaTeX{} constructs % tables at a low level. The incorrect spacing can be avoided by using -% the \TeX\ \cs{cr} primitive to end the table rows instead -% (\cref{tab:cr}). +% the \TeX{} \cs{cr} primitive to end the table rows (\cref{tab:cr}). %\begin{LaTeXdemo}[code and float] % \begin{table} % \caption{Correcting spacing in last \texttt{S} column} @@ -4684,7 +4724,7 @@ This work consists of the file siunitx.dtx % As illustrated, it is usually best to use the \texttt{article} % class and to only load packages which are needed to show the issue. % It is also useful to include a copy of the log file generate by -% \TeX\ when reporting a bug (as the versions of packages can be +% \TeX{} when reporting a bug (as the versions of packages can be % important to solving the issue). % % Feedback can be sent in a range of ways. The development code @@ -4692,14 +4732,14 @@ This work consists of the file siunitx.dtx % \href{http://bitbucket.org/josephwright/siunitx}{BitBucket}, % and the site includes an issue tracker. Adding feedback directly % to the database means that other users can see it, and also -% ensures that it does not get forgotten. E-mailing directly is +% ensures that it does not get forgotten. E-mailing directly % will also definitely get attention: % \href{mailto:joseph.wright@morningstar2.co.uk} % {\texttt{joseph.wright@morningstar2.co.uk}}. I also keep an eye % on various groups, for example % \href{http://groups.google.com/group/comp.text.tex/topics} % {\texttt{comp.text.tex}} and -% \href{http://www.latex-community.org/forum/}{The \LaTeX\ Community}. +% \href{http://www.latex-community.org/forum/}{The \LaTeX{} Community}. % Sometimes I miss posts to these places, so it's useful if you also % e-mail me pointing to the appropriate thread. % @@ -4728,7 +4768,7 @@ This work consists of the file siunitx.dtx % % The usual preliminaries. % \begin{macrocode} -\ProvidesExplPackage {siunitx} {2011/04/13} {2.2} +\ProvidesExplPackage {siunitx} {2011/04/16} {2.2a} {A comprehensive (SI) units package} % \end{macrocode} % @@ -5192,7 +5232,7 @@ This work consists of the file siunitx.dtx %\begin{macro}[aux]{\siunitx_cs_if_tl_aux:w} % This is basically a re-hash of stuff from \pkg{expl3}, but to test for % short macros only. The second test (with the \cs{cs_to_str:N} part) -% is checking for \LaTeXe\ robust commands. +% is checking for \LaTeXe{} robust commands. % \begin{macrocode} \group_begin: \tl_map_inline:nn { \M \A \C \R \O } @@ -6121,8 +6161,7 @@ This work consists of the file siunitx.dtx \tl_set:Nn \l_siunitx_number_next_tl {##2} \tl_set:Nn \l_siunitx_number_multi_tl { product } } - \exp_last_unbraced:NV \siunitx_tmp:w \l_siunitx_number_arg_tl - \q_stop + \exp_after:wN \siunitx_tmp:w \l_siunitx_number_arg_tl \q_stop \tl_if_empty:NT \l_siunitx_number_arg_tl { \siunitx_error:n { starting-product-token } } \tl_if_empty:NT \l_siunitx_number_next_tl @@ -6152,8 +6191,7 @@ This work consists of the file siunitx.dtx \tl_set:Nn \l_siunitx_number_denominator_tl {##2} \tl_set:Nn \l_siunitx_number_multi_tl { quotient } } - \exp_last_unbraced:NV \siunitx_tmp:w \l_siunitx_number_arg_tl - \q_stop + \exp_after:wN \siunitx_tmp:w \l_siunitx_number_arg_tl \q_stop \tl_if_empty:NT \l_siunitx_number_numerator_tl { \siunitx_error:n { starting-quotient-token } } \tl_if_empty:NT \l_siunitx_number_denominator_tl @@ -6487,8 +6525,7 @@ This work consists of the file siunitx.dtx % simple and hopefully efficient. % \begin{macrocode} \cs_new_protected:Npn \siunitx_number_in_parse_relation:N #1 { - \exp_last_unbraced:NV \siunitx_number_in_parse_relation:w - #1 \q_stop #1 + \exp_after:wN \siunitx_number_in_parse_relation:w #1 \q_stop #1 } \cs_new_protected:Npn \siunitx_number_in_parse_relation:w #1#2 \q_stop #3 { @@ -7683,7 +7720,7 @@ This work consists of the file siunitx.dtx \tl_set:Nn \l_siunitx_tmpb_tl \l_siunitx_tmpb_tl \tl_set:Nx \l_siunitx_tmpa_tl { \l_siunitx_tmpa_tl { \l_siunitx_tmpb_tl } } - \exp_last_unbraced:NV \siunitx_number_process_fixed_aux_i:nnn + \exp_after:wN \siunitx_number_process_fixed_aux_i:nnn \l_siunitx_tmpa_tl } } @@ -8157,7 +8194,7 @@ This work consists of the file siunitx.dtx \l_siunitx_round_decimal_out_tl } { - \exp_last_unbraced:NV \siunitx_number_process_round_tidy_aux:w + \exp_after:wN \siunitx_number_process_round_tidy_aux:w \l_siunitx_process_round_min_tl . . \q_stop {#1} } } @@ -8232,7 +8269,7 @@ This work consists of the file siunitx.dtx \tl_set:Nn \l_siunitx_tmpb_tl \l_siunitx_tmpb_tl \tl_set:Nx \l_siunitx_tmpa_tl { \l_siunitx_tmpa_tl { \l_siunitx_tmpb_tl } } - \exp_last_unbraced:NV \siunitx_number_process_scientific_aux_i:nnn + \exp_after:wN \siunitx_number_process_scientific_aux_i:nnn \l_siunitx_tmpa_tl } } @@ -8278,7 +8315,7 @@ This work consists of the file siunitx.dtx { \l_siunitx_tmpa_tl } { \int_use:N \l_siunitx_tmp_int #2 } { #3 + 1 } } - \exp_last_unbraced:NV \siunitx_number_process_scientific_aux_ii:nnn + \exp_after:wN \siunitx_number_process_scientific_aux_ii:nnn \l_siunitx_tmpa_tl } % \end{macrocode} @@ -8731,6 +8768,7 @@ This work consists of the file siunitx.dtx group-decimal-digits = #1, group-integer-digits = #1 }, + group-digits .default:n = true , group-four-digits .bool_set:N = \l_siunitx_group_four_bool, group-integer-digits .bool_set:N = \l_siunitx_group_integer_bool, @@ -9117,13 +9155,9 @@ This work consists of the file siunitx.dtx \cs_new_protected_nopar:Npn \siunitx_number_format_group_aux:nn #1#2 { \prop_if_in:NnT \l_siunitx_number_in_prop { #1 - #2 } { - \prop_if_in:NnTF \l_siunitx_number_in_prop { symbolic } + \bool_if:cTF { l_siunitx_group_ #2 _bool } + { \siunitx_number_format_group_four:nn {#1} {#2} } { \siunitx_number_format_copy:n { #1 - #2 } } - { - \bool_if:cTF { l_siunitx_group_ #2 _bool } - { \siunitx_number_format_group_four:nn {#1} {#2} } - { \siunitx_number_format_copy:n { #1 - #2 } } - } } } % \end{macrocode} @@ -9144,8 +9178,7 @@ This work consists of the file siunitx.dtx \bool_if:NTF \l_siunitx_group_four_bool { \siunitx_number_format_group_four_aux:nn {#1} {#2} } { - \exp_last_unbraced:NV - \siunitx_number_format_group_four_aux:NNNNNNw + \exp_after:wN \siunitx_number_format_group_four_aux:NNNNNNw \l_siunitx_tmpa_tl \q_no_value \q_no_value \q_no_value \q_no_value \q_no_value \q_stop { \siunitx_number_format_copy:n {#1 - #2} } @@ -9175,8 +9208,7 @@ This work consists of the file siunitx.dtx \cs_new_protected_nopar:Npn \siunitx_number_format_group_decimal: { \tl_if_empty:NF \l_siunitx_tmpa_tl { - \exp_last_unbraced:NV - \siunitx_number_format_group_decimal_aux:NNNN + \exp_after:wN \siunitx_number_format_group_decimal_aux:NNNN \l_siunitx_tmpa_tl { } { } { } } } @@ -10853,7 +10885,7 @@ This work consists of the file siunitx.dtx %\begin{macro}{\siunitx_protect_symbols:N} % There are a few unit names which may be defined by other parts of % \LaTeX. They need to be unexpandable, as in an \texttt{S} column -% \TeX\ will look for \cs{omit} \emph{before} starting the internal +% \TeX{} will look for \cs{omit} \emph{before} starting the internal % version of \cs{si} and doing a redefinition. The same is true % for the \cs{color} function, which may well be the first thing in % a table cell. The same is true for \cs{array@row@rst}, from REV\TeX, @@ -10920,6 +10952,7 @@ This work consists of the file siunitx.dtx { \siunitx_unit_if_literal:nTF {#1} { + \tl_clear:N \l_siunitx_per_mode_tl \bool_if:NTF \l_siunitx_unit_forbid_literal_bool { \msg_error:nnx { siunitx } { literal-unit } @@ -11769,8 +11802,7 @@ This work consists of the file siunitx.dtx { \cs_set:Npn \siunitx_tmp:w ##1 - ##2 \q_stop { \tl_set:Nn \l_siunitx_tmpa_tl {##2} } - \exp_last_unbraced:NV \siunitx_tmp:w - \l_siunitx_tmpa_tl \q_stop + \exp_after:wN \siunitx_tmp:w \l_siunitx_tmpa_tl \q_stop } { \tl_put_left:Nn \l_siunitx_tmpa_tl { - } } } @@ -12569,7 +12601,7 @@ This work consists of the file siunitx.dtx { > { \bcolumn #1 \@nil } #1 < { \ecolumn } } \cs_set:Npn \siunitx_tmp:w #1 \NC@do S #2 \q_stop { \toks_set:Nn \NC@list { #1 #2 } } - \exp_last_unbraced:NV \siunitx_tmp:w \NC@list \q_stop + \exp_after:wN \siunitx_tmp:w \NC@list \q_stop \cs_gundefine:N \NC@find@S } { } @@ -12577,6 +12609,7 @@ This work consists of the file siunitx.dtx % \end{macrocode} % %\begin{macro}{\siunitx_table_rewrite_create:N} +%\begin{macro}[aux]{\siunitx_table_rewrite_create_aux:w} % The \texttt{s} and \texttt{S} column types are both created using % the \pkg{array} package, but with the internal macros redefined % to work with optional argument. First, there is a need to do a @@ -12586,10 +12619,11 @@ This work consists of the file siunitx.dtx % to the appropriate macro. % \begin{macrocode} \cs_new_protected_nopar:Npn \siunitx_table_rewrite_create:N #1 { - \tl_set:Nn \l_siunitx_tmpa_tl { \NC@do #1 } - \tl_put_right:NV \l_siunitx_tmpa_tl \NC@list \newcolumntype {#1} { } - \toks_set:NV \NC@list \l_siunitx_tmpa_tl + \cs_set_protected_nopar:Npn + \siunitx_table_rewrite_create_aux:w \NC@do ##1##2 \NC@do #1 + { \NC@list { \NC@do ##1 \NC@do #1 ##2 } } + \exp_after:wN \siunitx_table_rewrite_create_aux:w \toks_use:N \NC@list \exp_args:NNc \renewcommand * { NC@rewrite@ #1 } [1] [ ] { \toks_put_right:Nn \@temptokena @@ -12601,10 +12635,12 @@ This work consists of the file siunitx.dtx \NC@find } } +\cs_new_protected_nopar:Npn \siunitx_table_rewrite_create_aux:w { } \AtBeginDocument { \siunitx_table_rewrite_create:N s } \AtBeginDocument { \siunitx_table_rewrite_create:N S } % \end{macrocode} %\end{macro} +%\end{macro} % %\subsection{Collecting tokens in tables} % @@ -12719,8 +12755,8 @@ This work consists of the file siunitx.dtx { \tl_use:N \l_siunitx_table_collect_pre_tl \tl_clear:N \l_siunitx_table_collect_pre_tl - \cs_set_nopar:Npx \siunitx_table_collect_next: - { \exp_not:N \siunitx_table_collect_get: \exp_not:V #1 } + \cs_set_nopar:Npn \siunitx_table_collect_next: + { \exp_after:wN \siunitx_table_collect_get: #1 } } { \bool_if:NTF \l_siunitx_table_collect_pre_bool @@ -12867,6 +12903,17 @@ This work consists of the file siunitx.dtx % \end{macrocode} %\end{macro} % +%\begin{macro}{\siunitx_table_collect_end:} +% The same concept applies to the \cs{end} macro. +% \begin{macrocode} +\cs_new_protected_nopar:Npn \siunitx_table_collect_end: { + \siunitx_table_print: + \cs_set_eq:NN \siunitx_table_print: \prg_do_nothing: + \end +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\siunitx_table_collect_not_braced:N} %\begin{macro}[aux]{\siunitx_table_collect_not_braced_aux_i:N} %\begin{macro}[aux]{\siunitx_table_collect_not_braced_aux_ii:N} @@ -12889,7 +12936,7 @@ This work consists of the file siunitx.dtx { \cs_set_eq:NN \siunitx_table_collect_next: ##1 } } \tl_map_function:nN - { \cs:w \end \scan_stop: \siunitx_table_print: } + { \cs:w \scan_stop: \siunitx_table_print: } \siunitx_table_collect_not_braced_aux_ii:N \token_if_eq_meaning:NNT \siunitx_table_collect_next: \siunitx_table_collect_get: @@ -12899,7 +12946,14 @@ This work consists of the file siunitx.dtx \cs_set_eq:NN \siunitx_table_collect_next: \siunitx_table_collect_newline: } - { \siunitx_table_collect_token:N #1 } + { + \token_if_eq_meaning:NNTF #1 \end + { + \cs_set_eq:NN \siunitx_table_collect_next: + \siunitx_table_collect_end: + } + { \siunitx_table_collect_token:N #1 } + } } } \cs_new_protected:Npn \siunitx_table_collect_not_braced_aux_ii:N #1 { } @@ -15513,9 +15567,9 @@ This work consists of the file siunitx.dtx %\begin{macro}{\c_siunitx_configuration_ext_tl} % Loading configuration files is made slightly complex by the need % to remove spaces in the file names (none of the files contain any at -% all, so this is easy). Secondly, the \LaTeXe\ \cs{@onefilewithoptions} +% all, so this is easy). Secondly, the \LaTeXe{} \cs{@onefilewithoptions} % function is used for file loading, as \LaTeX3 currently needs the -% \LaTeXe\ category code stack to keep things sane. +% \LaTeXe{} category code stack to keep things sane. % \begin{macrocode} \cs_new_protected:Npn \siunitx_load_configuration:n #1 { \tl_set_rescan:Nnn \l_siunitx_tmpa_tl @@ -15569,7 +15623,7 @@ This work consists of the file siunitx.dtx % \end{macrocode} % % \begin{macrocode} -\ProvidesExplFile {siunitx-version-1.cfg} {2011/04/13} {2.2} +\ProvidesExplFile {siunitx-version-1.cfg} {2011/04/16} {2.2a} {siunitx: Version 1 settings} % \end{macrocode} % @@ -16785,7 +16839,7 @@ This work consists of the file siunitx.dtx % \end{macrocode} % % \begin{macrocode} -\ProvidesExplFile {siunitx-binary.cfg} {2011/04/13} {2.2} +\ProvidesExplFile {siunitx-binary.cfg} {2011/04/16} {2.2a} {siunitx: Binary units} % \end{macrocode} % |