footnotes

Dokumentasi untuk modul ini dapat dibuat di Modul:Footnotes/doc

f = { args_default = { bracket_left = "", bracket_right = "", bracket_year_left = "", bracket_year_right = "", postscript = "", page = "", pages = "", location = "", page_sep = ", hlm. ", pages_sep = ", hlm. ", ref = "", P1 = "", P2 = "", P3 = "", P4 = "", P5 = "" } };  function trim( str ) if str == nil then return nil; end return str:match( "^%s*(.-)%s*$"); end      function core( args ) local result; --TODO: evaluate to make sure that the following if correctly handles the parameter set when there is no year if args.P5 ~= "" then result = args.P1 .. ' et al. ' .. args.bracket_year_left .. args.P5 ..  args.bracket_year_right; elseif args.P4 ~= "" then result = args.P1 .. ', ' .. args.P2 .. ' & ' .. args.P3 .. ' ' ..  args.bracket_year_left .. args.P4 .. args.bracket_year_right; elseif args.P3 ~= "" then result = args.P1 .. ' & ' .. args.P2 .. ' ' .. args.bracket_year_left ..  args.P3 .. args.bracket_year_right; elseif args.P2 ~= "" then if not args.P2:match ('%d%d%d%d') and not args.P2:match ('n%.d%.') and not args.P2:match ('nd') then result = args.P1 .. ' & ' .. args.P2;-- for the case where the last numbered parameter is a name and not a year and not no-date else result = args.P1 .. ' ' .. args.bracket_year_left .. args.P2 .. args.bracket_year_right; end else result = trim( args.P1 .. ' ' .. args.bracket_year_left .. args.P2 ..  args.bracket_year_right ) end  if ('.' == result:sub(-1)) and ('' == args.page) and ('' == args.pages) and ('' == args.location) then args.postscript = '';-- prevent double periods when date is 'n.d.' end  if args.ref ~= 'none' then if args.ref ~= "" then result = "[[#" .. mw.uri.anchorEncode(args.ref) .. "|" .. result .. "]]"; else result = "[[#CITEREF" .. mw.uri.anchorEncode(args.P1 .. args.P2 .. args.P3 .. args.P4 .. args.P5) .. "|" .. result .. "]]"; end end  if args.page ~= "" then result = result .. args.page_sep .. args.page; elseif args.pages ~= "" then result = result .. args.pages_sep .. args.pages; end        if args.location ~= "" then result = result .. ", " .. args.location; end  result = args.bracket_left .. result .. args.bracket_right .. args.postscript; return result; end  function f.harvard_core( frame ) local args = {}; local pframe = frame:getParent();  args.bracket_left = pframe.args.BracketLeft or ""; args.bracket_right = pframe.args.BracketRight or ""; args.bracket_year_left = pframe.args.BracketYearLeft or ""; args.bracket_year_right = pframe.args.BracketYearRight or ""; args.postscript = pframe.args.Postscript or ""; if 'none' == args.postscript then args.postscript = ''; end  args.page = pframe.args.Page or ""; args.pages = pframe.args.Pages or ""; args.location = pframe.args.Location or ""; args.page_sep = pframe.args.PageSep or ""; args.pages_sep = pframe.args.PagesSep or ""; args.ref = pframe.args.REF or "{{{REF}}}"; args.P1 = trim( pframe.args.P1 ) or ""; args.P2 = trim( pframe.args.P2 ) or ""; args.P3 = trim( pframe.args.P3 ) or ""; args.P4 = trim( pframe.args.P4 ) or ""; args.P5 = trim( pframe.args.P5 ) or "";  return core( args ); end  function f.harvard_citation( frame ) local args = f.args_default; pframe = frame:getParent();  args.bracket_left = "("; args.bracket_right = ")"; args.page = pframe.args.p or pframe.args.page or ""; args.pages = pframe.args.pp or pframe.args.pages or ""; args.location = pframe.args.loc or ""; args.ref = pframe.args.ref or pframe.args.Ref or ""; args.P1 = trim( pframe.args[1] ) or ""; args.P2 = trim( pframe.args[2] ) or ""; args.P3 = trim( pframe.args[3] ) or ""; args.P4 = trim( pframe.args[4] ) or ""; args.P5 = trim( pframe.args[5] ) or "";  return core( args ); end  function f.harvard_citation_no_bracket( frame ) local args = f.args_default; pframe = frame:getParent();  args.page = pframe.args.p or pframe.args.page or ""; args.pages = pframe.args.pp or pframe.args.pages or ""; args.location = pframe.args.loc or ""; args.ref = pframe.args.ref or pframe.args.Ref or ""; args.P1 = trim( pframe.args[1] ) or ""; args.P2 = trim( pframe.args[2] ) or ""; args.P3 = trim( pframe.args[3] ) or ""; args.P4 = trim( pframe.args[4] ) or ""; args.P5 = trim( pframe.args[5] ) or "";  return core( args ); end  function f.sfn( frame ) local args = f.args_default; for k, v in pairs( frame.args ) do-- for {{sfnp}}, override default with values provided in the #invoke: args[k] = v;    end  pframe = frame:getParent();  args.postscript = pframe.args.postscript or pframe.args.ps or "."; if 'none' == args.postscript then args.postscript = ''; end args.page = pframe.args.p or pframe.args.page or ""; args.pages = pframe.args.pp or pframe.args.pages or ""; args.location = pframe.args.loc or ""; args.ref = pframe.args.ref or pframe.args.Ref or ""; args.P1 = trim( pframe.args[1] ) or ""; args.P2 = trim( pframe.args[2] ) or ""; args.P3 = trim( pframe.args[3] ) or ""; args.P4 = trim( pframe.args[4] ) or ""; args.P5 = trim( pframe.args[5] ) or "";  local result = core( args ); local name = "FOOTNOTE" .. args.P1 .. args.P2 ..  args.P3 .. args.P4 .. args.P5 .. args.page .. args.pages .. args.location;  result = frame:extensionTag{ name = "ref", args = {name=name}, content=result };  return result; end  return f; 

