Difference between revisions of "Template:Italics correction/calc"

From blackwiki
Jump to navigation Jump to search
(Incomplete, but the outline is there. Saving before I do something stupid and lose this.)
 
imported>Jonesey95
(Fix Linter errors)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{#switch:0
+
{{#switch:{{{1}}}
|{{#expr:not{{#invoke:String|find|dijkrtvwxyzCDEFGHIJKMNUVWXYZ|{{{1}}}}}}}=0.1em
+
|d|i|j|k|ℓ|r|t|v|w|x|y|z|C|D|E|F|G|H|I|J|K|M|N|P|U|V|W|X|Y|Z|γ|δ|ζ|ξ|ϖ|π|σ|τ|Ε|Ζ|Η|Ι|Κ|Μ|Ν|Ξ|Π|Ρ|Σ|Υ|ϒ|Χ|Ψ=0.1em
|{{#expr:not{{#invoke:String|find|cgsuBGOPQRS|{{{1}}}}}}}=0.05em
+
|c|g|s|u|B|G|O|Q|R|S|α|β|ϑ|θ|κ|μ|ν|ς|υ|χ|ψ|ω|Β|Θ|Ο|Ω=0.05em
|{{#expr:not{{#invoke:String|find|abehmnopqAL|{{{1}}}}}}}=0em
+
|a|b|∂|e|h|m|n|o|p|q|A|L|ε|ϵ|η|ι|λ|ο|ϱ|ρ|φ|ϕ|Α|Δ|Λ|Φ=0em
|{{#expr:not{{#invoke:String|find|flT|{{{1}}}}}}}=0.15em
+
|f|l|T|Γ|Τ=0.15em
|0=0.1em
+
|0.1em
}}<noinclude>{{documentation|content=
+
}}<noinclude><!--
This template takes one parameter, a single letter, and returns an amount of space (in units of "em", so something like "0.1em") that should be added after an italic version of that letter to prevent tall characters from colliding with its top-right corner.  It is large for letters like ''f'', ''l'' and ''T'', and zero for letters like ''o'' and ''A'' which do not protrude to the top right.
+
Latin lower-case: abc∂defghijlℓmnopqrstuvwxyz
 +
Latin upper-case: ABCDEFGHIJLNOPQRSTUVWXYZ
 +
Greek lower-case: αβγδεϵζηϑθικλμνξοϖπϱρςστυφϕχψω
 +
Greek upper-case: ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥϒΦΧΨΩ
 +
When a letter has multiple forms, I'm listing the most common mathematical form last, and other variants (which may or may not be more common in ordinary text) before that.
 +
-->{{documentation|content=
 +
This template takes one parameter, a single letter, and returns an amount of space (in units of "em", so something like "0.1em") that should be added after an italic version of that letter to prevent tall characters from colliding with its top-right corner.  It is large for letters like ''f'', ''l'' and ''T'', and zero for letters like ''o'', ''A'' and ''L'' which do not protrude to the top right.
  
 
Examples:
 
Examples:
Line 34: Line 40:
 
{{!}} ''r′ R′'' {{!!}} ''r<span style="padding-left:{{{{ARTICLEPAGENAME}}|r}}">′</span> R<span style="padding-left:{{{{ARTICLEPAGENAME}}|R}}">′</span>''
 
{{!}} ''r′ R′'' {{!!}} ''r<span style="padding-left:{{{{ARTICLEPAGENAME}}|r}}">′</span> R<span style="padding-left:{{{{ARTICLEPAGENAME}}|R}}">′</span>''
 
{{!}} {{mvar|r′ R′}} {{!!}} {{mvar|1=r<span style="padding-left:{{{{ARTICLEPAGENAME}}|r}}">′</span> R<span style="padding-left:{{{{ARTICLEPAGENAME}}|R}}">′</span>}}
 
{{!}} {{mvar|r′ R′}} {{!!}} {{mvar|1=r<span style="padding-left:{{{{ARTICLEPAGENAME}}|r}}">′</span> R<span style="padding-left:{{{{ARTICLEPAGENAME}}|R}}">′</span>}}
{{!}} ''κ′ Κ′'' {{!!}} ''κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|κ}}">′</span> Κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Κ}}">′</span>''
+
{{!}} ''ι′ Ι′'' {{!!}} ''ι<span style="padding-left:{{{{ARTICLEPAGENAME}}|ι}}">′</span> Ι<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ι}}">′</span>''
{{!}} {{mvar|κ′ Κ′}} {{!!}} {{mvar|1=κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|κ}}">′</span> Κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Κ}}">′</span>}}
+
{{!}} {{mvar|ι′ Ι′}} {{!!}} {{mvar|1=ι<span style="padding-left:{{{{ARTICLEPAGENAME}}|ι}}">′</span> Ι<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ι}}">′</span>}}
 
{{!}}-
 
{{!}}-
 
{{!}} ''b′ B′'' {{!!}} ''b<span style="padding-left:{{{{ARTICLEPAGENAME}}|b}}">′</span> B<span style="padding-left:{{{{ARTICLEPAGENAME}}|B}}">′</span>''
 
{{!}} ''b′ B′'' {{!!}} ''b<span style="padding-left:{{{{ARTICLEPAGENAME}}|b}}">′</span> B<span style="padding-left:{{{{ARTICLEPAGENAME}}|B}}">′</span>''
Line 41: Line 47:
 
{{!}} ''s′ S′'' {{!!}} ''s<span style="padding-left:{{{{ARTICLEPAGENAME}}|s}}">′</span> S<span style="padding-left:{{{{ARTICLEPAGENAME}}|S}}">′</span>''
 
{{!}} ''s′ S′'' {{!!}} ''s<span style="padding-left:{{{{ARTICLEPAGENAME}}|s}}">′</span> S<span style="padding-left:{{{{ARTICLEPAGENAME}}|S}}">′</span>''
 
{{!}} {{mvar|s′ S′}} {{!!}} {{mvar|1=s<span style="padding-left:{{{{ARTICLEPAGENAME}}|s}}">′</span> S<span style="padding-left:{{{{ARTICLEPAGENAME}}|S}}">′</span>}}
 
{{!}} {{mvar|s′ S′}} {{!!}} {{mvar|1=s<span style="padding-left:{{{{ARTICLEPAGENAME}}|s}}">′</span> S<span style="padding-left:{{{{ARTICLEPAGENAME}}|S}}">′</span>}}
{{!}} ''λ′ Λ′'' {{!!}} ''λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|λ}}">′</span> Λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Λ}}">′</span>''
+
{{!}} ''κ′ Κ′'' {{!!}} ''κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|κ}}">′</span> Κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Κ}}">′</span>''
{{!}} {{mvar|λ′ Λ′}} {{!!}} {{mvar|1=λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|λ}}">′</span> Λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Λ}}">′</span>}}
+
{{!}} {{mvar|κ′ Κ′}} {{!!}} {{mvar|1=κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|κ}}">′</span> Κ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Κ}}">′</span>}}
 
