Difference between revisions of "Template:PrintAuthorsArrayLastNameCommaFirstName"
Jump to navigation
Jump to search
m (HakobBarseghyan moved page Template:AuthorsArrayLastNameCommaFirstName to Template:PrintAuthorsArrayLastNameCommaFirstName without leaving a redirect) |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
− | This template is used to convert an array of author names like "Thomas Kuhn, Imre Lakatos, Larry Laudan" into "Kuhn, Thomas; Lakatos, Imre | + | This template is used to convert an array of author names like "Thomas Kuhn, Imre Lakatos, Larry Laudan" into a ''pretty'' list of "Kuhn, Thomas; Lakatos, Imre and Laudan, Larry". If there are more than three authors, the "Kuhn, Thomas ''et al.''" will be returned. |
'''NOTE:''' As any "printing" template, it doesn't store any values anywhere, but merely prints them on the page. | '''NOTE:''' As any "printing" template, it doesn't store any values anywhere, but merely prints them on the page. | ||
Line 6: | Line 6: | ||
'''Parameters:''' | '''Parameters:''' | ||
* <code><nowiki>|authors=</nowiki></code> - a comma delimited list of authors. | * <code><nowiki>|authors=</nowiki></code> - a comma delimited list of authors. | ||
− | * <code><nowiki>|intro=</nowiki></code> - if the results | + | * <code><nowiki>|intro=</nowiki></code> - initial text that precedes the output, if at least some results exist. |
+ | * <code><nowiki>|outro=</nowiki></code> - text that is appended to the output, if at least some results exist. | ||
+ | * <code><nowiki>|default=</nowiki></code> - if, for any reason, the query returns no results, this will be printed instead. | ||
</noinclude><includeonly><!-- | </noinclude><includeonly><!-- | ||
− | -->{{#if: {{{authors|}}} | + | -->{{#if: {{{authors|}}} <!-- |
− | + | -->|{{{intro|}}}<!-- | |
− | |||
--><!-- add the authors | --><!-- add the authors | ||
-->{{#arraydefine:authorsArray |{{{authors|}}} }}<!-- | -->{{#arraydefine:authorsArray |{{{authors|}}} }}<!-- | ||
-->{{#arrayunique:authorsArray}}<!-- remove duplicates and empty values | -->{{#arrayunique:authorsArray}}<!-- remove duplicates and empty values | ||
-->{{#ifexpr: {{#arraysize:authorsArray}} < 4 <!-- | -->{{#ifexpr: {{#arraysize:authorsArray}} < 4 <!-- | ||
− | -->|{{#arrayprint:authorsArray |; | + | -->|{{#arrayprint:authorsArray |; |@@@@|{{PrintAuthorLastNameCommaFirstName|author=@@@@}}|print=pretty }}<!-- less than four authors |
− | -->|{{ | + | -->|{{PrintAuthorLastNameCommaFirstName|author={{#arrayindex:authorsArray |0 }} }} ''et al''<!-- more than three authors |
-->}}<!--ifexpr | -->}}<!--ifexpr | ||
+ | -->{{{outro|}}}<!-- | ||
+ | -->|{{{default|}}}<!-- | ||
-->}}<!--if | -->}}<!--if | ||
--></includeonly> | --></includeonly> |
Latest revision as of 11:54, 7 July 2017
This template is used to convert an array of author names like "Thomas Kuhn, Imre Lakatos, Larry Laudan" into a pretty list of "Kuhn, Thomas; Lakatos, Imre and Laudan, Larry". If there are more than three authors, the "Kuhn, Thomas et al." will be returned.
NOTE: As any "printing" template, it doesn't store any values anywhere, but merely prints them on the page.
Parameters:
|authors=
- a comma delimited list of authors.|intro=
- initial text that precedes the output, if at least some results exist.|outro=
- text that is appended to the output, if at least some results exist.|default=
- if, for any reason, the query returns no results, this will be printed instead.