Template:Affix

From The Languages of David J. Peterson
Jump to navigation Jump to search

prefix- +‎ base +‎ -suffix


This template shows the parts (morphemes) that make up a word, for use in etymology sections. Although it is called affix, it can be used for compounds too, like {{compound}}. It uses Module:affix and Module:affix/templates as a back-end.

To create the category pages, such as Category:English terms suffixed with -ed, add {{auto cat}} to the page.

Examples

Basic examples:

{{af|en|complete|-ness}}complete +‎ -ness
{{af|en|pre-|date}}pre- +‎ date
{{af|en|acro-|-nym}}acro- +‎ -nym
{{af|en|pest|-i-|-cide}}pest +‎ -i- +‎ -cide
{{af|en|volley|ball}}volley +‎ ball

In foreign languages:

1. For aviãozão (large plane), which can be viewed as being composed of avião (plane), an interfix -z- and an augmentative suffix -ão, use the following:

{{af|pt|avião<t:plane>|-z-|-ão<pos:augmentative suffix>}}

which generates

Lua error in package.lua at line 80: module 'Module:parse utilities' not found.

This can equivalently be written using separate parameters (the older way of doing things) like this:

{{af|pt|avião|t1=plane|-z-|-ão|pos3=augmentative suffix}}


2. The Portuguese medical term acromia (achromia (lack of pigmentation)) can be viewed as being composed directly from Lua error in Module:Languages/doSubstitutions at line 75: Substitution data 'grc-translit' does not match an existing module.. using the Portuguese privative (i.e. expressing "lack of") suffix a- and the abstract noun suffix -ia. Write this as follows:

{{af|pt|a-<id:privative>|grc:χρῶμα<t:color>|-ia}}

which generates

Lua error in package.lua at line 80: module 'Module:parse utilities' not found.

In this case, there are multiple Portuguese prefixes spelled a-, with different origins and meanings. To identify the privative prefix specifically, we use the <id:...> modifier (see {{senseid}}).


3. The Italian relational adjective litoraneo (coastal, littoral) was constructed directly from the lītus (shore) based on its stem lītor- (as found for example in the genitive singular lītoris). Write this as follows:

{{af|it|la:[[lītus|lītoris]]<t:shore>|-aneo}}

which generates

Lua error in package.lua at line 80: module 'Module:parse utilities' not found.

The use of the bracketed expression allows us to display the accusative singular form while linking to the lemma form (the nominative singular). This could also be implemented using the <alt:...> modifier.


4. The Portuguese toponym Nova Escócia (Nova Scotia) is composed of two words, literally meaning "New Scotland". This can be written as follows:

{{af|pt|nova<pos:feminine of {{m|pt|novo|t=new}}>|Escócia<t:Scotland>}}

which generates

Lua error in package.lua at line 80: module 'Module:parse utilities' not found.

Here, we use the <pos:...> ("part of speech") modifier to display the grammatical derivation of the word nova. This example shows that arbitrary template code can be embedded inside an inline modifier.


5. For the Japanese term (kona, powder), the following is an actual etymology:

Appears to be {{af|ja|sort=こな|粉<tr:ko><t:powder><pos:see above>|<alt:な><tr:na><pos:suffixing element, meaning unclear>}}.

This generates

Appears to be Lua error in package.lua at line 80: module 'Module:parse utilities' not found..

The use of the <alt:...> modifier with an empty term serves to prevent the term from being linked. The |sort= parameter is needed in general with any Japanese templates that generate categories, because the sort key for this language cannot be automatically generated. (It is based on the pronunciation of the term, and many Japanese terms have multiple pronunciations.)

Parameters

|1=
The language code. See Project:Languages.
|2=, |3= etc.
The parts of the terms to show. Either:
  1. At least one of the provided parts must begin and/or end with a hyphen (prefix, suffix, interfix);
  2. or there must be two or more parts (it may be a compound, with or without prefixes, suffixes, interfixes).
