From 085e332b7d151e1968b9319937d35c5117cb1f1a Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Thu, 19 Mar 2020 10:49:09 +0100 Subject: [PATCH] FAQ chapter improved --- docs/faq.rst | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/docs/faq.rst b/docs/faq.rst index 539d60c9..3224b61d 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -1,6 +1,10 @@ FAQ === +.. contents:: Questions: + :local: + + General ------- @@ -22,14 +26,14 @@ Why dimensions depend on units and not vice versa? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Most of the libraries define units in terms of dimensions and this was also an -initial approach for this library. However it turns out that for such a design +initial approach for this library. However, it turns out that for such a design it is hard to provide support for all the required scenarios. The first of them is to support multiple unit systems (like SI, CGS, ...) where each of can have a different base unit for the same dimension. Base quantity of -dimension length in SI has to know that it should use ``m`` to print the unit -symbol to the text output, while the same dimension for CGS should use ``cm``. -Also it helps in conversions among those systems. +dimension length in SI should use ``m`` to print the unit symbol to the text +output, while the same dimension for CGS should use ``cm``. Also, it helps in +conversions among those systems. The second one is to support natural units where more than one dimension can be measured with the same unit (i.e. ``GeV``). Also if someone will decide to @@ -41,4 +45,34 @@ measured in meters. Why do we spell ``metre`` instead of ``meter``? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Well, this is how ISO 80000 defines it (British English spelling by default). +Well, this is how [ISO-80000]_ defines it (British English spelling by default). + + +Text formatting +--------------- + +Why Unicode quantity symbols are used by default instead of ASCII-only characters? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Both C++ and :term:`SI` ([ISO-80000]_) are standardized by the +:abbr:`ISO (International Organization for Standardization)`. :term:`SI` standard +specifies Unicode symbols as the official unit names for some quantities (i.e. ``Ω`` +symbol for the resistance quantity). As **mp-units** library +is being proposed for standardization as a part of the C++ Standard Library we have +to obey the rules and be consistent with ISO specifications. + +.. seealso:: + + We do understand engineering reality and constraints and that is why the library + has the option of :ref:`ASCII-only quantity symbols`. + + +.. rubric:: Footnotes: + +.. [ISO-80000] ISO 80000 or IEC 80000 is an international standard promulgated jointly + by the :abbr:`ISO (International Organization for Standardization)` and the + :abbr:`IEC (International Electrotechnical Commission)`. The standard introduces the + :term:`International System of Quantities`. It is a style guide for the use of + physical quantities and units of measurement, formulas involving them, and their + corresponding units, in scientific and educational documents for worldwide use. + Read more on `Wikipedia `_. \ No newline at end of file