Skip to content

Technical notation

Separate a displayed value from the literal data that a person or program must enter. Prose conventions can change across languages; code, identifiers, and specified file formats retain their syntax.

Quantities and units

Name the quantity and unit. Preserve case in symbols: MB and Mb do not mean the same thing. Storage capacity, memory, and transfer rate are different measurements. Do not assume a decimal prefix means a power of 1024; use the documented capacity convention.

Use a numeral with a unit and keep them together where the layout allows: 12 GB, 3.5 mm, 24 pt. SI unit symbols do not take plural endings or added periods. Use the product's established units when describing its controls, and explain any conversion rather than replacing only the unit label.

Keep precision consistent with the evidence. Converting a rounded measurement does not justify several extra decimal places. Distinguish a measured value, an estimate, a limit, and an example value.

Use full endpoints in a range. In prose, “from 3 to 8” avoids ambiguity. Use through or an explicit note when it matters whether the endpoints are included. A version range is not an ordinary decimal interval: keep the complete version identifiers and their stated comparison rules.

Mathematical symbols

Use the minus sign − (U+2212) for a negative value in mathematical prose and × for multiplication where appropriate. An en dash is punctuation, not the mathematical minus sign. In executable code, preserve the operator required by the language, commonly the ASCII hyphen-minus -.

Identify variables and define units before using a formula. Do not use the letter x as a multiplication sign when it could be a variable. If exact characters matter, show their names or code points as well as their appearance.

Dimension order needs labels when the convention is unclear: width, height, and depth are not interchangeable. A graph's axis name does not prove its role; name the quantity on each axis rather than assuming that every horizontal axis is categorical.

Exact text and addresses

Set commands, filenames, extensions, identifiers, and exact input in code style. Keep the spelling, case, spaces, and punctuation that the operation requires. Sentence punctuation belongs outside the code span unless it is part of the input.

Preserve a URL's path, query, fragment, and required trailing slash. Do not lowercase a whole URL or an email address as a prose cleanup. A domain name and a case-sensitive resource path have different rules. Use descriptive link text instead of making the reader inspect a long address.

Distinguish a filename extension from the name of a format: .otf and OpenType serve different jobs in a sentence. Preserve literal filenames exactly. When a long path must wrap, let the display wrap without inserting spaces, hyphens, or line breaks into the copied value.

Dates and localized display

Use the mechanics rules for fixed English dates and the locale conventions for displayed dates, times, prices, and personal data. An identifier such as a postal code or version number is not a quantity to regroup or round.

Write the time zone when readers coordinate an event across locations. A local time, a UTC timestamp, and a fixed offset are different representations; preserve the event's meaning when changing its display.

Translate explanations around a value without changing the underlying data. For variable messages, let the application's formatter handle numbers, dates, currencies, and plural forms. See messages and variables.