Ir para o conteúdo

Módulo:Citar livro

De Wiki TokuDrive
Revisão de 06h23min de 5 de julho de 2026 por Tavoraadmin (discussão | contribs) (Importando predefinição/módulo da Wikipédia em português para manter layout)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

local l = require('Módulo:Citação/CS1')

--[[--------------------------< l . l i v r o >-----------------------------------------------

Este é o método principal da predefinição {{#invoke:Citar livro|livro}}

]]

l.livro= function(frame)

   local config, args, A = tratarArgumentos(frame)
   config.CitationClass = 
   config.usaVolume = true
   config.usaContributor = true
   cfg.aliases.Number = {'número', 'numero'}
   -- coleção é alias de séries
   local coins_series = 
   if is_set(A.Series) then
   	if is_set(A.Number) then
       	A.Series = A.Series .. ', ' .. A.Number
       end

coins_series = A.Series A.Series = 'Col: ' .. A.Series

   end
   -- Função com o código abstraído
   local B
   A, B = citation0( config, args, A)
   B.coins_table.Series = coins_series
   local sn = is_set(A.PublisherName) and  or (': [s.n.]')
   local sl = is_set(A.PublicationPlace) and  or '[S.l.]: '
   if A.PublisherName:lower():match("^%s*desconhecido%s*$") then

B.coins_table.PublisherName =

       sn = 
       A.PublisherName = 
   end
   if A.PublicationPlace:lower():match("^%s*desconhecido%s*$") then

B.coins_table.PublicationPlace =

       sl = 
       A.PublicationPlace = 
   end
   if (sn ~= ) then

if (sl ~= ) then

       	sl = B.sepc .. " [S.l.: s.n.]"

sn =

       elseif not is_set(A.PublicationPlace) then
       	sn = B.sepc .. ' [S.n.]'
       end
   else
   	if sl ~=  and not is_set(A.PublisherName) then

sl = B.sepc .. ' [S.l.]' end

   end
   if is_set(A.PublisherName) then
       B.Publisher = B.sepc .. " " .. (is_set(A.PublicationPlace) and (A.PublicationPlace .. ": ")
           or sl) .. A.PublisherName .. A.PublicationDate
   elseif is_set(A.PublicationPlace) then
       B.Publisher= B.sepc .. " " .. A.PublicationPlace
           .. sn .. A.PublicationDate
   else
       B.Publisher =  sl .. sn .. A.PublicationDate
   end
   if is_set (B.Contributors) then -- when we are citing foreword, preface, introduction, etc
       B.tcommon = safe_join( {A.Title, A.TitleNote}, B.sepc ) -- author and other stuff will come after this and before tcommon2
       if 'mla' == A.Mode then
           B.tcommon2 = safe_join( {A.Periodical, A.Format, A.TitleType, A.Edition, B.Publisher, A.Series, A.Language, A.Volume, A.Agency}, B.sepc )
       else
           B.tcommon2 = safe_join( {A.Periodical, A.Format, A.TitleType, A.Edition, B.Publisher, A.Series, A.Language, A.Volume, A.Others, A.Agency}, B.sepc )
       end
   elseif 'mla' == A.Mode then
       B.tcommon = safe_join( {A.TitleNote, A.Periodical, A.Format, A.TitleType, A.Series, A.Language, A.Volume, B.Publisher, A.Agency}, B.sepc )
   else
       B.tcommon = safe_join( {A.Title, A.TitleNote, A.Periodical, A.Format, A.TitleType, A.Series, A.Language, A.Volume, A.Others, A.Edition, B.Publisher, A.Agency}, B.sepc )
   end
   config.CitationClass = 'book'
   B.config = config
   return textoFinal(A, B)

end

return l