Template:In5/doc
{{#ifeq:doc |doc
|
{{#ifeq:show |show
| {{ {{#invoke:Namespace detect|main}}
| type = notice
| image = File:Edit-copy green.svg
| imageright =
| class =
| style = margin-bottom:1.0em;
| textstyle =
| text = This is a documentation subpage for Template:In5.
It contains usage information, categories and other content that is not part of the original {{#if: |{{{text2}}} |{{#if: |{{{text1}}} |{{#ifeq:Template |User |template template page |{{#if:Template |template page|article}}}}}}}}.
| small =
| smallimage =
| smallimageright =
| smalltext =
| subst =
| date =
| name =
}}
}}{{#if: | | {{#ifexist:Template:In5 | [[Category:{{#switch:Template |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]] | }} }} | }}
{{#invoke:Lua banner|main}}
The indenter Template:in5 indents text by 5 spaces or
the count specified by
parameter 1 (range: 1 to 50 spaces).
- Usage: {{{{#if:in5
| in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} {{#invoke:in5|in5|1=9}} <--indents by 5 spaces
- Usage: {{{{#if:in5
| in5 | tlp|... }}{{#ifeq:8|8| |8 }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} {{#invoke:in5|in5|1=7}} <--indents by 8 spaces
- Usage: {{{{#if:in5
| in5 | tlp|... }}{{#ifeq:47|47| |47 }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} {{#invoke:in5|in5|1=}} <--indents by 47
Spaces outside the double braces will add an extra space on either
side,
such as the 12 spaces inserted by: " {{{{#if:in5
| in5 | tlp|... }}{{#ifeq:10|10| |10 }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} ".
NOTE: The name "in5" was chosen because other names were debated, such as
the name "in" being redefined as 6 different uses.
Examples
The following are examples showing larger amounts of spacing:
- Example 1: xx{{in5|10}}yy{{in5|10}}zz, produces: xx{{#invoke:in5|in5|1=10}}yy{{#invoke:in5|in5|1=10}}zz
- Example 2: xx{{in5|10}}yy{{in5|15}}zz, produces: xx{{#invoke:in5|in5|1=10}}yy{{#invoke:in5|in5|1=15}}zz
- Example 3: aa{{in5|20}}bb{{in5|20}}cc, produces: aa{{#invoke:in5|in5|1=20}}bb{{#invoke:in5|in5|1=20}}cc
- Example 4: "32.0{{in5|7}}" produces: "32.0{{#invoke:in5|in5|1=7}}"
The example 4 shows the ability to put trailing spaces, such as spaces after a number in a wikitable column (coded as: | 32.0{{{{#if:in5 | in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} ). Typical numbers (with "align=right"), in a table column, often appear crowded at the right-hand side, so appending "{{{{#if:in5 | in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}}" can improve readability, in tables with lines between columns.
Universal template
This Template:in5 is intended as a universal template, with the same name on all Wikipedia sites. The name "in5" with the digit "5" is unlikely to conflict with other-language Wikipedias. Care must be taken not to name a universal template with a name that would be an awkward or peculiar word in the other languages. However, in some cases, a universal template might need a different name in a few conflicting languages.
Comparison with Template:spaces
There are other templates that insert spaces, although none had allowed 50 spaces. For example, the Template:spaces has had a limit of about 15 spaces (during 2009-2010):
Example of {{spaces|10}} and... with {{spaces|14}} with {{spaces|15}} with {{spaces|25}} |
rep| |10}}yy xx{{#invoke:String|rep| |14}}yy xx{{#invoke:String|rep| |15}}yy xx{{#invoke:String|rep| |25}}yy |
Example of {{in5|10}} and... with {{in5|14}} with {{in5|15}} with {{in5|25}} with {{in5|45}} |
in5|1=10}}yy xx{{#invoke:in5|in5|1=14}}yy xx{{#invoke:in5|in5|1=15}}yy xx{{#invoke:in5|in5|1=25}}yy xx{{#invoke:in5|in5|1=45}}yy |
Again, using {{{{#if:in5 | in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} reliably allows up to 50 spaces at a time.
Comparison with letter-spacing
To insert spacing between each consecutive letter pair of any text, then span style="letter-spacing:value unit" can be used. For example, with <span style="letter-spacing:1.2em">, spanning the text "example", it would look like: "example". The spacing value may express any number from 0 on; also fractions like .45 are possible, and the unit may be "em" or any standard measurement unit (pt, px, cm, mm, in).
Performance
Template {in5} generates a mix of and spaces to avoid the space compression done by the MediaWiki parser. Each   is stored inside the formatted page (such as seen by the browser option: <View><Source>). The output is optimized to be the shortest possible markup language for spaces, in a variety of different browsers.
Typically, {in5} runs much faster than Template:spaces, generating 1/3 the markup per use (as 72% less text, over 50 fewer characters each time). Also, {in5} allows 50 spaces, whereas {spaces} has been limited to 15 spaces during 2009-2010.
See also
- Module:In5 - the Lua module this template is based on
- Template:indent - forces newline break before indenting