Модуль:Taxonomy/latin/песочница
Перейти к навигации
Перейти к поиску
latin
[править код]параметр | модуль | песочница |
---|---|---|
Aus bus | Aus bus | Aus bus |
Aus bus var. autobus | Aus bus var. autobus | Aus bus var. autobus |
Aus bus var. autobus f. icarus | Aus bus var. autobus f. icarus | Aus bus var. autobus f. icarus |
Aus sp. | Aus sp. | Aus sp. |
H. sapiens | H. sapiens | H. sapiens |
Homo sapiens ferus | Homo sapiens ferus | Homo sapiens ferus |
Candidatus Homo sapiens | Candidatus Homo sapiens | Candidatus Homo sapiens |
incertae sedis | incertae sedis | incertae sedis |
Bifidobacterium animalis subsp. lactis BB-12 | regnum=Бактерии | Bifidobacterium animalis subsp. lactis BB-12 | Bifidobacterium animalis subsp. lactis BB-12 |
''Italicus'' romanus | Italicus romanus | Italicus romanus |
local p = {}
local ZooKursiv = "/Вид/Род/Подвид/Подрод/Ихновид/Ихнород/Комплекс видов/Форма/"
function p.latin(frame)
local latin = frame.args[1]
if string.find(latin, "'", 1, true) then
return latin
elseif latin == "incertae sedis" then
return "''incertae sedis''"
elseif string.find(latin, "^Candidatus") then
latin = string.gsub(latin, "^Candidatus", "''%0''", 1)
return latin
end
local regnum = frame.args["regnum"]
local rang = frame.args["rang"] or ""
local srang = "/" .. rang .. "/"
local italic = ((regnum ~= "Животные") or string.find(ZooKursiv, srang, 1, true))
if italic then
latin = string.gsub(latin, "%l+%.", "''%0''")
if regnum == "Бактерии" then
latin = string.gsub(latin, "%s+%u[%u%d%p]*$", "''%0''")
end
latin = string.gsub("''" .. latin .. "''", "''''", "")
end
return latin
end
function p.author(frame)
local author= frame.args[1]
if string.find(author, "%set al%.") then
author = string.gsub(author, "(%[*%set al%.%]*)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "%sex%s") then
author = string.gsub(author, "(%sex%s)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "%set%s") then
author = string.gsub(author, "(%set%s)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "%sin%s") then
author = string.gsub(author, "(%sin%s)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "%semend%.") then
author = string.gsub(author, "(%semend%.)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "%sapud%s") then
author = string.gsub(author, "(%sapud%s)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "%se%. a%.") then
author = string.gsub(author, "(%[*%se%. a%.%]*)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "hort%.") then
author = string.gsub(author, "(%[*hort%.%]*)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "auct%.") then
author = string.gsub(author, "(%[*auct%.%]*%s?%a*%.?%]*)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "nom%.") then
author = string.gsub(author, "(%[*nom%. %a+%.%]*)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "corrig%.") then
author = string.gsub(author, "(corrig%.)", "<span style='font-variant:normal;'>%1</span>")
end
if string.find(author, "%sand%s") then
author = string.gsub(author, "(%sand%s)", "<span style='font-variant:normal;'>%1</span>")
end
return "<span style='font-variant:small-caps;'>" .. author .. "</span>"
end
return p