Tags:

🔥 Trending searches on Wiki Hulontalo:

Acango, Jailolo, Halmahera BaratBangladeshLasiroku, Iwoimendaa, KolakaGoa, Camarines Sur30 OktoberTolai, Torue, Parigi MoutongBanjar Sugihan, Tandes, SurabayaPaguyaman Pantai, BoalemoMedan Johor, MedanRusiaNgulanwetan, Pogalan, TrenggalekRembang, Ngadiluwih, KediriKota YogyakartaKencong, JemberTandes, SurabayaKolonodale, Petasia, Morowali UtaraAntapani, Bandung16 Mei22 AprilKertayasa, Mandiraja, BanjarnegaraMedan Tenggara, Medan Denai, MedanBulu Tanah, Kajuara, BoneDaputari lo kecamatan wawu kelurahan to Kota Administrasi Jakarta TimurPadangan, Kayen Kidul, KediriCigending, Ujungberung, BandungDaputari lo kecamatan wawu kelurahan to Kabupaten Bone BolangoMGeorge WashingtonNorwegiaWikimaniaKabila Bone, Bone BolangoWonokusumo, Semampir, SurabayaSiwarak, Karangreja, PurbalinggaTimbala, Poleang Barat, BombanaBaao, Camarines SurMohammad HattaDaputari lo kabupaten wawu kota to Jawa TimurPuger, JemberKebomas, GresikWanantara, Sindang, IndramayuMeiBaruta Lestari, Sangia Wambulu, Buton TengahCipamokolan, Rancasari, BandungKapas Madya Baru, Tambaksari, Surabaya29 AprilDaputari lo kecamatan wawu kelurahan to Kota SurabayaDaputari lo kecamatan wawu kelurahan to Kabupaten JemberDaputari lo kabupaten wawu kota to BaliWuluhan, JemberPilipinaPanjang Jiwo, Tenggilis Mejoyo, SurabayaGuminingrejo, Tikung, LamonganTolowe Ponrewaru, Wolo, KolakaLombongo, Suwawa Tengah, Bone BolangoLampoko, Barebbo, BoneDaputari lo kecamatan wawu kelurahan to Kota BandungDaputari lo nga'amila WikipediaJDLoa Janan Ilir, SamarindaCripple FightSidorejo Hilir, Medan Tembung, MedanDaputari lo kabupaten wawu kota to Indonesia18 AgustusGedebage, BandungPendolo, Pamona Selatan, PosoKadatua, Buton Selatan🡆 More