Template:Val/doc
This is a documentation subpage for Template:Val. It may contain usage information, categories and other content that is not part of the original template page. |
Purpose
This template is used to easily present values in scientific notation, including uncertainty and/or units, as prescribed by Wikipedia's Manual of Style. It wraps the entire result in a {{nowrap}} block, so that it never gets broken into separate pieces at the end of a line. (See WP:NBSP for more information on the usage of non-breaking spaces.)
Arguments
There are four ways this template can be used:
{{val|number}}
- for displaying values without uncertainty/significance.{{val|number|uncertainty}}
- for displaying values with uncertainty like so 1234±56.{{val|number|upper uncertainty|lower uncertainty}}
- for displaying values with uncertainty like so 1234+56
−78.{{val|number|(significance)}}
- for displaying values with significance like so 1234(56).
They all take roughly the same arguments
1 | The value (must be a valid number) |
2 | The (upper limit of) uncertainty (must be a valid number) or significance (must be a valid number in parenthesis) |
3 | The lower limit of uncertainty (must be a valid negative number) |
e | The exponent for the power of 10 (optional). This will show up in the result as " × 10e ".
|
u / ul | The units for the number (optional, with/without a link to the page about the unit respectively). |
up / upl | The units per for the units (optional, requires u to be specified, with/without a link to the page about the unit respectively).
|
p | A prefix for the value (such as ∆, ⌀, etc.; optional). |
s | A suffix for the value (such as %, optional).
|
end | Appends something after the main value. For example, {{val|123.24|end=...}} gives 123.24... |
errend | Appends something after the uncertainty. For example, {{val|123.23|end=...|2.34|errend=...}} gives 123.23...±2.34... |
+errend & -errend | Appends something after the positive/negative uncertainties. For example, {{val|123.23|end=...|+2.34|+errend=...|-1.23|-errend=...}} gives 123.23...+2.34... −1.23... |
nocategory | If set to any value, errors in the use of this template will not cause the page to be added to the Pages with incorrect formatting templates use category. This is useful for documentation and test pages that do not need to be fixed. |
See {{val/test}} for a list of examples of the correct output of {{val}} and the errors it may return when incorrectly used.
Errors
There is strict checking on the validity of arguments; any incorrect use will result in an error, which is displayed using {{FormattingError}}. Pages that contain incorrect use of this template will show up on Category:Pages with incorrect formatting templates use.
Format convention
As mentioned before, {{val}} should produce formatting compliant with Wikipedia's Manual of Style. It currently produces formatting compliant with the U.S. Government Printing Office Style Manual, in rules 12.9e and 12.14, which requires that the decimal separator be a full stop; i.e. “decimal point” (.), requires comma-delimiting to the left of the decimal point for numbers with four or more digits to the left (values of 1000 or more), and also requires space-delimiting to the right of the decimal point for numbers containing five or more digits to the right (e.g., 0.12345 and 5.12345 and 125.12345).
Note that if {{val}} is used on numbers simultaneously comprising four or more digits to the left of the decimal point and five or more digits to the right, the resultant expression will delimited with commas left and spaces (actually non-selectable, non-breaking, narrow gaps) right (see below).
Examples
{{val|1234567890}}
→ 1234567890 {{val|1.23456789}}
→ 1.23456789 Template:Xpdop3c Uncertainty/significance {{val|1.234|0.005}}
→ 1.234±0.005 {{val|1.234|+0.005|-0.006}}
→ 1.234+0.005
−0.006{{val|1.234|(5)}}
→ 1.234(5) Exponents/units {{val|1.234|e=5|u=m}}
→ 1.234×105 m {{val|1.234|e=5|u=m2}}
→ 1.234×105 m2 {{val|1.234|e=5|ul=m}}
→ 1.234×105 m {{val|1.234|0.056|e=7}}
→ (1.234±0.056)×107 {{val|1.23456|+0.00007|-0.00008|e=-9|ul=m/s}}
→ 1.23456+0.00007
−0.00008×10−9 m/s{{val|1.234|0.056|e=7|ul=psi}}
→ (1.234±0.056)×107 psi {{val|123.4|ul=USgal}}
→ 123.4 US gal {{val|12.34|ul=mpgimp}}
→ 12.34 mpg‑imp Prefix/suffix {{val|p=Δ |12.34|s=%}}
→ Δ 12.34%
Performance impact
For most uses, in the text of articles, Template:Val will not restrict performance, but when used inside the wikitext markup of large templates, there are some restrictions. When displaying integer amounts, Template:Val has an internal expansion depth of 15 levels, but for numbers with decimal portions, it uses 22 levels, or more.
How to add units
While editing and you discover you needed to modify the way val handles units, this should take only a few minutes. You need not be a template programer to edit val's behavioral datum. You may add units, change a unit's link, or add the same unit but having a different markup.
- Edit {{val/unitswithlink}} and edit {{val/units}} in either order. The unit is required to have a link per MoS Year numbering systems. Never remove units someone else has added. (Some groups of editors might have agreed to use the so-called unit "year" for good reasons.) Any changes you make could effect many articles at once.
- Show changes. In this editing case, more than anywhere else, you must pay special attention to differences you made in this editing case. Before saving the page you must activate Show Changes to compared versions (to do a "diff") to ensure your edit has not made inadvertent changes. An accident would have an immediate ill-effect on many articles at once.
- Verify the change in any sandbox. Make sure it could have a link (parameter ul).
- Add the same changes to {{val/unitswithlink/test}}. This list may be referenced by MOS:ERA as "the current list" for val.
Steps 2 and 3 take the place of what normal template programmers have setup for testing. Normally any template change involves a routine testing step, which is always done. Testing follows the instructions contained in the edit and create links at the bottom of the template page. (Eventually you will find Wikipedia:Template_test_cases. If you do this with {{val/unitswithlink}}, you'll find most of the stuff is already filled out.)
Note that sorting and grouping of the data you are editing do not matter. The whole file becomes an instant blob of data for the template.
See also
- {{Valid}} : number validity checking (for parameters 1, 2, 3, e : value, and uncertainties, base-10 exponent)
- {{FormattingError}} : for reporting inconsistent parameters
- {{Val/delimitnum}} : for formatting a decimal number with delimiters between groups of digits
- {{Su}} : for formatting exponents, or two-values incertainty one below the other (monospaced : currently not printable to PDF)
- Template:T1 : for positive <sup> and negative <sub>
- {{Val/units}} : for formatting unit names (contents of parameters u or up)
- {{Val/unitswithlink}} : for formatting unit names with links (contents of parameters ul or upl)