Template:Varserif

From Wikiversity
Jump to navigation Jump to search

{{{1}}}

Template documentation[view] [edit] [history] [purge]

Usage[edit source]

This template is to help facilitate the displaying of variable names (in mathematics, computer source code, etc.) with the semantically correct <var>...</var>, which also renders the variable in italics, as is customary, and to do so in a serif font. This is specifically for the use of the characters "I" (upper-case i) and "l" (lower-case L), which in many sans-serif fonts can be difficult to distinguish. The template also very slightly adjusts the font size of the enclosed variable, to account for typical difference in x-height between non-fancy serif (e.g., Times and Times New Roman) and sans-serif (e.g. Arial and Helvetica) typefaces. The template should not be used generally, but only for "I" and "l", and perhaps other cases where a known visual ambiguity can be shown to exist in common sans-serif fonts for readers without acute vision. It is recommended to use {{var|1}} rather than {{varserif|1}} for "1" (numeral one), as it is usually more clearly distinguishable from "I" and "l" in sans-serif than serif fonts.

{{Varserif}} need not be used for variables that simply contain "I" or "l", only for cases in which readers are likely to be unable to distinguish them visually.

The {{varserif}} method is preferred to simply italicizing and using inline style to specify the font, for accessibility, content/presentation separation, semantic Web, and metadata reasons; XHTML's <var> element has semantic meaning, while simple italicization does not.

Because the font styling in the template is done entirely with CSS, it has no effect at all upon content semantics, nor does it change the output for users of screen reader software.

Example:

{{varserif|I}}

outputs

<var style="font-family: serif; font-size: 118%;">I</var>

which renders as:

I
Comparisons
{{var|I}} = I
{{var|l}} = l
{{var|1}} = 1
{{varserif|I}} = I
{{varserif|l}} = l
{{varserif|1}} = 1

Please note that {{varserif}} is not a panacea – it's treatment of the numeral "1" is easily mistaken for the letter "l" (lower-case "L") in many serif fonts.

Recommended usage
{{varserif|I}} = I
{{varserif|l}} = l
{{var|1}} = 1
{{var|variable}} for any other variable

See also[edit source]

  • {{strong}} – for semantically indicating strong emphasis instead of simple typographical boldfacing
  • {{strongbad}} – same as {{strong}} but red like this: Never use {{strongbad}} in articles.
  • {{stronggood}} – same as {{strongbad}} but green like this: Only use {{stronggood}} on non-article pages.
  • {{em}} – similar template for semantically indicating mild emphasis instead of simple typographical italicization
  • {{var}} – same as {{varserif}} use for all variables other than I (upper-case i) and l (lower-case L), for which use {{varserif}}
  • {{varserif}} – same as {{var}} but uses serif font, especially for distinguishing between I (upper-case i) and l (lower-case L) as variables
  • {{wikivar}} – for displaying wikicode variables and magicwords as they would appear in source code, e.g. {{PAGENAME}}, {{DEFAULTSORT:Lastname, Firstname}}
  • {{para}} – for displaying wiki template parameters (|title=) or parameters and values (|year=2008)
  • {{tlx}} and related – for displaying entire templates (with or without parameters and values) as code
  • {{tag}} – for using HTML elements ("tags") in prose, e.g. source code examples
  • {{code}} – for computer source code ({{var}} and other templates cannot be used inside it; in that case use <code>...</code> as the wrapper, not {{code}})
  • {{syntaxhighlight}} or {{sxhl}} – wrapper for <syntaxhighlight>...</syntaxhighlight>, but will wrap overflowing text
  • {{deprecated code}} or {{dc}} – for deprecated source code in template documentation, articles on HTML specs, etc.
  • {{pre}} – for larger blocks of source code and other pre-formatted text
  • {{bq}} – for indented blocks of content, such as block quotations, examples, poems, etc.
  • {{kbd}} – for indicating user input
  • {{key press}} – for indicating the input of specific keystrokes, e.g. CtrlX
  • {{PlayStation key press}} – for indicating PS-style gamepad key presses, e.g. Template:Pskeypress
  • {{samp}} – for example output