A term can begin with a language code followed by a colon. This overrides the default provided by |1=. When this is provided, the language name is displayed before the part, and a derivational category is also added to the entry. This is used for the occasional term which was directly affixed at the time of borrowing, and for which no native base form existed at the time, such as vexillology.
|pos=
The part of speech to include in the category names, in plural form. Defaults to terms. This is separate from (and conceptually very different from) the |posN= parameters, which specify clarifying parts of speech or similar descriptive text to display in parentheses after individual terms, next to the gloss.
|lit=
The literal meaning of the overall term. This is separate from the |litN= parameters, which specify literal meanings of individual parts.
|sort=
The sort key to use when placing the entry in categories. This is rarely needed, as the default generated sort key is usually correct.
|sc=
The script code. See Project:Scripts. This is rarely needed as the script can generally be automatically detected. This is separate from the |scN= parameters, which specify script codes for individual parts in languages distinct from the overall language specified using |1=.
|nocat=1
Do not add categories to the entry.
|type=
Type of compound, e.g. bahuvrihi or alliterative. See #Compound subtypes below. If this parameter is given, extra text is generated before the listed parts (e.g. Bahuvrīhi compound of FOO + BAR), and the page is placed in an additional category (e.g. Category:Hindi bahuvrihi compounds).
|nocap=1
Do not capitalize the first letter of the extra text generated by |type=.
|notext=1
When |type= is used, do not generate the extra text that is normally placed before the listed parts. The page will still be placed in the additional type-specific category unless |nocat=1 is given.

The following parameters are available for each matching part in the numbered/positional parameters. The N must be replaced by the corresponding part index. For example, for the second part (positional parameter 3), use 2 for N. Most of these parameters correspond directly to the equivalent parameters in the standard {{l}} (and {{m}}) template.

|altN=
The alternative display form. Equivalent to the third parameter of {{l}}.
|tN=
A gloss to show after the part. Equivalent to the fourth parameter of {{l}}. The parameter |glossN= is deprecated for this purpose.
|trN=
The transliteration, as in {{l}}.
|tsN=
The transcription, in languages where the transliteration and transcription differ markedly, as in {{l}}.
|gN=
The gender (multiple comma-separated genders may be specified for a given part).
|idN=
The sense id, as in {{l}}. As distinguished by mere linking templates, the affix template, categorizing terms by affix, also adds the sense id to the category name to distinguish various purposes of the same affix shape, hence the sense id in the dictionary entry for the affix should have a reasonable name in respect to this categorization. Changes the category name from language name terms affixed with affix to language name terms affixed with affix (value of id parameter).
|posN=
The part of speech label to show after the part, as in {{l}}. If this parameter contains patronym(ic), the entry will be added to a language's patronymic category. If this parameter contains diminutive and the |pos= parameter is defined, the entry will be added to a diminutive part-of-speech category. For instance, the parameter values |pos=noun and |pos2=diminutive suffix will add an entry to the language's diminutive nouns category.
|litN=
The literal meaning to show after the part, as in {{l}}.
|qN=
Qualifier text to display before the part, in parens and normally italicized.
|qqN=
Qualifier text to display after the part, in parens and normally italicized.
|langN=
The language code to use for this particular part. This overrides the default provided by |1=. When this is provided, the language name is displayed before the part, and a derivational category is also added to the entry. This is used for the occasional term which was directly affixed at the time of borrowing, and for which no native base form existed at the time, such as vexillology.
|scN=
The script code to use for this particular part. This overrides the default provided by |sc=.

Inline modifiers

All of the per-term parameters described above can alternatively be specified as inline modifiers, using a syntax like детекти́в<tr:dɛtɛktív><t:detective> to specify modifiers such as transliterations, glosses and qualifiers. In this example, for the Russian term детекти́в (dɛtɛktív, detective), the manual transliteration dɛtɛktív and gloss "detective" are given. Specifically, the following modifiers are recognized; see the above documentation for more information on the exact meaning of each modifier.

  • t or gloss: gloss
  • alt: alternative display text
  • tr: transliteration
  • ts: transcription, for languages where the transliteration and pronunciation are markedly different
  • q: qualifier, e.g. rare; this appears before the term, parenthesized and italicized
  • qq: qualifier, e.g. rare; this appears after the term, parenthesized and italicized
  • lit: literal meaning
  • pos: part of speech
  • g: comma-separated list of gender/number specifications
  • id: sense ID; see {{senseid}}
  • lang: language code
  • sc: script code

