Template:FormatName: Difference between revisions

mNo edit summary
mNo edit summary
Line 30: Line 30:


   name = stdin:match("[^&]+")
   name = stdin:match("[^&]+")
   name = string.gsub (name, "%a+",  
   name = string.gsub (name, '([%a"]+)',  
   function (str)
   function (str)
     return replacements [str] or str
     return replacements[str] or str
   end
   end
   )
   )


   name = string.gsub( name, "_([%d.]+)^([%d.]+) ", '<span style="position:relative"><sub>%1</sub><span style="font-size:x-small;position:absolute;left:0px;top:-4px">%2</span></span>')
   name = string.gsub( name, "_([%d.]+)^([%d.]+) ", '<span style="position:relative"><sub>%1</sub><span style="font-size:x-small;position:absolute;left:0px;top:-4px">%2</span></span>')
   name = string.gsub( name, "^([%d.]+)_([%d.]+) ", '<span style="position:relative"><sup>%1</sup><span style="font-size:x-small;position:absolute;left:0px;top:5px">%2</span></span>')
   name = string.gsub( name, "%^([%d.]+)_([%d.]+) ", '<span style="position:relative"><sup>%1</sup><span style="font-size:x-small;position:absolute;left:0px;top:5px">%2</span></span>')
   name = string.gsub( name, "_(%d%d?) ", "<sub>%1</sub> " )
   name = string.gsub( name, "[^ ]_(%d%d?) ", "<sub>%1</sub> " )
   name = string.gsub( name, "^(%d%d?) ", "<sup>%1</sup> " )
   name = string.gsub( name, "[^ ]%^(%d%d?) ", "<sup>%1</sup> " )
   print(name)
   print(name)
|{{{1|==Greek Letters==
|{{{1|==Greek Letters==
Write Alpha, Beta, or Gamma in lowercase.<br/>
Write "alpha", "beta", or "gamma" in lowercase.
;Example. (in lowercase)
; Example.
* Alpha --> alpha <br/>
* "alpha" --> alpha
* Beta --> beta <br/>
* "beta" --> beta
* Gamma --> gamma <br/>
* "chi" --> chi
* Delta --> Delta<br/>
* "delta" --> delta
*  
* "epsilon" --> epsilon
*  
* "gamma" --> gamma
* "eta" --> eta
* and so on.
 
==Super/subscripts==
Use "_" for subscripts, "^" for superscripts. To show both, write the longer super/sub-script first. Some word must follow after a space.
; Example.
* D _10 ^20 (next word) --> D_1^2 (next word)
* D _10000 ^1 (next word) --> D_10000^1 (next word)
* D ^10000 _1 (next word) --> D^10000_1 (next word)
* D ^10 _10000 (bad example) -->D^10_10000 (bad example)
}}}}}
}}}}}
m m
n n
p p
P P
q q
t t
u u
U U
w w
x x
y y
z z

Revision as of 21:18, 19 January 2010

{{#lua:

 replacements = {
 ["alpha"] = "α",
 ["beta"] = "β",
 ["chi"]  = "χ",
 ["delta"] = "δ",
 ["Delta"] = "Δ",
 ["epsilon"] = "ε",
 ["zeta"] = "ζ",
 ["phi"] = "φ",
 ["gamma"] = "γ",
 ["Gamma"] = "Γ",
 ["eta"] = "η",
 ["kappa"] = "κ",
 ["lambda"] = "λ", 
 ["mu"] = "μ", 
 ["nu"] = "ν", 
 ["pi"] = "π",
 ["Pi"] = "Π",
 ["theta"] = "θ",
 ["tau"] = "τ",
 ["upsilon"] = "υ",
 ["Upsilon"] = "Υ",
 ["phi"] = "φ",
 ["psi"] = "ψ",
 ["xi"] = "ξ",
 ["omega"] = "ω",
 ["sigma"] = "σ",
 }
 name = stdin:match("[^&]+")
 name = string.gsub (name, '([%a"]+)', 
 function (str)
   return replacements[str] or str
 end
 )
 name = string.gsub( name, "_([%d.]+)^([%d.]+) ", '%1%2')
 name = string.gsub( name, "%^([%d.]+)_([%d.]+) ", '%1%2')
 name = string.gsub( name, "[^ ]_(%d%d?) ", "%1 " )
 name = string.gsub( name, "[^ ]%^(%d%d?) ", "%1 " )
 print(name)

|==Greek Letters== Write "alpha", "beta", or "gamma" in lowercase.

Example.
  • "alpha" --> alpha
  • "beta" --> beta
  • "chi" --> chi
  • "delta" --> delta
  • "epsilon" --> epsilon
  • "gamma" --> gamma
  • "eta" --> eta
  • and so on.

Super/subscripts

Use "_" for subscripts, "^" for superscripts. To show both, write the longer super/sub-script first. Some word must follow after a space.

Example.
  • D _10 ^20 (next word) --> D_1^2 (next word)
  • D _10000 ^1 (next word) --> D_10000^1 (next word)
  • D ^10000 _1 (next word) --> D^10000_1 (next word)
  • D ^10 _10000 (bad example) -->D^10_10000 (bad example)

}}