{{!}}-
 
{{!}}-
 
{{!}} ''c′ C′'' {{!!}} ''c<span style="padding-left:{{{{ARTICLEPAGENAME}}|c}}">′</span> C<span style="padding-left:{{{{ARTICLEPAGENAME}}|C}}">′</span>''
 
{{!}} ''c′ C′'' {{!!}} ''c<span style="padding-left:{{{{ARTICLEPAGENAME}}|c}}">′</span> C<span style="padding-left:{{{{ARTICLEPAGENAME}}|C}}">′</span>''
Line 48: Line 54:
 
{{!}} ''t′ T′'' {{!!}} ''t<span style="padding-left:{{{{ARTICLEPAGENAME}}|t}}">′</span> T<span style="padding-left:{{{{ARTICLEPAGENAME}}|T}}">′</span>''
 
{{!}} ''t′ T′'' {{!!}} ''t<span style="padding-left:{{{{ARTICLEPAGENAME}}|t}}">′</span> T<span style="padding-left:{{{{ARTICLEPAGENAME}}|T}}">′</span>''
 
{{!}} {{mvar|t′ T′}} {{!!}} {{mvar|1=t<span style="padding-left:{{{{ARTICLEPAGENAME}}|t}}">′</span> T<span style="padding-left:{{{{ARTICLEPAGENAME}}|T}}">′</span>}}
 
{{!}} {{mvar|t′ T′}} {{!!}} {{mvar|1=t<span style="padding-left:{{{{ARTICLEPAGENAME}}|t}}">′</span> T<span style="padding-left:{{{{ARTICLEPAGENAME}}|T}}">′</span>}}
{{!}} ''μ′ Μ′'' {{!!}} ''μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|μ}}">′</span> Μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Μ}}">′</span>''
+
{{!}} ''λ′ Λ′'' {{!!}} ''λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|λ}}">′</span> Λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Λ}}">′</span>''
{{!}} {{mvar|μ′ Μ′}} {{!!}} {{mvar|1=μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|μ}}">′</span> Μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Μ}}">′</span>}}
+
{{!}} {{mvar|λ′ Λ′}} {{!!}} {{mvar|1=λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|λ}}">′</span> Λ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Λ}}">′</span>}}
 
{{!}}-
 
{{!}}-
{{!}} ''d′ D′'' {{!!}} ''d<span style="padding-left:{{{{ARTICLEPAGENAME}}|d}}">′</span> D<span style="padding-left:{{{{ARTICLEPAGENAME}}|D}}">′</span>''
+
{{!}} ''∂′d′ D′'' {{!!}} ''∂<span style="padding-left:{{{{ARTICLEPAGENAME}}|∂}}">′</span>d<span style="padding-left:{{{{ARTICLEPAGENAME}}|d}}">′</span> D<span style="padding-left:{{{{ARTICLEPAGENAME}}|D}}">′</span>''
{{!}} {{mvar|d′ D′}} {{!!}} {{mvar|1=d<span style="padding-left:{{{{ARTICLEPAGENAME}}|d}}">′</span> D<span style="padding-left:{{{{ARTICLEPAGENAME}}|D}}">′</span>}}
+
{{!}} {{mvar|∂′d′ D′}} {{!!}} {{mvar|1=∂<span style="padding-left:{{{{ARTICLEPAGENAME}}|∂}}">′</span>d<span style="padding-left:{{{{ARTICLEPAGENAME}}|d}}">′</span> D<span style="padding-left:{{{{ARTICLEPAGENAME}}|D}}">′</span>}}
 
{{!}} ''u′ U′'' {{!!}} ''u<span style="padding-left:{{{{ARTICLEPAGENAME}}|u}}">′</span> U<span style="padding-left:{{{{ARTICLEPAGENAME}}|U}}">′</span>''
 
