Nicht angemeldeter Benutzer - Bearbeiten von Seiten ist nur als angemeldeter Benutzer möglich.
Änderungen
Zur Navigation springen
Zur Suche springen
Modul:Vorlage:InfoFlora (Quelltext anzeigen)
Version vom 24. September 2015, 11:41 Uhr
, 11:41, 24. Sep. 2015AZ: Die Seite wurde neu angelegt: --Modul für Hilfsfunktionen für Vorlage:InfoFlora local p = { } function p.formatScientific…
--[[
Modul für Hilfsfunktionen für Vorlage:InfoFlora
]]
local p = { }
function p.formatScientificName(frame)
--[[
Wissenschaftlichen Namen (einschl. Autorenangabe= formatieren
Parameter:
* wiss. Name ohne Formatierung
]]
local sciname_pure = frame.args[1]
local sciname_parts = mw.text.split(sciname_pure, "%s")
-- besondere entkursivierende Besandteile (nicht abgekürzte Schlüsselworte
local tab_keywords_non_abrev = { sensu = true;
["&"] = true
}
local first_part = true
for key, part in ipairs(sciname_parts) do
local firstchar = mw.ustring.sub(part, 1, 1)
local lastchar = mw.ustring.sub(part, -1, -1)
if (not first_part and mw.ustring.upper(firstchar) == firstchar)
or firstchar == '('
or lastchar == '.'
or tab_keywords_non_abrev[part] == true
then
part = "''" .. part .. "''"
sciname_parts[key]=part
end
first_part = false
end
local sciname_formatted = "''" .. table.concat(sciname_parts, " ") .. "''"
-- Doppelte "''" entfernen
sciname_formatted = mw.ustring.gsub(sciname_formatted, "'' ''", " ")
sciname_formatted = mw.ustring.gsub(sciname_formatted, "''''", "")
return sciname_formatted
end
return p
Modul für Hilfsfunktionen für Vorlage:InfoFlora
]]
local p = { }
function p.formatScientificName(frame)
--[[
Wissenschaftlichen Namen (einschl. Autorenangabe= formatieren
Parameter:
* wiss. Name ohne Formatierung
]]
local sciname_pure = frame.args[1]
local sciname_parts = mw.text.split(sciname_pure, "%s")
-- besondere entkursivierende Besandteile (nicht abgekürzte Schlüsselworte
local tab_keywords_non_abrev = { sensu = true;
["&"] = true
}
local first_part = true
for key, part in ipairs(sciname_parts) do
local firstchar = mw.ustring.sub(part, 1, 1)
local lastchar = mw.ustring.sub(part, -1, -1)
if (not first_part and mw.ustring.upper(firstchar) == firstchar)
or firstchar == '('
or lastchar == '.'
or tab_keywords_non_abrev[part] == true
then
part = "''" .. part .. "''"
sciname_parts[key]=part
end
first_part = false
end
local sciname_formatted = "''" .. table.concat(sciname_parts, " ") .. "''"
-- Doppelte "''" entfernen
sciname_formatted = mw.ustring.gsub(sciname_formatted, "'' ''", " ")
sciname_formatted = mw.ustring.gsub(sciname_formatted, "''''", "")
return sciname_formatted
end
return p