Difference between revisions of "Template:Compact ToC/doc"

From DMARC Wiki
Jump to navigation Jump to search
(Usage: +range links)
m (12 revisions imported)
 
(83 intermediate revisions by 39 users not shown)
Line 1: Line 1:
 +
{{Documentation subpage}}
 
{{Intricate template}}
 
{{Intricate template}}
 +
{{tsh|TOC|Toc}}
 +
<!----Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]])-->
 +
 +
This is a [[H:TOC|Table-of-Contents]] replacement for alphabetical lists within mainspace articles. The template has all features of other TOC templates, such as optional "Top" "0–9" sections, ''and'' allows selecting other sections.
 
__TOC__
 
__TOC__
==Purpose==
 
This Table of Contents replacement for alphabetical lists provides all the features of [[Template:CompactTOC7]], plus ones from [[Template:CompactTOC2]], etc. that #7 doesn't have (the "Top" "0-9" sections, optionally), ''and'' allows you to select what other sections you want. Even the centering is optional, and you can have the "Contents" heading on the top (default) or the side.
 
  
==Usage==
+
== Usage ==
 +
; Features
 +
* The compact format goes sideways: A B C D E F G H I J K L ....
 +
* The centering or numbers are optional: center=yes, num=yes.
 +
* The "Contents" heading can go on top (default) or the side (side=yes).
 +
