Template:Compact ToC/doc

Purpose
This is a Table-of-Contents replacement for alphabetical lists:
 * 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: ): 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.

The template has all features of Template:CompactTOC7, plus some from Template:CompactTOC2, such as optional "Top" "0–9" sections, and allows selecting other sections.

Usage
Typical:

For alphabetical only (no number or symbol entries):

For maximum number of features and centered placement (leave off a parameter or change it to blank or "no" to disable a feature)

Parameters

 * : change the heading to an alternative name instead of "Contents", or hide it completely by entering
 * : put the "Contents" heading on the left side with a colon, instead of the top without one
 * : center to ToC in the horizontal middle of the page, instead of floated left
 * : align the ToC horizontally to the right of the page (may require  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)
 * : sets the alignment of the links inside the table; default is left; use,   or
 * : no linebreak between the A-B-C-etc. stuff and the See also/References/etc. stuff (note: does not affect the heading; use  for that)
 * : 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  above the sitenotice which makes this link work without having to do anything but enable it in the template.)
 * : enable the "!$@" link for symbolic entries section
 * : enable the "0–9" link for numeric entries section (create a heading of  for the link to work)
 * : enable the "!–9" link for combined symbolic and numeric entries section (create a heading of  for the link to work)


 * : set the separator-text between word-headers (not between "ABCDEF") to "&middot;"; could also be a vertical-bar or  (&bull;), etc.


 * to : add up to 8 extra "custom" sections after the "ABCDEF" list. These appear as custom1.
 * to : modifies the way the custom section headers appear: custom1name
 * to : modifies the targets of the custom sections: 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.


 * to : list up to 8 extra section headers before (pre-list) the "ABCDEF" list. These appear as pre1.
 * to : modifies the way the pre-list section headers appear: pre1name
 * to : modifies the targets of the pre-list headers: pre1.
 * : set break-line after all pre-list headers; can include text to introduce "ABCDEF".


 * : enable link to the "See also" section
 * : enable link to the "References" section (observe that it is plural)
 * : enable link to the "Notes" section (observe that it is plural)
 * : enable link to the "Notes" section, but placed before "References"; do not use with  (and do observe that it is plural)
 * : enable link to the "Further reading" section
 * : enable link to the "External links" section
 * through : 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  below for more detailed documentation of this feature.)

Letters
Any letter can be omitted (i.e. when it has no entries in the list) by specifying it as a lower-case blank parameter:

Or it can be replaced with an unlinked letter by using that letter (upper-case):

Note: It is often better to create an empty placeholder span (e.g.  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:

The feature can also be used (very tediously) for linking to sub-articles (e.g., for long lists that have been split into multiple pages):

Or, as another example:

Listing custom-headers
The optional parameters pre1...pre8 and custom1...custom8 allow listing up to 16 other section-headers in the TOC, before or after, the "ABCDEF" list:

Headers can be listed before & after "ABCDEF" using pre1 & custom1:

The separator text can be set to a mid-dot by "sep=&amp;middot;" :

Shorthand

 * can be used as the very first parameter (before ) for shortening a common usage:

It replaces

Examples
