Документация

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