{{!}} ''u′ U′'' {{!!}} ''u<span style="padding-left:{{{{ARTICLEPAGENAME}}|u}}">′</span> U<span style="padding-left:{{{{ARTICLEPAGENAME}}|U}}">′</span>''
 
{{!}} {{mvar|u′ U′}} {{!!}} {{mvar|1=u<span style="padding-left:{{{{ARTICLEPAGENAME}}|u}}">′</span> U<span style="padding-left:{{{{ARTICLEPAGENAME}}|U}}">′</span>}}
 
{{!}} {{mvar|u′ U′}} {{!!}} {{mvar|1=u<span style="padding-left:{{{{ARTICLEPAGENAME}}|u}}">′</span> U<span style="padding-left:{{{{ARTICLEPAGENAME}}|U}}">′</span>}}
{{!}} ''ν′ Ν′'' {{!!}} ''ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|ν}}">′</span> Ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ν}}">′</span>''
+
{{!}} ''μ′ Μ′'' {{!!}} ''μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|μ}}">′</span> Μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Μ}}">′</span>''
{{!}} {{mvar|ν′ Ν′}} {{!!}} {{mvar|1=ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|ν}}">′</span> Ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ν}}">′</span>}}
+
{{!}} {{mvar|μ′ Μ′}} {{!!}} {{mvar|1=μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|μ}}">′</span> Μ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Μ}}">′</span>}}
 
{{!}}-
 
{{!}}-
 
{{!}} ''e′ E′'' {{!!}} ''e<span style="padding-left:{{{{ARTICLEPAGENAME}}|e}}">′</span> E<span style="padding-left:{{{{ARTICLEPAGENAME}}|E}}">′</span>''
 
{{!}} ''e′ E′'' {{!!}} ''e<span style="padding-left:{{{{ARTICLEPAGENAME}}|e}}">′</span> E<span style="padding-left:{{{{ARTICLEPAGENAME}}|E}}">′</span>''
Line 62: Line 68:
 
{{!}} ''v′ V′'' {{!!}} ''v<span style="padding-left:{{{{ARTICLEPAGENAME}}|v}}">′</span> V<span style="padding-left:{{{{ARTICLEPAGENAME}}|V}}">′</span>''
 
{{!}} ''v′ V′'' {{!!}} ''v<span style="padding-left:{{{{ARTICLEPAGENAME}}|v}}">′</span> V<span style="padding-left:{{{{ARTICLEPAGENAME}}|V}}">′</span>''
 
{{!}} {{mvar|v′ V′}} {{!!}} {{mvar|1=v<span style="padding-left:{{{{ARTICLEPAGENAME}}|v}}">′</span> V<span style="padding-left:{{{{ARTICLEPAGENAME}}|V}}">′</span>}}
 
{{!}} {{mvar|v′ V′}} {{!!}} {{mvar|1=v<span style="padding-left:{{{{ARTICLEPAGENAME}}|v}}">′</span> V<span style="padding-left:{{{{ARTICLEPAGENAME}}|V}}">′</span>}}
{{!}} ''ξ′ Ξ′'' {{!!}} ''ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ξ}}">′</span> Ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ξ}}">′</span>''
+
{{!}} ''ν′ Ν′'' {{!!}} ''ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|ν}}">′</span> Ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ν}}">′</span>''
{{!}} {{mvar|ξ′ Ξ′}} {{!!}} {{mvar|1=ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ξ}}">′</span> Ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ξ}}">′</span>}}
+
{{!}} {{mvar|ν′ Ν′}} {{!!}} {{mvar|1=ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|ν}}">′</span> Ν<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ν}}">′</span>}}
 
{{!}}-
 
{{!}}-
 
{{!}} ''f′ F′'' {{!!}} ''f<span style="padding-left:{{{{ARTICLEPAGENAME}}|f}}">′</span> F<span style="padding-left:{{{{ARTICLEPAGENAME}}|F}}">′</span>''
 
{{!}} ''f′ F′'' {{!!}} ''f<span style="padding-left:{{{{ARTICLEPAGENAME}}|f}}">′</span> F<span style="padding-left:{{{{ARTICLEPAGENAME}}|F}}">′</span>''
Line 69: Line 75:
 
{{!}} ''w′ W′'' {{!!}} ''w<span style="padding-left:{{{{ARTICLEPAGENAME}}|w}}">′</span> W<span style="padding-left:{{{{ARTICLEPAGENAME}}|W}}">′</span>''
 
{{!}} ''w′ W′'' {{!!}} ''w<span style="padding-left:{{{{ARTICLEPAGENAME}}|w}}">′</span> W<span style="padding-left:{{{{ARTICLEPAGENAME}}|W}}">′</span>''
 
{{!}} {{mvar|w′ W′}} {{!!}} {{mvar|1=w<span style="padding-left:{{{{ARTICLEPAGENAME}}|w}}">′</span> W<span style="padding-left:{{{{ARTICLEPAGENAME}}|W}}">′</span>}}
 