* Letter ranges can be set (''see below:'' [[#Letters]]): A B C–F G H–K L...
 +
* Some letters can be omitted, instead of 26 separate letters.
 +
* Other headers can be listed in the TOC (''see below:'' [[#Listing custom headers|#Listing custom headers]]).
 +
** Set upper headers before "ABCDEF" by pre1, pre2, ... pre8.
 +
** Set lower headers after "ABCDEF" by custom1, custom2, ... custom8.
 +
* Conceal subheader link-text as "pre1name" over "pre1link" and "custom1name" over "custom1link" etc.
 +
* Other options include: top=yes, seealso=yes, refs=yes, extlinks=yes, etc.
  
'''Typical''':
+
; Typical use : <nowiki>{{Compact ToC |symnum=yes}}</nowiki>
  
<code><nowiki>{{</nowiki>'''CompactTOC8'''|symnum=yes<nowiki>}}</nowiki></code>
+
; Alphabetic (i.e. "A", "B", … "Z") links only : <nowiki>{{Compact ToC}}</nowiki>  
  
 +
; Common applications : <nowiki>{{Compact ToC |center=yes |seealso=yes|refs=yes|further=yes}}</nowiki>
  
'''For alphabetical only''' (no number or symbol entries):
+
===Full blank syntax===
 
+
<pre>
<code><nowiki>{{</nowiki>'''CompactTOC8'''<nowiki>}}</nowiki></code>
+
{{Compact ToC
 +
|side=|center=|right=
 +
|name=
 +
|top=
  
 +
|pre1=|pre1name=|pre1link=
 +
|pre2=|pre2name=|pre2link=
 +
<!--(etc, to:)-->
 +
|pre8=|pre8name=|pre8link=
 +
|prebreak=<!--yes-->
  
'''For maximum number of features and centered placement''' (leave off a parameter or change it to blank or "no" to disable a feature'''
+
|num= |sym= |symnum=
 +
|letters=
  
<code><nowiki>{{</nowiki>'''CompactTOC8'''|name=Contents|side=yes|center=yes|right=|nobreak=yes|top=yes|num=yes|sym=yes|symnum=|custom1=|custom2=|custom3=|seealso=yes|notesfirst=|refs=yes|notes=yes|extlinks=yes<nowiki>}}</nowiki></code>
+
|custom1=|custom1name=|custom1link=
 +
|custom2=|custom2name=|custom2link=
 +
<!--(etc, to:)-->
 +
|custom8=|custom8name=|custom8link=
  
''or''
+
  |nobreak=
<nowiki>{{</nowiki>'''CompactTOC8'''
+
  |seealso= |refs= |notesfirst=|notes= |further= |extlinks=
|name=
+
  |a=|b= <!--(etc, until:)--> |z=
|side=yes
+
}}
|center=yes
+
</pre>
|right=
 
  |nobreak=yes
 
  |top=yes
 
|num=yes
 
|sym=yes
 
|symnum=
 
|custom1=
 
|custom2=
 
|custom3=
 
|seealso=yes
 
|notesfirst=
 
|refs=yes
 
|notes=yes
 
|extlinks=yes
 
  |a=
 
...
 
|z=
 
}}</code>
 
  
 
===Parameters===
 
===Parameters===
*<code>name=</code> &mdash; change the heading to an alternative name instead of "Contents", or hide it completely by entering <code>name=no</code>
+
*<code>name=</code>: change the heading to an alternative name instead of "Contents", or hide it completely by entering <code>name=no</code>
*<code>side=yes</code> &mdash; put the "Contents" heading on the left side with a colon, instead of the top without one
+
*<code>side=yes</code>: put the "Contents" heading on the left side with a colon, instead of the top without one
*<code>center=yes</code> &mdash; center to ToC in the horizontal middle of the page, instead of floated left
+
*<code>center=yes</code>: center to ToC in the horizontal middle of the page, instead of floated left
*<code>right=yes</code> &mdash; align the ToC horizontally to the right of the page (may require <code><nowiki><br style="clear:right;" /></nowiki></code> after it, depending on page layout), instead of floated left (this parameter is mutually exclusive with the "center" option above, and should be used sparingly and with good reason)
+
*<code>right=yes</code>: align the ToC horizontally to the right of the page (may require <code><nowiki><br style="clear:right;" /></nowiki></code> after it, depending on page layout), instead of floated left (this parameter is mutually exclusive with the "center" option above, and should be used sparingly and with good reason)
*<code>nobreak=yes</code> &mdash; no linebreak between the A-B-C-etc. stuff and the See also/References/etc. stuff (note: does not affect the heading; use <code>side=</code> for that)
+
*<code>nobreak=yes</code>: no linebreak between the A-B-C-etc. stuff and the See also/References/etc. stuff (note: does not affect the heading; use <code>side=</code> for that)
*<code>top=yes</code> &mdash; enable the "Top" link; this is only useful if this copy of the ToC is at the bottom (or middle, theoretically) of the page, as a secondary ToC (every rendered page has a hidden <code><nowiki><a name="top" id="top"></a></nowiki></code> above the sitenotice which makes this link work without having to do anything but enable it in the template)
+
*<code>top=yes</code>: enable the "Top" link; this is only useful if this copy of the ToC is a secondary ToC not at the top of the page, e.g. in the middle of a long glossary. (Every rendered page has a hidden <code><nowiki><a name="top" id="top"></a></nowiki></code> above the sitenotice which makes this link work without having to do anything but enable it in the template.)
*<code>sym=yes</code> &mdash; enable the "!$@" link for symbolic entries section
+
*<code>num=yes</code>: enable the "0–9" link for numeric entries section (create a heading of <code><nowiki>==0&amp;ndash;9==</nowiki></code> for the link to work)
*<code>num=yes</code> &mdash; enable the "0–9" link for numeric entries section (note that it is "–", the en-dash, not "-", the hyphen-minus at upper right of most keyboards)
+
*<code>sym=yes</code>: enable the "!$@" link for symbolic entries section
*<code>symnum=yes</code> &mdash; enable the "!–9" link for combined symbolic and numeric entries section (note that it is "–" not "-", and that the preceding two options are mutually exclusive with this one)
+
*<code>symnum=yes</code>: enable the "!–9" link for combined symbolic and numeric entries section (create a heading of <code><nowiki>==!&amp;ndash;9==</nowiki></code> for the link to work)
*<code>custom1</code>, <code>custom2</code> and <code>custom3</code> &mdash; add up to 3 extra "custom" sections at the end of the list (alternatively <code>Sec1, Sec2, Sec3</code>)
+
*<code>letters=no</code>: suppresses the "A", "B", ..., "Z" entries.
*<code>seealso=yes</code> &mdash; enable link to the "See also" section
+
<!-- ------------------------------- Parameters pre1..pre8 -->
*<code>refs=yes</code> &mdash; enable link to the "References" section (note that it is plural)
+
*<code>pre1</code> to <code>pre8</code>: list up to 8 extra section headers ''before'' (pre-list) the "ABCDEF" list. These appear as <nowiki>[[#pre1|pre1]]</nowiki>.
*<code>notes=yes</code> &mdash; enable link to the "Notes" section (note that it is plural)
+
*<code>pre1name</code> to <code>pre8name</code>: modifies the way the pre-list section headers appear: <nowiki>[[#pre1|pre1name]]</nowiki>
*<code>notesfirst=yes</code> &mdash; enable link to the "Notes" section, but placed before "References"; '''''do not''' use with <code>notes</code>'' (note that it is plural)
+
*<code>pre1link</code> to <code>pre8link</code>: modifies the targets of the pre-list headers: <nowiki>[[pre1link|pre1]]</nowiki>.
*<code>extlinks=yes</code> &mdash; enable link to the "External links" section
+
*<code>prebreak=yes</code>: set break-line after all pre-list headers
 
+
<!-- ------------------------------- Parameters custom1..8 -->
====Letters====
+
*<code>custom1</code> to <code>custom8</code>: add up to 8 extra "custom" sections after the "ABCDEF" list. These appear as <nowiki>[[#custom1|custom1]]</nowiki>.
Any letter can be deleted by adding it as a '''lowercase''' blank parameter, or replaced with an unlinked letter by using that letter:
+
*<code>custom1name</code> to <code>custom8name</code>: modifies the way the custom section headers appear: <nowiki>[[#custom1|custom1name]]</nowiki>
{{tlx|CompactTOC8|side&#61;yes|j&#61;|q&#61;}}
+
*<code>custom1link</code> to <code>custom8link</code>: modifies the targets of the custom sections: <nowiki>[[custom1link|custom1]]</nowiki>. Use this only for linking to another page.  ''Use sparingly!'' About the only legitimate use for this is connecting the sub-pages of multi-page articles, like long lists that have been broken up. Do not repurpose the ToC as a makeshift navbox.
{{CompactTOC8|side=yes|j=|q=}}
+
<!-- ------------------------- Parameters seealso, refs...-->
 
+
*<code>seealso=yes</code>: enable link to the "See also" section
{{tlx|CompactTOC8|side&#61;yes|j&#61;J|q&#61;Q}}
+
*<code>notesfirst=yes</code>: enable link to the "Notes" section, but placed before "References"; ''do not use with <code>notes</code>'' (and do observe that it is plural)
 
+
*<code>refs=yes</code>: enable link to the "References" section (observe that it is plural)
{{CompactTOC8|side=yes|j=J|q=Q}}
+
*<code>notes=yes</code>: enable link to the "Notes" section (observe that it is plural)
 
+
*<code>further=yes</code>: enable link to the "Further reading" section
With a little more work, one can create range links:
+
*<code>extlinks=yes</code>: enable link to the "External links" section
 
+
*<code>a=</code> through <code>z=</code>: individually disable particular letters that have no entries. ''Use with caution'' and check regularly to make sure that new entries do not require the removal of these parameters. Can also be used to create range links, e.g. "X-Z". ''(See following section for more detailed documentation of this feature.)''
{{tlx|CompactTOC8|side&#61;yes|x&#61;<nowiki>[[#X-Z|X-Z]]</nowiki>|y&#61;|z&#61;}} (or <code>x=|y=|z=<nowiki>[[#X-Z|X-Z]]</nowiki></code> etc.)
+
*<code>allowtoc=yes</code>: disables the hiding of the automatically-generated table of contents that <code><nowiki>__NOTOC__</nowiki></code> usually hides. (Since this template's purpose is usually to ''replace the existing table of contents'', this functionality is usually only necessary on Wikipedia guideline pages that use this template in examples.)
{{CompactTOC8|side=yes|x=[[#X-Z|X-Z]]|y=|z=}}
 
 
 
====Shorthand====
 
For quicker referencing common usage, <code>short1</code> can be entered as the first parameter (before <code>name=</code>):
 
{{tlx|CompactTOC8|short1}}
 
 
 
{{CompactTOC8|short1}}
 
 
 
  
===Examples===
+
== Letters ==
{{tlx|CompactTOC8|top&#61;yes}}
 
{{CompactTOC8|top=yes}}
 
  
 +
Any letter can be omitted (i.e. when it has no entries in the list) by specifying it as a ''lowercase'' blank parameter, e.g. {{tlx|Compact ToC&#32;|<nowiki>side=yes |j=|q=</nowiki>}}:
 +
{| style="margin-left:3.0em"
 +
| {{Compact ToC |side=yes |j=|q=}}
 +
|}
 +
Or it can be replaced with an unlinked letter by using that letter (in ''uppercase''), e.g. {{tlx|Compact ToC&#32;|<nowiki>side=yes |j=J|q=Q</nowiki>}}:
 +
{| style="margin-left:3.0em"
 +
| {{Compact ToC |side=yes |j=J|q=Q}}
 +
|}
 +
''Note:'' It is often better to create an empty placeholder span (e.g. <code><nowiki><span id="Q"/></nowiki></code>) where the letter's heading would be in the page if it existed, since in most cases it is quite possible that it will come to exist in the future. Using the span-id avoids confusing new users who might not realize the TOC-template has skipped some letters.
  
 +
The letter-assignment feature can also be used to create range links, e.g. {{tlx|Compact ToC&#32;|<nowiki>side=yes |x=[[#X-Z|X-Z]] |y=|z=</nowiki>}}:
 +
{| style="margin-left:3.0em"
 +
| {{Compact ToC |side=yes |x=[[#X-Z|X-Z]] |y=|z=}}
 +
|}
  
{{tlx|CompactTOC8|name&#61;no|center&#61;yes|top&#61;yes|custom1&#61;New section|custom2&#61;Additional section}}
+
The feature can also be used (very tediously) for linking to sub-articles (e.g. [[Wikipedia:Naming conventions (long lists)|long lists]] that have been split into multiple pages):<br/>
{{CompactTOC8|name=no|center=yes|top=yes|seealso=yes|notes=yes|custom1=New section|custom2=Additional section}}
+
{{tlx|Compact ToC&#32;|<nowiki>side=yes |name=[[</nowiki><var>Articlename</var><nowiki>]] |n=[[</nowiki><var>Articlename</var><nowiki> (N–Z)#N|N]] |o=[[</nowiki><var>Articlename</var><nowiki> (N–Z)#O|O]] |... |z=[[</nowiki><var>Articlename</var><nowiki> (N–Z)#Z|Z]]</nowiki>}}
 +
{| style="margin-left:3.0em"
 +
| {{Compact ToC |side=yes |name=[[Articlename]] |n=[[Article (N–Z)#N|N]] |o=[[Articlename (N–Z)#O|O]] |p=[[Articlename (N–Z)#P|P]] |q=[[Articlename (N–Z)#Q|Q]] |r=[[Articlename (N–Z)#R|R]] |s=[[Articlename (N–Z)#S|S]] |t=[[Articlename (N–Z)#T|T]] |u=[[Articlename (N–Z)#U|U]] |v=[[Articlename (N–Z)#V|V]] |w=[[Articlename (N–Z)#W|W]] |x=[[Articlename (N–Z)#X|X]] |y=[[Articlename (N–Z)#Y|Y]] |z=[[Articlename (N–Z)#Z|Z]]}}
 +
|}
 +
{{tlx|Compact ToC&#32;|<nowiki>side=yes |n=[[</nowiki><var>Articlename</var><nowiki> (N–Z)|&nbsp;N–Z {{small|(next page)}}]] |o=|p=|...|z=</nowiki>}}
 +
{| style="margin-left:3.0em"
 +
| {{Compact ToC |side=yes |n=[[Articlename (N–Z)|&nbsp;N–Z {{small|(next page)}}]] |o=|p=|q=|r=|s=|t=|u=|v=|w=|x=|y=|z=}}
 +
|}
  
 +
== Listing custom headers ==
  
 +
The optional parameters ''pre1'', ''pre2'', ...''pre8'' and ''custom1'', ''custom2'', ...''custom8'' allow up to 16 other section headers to be listed before or after the "ABCDEF" list:
  
{{tlx|CompactTOC8|side&#61;yes|sym&#61;yes|num&#61;yes|refs&#61;yes|seealso&#61;yes|sec1&#61;Other}}
+
{{tlx|Compact ToC&#32;|<nowiki>name=no |center=yes |top=yes |custom1=New section |custom2=Additional section |seealso=yes|notes=yes</nowiki>}}
{{CompactTOC8|side=yes|sym=yes|num=yes|refs=yes|Sec1=Other}}
+
{{Compact ToC
 +
|name=no |center=yes |top=yes
 +
|custom1=New section |custom2=Additional section
 +
|seealso=yes |notes=yes
 +
}}
  
 +
{{tlx|Compact ToC&#32;|<nowiki>name=no |center=yes |top=yes |custom1=New section|custom1name=Custom section name |custom2=Outside page|custom2link=Main Page |seealso=yes|notes=yes</nowiki>}}
 +
{{Compact ToC
 +
|name=no |center=yes |top=yes
 +
|custom1=New section |custom1name=Custom section name
 +
|custom2=Outside page |custom2link=Main Page
 +
|seealso=yes |notes=yes
 +
}}
  
 +
Headers can be listed before & after "ABCDEF" using ''pre1'' and ''custom1''&nbsp;:<br/>
 +
{{tlx|Compact ToC&#32;|<nowiki>center=yes |top=yes |pre1=Scope of list |pre2=Abbreviations used |prebreak=yes |custom1=Popular entries |custom2=Excluded entries |notes=yes|seealso=yes</nowiki>}}
 +
{{Compact ToC
 +
|center=yes |top=yes
 +
|pre1=Scope of list |pre2=Abbreviations used |prebreak=yes
 +
|custom1=Popular entries |custom2=Excluded entries
 +
|notes=yes |seealso=yes
 +
}}
  
{{tlx|CompactTOC8|name&#61;Directory|top&#61;no|refs&#61;yes|notes&#61;yes|extlinks&#61;yes}}
+
==="short1"===
{{CompactTOC8|name=Directory|top=no|refs=yes|notes=yes|extlinks=yes}}
+
<code><nowiki>{{Compact ToC |side=yes |center=yes |nobreak=yes |refs=yes}}</nowiki></code> is a common configuration whose parameters may be replaced by the shortcut
 +
: {{tlx|Compact ToC&#32;|short1}}
 +
i.e. by making <code>{{!}}short1</code> the very first parameter.
  
 +
== Examples ==
  
 +
{{tlx|Compact ToC&#32;|<nowiki>top=yes</nowiki>}}
 +
{| style="margin-left:2.0em"
 +
| {{Compact ToC |top=yes}}
 +
|}
  
{{tlx|CompactTOC8|name&#61;no|side&#61;yes|right&#61;yes|symnum&#61;yes|seealso&#61;yes}}
+
{{tlx|Compact ToC&#32;|<nowiki>side=yes |sym=yes|num=yes |custom1=Other |refs=yes|seealso=yes</nowiki>}}
{{CompactTOC8|name=no|side=yes|right=yes|symnum=yes|seealso=yes}}<br style="clear:right;" />
+
{| style="margin-left:2.0em"
 +
| {{Compact ToC |side=yes |sym=yes|num=yes |custom1=Other |refs=yes|seealso=yes}}
 +
|}
  
 +
{{tlx|Compact ToC&#32;|<nowiki>name=Directory |top=no |refs=yes|notes=yes|extlinks=yes</nowiki>}}
 +
{| style="margin-left:2.0em"
 +
|{{Compact ToC |name=Directory |top=no |refs=yes|notes=yes|extlinks=yes}}
 +
|}
  
 +
{{tlx|Compact ToC&#32;|<nowiki>side=yes|right=yes |name=no |symnum=yes |seealso=yes</nowiki>}}
 +
{{Compact ToC |side=yes|right=yes |name=no |symnum=yes |seealso=yes}}<br style="clear:right;"/>
  
<code><nowiki>{{</nowiki>'''CompactTOC8'''<nowiki>|short1|num=yes|sym=yes|seealso=yes|notesfirst=yes|extlinks=yes}}</nowiki></code>
+
{{tlx|Compact ToC&#32;|<nowiki>short1 |num=yes|sym=yes |seealso=yes|notesfirst=yes|further=yes|extlinks=yes</nowiki>}}
{{CompactTOC8|short1|num=yes|sym=yes|seealso=yes|notesfirst=yes|extlinks=yes}}
+
{{Compact ToC |short1 |num=yes|sym=yes |seealso=yes|notesfirst=yes|further=yes|extlinks=yes}}
  
 +
== Limitations ==
 +
Unfortunately, it is not possible to center the contents due to the lack of supporting CSS in [[MediaWiki:Common.css]].
  
<noinclude>[[Category:Template documentation|{{PAGENAME}}]]</noinclude>
+
== See also ==
<includeonly>
+
* [[H:TOC]]
[[Category:TOC templates|{{PAGENAME}}]]
+
* [[Template:Category TOC]]
[[Category:Templates using ParserFunctions|{{PAGENAME}}]]
+
* [[Help:Magic words#Behavior switches]] for more help on:
 +
** <nowiki>__NOTOC__</nowiki>
 +
** <nowiki>__TOC__</nowiki>
  
</includeonly>
+
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
 +
| <!--Categories below this line, please; interwikis at Wikidata-->
 +
[[Category:Exclude in print]]
 +
[[Category:List templates]]
 +
[[Category:Wikipedia table of contents templates]]
 +
}}</includeonly>

Latest revision as of 02:56, 17 July 2015

Template:Mbox {{#invoke:Message box|ombox}}

This is a Table-of-Contents replacement for alphabetical lists within mainspace articles. The template has all features of other TOC templates, such as optional "Top" "0–9" sections, and allows selecting other sections.

Usage

Features
  • The compact format goes sideways: A B C D E F G H I J K L ....
  • The centering or numbers are optional: center=yes, num=yes.
  • The "Contents" heading can go on top (default) or the side (side=yes).
  • Letter ranges can be set (see below: #Letters): A B C–F G H–K L...
  • Some letters can be omitted, instead of 26 separate letters.
  • Other headers can be listed in the TOC (see below: #Listing custom headers).
    • Set upper headers before "ABCDEF" by pre1, pre2, ... pre8.
    • Set lower headers after "ABCDEF" by custom1, custom2, ... custom8.
  • Conceal subheader link-text as "pre1name" over "pre1link" and "custom1name" over "custom1link" etc.
  • Other options include: top=yes, seealso=yes, refs=yes, extlinks=yes, etc.
Typical use 
{{Compact ToC |symnum=yes}}
Alphabetic (i.e. "A", "B", … "Z") links only 
{{Compact ToC}}
Common applications 
{{Compact ToC |center=yes |seealso=yes|refs=yes|further=yes}}

Full blank syntax

{{Compact ToC
 |side=|center=|right=
 |name=
 |top=

 |pre1=|pre1name=|pre1link=
 |pre2=|pre2name=|pre2link=
 <!--(etc, to:)-->
 |pre8=|pre8name=|pre8link=
 |prebreak=<!--yes-->

 |num= |sym= |symnum=
 |letters=

 |custom1=|custom1name=|custom1link=
 |custom2=|custom2name=|custom2link=
 <!--(etc, to:)-->
 |custom8=|custom8name=|custom8link=

 |nobreak=
 |seealso= |refs= |notesfirst=|notes= |further= |extlinks=
 |a=|b= <!--(etc, until:)--> |z=
}}

Parameters

  • name=: change the heading to an alternative name instead of "Contents", or hide it completely by entering name=no
  • side=yes: put the "Contents" heading on the left side with a colon, instead of the top without one
  • center=yes: center to ToC in the horizontal middle of the page, instead of floated left
  • right=yes: align the ToC horizontally to the right of the page (may require <br style="clear:right;" /> after it, depending on page layout), instead of floated left (this parameter is mutually exclusive with the "center" option above, and should be used sparingly and with good reason)
  • nobreak=yes: no linebreak between the A-B-C-etc. stuff and the See also/References/etc. stuff (note: does not affect the heading; use side= for that)
  • top=yes: enable the "Top" link; this is only useful if this copy of the ToC is a secondary ToC not at the top of the page, e.g. in the middle of a long glossary. (Every rendered page has a hidden <a name="top" id="top"></a> above the sitenotice which makes this link work without having to do anything but enable it in the template.)
  • num=yes: enable the "0–9" link for numeric entries section (create a heading of ==0&ndash;9== for the link to work)
  • sym=yes: enable the "!$@" link for symbolic entries section
  • symnum=yes: enable the "!–9" link for combined symbolic and numeric entries section (create a heading of ==!&ndash;9== for the link to work)
  • letters=no: suppresses the "A", "B", ..., "Z" entries.
  • pre1 to pre8: list up to 8 extra section headers before (pre-list) the "ABCDEF" list. These appear as [[#pre1|pre1]].
  • pre1name to pre8name: modifies the way the pre-list section headers appear: [[#pre1|pre1name]]
  • pre1link to pre8link: modifies the targets of the pre-list headers: [[pre1link|pre1]].
  • prebreak=yes: set break-line after all pre-list headers
  • custom1 to custom8: add up to 8 extra "custom" sections after the "ABCDEF" list. These appear as [[#custom1|custom1]].
  • custom1name to custom8name: modifies the way the custom section headers appear: [[#custom1|custom1name]]
  • custom1link to custom8link: modifies the targets of the custom sections: [[custom1link|custom1]]. Use this only for linking to another page. Use sparingly! About the only legitimate use for this is connecting the sub-pages of multi-page articles, like long lists that have been broken up. Do not repurpose the ToC as a makeshift navbox.
  • seealso=yes: enable link to the "See also" section
  • notesfirst=yes: enable link to the "Notes" section, but placed before "References"; do not use with notes (and do observe that it is plural)
  • refs=yes: enable link to the "References" section (observe that it is plural)
  • notes=yes: enable link to the "Notes" section (observe that it is plural)
  • further=yes: enable link to the "Further reading" section
  • extlinks=yes: enable link to the "External links" section
  • a= through z=: individually disable particular letters that have no entries. Use with caution and check regularly to make sure that new entries do not require the removal of these parameters. Can also be used to create range links, e.g. "X-Z". (See following section for more detailed documentation of this feature.)
  • allowtoc=yes: disables the hiding of the automatically-generated table of contents that __NOTOC__ usually hides. (Since this template's purpose is usually to replace the existing table of contents, this functionality is usually only necessary on Wikipedia guideline pages that use this template in examples.)

Letters

Any letter can be omitted (i.e. when it has no entries in the list) by specifying it as a lowercase blank parameter, e.g. {{Compact ToC |side=yes |j=|q=}}:

Or it can be replaced with an unlinked letter by using that letter (in uppercase), e.g. {{Compact ToC |side=yes |j=J|q=Q}}:

Note: It is often better to create an empty placeholder span (e.g. <span id="Q"/>) where the letter's heading would be in the page if it existed, since in most cases it is quite possible that it will come to exist in the future. Using the span-id avoids confusing new users who might not realize the TOC-template has skipped some letters.

The letter-assignment feature can also be used to create range links, e.g. {{Compact ToC |side=yes |x=[[#X-Z|X-Z]] |y=|z=}}:

The feature can also be used (very tediously) for linking to sub-articles (e.g. long lists that have been split into multiple pages):
{{Compact ToC |side=yes |name=[[Articlename]] |n=[[Articlename (N–Z)#N|N]] |o=[[Articlename (N–Z)#O|O]] |... |z=[[Articlename (N–Z)#Z|Z]]}}

{{Compact ToC |side=yes |n=[[Articlename (N–Z)| N–Z {{small|(next page)}}]] |o=|p=|...|z=}}

Listing custom headers

The optional parameters pre1, pre2, ...pre8 and custom1, custom2, ...custom8 allow up to 16 other section headers to be listed before or after the "ABCDEF" list:

{{Compact ToC |name=no |center=yes |top=yes |custom1=New section |custom2=Additional section |seealso=yes|notes=yes}}

{{Compact ToC |name=no |center=yes |top=yes |custom1=New section|custom1name=Custom section name |custom2=Outside page|custom2link=Main Page |seealso=yes|notes=yes}}

Headers can be listed before & after "ABCDEF" using pre1 and custom1 :
{{Compact ToC |center=yes |top=yes |pre1=Scope of list |pre2=Abbreviations used |prebreak=yes |custom1=Popular entries |custom2=Excluded entries |notes=yes|seealso=yes}}

"short1"

{{Compact ToC |side=yes |center=yes |nobreak=yes |refs=yes}} is a common configuration whose parameters may be replaced by the shortcut

{{Compact ToC |short1}}

i.e. by making |short1 the very first parameter.

Examples

{{Compact ToC |top=yes}}

{{Compact ToC |side=yes |sym=yes|num=yes |custom1=Other |refs=yes|seealso=yes}}

{{Compact ToC |name=Directory |top=no |refs=yes|notes=yes|extlinks=yes}}

{{Compact ToC |side=yes|right=yes |name=no |symnum=yes |seealso=yes}}


{{Compact ToC |short1 |num=yes|sym=yes |seealso=yes|notesfirst=yes|further=yes|extlinks=yes}}

Limitations

Unfortunately, it is not possible to center the contents due to the lack of supporting CSS in MediaWiki:Common.css.

See also