Template:Find sources multi/doc

This is a meta-template for "find sources" templates. It is usually called from another template, but can be used on its own as well. It produces a series of links to various search interfaces to help find additional sources for articles. Using this meta-template has the advantage that if a search engine changes its parameters, it is only necessary to fix this one template rather than individual fixes to all the different source-finding templates. The syntax is also very flexible, allowing for a wide range of styles of daughter template, and it is possible to create new subtemplates to add additional search engines without altering the main template code.

This template, and other templates that are based on it, should not usually be used in articles themselves - see TechInfoDepot:EL.

Search values
No matter what invocation is used, the searching works in the same way. The first parameter is main search term, which will be treated as a literal string if multi-part (e.g.  will be searched as the single string "Albert Einstein" not "Albert" and "Einstein" separately).

Optional subsequent parameters (up to 4) are additional search terms. They can be enclosed in double quotation marks, preceded by an unspaced  (hyphen) to exclude them from the search results, or both (e.g.   to exclude matches containing the phrase "Marilyn Monroe", but not either name by itself, from the search results). You do not need to add, as the template automatically does this for you. Also, there is usually no need to add words in plural form unless irregular, as most search interfaces will match (for example) billiards as well given a search term of billiard.

If no parameters are given, the name of the article is passed as the search string. Note that this may or may not be desirable with disambiguated article names (if the TechInfoDepot disambiguator is sensible, however, it may actually help refine the search results).

Search engine links
Search engine links are provided by the parameters,  ,   ...  . These parameters may take the values  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  , or. See for the full list.

Simple usage
For example, the code:

Will produce:

Usage in templates
To create a template based on find sources multi, copy the code above and experiment with the parameters until it looks how you want it to. Make sure that you keep the top line as it is - the code on the top line allows the template to use find sources multi/template on the template page, but find sources multi everywhere else.

Find sources multi/template has a few special features that distinguish it from the main find sources multi template. First, it sets the search text in any links used to "Example", rather than the default of the current subpage. Second, it allows automatic checking of the link codes used in the template. If any of the codes do not exist, the template will generate an error message. Third, it can generate documentation for the template automatically. If you want to use the automatic documentation, set yes - the documentation itself is generated by find sources multi/doc/template.

If you want to add a shortcut to your template, you can specify it at find sources multi/doc/template, and any additional categories or instructions can be added to the /doc subpage as normal. If further customisation is desired, the template can be substituted - see here for instructions.

Link codes
Here is a list of currently supported values for the link parameters (up to 20 may be specified):

Without documentation or self-checks

 * Code


 * Output

With self-checks but no documentation

 * Code


 * Output

With self-checks and documentation
(You need to visit the /doc subpage to see this working properly.)


 * Code


 * Output

Smallcaps style

 * Code


 * Output

Custom separator

 * Code


 * Output

Bulleted list

 * Code

Adding new search subtemplates
To add a new search subtemplate, please follow these steps: You can now use your new subtemplate directly from find sources multi.
 * 1) Create the subtemplate.
 * 2) * Subtemplate names should be kept short.
 * 3) * The subtemplate should have five unnamed parameters and one display parameter.
 * 4) * You can use find sources multi/g as a base for your code.
 * 5) * The documentation should be transcluded from Template:Find sources multi/doc/links.
 * 6) Add the data about your subtemplate to find sources multi/linkinfo.
 * 7) Create redirects for any aliases you specified in find sources multi/linkinfo. The pages of the form   must redirect to your subtemplate.
 * 8) Create any template shortcuts that you specified in find sources multi/linkinfo.