{{!}} {{mvar|w′ W′}} {{!!}} {{mvar|1=w<span style="padding-left:{{{{ARTICLEPAGENAME}}|w}}">′</span> W<span style="padding-left:{{{{ARTICLEPAGENAME}}|W}}">′</span>}}
{{!}} ''ο′ Ο′'' {{!!}} ''ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|ο}}">′</span> Ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ο}}">′</span>''
+
{{!}} ''ξ′ Ξ′'' {{!!}} ''ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ξ}}">′</span> Ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ξ}}">′</span>''
{{!}} {{mvar|ο′ Ο′}} {{!!}} {{mvar|1=ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|ο}}">′</span> Ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ο}}">′</span>}}
+
{{!}} {{mvar|ξ′ Ξ′}} {{!!}} {{mvar|1=ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ξ}}">′</span> Ξ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ξ}}">′</span>}}
 
{{!}}-
 
{{!}}-
 
{{!}} ''g′ G′'' {{!!}} ''g<span style="padding-left:{{{{ARTICLEPAGENAME}}|g}}">′</span> G<span style="padding-left:{{{{ARTICLEPAGENAME}}|G}}">′</span>''
 
{{!}} ''g′ G′'' {{!!}} ''g<span style="padding-left:{{{{ARTICLEPAGENAME}}|g}}">′</span> G<span style="padding-left:{{{{ARTICLEPAGENAME}}|G}}">′</span>''
Line 76: Line 82:
 
{{!}} ''x′ X′'' {{!!}} ''x<span style="padding-left:{{{{ARTICLEPAGENAME}}|x}}">′</span> X<span style="padding-left:{{{{ARTICLEPAGENAME}}|X}}">′</span>''
 
{{!}} ''x′ X′'' {{!!}} ''x<span style="padding-left:{{{{ARTICLEPAGENAME}}|x}}">′</span> X<span style="padding-left:{{{{ARTICLEPAGENAME}}|X}}">′</span>''
 
{{!}} {{mvar|x′ X′}} {{!!}} {{mvar|1=x<span style="padding-left:{{{{ARTICLEPAGENAME}}|x}}">′</span> X<span style="padding-left:{{{{ARTICLEPAGENAME}}|X}}">′</span>}}
 
{{!}} {{mvar|x′ X′}} {{!!}} {{mvar|1=x<span style="padding-left:{{{{ARTICLEPAGENAME}}|x}}">′</span> X<span style="padding-left:{{{{ARTICLEPAGENAME}}|X}}">′</span>}}
{{!}} ''π′ Π′'' {{!!}} ''π<span style="padding-left:{{{{ARTICLEPAGENAME}}|π}}">′</span> Π<span style="padding-left:{{{{ARTICLEPAGENAME}}|Π}}">′</span>''
+
{{!}} ''ο′ Ο′'' {{!!}} ''ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|ο}}">′</span> Ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ο}}">′</span>''
{{!}} {{mvar|π′ Π′}} {{!!}} {{mvar|1=π<span style="padding-left:{{{{ARTICLEPAGENAME}}|π}}">′</span> Π<span style="padding-left:{{{{ARTICLEPAGENAME}}|Π}}">′</span>}}
+
{{!}} {{mvar|ο′ Ο′}} {{!!}} {{mvar|1=ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|ο}}">′</span> Ο<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ο}}">′</span>}}
 
{{!}}-
 
{{!}}-
 
{{!}} ''h′ H′'' {{!!}} ''h<span style="padding-left:{{{{ARTICLEPAGENAME}}|h}}">′</span> H<span style="padding-left:{{{{ARTICLEPAGENAME}}|H}}">′</span>''
 
{{!}} ''h′ H′'' {{!!}} ''h<span style="padding-left:{{{{ARTICLEPAGENAME}}|h}}">′</span> H<span style="padding-left:{{{{ARTICLEPAGENAME}}|H}}">′</span>''
Line 83: Line 89:
 
{{!}} ''y′ Y′'' {{!!}} ''y<span style="padding-left:{{{{ARTICLEPAGENAME}}|y}}">′</span> Y<span style="padding-left:{{{{ARTICLEPAGENAME}}|Y}}">′</span>''
 
{{!}} ''y′ Y′'' {{!!}} ''y<span style="padding-left:{{{{ARTICLEPAGENAME}}|y}}">′</span> Y<span style="padding-left:{{{{ARTICLEPAGENAME}}|Y}}">′</span>''
 
{{!}} {{mvar|y′ Y′}} {{!!}} {{mvar|1=y<span style="padding-left:{{{{ARTICLEPAGENAME}}|y}}">′</span> Y<span style="padding-left:{{{{ARTICLEPAGENAME}}|Y}}">′</span>}}
 