Examples

The following:

From {{af|pt|Patrícia|t1=Patricia|pos1=given name|-inha|pos2=diminutive suffix}}.

can be equivalently written as follows using inline modifiers:

From {{af|pt|Patrícia<t:Patricia><pos:given name>|-inha<pos:diminutive suffix>}}.

Both produce the following:

From Lua error in package.lua at line 80: module 'Module:parse utilities' not found..

Note how the use of inline modifiers frees you from having to make sure the numbers of indexed parameters like |t1=, |pos2= correctly line up with the terms they are referring to.

Categories

The template will automatically categorize the entry based on the types of affixes it sees.

  • If a part begins with a hyphen, it is a suffix.
  • If a part ends with a hyphen, it's a prefix.
  • If a part has a hyphen at both ends, it's an interfix.

This behavior can be disabled by prefixing an entry with ^. This should be used, for example, for Proto-Indo-European roots, which are conventionally written with a trailing hyphen but aren't prefixes.

What is considered a hyphen depends on the specified language, so it can also support language-specific types of hyphen. In particular, the Hebrew and Arabic scripts have their own hyphen script-specific character (which has the correct right-to-left behavior).

Some languages (e.g. most East Asian languages) don't use hyphens with affixes. For these languages, you should still add a regular hyphen (-) to the affix as appropriate, but the term will be displayed and linked without a hyphen.

Compound subtypes

The |type= parameter can be used to specify the subtype of compound when {{affix}} is used to specify the parts of a compound. For example, if |type=bahuvrihi is given (or |type=bahu or |type=bv), extra text Bahuvrīhi compound of is generated before the listed parts (where the word bahuvrīhi links appropriately to the appendix, with an explanation of what this term means). In addition, the page is placed in a type-specific category, e.g. Category:Hindi bahuvrihi compounds if the language in question is Hindi (code hi).

The parameter |nocap=1 can be used to disable capitalization of the first letter of the extra text generated, and |notext=1 can be used to suppress the extra text entirely. Using |type= along with |notext= is still useful because of the extra type-specific category that the page is placed in. It's also possible to use |type= without any parts, e.g. {{affix|hi|type=bahuvrihi}}. This generates just the extra text (without the word of after it), and places the page in the type-specific category.

The following types are currently supported:

Type Aliases Category
alliterative allit LANG alliterative compounds
antonymous ant LANG antonymous compounds
bahuvrihi bahu, bv LANG bahuvrihi compounds
coordinative coord LANG coordinative compounds
descriptive desc LANG descriptive compounds
determinative det LANG determinative compounds
dvandva dva LANG dvandva compounds
endocentric endo LANG endocentric compounds
exocentric exo LANG exocentric compounds
karmadharaya karma, kd LANG karmadharaya compounds
rhyming rhy LANG rhyming compounds
synonymous syn LANG synonymous compounds
tatpurusa tat, tp LANG tatpurusa compounds

Limitations

  • There is no support for circumfixes.
  • If an entry both begins and ends with a hyphen, it is considered an interfix, not an infix. There is currently no support for infixes as such.

See also

Template Data

This is the TemplateData documentation for this template used by VisualEditor and other tools.

TemplateData for Affix

No description.

Template parameters[Edit template data]

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
language code1 lang

the 2- or 3-letter language code for the current section

Example
en
Stringrequired
first part2

the first part of the affixed word

Example
neuro
Page namesuggested
second part3

the second part of the affixed word

Example
genic
Page namesuggested
script codesc

no description

Stringoptional
first part of speechpos1

no description

Stringoptional
second part of speechpos2

no description

Stringoptional
first part alternate textalt1

Text to show instead of the first part for the link to its entry

Stringoptional
second part alternate textalt2

Text to show instead of the second part for the link to its entry

Stringoptional
first glosst1

brief gloss of the first part

Stringoptional
second glosst2

brief gloss of the second part

Stringoptional
first part transliterationtr1

Transliteration of the first part (for non-Latin scripts)

Stringoptional
second part transliterationtr2

Transliteration of the second part (for non-Latin scripts)

Stringoptional