Module:HhakPersMajAccolade
La documentation de ce module Scribunto écrit en Lua est incluse depuis sa sous-page de documentation.
local szCode = ''
local function ConstruireDebutTable( frame )
szCode = ''
szCode = szCode .. '<div style="margin-left:20px;">'
-- Conserver si besoin de mieux calibrer l'indentation
-- szCode = szCode .. '<div'
-- if ( frame.args.mg ~= nil ) then
-- szCode = szCode .. ' style="margin-left:' .. frame.args.mg .. ';"'
-- end
-- szCode = szCode .. '>'
szCode = szCode .. '<table style="width:auto; margin:0; border:0; padding:0; border-collapse:collapse; page-break-inside:avoid;">'
szCode = szCode .. '<tr>'
if frame.args.pers1 ~= nil then
if #frame.args.pers1 > 0 then
szCode = szCode .. '<td style="margin:0; border:0; padding:0;">'
a = mw.text.split(frame.args.pers1, '<br>')
for key,value in ipairs( a ) do
szCode = szCode .. '<div style="margin:0; border:0; padding:0; line-height:125%; font-variant:all-small-caps;" class=sc>' .. value .. ',</div>'
end
szCode = szCode .. '</td>'
else
szCode = '<span style="font-size:200%; color:red;">La liste des personnages manque.</span>'
end
end
szCode = szCode .. '<td style="margin:0; border:0; padding:0; line-height:100%; vertical-align:bottom;">'
szCode = szCode .. '<div style="margin:0; border:0; padding:0; line-height:100%; vertical-align:bottom; font-size:72%;">'
-- Conserver si besoin de mieux calibrer la taille de l'accolade
-- szCode = szCode .. '<div style="margin:0; border:0; padding:0; line-height:100%; vertical-align:bottom;'
-- if ( frame.args.fs_acco ~= nil ) then
-- szCode = szCode .. ' font-size:' .. frame.args.fs_acco .. ';'
-- else
-- szCode = '<span style="font-size:200%; color:red;">Taille d’accolade (fs_acco) ?</span>'
-- end
-- szCode = szCode .. '>'
return szCode
end
-- Pas utilisée en octobre 2023
--local function EstEntier(sz)
-- b = false
-- if sz ~= nil then
-- if tonumber( sz ) ~= nil then
-- if tonumber( sz ) == math.floor( tonumber( sz ) ) then
-- b = true
-- end
-- end
-- end
-- return b
--end
local function ConstruireAccolade( frame )
-- Code LaTeX à passer à {{#tag:math}} dans le modèle
szCode = ''
-- Si besoin d'indiquer nombre de rangées de la table
-- if ( frame.args.h_acco ~= nil ) then
-- if ( EstEntier( frame.args.h_acco ) ) then
-- szCode = szCode .. '\\left. \\begin{matrix}'
-- for name = 1, frame.args.h_acco, 1 do szCode = szCode .. ' \\\\' end
-- szCode = szCode .. '\\end{matrix} \\right\\}'
-- else
-- szCode = '\\text{La hauteur de l\'accolade (h acco) n\'est pas un nombre entier.}'
-- end
-- else
-- szCode = '\\text{Hauteur de l\'accolade (h acco) ?}'
-- end
if frame.args.pers2 ~= nil then
if #frame.args.pers2 > 0 then
szCode = szCode .. '\\left. \\begin{matrix}'
a = mw.text.split(frame.args.pers2, '<br>')
for name = 1, #a do
szCode = szCode .. ' \\\\'
end
szCode = szCode .. '\\end{matrix} \\right\\}'
end
end
return szCode
end
local function ConstruireFinTable( frame )
szCode = ''
szCode = szCode .. '</div>'
szCode = szCode .. '</td>'
if frame.args.pers3 ~= nil then
if #frame.args.pers3 > 0 then
szCode = szCode .. '<td style="margin:0; border:0; padding:0;">'
szCode = szCode .. '<div style="font-size:90%; margin:0; border:0; padding:0 0 0 0.15em; line-height:110%;">'
if ( #frame.args.role > 0 ) then
szCode = szCode .. frame.args.role
else
szCode = '<span style="font-size:200%; color:red;">Le rôle (paramètre 2) manque.</span>'
end
szCode = szCode .. '</div>'
szCode = szCode .. '</td>'
end
end
szCode = szCode .. '</tr>'
szCode = szCode .. '</table>'
szCode = szCode .. '</div>'
return szCode
end
------------
------------
local p = {}
function p.ConstruireDebutTable( frame )
return ConstruireDebutTable( frame )
end
function p.ConstruireAccolade( frame )
return ConstruireAccolade( frame )
end
function p.ConstruireFinTable( frame )
return ConstruireFinTable( frame )
end
return p