{{!}} {{mvar|y′ Y′}} {{!!}} {{mvar|1=y<span style="padding-left:{{{{ARTICLEPAGENAME}}|y}}">′</span> Y<span style="padding-left:{{{{ARTICLEPAGENAME}}|Y}}">′</span>}}
{{!}} ''ρ′ Ρ′'' {{!!}} ''ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ρ}}">′</span> Ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ρ}}">′</span>''
+
{{!}} ''ϖ′π′ Π′'' {{!!}} ''ϖ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϖ}}">′</span>π<span style="padding-left:{{{{ARTICLEPAGENAME}}|π}}">′</span> Π<span style="padding-left:{{{{ARTICLEPAGENAME}}|Π}}">′</span>''
{{!}} {{mvar|ρ′ Ρ′}} {{!!}} {{mvar|1=ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ρ}}">′</span> Ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ρ}}">′</span>}}
+
{{!}} {{mvar|ϖ′π′ Π′}} {{!!}} {{mvar|1=ϖ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϖ}}">′π<span style="padding-left:{{{{ARTICLEPAGENAME}}|π}}">′</span> Π<span style="padding-left:{{{{ARTICLEPAGENAME}}|Π}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''i′ I′'' {{!!}} ''i<span style="padding-left:{{{{ARTICLEPAGENAME}}|i}}">′</span> I<span style="padding-left:{{{{ARTICLEPAGENAME}}|I}}">′</span>''
 +
{{!}} {{mvar|i′ I′}} {{!!}} {{mvar|1=i<span style="padding-left:{{{{ARTICLEPAGENAME}}|i}}">′</span> I<span style="padding-left:{{{{ARTICLEPAGENAME}}|I}}">′</span>}}
 +
{{!}} ''z′ Z′'' {{!!}} ''z<span style="padding-left:{{{{ARTICLEPAGENAME}}|z}}">′</span> Z<span style="padding-left:{{{{ARTICLEPAGENAME}}|Z}}">′</span>''
 +
{{!}} {{mvar|z′ Z′}} {{!!}} {{mvar|1=z<span style="padding-left:{{{{ARTICLEPAGENAME}}|z}}">′</span> Z<span style="padding-left:{{{{ARTICLEPAGENAME}}|z}}">′</span>}}
 +
{{!}} ''ϱ′ρ′ Ρ′'' {{!!}} ''ϱ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϱ}}">′</span>ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ρ}}">′</span> Ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ρ}}">′</span>''
 +
{{!}} {{mvar|ϱ′ρ′ Ρ′}} {{!!}} {{mvar|1=ϱ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϱ}}">′</span>ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ρ}}">′</span> Ρ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ρ}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''j′ J′'' {{!!}} ''j<span style="padding-left:{{{{ARTICLEPAGENAME}}|j}}">′</span> J<span style="padding-left:{{{{ARTICLEPAGENAME}}|J}}">′</span>''
 +
{{!}} {{mvar|j′ J′}} {{!!}} {{mvar|1=j<span style="padding-left:{{{{ARTICLEPAGENAME}}|j}}">′</span> J<span style="padding-left:{{{{ARTICLEPAGENAME}}|J}}">′</span>}}
 +
{{!}} ''α′ Α′'' {{!!}} ''α<span style="padding-left:{{{{ARTICLEPAGENAME}}|α}}">′</span> Α<span style="padding-left:{{{{ARTICLEPAGENAME}}|Α}}">′</span>''
 +
{{!}} {{mvar|α′ Α′}} {{!!}} {{mvar|1=α<span style="padding-left:{{{{ARTICLEPAGENAME}}|α}}">′</span> Α<span style="padding-left:{{{{ARTICLEPAGENAME}}|Α}}">′</span>}}
 +
{{!}} ''ς′σ′ Σ′'' {{!!}} ''ς<span style="padding-left:{{{{ARTICLEPAGENAME}}|ς}}">′</span>σ<span style="padding-left:{{{{ARTICLEPAGENAME}}|σ}}">′</span> Σ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Σ}}">′</span>''
 +
{{!}} {{mvar|ς′σ′ Σ′}} {{!!}} {{mvar|1=ς<span style="padding-left:{{{{ARTICLEPAGENAME}}|ς}}">′</span>σ<span style="padding-left:{{{{ARTICLEPAGENAME}}|σ}}">′</span> Σ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Σ}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''k′ K′'' {{!!}} ''k<span style="padding-left:{{{{ARTICLEPAGENAME}}|k}}">′</span> K<span style="padding-left:{{{{ARTICLEPAGENAME}}|K}}">′</span>''
 +
{{!}} {{mvar|k′ K′}} {{!!}} {{mvar|1=k<span style="padding-left:{{{{ARTICLEPAGENAME}}|k}}">′</span> K<span style="padding-left:{{{{ARTICLEPAGENAME}}|K}}">′</span>}}
 +
{{!}} ''β′ Β′'' {{!!}} ''β<span style="padding-left:{{{{ARTICLEPAGENAME}}|β}}">′</span> Β<span style="padding-left:{{{{ARTICLEPAGENAME}}|Β}}">′</span>''
 +
{{!}} {{mvar|β′ Β′}} {{!!}} {{mvar|1=β<span style="padding-left:{{{{ARTICLEPAGENAME}}|β}}">′</span> Β<span style="padding-left:{{{{ARTICLEPAGENAME}}|Β}}">′</span>}}
 +
{{!}} ''τ′ Τ′'' {{!!}} ''τ<span style="padding-left:{{{{ARTICLEPAGENAME}}|τ}}">′</span> Τ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Τ}}">′</span>''
 +
{{!}} {{mvar|τ′ Τ′}} {{!!}} {{mvar|1=τ<span style="padding-left:{{{{ARTICLEPAGENAME}}|τ}}">′</span> Τ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Τ}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''l′ℓ′ L′'' {{!!}} ''l<span style="padding-left:{{{{ARTICLEPAGENAME}}|l}}">′</span>ℓ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ℓ}}">′</span> L<span style="padding-left:{{{{ARTICLEPAGENAME}}|L}}">′</span>''
 +
{{!}} {{mvar|l′ℓ′ L′}} {{!!}} {{mvar|1=l<span style="padding-left:{{{{ARTICLEPAGENAME}}|l}}">′</span>ℓ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ℓ}}">′</span> L<span style="padding-left:{{{{ARTICLEPAGENAME}}|L}}">′</span>}}
 +
{{!}} ''γ′ Γ′'' {{!!}} ''γ<span style="padding-left:{{{{ARTICLEPAGENAME}}|γ}}">′</span> Γ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Γ}}">′</span>''
 +
{{!}} {{mvar|γ′ Γ′}} {{!!}} {{mvar|1=γ<span style="padding-left:{{{{ARTICLEPAGENAME}}|γ}}">′</span> Γ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Γ}}">′</span>}}
 +
{{!}} ''υ′ Υ′ϒ′'' {{!!}} ''υ<span style="padding-left:{{{{ARTICLEPAGENAME}}|υ}}">′</span> Υ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Υ}}">′</span>ϒ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϒ}}">′</span>''
 +
{{!}} {{mvar|υ′ Υ′ϒ′}} {{!!}} {{mvar|1=υ<span style="padding-left:{{{{ARTICLEPAGENAME}}|υ}}">′</span> Υ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Υ}}">′</span>ϒ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϒ}}">′}}
 +
{{!}}-
 +
{{!}} ''m′ M′'' {{!!}} ''m<span style="padding-left:{{{{ARTICLEPAGENAME}}|m}}">′</span> M<span style="padding-left:{{{{ARTICLEPAGENAME}}|M}}">′</span>''
 +
{{!}} {{mvar|m′ M′}} {{!!}} {{mvar|1=m<span style="padding-left:{{{{ARTICLEPAGENAME}}|m}}">′</span> M<span style="padding-left:{{{{ARTICLEPAGENAME}}|M}}">′</span>}}
 +
{{!}} ''δ′ Δ′'' {{!!}} ''δ<span style="padding-left:{{{{ARTICLEPAGENAME}}|δ}}">′</span> Δ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Δ}}">′</span>''
 +
{{!}} {{mvar|δ′ Δ′}} {{!!}} {{mvar|1=δ<span style="padding-left:{{{{ARTICLEPAGENAME}}|δ}}">′</span> Δ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Δ}}">′</span>}}
 +
{{!}} ''φ′ϕ′ Φ′'' {{!!}} ''φ<span style="padding-left:{{{{ARTICLEPAGENAME}}|φ}}">′</span>ϕ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϕ}}">′</span> Φ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Φ}}">′</span>''
 +
{{!}} {{mvar|φ′ϕ′ Φ′}} {{!!}} {{mvar|1=φ<span style="padding-left:{{{{ARTICLEPAGENAME}}|φ}}">′</span>ϕ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϕ}}">′</span> Φ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Φ}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''n′ N′'' {{!!}} ''n<span style="padding-left:{{{{ARTICLEPAGENAME}}|n}}">′</span> N<span style="padding-left:{{{{ARTICLEPAGENAME}}|N}}">′</span>''
 +
{{!}} {{mvar|n′ N′}} {{!!}} {{mvar|1=n<span style="padding-left:{{{{ARTICLEPAGENAME}}|n}}">′</span> N<span style="padding-left:{{{{ARTICLEPAGENAME}}|N}}">′</span>}}
 +
{{!}} ''ε′ϵ′ Ε′'' {{!!}} ''ε<span style="padding-left:{{{{ARTICLEPAGENAME}}|ε}}">′</span>ϵ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϵ}}">′</span> Ε<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ε}}">′</span>''
 +
{{!}} {{mvar|ε′ϵ′ Ε′}} {{!!}} {{mvar|1=ε<span style="padding-left:{{{{ARTICLEPAGENAME}}|ε}}">′</span>ϵ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϵ}}">′</span> Ε<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ε}}">′</span>}}
 +
{{!}} ''χ′ Χ′'' {{!!}} ''χ<span style="padding-left:{{{{ARTICLEPAGENAME}}|χ}}">′</span> Χ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Χ}}">′</span>''
 +
{{!}} {{mvar|χ′ Χ′}} {{!!}} {{mvar|1=χ<span style="padding-left:{{{{ARTICLEPAGENAME}}|χ}}">′</span> Χ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Χ}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''o′ O′'' {{!!}} ''o<span style="padding-left:{{{{ARTICLEPAGENAME}}|o}}">′</span> O<span style="padding-left:{{{{ARTICLEPAGENAME}}|O}}">′</span>''
 +
{{!}} {{mvar|o′ O′}} {{!!}} {{mvar|1=o<span style="padding-left:{{{{ARTICLEPAGENAME}}|o}}">′</span> O<span style="padding-left:{{{{ARTICLEPAGENAME}}|O}}">′</span>}}
 +
{{!}} ''ζ′ Ζ′'' {{!!}} ''ζ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ζ}}">′</span> Ζ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ζ}}">′</span>''
 +
{{!}} {{mvar|ζ′ Ζ′}} {{!!}} {{mvar|1=ζ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ζ}}">′</span> Ζ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ζ}}">′</span>}}
 +
{{!}} ''ψ′ Ψ′'' {{!!}} ''ψ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ψ}}">′</span> Ψ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ψ}}">′</span>''
 +
{{!}} {{mvar|ψ′ Ψ′}} {{!!}} {{mvar|1=ψ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ψ}}">′</span> Ψ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ψ}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''p′ P′'' {{!!}} ''p<span style="padding-left:{{{{ARTICLEPAGENAME}}|p}}">′</span> P<span style="padding-left:{{{{ARTICLEPAGENAME}}|P}}">′</span>''
 +
{{!}} {{mvar|p′ P′}} {{!!}} {{mvar|1=p<span style="padding-left:{{{{ARTICLEPAGENAME}}|p}}">′</span> P<span style="padding-left:{{{{ARTICLEPAGENAME}}|P}}">′</span>}}
 +
{{!}} ''η′ Η′'' {{!!}} ''η<span style="padding-left:{{{{ARTICLEPAGENAME}}|η}}">′</span> Η<span style="padding-left:{{{{ARTICLEPAGENAME}}|Η}}">′</span>''
 +
{{!}} {{mvar|η′ Η′}} {{!!}} {{mvar|1=η<span style="padding-left:{{{{ARTICLEPAGENAME}}|η}}">′</span> Η<span style="padding-left:{{{{ARTICLEPAGENAME}}|Η}}">′</span>}}
 +
{{!}} ''ω′ Ω′'' {{!!}} ''ω<span style="padding-left:{{{{ARTICLEPAGENAME}}|ω}}">′</span> Ω<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ω}}">′</span>''
 +
{{!}} {{mvar|ω′ Ω′}} {{!!}} {{mvar|1=ω<span style="padding-left:{{{{ARTICLEPAGENAME}}|ω}}">′</span> Ω<span style="padding-left:{{{{ARTICLEPAGENAME}}|Ω}}">′</span>}}
 +
{{!}}-
 +
{{!}} ''q′ Q′'' {{!!}} ''q<span style="padding-left:{{{{ARTICLEPAGENAME}}|q}}">′</span> Q<span style="padding-left:{{{{ARTICLEPAGENAME}}|Q}}">′</span>''
 +
{{!}} {{mvar|q′ Q′}} {{!!}} {{mvar|1=q<span style="padding-left:{{{{ARTICLEPAGENAME}}|q}}">′</span> Q<span style="padding-left:{{{{ARTICLEPAGENAME}}|Q}}">′</span>}}
 +
{{!}} ''ϑ′θ′ Θ′'' {{!!}} ''ϑ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϑ}}">′</span>θ<span style="padding-left:{{{{ARTICLEPAGENAME}}|θ}}">′</span> Θ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Θ}}">′</span>''
 +
{{!}} {{mvar|ϑ′θ′ Θ′}} {{!!}} {{mvar|1=ϑ<span style="padding-left:{{{{ARTICLEPAGENAME}}|ϑ}}">′</span>θ<span style="padding-left:{{{{ARTICLEPAGENAME}}|θ}}">′</span> Θ<span style="padding-left:{{{{ARTICLEPAGENAME}}|Θ}}">′</span>}}
 +
{{!}}colspan=4{{!}}
 
