Template:CatAutoTOC/doc

Adds a Table of Contents (TOC) to a category page if the category's size warrants it.

The size thresholds are:


 * 1) <= 100 pages → no TOC
 * 2) 101–1200 pages → Category TOC
 * 3) > 1200 pages → Large category TOC

Usage
On category pages,  can be placed wherever you want the TOC to be displayed.

On a category header template, it is best placed outside any  tags, so that the template is categorised as using CatAutoTOC.

Parameters
No parameters are needed.

However, the parameters available Category TOC may be supplied, and if CatAutoTOC calls Category TOC, those parameters will be passed on to Category TOC.

So e.g.  will:
 * 1) Have no effect if no TOC is generated
 * 2) Align to the center if Category TOC is used
 * 3) Have no effect if Large category TOC is used, because Large category TOC accepts no parameters

Tracking
Each page using this template is categorised in one of three tracking categories:
 * Category:CatAutoTOC generates no TOC
 * Category:CatAutoTOC generates standard Category TOC
 * Category:CatAutoTOC generates Large category TOC

Templates which transclude CatAutoTOC are categorised in
 * Category:Templates using CatAutoTOC (population: )

... but only if the transclusion is outside any  tags

Bugs
This template uses the magic word  to count the number of pages in the category. Unfortunately, this function can return wildly erroneous results on some categories which have had many pages added and removed.

This bug is well-known, and has been documented in several places since 2010, including:
 * T18036
 * T221795
 * T69196

In the overwhelming majority of categories, the count is recorded accurately enough to support use of this template. However, there seemed to be some issue with  falsely returning zero in some cases. This is tracked in:
 * Category:CatAutoTOC on pages where PAGESINCATEGORY returns zero (population: )

As of 19 April 2020, that problem seems to have been fixed by a small but cunning tweak to how  is called.

The category should contain only pages labelled as "empty".