{{!)}}
 
{{!)}}
 +
; Implementation
 +
: It's just a big 109-way [[Help:Switch parser function|<code>#switch</code>]] statement.  For the sake of efficiency (this is likely to be used ''many'' times on a page), letters which take the same amount of space are grouped together, and the groups are sorted so the most common ones come first.
 +
: I tried
 +
    <pre>{{#switch:0
 +
|{{#expr:not{{#invoke:String|find|dijkrtvwxyzCDEFGHIJKMNUVWXYZγδζξϖπστΕΖΗΙΚΜΝΞΠΣΥϒΧΨ|{{{1}}}}}}}=0.1em
 +
|{{#expr:not{{#invoke:String|find|cgsuBGOPQRSαβϑθκμνςυχψωΒΘΟΡΩ|{{{1}}}}}}}=0.05em
 +
|{{#expr:not{{#invoke:String|find|ab∂ehmnopqALεϵηιλοϱρφϕΑΔΛΦ|{{{1}}}}}}}=0em
 +
|{{#expr:not{{#invoke:String|find|flTΓΤ|{{{1}}}}}}}=0.15em
 +
|0=0.1em
 +
}}</pre>
 +
to reduce the number of cases in the <code>#switch</code>, but that was clearly slower. (The large table makes this documentation page a good benchmark!)
  
; Implementation
+
One significant limitation of this template is that it does ''not'' accept characters in HTML entity form.  While it could be extended to accept {{para||&amp;alpha;}} or {{para||&amp;#945;}} or {{para||&amp;#x3B1;}}, adding all those forms would really bloat the <code>#switch</code>.
: The characters are grouped together based on the amount of space required.  Then, using the [[Help:Switch parser function|<code>#switch</code> parser function]], this steps through a number of [[Module:String|{{tlc|&#35;invoke:String|find}}]] instances which look up the single-letter parameter in each of the groups.
 
: Since {{tlc|&#35;invoke:String|find}} returns 0 if the argument is ''not'' found, and a non-zero string position if it is, the return value is inverted with {{tlc|&#35;expr:not}} and then compared to 0 to indicate a match.
 
: For efficiency, the cases in the {{tlc|&#35;switch}} should be sorted in decreasing order of likelihood.
 
: This ''could'' be written as one giant 100-way {{tlc|&#35;switch}}, branching on the passed-in character, but I'm guessing (''verify this!'') that {{tlc|&#35;invoke:String|find}} is faster than the general parser.
 
 
}}</noinclude>
 
}}</noinclude>

Latest revision as of 17:53, 20 November 2020

0.1em

Template documentation

This template takes one parameter, a single letter, and returns an amount of space (in units of "em", so something like "0.1em") that should be added after an italic version of that letter to prevent tall characters from colliding with its top-right corner. It is large for letters like f, l and T, and zero for letters like o, A and L which do not protrude to the top right.

Examples:

  • {{Template:Italics correction/calc|f}} = 0.15em
  • {{Template:Italics correction/calc|j}} = 0.1em
  • {{Template:Italics correction/calc|s}} = 0.05em
  • {{Template:Italics correction/calc|h}} = 0em

Because it does not know what font is in use on the user's browser, it is a much cruder approximation than TeX's "italic correction" macro \/, but it's still better than a fixed space.

The primary application is mathematics, where italic letters are often followed by a close parenthesis, superscript, or prime symbol. Thus, the Latin and Greek alphabets are covered, but not the entire Unicode space. Some Hebrew and Cyrillic characters could be added as required.

Full list of characters
Italic text {{mvar}} Italic text {{mvar}} Italic text {{mvar}}
Bare +pad Bare +pad Bare +pad Bare +pad Bare +pad Bare +pad
a′ A′ a A Template:Mvar Template:Mvar r′ R′ r R Template:Mvar Template:Mvar ι′ Ι′ ι Ι Template:Mvar Template:Mvar
b′ B′ b B Template:Mvar Template:Mvar s′ S′ s S Template:Mvar Template:Mvar κ′ Κ′ κ Κ Template:Mvar Template:Mvar
c′ C′ c C Template:Mvar Template:Mvar t′ T′ t T Template:Mvar Template:Mvar λ′ Λ′ λ Λ Template:Mvar Template:Mvar
∂′d′ D′ d D Template:Mvar Template:Mvar u′ U′ u U Template:Mvar Template:Mvar μ′ Μ′ μ Μ Template:Mvar Template:Mvar
e′ E′ e E Template:Mvar Template:Mvar v′ V′ v V Template:Mvar Template:Mvar ν′ Ν′ ν Ν Template:Mvar Template:Mvar
f′ F′ f F Template:Mvar Template:Mvar w′ W′ w W Template:Mvar Template:Mvar ξ′ Ξ′ ξ Ξ Template:Mvar Template:Mvar
g′ G′ g G Template:Mvar Template:Mvar x′ X′ x X Template:Mvar Template:Mvar ο′ Ο′ ο Ο Template:Mvar Template:Mvar
h′ H′ h H Template:Mvar Template:Mvar y′ Y′ y Y Template:Mvar Template:Mvar ϖ′π′ Π′ ϖπ Π Template:Mvar Template:Mvar
i′ I′ i I Template:Mvar Template:Mvar z′ Z′ z Z Template:Mvar Template:Mvar ϱ′ρ′ Ρ′ ϱρ Ρ Template:Mvar Template:Mvar
j′ J′ j J Template:Mvar Template:Mvar α′ Α′ α Α Template:Mvar Template:Mvar ς′σ′ Σ′ ςσ Σ Template:Mvar Template:Mvar
k′ K′ k K Template:Mvar Template:Mvar β′ Β′ β Β Template:Mvar Template:Mvar τ′ Τ′ τ Τ Template:Mvar Template:Mvar
l′ℓ′ L′ l L Template:Mvar Template:Mvar γ′ Γ′ γ Γ Template:Mvar Template:Mvar υ′ Υ′ϒ′ υ Υϒ Template:Mvar Template:Mvar
m′ M′ m M Template:Mvar Template:Mvar δ′ Δ′ δ Δ Template:Mvar Template:Mvar φ′ϕ′ Φ′ φϕ Φ Template:Mvar Template:Mvar
n′ N′ n N Template:Mvar Template:Mvar ε′ϵ′ Ε′ εϵ Ε Template:Mvar Template:Mvar χ′ Χ′ χ Χ Template:Mvar Template:Mvar
o′ O′ o O Template:Mvar Template:Mvar ζ′ Ζ′ ζ Ζ Template:Mvar Template:Mvar ψ′ Ψ′ ψ Ψ Template:Mvar Template:Mvar
p′ P′ p P Template:Mvar Template:Mvar η′ Η′ η Η Template:Mvar Template:Mvar ω′ Ω′ ω Ω Template:Mvar Template:Mvar
q′ Q′ q Q Template:Mvar Template:Mvar ϑ′θ′ Θ′ ϑθ Θ Template:Mvar Template:Mvar
Implementation
It's just a big 109-way #switch statement. For the sake of efficiency (this is likely to be used many times on a page), letters which take the same amount of space are grouped together, and the groups are sorted so the most common ones come first.
I tried
{{#switch:0
|{{#expr:not{{#invoke:String|find|dijkrtvwxyzCDEFGHIJKMNUVWXYZγδζξϖπστΕΖΗΙΚΜΝΞΠΣΥϒΧΨ|{{{1}}}}}}}=0.1em
|{{#expr:not{{#invoke:String|find|cgsuBGOPQRSαβϑθκμνςυχψωΒΘΟΡΩ|{{{1}}}}}}}=0.05em
|{{#expr:not{{#invoke:String|find|ab∂ehmnopqALεϵηιλοϱρφϕΑΔΛΦ|{{{1}}}}}}}=0em
|{{#expr:not{{#invoke:String|find|flTΓΤ|{{{1}}}}}}}=0.15em
|0=0.1em
}}

to reduce the number of cases in the #switch, but that was clearly slower. (The large table makes this documentation page a good benchmark!)

One significant limitation of this template is that it does not accept characters in HTML entity form. While it could be extended to accept |&alpha; or |&#945; or |&#x3B1;, adding all those forms would really bloat the #switch.